Терминал Сириус-ЦС версия 3.14. Описание работы по протоколу MODBUS.

АННОТАЦИЯ

Данный документ описывает специфику работы терминалов Сириус-3 и Сириус-2 (вер.3) по протоколу MODBUS. Описание самого протокола MODBUS можно найти в интернет по адресу www.modbus.org.

СОДЕРЖАНИЕ

1. ОБЩЕЕ

1.1. ПАРОЛЬ

1.2. СИНХРОНИЗАЦИЯ

2. НАСТРОЙКИ

3. ТЕКУЩИЕ ПАРАМЕТРЫ

4. УСТАВКИ

5. СРАБАТЫВАНИЯ

6. СОБЫТИЯ

7. ОСЦИЛЛОГРАММЫ

8. ТЕЛЕУПРАВЛЕНИЕ

9. ОПЕРАТИВНОЕ УПРАВЛЕНИЕ


1. ОБЩЕЕ

Для работы с терминалами могут использоваться порты RS-485 и USB. Для того чтобы терминалы работали по порту USB необходимо установить драйвера с сайта компании FTDI.
Терминалы РЗА производства ЗАО "РАДИУС Автоматика" имеют следующие объекты данных: - Настройки
- Параметры
- Уставки
- Срабатывания
- События
- Осциллограммы
- Телеуправление
Работа с этими объектами описывается данным документом.
Все регистры терминала имеют уровни доступа: чтение, запись, чтение с паролем, запись с паролем. Если для доступа к регистру требуется пароль, то необходимо провести процедуру авторизации, которая описана ниже. Для записи регистров доступны следующие команды MODBUS: 0x06, 0x10. Для чтения регистров доступны команды 0x03, 0x04. Для записи битовых параметров 0x05, 0x0F. Для чтения битовых параметров 0x01, 0x02. Для 32-х разрядных регистров по младшему адресу лежит старшая часть регистра, по старшему адресу - младшая часть.
Время терминалов может быть синхронизированно с помощью широковещательных сообщений с внешним импульсом синхронизации (с точностью до 1 мс) и без него (с точностью 30 мс).

1.1. ПАРОЛЬ

Для ввода пароля необходимо произвести запись в ячейку пароля PVars.Settings.Password серийный номер терминала. Если записываемое значение совпадет с серийным номером устройства, то пароль будет считаться введенным и на определенное время (порядка 3х минут) станут доступными действия, которые могут совершаться только при введенном пароле (изменение уставок и др.). По истечении 3х минут статус введенного пароля будет снят, поэтому если необходимо удерживать статус введенного пароля продолжительное время (более 3х минут) необходимо примерно раз в 1-2 минуты производить вышеописанную процедуру ввода пароля, которая автоматически продлевает время действия статуса на 3 минуты.
Если значение, записываемое в ячейку пароля, не совпадает со значением серийного номера, статус не устанавливается и возвращается исключение «ILLEGAL_DATA_VALUE, 0x03» (смотри описание MODBUS).
Таблица 1. Пароль

1.2. СИНХРОНИЗАЦИЯ

Терминалы РЗА поддерживают два вида синхронизации с внешним синхроимпульсом и без него. В первом случаем точность синхронизации будет не менее 1мс. Во втором 30мс. Для поддержания режима с внешней синхронизацией необходимо использовать устройство "ОРИОН-УСВ", которое посылает на все терминалы импульсы синхронизации в зависимости от уставки раз в секунду, раз в минуту или раз в час. Для синхронизации времени терминала необходимо записать в ячейки структуры UVars.Settings.SetTime текущее время согласно формату типа "48 разрядное время в мс", а затем подать синхроимпульс на соответствующий вход терминала. Команда задания времени может быть широковещательной.
Тип "48 разрядное время в мс" содержит в себе время в миллисекундах начиная с 1900 года. В первых четырех байтах содержится время с точностью до секунды. В последних двух байтах миллисекунды.
Для задания времени без импульса синхронизации необходимо подать широковещательную команду записи параметра UVars.Settings.CurrTime
Таблица 2. Синхронизация

2. НАСТРОЙКИ

