Примеры настройки обмена по протоколу МЭК 60870-5-104

Настройка обмена в режиме сервера по протоколу 5-104

В данном примере ПЛК210 будет выступать в роли контролируемой станции (сервера).

Пример доступен для скачивания по ссылке. Пароль для доступа к отладчику – 1.

Для настройки обмена в режиме сервера по протоколу 5-104 следует:

  1. Добавить на любую страницу места работы Фон блок IEC104Server.

  2. На вход lip подать IP-адрес контроллера в виде SQL-запроса. Запрос IP-адреса (prop_ip):

    "<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_ip"</sql>"
  3. Добавить коннектор для выходного буфера IECBufOut.

  4. Установить период для отправки данных с причиной 1 (циклический) равным 5 секундам – cpp = 5000.

Другие параметры блока перечислены на рисунке ниже.

Graphic
Настройка IEC104Server

Передача информации о процессе в направлении контроля (M)

В этом подразделе приведены примеры обмена данными в направлении контроля. Такому обмену в ASDU присваивается метка M (см. Приложение А).

Например, необходимо отправить от сервера клиенту объект информации с типом M_SP_NA_1 – одноэлементный объект информации с описателем качества.

Для настройки передачи информации о процессе в направлении контроля (M) следует:

  1. Добавить на любую страницу места работы Фон выходной буфер IECBufOut.

    Примечание

    В данном примере настраивается передача данных в прямом направлении – от сервера к клиенту. Аналогично настраивается обмен в обратном направлении – от клиента к серверу.

  2. Установить tid = M_SP_NA_1, адрес ASDU adr = 3, адрес объекта информации ioa = 1.

    Тип данных tp установим равным DI, так как у M_SP_NA_1 в младшем разряде передается 1 бит ТС.

  3. Условия передачи данных trt установить равным 0x03: бит 0 – спорадическая передача (причина передачи 3), бит 1 – циклическая передача с периодом cpp = 5000 мс (причина передачи 1) (см. Приложение Б).

    На вход qlf заведем выход с блока ToReg8 из библиотеки paCore – формирователь битовой маски описателя качества.

    Graphic
    Настройка IECBufOut. M_SP_NA_1
  4. В данном примере в качестве клиента используется Multi-Protocol MasterOPC. Можно также запустить в качестве клиента проект, рассмотренный в разделе, на виртуальном контроллере с помощью панели отладки.

  5. Настройка клиента в Multi-Protocol MasterOPC показана на рисунках ниже.

    Graphic
    Настройки Multi-Protocol MasterOPC
    Graphic
    Настройки канала Multi-Protocol MasterOPC
  6. Запустить программы на ПЛК и OPC-сервере. Корректный обмен изображен на рисунках ниже.

    Graphic
    Корректный обмен. Сервер
    Graphic
    Корректный обмен. Клиент

Другой пример – отправка объекта информации с типом M_ME_TF_1 (ТИТ с описателем качества и меткой времени). Следует выполнить действия:

  1. Добавить выходной буфер IECBufOut.

  2. Установить tid = M_ME_TF_1, адрес ASDU adr = 3, адрес объекта информации ioa = 2.

    Тип данных tp установить равным AI, так как M_ME_TF_1 – величина с плавающей запятой.

  3. Условия передачи данных trt установить равным 0x11: бит 0 – спорадическая передача (причина передачи 3), бит 4 – принудительная отправка при активации бита 1 на входе ctl, причина отправки описывается 6 битом на входе flg – при установке 0 используется циклическая передача (причина передачи 1).

  4. Принудительная передача активируется битом 1 входа ctl – заведем на него выход блока ToReg8 из библиотеки paCore для удобства.

    На вход qlf заведем выход с блока ToReg8 из библиотеки paCore – формирователь битовой маски описателя качества. Здесь в младшем бите добавляется еще один атрибут OV – переполнение.

  5. На входе flg активировать бит 0 – учет мертвой зоны на входе tsh. Установим tsh = 5.

  6. Установить также нижний и верхний пределы равными, соответственно, llm = 50 и hlm = 200.

    Graphic
    Настройка IECBufOut. M_ME_TF_1
  7. Добавить коннектор для подключения выходного буфера IECBufOut у блока IEC104Server.

  8. Подключить IECBufOut к коннектору блока IEC104Server.

  9. Настроить прием ТИТ в клиенте:

    Graphic
    Настройки OPC-сервера протокола 5-104
  10. Запустить программы на ПЛК и OPC-сервер. Корректный обмен отображен на рисунках ниже.

    Graphic
    Корректный обмен. Сервер
    Graphic
    Корректный обмен. Клиент
  11. Если после этого передать на вход значение 70 – значение клиенту не передастся, так как не была преодолена мертвая зона tsh = 5.

    Graphic
    Влияние параметра tsh. Сервер
    Graphic
    Влияние параметра tsh. Клиент

    Для принудительной отправки следует установить бит 1 на входе ctl.

    Graphic
    Принудительная отправка. Сервер
    Graphic
    Принудительная отправка. Клиент

    Значение передалось клиенту, но без метки времени, что видно в логе клиента (M_ME_NC_1 – без метки времени), так как стандарт предписывает не передавать метку времени при циклической передаче.

    Graphic
    Лог клиента
  12. Для того, чтобы метка времени передавалась при циклической передаче следует установить бит 5 в параметре cfg блока IEC104Server – передавать метку времени при отправке данных с причиной передачи: циклические.

    Graphic
    Передача метки времени при циклической передаче

    Теперь при принудительной отправке метка времени также будет передаваться (M_ME_TF_1 – с меткой времени).

    Graphic
    Лог клиента
  13. Для учета параметров выходного буфера верхний и нижний порог – llm и hlm, следует установить бит 2 и бит 3 на входе flg.

    Graphic
    Учет нижнего и верхнего порогов

