======Переключение выхода PULSE-DIR с MQL на ось С для автосмены.======
Задача -
На контроллере заняты все 6 моторных выходов на оси X1 X2 Y Z A и С (для барабана автосмены).
Есть желание иметь еще управления шаговым мотором на MQL.
Возникла идея добавить реле переключения и моторный выход переключать на барабан автосмены или драйвер MQL в зависимости от текущего режима (автосмена и MQL вместе работать не должны)
Как это сделать
Решение -
#include pins.h
#include mill-func.h
#include vars.h
connect_b()
{
message=PLCCMD_SET_CNC_VAR;
parameter=4; //"4" is axis B; "16" is axis inversion.
command=112+4; //Motor output #4
timer=2;do{timer--;}while(timer>0);
};
main()
{
connect_b();
portset(OUTPUT_SWITCH_MOTOR);
gvarset(7372,1); timer=30;do{timer--;}while(timer>0); //Flood State
portset(OUTPUT_FLOOD);
coolant_motor_start();
exit(99); //normal exit
};
#include pins.h
#include mill-func.h
#include vars.h
connect_c()
{
message=PLCCMD_SET_CNC_VAR;
parameter=5; //"5" is axis C; "16" is axis inversion.
command=112+4; //Motor output #4
timer=2;do{timer--;}while(timer>0);
};
main()
{
portclr(OUTPUT_FLOOD);
portclr(OUTPUT_MIST);
coolant_motor_stop();
gvarset(7373,0); timer=30;do{timer--;}while(timer>0); //Mist State
gvarset(7372,0); timer=30;do{timer--;}while(timer>0); //Flood State
portclr(OUTPUT_SWITCH_MOTOR);
connect_c();
exit(99); //normal exit
};