Modbus-устройства: различия между версиями

Материал из TekonWiki
Перейти к навигацииПерейти к поиску
Строка 119: Строка 119:


После этого следует нажать кнопку "..." справа от поля Modbus и повторно перейти к настройке Modbus-устройства.
После этого следует нажать кнопку "..." справа от поля Modbus и повторно перейти к настройке Modbus-устройства.
[[Файл:Mb_abase_03.PNG|850px|центр|Настройка  устройства Modbus]]
Серым подсвечены колонки относящиеся к настройкам Modbus-протокола, остальные колонки относятся к настройкам АСУД.


==== Карта Modbus-регистров. Настройки протокола  ====
==== Карта Modbus-регистров. Настройки протокола  ====


Modbus-настройки (см. описание на подключаемое Modbus-устройство)
Modbus-настройки (см. описание на подключаемое Modbus-устройство)
* Регистр - тип регистра, выпадающее меню
* Регистр - тип регистра, выпадающее меню
   - Coils  — однобитовый тип, доступен на чтение и на запись (R/W).
   - Coils  — однобитовый тип, доступен на чтение и на запись (R/W).
Строка 135: Строка 140:
   - DWORD  (2 регистра)
   - DWORD  (2 регистра)
   - INTEGER (2 регистра)
   - INTEGER (2 регистра)
  - CHAR    (1 регистр)
  - SHORT  (1 регистр), типа ShortInteger.
* Блок/Бит - для типа данных БИТ указывается анализируемый бит в слове.
* Блок/Бит - для типа данных БИТ указывается анализируемый бит в слове.
* Формат - формат представления числа в регистре. Определяет порядок перестановки полу-байт в регистрах. Подробнее см. шаблон "Формат данных" ниже. По умолчанию значение - 1.
* Формат - формат представления числа в регистре. Определяет порядок перестановки полу-байт в регистрах. Подробнее см. шаблон "Формат данных" ниже. По умолчанию значение - 1.


Modbus-настройки дополнительные  
Modbus-настройки дополнительные  (в большинстве случаев можно оставить значение  по умолчанию) - отображаются при снятом флажке "Скрыть дополнительные поля"  
  (в большинстве случаев можно оставить значение  по умолчанию).  
* Множитель - множитель значения считанного из регистра.
* Множитель - множитель значения считанного из регистра.
   Только для типов DWORD, INTEGER, FLOAT.
   Для всех типов кроме BIT.
   После чтения значение в SCADA = значение регистра * множитель  
   После чтения значение в SCADA = значение регистра * множитель  
   Перед записью Значение  = Значение SCADA / множитель
   Перед записью Значение  = Значение SCADA / множитель
* Адрес W - адрес записи.  
* Адрес W - адрес записи.  
   Следует указать, если запись необходимо произвести в регистр по другому адресу отличному от адреса чтения.
   Следует указать, если запись необходимо произвести в регистр по адресу отличному от адреса чтения.
* ** - набор параметров, указываемых в случае, если перед записью регистра, следует выполнить запись значения в другой регистр.
* ** - набор параметров, указываемых в случае, если перед записью регистра, следует выполнить запись значения в другой или в этот же регистр. Множитель при этом не используется. После записи первого значения выполняется пауза в 1000 мс. перед записью основного значения.
   Например, если перед изменением параметра следует указать, пароль.
# Адрес - адрес регистра.
  (как в контроллерах ОВЕН ТРМ-133М при изменении текущего состояния)
# Тип данных - тип данных регистра.
  ** Адрес - адрес регистра.
# Формат - формат представления числа в регистре.
  ** Тип - тип регистра.
# Значение - значение для записи. 
  ** Значение - значение для записи.
   Это может быть полезно, если, например: перед изменением параметра следует указать, пароль (как в контроллерах ОВЕН ТРМ-133М при изменении текущего состояния). Или если, например: необходимо выполнить запись фронтом, т.е. перед записью 1 следует записать 0, после этого записать 1.
  Формат значения при этом берется из поля Формат основного регистра.
  Множитель - не используется.
* Sleep - ожидание в мс., указывается в случае если необходима задержка после  
* Sleep - ожидание в мс., указывается в случае если необходима задержка после  
   записи регистра перед следующей операцией чтения.  
   записи регистра перед следующей операцией чтения.  
