Менял на одной машине ПЛК по причине его выхода из строя, проект с использованием Hardella написан около года назад. Залил проект в ПЛК, а pru0.prg и pru1.prg не залил, хотя в предыдущем ПЛК они были залиты. Однако, всё заработало. Т. е. получается, что не очень-то эти файлы и нужны?
Без этих файлов основная прошивка ПЛК пытается обращаться к PRU для отработки стандартной конфигурации (например, считывает показания быстрых входов)
Проблема в том, что даже после заливки PRU программы это не прекращается, т.к. основная прошивка не догадывается про Hardella.
Если же залить файл .prg, то основная прошивка перестаёт ломиться в PRU.
Как именно устроен штатный обмен не знаю, поэтому залить файл всё же стоит.
Спасибо, понял. При случае исправлю. Хотя машинка уже двое суток молотит без проблем.
Получается, что если и есть конфликт, то в данном случае его влияние не критично, но не факт, что не будет критичного влияния на других проектах с Hardella.
То Владимир Ситников.
Владимир, хочу сделать ФБ для управления ШД такого плана: ШД разгоняется и каждые 10 мс основная программа ПЛК на ходу (без останова ШД) меняет период следования импульсов. Фб для PRU считает все отработанные импульсы и передает их в основную программу ПЛК. Получится у меня такое сделать ?
То Владимир Ситников.
Владимир, у вас в ШИМ блоке из стандартной библиотеки период и скважность в каких единицах задаются ?
FUNCTION_BLOCK PWM_DW (* Pulse Width Modulation generator *)
variables:
input value : DWORD;
input period : DWORD;
output Q : BOOL;
pos : DWORD;
body:
IF pos >= period THEN
pos := 1;
ELSE
pos := pos + 1;
END_IF;
Q := pos <= value;
Согласно вашему коду, если период следования импульсов должен быть 10 мкс, а скважность 2, то period надо задать 10, а value - 5. Я правильно понимаю ?