plc:управление_шпинделем_подключенным_через_pulse-dir
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
plc:управление_шпинделем_подключенным_через_pulse-dir [2018/12/16 17:09] – skirillov | plc:управление_шпинделем_подключенным_через_pulse-dir [2018/12/16 17:34] – skirillov | ||
---|---|---|---|
Line 101: | Line 101: | ||
При этой скорости шпинделя на аналоговый выход необходимо выдать полный сигнал 10В, поэтому коэффициент " | При этой скорости шпинделя на аналоговый выход необходимо выдать полный сигнал 10В, поэтому коэффициент " | ||
- | При вызове процедур PLC включения шпинделя (М03) и изменения скорости шпинделя (SPN.plc) | + | При вызове процедур PLC включения шпинделя (М03.plc) и изменения скорости шпинделя (SPN.plc) |
+ | |||
+ | myCNC контроллеры имеют 12-бит регистры для значений ШИМ и ЦАП 0-10В. | ||
Это означает, | Это означает, | ||
Line 113: | Line 115: | ||
< | < | ||
- | Значение " | + | Значение " |
< | < | ||
</ | </ | ||
- | Если максимальная скорость соответствует величине eparam "2559", то значение коэффициента для получения " | + | Если максимальная скорость соответствует величине eparam "768", то значение коэффициента для получения " |
< | < | ||
</ | </ | ||
+ | Установив эти величины в PLC процедуры M03.plc и SPN.plc мы получим генерацию на необходимой частоте 750кГц при установке скорости шпинделя 4500, а также плавную регулировку частоты во всем диапазоне от 0 до 4500 об/ | ||
+ | |||
+ | |||
+ | Метод оценки необходимого ускорения генератора. | ||
+ | |||
+ | Единица задания Ускорения генератора по очень грубому приближению составляет 1 имп/ | ||
+ | Это означает, | ||
+ | |||
+ | Если, в нашем случае максимальная частота составляет 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);// | ||
+ | }; | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | {{mycnc-spindle-pulse-dir-005.png}} | ||
+ | {{mycnc-spindle-pulse-dir-006.png}} | ||
plc/управление_шпинделем_подключенным_через_pulse-dir.txt · Last modified: 2021/08/24 11:28 by ivan