ВКТ-7 |
Реализация протокола МОДБАС |
с. 11 |
|
|
|
Пример:
Frame [0 ] = 0x00;
Frame [1 ] = 0x10; Frame [2 ] = 0x3F; Frame [3 ] = 0xFD; Frame [4 ] = 0x00; Frame [5 ] = 0x00; Frame [6 ] = 0x02;
Frame [7 ] = тип значений; Frame [8 ] = 0x00;
Frame [9 ] = CheckSum l; Frame [10] = CheckSum h;
Готовый вариант запроса: (тип значений– суточный архив)
0x00 0x10 0x3f 0xfd 0x00 0x00 0x02 0x01 0x00 0x71 0x42
Прибор присылает ответ в виде стандартного подтверждения записи. Возможный код ошибки - 2 (несуществующий тип значений).
4.4Запрос на запись даты
Запрос предназначен для того, чтобы указать вычислителю, относительно какой хронологической метки следует передавать архивные данные. Запрос содержит хронологическую метку с указанием даты и времени. Вычислитель передает архивные данные в ответ на запрос «Чтение данных…» относительно той хронологической метки, которая была записана в вычислитель в последний раз.
Начальный адрес = 0x3FFB; Количество регистров = 0х0000.
Дата передается в формате VT_DATA_RAP (описание в Приложении Б).
Пример:
Frame [0 ] = 0x00;
Frame [1 ] = 0x10; Frame [2 ] = 0x3F; Frame [3 ] = 0xFB; Frame [4 ] = 0x00; Frame [5 ] = 0x00; Frame [6 ] = 0x04; Frame [7 ] = день; Frame [8 ] = месяц; Frame [9 ] = год; Frame [10] = час;
Frame [11] = CheckSum l; Frame [12] = CheckSum h;
Готовый вариант запроса: (30 января 2003г. 0 часов)
0x00 0x10 0x3f 0xfb 0x00 0x00 0x04 0x1e 0x01 0x03 0x00 0xfa 0xaf
Прибор присылает ответ в виде стандартного подтверждения записи. Возможный код ошибки
•3 – в архиве отсутствуют данные за эту дату.
4.5Запрос на чтение данных
Запрос предназначен для получения информации по тем элементам данных, условные адреса которых присутствовали в перечне элементов для чтения.
ВКТ-7 |
Реализация протокола МОДБАС |
с. 12 |
|
|
|
Начальный адрес = 0x3FFE; Количество регистров = 0х0000.
Пример:
Frame [0] = 0x00; Frame [1] = 0x03; Frame [2] = 0x3F; Frame [3] = 0xFE; Frame [4] = 0x00; Frame [5] = 0x00; Frame [6] = CheckSum l; Frame [7] = CheckSum h;
Готовый вариант запроса:
0x00 0x03 0x3f 0xfe 0x00 0x00 0x29 0xff
Прибор присылает ответ в виде последовательности элементов разной длины. Элемент последовательности имеет следующий вид:
•само значение (размер – в соответствии со значением в поле «размер…», полученным в ответ на запрос «Чтение перечня активных элементов» для соответствующей величины);
•Для величин с «условным адресом» NSPrintTypeM_1, NSPrintTypeM_2 (см. ниже перечисление, описывающее все элементы данных) и имеющих «размер» 1 байт, значение является не числом, а печатным символом «*» или « ».
•Для величин с «условным адресом» QntNS_1, QntNS_2 и имеющих «размер» 10 байт, значение является массивом из пяти чисел типа unsigned short (16 бит).
•Величина с «условным адресом» DopInpImpP_Type имеет тип float. Для нее поле «размер…» анализировать не обязательно.
•байт качества;
•байт нештатных ситуаций (НС).
Значения байта качества
(Численные значения символьныхконстант качества приведены в Приложении Б):
•OPC_QUALITY_BAD | OPC_QUALITY_DEVICE_FAILURE – значение элемен-
та находится вне диапазона (в приборе в данном случае на месте числового значения индицируется надпись “нет значения”);
•OPC_QUALITY_UNCERTAIN | OPC_QUALITY_SENSOR_CAL – у данного элемента есть нештатная ситуация;
•OPC_QUALITY_BAD | OPC_QUALITY_CONFIG_ERROR –элемент отсутству-
ет в расчетной схеме.
Байт НС
Содержит код нештатной ситуации для данного элемента.
Если код равен 0 - НС отсутствуют, если 0xff - НС для данного элемента отсутствует, но есть НС у других элементов списка. Любое другое значение означает наличие нештатной ситуации у данного элемента.
Возможный код ошибки: 5 – зафиксировано изменение схемы измерения. В этом случае нужно следовать рекомендациям, описанным в разделе «Принципы организации данных, доступных через сеть, в тепловычислителе ВКТ-7».
ВКТ-7 |
Реализация протокола МОДБАС |
с. 13 |
|
|
|
4.6Запрос на чтение служебной информации
Запрос предназначен для получения служебной информации (номер версии ПО, схема измерений, идентификатор абонента, сетевой номер, дата отчета и модель исполнения).
Начальный адрес = 0x3FF9; Количество регистров = 0х0000.
Пример:
Frame [0] = 0x00; Frame [1] = 0x03; Frame [2] = 0x3F; Frame [3] = 0xF9; Frame [4] = 0x00; Frame [5] = 0x00; Frame [6] = CheckSum l; Frame [7] = CheckSum h;
Готовый вариант запроса:
0x00 0x03 0x3f 0xf9 0x00 0x00 0x98 0x3e
Сегмент данных ответа состоит из следующих элементов:
Для версии ПО менее 1.5:
• дата отчета целое 8-ми разрядное число; Для версии ПО 1.5 и более:
• |
номер версии ПО............................................ |
целое 8-ми разрядное число; |
• схема измерения по ТВ1×2 ........................... |
целое 16-ти разрядное число; |
|
• схема измерения по ТВ2×2 ........................... |
целое 16-ти разрядное число; |
|
• |
идентификатор абонента........................................... |
8 байт формата ASCI; |
• |
сетевой номер прибора.................................. |
целое 8-ми разрядное число; |
• |
дата отчета...................................................... |
целое 8-ми разрядное число; |
• |
модель исполнения........................................ |
целое 8-ми разрядное число. |
Примечания:
1.Номер версии ПО отображается в двух тетрадах. Старшая – номер версии, младшая – номер реализации. Например, версия 1.8 имеет вид
0001 1000=0х18.
2.Ответ по схеме измерения по каждому из тепловых вводов содержит информацию непосредственно о схеме измерений, а также о назначении ТР3 и t5. Соответствие разрядов ответа необходимой информации представлено на рисунке.
|
|
мл. байт ответа |
|
|
|
|
|
ст. байт ответа |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ст. байт ответа |
|
|
|
|
мл. байт ответа |
|
|
|||||||||
7 |
6 |
|
5 |
4 |
3 |
2 |
|
1 |
0 |
7 |
6 |
|
5 |
4 |
3 |
2 |
|
1 |
0 |
|
|
|
|
|
Схема измерений |
|
Назначение ТР3 |
Назначение t5 |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ВКТ-7 |
Реализация протокола МОДБАС |
с. 14 |
|
|
|
4.7Запрос “Начало сеанса связи”
Запрос предназначен для подготовки вычислителя к сеансу связи и определения значения «Версия сервера». Должен быть выполнен первым.
Начальный адрес = 0x3FFF; Количество регистров = 0х0000.
Пример:
Frame [0 ] = 0x00;
Frame [1 ] = 0x10; Frame [2 ] = 0x3F; Frame [3 ] = 0xFF; Frame [4 ] = 0x00; Frame [5 ] = 0x00; Frame [6 ] = 0xCC; Frame [7 ] = 0x80; Frame [8 ] = 0x00; Frame [9 ] = 0x00; Frame [10] = 0x00; Frame [11] = CheckSum l; Frame [12] = CheckSum h;
Готовый вариант запроса:
0x00 0x10 0x3f 0xff 0x00 0x00 0xcc 0x80 0x00 0x00 0x00 0x64 0x54
Ответ на запрос анализировать не нужно. При дальнейшей посылке запроса «Чтение данных» в ответе вычислителя необходимо проанализировать поле «Версия сервера». Это поле располагается в 65-ом по счету байте от начала ответа. Поле «Версия сервера» необходимо при получении «свойств» (см. ниже).
4.8Запрос “Чтение интервала дат”
Запрос предназначен для получения дат начала/конца архива в приборе и текущей даты (только для версий ПО прибора 1.7 и более).
Начальный адрес = 0x3FF6; Количество регистров = 0х0000.
Пример:
Frame [0 ] = 0x00;
Frame [1 ] = 0x03; Frame [2 ] = 0x3F; Frame [3 ] = 0xF6; Frame [4 ] = 0x00; Frame [5 ] = 0x00; Frame [6 ] = CheckSum l; Frame [7 ] = CheckSum h;
Готовый вариант запроса:
0x00 0x03 0x3f 0xf6 0x00 0x00 0xa8 0x3d
Прибор присылает ответ следующего формата:
•Дата начала часового архива;
•Текущая дата;
•Дата начала суточного архива (только для версий ПО прибора 1.6 и более). Даты передаются в формате VT_DATA_RAP (см. Приложение Б).
ВКТ-7 |
Реализация протокола МОДБАС |
с. 15 |
|
|
|
4.9Запрос “Чтение номера схемы измерения”
Запрос предназначен для получения номера схемы измерения для заданного теплового ввода (только для версий ПО прибора 1.9 и более). Для использования этого запроса необходимо не менее одного раза за сеанс связи подать запрос «Запись типа значений». Поле «Количество регистров» должно быть установлено в указанное значение, т.к. при обработке данного запроса вычислитель анализирует это поле.
Начальный адрес = 0x3ECD, для Тв1 и 0x3F5B для Тв2. Количество регистров = 0х0001.
Пример:
Frame [0 ] = 0x00;
Frame [1 ] = 0x03; Frame [2 ] = 0x3E(0xCD); Frame [3 ] = 0x3F(0x5B); Frame [4 ] = 0x00; Frame [5 ] = 0x00; Frame [6 ] = CheckSum l; Frame [7 ] = CheckSum h;
Готовый вариант запроса:
0x00 0x03 0x3e 0xcd 0x00 0x01 0xd8 0x0c
Прибор присылает ответ следующего формата:
•Номер схемы измерения (1 байт);
•Байт качества;
•Байт НС.
4.10Запрос “Чтение состояний дискретных выходов”
Запрос предназначен для получения состояний дискретных выходов (только для версий ПО прибора 2.0 и более).
Начальный адрес = 0x3FEE. Количество регистров = 0х0000.
Пример:
Frame [0 ] = 0x00;
Frame [1 ] = 0x03; Frame [2 ] = 0x3F; Frame [3 ] = 0xEE; Frame [4 ] = 0x00; Frame [5 ] = 0x00; Frame [6 ] = CheckSum l; Frame [7 ] = CheckSum h;
Готовый вариант запроса:
0x00 0x03 0x3f 0xee 0x00 0x00 0x28 0x3a
Прибор присылает ответ следующего формата:
•Состояние выхода №1 (1 байт);
•Состояние выхода №2 (1 байт).
Возможный код ошибки: 7 – дискретные выходы не являются управляемыми дистанционно.