Каждый терминал РЗА имеет блок настроек. Адреса параметров данного блока фиксированы для всех терминалов. Настройки позволяют узнать по последовательному каналу тип терминала, задать режимы работы портов связи, время, настроить параметры осциллографирования.
Синхронизация времени была описана в предыдущем пункте. Для поддержки процедуры синхронизации времени старых терминалов в новых сериях введены регистры с 0х0 по 0х3. С их помощью можно синхронизировать терминалы разных серий одной широковещательной командой.
Параметр PVars.Settings.SIRIUS_ID содержит уникальный идентификационный номер терминала.
Затем следуют настройки подсветки индикатора, настройки всех трех портов связи и осциглофирования. Описание этих настроек можно найти в руковдстве по эксплуатации терминала.
Таблица 3. Настройки

3. ТЕКУЩИЕ ПАРАМЕТРЫ

Блок текущих параметров терминала содержит информацию о состоянии дискретных входов/выходов, измеренные и вычисленные значения.
Таблица 4. Параметры

4. УСТАВКИ

Поскольку все уставки, а так же некоторые другие ячейки имеющие возможность изменения по ЛС защищены паролем, процедура изменения уставок начинается с ввода пароля (см. пункт 1.1 Пароль). Если пытаться изменять защищенные ячейки без предварительной удачно прошедшей процедуры ввода пароля, то на каждый запрос об изменении будет возвращаться исключение «ILLEGAL_DATA_ADDRESS, 0x02». После корректного вода пароля появляется возможность изменения уставок. После изменения необходимых уставок по ЛС для их сохранения и ввода в действие новых измененных значений, необходимо подать команду «DONE» (осуществляется путем записи в ячейку UVars.Glob_var.MB_psram_done_cancel значения 0x01). После приема команды «DONE» будет произведены ввод в действие новых значений и запись уставок в энергонезависимую память. Если необходимо отменить сохранение и ввод в действие новых значений уставок, то подается команда «CANCEL» (осуществляется путем записи в ячейку UVars.Glob_var.MB_psram_done_cancel значения 0x02). Если в режиме введенного пароля осуществлялось изменение уставок (изменением уставок считается любая запись в защищенную паролем ячейку, даже если туда записывается то же самое значение, которое там и находится) и вышел таймаут действия введенного пароля (см. пункт 1.1 Пароль), то одновременно со сбросом режима будет автоматически отменено изменение уставок.
Таблица 5. Уставки
Таблица 7. Массив флагов
Таблица 8. Параметры срабатывания


6. СОБЫТИЯ

События терминала - это срез дискретных сигналов функциональной схемы терминала. Они хранятся в кольцевом буфере, который описывается следующими регистрами:
UVars.TracePort.0.Event _num - количество активных флагов состояний событий;
UVars.TracePort.0.Event_status - флаги (признаки наличия) состояний событий;
В массиве регистров UVars.TracePort.0.Event_status в битовых полях находятся флаги статусов событий. Эти флаги считываются стандартными командами чтения битовых полей. Флагов может быть выделено с запасом, неиспользуемые всегда равны «0». Количество активных на данный момент флагов срабатываний можно узнать из соответствующего регистра UVars.TracePort.0.Event_num. Сами флаги нужно считывать командой чтения битов Read Coil Status - 01 или Read Input Status – 02.
В структуре EventRoot располагаются вспомогательные данные для считывания данных срезов событий находящихся в массиве структур Event. Максимально возможное количество записанных структур данных (т.е. количество элементов массива Event) расположено в UVars.Event_root.all_event_num.
Элемент структуры UVars.Event_root.rec_event_num указывает на количество заполненных на данный момент элементов массива Event и принимает значение от 0 до UVars.Event_root.all_event_num по мере первого прохода заполнения массива Event. Далее это число не изменяется ввиду того, что запись ведется по принципу кольцевого буфера.
В UVars.Event_root.new_event_idx находится номер (индекс) ячейки массива данных событий Event следующий за последним из заполненных по принципу кольцевого буфера. Т.е. если индекс равен N [0-8], это означает, что последняя запись события расположена в N-1 элементе массива. После записи в 8-й элемент индекс принимает значение 0 и при следующей записи происходит “затирание” самых старых данных.
Таблица 9. Структура описания событий
Таблица 10. Массив флагов
Таблица 11. Параметры события


9. ОПЕРАТИВНОЕ УПРАВЛЕНИЕ

Для оперативного ввода и вывода функций терминала может быть использован механизм оперативного управления. Для включения функции необходимо записать 1 в регистр vkl, для отключения в регистр otkl.
Таблица 15. Регистры оперативного управления