Протокол телеуправления DNP3 реализован в «КАСКАД Цифра» на уровне функционала ведущего устройства 3+. Это значит, что соединение между «КАСКАД Цифра» и IED (Intelligent Electronic Device — интеллектуальным электронным устройством) осуществляется по принципу «ведущий-ведомый». IED в данном случае более верно называть внешней станцией.
Драйвер DNP3 на «КАСКАД Цифра» поддерживает следующие типы групп объектов:
Двоичные записи и события;
Счетчики и события счетчиков;
Аналоговые записи и события;
Состояния двоичных и аналоговых выходных данных.
В следующей таблице вы найдете предустановленные коды функций и номера индексов, используемые для отправки запроса или получения отклика.
В настоящее время поддерживаются только группы, выделенные жирным шрифтом.
Обозначение групп в «КАСКАД Цифра»
Группы объектов и варианты
Тип данных «КАСКАД Цифра»
Запрос
Отклик
Группаколичество
Номер варианта
Тип данных DNP3 — описание
Функциональный код
Указатель
Функциональный код
Указатель
Двоичные входные данные
1
1
Двоичные входные данные — сжатый формат
BIT_VAR
129 (отклик)
00, 01 (стартовый-стоповый)
1
2
Двоичные входные данные — с флагами
BIT_VAR
129 (отклик)
00, 01 (стартовый-стоповый)
Двоичные входные данные о событии
2
1
Двоичные входные данные о событии — без указания времени
BIT_VAR
129 (отклик)130 (отклик без запроса)
17, 28 (индекс)
2
2
Двоичные входные данные о событии — с указанием абсолютного времени
BIT_VAR
129 (отклик)130 (отклик без запроса)
17, 28 (индекс)
2
3
Двоичные входные данные о событии — с указанием относительного времени
BIT_VAR
129 (отклик)130 (отклик без запроса)
17, 28 (индекс)
Двухбитовые двоичные входные данные
3
0
Двухбитовые двоичные входные данные — любой вариант
INTEGER_VAR
1 (считать доступ)22 (присвоить класс)
00, 01 (стартовый-стоповый)06 (без диапазона или все)
3
1
Двухбитовые двоичные входные данные — упакованный формат
INTEGER_VAR
1 (считать доступ)
00, 01 (стартовый-стоповый)06 (без диапазона или все)
129 (отклик)
00, 01 (стартовый-стоповый)
3
2
Двухбитовые двоичные входные данные — с флагами
INTEGER_VAR
1 (считать доступ)
00, 01 (стартовый-стоповый)06 (без диапазона или все)
129 (отклик)
00, 01 (стартовый-стоповый)
Состояние двоичных выходных данных
10
0
Двоичные выходные данные — любой вариант
BIT_VAR
1 (считать доступ)
06 (без диапазона или все)
10
2
Двоичные выходные данные — состояние выходных данных с флагами
Данный раздел предназначен для опытных пользователей «КАСКАД Цифра». В нем описываются уровни отладки и приводится информация о драйвере DNP3.
Уровни отладки
Следующие параметры командной строки могут использоваться для выявления возможного источника ошибки. Чтобы получить более подробную информацию о других параметрах, введите -helpdbg.
Отладка
Уровень отладки
Описание
DEBUG_WORK
-dbg 2
Общая отладочная информация
DBG_API_USR1
-dbg 10
Отладочная информация об установлении, разрыве и отслеживании подключения.
Преобразование — это перевод аппаратных данных в формат «КАСКАД Цифра». Тип преобразования элемента точки данных может быть запрошен и задан целочисленными константами. Вместе с dpGet() или dpSet() должен использоваться атрибут _address.._datatype. Детальную информацию о целочисленных константах, используемых для преобразований драйвером DNP3, см. в разделе _address.
Сообщения об ошибках
В случае приема или отправки телеграммы об исключении, коды ошибок драйвера драйвера DNP3 передаются в средство просмотра журналов «КАСКАД Цифра». Сообщение об ошибке автоматически записывается в файл журнала «КАСКАД Цифра» и средство просмотра журналов «КАСКАД Цифра».
Опрос
Во избежание нарушений производительности во время опросов, не все адреса могут быть прочитаны по-отдельности.
Общий запрос
С помощью записи integrityPollAtStartup можно включить-выключить общий запрос при подключении.
ВНИМАНИЕ
Как правило, опрос не производится во время использования драйвера DNP3, т. к. при определенных обстоятельствах он может снизить производительность. В этом случае производится передача данных без запроса или одиночный запрос.
Настройка устройства (внешней станции) производится на панели «Конфигурация DNP3» (см. п. Конфигурация драйвера DNP3). TCP-подключение: Введите в поле Host (Узел) имя компьютера или IP-адрес, в поле Port (Порт) укажите номер порта сервера, а в поле LA — адрес канала внешней станции (пример см. ниже на рисунке «Конфигурация TCP-подключения в DNP3»). Последовательное подключение: В поле Device (Устройство) введите имя интерфейса (например, IF1), а в поле LA — адрес канала внешней станции (пример см. ниже на рисунке «Конфигурация последовательного подключения в DNP3»).
Рисунок. панель конфигурации DNP3
Рисунок. конфигурация последовательного подключения в DNP3
Добавьте менеджер драйвера DNP3 с номером драйвера 1 в консоль проекта и запустите его. Симулятор WCCILsim не должен быть запущен!
WCCOAdnp3 -num 1
При успешном подключении к серверу в средство просмотра журналов заносится сообщение (например, из клиентской системы):
Укажите адрес периферии вашей внешней станции для «Устройства 1» (см. п. Определение адресов периферии драйвера DNP3). В настоящем примере использован элемент точки данных, с помощью которого осуществляется прием аналоговых значений (аналоговые входные данных DNP3) и отправка двоичных значений (двоичные входные данные DNP3). Это элемент содержит конфигурационные записи _address (адрес периферии) и _original (передача данных).
Задайте адреса периферии для двоичных входных данных и двоичных выходных данных (см. снимки экрана ниже). Для двоичных входных данных поле Function (Функция) не заполняется, поскольку совершенно ясно, что от драйвера требуется считывать. В качестве варианта указывается, к примеру, 2, т. к. значение должно быть 16-битным с флагами состояний. Для выходных данных задается функция 5. Это соответствует «Прямой работе». Поэтому к значению не добавляется префикс. 32-битному значению соответствует вариант 1.
Рисунок. панель конфигурации адреса для двоичных входных данных
Рисунок. панель конфигурации адреса для аналоговых выходных данных
Конфигурация драйвера DNP3 определяется следующими записями в секции [dnp3] файла «Config».
Запись
Тип
По умолчанию
Диапазон
Описание
«autoClearRestart»
bool
1
0|1
Определяет необходимость автоматического удаления драйвером бита перезапуска, переданного внешней станцией.0 -> автоматический сброс бита перезапуска отключен1 -> автоматический сброс бита перезапуска включен
«autoCmdMode»
bool
1
0|1
Определяет поведение при выполнении команды.0 -> автоматическая обработка для выбора и исполнения выключена.0 -> автоматическая обработка для выбора и исполнения включена.
«autoIntegrityRestart»
bool
1
0|1
При значении 1 драйвер автоматически осуществляет опрос целостности, если устройство установило бит перезапуска в IIN.
«autoIntegrityLocal»
bool
1
0|1
При значении 1 драйвер автоматически осуществляет опрос целостности, если устройство установило и сбросило «локальный» бит IIN.
«autoIntegrityOverflow»
bool
1
0|1
При значении 1 драйвер автоматически осуществляет опрос целостности, если устройство установило и сбросило бит IIN «переполнение буфера».
«autoDisableUnsol»
bool
0
0|1
Автоматическая деактивация незапрашиваемой передачи данных, если устройство сообщает о перезапуске.(По умолчанию: автоматическая деактивация выключена)
«autoConfirm»
bool
1
0|1
Включение (1) и выключение (0) автоматического подтверждения на уровне приложений.
«autoTimeSync»
bool
0
0|1
Автоматическая синхронизация времени, если устройство DNP3 установило бит «Требуется время» в IIN (по умолчанию выключена).
«autoEventPoll»
bool
0
0|1
Автоматический опрос целостности в случае установки устройством DNP битов «Class Data 1», «Class Data 2», «Class Data 3» в IIN (включено по умолчанию).
channelWatchdogTimeout
uint
180
>0
Таймаут сторожевого таймера. Сторожевой таймер используется для проверки активности канала.Таймаут задается в секундах.
deviceSerial
string string string
«»
—
Данная запись задает параметр последовательного устройства.Синтаксис:deviceSerial = <device name> <serial port> <serial parameter>имя устройства:Произвольное имя. Используется в качестве ссылки в панели DNP3 (например «dev1»).последовательный порт:Определяет физический интерфейс (например, «COM1»).параметр последовательного устройства:Характерный для устройства параметр, в зависимости от используемого порта (например, скорость в бодах, контроль четности, число битов, стоповые биты = «9600,e,8,1»).
dnp3DummyRead
uint
1
0 — 2
Задает характер проверки подключения с использованием холостых операций чтения.0 => холостые операции чтения выключены1 => использовать группу 0, вариант 252 для холостых операций чтения2 => использовать группу 60, вариант 44 для холостых операций чтения
integrityPollAtStartup
bool
1
0|1
Опрос целостности (общий запрос) при подключении (по умолчанию = TRUE(1)).
«linkAddress»
uint
3
>= 0
Определяет адрес канала драйвера DNP3. Данный адрес соответствует адресу «Назначение» внешних станций.
«linkStatusPeriod»
unsigned
10
>= 0
Интервал для периода состояния соединения в секундах. При значении 0 телеграммы о состоянии соединения не передаются, если не было передачи телеграмм данных.
«timeStampMode»
uint
0
0 — 2
Данная конфигурационная запись определяет порядок формирования временных меток «КАСКАД Цифра». Доступны следующие варианты:0 -> использовать время на компьютере в качестве метки времени;1 -> использовать время на устройстве, считая его нормальным местным временем (не переведенным на летнее время);2 -> использовать время на устройстве, считая его универсальным скоординированным временем (UTC).
«readStationTime»
uint
0
>= 0
Выполняет считывание времени с внешней станции каждые «х» секунд. «х» означает введенное здесь значение в секундах.Считанное время записывается во внутреннюю точку данных «_Dnp3Station.State.StationTime».
«sesDefaultResponseTimeout»
uint
5000
>= 0
Конфигурационная запись устанавливает время ожидания ответов на телеграммы на сеансовом уровне.При превышении времени ожидания, сеанс становится неактивным.Значение указывается в миллисекундах.
«userBitXX»
int
0
0 — 32
Задает сопоставление битов состояния DNP3 и пользовательских битов «КАСКАД Цифра». При значении «0» (по умолчанию) сопоставление битов состояния выключено. Значение XX означает следующее:OL -> онайн (автоматическое сопоставление);RS -> перезапускCL -> потеря подключенияRF -> удаленно принудительноLF -> локально принудительноCF -> фильтр помехRO -> переключениеOR -> вне диапазонаDC -> неоднородностьRE -> ошибка адреса ПримерuserBitCL = 13Состояние DNP3 будет сопоставлено информационному биту 13 системы «КАСКАД Цифра».
«userBitEvent»
int
0
0 — 32
Как только данные о событии затрагивают ту же точку, указанную как нормальная в телеграммах, они сопоставляются по тому же адресу периферии.Таким образом, в каждом случае используется группа «не-событие». Это означает, что группа 1 предназначена для двоичного ввода. Следовательно, драйвер DNP3 осуществляет сопоставление данных группы 1, а также группы 2 с группой 1.В случае получения данных о событии, драйвер устанавливает указанный здесь пользовательский бит.По умолчанию = 0 — информационный бит не устанавливается
Для каждого периферийного устройства должна быть создана внутренняя точка данных. Для внешней станции типа DNP3 используется внутренняя точка данных _Dnp3Station. Управление внутренними точками данных этого типа осуществляется с панели устройства DNP3. Эта панель позволяет создавать, удалять точки данных, просматривать и менять их содержание.
Точка данных типа _Dnp3Station имеет следующую структуру.
_Dnp3Station
Элемент точки данных
Тип
Direction (Направление изменения значения)(со стороны драйвера)
Описание
Конфигурирование
string
Ввод
Строка конфигурации для внешней станции. Исходное значение может иметь вид либо IP:<IP-адрес>:<номер порта>:<адрес канала>для TCP/IP-подключений либо SI:<COM-порт>:<адрес канала>для последовательных подключений. Примеры:«IP:192.168.1.1:3333:10» или«SI:COM1:10»
Command.Active
bool
Ввод
Включение-выключение устройства DNP3. При значении FALSE драйвер не будет подключаться к устройству и будет игнорировать все его запросы.
Command.AssignClass
dyn_string
Ввод
Задает адрес для класса. <группа>.<индекс>-<маска класса>Параметр маска класса принимает следующие значения:1 => класс 12 => класс 24 => класс 3Пример»1.10-4» обозначает: добавить двоичный адрес входа с индексом 10 для класса 3.
Command.GQ
uint
Ввод
Битовая маска для отправки общего запроса соответствующему устройству. Бит 0 -> класс 0Бит 1 -> класс 1Бит 2 -> класс 2Бит 3 -> класс 3 Например, значение «5» указывает на отправку общего запроса данных класса 2 и класса 0.
Command.GroupGQ
dyn_string
Ввод
Отправка запроса в конкретную группу. Позволяет указать вариант формата принимаемых данных. Синтаксис:group:вариант Например:Чтобы получить счетчик целиком с флагами (вариант 1) из 32-битного модема, в элемент точки данных должно быть записано значение 20:1. Информацию о группах и номерах вариантов см. в п. Совместимость драйвера DNP3 (операционная совместимость).
Command.DelayMeasurement
bool
Ввод
Получение задержки соответствующего устройства. Измеренное значение будет записано в элемент точки данных State.TimeDelay.
Command.ColdRestart
bool
Ввод
Холодный перезапуск соответствующей внешней станции.
Command.SyncTime
bool
Ввод
Синхронизация времени на устройстве DNP3.
Command.ClearIIN
unsigned
Ввод
Очистка битов внутренней индикации на устройстве. В элемент точки данных записывается битовая маска со следующими значениями: Бит 0 -> сброс бита «Перезапуск»Бит 1 -> сброс бита «Требуется время»
Command.UnsolicitedResponse
unsigned
Ввод
Битовая маска для включения-выключения незапрашиваемого отлика. Бит 0 -> класс 1Бит 1 -> класс 2Бит 2 -> класс 3 Например, значение «5» означает, что классы 3 и 1 включены, а класс 2 выключен.
Command.ReadIIN
bool
Вывод
Считать биты внутренней индикации и записать их в элемент точки данных State.IIN, if TRUE.Обновление битов в «КАСКАД Цифра» происходит при изменении значения (сравнивается старое с новым).
State.ConnState
bool
Вывод
Индикация состояния подключения к устройству DNP3 (не подключено — 0, подключено — 1).
State.IIN
bit32
Вывод
Отображение слова состояния внутренней индикации, полученной с устройства DNP3.
Чтобы задать адрес периферии, нажмите на конфигурационный элемент адреса элемента точки данных. Из выпадающего списка выберите тип драйвера DNP3 и нажмите кнопку Configure (Настроить). Теперь можно приступить к настройке адреса периферии на панели (см. рисунок ниже).
Адрес периферии (строка адреса) можно ввести вручную в поле «Reference (Адрес)» или выбрать из выпадающих списков и счетчиков конкретных компонентов (station — станция, function — функция, group — группа, variation — вариант, index — индекс). Строка адреса состоит из следующих полей:
Номер соответствующего менеджера, запускающего драйвер DNP3 (например, -num 4).
Station (Станция)
Имя внутренней точки данных для внешней станции. После указания драйвера DNP3 выбирается автоматически.
Function (Функциональный код)
Необязательная запись. Как правило, функциональный код берется из записи группы объектов. Указывается в том случае, если в группе объектов возможно более одного функционального кода (см. п. Совместимость драйвера DNP3).
В большинстве случаев функциональный код указывается для адресов вывода. К примеру, для двоичных команд возможны варианты «Выбор» (3), «Эксплуатация» (4), «Прямая эксплуатация» (5) и «Подтверждение номера прямой эксплуатации» (6).
Группа
Группа объектов. Если различные группы ссылаются на одни и те же данные (например, Двоичный ввод и Событие двоичного ввода), настройке подлежит только Двоичный ввод, т. к. обеим группам сопоставлен один адрес ввода. При указании групп «Бинарная команда» или «Аналоговый вывод» состояние отклика должно быть сопоставлено адресу ввода. Это необходимо для оценки состояния команды.
Variation (Вариант)
Необязательная запись. Вариант группы объектов определяет формат данных точки DNP3. Указывается, если требуется получить данные в определенном формате (см. п. Совместимость драйвера DNP3).
Как правило, вариант на стороне ввода указывать не обязательно, т. к. данные сопоставляются элементам точки данных «КАСКАД Цифра» в том же формате, в котором были получены. Вариант на стороне вывода в адресе периферии задает формат отправки данных. Таким образом, указывать вариант не требуется.
Указатель
Определяет индекс объекта в группе.
Преобразование
Тип преобразования выбирается из выпадающего списка. Тип преобразования — это способ интерпретации данных, считанных с периферийного устройства. Преобразование должно быть соизмеримо с адресом (например, если со станции было считано 4 байта, тип преобразования должен быть float или int32). Если адрес был задан с помощью выпадающих списков и счетчиков, нужный тип преобразования для этого адреса выбирается автоматически.
Если из выпадающего списка выбрать тип по умолчанию, драйвер автоматически определит тип преобразования в зависимости от значения поля адреса.
Low-Level-Comparison (Низкоуровневое сравнение)
Этот параметр подлежит изменению только в том случае, если в качестве направления выбран ввод или ввод-вывод (двунаправленная связь с периферией). Он разрешает отправку данных в Менеджер событий только при их изменении. Это сравнение выполняется над необработанными данными, без преобразования.
Низкоуровневое сравнение — это сравнение вида «старый-новый», оно выполняется для данных, уже полученных с внешней станции (в отличие от сглаживания, при котором данные распределяются по точкам).
Direction (Направление изменения значения)
Определяет направление передачи значений элемента точки данных: отправка (Output — вывод), прием (Input — ввод) или прием-отправка (In/out — ввод-вывод).
Во время настройки следует учитывать, что для некоторых групп можно выбирать только ввод, а для некоторых — только вывод.
Receive Mode (Режим приема)
Можно указать следующие режимы приема: unsolicited — без запроса, polling — опрос или single query — единичный запрос. В режиме единичного запроса драйвер DNP3 не устанавливает бит SQ.
Poll Group (Группа опроса)
Выбор одной из существующих групп опроса. Если групп нет, ее нужно создать в отдельной панели с использованием специальных параметров опроса. Панель открывается кнопкой Poll groups (Группы опроса), дополнительную информацию о группах и параметрах опроса см. в п. Группы опроса.
Address active (Адрес активен)
Если выбран селектор Address active (Адрес активен), будет использован адрес драйвера (см. Таблицы адресов). Адрес может быть и неактивным, при этом ему можно задавать атрибуты и ставить в очередь, но он не будет использоваться драйвером. Это значит, что отправка и получение значений с внешней станции будет невозможна.
Конфигурация специальных групп DNP3
Бинарные команды
Бинарные команды DNP3 (группа 12, вариант 1) или «Блок выводов исполнительного реле» (CROB — Control Relay Output Block) — это сложные объекты с большим количеством различной информации. Поэтому в стандарте DNP3 предусмотрены следующие поля. Сопоставление этой информации в адресе периферии происходит через субиндексы.
Поле
Субиндекс «КАСКАД Цифра»
Описание
Тип эл. точки данных
Direction (Направление изменения значения)
OpType
0
Вместе с TCC определяет тип операции: 0: NUL1: PULSE_ON2: PULSE_OFF3: LATCH_ON4: LATCH_OFF
uint
Вывод
QU
1
Поле очереди
uint
Вывод
CR
2
Поле очистки
uint
Вывод
TCC
3
Поле кода включения-отключения 0: NUL1: CLOSE2: TRIP3: RESERVED
uint
Вывод
Count
4
Количество выполнений операции внешней станцией.
uint
Вывод
On-Time
5
Таймаут активности привода вывода в миллисекундах.
uint
Вывод
Off-time
6
Таймаут не-активности привода вывода в миллисекундах.
uint
Вывод
StatusCode
7
На стороне вывода всегда имеет значение 0. На стороне ввода возвращает состояние ошибки исполнения команды.
uint
Вывод
Детальную информацию о блоках CROB см. в спецификациях DNP3.
Откройте панель конфигурации драйвера DNP3 через панель управления системой для настройки устройства (внешней станции) в «КАСКАД Цифра».
Рисунок. Система управления — вкладка Драйвер
Нажмите кнопку DNP3 Driver (Драйвер DNP3).
Настройте периферийное устройство / подключение периферии на следующей панели.
Рисунок. Панель конфигурации драйвера DNP3
Панель конфигурации разделена на несколько областей.
Device
При нажатии кнопки Create (Создать) открывается окно создания новой точки данных DNP3. В резервированном проекте для каждого устройства автоматически создается точка данных <device_name+_2>. После создания нового устройства можно задать другие параметры. Они хранятся во внутренней точке данных типа «_Dnp3Station». Выберите имя устройства из выпадающего списка, если хотите изменить конфигурацию созданного устройства. Если параметры подключения были изменены, они вступят в силу при следующем подключении (т. е. при переподключении после потери связи или изменения состояния подключения — активное/неактивное). После создания точки данных подключения она может использоваться драйвером (перезагрузка не требуется). Подключение к соответствующей станции DNP3 осуществляется, только если был указан ее адрес периферии (см. п. Определение адресов периферии драйвера DNP3).
Нажмите кнопку Remove (Удалить), чтобы удалить выбранное устройство.
В текстовом поле Device description (Описание устройства) можно ввести или изменить описание созданного устройства (по умолчанию используется «_<имя_устройства>»).
Common settings (Общие настройки)
Поля TCP и Serial (Последовательный) определяют используемый тип подключения.
В текстовое поле Host/Device (Узел/устройство) введите IP-адрес/COM-порт сервера DNP3.
В текстовое поле Port (Порт) введите номер порта используемого TCP-подключения к внешней станции DNP3.
В текстовое поле LA введите адрес канала соответствующей внешней станции (по умолчанию = 0).
Селектором Active (Активно) можно изменить режим устройства (активно/неактивно). Устройство (точка данных) не будет удалено, и может быть снова сделано активным в любое время. Изменения, внесенные в конфигурацию подключения, вступят в силу при следующем подключении.
Селекторами Unsolicited Resp. (Незапрашиваемые отклики) можно указать классы, которые должны отправлять данные без запроса (см. п. Command.UnsolicitedResponse в п. Внутренние точки данных драйвера DNP3).
ПРИМЕЧАНИЕ
На некоторых устройствах использование «Unsolicited Resp.» может привести к проблемам соединения.
Во время общего запроса стандартное поведение оконечных устройств DNP3 будет изменено с незапрашиваемого отклика на опрос. Однако некоторые устройства не поддерживают такой смены и вызовут ошибку. Поставив селектор Inactive (Не активен), вы можете выключить переключение и деактивировать отправку незапрашиваемых данных.
Команды
Кнопка General query (Общий запрос) вызывает исполнение общего запроса для выбранного устройства. Общий запрос автоматически выполняется при подключении. Выключить эту функцию можно с помощью записи integrityPollAtStartup в файле Config. В общем запросе драйвер DNP3 не устанавливает бит GQ.
Селекторами можно указать классы, для которых требуется запуск общей очереди (см. также Command.GQ в п. Внутренние точки данных драйвера DNP3). Классы указывают на тип данных: статический или событийный. Статические данные (класс 0) — это текущие значения данных. Событийные данные (классы 1-3) — привязаны к событиям, например:
изменение состояния;
превышение порогового значения при измерении;
изменение аналогового входа на величину, превышающую зону нечувствительности;
снимок данных в заданное время;
переходный процесс;
какая-то новая информация.
Это означает, что общий запрос будет касаться класса 1 только в случае изменения сопоставленной переменной — не все сопоставленные классу 1 переменные будут получены, а только те, чьи значения изменились.
Clear IIN (Очистить IIN) — очистка соответствующих битов внутренней индикации устройства (Restart (Перезапуск) — сброс бита «Перезапуск»; Need Time (Требуется время) — сброс бита «Требуется время»).
Delay (Задержка) — задержка времени в миллисекундах (результат не отображается). Измерение задержки поддерживается только для протокола последовательной связи.
В области State (Состояние) отображается информация о соответствующем устройстве DNP3.
В поле State (Состояние) отображается состояние подключения. В поле Int. Indication (Внутр. индикация) отображается группа флагов (битов) внутренней индикации в двоичной форме. Значения каждого из битов можно посмотреть на всплывающей подсказке при наведении курсора на каждое из двух полей.
ПРИМЕЧАНИЕ
В резервированном проекте эта информация отображается для каждого сервера на рядом расположенных областях.
DNP 3 — расширение: последовательная связь через TCP-подключение
Драйвер DNP3 имеет возможность передавать данные по последовательному протоколу через TCP-подключение. Это упрощает использование преобразователя «Ethernet-последовательный интерфейс», поскольку не требует наличия виртуального COM-порта. В качестве преобразователя может выступать TCP-сервер или TCP-клиент, он может использоваться прозрачно или с использованием режима RFC2217.
Для этого требуется изменить значение записи в файле Config «deviceSerial».
Настройки для <Имя устройства> аналогичны тем, которые применяются при использовании последовательного подключения. Запись <последовательный порт> должна иметь вид, которые приведен ниже. В качестве <параметров последовательной связи> указывается пустая строка («»).
tcp[s][rfc]:<Host:Port (IPv4 oder IPv6)> [tcp timeout]
Элемент
Описание
tcp
Префикс, указывающий на необходимость использования TCP-подключения.
s
Дополнительный параметр, указывает на подключение к серверу. При его отсутствии подразумевается подключение к клиенту. (опционально)
rfc
Дополнительный параметр, указывает на использование режима RFC2217. (опционально)
Хост
Имя или IP-адрес узла.ПримечаниеНе следует указывать имя узла сервера. Оно все равно будет проигнорировано, т. к. сервер принимает подключения от узлов с любым именем.
Port
Порт, используемый для подключения. Это «порт прослушивания» для сервера.
tcp timeout
Таймаут для TCP-подключения. По умолчанию: 10 секунд. (опционально)
ПРИМЕР
Ниже приведены 3 примера возможных конфигураций <параметров последовательной связи> при использовании TCP-подключения:
«tcp:host1-1» => Клиент с таймаутом 10 секунд
«tcps:host1-2 5» => Сервер с таймаутом 5 секунд
«tcprfc:host1-1 2» => Клиент в режиме RFC2217, адрес IPv6 и таймаут 2 секунды
В DNP3-соединении одна из точек является ведущей, а остальные считаются ведомыми. Точка «КАСКАД Цифра» всегда является ведущей. В текущей версии драйвера DNP3 поддерживается только работа в качестве ведущего устройства, поскольку нет необходимости в том, чтобы драйвер «КАСКАД Цифра» выступал в качестве ведомого устройства DNP3.
Точка DNP3, объект DNP3 и тип точки DNP3
Точка DNP3 — физическая или логическая сущность с уникальным идентификатором. Она имеет отношение ко входным данным (аналоговым, двоичным, счетчикам) и выходным данным (аналоговым, двоичным). Уникальная точка DNP3 определяется по индексу и номерам групп. Вариант описывает ее формат данных.
Объект DNP3 — это кодированное представление данных из точки или другая структура, имеющая формат группы и номер варианта для передачи телеграммы.
Тип точки DNP3 — это способ группировки точек со схожими характеристиками, функциями, привязкой к физическому аппаратному обеспечению или логическому пространству.
Коды функций
Код функции описывает назначение и работу запрошенной телеграммы. Как правило, код функции берется из записи группы объектов. Вариант кода функции необходим только в том случае, если на одну телеграмму может быть более одного кода функции (см. п. Ввод адресов периферии драйвера DNP3).
В следующей таблице перечислены коды функций, поддерживаемых драйвером DNP3.
Функции
Код
Функции передачи
Подтверждение
0
Чтение
1
Запись
2
Функции управления
Выбор
3
Работа
4
Прямая работа
5
Прямая работа, без подтверждения
6
Функции конфигурации
Включить прием без запроса
20
Выключить прием без запроса
21
Внутренняя индикация
Внутренняя индикация — это глобальная группа флагов, автоматически отправлемых в каждом отклике. Эти флаги содержат информацию о состоянии внешней станции и коды функций последнего запроса.
Информация внутренней индикации влияет только на внешнюю станцию. По этой причине внутренняя индикация сопоставляется внутренней точке данных соответствующей внешней станции.
Псевдо-транспортный уровень разбивает телеграммы уровня приложений на несколько сегментов данных. APDU (блоки данных протокола уровня приложений) разбиваются на TPDU (блоки данных протокола транспортного уровня).
Функциональный код содержит номер последовательности, увеличиваемый на единицу с каждым новым сегментом. По этому номеру последовательности транспортный уровень определяет, все ли сегменты были получены.