PDA

Просмотр полной версии : ПЛК110-30. М02. Зависание ПЛК при загрузке изменений программы.



vapik
10.03.2018, 09:40
На руках ПЛК110-30 М02, производства май 2017.

PLCInfo

PLCInfo
PLC model MODEL PLC 110-30
Binary VERSION 0.3.73
Need Target version >= 3.10
Compiled: 11:04:49 Jan 15 2018
STM32 binary version 114
MAC 6A:77:00:FF:D6:E3
IP 192.168.0.40
GATE 10.2.1.1
MASK 255.255.255.0


Программа большая ~ 260 кБ (много логики, установка сложная, используются все возможности ПЛК).
Используется файл SDB для Codesys OPC: Download.SDB ~ 36 кБ
Выставлен minCycle = 10 ms;
В модуле Statistic при штатной работе Free resources ~ 9500 mks.
В режиме Stop ~ 9900 mks.
Используется скоростной таймер на 40 mks.

В прошлом топике (несколько месяцев назад) я писал, что слетает Retain и программа, при загрузке изменений.
При дальнейшей переписке с ТП Овен, выяснили что программа не слетает, а сбрасывается в исходную и происходит инициализация Retain из-за срабатывания Watchdog.
Т.к. контроллер при заливке зависает даже в режиме Stop, то это означает, что всему виной POU на скоростном таймере, который никак не остановить, но до выхода в Stop, я делаю так, чтобы это POU отрабатывало только одно условие IF, которое FALSE, и добиваюсь Free resources 9900 из 10000 mks - и это все равно не помогает.

Я заметил, что зависание чаще всего происходит при загрузке Download.SDB на 9960 byte - но не уверен, что именно это является причиной, т.к. какую-то "фрагментацию" и проверку памяти (через PLC Browser) я проводил.

ТП Овен мне сказало, что раз зависание происходит только с заливкой программы в контроллер - значит это надо просто учесть и с этим как-то жить.
Таким образом, та самая идеология для которой создаются современные ПЛК - изменение логики на лету на безостановочных производствах, не работает. Также инициализация Retain сводит на нет ПНР с наличием моточасов, рецептов и т.д.


Скажите, кто-нибудь сталкивался с подобным явлением в своей практике? Как решали проблему?

rwg
10.03.2018, 09:54
Таким образом, та самая идеология для которой создаются современные ПЛК - изменение логики на лету на безостановочных производствах, не работает.
Она не работает и безо всяких зависаний. Существует несколько типов изменений программы, после которых ПЛК останавливается и ждёт повторного старта. Я пока специально не анализировал, кажется у меня чаще всего это происходит после внесения изменений в конфигуратор Modbus.

vapik
10.03.2018, 10:03
Она не работает и безо всяких зависаний. Существует несколько типов изменений программы, после которых ПЛК останавливается и ждёт повторного старта. Я пока специально не анализировал, кажется у меня чаще всего это происходит после внесения изменений в конфигуратор Modbus.

Да, список условий с обязательной остановкой описан в документации к Codesys или РП Овен (не помню), и я его придерживаюсь. Но у меня именно зависание и вылет по Watchdog.

приборист
11.03.2018, 10:52
Похожее поведение наблюдаю в ПЛК, где используются Сетевые переменные (UDP).
Пока не отключишь все ПЛК от сети - программу залить невозможно, ПЛК уходит в перезагрузку и в Стоп.

При этом - внести он-лайн изменения - без проблем.
Заменить программу - зависание.

Борода
23.01.2024, 15:20
Контроллер ПЛК110-60 [М2], прошивка 1.2.42 - наблюдались постоянные зависания и перезагрузка по WatchDog при загрузке малейших изменений (например, поменять константу на входе блока). Программа довольно большая (около 650 кБайт при заливке загрузочного проекта), довольно много сложных ST-блоков и двумерных массивов из структур, внешних Modbus переменных около тысячи. Искал причину полтора месяца.

Оказалось все банально - в менеджере библиотек висела библиотека Oscat320, но ее функционал не использовался. После удаления данного поделия работа ПЛК нормализовалась. Сейчас можно вносить изменения в проект вплоть до чуть ли не в размер самого проекта (кроме, конечно, конфигурации) - никаких зависаний.

П.С. Мне тоже в техподдержке сказали, что зависание ПЛК надо принять как должное и каждый раз останавливать техпроцесс с заливкой полного проекта.