Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 28 из 28

Тема: Проблемы с Меркурий 230 ART

  1. #21

    По умолчанию

    Так нашли решения проблемы со счетчиком или нет?
    У меня час, два, может несколько дней опрашиваться, а потом ошибка контрольной суммы и все тут. Если передернуть ПЛК и счетчик, то снова все нормально.

  2. #22
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    11,530

    По умолчанию

    А точно ли ошибка CRC ?
    з.ы. такое может быть если - была потеря связи на время более 240 секунд (на новых счетчиках), после чего счетчик закрывает канал связи и надо снова авторизоваться. Если программа не учитывает данный таймаут при опросе и снова не производит авторизацию, счетчик будет выдавать сообщение по данному поводу какой-то длины, а ваш код ждет другую длину. Как следствие ошибка CRC.

    Это чисто предположение исходя из поведения счетчика.

  3. #23

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    А точно ли ошибка CRC ?
    з.ы. такое может быть если - была потеря связи на время более 240 секунд (на новых счетчиках), после чего счетчик закрывает канал связи и надо снова авторизоваться. Если программа не учитывает данный таймаут при опросе и снова не производит авторизацию, счетчик будет выдавать сообщение по данному поводу какой-то длины, а ваш код ждет другую длину. Как следствие ошибка CRC.

    Это чисто предположение исходя из поведения счетчика.
    Опрос счетчика идет каждые 10 секунд, опрос реализован один в один как в описании библиотеки. Ошибка появляется в GetParam.Error6, при переводе ошибки в текст, звучит как "Ошибка контрольной суммы".

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

  4. #24
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    11,530

    По умолчанию

    Если честно, то не знаю, как в библиотеке реализовано, я ее когда то пытался переделать на обычный COM порт, без UNM. Зависала на каких-то этапах. Потом отпала необходимость и я бросил.

    Я описал вариант, когда счетчик может снова захотеть авторизацию, посылая в ответ на ваш запрос чтения, а так как вы читаете что-то другое и ожидаете другой ответ и другой длины, то вот вам и причина ошибки CRC.

    Опять же, повторюсь - это предположение. Так как я эти счетчики читаю Scada системой, а не ПЛК-шкой.

    По крайней мере у меня в драйвере реализован механизм по таймеру, так как писал с расчетом на то, что я некторые параметры счетчика могу читать раз в час например. И я не помню подобной реализации в драйвере Овен для этого.
    К тому же это новые счетчики долго удерживают связь, а со старыми прошивками там время удержания канала гораздо меньше... Надо доки поднимать и смотреть.
    Последний раз редактировалось melky; 26.07.2019 в 09:29.

  5. #25

    По умолчанию

    Пробовал опрашивать намного реже, раз в 10 минут. Ситуация такая же.
    Сегодня еще добавилась ошибка: "неверный адрес устройства в ответе", она чередуется с ошибкой по контрольной сумме.
    В библиотеке реализован опрос в шесть шагов:
    1) Тест связи
    2) Открытие сессии
    3) Чтение мгновенных значений
    4) Чтение фиксированных данных
    5) Чтение массивов энергии
    6) Закрытие сессии

    Вот на последнем этапе у меня вылетают эти ошибки, и они чередуются.

    У меня на ПЛК висит только счетчик, вообще ПЛК больше ничего не делает. Ну еще есть ModBUS Slave, в который перекидываю данные полученные со счетчика.

  6. #26
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    11,530

    По умолчанию

    Хм, если есть п6. Закрытие сессии, то надо копать код. Где-то там есть ошибка. Мне так кажется...

  7. #27

    По умолчанию

    Цитата Сообщение от p_dima90 Посмотреть сообщение
    Здравствуйте.
    Есть проблема с библиотекой 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.
    фото шкафа:
    Вложение 16193
    Что делал:
    1. Блок работы с электросчетчиком целиком взял с примера форума, добавил лишь опрос каждые 15 сек (а не постоянно как в примере) и понизил скорость обмена до 1200.
    2. Схемотехника интерфейсов в порядке, проверял осциллографом, наводок нет.
    3. По совету местного специалиста по ПЛК Овен, написал тестовую программу, полностью исключив использование библиотеки Oscat. У специалиста были подозрения, что функциональные блоки этой библиотеки как-то некорректно используют системное время и это вызывает сбой. Не помогло.
    4. Изначально минимальное время цикла программы было 5 мсек, но перегрузки контроллера не было. Увеличил до 20 мсек. Не помогло.
    5. Были предположения, что частое считывание значений электросчетчика как-то нагружает сам электросчетчик. Увеличивал период чтения с 15 сек до 1 минуты. Сбой стал проявляться через большее время, только и всего.
    6. Подозрения на возможный брак ПЛК либо электросчетчика не подтвердились. Было сделано несколько перестановок оборудования из шкафа в шкаф.

    Очень нужна помощь, у меня уже закончились идеи.

    В архиве программа и скриншот скады


    как решили вопрос?

  8. #28

    По умолчанию

    Цитата Сообщение от Glottos Посмотреть сообщение
    как решили вопрос?
    Никак, библиотека не рабочая. Взяли счетчики с Modbus RTU.

Страница 3 из 3 ПерваяПервая 123

Похожие темы

  1. Меркурий 230
    от звездочка в разделе Master SCADA 3
    Ответов: 33
    Последнее сообщение: 16.01.2014, 12:28
  2. Меркурий 230+Меркурий-энергоучет+ПМ-1
    от AJR в разделе Эксплуатация
    Ответов: 13
    Последнее сообщение: 23.12.2013, 10:47
  3. ПЛК-100 криво опрашивает Меркурий-230
    от lomtik в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 23.11.2013, 17:56
  4. Ответов: 4
    Последнее сообщение: 24.09.2012, 08:54

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •