Любой следующий запрос или ответ счетчика на запрос не могут быть посланы раньше таймаута, после окончания предыдущего запроса. Адресованный счетчик всегда отвечает на любые корректные запросы через время не менее таймаута и не более 100 мс после окончания таймаута.
Для СЭТ-4ТМ.02, начиная с версии 27.25.ХХ введена команда программирования множителя к таймауту в диапазоне от 1 до 255. Установка множителя к таймауту может быть полезна при работе со счетчиками через модем по коммутируемым каналам связи.
Скорость обмена и структура информационных байтов
При выходе с завода-изготовителя счетчики программируются на обмен по каналу RS-485 двоичными байтами на скорости 9600 Бод со следующей структурой:
· один стартовый бит;
· восемь кодовых бит;
· один бит контроля нечетности;
· один стоповый бит.
В счетчиках предусмотрена возможность программирования скорости обмена на 9600, 4800, 2400, 1200 Бод и структуры информационного байта (с битом контроля нечетности – 9 бит и без него – 8 бит данных).
При работе через оптопорт скорость всегда 9600 с битом контроля нечетности.
Структура фреймов запросов и ответов и организация обмена
Структура фрейма запроса приведена на рисунке 1. Структура фрейма ответа приведена на рисунке 2.
Сетевой адрес |
Код запроса |
Код параметра (может отсутствовать) |
Параметры (0...16 байт) |
КС |
|
CRCL |
CRCH |
Рисунок 1 - Структура фрейма запроса
Сетевой адрес |
Поле данных (1,2...16 байт) |
КС |
|
CRCL |
CRCH |
Рисунок 2 - Структура фрейма ответа
Фреймы запроса и ответа начинаются с сетевого адреса и заканчиваются контрольной суммой.
Фрейм запроса, кроме сетевого адреса и контрольной суммы, может иметь еще три поля:
· поле кода запроса (один байт);
· поле кода параметра (один байт, может отсутствовать);
· поле параметров (до 16-ти байт, может отсутствовать).
Фрейм ответа, кроме сетевого адреса и контрольной суммы, имеет еще поле данных размером либо один байт, либо от двух до 16-ти байт.
1.1.1 Поле сетевого адреса
Поле сетевого адреса имеет размер один байт. При работе в системе каждому счетчику должен быть присвоен уникальный адрес в диапазоне 01h…EFh.
Адрес 0 используется как общий, на него отвечают все счетчики сети и использовать его можно только в случае индивидуальной работы с одним счетчиком. Кроме того, по нулевому адресу запрещены все операции записи данных, если собственный адрес счетчика не нулевой.
Адрес FFh зарезервирован как адрес по умолчанию после инициализации счетчиков СЭТ-4ТМ.02 версий 14.ХХ.ХХ и выше (в основном это заводская процедура). Для счетчиков СЭТ-4ТМ.01 любых версий и для счетчиков СЭТ-4ТМ.02 версий ниже 14.ХХ.ХХ после инициализации устанавливается адрес 00h.
Адрес FEh используется как адрес для широковещательных сообщений (для СЭТ-4ТМ.02 с версии 22.23.ХХ).
Адреса F0h…FDh в настоящее время не используются, и зарезервированы для технологических целей на будущее.
1.1.2 Поле кода запроса
Поле кода запроса имеет размер один байт и определяет систему команд счетчиков.
Запросы со стороны управляющего компьютера делятся на четыре группы:
· запрос на тестирование канала связи;
· запросы на открытие/закрытие канала связи;
· запросы на запись (программирование);
· запросы на чтение.
1.1.3 Поле кода параметра и поле параметров
Поле кода параметра имеет размер один байт и является расширением (уточнением) кода запроса. Далее в запросе может присутствовать многобайтный параметр. Поля кода параметра и параметры в запросе могут отсутствовать.
1.1.4 Поле контрольной суммы фрейма
Контрольная сумма (КС) представляет собой дополнение до нечетности суммы по модулю два всех байт запроса или ответа (без байта КС).
КС = FFh Е 1-й байт Е 2-й байт Е … Е последний байт
В СЭТ-4ТМ.02, начиная с версии V23.XX.XX вместо указанной КС используется двухбайтная CRC аналогично MODBUS. При этом длина фрейма увеличивается на один байт по сравнению с фреймом с КС.
Программы верхнего уровня должны автоматически определять тип протокола. Это можно сделать с использованием адресной команды «Тест канала связи». Если счетчик не отвечает на команды с использованием КС, то нужно ту же команду послать с CRC и в описание счетчика добавить признак типа протокола (КС/CRC). В приложении приведен быстрый алгоритм расчета CRC фрейма.
1.1.5 Поле данных фрейма ответа
На любые корректные запросы счетчики отвечают. Не отвечать на запросы счетчики могут по пяти причинам:
· не совпал адрес в последовательности запроса с индивидуальным сетевым адресом счетчика;
· искажена длина фрейма запроса;
· не совпала контрольная сумма последовательности запроса с посчитанной контрольной суммой принятой последовательности;
· при обращении на запись по адресу 00h;
· на широковещательный запрос.
Поле данных фрейма ответа содержит данные, зависящие от характера запроса и состояния счетчика.
Поле данных ответа может иметь длину либо один байт, либо от 2-х до 16-ти байт. При запросе чтения программных данных или данных измерения поле данных ответа может иметь размер от двух до 16 байт, при корректном запросе и отсутствии внутренних ошибок счетчика. Если обнаружена ошибка в команде запроса данных или внутренняя ошибка счетчика то поле данных ответа будет иметь длину один байт, который называется байтом состояния обмена и интерпретируется в соответствии с таблицей 1.
При запросе на запись данных в счетчик (программирование) поле данных ответа имеет размер всегда один байт, в соответствии с таблицей 1.
Таблица 1 – Значения байта состояния обмена
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.