Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Описание

Драйвер выполняет транслирование состояния и параметров Измерительных линий в АСУ ТП верхнего уровня по протоколу 485 ModBus RTU

Добавление и настройка драйвера

В «Менеджере оборудования» в разделе «Транслятор данных» выбрать драйвер «Трансляция данных в СУ верхнего уровня по протоколу ModBus» и нажать кнопку «Создать».

Выбрать созданный экземпляр драйвера. В разделе Параметры. Указать номер Com порта и скорость обмена. В поле «Адрес устройства» указывается адрес ModBus устройства.

Трансляция данных начинается в момент входа в режим управления «Топаз-Нефтебаза»

Чтение значений регистров

Чтение регистров производится ModBus функций 0x04 (Read Input Registers)

Адресация регистров общего назначения

Регистры общего назначения имеют абсолютную адресацию и содержат общую информацию об экземпляре «Топаз-Нефтебаза».

Таблица регистров имеет следующий вид:

регистра


Обозначение

Описание

Чтение/

Запись

Тип

Кол - во

регистров

10

SideCount

Количество измерительных линий

Чтение

UInt

1

11

TankCount

Количество емкостей

Чтение

UInt

1

Адресация регистров измерительных линий

Регистры измерительных линий (ИЛ) имеют динамическую адресацию и содержат информацию о данных и параметрах стороны.

Адресация регистров ИЛ начинается с регистра 100 и сдвигается на значение 100 (Offset) в порядке следования постов ИЛ в ПО «Топаз-Нефтебаза».

Таблица регистров ИЛ имеет следующий вид:

регистра


Обозначение

Описание

Чтение/

Запись

Тип

Кол - во

регистров

Offset+0 Packet_TypeТип пакета

Чтение














UInt 1
Offset+1 Device_TypeТип слива оборудования UInt 1
Offset+2 Side_NumberПорядковый номер стороны UInt 1
Offset+3 Side_AddressАдрес стороны UInt 1
Offset+4 ActiveHoseNumberНомер активного рукава UInt 1
Offset+5 HoseCountКоличество сторон UInt 1

Offset+6

State_Code

Состояние ИЛ

UInt

1

Offset +8 Order_IDИдентификатор заказа UInt 1
Offset +9 Order_NumberНомер заказа UInt 1

Offset +10

Order_TypeТип заказа

UInt

1

Offset +15

Order_Volume_OrderedЗаказ исходный в литрах

Float

2

Offset +17

Order_Volume_Released

Отпущенный объем

Float

2

Offset +19

Order_Mass_OrderedЗаказ исходный по массе

Float

2

Offset +21

Order_Mass_Released

Отпущенная масса

Float

2

Offset +23 Order_Amount_OrderedЗаказ исходный на сумму

Float

2

Offset +25 Order_Amount_ReleasedЗаказ отгруженный на сумму

Float

2

Offset +27 Order_DiscreteДискретность оборудования

Float

2

Offset +29 Order_PriceЦена

Float

2

Offset +75

Sensors_Temperature_Current

Мгновенная температура

Float

2

Offset +77

Sensors_Temperature_AVG

Средняя температура

Float

2

Offset +79

Sensors_Density_Current

Мгновенная плотность

Float

2

Offset +81

Sensors_Density_AVG

Средняя плотность

Float

2

Offset +87

Sensors_Рressure 1

Мгновенное давление 1

Float

2

Offset +89

Sensors_Рressure 2

Мгновенное давление 2

Float

2

Offset +91

Sensors_Рressure 3

Мгновенное давление 3

Float

2

Offset +93

Sensors_LockSignalsMask

Битовая маска сигналов блокировки

UInt

1


Регистр «Состояние измерительной линии (State_Code)»

Допустимые значения регистра State_Code.

Значение

Описание

0

Сторона не инициализирована.

1

Сторона свободна. Активного отпуска нет.

2

Ввод заказа на стороне.

3

Налив топлива.

4

Налив остановлен.

5

Регистрация заказа.

6

Сторона занята. Другие причины.

7

Ошибка на стороне.

8

Ошибка связи.

9

Сторона заблокирована.

10

Ввод внешнего заказа.

11

Исполнение внешнего заказа.

Регистр «Битовая маска сигналов блокировки (Sensors_LockSignalsMask)»

Значения регистра Sensors_LockSignalsMask представляет собой десятичное число, бинарное значение которого дает значение запрещающих сигналов. В зависимости от типа оборудования количество запрещающих сигналов может достигать 8 штук. Более точно количество и тип запрещающих сигналов указан в документе «Руководство по эксплуатации» поставляемом в комплекте с оборудованием. Нумерация сигналов в битовой маске выполнена по порядку, в направлении справа налево.

Например, значение регистра равно 3. Бинарное представление цифры 3 равно 0000 0011. В настройке оборудования используются только 4 запрещающих сигнала. При таких параметрах получаем значения:

Сигнал 1 . УЗА имеет значение – 1.

Сигнал 2 . ДПН имеет значение – 1.

Сигнал 3 . ИДПН имеет значение – 0.

Сигнал 4 . ДП имеет значение – 0.

Значения битовой маски превышающее количество запрещающих сигналов можно не учитывать.