Теперь при выходе значения за установленный входами llm и hlm диапазон оно будет передаваться без учета мертвой зоны, установленной на входе tsh.

Graphic
– Передача при превышении hlm
Graphic
Передача при превышении hlm
Graphic
Передача при превышении hlm. Сервер
Graphic
Передача при превышении hlm. Клиент

Прием информации о процессе в направлении управления (C)

Следующий пример – обмен данными в направлении управления (метка C – см.Приложение А).

Рассмотрим прием объекта информации с типом C_SC_NA_1 – однопозиционная команда ТУ.

  1. Добавить на любую страницу места работы Фон входной буфер IECBufIn.

  2. Установить tid = C_SC_NA_1, адрес ASDU adr = 3, адрес объекта информации ioa = 3.

    Тип данных tp установим равным DO, так как C_SC_NA_1 передает значение «включить/выключить» в младшем бите.

    Graphic
    Настройка IECBufIn. C_SC_NA_1
  3. Подключить IECBufIn к коннектору блока IEC104Server.

  4. Настроить команду в Multi-Protocol MasterOPC. Можно также запустить в качестве клиента проект, рассмотренный в разделе, на виртуальном контроллере с помощью панели отладки.

    Graphic
    Настройки команды Multi-Protocol MasterOPC
  5. Запустить программы на ПЛК и OPC-сервере. Корректный обмен изображен на рисунках ниже.

    Graphic
    Корректный обмен. Клиент
    Graphic
    Корректный обмен. Сервер

Для приема объекта информации с типом C_SE_TC_1 (команда уставки с меткой времени) следует:

  1. Рассмотреть прием объекта информации с типом C_SE_TC_1 – команда уставки с меткой времени.

  2. Добавить входной буфер IECBufIn.

  3. Установить tid = C_SE_TC_1, адрес ASDU adr = 3, адрес объекта информации ioa = 4.

    Тип данных tp установим равным AO, так как C_SE_TC_1 имеет формат с плавающей запятой.

  4. Для расшифровки метки времени соединить выходы tm1 и tm2 с входами блока IECTransTime.

    Graphic
    Настройка IECBufIn. C_SE_TC_1
  5. Подключить IECBufIn к коннектору блока IEC104Server.

  6. Настроить команду в Multi-Protocol MasterOPC:

    Graphic
    Настройки команды Multi-Protocol MasterOPC
  7. Запустить программы на ПЛК и OPC-сервере. Корректный обмен показан на рисунках ниже.

    Graphic
    Корректный обмен. Клиент
    Graphic
    Корректный обмен. Сервер

Передача упакованных данных (M_EP_*)

Особенность типа информации M_EP_TE_1 (упакованное сообщение с меткой времени CP56Время2a) состоит в том, что в сообщении передается структура, состоящая из битовой маски и интервала времени.