* AW - разрешена запись регистра (1 -да).
* AW - разрешена ли запись регистра (1 -да, 0 - нет). Актуально только для регистров типа Coils / HoldReg.
* MinWV, MaxWV - интервал допустимых значений для записи (если MinWV=MaxWV=0 - проверка значений не выполняется).
* MinWV, MaxWV - интервал допустимых значений для записи (если MinWV=MaxWV=0 - проверка значений не выполняется).



Версия от 13:52, 6 июня 2016


Внимание, в данном документе подразумевается, что пользователь знаком с основами протокола Modbus. 
В противном случае следует предварительно обратится к специализированным источникам. 

Введение

Версия документа: 06.06.2016

АСУД-248 позволяет реализовать взаимодействие с устройствами по протоколу Modbus.

Документ описывает настройку в ПО АСУД.SCADA 2.1 и выше.

Поддерживаются спецификации:

  • Modbus-RTU
  • Modbus TCP

Чтение данных:

  • одиночное;
  • групповое.

Запись данных:

  • одиночная.

Тракт передачи данных в общем случае:

  • Устройство Modbus - RS-232/485 - КЦС-IPM / КУН-IPM - Компьютерная сеть - ПК (или Пульт АСУД-248 ПК)
  • Устройство Modbus - Компьютерная сеть - ПК (или Пульт АСУД-248 ПК)


Требуемое программное обеспечение (АСУД.SCADA версии 1.5.7 и выше):

  • OPC Server\kcslogger.exe
  • OPC Server\original.gdb
  • OPC Server\asudbase.exe
  • OPC Server\tools-server\kcs_demo.exe
  • OPC Server\extensions\kcsip.dll
  • OPC Server\extensions\drv\mbtcp.dll
  • OPC Server\extensions\drv\mbrtu.dll

Внимание:

  • Требуется наличие USB-ключа защиты АСУД.SCADA. Опрос Modbus-устройств осуществляется программой KCSLogger. В ключе защиты ПО АСУД.SCADA должно быть прописано число драйверов EXT-модуля, соответствующее общему числу подключаемых приборов.
  • Следует придерживаться следующего правила при адресации Modbus-устройств: устройства, подключаемые к одному IP-концентратору должны иметь уникальные адреса (RS-идентификаторы).
  • С помощью утилиты KCS_DEMO.EXE существует возможность в тестовом режиме проверить связь с Modbus-устройством (наличие USB-ключа при этом не требуется). При первом подключении устройства к АСУД-248 настоятельно рекомендуется воспользоваться данной утилитой.

Настройка ПО АСУД.SCADA

Настройка программного обеспечения АСУД.SCADA заключается в:

  • регистрации Modbus-устройства в программе ASUDBase;
  • вводе карты Modbus регистров в программе ASUDBase;
  • настройке OPC-сервера: Контейнер оборудования;
  • настройка карты АСУД.SCADA - примитивы
    • дискретный датчик - сигналы аварии (неисправностей);
    • цифровой индикатор - данные температуры, давления;
    • текстовое поле - информация о режимах работы оборудования, возможность записи значений в Modbus устройство.

Регистрация устройства в программе ASUDBase

Настройка регистров Modbus-устройства осуществляется с помощью программы ASUDBase (версии 1.5-14 и выше).

Откройте окно Настройка\Регистрация и введите данные подключения Modbus-устройства

Регистрация устройства Modbus

Рисунок - Регистрация устройства Modbus

  • Номер концентратора указать 901...999, 1901...1999, 2901...2999, ...

Или номер будет проставлен автоматически после установки флажка "IP-соединение". Номер должен быть уникальным для каждого добавляемого устройства (фактически этот номер используется лишь для идентификации Modbus-устройства в базе данных).

  • Прибор - выбрать тип устройства: Modbus RTU или Modbus TCP, в зависимости от протокола реализуемого устройством.
  • Modbus из выпадающего списка выбрать тип подключаемого устройства (если устройство еще не было добавлено - оставить поле пустым).

Также следует указать

  • Мастер устройство (КЦС-IPm, КУН-IPm, прямое IP),
  • IP-адреса
  • Порт (по умолчанию 5000 для КЦС-IPm, КУН-IPm. Для устройств, подключаемых напрямую по IP-сети, номер порта следует уточнить в документации на устройство).
  • Параметры RS-интерфейса, к которому подключено устройство (тип, номер, скорость, четность и т.п.)
  • RS-идентификатор - номер устройства в RS-сети.
  • Интервал опроса - период опроса устройства (0 - опрашивать максимально быстро).
  • Читать архив - установить все флажки - резервный параметр, в настоящее время не используется.

