SteppersConfig_Pru0Init(); - эту программу достаточно вызвать один раз ?
SteppersConfig_Pru0Init(); - эту программу достаточно вызвать один раз ?
Последний раз редактировалось Newcomer; 15.01.2017 в 15:01.
Сделал проект для двух ШД и одного энкодера. Скомпилировал проект в 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.