Для передачи объекта информации с типом M_EP_TE_1 следует:

  1. Добавить на любую страницу места работы Фон выходной буфер IECBufOut.

  2. Установить tid = M_EP_TE_1, адрес ASDU adr = 3, адрес объекта информации ioa = 5.

  3. Тип данных tp установить равным uLX, т.к. входные данные для данного типа ASDU структурированы.

    Условия передачи данных trt установить равным 0x01: бит 0 – спорадическая передача (причина передачи 3) (см. Приложение Б).

  4. Для формирования структуры завести на вход in выход struct блока IECIntFromEP. Установка бита 0 на входе cfg этого блока определяет, что спонтанная передача происходит только при изменении значения на входе state.

  5. Для формирования информационного байта на вход IECIntFromEP завести выход блока ToReg8 из библиотеки paCore.

    На вход qlf также завести выход с блока ToReg8 – формирование битовой маски описателя качества. Здесь добавляется атрибут EI – действительность интервала длительности.

    Graphic
    Настройка IECBufOut. MEPTE
  6. Добавить коннектор для подключения выходного буфера IECBufOut у блока IEC104Server.

  7. Подключить IECBufOut к коннектору блока IEC104Server.

    В качестве клиента настроить виртуальный контроллер Полигон. Можно также запустить в качестве клиента проект, рассмотренный в разделе, на виртуальном контроллере с помощью панели отладки.

  8. Для расшифровки структуры использовать блок IECEPFromInt.

    Graphic
    Настройки клиента ПА
  9. Запустить программы на ПЛК и виртуальном контроллере. Корректный обмен изображен на рисунках ниже.

    Graphic
    Корректный обмен. Сервер
    Graphic
    Корректный обмен. Клиент

Передача интегральных сумм (M_IT_*)

Особенность типа информации M_IT_TB_1 (интегральная сумма с меткой времени CP56Время2a) состоит в том, что в сообщении передается знаковое целое (в 4-х байтах).

Для передачи объекта информации с типом M_IT_TB_1 следует:

  1. Добавить на любую страницу места работы Фон выходной буфер IECBufOut.

  2. Установить tid = M_IT_TB_1, адрес ASDU adr = 3, адрес объекта информации ioa = 6.

  3. Тип данных tp установить равным LX.

    Условия передачи данных trt установить равным 0x01: бит 0 – спорадическая передача (причина передачи 3) (см. Приложение Б).

  4. Для формирования структуры соединить связью вход qlf и выход out блока IECITSQOut.

    Graphic
    Настройка IECBufOut. MITTB
  5. Добавить коннектор для подключения выходного буфера IECBufOut у блока IEC104Server.

  6. Подключить IECBufOut к коннектору блока IEC104Server.

  7. В качестве клиента настроить виртуальный контроллер Полигон. Можно также запустить в качестве клиента проект, рассмотренный в разделе, на виртуальном контроллере с помощью панели отладки.

  8. Для расшифровки структуры используется блок IECITSQIn.

    Graphic
    Настройки клиента ПА
  9. Запустить программы на ПЛК и виртуальном контроллере. Корректный обмен показан на рисунках ниже.

    Graphic
    Корректный обмен. Сервер
    Graphic
    Корректный обмен. Клиент

Настройка обмена в режиме клиента протокола 5-104

В данном примере ПЛК210 будет выступать в роли контролирующей станции (клиента).

Пример доступен для скачивания по ссылке. Пароль для доступа к отладчику – 1.

Для настройки обмена с ПЛК в режиме клиента следует:

  1. Добавить на любую страницу места работы Фон блок IEC104uni.

  2. Соединить его с блоком TcpIpClA из библиотеки paCore.

  3. На вход lip подать IP-адрес контроллера в виде SQL-запроса. Запрос IP-адреса (prop_ip):

    "<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_ip"</sql>"
  4. На вход ip подать IP адрес подчиненного контроллера в виде SQL-запроса к свойству модуля Пользовательское свойство 00. Запрос IP-адреса (prop_0):

    "<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_0"</sql>"
  5. На входе prm задать IEC_MASTER.

    Graphic
    Настройка IEC104uni

Прием информации о процессе в направлении контроля (M)

В этом подразделе показан обмен данными в направлении контроля (метка M – см. Приложение А).

Рассмотрим прием объекта информации с типом M_SP_NA_1 – одноэлементный объект информации с описателем качества.