Нажать кнопку "Добавить". Слева появится запись о регистрации устройства.

Устройство добавляется с одной системой "Отопление" (по умолчанию) - это (наименование) не имеет существенного значение.

Далее следует по необходимости добавить новый тип Modbus устройства.

Регистрация нового типа Modbus-устройства

Нажать на кнопку "+" справа от поля Modbus. В открывшемся окне следует указать в левом нижнем углу общие параметры устройства.

Общие настройки устройства Modbus

Настройки устройства - следует указать исходя из описания устройства

  • Название прибора - название устройства.
  • Базовый регистр - как правило = 0 (или 1)
  • Читать группу элементов - можно ли читать более 1 регистра за один запрос (0 - можно читать сколько угодно, >0 - максимальное число регистров на чтение в одном запросе)
  • Разрешить при чтении пропуски в группе - можно ли читать несколько регистров за один запрос, если они расположены не подряд.

Если вы затрудняетесь с определением данных параметров, укажите:

  • Базовый регистр = 0
  • Читать группу = 1
  • Пропуски = запрещены.

Вы можете поэкспериментировать с данными настройками с помощью утилиты kcs_demo

Если у вас есть *.mbs файлы импорта настроек Modbus-устройства, загруженные с сайта www.tekon.ru вы можете добавить их с помощью кнопки "Импорт".

Далее следует закрыть окно. При этом происходит создание (инициализация) устройства в БД.

Выбрать название вновь созданного устройства в выпадающем списке поля Modbus и нажать кнопку Изменить.

Привязка устройства Modbus к концентратору

После этого следует нажать кнопку "..." справа от поля Modbus и повторно перейти к настройке Modbus-устройства.

Настройка устройства Modbus
Настройка устройства Modbus

Серым подсвечены колонки относящиеся к настройкам Modbus-протокола, остальные колонки относятся к настройкам АСУД.

Карта Modbus-регистров. Настройки протокола

Modbus-настройки (см. описание на подключаемое Modbus-устройство)

  • Регистр - тип регистра, выпадающее меню
 - Coils   — однобитовый тип, доступен на чтение и на запись (R/W).
 - DiscInp — однобитовый тип, доступен только на чтение (R).
 - HoldReg — 16-битовый тип, доступен на чтение и на запись (R/W).
 - InpReg  — 16-битовый тип, доступен только на чтение (R).
  • Адрес - адрес регистра (в десятичной системе исчисления)
  • Тип данных - тип данных в регистре (размер), выпадающее меню
  - BIT     (1 регистр)
  - WORD    (1 регистр)
  - FLOAT   (2 регистра)
  - DWORD   (2 регистра)
  - INTEGER (2 регистра)
  - CHAR    (1 регистр)
  - SHORT   (1 регистр), типа ShortInteger.
  • Блок/Бит - для типа данных БИТ указывается анализируемый бит в слове.
  • Формат - формат представления числа в регистре. Определяет порядок перестановки полу-байт в регистрах. Подробнее см. шаблон "Формат данных" ниже. По умолчанию значение - 1.

Modbus-настройки дополнительные (в большинстве случаев можно оставить значение по умолчанию) - отображаются при снятом флажке "Скрыть дополнительные поля"

  • Множитель - множитель значения считанного из регистра.
 Для всех типов кроме BIT.
 После чтения значение в SCADA = значение регистра * множитель 
 Перед записью Значение  = Значение SCADA / множитель
  • Адрес W - адрес записи.
 Следует указать, если запись необходимо произвести в регистр по адресу отличному от адреса чтения.
  • ** - набор параметров, указываемых в случае, если перед записью регистра, следует выполнить запись значения в другой или в этот же регистр. Множитель при этом не используется. После записи первого значения выполняется пауза в 1000 мс. перед записью основного значения.
  1. Адрес - адрес регистра.
  2. Тип данных - тип данных регистра.
  3. Формат - формат представления числа в регистре.
  4. Значение - значение для записи.
 Это может быть полезно, если, например: перед изменением параметра следует указать, пароль (как в контроллерах ОВЕН ТРМ-133М при изменении текущего состояния). Или если, например: необходимо выполнить запись фронтом, т.е. перед записью 1 следует записать 0, после этого записать 1.

  • Sleep - ожидание в мс., указывается в случае если необходима задержка после
 записи регистра перед следующей операцией чтения. 
  • AW - разрешена ли запись регистра (1 -да, 0 - нет). Актуально только для регистров типа Coils / HoldReg.
  • MinWV, MaxWV - интервал допустимых значений для записи (если MinWV=MaxWV=0 - проверка значений не выполняется).

