Если ключевой вопрос именно в части "в обычном режиме", то тут, к сожалению, только через ОВЕН. По крайней мере, мне не известно как "передавать данные в PLC Configuration".
Сами же входы можно задействовать, если в PRU программе сделать конструкцию "@Export inputs: FAST_INPUTS"
Т.е. просто объявить переменную inputs: FAST_INPUTS, добавить @Export, и уже пользоваться этим значением в основной программе (см, например, программу быстрого счётчика)
Зря они не пропадут.
В ошибке "нехватки регистров" на самом деле есть полная распечатка того, какие переменные и в каких регистрах хранились.
Если вы скопируете в буфер обмена строку с ошибкой "RegAlloc", и вставите её, например, в блокнот, то увидите, что там довольно много текста.
Владимир, у PRU кроме регистровой памяти есть оперативная память (ОЗУ). Значит есть возможность сохранять регистровую память в ОЗУ. Это надо делать после отработки каждого ФБ, т.е. перед началом выполнения ФБ читаем ОЗУ в регистры, а после выполнения ФБ сохраняем регистры в ОЗУ. В этом случае будет возможность выполнять в программе PRU разные ФБ и не будет никакой каши в регистровой памяти. Каждый ФБ сможет использовать для своих нужд до 30 регистров. Время выполнения программы PRU увеличиться, зато можно будет писать более сложные программы.
Еще лучше вместо ОЗУ использовать стековую память, если она имеется.
Последний раз редактировалось IVM; 19.01.2018 в 14:18.
В ФБ PRU_STEPPER, который встроен в Hardella, переменный accel_rapmp и decel_ramp имеют формат WORD. Считаю, что эти переменные должны иметь формат DWORD. Бывают такие задачи когда за короткое время (например за 50 миллисекунд) надо сформировать пачку импульсов приличных размеров. В таких случаях ускорения и замедления должны иметь значения в сотни и миллионы единиц.
Последний раз редактировалось IVM; 19.01.2018 в 15:53.
Добрый день! есть несколько вопросов по Hardella примеру с шаговым двигателем: 1. После записи файлов PRU0 и PRU1 не работают 4 первых дискретных входа ПЛК110-30(М02). Как можно это устранить? 2. Как удалить записанные файлы (PRU0 и PRU1) из ПЛК? По форуму лазил, в ПЛК браузере они не отображаются((. 3. Только разбираюсь с программами SteppersConfig_. Какой командой можно остановить ШД, не зависимо от quantity? то есть ШД еще не прошел заданный путь, а его нужно остановить. Заранее спасибо. Данную тему читал, но ответов на мои вопросы не нашел.
Ответ был буквально на 4 сообщения выше:
Овен не предоставляет средств, чтобы при заливке PRU0.prg можно было работать со входами через конфигурацию. Только через Hardella.
plc browser, там набираем (без кавычек) "filedelete PRU0.prg", жмём enter. Как-то так
Нужно передать enable:=FALSE.
Отличная новость. Ждемс.
А стековая память у PRU есть ? Вот такая: https://studfiles.net/preview/4339738/page:16/). Очень удобно прятать в ней регистры.
Последний раз редактировалось IVM; 21.01.2018 в 20:06.
Спасибо за ответ! с Информацией в #1083 ознакомился, но не понял как быть с DI3 и DI4 ПЛК, они не буду работать в обычном режиме? просто не совсем понимаю как Овен в этом сможет помочь... Спасибо за Hardella, просто мне ее еще нужно проработать.
По вопросу 3. если enable:=FALSE, то шд не останавливается пока не выполнит заданное quantity или я что то не так делаю?