
ТЕПЛОКОМ
РЕАЛИЗАЦИЯ ПРОТОКОЛА МОДБАС
для связи с вычислителем ВКТ-7
Содержание
1 |
Принцип организации данных, доступных через сеть, в |
|
|
|
|
тепловычислителе ВКТ-7 ...................................................................... |
2 |
2 |
Обобщенная структура запросов/ответов в сетевом протоколе Modbus4 |
||
2.1 |
Отступления от требований стандарта Modbus в протоколе в ВКТ-7 .......... |
5 |
|
3 |
Структура запросов/ответов в сетевом протоколе Modbus..................... |
6 |
|
3.1 |
Структура запросов/ответов для операции 0х03 («чтение») ........................ |
6 |
|
3.2 |
Структура запросов/ответов для операции 0х10 («запись»)......................... |
7 |
|
4 |
Возможные варианты запросов................................................................. |
8 |
|
4.1 |
Запрос на чтение перечня активных элементов данных............................... |
8 |
|
4.2 |
Запрос на запись перечня элементов для чтения......................................... |
8 |
|
4.3 |
Запрос на запись типа значений ..................................................................... |
9 |
|
4.4 |
Запрос на запись даты................................................................................... |
10 |
|
4.5 |
Запрос на чтение данных............................................................................... |
11 |
|
4.6 |
Запрос на чтение служебной информации................................................... |
11 |
|
4.7 |
Запрос “Начало сеанса связи”....................................................................... |
12 |
|
4.8 |
Запрос “Чтение интервала дат”..................................................................... |
13 |
|
5 |
Порядок следования запросов................................................................. |
13 |
|
5.1 |
Начало сеанса связи...................................................................................... |
13 |
|
5.2 |
Получение «свойств» ..................................................................................... |
13 |
|
5.3 |
Порядок получения необходимых данных.................................................... |
16 |
|
5.4 |
Получение архивных данных......................................................................... |
16 |
|
5.5 |
Получение текущих и итоговых текущих данных.......................................... |
16 |
|
Приложение А – Расчет контрольной суммы кадра Modbus ...................... |
18 |
||
Приложение Б – Используемые типы данных и символьные константы.. |
18 |
||
Санкт-Петербург
2003
ВКТ-7 |
Реализация протокола Модбас |
с. 2 |
1Принцип организации данных, доступных через сеть, в тепловычислителе ВКТ-7
В соответствии с Руководством по эксплуатации тепловычислитель ВКТ–7 предназначен для учета, регистрации и дистанционного мониторинга количества теплоты (тепловой энергии) и параметров теплоносителя в системах водяного теплоснабжения. Под дистанционным мониторингом понимается работа тепловычислителя в сети, удаленный доступ с помощью модемной связи или непосредственная работа с компьютером. В этом случае применяется система верхнего уровня – персональный компьютер с установленным специализированным программным обеспечением.
Система верхнего уровня может получать от тепловычислителя ВКТ-7 следующие данные:
•текущие и архивные результаты измерений (температуры, давления, массы, объемы и т.д.);
•так называемые «свойства» (наименование единиц измерения и данные, необходимые для правильной интерпретации ответов вычислителя).
Каждая из этих величин называется элементом данных. В зависимости от выбранной схемы измерения элементы данных могут участвовать или не участвовать в измерениях. Например, в схеме измерения №1 для теплового ввода №1 температура t2 участвует в расчетах, а в схеме измерения №6 – нет. Элементы данных, участвующие в измерениях, называются активными, не участвующие в измерениях – не активными.
Взависимости от схемы измерения вычислитель формирует маску активности элементов, т.е. для каждого элемента данных определяется, активен ли он при данной схеме измерения. Элементы данных «свойств» всегда активны.
Впроцессе эксплуатации прибора может возникнуть ситуация, когда схема измерения меняется (например, при смене сезона может применяться «летняя» или «зимняя» схема). При изменении схемы, изменяется и маска активности.
Схема измерений сохраняется в каждой архивной записи, поэтому маска активности элементов формируется вычислителем для каждой архивной записи в момент обращения к вычислителю. Если в вычислителе изменилась схема измерения, то для архивной записи, которая сформируется уже после смены схемы измерения, маска активности будет отличаться от маски для той записи, которая была сформирована ранее. В маске активности некоторые элементы могут стать активными, или, наоборот, неактивными. Та маска активности, которая сформировалась при последнем обращении системы верхнего уровня к вычислителю,
является актуальной.
Из маски активности вычислитель формирует перечень активных элементов. Если в маске активности присутствуют все элементы данных (активные и неактивные), то в перечень входят только активные элементы. Перечень состоит из структур, содержащих два поля:
•условный адрес активного элемента, шириной 4 байта;
•размерность этого элемента длиной 2 байта.
ВКТ-7 |
Реализация протокола Модбас |
с. 3 |
Приполученииданных(архивныхилитекущих) отвычислителясистемаверхнего уровнядолжнасначалазапроситьпереченьактивныхэлементов. Изперечняактивных элементовможновыбратьтолькоинтересующиеклиентаэлементы, сформировать переченьэлементовдлячтенияизаписатьеговвычислитель. Вдальнейшем вычислительбудетприсылатьданныевсоответствиисзаписаннымперечнем.
Например, если система верхнего уровня из перечня активных элементов, условно состоящего из t1, t2, t3 выбрала только t2, то вычислитель в ответ на запрос «Чтение данных…» пришлет информацию только по t2. При этом перечень активных элементов в вычислителе останется прежним. Система верхнего уровня формирует лишь перечень элементов для чтения данных.
Вероятна ситуация, когда система верхнего уровня запрашивает архивные записи за интервал времени, внутри которого произошла смена схемы измерения. Тогда в один из моментов она обратится к записи, в которой схема измерения отличается от схемы измерения из предыдущей записи. Это приводит к тому, что актуальная маска активности не соответствует схеме измерения, для архивной записи, к которой происходит обращение. В этом случае вычислитель переформировывает актуальную маску так, чтобы она соответствовала схеме измерения для архивной записи и сигнализирует об изменении схемы измерения в ответе на запрос «Чтение данных…» (подробнее о запросе см. ниже).
Например, система верхнего уровня прочитала данные из архивной записи, сформированной при схеме измерения №4. При этом актуальная маска активности элементов стала соответствовать схеме измерения для этой архивной записи, т.е. схеме №4. Затем система верхнего уровня обратилась к архивной записи сформированной при схеме измерения № 5. Вычислитель обнаруживает несоответствие актуальной маски схеме измерения из архивной записи и переформировывает актуальную маску активности элементов в соответствии со схемой измерения №5, а затем сигнализирует об изменении схемы измерения. В результате этого, в актуальной маске активности некоторые элементы, из числа ранее неактивных, могли стать активными; а из числа ранее активных - неактивными. Также изменится и перечень активных элементов. Система верхнего уровня, получив сигнал об изменении схемы измерения, может поступить двумя способами:
1.Повторить запрос на чтение данных. Вычислитель пришлет данные в соответствии с записанным в него перечнем элементов для чтения, но с поправкой на маску активности элементов из архивной записи. Это означает, что если какие-либо элементы данных стали неактивны, в ответе будет содержаться информация об этом. В частности, в байтах качества будут по-
мещены коды OPC_QUALITY_BAD | OPC_QUALITY_CONFIG_ERROR (коды описаны в Приложении Б). Этот способ имеет существенный недостаток: если в маске активности появились новые активные элементы, их нельзя будет получить;
2.запросить новый перечень активных элементов данных, записать вновь сформированный перечень и затем прочитать данные.
Подробное описание запросов и ответов приведено в разделе «Возможные варианты запросов».
ВКТ-7 |
Реализация протокола Модбас |
с. 4 |
2Обобщенная структура запросов/ответов в сетевом протоколе Modbus
ДляобменаданнымиполокальнойсетииспользуетсяпротоколModbus, рабо- тающийпопринципуведущий-ведомый(Master-Slave). Этозначит, чтоведомый (Slave) можетпослатьсетевоесообщениетольковответназапросведущего (Master). Вкачествеведущего используетсясистемаверхнегоуровня. ВычислителиВКТ-7 выполняюттолькорольведомого. Привзаимодействииведущего иведомогоиспользуетсярежимпередачиRTU (Remote Terminal Unit). Вэтомрежимедлякаждогобайта сообщенияиспользуется8-разряднаядвоичнаясистемакодирования.
Время, затрачиваемое на передачу одного байта сообщения, называется периодом символа. Интервал времени, в течение которого не происходило переда-
чи, называется интервалом тишины.
При использовании режима RTU сообщение должно начинаться с интервала тишины длительностью не менее 3,5 периодов символа. Затем начинается передача кадра сообщения. После передачи последнего символа кадра сообщения в качестве признака конца также должен быть выдержан интервал тишины длительностью не менее 3,5 периодов символа. После окончания этого интервала может начинаться следующий кадр сообщения. Всё сообщение должно передаваться как непрерывный поток символов. Интервал тишины между соседними символами не должен превышать 1,5 периода символа.
Вотступление от требований стандарта Modbus в вычислителе ВКТ-7 гра-
ница кадра определяется интервалом тишины длительностью 62.5 мс или по переполнению входного буфера длиной 256 байт.
Длина кадра сообщения не должна превышать 256 байт.
Вкачестве интерфейса физического уровня используется RS-232, причем взаимодействие ведущего и ведомого возможно как непосредственно через RS-232, так и с использованием наряду с RS-232 модемов и коммутируемой телефонной линии.
Для обмена по интерфейсу физического уровня RS-232 вычислитель ВКТ-7 использует следующие параметры:
•формат символа: 8 бит данных, 2 стоповых бита, без контроля четности;
•скорость передачи, бит/с: 1200, 2400, 4800, 9600;
•управление потоком: отсутствует;
•сигнал RTS компьютера: должен иметь уровень не менее +9 V.
Примечание: При посылке запроса прибору сначала необходимо передать не менее двух байт 0xFF для гарантированного «вывода» прибора из «спящего» режима. Байты 0xFF могут стоять в начале посылки, то есть необязательно выдерживать паузу между 0xFF и кадром Modbus.
ВКТ-7 |
Реализация протокола Модбас |
с. 5 |
Кадр Modbus состоит из следующих элементов:
•поля адреса;
•поля функции;
•поля данных;
•контрольной суммы.
Ниже рассмотрено более подробно назначение отдельных полей:
•адрес – 8-разрядное число в диапазоне 0-99 (сетевой номер прибора), служащее для правильной адресации запроса получателю. На запрос с нулем в качестве сетевого адреса ответит любой прибор – так называемый широковещательный запрос. Его можно применять только при подключении точ- ка-точка, то есть при подключению к компьютеру одного прибора;
•функция – 8 разрядное значение. При передаче сообщения от ведущего к ведомому поле функции задает последнему действие, которое он должен выполнить. При ответе ведомого значение поля функции указывает, произошел ли обмен нормально или возникло исключение. В нормальном ответе используется тот же код функции, что и в запросе. Возникновение исключения приводит к передаче ответа с кодом функции, в котором старший бит установлен, а остальные биты такие же, как в коде функции запроса. При связи с вычислителем ВКТ-7 используются два кода функций: 0x03 (чтение) и 0x10 (запись);
•данные — это последовательность 8-разрядных чисел. Поле данных сообщений, передаваемых ведущим ведомому, содержит предназначенную последнему дополнительную информацию, зависящую от кода функции. Дополнительная информация содержится в двух служебных элементах, каждый из которых представлен двумя 8-разрядными числами. Первый из этих служебных элементов – «Начальный адрес», второй – «Количество ре-
гистров». Более подробная структура кадров запроса и ответа будет рассмотрена для каждой функции отдельно;
•контрольная сумма — 16-разрядное поле, необходимое для контроля целостности кадра. Рассчитывается по алгоритму Crc16 (см. Приложение А).
2.1Отступления от требований стандарта Modbus в протоколе в ВКТ-7
•Все поля в кадрах Modbus, имеющие длину более 1-го байта, должны передаваться в следующем порядке: сначала младший байт, затем старший. Это требование не относится к полям «Начальный адрес» и «Количество регистров». Они должны передаваться в следующем порядке: сначала старший байт, затем младший байт;
•Поле «Количество регистров» не анализируется прибором при обработке запроса и может быть установлено в произвольное значение (во всех примерах это поле имеет значение 0х0000);
•Граница кадра определяется фиксированным интервалом тишины длительностью 62.5 мс или по переполнению входного буфера длиной 256 байт.