Карта Modbus-регистров. Настройки Scada

Scada-настройки (для отображения в АСУД.SCADA)

  • Вирт.КДД-RS - выполнить ли трансляцию данных прочитанного регистра устройства в дискретный сигнал OPC-сервера Текоn, путем привязки к каналу концентратора Виртуальный КДД-RS. Что позволит впоследствии в АСУД.SCADA использовать примитивы типа "Дискретный датчик" с данным сигналом. При этом предполагается что значение регистра может быть только 0 или 1.
 Значение 0 - не транслировать данные в виртуальный  КДД-RS.
 Значение 1 - транслировать данные в виртуальный КДД-RS.

Номер виртуального КДД-RS и номер канала концентратора при этом указываются ниже (под таблицей).

  • Параметр - номер параметра.
 Если значение [Вирт.КДД-RS]  = 1 ( > 0) - указывает номер дискретного входа КДД-RS (1..14).
 Если значение [Вирт.КДД-RS]  = 0 - должен указывать просто уникальный номер
 для данного концентратора (номер должен быть > 500).
  • Сокращение - сокращенное название параметра
 Отображается в окне 2 программы ASUDBase при просмотре полученных значений.
  • Название - полное название параметра

Автозаполнение (новой строки таблицы) - при установке флага некоторые поля при добавлении новой записи заполняются на основе предыдущих введенных значений.

Экспорт - экспортировать данные настройки в файл для последующего использования.

Импорт - импортировать данные настройки из файла. Кнопка активна только при добавлении нового Modbus-устройства (была нажата кнопка "+").

Карта Modbus-регистров. Дополнительно

Формат данных - возможные варианты формата представления данных.

1 регистр - типы Byte, Word
2 регистра - типы DWord, Integer, Float


Регистрация устройства Modbus

Рисунок - Пример настроенной карты Modbus

Создание файла конфигурации ОРС-сервера

После настройки всех Modbus-устройств можно автоматически сформировать конфигурационный файл OPC-сервера. Для этого следует выбрать меню Настройка \ SCADA \ Конфигурация Modbus.

Созданный файл DBase \ wac.conf следует скопировать в папку Tekon \ OPC Server \ settings. Затем запустить конфигуратор OPC-сервера и по необходимости внести изменения в настройки, как описано ниже.

Настройка ОРС-сервера

Для отображения данных в SCADA следует выполнить настройку OPC-сервера Tekon.

В конфигурации добавляется устройство DA Tekon \ Контейнер оборудования.

Для отображения данных регистров со значением поля [Вирт.КДД-RS] = 0 и со значением параметра >= 500 следует добавить устройство DA Tekon \ Контейнер оборудование \ Прибор учета

Далее выполнить двойной клик на приборе учета, в открывшемся окне слева выбрать требуемое устройство для отображения данных, а справа установить флажки у параметров, которые необходимо в дальнейшем отображать в АСУД.SCADA

Настройка отображения данных устройства Modbus

Рисунок - Настройка отображения данных устройства Modbus

Запись вида ModbusRTU (Отопление 0:192.168.1.100:4) имеет следующий смысл

  • ModbusRTU - тип устройства
  • Отопление - тип системы устройства
  • 0 - идентификатор системы устройства
  • 192.168.1.100 - IP-адрес устройства
  • 4 - RS-идентификатор устройства.

В связи с чем следует иметь ввиду, что если в базе данных на одном КЦС-IPM зарегистрированы два однотипных устройства с одинаковыми RS-идентификаторами хоть и физически подключенные на разные интерфейсы, они будут отображены в окне представленном выше. Поэтом следует в настройках данных устройств указать разные (произвольные) идентификаторы систем.

Внимание! При выборе устройства, параметры (справа) будут отображены, только если к этому моменту произошло хотя бы одно успешное чтение данных с Modbus-устройства с помощью программы kcslogger (или если конфигурационный файл wac.conf был сформирован автоматически в программе ASUDBase).


Для запуска опроса зарегистрированных Modbus-устройств следует запустить программу KCSLogger и нажать кнопку Запуск. При необходимости свернуть программу в трей Windows.


Для каждого Modbus-устройства следует добавить свой DA Tekon \ Контейнер оборудования \ Прибор учета.

Для привязки дискретных сигналов (регистры со значением поля [Вирт.КДД-RS] = 1) следует добавить устройство DA Tekon \ Контейнер оборудование \ КДД-RS (Виртуальный КДД-RS)

