| Версия 1.3 от 28 декабря 2011 г., листов 13.
Протокол обмена информацией между приборами типа МЕТАКОН и внешним устройством по последовательному каналу RS-485
1. Общие положения
Приборы типа МЕТАКОН рассчитаны на подключение к ним по последовательному каналу RS-485 устройств двух типов:
- соединение одного или нескольких приборов с одним специализированным устройством (устройства с жестким алгоритмом).
- соединение одного или нескольких приборов с компьютером (устройства с мягким алгоритмом).
Под специализированными понимаются устройства, имеющие стандартизированный протокол обмена (изменить который нельзя) и гарантирующие свое функционирование совместно с любыми (в том числе и вновь разработанными) подчиненными приборами. Например, это могут быть устройства вывода данных измерения на принтер, преобразования их в токовые сигналы различных стандартов и т.д. Стандартизация специализированных устройств подразумевает обязательную поддержку устройств данного типа во вновь разрабатываемых приборах серии МЕТАКОН.
Параметры работы специализированных устройств могут задаваться через приборы типа МЕТАКОН, для чего в меню конфигурирования предусматриваются соответствующие пункты.
2. Физические характеристики канала передачи данных:
- способ передачи – асинхронный полудуплекс;
- скорость передачи выбирается из значений 2.4, 4.8, 9.6, 19.2 Кбод;
- формат посылки фиксирован – один стартовый бит., восемь бит данных без проверки на четность, один стоповый бит;
- максимальное количество устройств в одной сети без повторителей – 32;
- максимальное расстояние передачи без повторителей – не более 1 км.
3. Описание протокола
Командно-информационный обмен управляющего компьютера или специализированного устройства (в дальнейшем УУ – управляющее устройство) с приборами осуществляется в пакетном режиме по принципу "команда-ответ".
Способ представления информации – двоичный побайтовый; адреса или параметры, длина которых превышает 1 байт, передаются младшими байтами вперед.
Максимальная длина пакета – 38 байт.
Каждый пакет состоит из нескольких полей, передающихся друг за другом без разрывов во времени.
Таблица 1. Перечень командных и ответных пакетов (в порядке следования)
Название поля
|
Условное обозначение
|
Длина поля, (байт)
|
Примечания.
|
Поле сетевого адреса прибора
|
DEV
|
1
|
Устанавливается при конфигурации прибора.
|
Поле адреса канала прибора
|
CHA
|
1
|
Канал – локальный замкнутый контур управления одиночным параметром техпроцесса. Каналы нумеруются с 0.
|
Поле адреса регистра
|
REG
|
1
|
Регистр – переменная или константа канала.
|
Поле команды
|
CMD
|
1
|
Двоичный код команды:
00h – чтение регистра, далее RD,
01h – запись регистра, далее WR.
|
Поле типа данных
|
TYP
|
1
|
Младшая тетрада содержит условный тип регистра (см. табл. 2), а старшие два бита определяют права доступа к регистру:
TYP.7=1 – регистр доступен по записи (W);
TYP.6=1 – регистр доступен по чтению (R).
|
Поле данных
|
DATA
|
1…32
|
Может отсутствовать (в зависимости от назначения пакета)
|
Поле контрольной суммы
|
CRC
|
1
|
Однобайтовый циклический код, вычисляемый по всем предшествующим битам данного пакета (см. ниже).
|
Модель прибора со стороны УУ представляет собой набор регистров (переменных и констант различной длины и формата), читая и записывая которые УУ имеет возможность сбора информации и инициирования различных действий приборов.
Таблица 2. Перечень типизированных форматов данных
Характеристика типа
|
Обозначение
|
Длина (байт)
|
Диапазон возможных значений
|
TYP.0…3
|
Булева переменная
|
Bool
|
1
|
00h = False, FFh = True
|
0
|
Беззнаковое байтовое
|
Ubyte
|
1
|
0...255
|
1
|
Знаковое байтовое
|
Byte
|
1
|
-128...127
|
2
|
Беззнаковое целое
|
Uint
|
2
|
0...65535
|
3
|
Знаковое целое
|
Int
|
2
|
-32768...32767
|
4
|
Беззнаковое длинное
|
Ulong
|
4
|
0...4294967295
|
5
|
Знаковое длинное
|
Long
|
4
|
-2147483648...2147483647
|
6
|
С плавающей точкой (формат IEEE)
|
Float
|
4
|
±1.2E-38 ... ±3.4E+38
|
7
|
С плавающей точкой (формат IEEE)
|
Double
|
8
|
±2.2E-308 ... ±1.8E+308
|
8
|
Нуль – терминированная строка
|
ASCIIZ
|
1…32, включая завершающий 0
|
Любая последовательность ASCII кодов, заканчивающихся нулем
|
9
|
Признаком конца пакета служит отсутствие передачи на линии после окончания стоп-бита последнего байта в течении времени передачи двух байтов при данной скорости.
Типичные сеансы связи УУ с прибором могут выглядеть следующим образом:
Операция чтения состояния регистра:
От УУ: DEV.CHA.REG.RD.CRC
От прибора: DEV.CHA.REG.RD.TYP.DATA.CRC
Операция установки состояния регистра:
От УУ: DEV.CHA.REG.WR.TYP.DATA.CRC
От прибора: DEV.CHA.REG.WR.CRC
Примечание: В вышеприведенных выражениях десятичные точки используются исключительно с целью визуального разделения полей командных и ответных пакетов. На самом деле поля пакета передаются друг за другом без разрывов во времени.
После завершения передачи последнего байта командного пакета УУ ожидает поступления ответа от запрашиваемого прибора в течении:
TIMEOUT = 2*ONE_TIME + SIZE*ONE_TIME + 25 мс
где:
ONE_TIME - время передачи одного байта при выбранной скорости. Байт посылается 10-ю битами (1 стартовый бит + 8 бит данных + 1 стоповый бит), следовательно ONE_TIME = 10 / (скорость обмена, в бод);
SIZE - ожидаемый размер ответного пакета (в байтах);
25 мс - максимальное время реакции регулятора.
Если через TIMEOUT [мс] ответный пакет не поступает, то производятся еще 2 попытки, если они также заканчиваются неудачей, сеанс связи считается несостоявшимся.
Прибор отвечает на поступивший командный пакет только в том случае, если поле адреса пакета совпадает с его собственным адресом, поле номера канала соответствует одному из каналов, действительно имеющихся в наличии в данном регуляторе, а номер регистра соответствует одному из действительно существующих регистров канала.
Пакеты с некорректной контрольной суммой отбрасываются (считаются не поступившими).
Контрольная сумма вычисляется сверткой всех битов пакета (начиная с младшего бита первого байта) с полиномом X8+X5+X4+1. Алгоритм вычисления CRC приведен в приложении.
4. Регистровая модель канала
Логическая (регистровая) модель канала является совокупностью регистров различного назначения, которые могут иметь различную длину и формат.
Адресное пространство регистров делится на две половины:
- Область с адресами 00h - 7Fh предназначена для размещения регистровых блоков общего назначения, структура которых может быть различна у разных приборов и разных каналов (используется в устройствах с мягким алгоритмом).
- Область с адресами 7Fh - FFh - стандартизирована, и содержит блоки регистров, структура и адреса которых жестко закреплены за конкретными типами специализированных устройств (используется в устройствах с жестким алгоритмом). Иначе говоря любое специализированное управляющее устройство обращается только к закрепленным за устройствами этого типа регистрам.
На данный момент разработано только одно специализированное управляющее устройство - адаптер принтера МЕТАПРИНТ. Для устройств этого типа отведены следующие регистры (табл. 3).
Таблица 3. Интерфейсные регистры специализированного управляющего устройства типа адаптера принтера
Адрес регистра
|
Доступ
|
Тип
|
Назначение регистра.
|
80h
|
R
|
Int
|
Содержит результат измерения данного канала (то, что печатается)
|
81h
|
R
|
Ubyte
|
Содержит код периода вывода на печать результата измерения
|
82h
|
R
|
Ubyte
|
Содержит код положения десятичной точки
|
Со стороны УУ (устройства с мягким алгоритмом) каждый канал со своей определенной регистровой структурой имеет свой индивидуальный код, по которому УУ определяет тип этого канала. Регистр с адресом 00h всегда содержит константу этого кода. Регистровые модели каналов приборов типа МЕТАКОН-5Х2-ХХ-1, МЕТАКОН-535-1, МЕТАКОН-5Х4-ХХ-1, МЕТАКОН-5Х3-ХХ-1, МЕТАКОН-613-ХХ-1, МЕТАКОН-614-ХХ-1, МЕТАКОН-515-Х-1 приведены в табл. 4 - 10.
Таблица 4. Регистровая модель одного канала приборов типа МЕТАКОН-5Х2-ХХ-1
Адрес
|
Доступ
|
Тип
|
Название регистра.
|
Диапазон допустимых значений
|
Примечание
|
00h
|
R
|
Ubyte
|
Код канала данного типа
|
00h
|
--
|
01h
|
R
|
Int
|
Результат измерения
|
-999…9999
|
1,2,3,4
|
02h
|
RW
|
Int
|
Параметр H
|
-999…9999
|
1,2,5,6,7
|
03h
|
RW
|
Int
|
Параметр h
|
-999…9999
|
1,2,5,6,7
|
04h
|
RW
|
Bool
|
Выход H
|
0h или FFh
|
4,7,8
|
05h
|
RW
|
Int
|
Параметр L
|
-999…9999
|
1,2,5,6,7
|
06h
|
RW
|
Int
|
Параметр l
|
-999…9999
|
1,2,5,6,7
|
07h
|
RW
|
Bool
|
Выход L
|
0h или FFh
|
4,7,8
|
Таблица 5. Регистровая модель одного канала приборов типа МЕТАКОН-535-1
Адрес
|
Доступ
|
Тип
|
Название регистра.
|
Диапазон допустимых значений
|
Примечание
|
00h
|
R
|
Ubyte
|
Код канала данного типа
|
01h
|
--
|
01h
|
R
|
Int
|
Результат измерения
|
-999…9999
|
1,2,3,4
|
02h
|
RW
|
Int
|
Уставка
|
-999…9999
|
1,2,5,6,7
|
03h
|
RW
|
Int
|
Ширина гистерезиса
|
0…255
|
1,2,5,6
|
04h
|
RW
|
Bool
|
Выход управления
|
0h или FFh
|
4,7,8
|
Таблица 6. Регистровая модель одного канала приборов типа МЕТАКОН-5Х4-ХХ-1
Адрес
|
Доступ
|
Тип
|
Название регистра.
|
Диапазон допустимых значений
|
Примечание
|
00h
|
R
|
Ubyte
|
Код канала данного типа
|
02h
|
--
|
01h
|
R
|
Int
|
Результат измерения
|
-999…9999
|
1,2,3,4
|
02h
|
RW
|
Int
|
Уставка ПДД регулятора
|
-999…9999
|
1,2,5,6
|
03h
|
RW
|
Uint
|
Зона пропорциональности
|
1…9999
|
1,2,5,6
|
04h
|
RW
|
Uint
|
Постоянная интегрирования
|
1…30000
|
5,6,9
|
05h
|
RW
|
Ubyte
|
Постоянная дифференцирования
|
0…255
|
5,6,9
|
06h
|
RW
|
Byte
|
Сигнал управления
|
-100…100
|
4,6,8,13
|
07h
|
R
|
Bool
|
Выход “Больше”
|
0h или FFh
|
4
|
08h
|
R
|
Bool
|
Выход “Меньше”
|
0h или FFh
|
4
|
09h
|
RW
|
Int
|
Уставка Н
|
-999…9999
|
1,2,5,6,7
|
0Ah
|
RW
|
Ubyte
|
Ширина гистерезиса Н
|
0…255
|
1,2,5,6
|
0Bh
|
RW
|
Bool
|
Выход Н
|
0h или FFh
|
4,7,8
|
0Ch
|
RW
|
Int
|
Уставка L
|
-999…9999
|
1,2,5,6,7
|
0Dh
|
RW
|
Ubyte
|
Ширина гистерезиса L
|
0…255
|
1,2,5,6
|
0Eh
|
RW
|
Bool
|
Выход L
|
0h или FFh
|
4,7,8
|
Таблица 7. Регистровая модель одного канала приборов типа МЕТАКОН-5Х3-ХХ-1
Адрес
|
Доступ
|
Тип
|
Название регистра.
|
Диапазон допустимых значений
|
Примечание
|
00h
|
R
|
Ubyte
|
Код канала данного типа
|
03h
|
--
|
01h
|
R
|
Int
|
Результат измерения
|
-999…9999
|
1,2,3,4
|
02h
|
RW
|
Int
|
Уставка ПИД регулятора
|
-999…9999
|
1,2,5,6
|
03h
|
RW
|
Uint
|
Зона пропорциональности
|
1…9999
|
1,2,5,6
|
04h
|
RW
|
Uint
|
Постоянная интегрирования
|
1…30000
|
5,6,9
|
05h
|
RW
|
Ubyte
|
Постоянная дифференцирования
|
0…255
|
5,6,9
|
06h
|
RW
|
Byte
|
Выходная мощность
|
-100…100
|
4,6,8,14
|
07h
|
R
|
Bool
|
Выход ШИМ+
|
0h или FFh
|
4
|
08h
|
R
|
Bool
|
Выход ШИМ-
|
0h или FFh
|
4
|
09h
|
RW
|
Int
|
Уставка Н
|
-999…9999
|
1,2,5,6,7
|
0Ah
|
RW
|
Ubyte
|
Ширина гистерезиса Н
|
0…255
|
1,2,5,6
|
0Bh
|
RW
|
Bool
|
Выход Н
|
0h или FFh
|
4,7,8
|
0Ch
|
RW
|
Int
|
Уставка L
|
-999…9999
|
1,2,5,6,7
|
0Dh
|
RW
|
Ubyte
|
Ширина гистерезиса L
|
0…255
|
1,2,5,6
|
0Eh
|
RW
|
Bool
|
Выход L
|
0h или FFh
|
4,7,8
|
Таблица 8 Регистровая модель одного канала приборов типа МЕТАКОН-614-ХХ-1
Адрес
|
Доступ
|
Тип
|
Название регистра.
|
Диапазон допустимых значений
|
Примечание
|
00h
|
R
|
Ubyte
|
Код канала данного типа
|
04h
|
--
|
01h
|
R
|
Int
|
Результат измерения
|
-999…9999
|
1,2,3,4
|
02h
|
RW
|
Int
|
Уставка ПДД регулятора
|
-999…9999
|
1,2,5,6
|
03h
|
RW
|
Uint
|
Зона пропорциональности
|
1…9999
|
1,2,5,6
|
04h
|
RW
|
Uint
|
Постоянная интегрирования
|
1…30000
|
5,6,9
|
05h
|
RW
|
Ubyte
|
Постоянная дифференцирования
|
0…255
|
5,6,9
|
06h
|
RW
|
Byte
|
Сигнал управления
|
-100…100
|
4,6,8,13
|
07h
|
R
|
Bool
|
Выход “Больше”
|
0h или FFh
|
4
|
08h
|
R
|
Bool
|
Выход “Меньше”
|
0h или FFh
|
4
|
09h
|
RW
|
Int
|
Параметр Н
|
-999…9999
|
1,2,5,6,7
|
0Ah
|
RW
|
Int
|
Параметр h
|
-999…9999
|
1,2,5,6,7
|
0Bh
|
RW
|
Bool
|
Выход Н
|
0h или FFh
|
4,7,8
|
0Ch
|
RW
|
Int
|
Параметр L
|
-999…9999
|
1,2,5,6,7
|
0Dh
|
RW
|
Int
|
Параметр l
|
-999…9999
|
1,2,5,6,7
|
0Eh
|
RW
|
Bool
|
Выход L
|
0h или FFh
|
4,7,8
|
0Fh
|
RW
|
Ubyte
|
Режим работы
|
0,1,2,4,6,8
|
5,7,8,10,11
|
10h
|
RW
|
Ubyte
|
Номер циклограммы
|
0…9
|
5,6
|
11h
|
RW
|
Ubyte
|
Номер участка циклограммы
|
0…9
|
5,6
|
12h
|
RW
|
Int
|
Начальное значение циклограммы
|
-999…9999
|
1,2,5,6
|
13h
|
RW
|
Ubyte
|
Условие начала циклограммы
|
0,1,2,3,4
|
5,10
|
14h
|
RW
|
Uint
|
Время текущего участка
|
0…9999
|
5,6,12
|
15h
|
RW
|
Int
|
Значение текущего участка
|
-999…9999
|
1,2,5,6
|
16h
|
RW
|
Ubyte
|
Состояние выходов d текущего участка
|
0…7
|
5,6,8,10
|
17h
|
R
|
Bool
|
Выход d0
|
0h или FFh
|
4
|
18h
|
R
|
Bool
|
Выход d1
|
0h или FFh
|
4
|
19h
|
R
|
Bool
|
Выход d2
|
0h или FFh
|
4
|
Таблица 9. Регистровая модель одного канала приборов типа МЕТАКОН-613-ХХ-1
Адрес
|
Доступ
|
Тип
|
Название регистра.
|
Диапазон допустимых значений
|
Примечание
|
00h
|
R
|
Ubyte
|
Код канала данного типа
|
05h
|
--
|
01h
|
R
|
Int
|
Результат измерения
|
-999…9999
|
1,2,3,4
|
02h
|
RW
|
Int
|
Уставка ПИД регулятора
|
-999…9999
|
1,2,5,6
|
03h
|
RW
|
Uint
|
Зона пропорциональности
|
1…9999
|
1,2,5,6
|
04h
|
RW
|
Uint
|
Постоянная интегрирования
|
1…30000
|
5,6,9
|
05h
|
RW
|
Ubyte
|
Постоянная дифференцирования
|
0…255
|
5,6,9
|
06h
|
RW
|
Byte
|
Выходная мощность
|
-100…100
|
4,6,8,14
|
07h
|
R
|
Bool
|
Выход ШИМ+
|
0h или FFh
|
4
|
08h
|
R
|
Bool
|
Выход ШИМ-
|
0h или FFh
|
4
|
09h
|
RW
|
Int
|
Уставка Н
|
-999…9999
|
1,2,5,6,7
|
0Ah
|
RW
|
Ubyte
|
Ширина гистерезиса Н
|
0…255
|
1,2,5,6
|
0Bh
|
RW
|
Bool
|
Выход Н
|
0h или FFh
|
4,7,8
|
0Ch
|
RW
|
Int
|
Уставка L
|
-999…9999
|
1,2,5,6,7
|
0Dh
|
RW
|
Ubyte
|
Ширина гистерезиса L
|
0…255
|
1,2,5,6
|
0Eh
|
RW
|
Bool
|
Выход L
|
0h или FFh
|
4,7,8
|
0Fh
|
RW
|
Ubyte
|
Режим работы
|
0,1,2,4,6,8
|
5,7,8,10,11
|
10h
|
RW
|
Ubyte
|
Номер циклограммы
|
0…9
|
5,6
|
11h
|
RW
|
Ubyte
|
Номер участка циклограммы
|
0…9
|
5,6
|
12h
|
RW
|
Int
|
Начальное значение циклограммы
|
-999…9999
|
1,2,5,6
|
13h
|
RW
|
Ubyte
|
Условие начала циклограммы
|
0,1,2,3,4
|
5,10
|
14h
|
RW
|
Uint
|
Время текущего участка
|
0…9999
|
5,6,12
|
15h
|
RW
|
Int
|
Значение текущего участка
|
-999…9999
|
1,2,5,6
|
16h
|
RW
|
Ubyte
|
Состояние выходов d текущего участка
|
0…7
|
5,6,8,10
|
17h
|
R
|
Bool
|
Выход d0
|
0h или FFh
|
4
|
18h
|
R
|
Bool
|
Выход d1
|
0h или FFh
|
4
|
19h
|
R
|
Bool
|
Выход d2
|
0h или FFh
|
4
|
Таблица 10. Регистровая модель одного канала приборов типа МЕТАКОН-515-Х-1
Адрес
|
Доступ
|
Тип
|
Название регистра.
|
Диапазон допустимых значений
|
Примечание
|
00h
|
R
|
Ubyte
|
Код канала данного типа
|
64h
|
--
|
01h
|
R
|
Int
|
Результат измерения
|
-999…9999
|
1,2,3,15
|
02h
|
RW
|
Int
|
Основная уставка ПИД регулятора
|
-999…9999
|
1,2,5,6,16
|
03h
|
RW
|
Uint
|
Зона пропорциональности
|
1…9999
|
1,2,5,6
|
04h
|
RW
|
Uint
|
Постоянная интегрирования
|
1…9999
|
5,6,17
|
05h
|
RW
|
Uint
|
Постоянная дифференцирования
|
0…9999
|
5,6,20
|
06h
|
RW
|
Uint
|
Скорость изменения задания (рампа)
|
0…9999
|
5,6,18
|
07h
|
RW
|
Ubyte
|
Выходная мощность
|
0…100
|
5,6,15,19
|
08h
|
RW
|
Int
|
Уставка H компаратора H
|
-999…9999
|
1,2,5,6,7
|
09h
|
RW
|
Int
|
Уставка h компаратора H
|
-999…9999
|
1,2,5,6,7
|
0Ah
|
RW
|
Int
|
Уставка H компаратора L
|
-999…9999
|
1,2,5,6,7
|
0Bh
|
RW
|
Int
|
Уставка h компаратора L
|
-999…9999
|
1,2,5,6,7
|
0Ch
|
RW
|
Int
|
Уставка H компаратора F
|
-999…9999
|
1,2,5,6,7
|
0Dh
|
RW
|
Int
|
Уставка h компаратора F
|
-999…9999
|
1,2,5,6,7
|
0Eh
|
RW
|
Int
|
Дополнительная уставка 0 ПИД регулятора
|
-999…9999
|
1,2,5,6
|
0Fh
|
RW
|
Int
|
Дополнительная уставка 1 ПИД регулятора
|
-999…9999
|
1,2,5,6
|
10h
|
RW
|
Int
|
Дополнительная уставка 2 ПИД регулятора
|
-999…9999
|
1,2,5,6
|
11h
|
RW
|
Int
|
Дополнительная уставка 3 ПИД регулятора
|
-999…9999
|
1,2,5,6
|
12h
|
R
|
Bool
|
Выход H/ШИМ
|
0h или FFh
|
15
|
13h
|
R
|
Bool
|
Выход L
|
0h или FFh
|
15
|
14h
|
R
|
Bool
|
Выход F/АВАРИЯ
|
0h или FFh
|
15
|
Прибор МЕТАКОН-515-Х-1 дополнительно поддерживает скорости передачи 38.4, 57.6 и 115.2 кбод.
Таблица 10. Регистровая модель одного канала приборов типа МЕТАКОН-515-Х-1 V.2
Адрес
|
Доступ
|
Тип
|
Название регистра.
|
Диапазон допустимых значений
|
Примечание
|
00h
|
R
|
Ubyte
|
Код канала данного типа
|
65h
|
--
|
01h
|
R
|
Int
|
Результат измерения
|
-999…9999
|
1,2,3,15
|
02h
|
RW
|
Int
|
Основная уставка ПИД регулятора
|
-999…9999
|
1,2,5,6,16
|
03h
|
RW
|
Uint
|
Зона пропорциональности
|
1…9999
|
1,2,5,6
|
04h
|
RW
|
Uint
|
Постоянная интегрирования
|
1…9999
|
5,6,17
|
05h
|
RW
|
Uint
|
Постоянная дифференцирования
|
0…9999
|
5,6,20
|
06h
|
RW
|
Uint
|
Скорость изменения задания (рампа)
|
0…9999
|
5,6,18
|
07h
|
RW
|
Ubyte
|
Выходная мощность
|
0…100
|
5,6,15,19
|
08h
|
RW
|
Int
|
Уставка H компаратора H
|
-999…9999
|
1,2,5,6,7
|
09h
|
RW
|
Int
|
Уставка h компаратора H
|
-999…9999
|
1,2,5,6,7
|
0Ah
|
RW
|
Int
|
Уставка H компаратора L
|
-999…9999
|
1,2,5,6,7
|
0Bh
|
RW
|
Int
|
Уставка h компаратора L
|
-999…9999
|
1,2,5,6,7
|
0Ch
|
RW
|
Int
|
Уставка H компаратора F
|
-999…9999
|
1,2,5,6,7
|
0Dh
|
RW
|
Int
|
Уставка h компаратора F
|
-999…9999
|
1,2,5,6,7
|
0Eh
|
RW
|
Int
|
Дополнительная уставка 0 ПИД регулятора
|
-999…9999
|
1,2,5,6
|
0Fh
|
RW
|
Int
|
Дополнительная уставка 1 ПИД регулятора
|
-999…9999
|
1,2,5,6
|
10h
|
RW
|
Int
|
Дополнительная уставка 2 ПИД регулятора
|
-999…9999
|
1,2,5,6
|
11h
|
RW
|
Int
|
Дополнительная уставка 3 ПИД регулятора
|
-999…9999
|
1,2,5,6
|
12h
|
R
|
Bool
|
Выход H/ШИМ
|
0h или FFh
|
15
|
13h
|
R
|
Bool
|
Выход L
|
0h или FFh
|
15
|
14h
|
R
|
Bool
|
Выход F/АВАРИЯ
|
0h или FFh
|
15
|
15h
|
RW
|
Ubyte
|
Режим работы
|
0,1,2,3
|
21
|
Прибор МЕТАКОН-515-Х-1 V.2 дополнительно поддерживает скорости передачи 38.4, 57.6 и 115.2 кбод.
Следующие примечания относятся ко всем вышеуказанным таблицам:
Примечание 1. Физический смысл значения регистра зависит от типа используемого в приборе датчика и настроек прибора. Диапазон изменения может быть ограничен допустимыми значениями для конкретного типа датчика (см. Руководство по эксплуатации на данный прибор).
Примечание 2. Положение десятичной точки устанавливается в приборе при настройке на конкретный тип датчика и должно быть учтено опрашивающей программой при чтении данного регистра. Само значение регистра не содержит десятичной точки.
Примечание 3. В случае возникновения аварийной ситуации в приборе (см. Руководство по эксплуатации на данный прибор) этот регистр содержит число -32768.
Примечание 4. Содержимое регистра обновляется прибором 1 раз в секунду.
Примечание 5. Значение регистра сохраняется в энергонезависимой памяти при отключении питания прибора.
Примечание 6. В случае записи в регистр значения, выходящего за указанный диапазон, это значение перезаписывается в приборе верхним или нижним допустимым пределом. При этом прибор не сигнализирует об ошибке.
Примечание 7. Значение, записываемое в данный регистр, может быть изменено прибором в случае его несогласованности с другими параметрами прибора (см. Руководство по эксплуатации на данный прибор). При этом прибор не сигнализирует об ошибке.
Примечание 8. Запись в данный регистр допустима, но прибор может изменить записанное значение в соответствии со своим алгоритмом и режимом работы (см. Руководство по эксплуатации на данный прибор).
Примечание 9. Значение регистра задается в секундах.
Примечание 10. Регистр не может принимать никакие другие значения кроме указанных. Расшифровка значений указывается в Руководстве по эксплуатации на данный прибор.
Примечание 11. Регистр 0Fh (Режим работы) в модификациях МЕТАКОН-61Х может принимать следующие значения: 0 - автоматический режим, 1 - ручной режим, 2 - режим автонастройки, 4 - режим однократного исполнения циклограммы, 6 - режим циклического исполнения циклограммы, 8 - режим паузы в циклограмме. Все остальные значения сигнализируют о режиме аварии. Прибор может быть в любой момент переведен в один из указанных режимов (кроме режима аварии) путем записи в регистр соответствующего значения.
Примечание 12. Значение регистра измеряется в десятых долях минуты. Само значение регистра не содержит десятичной точки.
Примечание 13. Содержимое регистра отображает длительность текущего выходного импульса в процентах от периода ШИМ.
Примечание 14. Содержимое регистра отображает величину выходной мощности исполнительного устройства в процентах от минимальной до максимальной.
Примечание 15. Значение параметра обновляется 4 раза в секунду.
Примечание 16. При включенной функции переключения уставок (см. Руководство по эксплуатации на данный прибор) регистр доступен только для чтения. Уровень задания ПИД регулятора в этом режиме определяется дополнительными уставками и комбинацией сигналов управления.
Примечание 17. Значение регистра задается в 0.1*минут.
Примечание 18. Значение регистра измеряется в 0.01*ед.изм./мин. При задании регистру значения 0 функция рампы отключена.
Примечание 19. Запись в регистр происходит только при работе прибора в режиме ручного управления.
Примечание 20. Значение регистра задается в 0.1*секунд.
Примечание 21. Регистр 15h (Режим работы) в МЕТАКОН-515 V.2 может принимать следующие значения: 0 - стоп, 1 - автоматическое регулирование, 2 - ручное управление, 3 - автоматическая настройка. Прибор может быть в любой момент переведен в один из указанных режимов путем записи в регистр соответствующего значения.
5. Приложение
Алгоритм расчета контрольной суммы
Условные обозначения:
- CRC - текущее значение контрольной суммы;
- BYTES_CTR - счетчик байтов
- BITES_CTR - счетчик битов;
- BYTES - указатель на текущий обрабатываемый байт;
- A, B, C - вспомогательные переменные;
- P_LENGTH - длинна пакета без байта контрольной суммы;
- Å - операция поразрядного сложения по модулю 2;
- SHR - операция поразрядного сдвига на 1 бит в право;
- A.0 - самый младший бит переменной A.
Приведенный алгоритм вычисления контрольной суммы обладает следующими возможностями по обнаружению ошибок:
- обнаруживает наличие любого нечетного количества ошибок;
- все двойные ошибки;
- любой блок ошибок длиной до 8 бит;
- подавляющее большинство прочих более сложно распределенных ошибок.
В качестве примера предлагаем варианты программы расчета контрольной суммы на языках Basic, Си и Паскаль с комментариями. Просим прощения за возможные синтаксические ошибки в варианте на Basic, так как этот язык в наших разработках не используется.
На языке Basic
crc = &HFF ;Принять контрольную сумму равной &HFF
For i = 1 To p_length ;Цикл пока не обработаны все байты,
; (p_length - длина сообщения в байтах)
b = buffer(i) ;Взять текущий байт сообщения
For j = 1 To 8 ;Цикл по количеству битов в байте (8)
a = b Xor crc ;Логически сложить текущий байт с текущим значением crc
c = (a And &H1)*128 ;Выделить младший бит результата
If c = &H80 Then ;Младший бит результата равен 1?
crc = crc Xor &H18 ;Да. Логически сложить текущую crc с &H18
End If
crc = (crc / 2) Or c ;Сдвинуть crc вправо на 1 бит с заполнением
; старшего бита результатом предыдущих вычислений
b = b / 2 ;Сдвинуть текущий байт на 1 бит вправо
; с заполнением старшего бита нулем
Next j ;Завершение цикла по количеству битов в байте
Next i ;Завершение цикла по длине сообщения.
На языке Pascal (Turbo Pascal, Delphi)
I,J: Integer; //Счетчики циклов
CRC: Byte; //Контрольная сумма
AUX,DAT: Byte; //Временные переменные
Frame: array [0..39] of Byte //Сообщение
Length: Integer; //Длина сообщения (без контрольной суммы!)
CRC := $FF; //Инициализация контрольной суммы
for I := 0 to Length-1 do //Цикл по длине сообщения
begin
DAT := Frame[I]; //Заполнение DAT символом из сообщения
for J := 0 to 7 do //Цикл по байту сообщения (8 бит в байте)
begin
AUX := (DAT xor CRC) and 1; //Вычисление контрольной суммы:
if AUX = 1 then CRC := CRC xor $18; // xor – Исключающее ИЛИ
CRC := CRC shr 1; // and/or – Логическое И/ИЛИ
CRC := CRC or (AUX shl 7); // shl/shr – Сдвиг влево/вправо, не
DAT := DAT shr 1; // циклический, без переноса-заема
end; //Конец цикла по байту сообщения
end; //Конец цикла по длине сообщения
На языке C (ANSI)
int I,J; //Счетчики циклов
unsigned char CRC; //Контрольная сумма
unsigned char AUX,DAT; //Временные переменные
unsigned char Frame[40] //Сообщение
int Length; //Длина сообщения (без контрольной суммы!)
CRC=0xFF; //Инициализация контрольной суммы
for(I=0; I
{ DAT=Frame[I]; //Заполнение DAT символом из сообщения
for(J=0; J<8; J++) //Цикл по байту сообщения (8 бит в байте)
{ AUX=(DAT^CRC)&1; //Вычисление контрольной суммы:
if(AUX==1) CRC=CRC^0x18; // ^ – Исключающее ИЛИ
CRC=CRC>>1; // & / | – Логическое И/ИЛИ
CRC=CRC|(AUX<<7); // << / >> – Сдвиг влево/вправо, не
DAT=DAT>>1; // циклический, без переноса-заема
} //Конец цикла по байту сообщения
} //Конец цикла по длине сообщения
В следующей таблице представлены результаты расчета контрольной суммы по указанному алгоритму (в HEX - формате) для однобайтовых сообщений. Поле “Байт” содержит сообщение, поле “CRC” – его контрольную сумму.
Таблица 11. Пример расчета контрольной суммы для однобайтовых сообщений
Байт
|
CRC
|
Байт
|
CRC
|
Байт
|
CRC
|
Байт
|
CRC
|
Байт
|
CRC
|
Байт
|
CRC
|
Байт
|
CRC
|
Байт
|
CRC
|
00
|
35
|
20
|
16
|
40
|
73
|
60
|
50
|
80
|
B9
|
A0
|
9A
|
C0
|
FF
|
E0
|
DC
|
01
|
6B
|
21
|
48
|
41
|
2D
|
61
|
0E
|
81
|
E7
|
A1
|
C4
|
C1
|
A1
|
E1
|
82
|
02
|
89
|
22
|
AA
|
42
|
CF
|
62
|
EC
|
82
|
05
|
A2
|
26
|
C2
|
43
|
E2
|
60
|
03
|
D7
|
23
|
F4
|
43
|
91
|
63
|
B2
|
83
|
5B
|
A3
|
78
|
C3
|
1D
|
E3
|
3E
|
04
|
54
|
24
|
77
|
44
|
12
|
64
|
31
|
84
|
D8
|
A4
|
FB
|
C4
|
9E
|
E4
|
BD
|
05
|
0A
|
25
|
29
|
45
|
4C
|
65
|
6F
|
85
|
86
|
A5
|
A5
|
C5
|
C0
|
E5
|
E3
|
06
|
E8
|
26
|
CB
|
46
|
AE
|
66
|
8D
|
86
|
64
|
A6
|
47
|
C6
|
22
|
E6
|
1
|
07
|
B6
|
27
|
95
|
47
|
F0
|
67
|
D3
|
87
|
3A
|
A7
|
19
|
C7
|
7C
|
E7
|
5F
|
08
|
F7
|
28
|
D4
|
48
|
B1
|
68
|
92
|
88
|
7B
|
A8
|
58
|
C8
|
3D
|
E8
|
1E
|
09
|
A9
|
29
|
8A
|
49
|
EF
|
69
|
CC
|
89
|
25
|
A9
|
06
|
C9
|
63
|
E9
|
40
|
0A
|
4B
|
2A
|
68
|
4A
|
0D
|
6A
|
2E
|
8A
|
C7
|
AA
|
E4
|
CA
|
81
|
EA
|
A2
|
0B
|
15
|
2B
|
36
|
4B
|
53
|
6B
|
70
|
8B
|
99
|
AB
|
BA
|
CB
|
DF
|
EB
|
FC
|
0C
|
96
|
2C
|
B5
|
4C
|
D0
|
6C
|
F3
|
8C
|
1A
|
AC
|
39
|
CC
|
5C
|
EC
|
7F
|
0D
|
C8
|
2D
|
EB
|
4D
|
8E
|
6D
|
AD
|
8D
|
44
|
AD
|
67
|
CD
|
02
|
ED
|
21
|
0E
|
2A
|
2E
|
09
|
4E
|
6C
|
6E
|
4F
|
8E
|
A6
|
AE
|
85
|
CE
|
E0
|
EE
|
C3
|
0F
|
74
|
2F
|
57
|
4F
|
32
|
6F
|
11
|
8F
|
F8
|
AF
|
DB
|
CF
|
BE
|
EF
|
9D
|
10
|
A8
|
30
|
8B
|
50
|
EE
|
70
|
CD
|
90
|
24
|
B0
|
07
|
D0
|
62
|
F0
|
41
|
11
|
F6
|
31
|
D5
|
51
|
B0
|
71
|
93
|
91
|
7A
|
B1
|
59
|
D1
|
3C
|
F1
|
1F
|
12
|
14
|
32
|
37
|
52
|
52
|
72
|
71
|
92
|
98
|
B2
|
BB
|
D2
|
DE
|
F2
|
FD
|
13
|
4A
|
33
|
69
|
53
|
0C
|
73
|
2F
|
93
|
C6
|
B3
|
E5
|
D3
|
80
|
F3
|
A3
|
14
|
C9
|
34
|
EA
|
54
|
8F
|
74
|
AC
|
94
|
45
|
B4
|
66
|
D4
|
03
|
F4
|
20
|
15
|
97
|
35
|
B4
|
55
|
D1
|
75
|
F2
|
95
|
1B
|
B5
|
38
|
D5
|
5D
|
F5
|
7E
|
16
|
75
|
36
|
56
|
56
|
33
|
76
|
10
|
96
|
F9
|
B6
|
DA
|
D6
|
BF
|
F6
|
9C
|
17
|
2B
|
37
|
08
|
57
|
6D
|
77
|
4E
|
97
|
A7
|
B7
|
84
|
D7
|
E1
|
F7
|
C2
|
18
|
6A
|
38
|
49
|
58
|
2C
|
78
|
0F
|
98
|
E6
|
B8
|
C5
|
D8
|
A0
|
F8
|
83
|
19
|
34
|
39
|
17
|
59
|
72
|
79
|
51
|
99
|
B8
|
B9
|
9B
|
D9
|
FE
|
F9
|
DD
|
1A
|
D6
|
3A
|
F5
|
5A
|
90
|
7A
|
B3
|
9A
|
5A
|
BA
|
79
|
DA
|
1C
|
FA
|
3F
|
1B
|
88
|
3B
|
AB
|
5B
|
CE
|
7B
|
ED
|
9B
|
04
|
BB
|
27
|
DB
|
42
|
FB
|
61
|
1C
|
0B
|
3C
|
28
|
5C
|
4D
|
7C
|
6E
|
9C
|
87
|
BC
|
A4
|
DC
|
C1
|
FC
|
E2
|
1D
|
55
|
3D
|
76
|
5D
|
13
|
7D
|
30
|
9D
|
D9
|
BD
|
FA
|
DD
|
9F
|
FD
|
BC
|
1E
|
B7
|
3E
|
94
|
5E
|
F1
|
7E
|
D2
|
9E
|
3B
|
BE
|
18
|
DE
|
7D
|
FE
|
5E
|
1F
|
E9
|
3F
|
CA
|
5F
|
AF
|
7F
|
8C
|
9F
|
65
|
BF
|
46
|
DF
|
23
|
FF
|
00
|
Еще один пример - типичный запрос на получение измеренного значения первого канала у прибора с адресом 1 выглядит в HEX – формате так:
Таблица 12
DEV
|
CHA
|
REG
|
RD
|
CRC
|
01
|
00
|
01
|
00
|
А0
|
То же самое, но для прибора с адресом 2:
Таблица 13
DEV
|
CHA
|
REG
|
RD
|
CRC
|
02
|
00
|
01
|
00
|
28
|
|
|
|
|
|