Поведенческие особенности программного PLC

Post Reply
SUN
Posts: 34
Joined: Tue Feb 18, 2020 3:41 pm

Поведенческие особенности программного PLC

Post by SUN »

win64, Ver:1.88.3857
Допускаю, что такие "особенности поведения" только у меня. Сегодня увидел у себя ошибку с иконками...


1. Особенность.
Все пользовательские коды из списка "Программный PLC", где в имени процедур нет двух первых символов подчёркивания(за исключением имени: "__HANDLER_INI" - предусмотрен автостарт), автоматически запускаются после загрузки программы mcCNC (сразу после установления связи с контроллером). Поведение всех таких кодов с такими именами идентичное предусмотренной для автостарта процедуре: "__HANDLER_INI".
Вопрос. "Автозапуск" всех таких процедур после соединения с контроллером - это так задумано в программе myCNC"?

2. Ошибка "летальная".
Также все пользовательские процедуры, где коды без подчёркиваний из списка "Программный PLC", автозапускаются каждый раз после активации оператором закладки "Программный PLC".
Посмотрел старые версии, похоже Это старая проблема.
Вопрос. Мне подождать пока вы исправите автостартовое поведение кодов программного PLC, или если "по мере возможности...", то самому делать "обвязки" в кодах, чтобы предотвращать непредсказуемое выполнение кода таких процедур?

3. Просьба.
В документации описания PLC (автор ivan): http://docs.pv-automation.com/plc/plc , имеются описание способов старта процедур "Hardware PLC" и нет указаний как можно запускать процедуры из категории "Software PLC".
Я предполагал, что процедуры из "Программного(Software) PLC" с именем, например: "M539" можно стартовать из командной строки G-кодов так же как и подобные процедуры аппаратного PLC.
Пробовал из командной строки - не стартует - жаль....
Вопрос и просьба. Нельзя ли реализовать в программе myCNC возможность запускать код "программного PLC" из G-кода и его командной строки, идентично по-сути как и код "Hardware PLC"?

mycnc
Posts: 784
Joined: Thu May 10, 2018 2:42 pm
Location: Ottawa, Canada
Contact:

Re: Поведенческие особенности программного PLC

Post by mycnc »

SUN wrote:
Fri Apr 10, 2020 8:37 am
Вопрос. "Автозапуск" всех таких процедур после соединения с контроллером - это так задумано в программе myCNC"?
Да, устанавливается связь, просылается конфигурация контроллера, потом запускаются PLC (все без "__" в начале имени)

mycnc
Posts: 784
Joined: Thu May 10, 2018 2:42 pm
Location: Ottawa, Canada
Contact:

Re: Поведенческие особенности программного PLC

Post by mycnc »

SUN wrote:
Fri Apr 10, 2020 8:37 am
2. Ошибка "летальная".
Также все пользовательские процедуры, где коды без подчёркиваний из списка "Программный PLC", автозапускаются каждый раз после активации оператором закладки "Программный PLC".
Автозапуск срабатывает при компиляции, не вижу, чтобы было срабатывание при активации окна.

mycnc
Posts: 784
Joined: Thu May 10, 2018 2:42 pm
Location: Ottawa, Canada
Contact:

Re: Поведенческие особенности программного PLC

Post by mycnc »

SUN wrote:
Fri Apr 10, 2020 8:37 am
3. Просьба.
В документации описания PLC (автор ivan): http://docs.pv-automation.com/plc/plc , имеются описание способов старта процедур "Hardware PLC" и нет указаний как можно запускать процедуры из категории "Software PLC".
Я предполагал, что процедуры из "Программного(Software) PLC" с именем, например: "M539" можно стартовать из командной строки G-кодов так же как и подобные процедуры аппаратного PLC.
Пробовал из командной строки - не стартует - жаль....
Вопрос и просьба. Нельзя ли реализовать в программе myCNC возможность запускать код "программного PLC" из G-кода и его командной строки, идентично по-сути как и код "Hardware PLC"?
Software PLC сделан для возможности контроля медленных процессов (100мс) в параллельном (мультизадачном) режиме.
Также заложен набор обработчиков по старту-стопу софта, g-кода и тд.

Нет, контроллер не знает о существовани Software PLC, интерфейса между Hardware и Software PLC не заложено (если только не выдумывать что-то через флаги в Global Variables), поэтому при вызове М-кода поиск будет идти среди макросов или Hardware PLC процедур.

В наших руках находятся и софт и прошивка контроллера, поэтому возможности по кастомизации и реализации дополнительных функций практически безграничны. При необходимости, условия реализации доп. функций можно обсудить по email.

SUN
Posts: 34
Joined: Tue Feb 18, 2020 3:41 pm

Re: Поведенческие особенности программного PLC

Post by SUN »

Понятно.
Значит у вас только при компиляции возникает автозапуск, а у меня и при активации закладки "Программный PLC".

Я был уверен, что это общая ошибка.

Проверил на разных профилях - во всех стартует код при получении фокуса на строку "Программный PLC".

Тогда ещё раз опишу детально мою конфигурацию.

win64, профиль любой, например "X1366M4E"
Прошивка у меня: "Feb 28 2020 , 12:36:31"
Версия "Ver:1.88.3857"

Назначаю выход для "Servo" = 11;
В профиле все процедуры без двойного подчёркивания, кроме одной с именем "M539", отключаю так:
main()
{
exit(99);
....

В теле процедуры "M539" пишу такой код:

Code: Select all

main()
{
timer=20;do{timer--;}while(timer>0); 
gvarset(60000,1); //turn Servo PIDs On
timer = 30;do{timer--;}while(timer>0); 
gvarset(60001,1); //turn Servo PIDs Off
exit(99);
};

Компилирую...
Выполняется код (жду пока погаснет светодиод на плате - отработает код)
Перехожу на строку, например "Hardware PLC" (на любую, важно выйти с закладки "Программный PLC").
Снова перехожу на закладку "Программный PLC" ("Software PLC").
Код автостартует, светодиод выхода "11" загорается и тухнет.

Странно.
Существенные отличия моей конфигурации от вашей могут быть разве что в версии прошивки.

Я уже написал этот пост, когда увидел новый.
Спасибо!
Позже отпишусь...

mycnc
Posts: 784
Joined: Thu May 10, 2018 2:42 pm
Location: Ottawa, Canada
Contact:

Re: Поведенческие особенности программного PLC

Post by mycnc »

SUN wrote:
Sat Apr 11, 2020 7:38 am
Проверил на разных профилях - во всех стартует код при получении фокуса на строку "Программный PLC".
Да, подтверждаю. Поправим.

Post Reply