А можно вместо
STEPPER_PRU0_stepper_enable := SteppersConfig_Pru0MemoryTransfer.STEPPER_PRU0_ste pper_state <> STOP_STEPPER_RUN_STATE
написать
STEPPER_PRU0_stepper_enable := TRUE чтобы ШД работал без остановки ?
А можно вместо
STEPPER_PRU0_stepper_enable := SteppersConfig_Pru0MemoryTransfer.STEPPER_PRU0_ste pper_state <> STOP_STEPPER_RUN_STATE
написать
STEPPER_PRU0_stepper_enable := TRUE чтобы ШД работал без остановки ?
При первом вызове SteppersConfig_Pru0MemoryTransfer() enable будет переведен в TRUE и ШД запустится.
Если ШД должен работать постоянно, то контролировать ничего не надо. Когда придет пора надо просто вызвать однократно программу SteppersConfig_Pru0MemoryTransfer() и остановить ШД, т.е. перевести enable в FALSE.
Я правильно понимаю ?
Последний раз редактировалось Newcomer; 15.01.2017 в 16:09.
Сделал проект для двух ШД и одного энкодера. Скомпилировал проект в Hardella, сделал импорт .exp файла в проект CoDeSys. Как управлять драйверами ШД понятно. Не понятно как опрашивать энкодер.
Компилятор CoDeSys выдает кучу ошибок.
Последний раз редактировалось Newcomer; 16.01.2017 в 13:28.
А что именно непонятно?
STEPPER2_Enc_PRU0_encoder_position это и есть текущее положение энкодера.Код:PROGRAM SteppersConfig_Pru0MemoryTransfer ... VAR_OUTPUT running : BOOL; writeFails : DWORD; readFails : DWORD; STEPPER2_Enc_PRU0_encoder_counter : WORD; STEPPER2_Enc_PRU0_encoder_position : WORD; STEPPER2_Enc_PRU0_encoder_zeroDetected : BOOL; STEPPER2_Enc_PRU0_stepper_state : STEPPER_RUN_STATE; STEPPER2_Enc_PRU0_stepper_step_count : DWORD; END_VAR ...
Иными словами, нужно вызвать программу SteppersConfig_Pru0MemoryTransfer, и после этого смотреть на значениеКод:SteppersConfig_Pru0MemoryTransfer.STEPPER2_Enc_PRU0_encoder_position
Последний раз редактировалось Владимир Ситников; 16.01.2017 в 13:31.
Компилятор CoDeSys выдает ошибки.
Ищем в гугле PRU_FB_GET_PARAMETER, находим такое:
Снимок экрана 2017-01-16 в 14.11.08.png
Отвечает на вопрос?
Правильно. Я создал новый проект CoDeSys, а библиотеку не добавил.
Докладываю. Удалось без проблем раскрутить мощный ШД до 1350 об/мин за 2,5 сек. при хорошем крутящем моменте на валу.
Hardella рулит.Спасибо Владимиру Ситникову.
Последний раз редактировалось Newcomer; 16.01.2017 в 15:34.