Далее настроить обычным образов соответствующие дискретные входы КДД-RS с указанием названия сигнала, задержки, инверсии и т.п.

Закрыть конфигуратор OPC-сервера.

Запустить опрос Modbus-устройств (программу KCSLogger)

Объединение устройств в группы

Дополнительно в случае необходимости одновременной записи однотипных значений регистров в несколько устройств, существует возможность объединить Modbus-устройства в группы.

Для определения групп следует отредактировать файл Tekon \ ASUD Scada \ OPC Server \ settings \ modbusgrp.ini

В данном примере ';' - является комментарием

;[1] название группы (уникальное)
;Params=88 99 112  - номера параметров через пробел или пусто если для всех параметров
;Conc= 901 902 903 - номера концентраторов через пробел

Создана группа 1, для концентраторов 901-903. В случае записи, например, значения в регистр 99 концентратора 902, это же значение будет записано в регистры 99 концентраторов 901 и 903.

Настройка визуализации данных в АСУД.SCADA

В АСУД.SCADA для визуализации данных Modbus-устройств можно использовать следующие примитивы:

  • Дискретные датчики - для привязки к тегам Виртуальных КДД-RS
  • Цифровой индикатор - для отображения любых цифровых значений (с возможностью указания граничных значений)
  • Текстовое поле - для отображения любых цифровых значений, а также преобразования цифрового значения в текстовое по заданному правилу с помощью скрипта (см. пример номер 2). Кроме того с помощью данного примитива и скрипта можно выполнить запись значения в регистр Modbus-устройства.

Значение может быть записано в регистр Modbus если:

  • Регистр относится к типу HoldReg или Coils
  • Значение поля AW (Allow Write) = 1
  • Записываемое значение попадает в указанный диапазон значений

Изменение настроек Modbus-устройства

Закрыть программу KCSLogger

Изменение читаемых регистров

В случае необходимости добавить новые регистры, читаемые устройством, следует открыть программу ASUDBase, меню Настройка \ Регистрация.

Выбрать любой концентратор с устройством требуемого типа.

Нажать кнопку "..." и в окне настройки регистров (см. выше) добавить данные регистров.

Внесенные изменения будут применены для всех концентраторов устройств данного типа. Далее следует выполнить опрос устройств программой KCSLogger (если программа была запущена, ее необходимо перезапустить).

После опроса, открыть конфигуратор ОРС-сервера, выбрать устройство в Контейнере оборудования и установить флажки у добавленных параметров. Закрыть конфигуратор.

Открыть АСУД.SCADA и добавить необходимые примитивы на карту.

Изменение настроек подключения

В случае необходимости добавить изменить RS-идентификатор Modbus-устройства (или IP-адрес) , следует открыть программу ASUDBase, меню Настройка \ Регистрация.

Выбрать требуемое устройство, ввести новый RS-идентификатор, нажать "Изменить".

Запустить KCSLogger, что с устройством проходит обмен данными.

Далее возможны два варианта поведения:

Не вносить изменения в ОРС-сервер и АСУД.SCADA

В этом случае устройство будет опрашиваться программой KCSLogger, все будет работать корректно, но настройки параметра тэг в программе АСУД.SCADA для примитивов связанным с данным устройством будут отображать некорректную информацию.

Т.е., например, тэг до изменения был вида ModbusRTU (Отопление 0:192.168.1.100:4), что говорило о том, что RS-идентификатор устройства = 4. Далее мы внесли изменения в ASUDBase, указав RS-идентификатор 41. Провели опрос устройство, видим корректные данные в АСУД.SCADA, но тэг при этом остался таким же ModbusRTU (Отопление 0:192.168.1.100:4) - как будто идентификатор изменен не был.

Т.е. в случае внесения изменений в настройки системы следует всегда помнить, что самая корректная информация о настройке содержится в программе ASUDBase.

Внести изменения в ОРС-сервер и АСУД.SCADA

Запустить конфигуратор ОРС-сервера и выбрать в адресном пространстве требуемый прибор. В окне настроек следует выбрать (слева) любое другое устройство, затем опять то которое было изначально, вновь проставить галочки у параметров, которые следует транслировать в АСУД.SCADA.

В программе АСУД.SCADA перепривязать тэги всех примитивов связанных с устройством. При этом поле тэг изменится на ModbusRTU (Отопление 0:192.168.1.100:41) (см. пример ранее).



--Alex 10:15, 3 июля 2013 (UTC)