PDA

Просмотр полной версии : PLC210 + OPC UA. проблема с переменными 4-20



VanoKing
11.08.2022, 16:45
есть переменные 4-20мА с OPC стороннего передаются в MasterSCADa потом предаются по OPCUA в ОвенПЛК210. с каждой переменной есть признак качества и метка времени. Так вот когда переменная резко выходит за границу 20мА в ПЛК отображается что-то типа 16.5 или 17.3 и число уже не изменяется, хотя по факту уже 20.1мА.Может какие настройки в символьной конфигурации есть для того чтобы игнорировать плохое качество и все равно выводить значение, а я уже решу плохая переменная или нет.CODESYS V3.5 SP14 Patch 3

Евгений Кислов
11.08.2022, 17:53
есть переменные 4-20мА с OPC стороннего передаются в MasterSCADa потом предаются по OPCUA в ОвенПЛК210. с каждой переменной есть признак качества и метка времени. Так вот когда переменная резко выходит за границу 20мА в ПЛК отображается что-то типа 16.5 или 17.3 и число уже не изменяется, хотя по факту уже 20.1мА.Может какие настройки в символьной конфигурации есть для того чтобы игнорировать плохое качество и все равно выводить значение, а я уже решу плохая переменная или нет.CODESYS V3.5 SP14 Patch 3

Приведите, пожалуйста, пошаговую инструкцию, как воспроизвести эту проблему на примере одного сигнала.

VanoKing
12.08.2022, 11:14
инструкция.
1. устанавливаем OPC LCARD(demo ограничение 1слот 2 канала) и драйвера и библиотеки из раздела "Программное обеспечение под Windows" по ссылке https://www.lcard.ru/products/ltr/ltr-eu-16?qt-ltab=6#qt-ltab
2. добавляем один слот и один канал в программе "Настройка OPC-сервера LCARD" . не добавиться если не подключено к реальному железу. т.е.LTR-EU-16 по Ethernet и записываем данные в OPC(много нюансов там по настройке брандмауэра, написано о них в доках к OPC) настроек качества переменных в этом сервере просто нет.
3. в кодесюс 3.5 создаем символьную конфигурацию для PLC210-03 с одной глобальной переменной входной real (скрин с2) загружаем в контроллер и запускаем старт
3. в МастерСКАДА 4D создаем АРМ и в параметрах создаем OPC DA нажимаем выбор сервера и выбираем lcard.LOpcDaServer (скрин с)
4. в МастерСКАДА 4D в параметрах создаем OPC UA и прописываем свой ip c портом 4840
5. в МастерСКАДА 4D перетаскиваем переменную в скринах это Т50 с одного опс на другой.после Исполнение и запуск скады.
6. задатчиком задаем на вход слота LTR27 4мА, получаем в скаде и кодесюс значение переменной 4,005мА, с качеством StatusCode = 0.
7. задатчиком задаем на вход слота LTR27 20мА, получаем в скаде 20,01мА и в кодесюс 16.45мА , с качеством StatusCode = тут много цифр.
если убрать в скаде галочку получать признак качества, тогда пропадает и метка времени что при точности 100мс недопустимо. но зато проблема исчезает и в кодесюс показвает 20,01мА

но чтобы это воспроизвести точь в точь нужно же оборудование LTR-EU-16 от фирмы LCARD. вот сайт https://www.lcard.ru/products/ltr/ltr-eu-16. хотя наверное возможно заменить его на какой-то OPC с возможностью эмулировать переменные и статус качества.

есть канечно вариант обновления прошивки контроллера, может этой проблемы в кодесюс старшей версии и нет

62116
62117

Евгений Кислов
12.08.2022, 11:49
инструкция.
1. устанавливаем OPC LCARD(demo ограничение 1слот 2 канала) и драйвера и библиотеки из раздела "Программное обеспечение под Windows" по ссылке https://www.lcard.ru/products/ltr/ltr-eu-16?qt-ltab=6#qt-ltab
2. добавляем один слот и один канал в программе "Настройка OPC-сервера LCARD" . не добавиться если не подключено к реальному железу. т.е.LTR-EU-16 по Ethernet и записываем данные в OPC(много нюансов там по настройке брандмауэра, написано о них в доках к OPC) настроек качества переменных в этом сервере просто нет.
3. в кодесюс 3.5 создаем символьную конфигурацию для PLC210-03 с одной глобальной переменной входной real (скрин с2) загружаем в контроллер и запускаем старт
3. в МастерСКАДА 4D создаем АРМ и в параметрах создаем OPC DA нажимаем выбор сервера и выбираем lcard.LOpcDaServer (скрин с)
4. в МастерСКАДА 4D в параметрах создаем OPC UA и прописываем свой ip c портом 4840
5. в МастерСКАДА 4D перетаскиваем переменную в скринах это Т50 с одного опс на другой.после Исполнение и запуск скады.
6. задатчиком задаем на вход слота LTR27 4мА, получаем в скаде и кодесюс значение переменной 4,005мА, с качеством StatusCode = 0.
7. задатчиком задаем на вход слота LTR27 20мА, получаем в скаде 20,01мА и в кодесюс 16.45мА , с качеством StatusCode = тут много цифр.
если убрать в скаде галочку получать признак качества, тогда пропадает и метка времени что при точности 100мс недопустимо. но зато проблема исчезает и в кодесюс показвает 20,01мА

но чтобы это воспроизвести точь в точь нужно же оборудование LTR-EU-16 от фирмы LCARD. вот сайт https://www.lcard.ru/products/ltr/ltr-eu-16. хотя наверное возможно заменить его на какой-то OPC с возможностью эмулировать переменные и статус качества.

есть канечно вариант обновления прошивки контроллера, может этой проблемы в кодесюс старшей версии и нет

62116
62117

Я воспроизвел проблему и в самой свежей версии CODESYS.
Похоже, что в данный момент значения с любым Status Code, отличным от Good, не принимаются.
В самом CODESYS нет доступа к Status Code и метками времени переменных OPC UA-сервера.
В баг-трекере есть пожелание по реализации этого функционала - возможно, в тот момент ваша проблема будет решена.

Но в данный момент я не вижу вариантов решения со стороны CODESYS.
Возможно, на стороне MasterSCADA можно как-то "подменять" Status Code записываемого значения.
Это лучше уточнить у их техподдержки:
support.ms4d@masterscada.ru

VanoKing
12.08.2022, 12:58
спасибо за ответ, значит пока делаю без меток времени.
есть еще один вопрос который меня мучает. По поводу быстродействия OPC UA сервера в ПЛК210. В моей связке ПЛК-Мастерскада4D(windows10) ,будет ли успевать сервер передавать 1500 переменных real за 100мс. настройки скорости опроса в клиенте (то бишь мастер скада) есть, а в кодесюс нет. Читал что из-за драйверов винды все плохо и могут быть задержки. А то столько привязок переменных, а потом окажется что все зря и нужной скорости опроса не достичь.

Евгений Кислов
12.08.2022, 13:03
Я думаю, что 100 мс - это недостижимый период опроса для вашей ситуации.