Вы находитесь на странице: 1из 5

1

ПОДКЛЮЧЕНИЕ УСТРОЙСТВА МАРКИ «ТЕРМОДАТ» К последовательный порт тоже в виде некоторой последовательности байтов
ПОСЛЕДОВАТЕЛЬНОМУ ПОРТУ ЭВМ и имеет сходный с запросом формат.
Для удобства работы с настоящим прибором предусмотрено его Формат запросов и ответов зависит от выбранного протокола обмена. В
сопряжение с персональным компьютером через COM-порт (последовательный данной модификации прибора Термодат реализованы два различных протокола
порт). Подключение производится по двухпроводной линии RS-485. Для этого обмена: «MODBUS-ASCII» и «Термодат».
необходим специальный адаптер (конвертер) RS-232 / RS-485. Конвертер
подключается к ЭВМ, а прибор подключается через клеммы RS-485 (A и B) к ОПИСАНИЕ ПРОТОКОЛА «MODBUS-ASCII» ДЛЯ
соответствующим клеммам конвертера (см. руководство по эксплуатации УСТРОЙСТВ МАРКИ ТЕРМОДАТ
конвертера). Есть возможность подключать к одному конвертеру несколько Протоколы обмена «MODBUS» широко распространены. Подробную
приборов Термодат одновременно. В этом случае приборы подключаются информацию об этих протоколах можно прочесть во многих изданиях
параллельно по линии RS-485, как показано на рисунке 1 (объединение (например, в сети Internet). Версия протокола «MODBUS» для настоящего
приборов в сеть). устройства обладает такими свойствами. Как запрос, так и ответ представляют
собой последовательности байтов, каждый из которых закодированный символ,
согласно таблице символов ASCII (стандартные однобайтовые коды символов
для большинства ЭВМ). Поэтому далее следует описание команд в текстовой
(не двоичной) форме. Все команды-запросы и ответы имеют такой формат:
 1 символ – заголовок команды, двоеточие (код 3Ah).
 2 и 3 символы – сетевой идентификатор прибора (адрес), уникален для
каждого прибора в сети (шестнадцатеричное число).
 4 и 5 символы – код функции, т.е. идентификатор запрашиваемого действия
(тоже шестнадцатеричное число).
 далее следуют данные, содержащие необходимую информацию – это числа