Для приема объекта информации с типом M_SP_NA_1 (одноэлементный объект информации с описателем качества) следует:

  1. Добавить на любую страницу места работы Фон входной буфер IECBufIn.

    Примечание

    В данном примере настраивается передача данных в прямом направлении – от сервера к клиенту. Аналогично настраивается обмен в обратном направлении – от клиента к серверу.

  2. Установить tid = M_SP_NA_1, адрес ASDU adr = 3, адрес объекта информации ioa = 1.

    Тип данных tp установить равным DO, так как у M_SP_NA_1 в младшем разряде передается 1 бит ТС.

  3. Для расшифровки описателя качества соединить связью выход qlf и вход блока FromReg8 из библиотеки paCore.

    Graphic
    Настройка IECBufIn. M_SP_NA_1
  4. Подключить IECBufIn к коннектору блока IEC104uni.

    В качестве сервера использовать MasterSCADA 4D. Можно также запустить в качестве сервера проект, рассмотренный в разделе, на виртуальном контроллере с помощью панели отладки.

  5. Настройка сервера АРМ в MasterSCADA 4D:

    Graphic
    Настройки сервера МЭК 104 АРМ
  6. Добавить Канал во Внешние каналы и привязать к нему параметр.

    Graphic
    Настройки канала АРМ
  7. Настройки канала АРМ:

    Graphic
    Настройки канала АРМ
  8. Запустить программы на ПЛК и АРМ. Корректный обмен показан на рисунках ниже.

    Graphic
    Корректный обмен. Сервер
    Graphic
    Корректный обмен. Клиент

Рассмотрим прием объекта информации с типом M_ME_TF_1 – ТИ с описателем качества и меткой времени.

Для приема объекта информации с типом M_ME_TF_1 (ТИТ с описателем качества и меткой времени) следует выполнить действия:

  1. Добавить выходной буфер IECBufIn.

  2. Установить tid = M_ME_TF_1, адрес ASDU adr = 3, адрес объекта информации ioa = 2.

    Тип данных tp установить равным AO, так как M_ME_TF_1 – величина с плавающей запятой.

  3. Для расшифровки описателя качества соединить связью выход qlf со входом блока FromReg8 из библиотеки paCore. Здесь в младшем бите добавляется еще один атрибут OV – переполнение.

  4. Для расшифровки метки времени соединим выходы tm1 и tm2 с входами блока IECTransTime.

    Graphic
    Настройка IECBufIn. M_ME_TF_1
  5. Подключить IECBufOut к коннектору блока IEC104Server.

    Настройка канала АРМ в MasterSCADA 4D:

    Graphic
    Настройки канала АРМ
    Graphic
    Настройки канала АРМ
  6. Запустить программы на ПЛК и АРМ. Корректный обмен изображен на рисунках ниже.

    Graphic
    Корректный обмен. Сервер
    Graphic
    Корректный обмен. Клиент

Передача информации о процессе в направлении управления (C)

Для отправки объекта информации с типом C_SC_NA_1 (однопозиционная команда ТУ) в направлении управления (см. Приложение А). следует:

  1. Добавить на любую страницу места работы Фон выходной буфер IECBufOut.

  2. Установить tid = C_SC_NA_1, адрес ASDU adr = 3, адрес объекта информации ioa = 3.

    Установить тип данных tp = DI, так как C_SC_NA_1 передает значение «включить/выключить» в младшем бите.

  3. Установить условия передачи данных trt = 0x08: бит 3 – команда (причины передачи 6, 8, 10) (см. Приложение Б).

    Передача команды активируется битом 0 входа ctl. Для удобства нужно связать вход ctl и выход блока ToReg8 из библиотеки paCore.

    Graphic
    Настройка IECBufOut. C_SC_NA_1
  4. Добавить коннектор для подключения выходного буфера IECBufOut у блока IEC104uni.

  5. Подключить IECBufOut к коннектору блока IEC104uni.

    В качестве сервера использовать MasterSCADA 4D. Можно также запустить в качестве сервера проект, рассмотренный в разделе, на виртуальном контроллере с помощью панели отладки.

  6. Настройки канала АРМ:

    Graphic
    Настройки канала АРМ
    Graphic
    Настройки канала АРМ
  7. Запустить программы на ПЛК и АРМ. Корректный обмен отображен на рисунках ниже.

    Graphic
    Корректный обмен. Сервер
    Graphic
    Корректный обмен. Клиент

