plc:управление_шпинделем_подключенным_через_pulse-dir
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
plc:управление_шпинделем_подключенным_через_pulse-dir [2018/12/16 17:29] – skirillov | plc:управление_шпинделем_подключенным_через_pulse-dir [2018/12/16 17:34] – skirillov | ||
---|---|---|---|
Line 132: | Line 132: | ||
Если, в нашем случае максимальная частота составляет 750 000, то ускорение должно быть равно этой же величине, | Если, в нашем случае максимальная частота составляет 750 000, то ускорение должно быть равно этой же величине, | ||
+ | |||
+ | |||
+ | Тестовые коды для процедур включения шпинделя и регулировки скорости шпинделя | ||
+ | |||
+ | <code C M03.plc> | ||
+ | //Turn on Spindle clockwise | ||
+ | #include pins.h | ||
+ | #include vars.h | ||
+ | main() | ||
+ | { | ||
+ | command=PLC_MESSAGE_SPINDLE_SPEED_CHANGED; | ||
+ | parameter=eparam; | ||
+ | message=PLCCMD_REPLY_TO_MYCNC; | ||
+ | timer=0; | ||
+ | |||
+ | timer=0; | ||
+ | proc=plc_proc_spindle; | ||
+ | |||
+ | val=eparam; | ||
+ | if (val> | ||
+ | if (val<0) {val=0;}; | ||
+ | |||
+ | dac01=val; | ||
+ | |||
+ | portclr(OUTPUT_CCW_SPINDLE); | ||
+ | portset(OUTPUT_SPINDLE); | ||
+ | |||
+ | gvarset(7370, | ||
+ | timer=30; | ||
+ | gvarset(7371, | ||
+ | |||
+ | // | ||
+ | // | ||
+ | |||
+ | |||
+ | gvarset(8131, | ||
+ | k=671223; | ||
+ | freq=val*k; //calculate the RAW frequency | ||
+ | if (freq> | ||
+ | gvarset(8130, | ||
+ | |||
+ | |||
+ | //delay after spindle started | ||
+ | timer=spindle_on_delay; | ||
+ | do{timer--; | ||
+ | |||
+ | exit(99); | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | <code C SPN.plc> | ||
+ | #include vars.h | ||
+ | //set Spindle speed control via DAC | ||
+ | main() | ||
+ | { | ||
+ | val=eparam; | ||
+ | dac01=val; | ||
+ | |||
+ | //Change the Spindle State | ||
+ | gvarset(7371, | ||
+ | |||
+ | s=gvarget(7370); | ||
+ | if (s!=0) //if spindle should be ON | ||
+ | { | ||
+ | k=671223; | ||
+ | freq=val*k; //calculate the RAW frequency | ||
+ | if (freq> | ||
+ | gvarset(8130, | ||
+ | }; | ||
+ | exit(99);// | ||
+ | }; | ||
+ | |||
+ | </ | ||
plc/управление_шпинделем_подключенным_через_pulse-dir.txt · Last modified: 2021/08/24 11:28 by ivan