в шестнадцатеричной системе счисления (цифры `0` .. `9`, латинские буквы
`A` .. `F`, либо `a` .. `f`).
 После данных следуют два символа контрольной суммы LRC (тоже число в
шестнадцатеричной системе счисления), в которой участвуют байты,
начиная с сетевого адреса, заканчивая последним байтом данных. Алгоритм
подсчета LRC представлен на языке программирования «C» ниже:
unsigned char digchar(unsigned char v)
Рис.1 Подключение сети приборов «Термодат» к ЭВМ {
v-='0';
if(v>41) return v-39; /* a .. f */
После правильного подключения прибора можно приступить к if(v>9) return v-7; /* A .. F */
организации его взаимодействия с ЭВМ, как ведомого по отношению к ЭВМ return v; /* 0 .. 9 */
}
устройства. Это взаимодействие происходит так:
1) В последовательный порт посылается некоторая последовательность байтов unsigned char LRC(unsigned char *str)
{
(команда-запрос), в которой закодирована информация о запрашиваемом unsigned char val=0;
действии прибора (запрос значения какого-либо параметра прибора, либо while(*str)
{
на установку какого-либо параметра, либо на выдачу архивных записей val+=(digchar(*str)<<4)|digchar(str[1]);
прибора). str+=2;
2) Далее следует дождаться ответа от используемого в данный момент }
return (unsigned char)(-((signed char)val));
прибора (время между окончанием запроса и началом ответа составляет, }
как правило, менее одной секунды). Ответ прибывает в тот же  Последние 2 символа имеют коды 0Dh и 0Ah.
2
В следующей таблице приведены формы запросов и ответов в 4) PNum – количество запрашиваемых (передаваемых) параметров от PAdr
зависимости от функции. включительно, 4 знака
5) PVal1 .. PValN – значения параметров с адресами PAdr .. PAdr+(PValN-1),
Функция Код Форма запроса: Форма ответа: по 4 знака на каждое значение
функции Обозначение и Обозначение и 6) BNum – количество байтов данных BNum = 2⋅PNum, 2 знака
количество количество
7) LRC – контрольная сумма, 2 знака
передаваемых получаемых
байтов байтов 8) CRLF – концевые символы с кодами 0Dh и 0Ah, 2 знака
Читать 03h либо : 1 : 1
несколько 04h Основные особенности:
Adr 2 Adr 2
параметров Fc 2 Fc 2 1) Если Adr = 00h («мастер-адрес»), то все приборы воспринимают данные, но
PAdr 4 BNum 2 ответа не следует
PNum 4 PVal1 4 2) Все параметры передаются и принимаются как двухбайтовые
LRC 2 PValN 4 шестнадцатеричные числа в текстовом формате ASCII (на каждый байт по 2
CRLF 2 символа), в языке программирования «C» этот тип называется unsigned int
LRC 2
CRLF 2 3) Если не существует параметра по запрашиваемому адресу (либо в случае
ошибки), то вместо значения параметра посылается число 7FFFh (либо
Записать 06h : 1 : 1 7FFEh)
один Adr 2 Adr 2 4) Если проверка LRC в запросе не увенчалась успехом, то запрос не
параметр Fc 2 Fc 2 воспринимается и ответа не следует
PAdr 4 PAdr 4 5) В некоторых приборах, например в Термодат-25, Термодат-29, введены
PVal1 4 PVal1 4 специальные обозначения: если измеренное значение равно 7D00h, то на
LRC 2 LRC 2 данном канале обрыв, либо датчик отсутствует; если измеренное значение
CRLF 2 CRLF 2 равно 7D64h, то по каким-либо причинам нет данных от измерительного
модуля.
Записать 10h : 1 : 1
несколько Adr 2 Adr 2 Адреса параметров:
параметров Fc 2 Fc 2 Двухбайтовое число – адрес параметра – содержит два числа: код
PAdr 4 PAdr 4 параметра и канал, для которого этот параметр определен, если прибор
PNum 4 PNum 4 является многоканальным. Структура адреса параметра представлена в виде
BNum 2 LRC 2 битовой диаграммы:
PVal1 4 CRLF 2
PValN 4
LRC 2
CRLF 2