Описание чтения данных Измерительных линий на примере

Например, ПО «Топаз-Нефтебаза» сконфигурирована следующим образом: 1 Приемный и 2 Отгрузочных стояка налива.

В общем виде формула адресации регистров ИЛ имеет вид :

Адрес первого регистра ИЛ (Offset) = Общий порядковый номер стороны * 100

Первый приемный стояк налива (порядковый номер 1) будет иметь адреса регистров начиная с регистра 100.(Offset = 100)

106 - Состояние ИЛ

107 - Код ошибки ИЛ

193 - Битовая маска сигналов блокировки

и т.д

Первый отгрузочный стояк налива (порядковый номер 2) будет иметь адреса регистров начиная с регистра 200.( Offset = 200)

206 - Состояние ИЛ

207 - Код ошибки ИЛ

293 -  Битовая маска сигналов блокировки

и т.д

Второй отгрузочный стояк налива (порядковый номер 3) будет иметь адреса регистров начиная с регистра 300.(Offset = 300)

306 - Состояние ИЛ

307 - Код ошибки ИЛ

393 -  Битовая маска сигналов блокировки

и т.д


Адресация регистров Емкостей

Регистры емкостей имеют динамическую адресацию и содержат информацию о данных и характеристиках емкости.

Адресация регистров ёмкостей начинается с регистра 2000 и сдвигается на значение 100 (Offset) в порядке следования емкостей в ПО «Топаз-Нефтебаза».

Таблица регистров емкостей имеет следующий вид:

регистра


Обозначение

Описание

Чтение/

Запись

Тип

Кол - во

регистров

Offset+0

Tank_ID

Внутренний идентификатор ёмкости

Чтение

UInt

1

Offset +1

Tank_Number

Номер емкости

UInt

1

Offset +2

Tank_Address

Адрес емкости

UInt

1

Offset +3

Tank_State

Текущей статус емкости

UInt

1

Offset +5

Tank_Fuel_ID

Идентификатор топлива в БД

UInt

1

Offset +6

Tank_Gage_Address

Адрес подключенного уровнемера

UInt

1

Offset +7

Tank_CaliberTable

Использование калибровочной таблицы

UInt

1

Offset +8

Tank_LockState

Признак заблокированной емкости

UInt

1

Offset +9

Tank_Accessible

Признак доступности емкости для использования

UInt

1

Offset +10

Tank_VirtualTank

Признак виртуальной емкости

UInt

1

Offset +11

Tank_Water_Alarm

Аварийный уровень воды

UInt

1

Offset +12

Tank_Volume_Max

Максимальный обьем емкости

Float

2

Offset +14

Tank_Volume_Fact

Фактический обьем емкости по уровнемеру

Float

2

Offset +16

Tank_Volume_Calc

Расчетный обьем емкости

Float

2

Offset +18

Tank_Mass_Fact

Фактическая масса емкости по уровнемеру

Float

2

Offset +20

Tank_Mass_Calc

Расчетная масса емкости

Float

2

Offset +22

Tank_Temperature

Температура в емкости по уровнемеру

Float

2

Offset +24

Tank_Density

Плотность в емкости по уровнемеру

Float

2

Offset +26

Tank_Water_Level

Уровень подтоварной воды

UInt

1

Offset +27

Tank_Level

Уровень топлива

UInt

1

Offset +28

Tank_Height_Max

Максимальная Высота

UInt

1


Регистр «Текущей статус емкости (Tank_State)»

Допустимые значения регистра Tank_State.

Значение

Описание

0

Емкость в норме

1

Переполнение емкости

2

Недостаточно нефтепродукта в емкости.

3

Высокий уровень подтоварной воды

4

Емкость отключена.

5

Отсутствует связь с уровнемером

6

Авария по данным уровнемера

7

Инициализация состояния емкости.

Описание чтения данных Емкостей на примере

Например, ПО «Топаз-Нефтебаза» сконфигурирована следующим образом: 4 емкости.

В общем виде формула адресации регистров емкостей имеет вид :

Адрес первого регистра (Offset) = 2000 + (Общий порядковый номер емкости * 100).

Нумерация емкостей начинается с нуля.

Общее количество емкостей содержится в регистре 11 (TankCount).


Первая емкость (порядковый номер 0) будет иметь адреса регистров начиная с регистра 2000.(Offset = 2000)

2000 - Внутренний идентификатор ёмкости (Tank_ID).

2001 - Номер емкости(Tank_Number).

2003 - Текущей статус емкости (Tank_State).

и т.д

Вторая емкость (порядковый номер 1) будет иметь адреса регистров начиная с регистра 2100.( Offset = 2100)

2100 - Внутренний идентификатор ёмкости (Tank_ID).

2101 - Номер емкости(Tank_Number).

2103 - Текущей статус емкости (Tank_State).

и т.д

Третья емкость (порядковый номер 2) будет иметь адреса регистров начиная с регистра 2200.( Offset = 2200)

2200 - Внутренний идентификатор ёмкости (Tank_ID).

2201 - Номер емкости(Tank_Number).

2203 - Текущей статус емкости (Tank_State).

и т.д


  • Нет меток