Блок сопряжения с датчиком
Органы индикации и управления блока. Режим индикации данных, просмотра и изменения настроек. Связь блока с электронно-вычислительными машинами верхнего уровня. Методы проверки ошибок и условия тайм-аута. Регистры данных и настроек, описание программ.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | методичка |
Язык | русский |
Дата добавления | 02.05.2015 |
Размер файла | 403,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
В некоторых сообщениях поле данных может отсутствовать (иметь нулевую длину). Например, если ведущий выдает запрос с кодом функции 07 (чтение статуса блока), никакой дополнительной информации ведомому не требуется (поле кода функции однозначно задает действие, выполняемое по этому запросу ведомым).
Поле кода проверки ошибок в режиме RTU содержит двухбайтный код проверки ошибок. Этот код является результатом вычисления циклического избыточного кода или CRC-кода (CRC - Cyclical Redundancy Check) для всех байт сообщения. Вначале в сообщении передается младший байт CRC-кода, затем старший (то есть, старший байт CRC-кода является последним байтом сообщения).
4.2.3 Методы проверки ошибок
При работе с протоколом Modbus RTU используются два метода проверки ошибок. Для каждого передаваемого символа может быть установлен контроль паритета (по четности или по нечетности). Для всего сообщения применяется контроль с помощью CRC-кода. Оба вида контроля генерируются ведущим и помещаются в сообщение до начала его передачи. Во время приема ведомый проверяет каждый принятый символ и все сообщение целиком.
Рассмотрим вначале контроль паритета.
Пользователь может настроить блок на выполнение проверки четности, проверки нечетности или отсутствие контроля паритета.
При задании наличия контроля паритета (по четности или нечетности) в каждом байте передаваемых данных будет подсчитываться количество единиц. Бит паритета будет устанавливаться в 0 или 1 в зависимости от того, четное или нечетное число единичных бит присутствует в байте данных.
Например, пусть байт данных содержит следующие биты:
1100 0101
Общее число единичных бит в данном байте равно четырем. Если используется контроль по четности, бит паритета будет иметь нулевое значение, оставляя общее число единичных бит в байте четным (четыре). Если используется контроль по нечетности, бит паритета будет установлен в единицу, делая общее число единичных бит нечетным (пять).
При передаче сообщения бит паритета рассчитывается для каждого байта сообщения. Принимающий блок также подсчитывает число единичных бит в принимаемом байте (формирует бит паритета) и фиксирует ошибку при несовпадении принятого бита паритета с рассчитанным.
Необходимо, чтобы все приборы, объединяющиеся в сеть, были настроены на использование одного и того же метода контроля паритета.
Контроль паритета может отследить только те ошибки, при которых одновременно искажается нечетное число бит. Например, если установлен контроль по нечетности и при приеме два бита принимают нулевое значение в байте, который изначально содержал три единичных бита, общее число единичных бит все еще остается нечетным, и бит паритета не изменяется (ошибка передачи не обнаруживается).
Если задано отсутствие контроля паритета, бит паритета не передается и контроль паритета не производится.
Для всего сообщения выполняется контроль ошибок на основе CRC_кода. Данный метод контроля не зависит от выбранного контроля паритета.
CRC-код является шестнадцатибитным двоичным числом, формируемым ведущим и передаваемым в конце сообщения. Ведомый прибор самостоятельно рассчитывает CRC-код и сравнивает полученное значение с принятым в сообщении. При несовпадении CRC-кодов фиксируется ошибка.
Расчет CRC-кода производится по следующему алгоритму:
1) Вычисление CRC-кода начинается с загрузки во все разряды 16_битного регистра (CRC-регистр) единиц (0FFFFH).
2) Выполняется операция “Исключающее ИЛИ” первого байта сообщения (адреса ведомого) с младшим байтом CRC-регистра и результат помещается в младший байт CRC-регистра.
3) Сдвиг CRC-регистра на один бит вправо (в сторону младшего бита) - при этом в старший бит регистра вдвигается ноль.
4) Проверка выдвинутого из регистра бита:
если данный бит равен “0”, повторяем шаг 3 (следующий сдвиг CRC_регистра);
если выдвинутый бит равен “1”, производится операция “Исключающее ИЛИ” содержимого CRC-регистра с полиноминальным значением 0A001H (1010000000000001B).
5) Повторяем шаги 3 и 4 до выполнения восьми сдвигов CRC_регистра. Когда сдвиги будут сделаны, полная обработка первого байта сообщения будет завершена.
6) Повторяем шаги 2…5 для следующего байта сообщения. Продолжаем до тех пор, пока все байты сообщения не будут обработаны. Окончательное содержание CRC-регистра является CRC-кодом.
7) В конце сообщения сначала передается младший байт CRC-кода, затем старший.
4.2.4 Условие тайм-аута
Как было отмечено выше, начало сообщения определяется по паузе длительностью не менее 4Т, конец сообщения детектируется при наличии паузы между символами длительностью более 2Т.
Если ведомый обнаруживает паузу между символами более 2Т, он начинает обработку сообщения. При успешном завершении обработки сообщения и выполнения предписанных кодом функции действий, ведомый выдает ведущему ответ.
После выдачи сообщения (запроса) ведущий должен ожидать ответа. Выдача ответа ведомым начинается не ранее, чем через промежуток времени, равный 2Т (время на обнаружение ведомым конца сообщения и начало его обработки). Кроме того, ведомый должен начать выдачу ответа через интервал времени длительностью не более 4Т. Если через это время ведущий не получает первого байта ответа, он считает, что произошел тайм_аут и фиксирует ошибку.
Условие тайм-аута фиксируется ведущим в следующих ситуациях:
установлены различные значения скоростей передачи данных в ведомом и ведущем;
установлены различные значения контроля паритета в ведомом и ведущем;
ведомый обнаружил в принятом символе ошибку паритета;
ведущий выдает сообщение с адресом несуществующего ведомого;
ведомый обнаружил несовпадение принятого и рассчитанного CRC_кодов;
ведомый не начал выдачу ответа спустя время 4Т.
При работе ведомый будет переключать свои выходные интерфейсные схемы на передачу только при успешной обработке принятого сообщения и готовности выдать ответ, но не ранее, чем спустя время 2Т после приема последнего байта сообщения.
4.3 Поддерживаемые блоком функции протокола Modbus
Список поддерживаемых блоком функций протокола Modbus представлен в таблице 6 (коды функций представлены в виде десятичных чисел). Далее в разделе подробно рассматриваются структуры запросов, ответов и действия, выполняемые блоком для каждой функции.
Таблица 6
Код функции |
Название функции |
|
01 |
Чтение состояния ключей |
|
03 |
Чтение регистров настройки |
|
04 |
Чтение регистров данных |
|
05 |
Управление одиночным ключом |
|
07 |
Чтение статуса блока |
|
08 |
Диагностика линии связи |
|
15 |
Групповое управление ключами |
|
16 |
Запись регистров настройки |
4.3.1 Функция 01 - чтение состояния ключей блока
Данная функция позволяет считать состояние изолированных ключей, имеющихся в составе блока. Широковещательный запрос не поддерживается.
Структура запроса
Запрос определяет начальный адрес считываемых ключей и число ключей, состояние которых будет считано.
Пример запроса для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
01 |
|
Старший байт адреса начального ключа |
00 |
|
Младший байт адреса начального ключа |
00 |
|
Старший байт количества читаемых ключей |
00 |
|
Младший байт количества читаемых ключей |
02 |
|
Младший байт CRC-кода |
BF |
|
Старший байт CRC-кода |
5B |
Так как в составе блока имеется только два ключа, адрес начального ключа и старший байт количества читаемых ключей всегда должны иметь нулевые значения. Младший байт количества читаемых ключей должен иметь значение “2” (по числу ключей, имеющихся в составе блока). При несовпадении полей адреса начального ключа и количества читаемых ключей с указанными значениями блок будет генерировать ответ ошибочной ситуации.
Структура ответа
Состояние ключей блока возвращается в одном байте данных, в котором каждый бит индицирует текущее состояние ключа. При этом нулевой бит соответствует ключу номер один, первый бит соответствует ключу номер два.
Единичное состояние бита соответствует замкнутому состоянию ключа, нулевой бит определяет разомкнутый ключ. Остальные биты байта данных (биты 2…7) всегда имеют нулевые значения.
Пример ответа для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
01 |
|
Счетчик байт данных |
01 |
|
Текущее состояние ключей |
02 |
|
Младший байт CRC-кода |
D4 |
|
Старший байт CRC-кода |
89 |
В данном примере в качестве текущего состояния ключей возвращается байт с шестнадцатеричным значением 02H или, в двоичной форме, 00000010. Таким образом, второй ключ находится в замкнутом состоянии, первый ключ - в разомкнутом.
4.3.2 Функция 03 - чтение регистров настройки блока
Данная функция позволяет считать содержимое регистров настройки блока. Широковещательный запрос не поддерживается.
Структура запроса
Запрос определяет начальный адрес регистра настройки и число регистров, содержимое которых будет считано, которое может принимать значения от единицы до 125. Регистры настройки адресуются с нулевого адреса. Значения адреса начального регистра и количества читаемых регистров должны находиться в диапазоне допустимых значений в соответствии с таблицей 9, иначе прибор будет генерировать ответ ошибочной ситуации.
Пример запроса для ведомого с адресом 18:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
12 |
|
Код функции |
03 |
|
Старший байт адреса начального регистра |
00 |
|
Младший байт адреса начального регистра |
00 |
|
Старший байт количества читаемых регистров |
00 |
|
Младший байт количества читаемых регистров |
02 |
|
Младший байт CRC-кода |
C6 |
|
Старший байт CRC-кода |
A8 |
В приведенном примере запрашивается выдача содержимого двух регистров настройки, начиная с адреса 0000H.
Структура ответа
Содержимое каждого регистра настройки в ответе выдается в виде двух байт. Вначале выдается содержимое старшего байта регистра, затем - содержимое младшего байта.
Пример ответа для ведомого с адресом 18:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
12 |
|
Код функции |
03 |
|
Счетчик байт |
04 |
|
Старший байт регистра настроек с адресом 0000H |
40 |
|
Младший байт регистра настроек с адресом 0000H |
80 |
|
Старший байт регистра настроек с адресом 0001H |
00 |
|
Младший байт регистра настроек с адресом 0001H |
00 |
|
Младший байт CRC-кода |
CC |
|
Старший байт CRC-кода |
DA |
В данном примере содержимое регистра 0000H равно 4080Н, регистр 0001H содержит значение 0000Н.
4.3.3 Функция 04 - чтение регистров данных блока
Данная функция позволяет считать содержимое регистров данных. Широковещательный запрос не поддерживается.
Структура запроса
Запрос определяет начальный адрес регистра данных и число регистров, содержимое которых будет считано, которое может принимать значения от единицы до 91. Регистры данных адресуются с нулевого адреса. Значения адреса начального регистра и количества читаемых регистров должны находиться в диапазоне допустимых значений в соответствии с таблицей 7, иначе прибор будет генерировать ответ ошибочной ситуации.
Пример запроса для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
04 |
|
Старший байт адреса начального регистра |
00 |
|
Младший байт адреса начального регистра |
00 |
|
Старший байт количества читаемых регистров |
00 |
|
Младший байт количества читаемых регистров |
01 |
|
Младший байт CRC-кода |
33 |
|
Старший байт CRC-кода |
5А |
В приведенном примере запрашивается выдача содержимого регистра данных с нулевым адресом.
Структура ответа
Содержимое каждого регистра данных в ответе выдается в виде двух байт. Вначале выдается содержимое старшего байта регистра, затем - содержимое младшего байта.
Пример ответа для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
04 |
|
Счетчик байт данных |
02 |
|
Старший байт данных регистра с адресом 0 |
00 |
|
Младший байт данных регистра с адресом 0 |
80 |
|
Младший байт CRC-кода |
79 |
|
Старший байт CRC-кода |
53 |
В данном примере содержимое регистра данных с нулевым адресом равно 80Н.
4.3.4 Функция 05 - управление одиночным ключом
Данная функция позволяет установить один из изолированных ключей, имеющихся в составе блока, в замкнутое или разомкнутое состояние. При широковещательном запросе функция управляет соответствующим ключом во всех подключенных к ведущему блоках.
Структура запроса
Запрос определяет номер управляемого ключа (нумерация ключей ведется с нуля) и состояние, в которое должен перейти ключ. Новое состояние ключа задается содержимым поля данных. При этом для замыкания ключа в поле данных должно быть передано значение FF00H, а для размыкания - 0000Н. Все другие значения поля данных являются неправильными и будут приводить к генерации ведомым ответа ошибочной ситуации.
Пример запроса для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
05 |
|
Старший байт номера ключа |
00 |
|
Младший байт номера ключа |
01 |
|
Старший байт данных управления ключом |
FF |
|
Младший байт данных управления ключом |
00 |
|
Младший байт CRC-кода |
DF |
|
Старший байт CRC-кода |
6A |
В данном примере запрос устанавливает ключ номер два в замкнутое состояние.
Так как в составе блока имеется только два ключа, номер ключа может принимать значения ноль или единица. При несовпадении поля номера ключа с указанными значениями блок будет генерировать ответ ошибочной ситуации.
Ключ блока устанавливается в состояние, указанное в запросе, сразу же после завершения обработки сообщения. Дальнейшее состояние ключа зависит от его параметров настройки:
если ключ не привязан к какому-либо каналу измерений, он остается в состоянии, заданном данной функцией, до получения следующего запроса на управление ключом;
если ключ привязан к каналу измерений, программное обеспечение блока будет устанавливать ключ в необходимое состояние в соответствии с логикой работы ключа (см. УНКР.407631.004 РЭ).
Структура ответа
Нормальный ответ представляет собой эхо запроса и возвращается после установки требуемого ключа в заданное состояние.
Пример ответа для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
05 |
|
Старший байт номера ключа |
00 |
|
Младший байт номера ключа |
01 |
|
Старший байт данных управления ключом |
FF |
|
Младший байт данных управления ключом |
00 |
|
Младший байт CRC-кода |
DF |
|
Старший байт CRC-кода |
6A |
4.3.5 Функция 07 - чтение статуса блока
Функция считывает значение статуса блока - байта, содержащего информацию о блоке и прохождении начальных тестов после включения питания. Широковещательный запрос не поддерживается.
Структура запроса
В запросе отсутствует поле данных.
Пример запроса для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
07 |
|
Младший байт CRC-кода |
4C |
|
Старший байт CRC-кода |
22 |
Структура ответа
Нормальный ответ содержит байт статуса блока.
Пример ответа для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
07 |
|
Статус прибора |
1D |
|
Младший байт CRC-кода |
E3 |
|
Старший байт CRC-кода |
FC |
4.3.6 Функция 08 - диагностика линии связи
Данная функция предназначена для проведения различных тестов связи между ведущим и ведомым и имеет ряд подфункций. Поддерживается только одна из подфункций, позволяющая возвратить ведущему данные, переданные в запросе. Широковещательный запрос не поддерживается
Структура запроса
Запрос кроме поля кода функции содержит поле кода подфункции.
Пример запроса для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
08 |
|
Старший байт кода подфункции |
00 |
|
Младший байт кода подфункции |
00 |
|
Старший байт данных |
FA |
|
Младший байт данных |
C4 |
|
Младший байт CRC-кода |
A1 |
|
Старший байт CRC-кода |
A8 |
Структура ответа
Нормальный ответ является полным повтором запроса.
Пример ответа для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
08 |
|
Старший байт кода подфункции |
00 |
|
Младший байт кода подфункции |
00 |
|
Старший байт данных |
FA |
|
Младший байт данных |
C4 |
|
Младший байт CRC-кода |
A1 |
|
Старший байт CRC-кода |
A8 |
При несовпадении кода подфункции с нулевым блок будет генерировать ответ ошибочной ситуации.
4.3.7 Функция 15 (0FH) - групповое управление ключами
Данная функция позволяет установить ключи, имеющиеся в составе блока, в замкнутое или разомкнутое состояние. При широковещательном запросе функция управляет ключами во всех подключенных к ведущему блоках.
Структура запроса
Запрос определяет начальный номер управляемых ключей (должен быть всегда равен нулю), число ключей (должно быть всегда равно двум) и состояния, в которые должны перейти ключи. Новые состояния ключей задаются содержимым поля данных. При этом бит 0 соответствует ключу номер 1, бит 1 соответствует ключу номер 2. Значения битов со второго по седьмой не учитываются.
Единичное состояние бита замыкает, нулевое размыкает соответствующий ключ.
Если номер начального номера ключа не равен нулю и/или количество ключей в запросе не равно двум блок будет генерировать ответ ошибочной ситуации.
Пример запроса для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
0F |
|
Старший байт начального номера ключа |
00 |
|
Младший байт начального номера ключа |
00 |
|
Старший байт количества ключей |
00 |
|
Младший байт количества ключей |
02 |
|
Счетчик байт |
01 |
|
Данные управления ключами |
01 |
|
Младший байт CRC-кода |
1E |
|
Старший байт CRC-кода |
5B |
В данном примере запрос замыкает первый ключ и размыкает второй ключ блока.
Ключи блока устанавливается в состояние, указанное в запросе, сразу же после завершения обработки сообщения. Дальнейшее состояние ключей зависит от их параметров настройки:
если ключ не привязан к какому-либо каналу измерений, он остается в состоянии, заданном данной функцией, до получения следующего запроса на управление ключом;
если ключ привязан к каналу измерений, программное обеспечение блока будет устанавливать ключ в необходимое состояние в соответствии с логикой работы ключа (см. УНКР.407631.004 РЭ).
Структура ответа
Нормальный ответ представляет собой эхо запроса и возвращается после установки ключей в заданное состояние.
Пример ответа для ведомого с адресом 17:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
11 |
|
Код функции |
0F |
|
Старший байт начального номера ключа |
00 |
|
Младший байт начального номера ключа |
00 |
|
Старший байт количества ключей |
00 |
|
Младший байт количества ключей |
02 |
|
Счетчик байт |
01 |
|
Данные управления ключами |
01 |
|
Младший байт CRC-кода |
1E |
|
Старший байт CRC-кода |
5B |
4.3.8 Функция 16 (10Н) - запись регистров настройки блока
Данная функция позволяет записать значения регистров настройки блока. При широковещательном запросе функция устанавливает содержимое соответствующих регистров настройки во всех подключенных к ведущему блоках.
Структура запроса
Запрос определяет начальный адрес регистра настройки и число записываемых регистров, которое не может превышать значения 123. Далее в поле данных передаются записываемые в регистры данные (два байта на регистр). Регистры настройки адресуются с нулевого адреса.
Пример запроса для ведомого с адресом 18:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
12 |
|
Код функции |
10 |
|
Старший байт адреса начального регистра |
00 |
|
Младший байт адреса начального регистра |
00 |
|
Старший байт количества записываемых регистров |
00 |
|
Младший байт количества записываемых регистров |
02 |
|
Счетчик байт данных |
04 |
|
Старший байт данных регистра 0015H |
40 |
|
Младший байт данных регистра 0015H |
80 |
|
Старший байт данных регистра 0016H |
00 |
|
Младший байт данных регистра 0016H |
00 |
|
Младший байт CRC-кода |
BC |
|
Старший байт CRC-кода |
03 |
В приведенном примере записываются два регистра настройки, начиная с адреса 0000Н. Для регистра с адресом 0000H записывается значение 4080Н, для регистра с адресом 0001Н записывается значение 0000H. Интерпретация содержимого регистров настройки подробно рассматривается в следующем разделе.
Блок проверяет запрос на максимально возможное число записываемых регистров (подробно рассматривается в следующем разделе) и при его превышении генерирует ответ ошибочной ситуации.
Структура ответа
Поскольку для записи регистров в энергонезависимую память требуется продолжительный интервал времени (до 70 миллисекунд) - с целью предотвращения возникновения условия тайм-аута блок генерирует ответ ошибочной ситуации с кодом “подтверждение”.
Пример ответа для ведомого с адресом 18:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
12 |
|
Код функции с установленным старшим битом (10H+80Н) |
90 |
|
Код ошибки “подтверждение” |
05 |
|
Младший байт CRC-кода |
7D |
|
Старший байт CRC-кода |
C6 |
Важно после генерирования запроса быть уверенным в правильности его исполнения и знать состояние блока. Проверкой может служить чтение записанного массива с помощью функции Modbus с номером три.
4.4 Ответ при ошибочной ситуации
За исключением широковещательного запроса, когда ведущий посылает ведомым запрос, он ожидает от ведомого получение нормального ответа. После получения ведомым запроса может произойти одно из четырех следующих событий:
если ведомый принял запрос без ошибок и может его обработать, он возвращает нормальный ответ;
если ведомый не принял запрос из-за ошибок связи, он не возвра-щает ответ. Программа ведущего будет фиксировать условие тайм-аута;
если ведомый принял запрос, но обнаружил ошибки связи (неверный паритет, CRC-код и т.п.), он не возвращает ответ. Программа ведущего будет фиксировать условие тайм-аута;
если ведомый принял запрос без ошибок связи, но не может обработать его (например, запрошен несуществующий регистр блока), ведомый будет возвращать ответ ошибочной ситуации, по которому ведущий может понять природу возникновения ошибки.
Два поля в ответе ошибочной ситуации имеют отличия от полей нормального ответа:
поле кода функции;
поле данных.
В случае нормального ответа ведомый повторяет код функции, принятой в запросе. Все коды функций имеют нулевой старший значащий бит (их значения меньше 80Н). При ответе ошибочной ситуации ведомый устанавливает старший бит кода функции в единицу.
Получив в ответе код функции с установленным в единицу старшим битом, ведущий распознает ответ ошибочной ситуации и может узнать причину возникновения ошибки, анализируя поле данных ответа.
В случае нормального ответа ведомый возвращает в поле данных информацию, затребованную функцией запроса. При ответе ошибочной ситуации в поле данных ведомый возвращает код ошибки, определяющий, какие условия привели к возникновению ошибки.
Ниже приведен пример запроса и ответа ошибочной ситуации.
Запрос:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
0A |
|
Код функции |
04 |
|
Старший байт адреса начального регистра |
00 |
|
Младший байт адреса начального регистра |
5С |
|
Старший байт количества читаемых регистров |
00 |
|
Младший байт количества читаемых регистров |
04 |
|
Младший байт CRC-кода |
30 |
|
Старший байт CRC-кода |
A0 |
Ответ ошибочной ситуации:
Имя поля |
Пример (HEX) |
|
Адрес ведомого |
0A |
|
Код функции |
84 |
|
Код ошибки |
03 |
|
Младший байт CRC-кода |
72 |
|
Старший байт CRC-кода |
C3 |
Поскольку последним адресом регистра данных является 005СH (см. таблицу 7), в запросе адрес начального регистра равен 5СН, а количество читаемых регистров равно четырем, ведомый фиксирует ошибку и возвращает ответ ошибочной ситуации с кодом ошибки 03 (неверные данные). Если бы количество читаемых регистров в запросе имело единичное значение, запрос был бы корректным.
Коды ошибок, выдаваемые блоком, представлены в таблице 7.
- Таблица 7
- 000CH,
- 000EH,
- 0010H,
- 0012H,
- 0014H,
- 0016H,
- 0018H,
- 001AH,
- 001CH,
- 001EH,
- 0020H,
- 0022H,
- 0024H,
- 0026H,
- 0028H,
- 002AH,
- 002CH,
- 002EH,
- 0030H,
- 0032H,
- 0034H,
- 004CH,
- 004EH,
- 0050H,
- 0052H,
- 0054H,
- 0056H,
- 0058H,
- 005DH,
- 005FH,
- 0061H,
Код ошибки |
Название |
Значение |
|
01 |
Неверная функция |
Код функции, принятый ведомым в запросе, не поддерживается ведомым |
|
02 |
Неверный адрес данных |
Адрес в запросе некорректен для ведомого |
|
03 |
Неверное значение данных |
Значение в поле данных запроса некорректно для ведомого |
|
05 |
Подтверждение |
Принятый запрос начал выполняться ведомым, но для его обработки требуется длительное время |
4.5 Регистры блока
4.5.1 Регистры данных блока
Блок имеет 130 регистров данных. Распределение и формат регистров приведены в таблице 8.
Таблица 8
Адрес регистра |
Тип |
Наименование |
Размерность параметра |
|
0000H |
Bin |
Регистр статуса каналов измере-ний |
относительные единицы |
|
0001H |
Bin |
Уровень, измеренный по первому поплавку |
относительные единицы |
|
0002H |
Bin |
Уровень, измеренный по второму поплавку |
относительные единицы |
|
0003H |
Bin |
Уровень, измеренный по третьему поплавку |
относительные единицы |
|
0004H |
Bin |
Уровень, измеренный по четвертому поплавку |
относительные единицы |
|
0005H |
Bin |
Давление, измеренное датчиком |
относительные единицы |
|
0006H |
Bin |
Температура, измеренная датчиком |
относительные единицы |
|
0007H |
Table |
Тип подключенного датчика |
Коды поддержи-ваемых типов датчиков приве-дены в таблице 9 |
|
0008H |
Table |
Тип подключенного датчика ДТМ2 |
Коды поддержи-ваемых типов датчиков ДТМ2 приведены в таблице 10 |
|
0009H |
Table |
Регистр диагностики |
Коды диагностики приведены в таблице 11 |
|
000AH, 000BH |
Float |
Значение уровня от первого поплавка |
м |
|
000DH |
Float |
Значение уровня от второго поплавка |
м |
|
000FH |
Float |
Значение уровня от третьего поплавка |
м |
|
0011H |
Float |
Значение уровня от четвертого поплавка |
м |
|
0013H |
Float |
Значение давления |
МПа (кПа для датчиков ДУУ6, ДУУ6-1) |
|
0015H |
Float |
Значение первого канала измерения температуры |
C |
|
0017H |
Float |
Значение второго канала измерения температуры |
C |
|
0019H |
Float |
Значение третьего канала измерения температуры |
C |
|
001BH |
Float |
Значение четвертого канала измерения температуры |
C |
|
001DH |
Float |
Значение пятого канала измерения температуры |
C |
|
001FH |
Float |
Значение шестого канала измерения температуры |
C |
|
0021H |
Float |
Значение седьмого канала измерения температуры |
C |
|
0023H |
Float |
Значение восьмого канала измерения температуры |
C |
|
0025H |
Float |
Значение девятого канала измерения температуры |
C |
|
0027H |
Float |
Значение десятого канала измерения температуры |
C |
|
0029H |
Float |
Значение одиннадцатого канала измерения температуры |
C |
|
002BH |
Float |
Значение двенадцатого канала измерения температуры |
C |
|
002DH |
Float |
Значение тринадцатого канала измерения температуры |
C |
|
002FH |
Float |
Значение четырнадцатого канала измерения температуры |
C |
|
0031H |
Float |
Значение пятнадцатого канала измерения температуры |
C |
|
0033H |
Float |
Значение шестнадцатого канала измерения температуры |
C |
|
0035H |
Float |
Значение первого токового выхода |
Единицы привязанного пара-метра |
|
0036H, 0037H |
Float |
Значение второго токового выхода |
Единицы привязанного пара-метра |
|
0038H, 0039H |
Float |
Значение третьего токового выхода |
Единицы привязанного пара- метра |
|
003AH, 003BH |
Float |
Значение четвертого токового выхода |
Единицы привязанного пара-метра |
|
003CH |
Table |
Регистр диагностики первого канала измерения датчика |
||
003DH |
Table |
Регистр диагностики второго канала измерения датчика |
||
003EH |
Table |
Регистр диагностики третьего канала измерения датчика |
||
003FH |
Table |
Регистр диагностики четвертого канала измерения датчика |
||
0040H |
Table |
Регистр диагностики пятого канала измерения датчика |
||
0041H |
Table |
Регистр диагностики шестого канала измерения датчика |
||
0042H |
Table |
Регистр диагностики седьмого канала измерения датчика |
||
0043H |
Table |
Регистр диагностики восьмого канала измерения датчика |
||
0044H |
Table |
Регистр диагностики девятого канала измерения датчика |
||
0045H |
Table |
Регистр диагностики десятого канала измерения датчика |
||
0046H |
Table |
Регистр диагностики одиннадцатого канала измерения датчика |
||
0047H |
Table |
Регистр диагностики двенадцатого канала измерения датчика |
||
0048H |
Table |
Регистр диагностики тринадцатого канала измерения датчика |
||
0049H |
Table |
Регистр диагностики четырнадцатого канала измерения датчика |
||
004AH |
Table |
Регистр диагностики пятнадцатого канала измерения датчика |
||
004BH |
Table |
Регистр диагностики шестнадцатого канала измерения датчика |
||
004DH |
Float |
Значение плотности продукта |
кг/м3 |
|
004FH |
Float |
Значение объёма, измеренного по первому поплавку |
м3 |
|
0051H |
Float |
Значение массы брутто продукта |
т |
|
0053H |
Float |
Значение массы нетто продукта |
т |
|
0055H |
Float |
Значение плотности продукта, приведённой к нормальным условиям (15 oС) |
кг/м3 |
|
0057H |
Float |
Значение объема продукта, приведённого к нормальным условиям (15 oС) |
м3 |
|
0059H |
Float |
Значение давления в газовой подушке меры вместимости (для датчика ДУУ6) |
кПа |
|
005AH |
Bin |
Номер версии ПО блока (старший байт - номер версии, младший байт - подномер версии), значение регистра равно 0500Н |
||
005BH |
Bin |
Число и месяц создания версии ПО блока (старший байт - число, младший байт - месяц), значение регистра равно 2005Н |
||
005CH |
Bin |
Год создания ПО блока (старший байт - последние две цифры года, младший байт всегда имеет нулевое значение), значение регистра равно 1100H |
||
005EH |
Float |
Значение объёма, измеренного по второму поплавку |
м3 |
|
0060H |
Float |
Значение объёма, измеренного по третьему поплавку |
м3 |
|
0062H |
Float |
Значение объёма, измеренного по четвёртому поплавку |
м3 |
|
0063H |
Table |
Регистр диагностики канала измерения уровня от первого поплавка |
||
0064H |
Table |
Регистр диагностики канала измерения уровня от второго поплавка |
||
0065H |
Table |
Регистр диагностики канала измерения уровня от третьего поплавка |
||
0066H |
Table |
Регистр диагностики канала измерения уровня от четвёртого поплавка |
||
0067H |
Table |
Регистр диагностики канала измерения давления (гидро-статического давления для ДУУ6, ДУУ6-1) |
||
0068H |
Table |
Регистр диагностики первого канала измерения температуры |
||
0069H |
Table |
Регистр диагностики второго канала измерения температуры |
||
006AH |
Table |
Регистр диагностики третьего канала измерения температуры |
||
006BH |
Table |
Регистр диагностики четвёртого канала измерения температуры |
||
006CH |
Table |
Регистр диагностики пятого канала измерения температуры |
||
006DH |
Table |
Регистр диагностики шестого канала измерения температуры |
||
006EH |
Table |
Регистр диагностики седьмого канала измерения температуры |
||
006FH |
Table |
Регистр диагностики восьмого канала измерения температуры |
||
0070H |
Table |
Регистр диагностики девятого канала измерения температуры |
||
0071H |
Table |
Регистр диагностики десятого канала измерения температуры |
||
0072H |
Table |
Регистр диагностики одиннадцатого канала измерения температуры |
||
0073H |
Table |
Регистр диагностики двенадцатого канала измерения температуры |
||
0074H |
Table |
Регистр диагностики тринадцатого канала измерения температуры |
||
0075H |
Table |
Регистр диагностики четырнадцатого канала измерения температуры |
||
0076H |
Table |
Регистр диагностики пятнадцатого канала измерения температуры |
||
0077H |
Table |
Регистр диагностики шестнадцатого канала измерения температуры |
||
0078H |
Table |
Регистр диагностики канала измерения плотности |
||
0079H |
Table |
Регистр диагностики канала измерения объёма по первому поплавку |
||
007AH |
Table |
Регистр диагностики канала измерения объёма по второму поплавку |
||
007BH |
Table |
Регистр диагностики канала измерения объёма по третьему поплавку |
||
007CH |
Table |
Регистр диагностики канала измерения объёма по четвёртому поплавку |
||
007DH |
Table |
Регистр диагностики канала измерения массы брутто |
||
007EH |
Table |
Регистр диагностики канала измерения массы нетто |
||
007FH |
Table |
Регистр диагностики канала измерения плотности, приведён-ной к нормальным условиям (15 oС) |
||
0080H |
Table |
Регистр диагностики канала измерения объёма, приведённого к нормальным условиям (15 oС) |
||
0081H |
Table |
Регистр диагностики канала измерения давления в газовой подушке меры вместимости (для ДУУ6, ДУУ6-1) |
Примечания:
Регистры данных с адресами, лежащими в диапазоне от 0000H до 0006H, являются эквивалентом соответствующих регистров данных уровнемеров поплавковых ДУУ4М (комплект ДУУ4М-RS) и выполняют задачу совместимости с указанными уровнемерами. Подробное описание регистров приведено ниже. Данные регистры содержат действительные значения параметров только в случаях комплектации уровнемеров датчиками ДУУ2М исполнения 1.
При комплектации уровнемера датчиками ДУУ6, ДУУ6-1 регистры с адресами 0012H и 0013H содержат значение давления гидростатического столба продукта (РГС), регистры с адресами от 0014H до 001DH содержат значения температур датчиков температуры с первого по пятый, регистры с адресами 001EH, 001FH содержат значение температуры датчика температуры, расположенного в корпусе ДУУ6, ДУУ6-1.
Возможные значения регистров с адресами, лежащими в диапазонах от 003CH до 004BH и от 0063H до 0081H приведены в таблице 12.
Данные типа FLOAT имеют инверсный формат плавающей точки стандарта IEEE 854-1987 (одиночная точность). Диапазон возможных значений параметра - от минус 3,391038 до 3,391038.
Параметр хранится в двух смежных регистрах (четырех байтах). Первый регистр параметра (с меньшим значением адреса) содержит в старшем байте биты от 7 до 1 байта порядка и бит знака мантиссы параметра, а в младшем байте - бит 0 порядка и биты от 22 до 16 мантиссы параметра (мантисса всегда хранится в нормализованном виде и ее 23-й бит, занятый битом 0 порядка, является скрытым и всегда равен 1). Второй регистр параметра содержит в старшем байте биты от 15 до 8 мантиссы мантиссы параметра и в младшем ба...
Подобные документы
Технические параметры, характеристики, описание конструкции и состав нашлемной системы. Разработка конструкции бинокулярного нашлемного блока индикации. Принцип действия оптико-электронных нашлемных систем целеуказания. Юстировка оптической системы.
дипломная работа [4,0 M], добавлен 24.11.2010Разработка схемы электрической структурной блока терморегулятора инкубатора. Энергосберегающий режим SLEEP. Расчет схемы сопряжения с нагревателем, потребляемой мощности и схемы индикации. Расчет норм времени по операциям технического процесса.
дипломная работа [1,1 M], добавлен 25.06.2017Проектирование устройства индикации на микроконтроллере KP1816BE51. Выбор и обоснование аппаратной части устройства. Разработка обслуживающей программы на ассемблере. Время выполнения программы индикации. Максимальная оптимизация выполняемого кода.
курсовая работа [21,6 K], добавлен 22.03.2011Разработка схемы блока чтения информации с датчиков, устройства сопряжения с аналоговым датчиком. Расчет электрических параметров микропроцессорной системы управления. Алгоритмы работы блока взаимодействия с оператором и обработки аварийных ситуаций.
курсовая работа [2,0 M], добавлен 06.03.2016Способы и методы измерения частоты, их характеристика. Типы индикаторов и проектирование принципиальной электрической схемы блока индикации. Разработка предварительного делителя частоты. Алгоритм работы микропроцессора и конструктивное решение прибора.
дипломная работа [1,0 M], добавлен 09.07.2013Разработка системы управления коротковолнового радиопередатчика на основе современной отечественной элементной базы. Документация для блока автоматизированного управления связью. Тепловой режим блока, технологичность и экономическая эффективность.
дипломная работа [468,7 K], добавлен 10.06.2009Внедрение микропроцессорной и цифровой техники в устройства управления промышленными объектами. Проектирование схемы детектора фронтов, генератора тактовых импульсов, счетного устройства, блока вывода в устройство обработки, блока индикации и управления.
курсовая работа [247,5 K], добавлен 15.05.2012Описание структурной схемы блока управления. Узел прижима оптического диска. Принципиальная схема отдельных узлов блока. Условия работы и параметры исполнительного двигателя диска. Выходной каскад блока управления. Узел защиты от перегрузки по току.
дипломная работа [9,0 M], добавлен 27.02.2016Разработка блока динамической индикации для тринадцатиразрядного светодиодного семисегментного индикатора с общим анодом. Хранение отображаемой информации (тринадцать цифр). Элементная база для разработки устройства. Разработка принципиальной схемы.
реферат [679,6 K], добавлен 30.06.2014Цифровые методы передачи информации. Цели кодирования сообщений. Классификация двоичных кодов. Принципы обнаружения и исправления ошибок кодами. Блок хранения данных на микросхемах К555ИР8. Принципиальная электрическая схема блока хранения данных.
реферат [616,0 K], добавлен 08.04.2013Разработка цифрового блока управления с датчиком формирователя импульсов, счетчиком импульсов с предустановкой, командным триггером и импульсным усилителем мощности. Формирование сигнала сброса, схема принципиальная фотоэлектрического импульсного датчика.
контрольная работа [103,2 K], добавлен 03.03.2011Назначение и область применения системы резервного электропитания. Расчет схемы блока выпрямителя, сетевого трансформатора, схемы блока инверторов, компараторов, управления, ключей, индикации и стабилизатора. Компоновка проектируемого устройства.
дипломная работа [307,5 K], добавлен 17.11.2010Разработка функциональной схемы и основных функциональных узлов. Назначение входных сигналов. Устройство ввода значений и блока деления. Сигнал запрещенного деления. Блок интервалов времени. Антидребезговый модуль. Блок индикации. Преобразование кода.
контрольная работа [404,0 K], добавлен 02.02.2016GSM блок управления автоматикой ворот. Передатчик сигнала с пульта. Описание электрической принципиальной схемы блока управления шлагбаумом (БУШ). Работа БУШ в режиме редактирования массива телефонных номеров в памяти, при приеме входящего звонка.
дипломная работа [3,0 M], добавлен 04.02.2016Описание работы блока управления привода Fm-Stepdrive по схеме электрической структурной, необходимость её модернизации. Расчет временных соотношений командного цикла и надежности модернизированной схемы блока управления, выбор её элементной базы.
курсовая работа [573,5 K], добавлен 13.03.2014Традиционный LPT-порт и расширения параллельного порта. Физический и электрический интерфейс порта, передача данных. Схема памяти и блок электрических ключей. Структура и принцип работы блока сопряжения. Разработка и изготовление печатного основания.
курсовая работа [2,1 M], добавлен 11.02.2012Проектирование принципиальной схемы устройства индикации на основе 8-битного AVR микроконтроллера типа ATmega16 с питанием от источника питания на 10 V и отображением данных на графическом LCD-дисплее. Разработка программного обеспечения микроконтроллера.
курсовая работа [11,3 M], добавлен 19.12.2010Моделирование генератора с кварцевым резонатором, оценка его добротности и стабильности. Разработка электронно-счетного частотомера; расчет параметров его структурных компонентов (мультивибратора, индикатора, триггера). Конструирование блока питания.
курсовая работа [773,3 K], добавлен 27.04.2011Разработка структурной и принципиальной схемы микропроцессора. Подключение шины адреса, данных и управления к соответствующим блокам на схеме. Формирование блока устройства памяти (ОЗУ и ПЗУ) и подключение его к шинам блока центрального процессора.
контрольная работа [220,5 K], добавлен 08.07.2012Общие и тактико-технические требования к конструкции бортовой аппаратуры. Блок ввода данных для энергонезависимого хранения и выдачи в бортовую ЭВМ данных полетного задания, а также приема данных регистрации. Структурная схема и разработка конструкции.
дипломная работа [207,2 K], добавлен 16.04.2012