Условные обозначения:
1) Adr – сетевой адрес устройства, 2 знака
2) Fc – код функции, 2 знака Там же указаны возможные диапазоны для кода и канала. Нумерация битов
3) PAdr – адрес параметра, 4 знака справа налево. Можно эту диаграмму представить формулой:
x
АДРЕС = КОД + (КАНАЛ 1024),
3
где КАНАЛ отсчитывается от нуля. шестнадцатеричной системе счисления в виде двух байтов, поэтому старшие
В следующей таблице приведены соответствия кодов параметров биты этих чисел нулевые.
различным параметрам прибора. Для удобства указаны значения кодов в
РАСПРЕДЕЛЕНИЕ ПАРАМЕТРОВ ПО КОДАМ ДЛЯ УСТРОЙСТВА ТЕРМОДАТ-29
Код (16ричный) Учет канала (см. Описание параметра
бит-диаграмму)
[0000 .. 0000+N-1] Нет Текущее измеренное значение (если температура, то в 0,1ºC) на все каналы 1..N
[0030 .. 0030+N-1] Нет Текущее значение уставки регулирования (если температура, то в 0,1ºC) на все каналы 1..N
[0060 .. 0060+N-1] Нет Текущее значение выводимой мощности (в 0,1%) на все каналы 1..N
[0090 .. 0090+N-1] Нет Измеренное значение, найденное в архиве (если температура, то в 0,1ºC) на все каналы 1..N
0130 Нет Количество каналов (N)
[0131..013F] Нет Модель прибора, версия ПО (байты соответствуют символам в таблице ANSI)
Регистры для текущего значения даты и времени
0140 Нет Год 00..99
0141 Нет Месяц 01..12
0142 Нет Число 01..31
0143 Нет Часы 00..23
0144 Нет Минуты 00..59
0145 Нет Секунды 00..59
Регистры для работы с архивом
0146 Нет Год 00..99
0147 Нет Месяц 01..12
0148 Нет Число 01..31
0149 Нет Часы 00..23
014A Нет Минуты 00..59
014B Нет Секунды 00..59
014C Нет Интервал времени для поиска в архиве (+/-)
014D Нет Запись значений по этому адресу приводит к установке времени в [0146..014B]:
0 – время начала архива,
1 – время конца архива.
Регистры для редактирования программ
0160 Нет Номер редактируемой программы (00..19 соответствует 01..20)
0161 Нет Номер редактируемого шага (00..19 соответствует 01..20)
0162 Нет Тип шага (0 – нагрев/охлаждение, 1 – выдержка, 2 – переход на программу, 3 – стоп)
0163 Нет Параметр 1 (время выдержки, либо скорость (0,1ºC/ч), либо номер программы)
0164 Нет Параметр 2 (конечная уставка в 0,1ºC)
4
0165 Нет Условие перехода на следующий шаг (0 – T расчетная = SP, 1 – Ручное подтверждение, 2 –
T измеренная = SP)
0166 Нет Дополнительные параметры:
0 – общие,
1 – частные
0167 Нет Частный пропорциональный коэффициент ПИД в тех же единицах, что и измеренное значение
0168 Нет Частное время интегрирования ПИД в секундах
0169 Нет Частное время дифференцирования ПИД в десятых долях секунды
016A Нет Частное ограничение выводимой мощности (0%..100%)
Регистры для работы с другими параметрами
0170 Да Текущее измеренное значение (если температура, то в 0,1ºC)
0171 Да Текущее значение уставки регулирования (если температура, то в 0,1ºC)
0172 Да Текущее значение выводимой мощности в 0,1%
0173 Да Заданное значение конечной уставки (если температура, то в 0,1ºC)
0178 Да Текущее значение времени (минуты, для программного шага «выдержка»)
0179 Да Заданное значение скорости изменения уставки (если температура, то в 0,1ºC/час)
017B Да Номер программы регулирования [0 .. 19], с которой запускать процесс
017C Да Номер шага [0 .. 19] этой программы регулирования, с которого запускать процесс
0180 Да Состояние регулирования (0 – выключено, 1 – включено, 2 – пауза)
Примечание: если прибор не готов к регулированию (только что включен), то этот параметр изменить нельзя
0182 Да Пропорциональный коэффициент в тех же единицах, что и измеренное значение
0183 Да Время интегрирования в секундах
0184 Да Время дифференцирования в десятых долях секунды
0185 Да Закон регулирования (0 – двухпозиционный, 1 – ПИД)
0187 Да Наибольшее значение мощности (0%..100%, ПИД)
0188 Да Наименьшее значение мощности (0%..100%, ПИД)
01B8 Да Значение мощности при обрыве датчика (0%..100%, ПИД)
018F Да Гистерезис регулирования (если температурный, то в 0,1ºC)
019B Да Уставка аварии «А» (если температура, то в 0,1ºC)
01A1 Да Уставка аварии «Б» (если температура, то в 0,1ºC)
01D4 Да Ручное регулирование (1 – включено, 0 – выключено), при этом на канале можно выводимую
мощность изменять вручную
01D5 Да Мощность при ручном регулировании (ПИД: 0%..100%)
01D6 Да Мощность при ручном регулировании (двухпозиционный: 1-вкл, 0-выкл)
0210 Нет Сетевой адрес прибора 01..FF
0211 Нет Нормальный период записи в архив в секундах
0212 Нет Аварийный период записи в архив в секундах
5

Вам также может понравиться