Здравствуйте.
Есть проблема с библиотекой UNM, а именно получение данных с электросчетчика Меркурий 230 ART.
Проблема в том, что контроллер получает данные, но через некоторое время появляется сбой, и все переменные, читаемые с электросчетчика, принимают одно значение, но с разным положением десятичной точки.
Сбой проявляется через произвольное время, может проявиться через неделю после запуска, может через месяц.
Для начала:
1) ПЛК 100 Р-М .
2) Прошивка 2.14.
3) версия таргет-файла 2.10.
4) Электросчетчик Меркурий 230 ART PQRS.
5) Используется стандартный пароль администратора счетчика 222222, конфигуратор электросчетчика с этим паролем подключается.
6) Версия CoDeSys 2.3.9.36
7) Перед загрузкой в ПЛК полную перекомпиляцию делал неоднократно (Проект - очистить все; Проект - компилировать все).
8) "На всякий случай после загрузки проекта ПЛК перегрузите меркурий" - делал.
9) Согласно модулю статистики контроллер не перегружен, хотя время цикла изначально было 5 мсек. По совету инженера техподдержки Овен, ответственного за ПЛК, увеличил время до 20 мсек, не помогло.
фото шкафа:
Ситуация:
1. Шкаф на скважине наружного исполнения, в составе: ПЧ INVT, ПЛК, электросчетчик Меркурий, GSM/GPRS маршрутизатор, обогрев.
2. Всего 6 скважин, контроллеры разные: ПЛК 150 А-М, ПЛК 100 Р-М, ПЛК 110.30 Р-М v2. Сбой наблюдается на всех ПЛК. Костяк программы одинаковый, различия в ПО обоснованы лишь различием в ПЛК (просто не было у поставщика в наличии требуемого количества одинаковых ПЛК).
3. Программу при необходимости могу расписать более подробно, но вкратце: SCADA передает на ПЛК заданное давление и команды ВКЛ/ВЫКЛ, забирает данные, которые ПЛК получил от ПЧ и электросчетчика.
4. Есть возможность подключиться к ПЛК и мониторить программу в CoDeSys.
фото шкафа:
image.jpg
Что делал:
1. Блок работы с электросчетчиком целиком взял с примера форума, добавил лишь опрос каждые 15 сек (а не постоянно как в примере) и понизил скорость обмена до 1200.
2. Схемотехника интерфейсов в порядке, проверял осциллографом, наводок нет.
3. По совету местного специалиста по ПЛК Овен, написал тестовую программу, полностью исключив использование библиотеки Oscat. У специалиста были подозрения, что функциональные блоки этой библиотеки как-то некорректно используют системное время и это вызывает сбой. Не помогло.
4. Изначально минимальное время цикла программы было 5 мсек, но перегрузки контроллера не было. Увеличил до 20 мсек. Не помогло.
5. Были предположения, что частое считывание значений электросчетчика как-то нагружает сам электросчетчик. Увеличивал период чтения с 15 сек до 1 минуты. Сбой стал проявляться через большее время, только и всего.
6. Подозрения на возможный брак ПЛК либо электросчетчика не подтвердились. Было сделано несколько перестановок оборудования из шкафа в шкаф.
Очень нужна помощь, у меня уже закончились идеи.
В архиве программа и скриншот скады