PDA

Просмотр полной версии : Модули с диагностикой



InDaCherA
26.08.2020, 04:08
Добрый день!

По ТЗ заказчик требует, чтобы в ПО было реализовано и соответствнно в самом модуле - диагностика оборудования. с глубиной до модуля ввода/вывода, "результаты диагностики учитывать для присовения статуса недостоверности сигнала, а также передать результат диагностики в вышестоящую АСУ ТП.

Не нашёл в руководствах на контроллеры и модули вв/выв. есть ли такой фукнционал, чтобы модуль диагностировался до уровня канала. По идее это должно быть реализовано в таргетах модулей, но описания на это я также не нашёл.

Подскажите, какой тип контроллера 110/210 и соответственно модулей штатно имеет такой функционал? Или это в ПО? как это реализовать?

kon48
26.08.2020, 07:39
По ТЗ заказчик требует, чтобы в ПО было реализовано и соответствнно в самом модуле - диагностика оборудования. с глубиной до модуля ввода/вывода, "результаты диагностики учитывать для присовения статуса недостоверности сигнала, а также передать результат диагностики в вышестоящую АСУ ТП
Правильно что требует! Но задача не конкретна (какой объект подлежит автоматизации управления, какие точностные и надежностные характеристики предъявляются и т.д.?). Без этого сложно что то советовать. А общий подход состоит в том, что качество поступающих параметров оценивается на достоверность программно (методов проверки достаточно много, например, попадание сигнала в строб). Работоспособность в целом самого оборудования можно оценить путем сравнения текущих параметров оборудования с параметрами заведомо работоспособного оборудования или с параметрами адекватной оборудованию математической модели и др. Прямыми методами диагности, например, контроля потребляемой мощности, напряжения, тока, давления, расхода пара или воздуха и т.п.
С уважением Николай Митюхин

Евгений Кислов
26.08.2020, 08:29
Добрый день.

Действительно, вопрос сформулирован довольно обобщенно, поэтому просто приведу отдельные примеры.


Не нашёл в руководствах на контроллеры и модули вв/выв. есть ли такой фукнционал, чтобы модуль диагностировался до уровня канала

В модуля аналогового ввода по каждому каналу может быть получен код ошибки:

50788

В некоторых модулях дискретных выходов (МК210-302, МК210-312, МУ210-410, МУ210-411) контролируется обрыв нагрузки:

50789

В обоих случаях статус входа/выхода может быть прочитан по Modbus.

Cs-Cs
26.08.2020, 12:00
Ещё в CodeSys v3 есть удобная диагностика самого Modbus.
Можно видеть:
* Количество живых устройств на шине в штуках
* По каждому устройству видеть его статус (Ок или ошибки) и видеть конкретные ошибки в стиле "таймаут", "устройство вернуло кривые данные"

У меня в простых проектах всё это используется четырьмя проверками (модули Mx110):
* Состояние шины (штуки устройств = штукам, которые прописаны в проекте, ошибок шины быть не должно)
* Отсутствие ошибок устройства
* Если модуль даёт диагностику (например, статусы датчиков, про которые Евгений Кислов сказал) - то ещё и эта информация сверяется
* Данные, которые оно вернуло (аналоговые), должны укладываться в диапазон разумных значений.

На примере, если отвалится канал связи вообще, или если отвалится модуль IO датчиков температуры (сдохнет, зависнет), или если были ошибки датчика на модуле или если датчик вернул хрен знает что (например, датчик должен мерить от -50 до +150, а мы получили -200) - то управляемая фигня аварийно выключается.

Это вот всё - не то, о чём в ТЗ написано?

InDaCherA
26.08.2020, 19:56
Правильно что требует! Но задача не конкретна (какой объект подлежит автоматизации управления, какие точностные и надежностные характеристики предъявляются и т.д.?). Без этого сложно что то советовать. А общий подход состоит в том, что качество поступающих параметров оценивается на достоверность программно (методов проверки достаточно много, например, попадание сигнала в строб). Работоспособность в целом самого оборудования можно оценить путем сравнения текущих параметров оборудования с параметрами заведомо работоспособного оборудования или с параметрами адекватной оборудованию математической модели и др. Прямыми методами диагности, например, контроля потребляемой мощности, напряжения, тока, давления, расхода пара или воздуха и т.п.
С уважением Николай Митюхин
да дело не в объекте, это общие требования. То что логикой можно накрутить это само собой, но где-то можно сделать 2мя кликами мышки, а где-то два дня мозгами кипеть