Для отправки объекта информации с типом C_SE_TC_1 (команда уставки с меткой времени) следует:

  1. Добавить выходной буфер IECBufOut.

  2. Задать tid = C_SE_TC_1, адрес ASDU adr = 3, адрес объекта информации ioa = 4.

    Установить тип данных tp = AI, так как C_SE_TC_1 имеет формат с плавающей запятой.

  3. На входе flg установить 4 бит – посылать команду при изменении значения на входе. При такой настройке для отправки команды не нужно устанавливать бит на входе ctl.

    Graphic
    Настройка IECBufIn. C_SE_TC_1
  4. Добавить коннектор для подключения выходного буфера IECBufOut у блока IEC104uni.

  5. Подключить IECBufOut к коннектору блока IEC104uni.

    Настройка канала АРМ в MasterSCADA 4D:

    Graphic
    Настройки канала АРМ
    Graphic
    Настройки канала АРМ
  6. Запустить программы на ПЛК и АРМ. Корректный обмен изображен на рисунках ниже.

    Graphic
    Корректный обмен. Сервер
    Graphic
    Корректный обмен. Клиент

Прием упакованных данных (M_EP_*)

В этом подразделе показан прием объекта информации с типом M_EP_TE_1 – упакованное сообщение с меткой времени СР56Время2а. Особенность данного типа состоит в том, что в сообщении передается структура, состоящая из битовой маски и интервала времени.

Для приема объекта информации с типом M_EP_TE_1 следует выполнить действия:

  1. Добавить на любую страницу места работы Фон выходной буфер IECBufIn.

  2. Задать tid = M_EP_TE_1, адрес ASDU adr = 3, адрес объекта информации ioa = 5.

    Установить тип данных tp = uLX, т.к. входные данные для данного типа ASDU структурированы.

  3. Для расшифровки структуры на выходе o использовать блок IECEPFromInt. Для удобства подключим к нему блок ToReg8 из библиотеки paCore.

  4. Для расшифровки описателя качества с выхода qlf подсоединим его также к входу блока FromReg8. Здесь добавляется атрибут EI – действительность интервала длительности.

  5. Для расшифровки метки времени выход qlf и вход блока FromReg8. IECTransTime.

    Graphic
    Настройка IECBufIn. M_EP_TE_1
  6. Подключить IECBufIn к коннектору блока IEC104uni.

    В качестве сервера настроим виртуальный контроллер Полигон. Можно также запустить в качестве клиента проект, рассмотренный в разделе, на виртуальном контроллере с помощью панели отладки.

  7. Для формирования структуры использовать блок IECIntFromEP.

    Graphic
    Настройки сервера ПА
  8. Запустить программы на ПЛК и виртуальном контроллере. Корректный обмен показан на рисунках ниже.

    Graphic
    Корректный обмен. Сервер
    Graphic
    Корректный обмен. Клиент

Прием интегральных сумм (M_IT_*)

Здесь показан прием объекта информации с типом M_IT_TB_1 – интегральная сумма с меткой времени CP56Время2a. Особенность данного типа состоит в том, что в сообщении передается знаковое целое (в 4-х байтах).

Для приема объекта информации с типом M_IT_TB_1 следует:

  1. Добавить на любую страницу места работы Фон выходной буфер IECBufIn.

  2. Задать tid = M_IT_TB_1, адрес ASDU adr = 3, адрес объекта информации ioa = 6.

    Установить тип данных tp = LX.

  3. Для расшифровки структуры на выходе qlf использовать блок IECITSQIn.

    Для расшифровки метки времени соединить выходы tm1 и tm2 с входами блока IECTransTime.

    Graphic
    Настройка IECBufIn. M_IT_TB_1
  4. Подключить IECBufOut к коннектору блока IEC104Server.

    В качестве сервера настроить виртуальный контроллер Полигон. Можно также запустить в качестве сервера проект, рассмотренный в разделе, на виртуальном контроллере с помощью панели отладки.

  5. Для формирования структуры использовать блок IECITSQOut.

    Graphic
    Настройки сервера ПА
  6. Запустим программы на ПЛК и виртуальном контроллере. Корректный обмен показан на рисунках ниже.

    Graphic
    Корректный обмен. Сервер
    Graphic
    Корректный обмен. Клиент