PDA

Просмотр полной версии : ОБнуляются RETAIN переменные



S#716_0P
27.01.2023, 11:23
Добрый день,
Подскажите есть ли какие то особенности при работе с RETAIN переменными в зависимости от версии прошивки СПК? В документации указано, что достаточно ключевого слова RETAIN в списке переменных. У меня при отключении питания все RETAIN переменные обнуляются. В прошлых проектах вроде такого не наблюдал. Пробовал прошить СПК его родной прошивкой. Не помогло. Возможен брак контроллера?
Версия контроллера: СПК110[M01]
Прошивка: 1.2.0803.1220
Таргет: 3.5.14.34

Евгений Кислов
27.01.2023, 11:30
Добрый день,
Подскажите есть ли какие то особенности при работе с RETAIN переменными в зависимости от версии прошивки СПК? В документации указано, что достаточно ключевого слова RETAIN в списке переменных. У меня при отключении питания все RETAIN переменные обнуляются. В прошлых проектах вроде такого не наблюдал. Пробовал прошить СПК его родной прошивкой. Не помогло. Возможен брак контроллера?
Версия контроллера: СПК110[M01]
Прошивка: 1.2.0803.1220
Таргет: 3.5.14.34

Добрый день.
Это повторяется в пустом проекте с парой RETAIN переменных без вашего кода?

S#716_0P
27.01.2023, 14:21
С обнулением разобрался. У меня задача уставки СПК писать не только с самой панели. но и с верхнего уровня по Modbus TCP из OPC-сервера. Поэтому был конфликт.
Теперь проблема в другом: как работать одновременно с одними и теми же переменными и из контроллера и из OPC-сервера. В версии Codesys SP14 писать из программы в холдинги нельзя. Если отображать холдинги и входные регистры на одну и туже область и ОРС-сервером читать из входных, а писать в холдинг регистры, тоже не получается - из OPC не записываются данные и в то же время все переменные-уставки сбрасываются. В общем, та еще задачка. Пока в процессе.

П.С.: Кстати, в Codesys 2.3 как то с этим проблем не было - хочешь читай, хочешь пиши и никаких конфликтов.

Евгений Кислов
27.01.2023, 14:23
С обнулением разобрался. У меня задача уставки СПК писать не только с самой панели. но и с верхнего уровня по Modbus TCP из OPC-сервера. Поэтому был конфликт.
Теперь проблема в другом: как работать одновременно с одними и теми же переменными и из контроллера и из OPC-сервера. В версии Codesys SP14 писать из программы в холдинги нельзя. Если отображать холдинги и входные регистры на одну и туже область и ОРС-сервером читать из входных, а писать в холдинг регистры, тоже не получается - из OPC не записываются данные и в то же время все переменные-уставки сбрасываются. В общем, та еще задачка. Пока в процессе.

П.С.: Кстати, в Codesys 2.3 как то с этим проблем не было - хочешь читай, хочешь пиши и никаких конфликтов.

Можете поднять слэйв через библиотеку OwenCommunication - тогда без проблем сможете менять значения в слэйве и из мастера, и из самого СПК.
И при этом сделать их RETAIN.

S#716_0P
28.01.2023, 13:55
Добрый день,
Спасибо за подсказку. Надо будет попробовать OwenCommucation.
Пытался проверить как вообще работает встроенный Modbus ТСР в СПК. Создал пустой проект и из OPC-сервера записываю значения в регистры. Пробовал писать разными функциями: 6-й, 16-й, пробовал даже запись в койлы (функции 5, 15). При этом, смотрю запросы ОРС и ответы СПК. Во всех случаях (даже для койлов) запись куда то идет, т.к. от СПК приходит ответ, что запись прошла, ошибок нет. Фактически же в регистрах значений не появляются. Пробовал ставить в запросах адрес устройства, хотя для MB TCP значения не имеет. Пробовал варианты Modbus TCP и Modbus RTU пакеты поверх TCP. Во втором случае СПК генерит ошибку.
Похоже встроенный Modbus ТСР в СПК имеет ошибку, по крайней мере, в прошивке 1.2.0803.1220.
Остался вариант Owen Communication.

Евгений Кислов
28.01.2023, 13:59
Добрый день.


Похоже встроенный Modbus ТСР в СПК имеет ошибку, по крайней мере, в прошивке 1.2.0803.1220.

Безусловно, никаких ошибок с встроенным Modbus TCP нет.
Если выложите скриншоты ваших настроек в CODESYS и мастере (всех, связанных с настройкой обмена и полноразмерные) - то я смогу подсказать, в чем ваша ошибка.

S#716_0P
28.01.2023, 18:50
Может где-то что-то не углядел.
Скриншоты:

Евгений Кислов
28.01.2023, 18:52
Может где-то что-то не углядел.
Скриншоты:

См. ваш третий скрин и это:
https://owen.ru/forum/showthread.php?t=28167&p=343792&viewfull=1#post343792

Нужно поставить Enable 2.

S#716_0P
28.01.2023, 19:48
Спасибо. Вот в чем оказывается была проблема.