InDaCherA
26.08.2020, 20:27
Добрый день.

Действительно, вопрос сформулирован довольно обобщенно, поэтому просто приведу отдельные примеры.

В модуля аналогового ввода по каждому каналу может быть получен код ошибки:


В некоторых модулях дискретных выходов (МК210-302, МК210-312, МУ210-410, МУ210-411) контролируется обрыв нагрузки:

50789

В обоих случаях статус входа/выхода может быть прочитан по Modbus.а есть где посмотреть примеры реализации этого?
как я понимаю 210 модули только в CDS версии 3 могут работать?

InDaCherA
26.08.2020, 20:36
Ещё в CodeSys v3 есть удобная диагностика самого Modbus.
Можно видеть:
* Количество живых устройств на шине в штуках
* По каждому устройству видеть его статус (Ок или ошибки) и видеть конкретные ошибки в стиле "таймаут", "устройство вернуло кривые данные"

У меня в простых проектах всё это используется четырьмя проверками (модули Mx110):
* Состояние шины (штуки устройств = штукам, которые прописаны в проекте, ошибок шины быть не должно)
* Отсутствие ошибок устройства
* Если модуль даёт диагностику (например, статусы датчиков, про которые Евгений Кислов сказал) - то ещё и эта информация сверяется
* Данные, которые оно вернуло (аналоговые), должны укладываться в диапазон разумных значений.

На примере, если отвалится канал связи вообще, или если отвалится модуль IO датчиков температуры (сдохнет, зависнет), или если были ошибки датчика на модуле или если датчик вернул хрен знает что (например, датчик должен мерить от -50 до +150, а мы получили -200) - то управляемая фигня аварийно выключается.

Это вот всё - не то, о чём в ТЗ написано?спасибо
Насколько я понимаю, это должно быть не в режиме просмотра онлайн состояния оборудования, а реализовано штатно на уровне таргета, чтобы были служебные переменные, на которые можно прикрутить логику сигнализации
CDS2 я знаком на уровне любителя, а v3 вообще не видел, поэтому мне трудно пока определиться, как это реализовать.

kon48
26.08.2020, 20:45
Автоматизатор InDaCherA поделился "важной мыслью" - да дело не в объекте, это общие требования . Не смею вас переубеждать, но как известно "пляшут от печки". И второе.
То что логикой можно накрутить это само собой, но где-то можно сделать 2мя кликами мышки, а где-то два дня мозгами кипеть, но с таким подходом вы неделями будете блуждать по форумам, а результата без МОЗГОВ не получите.
С уважением Николай Митюхин

Cs-Cs
26.08.2020, 22:11
CDS2 я знаком на уровне любителя, а v3 вообще не видел, поэтому мне трудно пока определиться, как это реализовать.
Вот у ОВЕНА есть документ, который зовётся "CDSv3.5_Modbus_v2.0.pdf". Как раз про третий CodeSys. И вот там описаны переменные ядра (я про них и говорил):
uiNumberOfCommunicatingSlaves - сколько штук устройств работает на канале связи
xSlaveError - была ли ошибка хоть одного
Для конкретного устройства на шине:
byModbusError - код ошибки обмена
xError - вообще, есть ли ошибки или устройство работает штатно.

Если речь про это - то вот оно и есть. А если речь про "сам ПЛК должен сообразить, что у него отвалился модуль и изменить логику работы нашей задачи" - это не так. Задачу-то и обработку данных пишем мы сами. Вот в ней мы можем получить флаг или код ошибки типа "Устройство перестало отвечать на запросы". Но ЧТО делать с этим кодом или стастусом - решать нам.

Евгений Кислов
27.08.2020, 08:22
а есть где посмотреть примеры реализации этого?
как я понимаю 210 модули только в CDS версии 3 могут работать?

Модули Mx210 могут опрашиваться любым устройством, которое способно работать как Modbus TCP Master.
В CDS V3 использование модулей максимально удобно, так как есть готовые шаблоны опроса.
Вот пример настройки обмена с модулем МВ210-101, в котором демонстрируется диагностика измерительных входов:
https://youtu.be/vItmuaRHHH4