
6-84
6
Код функции
Назначение команды определяется кодом функции. Предусмотрено три функции, коды которых
представлены в следующей таблице.
Данные
Последовательно передаваемые данные должны состоять из адреса регистра памяти (проверочного
кода, если выбран адрес, соответствующий режиму проверки связи) и данных, содержащихся в
регистре. Длина блока данных зависит от параметров команды.
Проверка ошибок
Для обнаружения ошибок связи используется процедура CRC-16 (контроль циклическим избыточным
кодом, метод проверки контрольной суммы).
Результат вычисления контрольной суммы хранится в слове данных (16 битов) с начальным значением
FFFH. Значение данного слова изменяется в процессе выполнения операций "Исключающее ИЛИ" и
"Смещение" над пакетом данных, который должен быть передан (адрес ведомого устройства, код
функции, данные) и фиксированным значением А001Н. По завершении расчета в слове данных
содержится значение контрольной суммы.
Контрольная сумма рассчитывается следующим образом:
1. В качестве начального значения 16-битового слова данных, используемого для расчета, должно
быть введено FFFFH.
2. Над начальным значением и адресом ведомого устройства выполняется операция "Исключающее
ИЛИ".
3. Результат смещается вправо до тех пор, пока не устанавливается ("1") бит переполнения.
4. Когда бит принимает значение "1", к результату шага 3 и фиксированному значению А001H
применяется "Исключающее ИЛИ".
5. После восьми операций сдвига (всякий раз, когда бит переполнения переходит в состояние "1",
должно выполняться "Исключающее ИЛИ", описанное в шаге 4) над результатом предыдущей
операции и следующим пакетом данных (8-битовый код функции) выполняется операция
"Исключающее ИЛИ". Результат данной операции вновь должен быть смещен 8 раз и, если
требуется, для него вновь должна быть выполнена операция "Исключающее ИЛИ" с
фиксированным значением A001H.
6. Аналогичные действия должны быть выполнены для данных (сначала для старшего байта, а затем
для младшего байта), пока не будут обработаны все данные.
7. Результатом данной операции является контрольная сумма. Она состоит из старшего и младшего
байтов.
Код функции (Hex) Функция
Командное сообщение Ответное сообщение
Минимум
(байт)
Максимум
(байт)
Минимум
(байт)
Максимум
(байт)
03H Чтение содержимого регистра памяти 88737
08H Проверка связи 8888
10H Запись в несколько регистров памяти 11 41 8 8