S7-PDIAG: вариант для формирования аварийных сообщений для HMI
Доброго всем времени суток. Может быть кто-то уже знаком, а кто-то просто слышал, а кто-то вообще ничего об этом не знает, но всё же - предлагаю рассмотреть ещё один вариант для формирования аварийных сообщений для HMI.
Речь пойдёт о S7-PDIAG.
Итак, начнем. Конфигурация оборудования для проекта-примера
Наша цель пройтись по данным пунктам
Создадим FB10 с таким содержимым
Поставим курсор на выход Q1.0 после этого вызовем меню
После чего, в появившемся окне выберем шаблон "S7-PDIAG Address Monitoring" и нажмём кнопку New. В появившемся окне необходимо указать параметры и текст сообщения
Пройдёмся немного по данному окну.
Initial diagnostic address – необходимо указать область для отслеживания (монито-ринга)
В области "Установки мониторинга /Monitoring Definition" необходимо установить требуемые Вам параметры: какой уровень сигнала Вы будете отслеживать ("0", "1" или же передний/задний фронт), время задержки (можете ввести в миллисекундах, в формате S7, или указать область, где хранится время задержки). Поля Monitoring Status & Acknowledgment status можно использовать для того, чтобы при срабатывании сигнала взвести какой-либо бит (I, Q, M, DB) и для квитации данного события.
В области Message нас интересует только текст сообщения. Хотя мы можем указать область, в которой будет храниться наше сообщение (через Symbol name), а также скон-фигурировать сообщение отдельно если мы будет использовать блок alarm_s. Если уста-новить флажок Acquire assoc. Value, то в момент ошибки будет взято значение сигнала, который отслеживается. Так же мы можем указать другое значение через поле Associated value.
Вызовем блок в ОВ1
После чего закройте редактор и выполните компиляцию программы
После компиляции у Вас в проекте появятся блоки необходимые PDIAG
В ОВ1 добавьте ещё один сегмент и вызовете FB44
Сохраните и закройте ОВ1.
После этого на необходимо сконфигурировать сам PDIAG.
Выбрав Ваши блоки в редакторе, через меню
После чего, в открывшемся редакторе, Вам необходимо выполнить компиляцию Prosecc Diagnostics->Compile , появится окно настроек
Нажимаем ОК.
Как проверить нашу программу?
Поскольку "живого" ПЛК не было под рукой использовался PLCSIM. Итак, запускаем эмулятор, загружаем в него нашу программу. После чего переходим в режим Online
В эмуляторе добавим входной байт с адресом "0", откроем сообщения ПЛК
И установим следующий флажок в появившемся окне
Теперь, если мы установим все входные биты с 0 по 3, мы увидим сообщение об ошибке
Для отображения сообщения на панели необходимо на каком-либо экране добавить элемент Alarm_view и установить флажки возле классов Diagnostic Events & S7 Alarm
Вот, вкратце, и все. Если информация была кому-то полезна и S7-PDIAG необходимо кому-то в работе уже сейчас, но есть вопросы - пишите.