Siemens simatic s7 1200 инструкция скачать

Siemens simatic s7 1200 инструкция

Создание пользовательских сообщений в диагностическом буфере S7-1200. Инструкция Gen_UsrMsg.
1. Диагностический буфер. В ПЛК S7-1200 существует диагностический буфер. Туда ПЛК записывает различные ошибки возникшие во время работы, ошибки модулей подключенных к контроллеру. Также туда пишутся переходы состояния самого ПЛК (STARTUP — RUN — STOP). Кроме самой ошибки или объявления туда бывает добавлена прочая информация для диагностики. Каждое сообщение (ALARM) имеет метку времени в локальном времени контроллера.

Было-бы замечательно записывать туда свои сообщения. Например, если у нас, во время работы установки была аварийная ситуация, о которой умолчал оператор. Для этого в TIA Portal есть инструкция Gen_UsrMsg . 2. Инструкция Gen_UsrMsg. Инструкция Gen_UsrMsg позволяет добавить свое собственное сообщение в диагностический буфер. Mode Выбор типа сообщения: 1 — входящее, 2 — исходящее. TextID ID записи в списке текста (Plc alarm text list) в котором хранятся наши сообщения.

TextListID ID списка текста (Plc alarm text list), в котором в одной из записей хранится наш текст сообщения. AssocValues Структура, в которой хранятся переменные, которые мы хотим вывести дополнительно к тексту сообщения. Например: «Превышение температуры, T=124.1 С» Ret_Val Код ошибки инструкции. 3. Генерируем свое сообщение. Создадим свое сообщение в которое помимо текста поместим еще и две переменных. Пусть мы испытываем электрический генератор.

В контроллер заведены значения тока и напряжения генератора. При увеличении тока выше критической уставки сделаем сообщение типа: «Ток выше критического значения, I=34 Ампера. Напряжение U=9 Вольт.» Рисуем схему. На скриншоте, в первой цепи, мы просто копируем значения тока и напряжения в структуру типа AssocValues . Ее мы должны создать заранее в каком-нибудь дата-блоке. Кстати, этого типа нет в списке типов, которые TIA Portal нам показывает в выпадающем меню при выборе типа переменной, поэтому мы вбиваем вручную « AssocValues «. В этой структуре будут хранится переменные, которые мы хотим приложить к сообщению.

Всего у нас 8 мест размерностью в 2 байта (UINT). Копируем ток и напряжение в первые два. Во второй цепи мы просто разрешаем выполнение блока Gen_UsrMsg по фронту сравнения тока с уставкой. Если держать блок постоянно включенным, то он, каждый цикл контроллера будет генерировать сообщение ( alarm ) и мгновенно забьет весь диагностический буфер. Для самого текста сообщения создаем текстовый список тревог ( Plc alarm text list ). В текст сообщения мы вставляем наши переменные тока и напряжения.

Для вставки переменной нам необходимо обрамить ее слева и справа символами @ , указать тип переменной и правило преобразования ее в текст. Для тока вводим @3I%d@ . @ в начале и в конце — признак переменной. 3 — это номер переменной, которую мы будем читать из AssocValues. По неведомым причинам счет переменных начинается не с нуля, а с трех, поэтому третья переменная это на самом деле Value[1]. I — обозначения типа данных в ячейке (Integer), % — это указатель на форматирование, d — вывести переменную как знаковую целочисленную. Для напряжения все тоже самое, исключая номер переменной ( @4I%d@ ).

Обозначение Тип данных Y BYTE W WORD X DWORD I Integer D DINT B BOOL C CHAR R REAL O LREAL. Формат Описание %[i]X Hexadecimal number with i digits %[i]u Decimal number without sign with i digits %[i]d Decimal number with sign with i digits %[i]b Binary number with i digits %[i][.y]f Floating-point number with sign with y digits after the decimal point and total number of digits i %[i]s String (ANSI string) with i digits Characters are printed up to the first 0 Byte (00Hex). %t# Access to text list. Теперь осталось на входе блока Gen_UsrMsg указать ID списка текста (512) и номер выводимой в сообщении записи (0). Запускаем, проверяем. Пользовательское сообщение в диагностическом буфере контроллера.

4. Теперь о грустном. Диагностический буфер S7-1200 хранит только последние 50(!) сообщений по принципу кольцевого буфера. После выключения контроллера в памяти остается вообще только 10 последних сообщений. Т.е. вероятность, что ваше важное сообщение будет стерто, очень высока. Для полноценного логирования лучше пользоваться инструкциями DataLog и просматривать журнал через web-server контроллера.

Скачать с файлообменника:


  • Siemens simatic s7 1200 инструкция

  • Siemens simatic s7 1200 инструкция
  • Выбор пользователей: