Сделай Сам Свою Работу на 5

Управление аварийными ситуациями и дополнительным оборудованием при помощи приборов Термодат

В приборах Термодат предусмотрены аппаратные и программные средства для управления аварийными ситуациями. Для решения этой задачи устанавливается специальные дополнительные реле. Для этих же целей может использоваться любое из установленных в регуляторе реле или любой симисторный выход. Т.е. если какой либо канал прибора не требует регулирования температуры, то выход этого канала можно использовать для управления аварийной сигнализацией или различными блоками технологической установки.
Дополнительные реле могут управляться таймером или включаться по достижении на любом из каналов определенной температуры, называемой аварийной уставкой или при обрыве датчика. В свою очередь таймер может запускаться вручную по желанию пользователя, или автоматически, в результате того, что температура объекта превысила уставку.
Другой способ управления заключается в том, что аварийные реле включают аварийную сигнализацию или другие блоки технологической установки всякий раз, когда температура на любом из каналов превысит аварийную уставку или произойдет обрыв датчика. Т.е. имеет место постоянное отслеживание температуры объекта на предмет превышения аварийной уставки или на обрыв канала.
Схема подключения нагрузки к аварийным выходам показана на рис.3.6.

Работа с приборами Термодат через компьютерный интерфейс

Подключение приборов Термодат к компьютеру через COM или USB -порт

 

Все приборы Термодат могут содержать интерфейс типа RS485 для связи с персональным компьютером.

Каждый прибор, оснащенный компьютерным интерфейсом, имеет двухконтактную колодку для подключения к двухпроводной линии типа «витая пара». Контакты колодки обозначаются надписями «Дата +» и «Дата –». В результате объединения от 1 до 254 приборов организуется сетьрис.4.1, в которой каждый регулятор имеет свой сетевой двухсимвольный адрес от «01» до «FF». В сети не должно быть приборов с одинаковыми адресами. Адрес «99» является универсальным, на него откликаются все приборы и он нужен для отладки.



 

Подключение сети приборов Термодатк последовательному СОМ-порту персонального компьютера необходимо производить через адаптер «RS485-RS232» (рис.4.1).

Если в вашем компьютере совсем нет COM-порта или все порты заняты, то подключить сеть приборов Термодат можно к USB – порту через конвертор «USB-RS485». В этом случае, обязательно следует установить драйвер виртуального (программного) COM-порта, и вести обмен данными с прибором через этот виртуальный порт.

Для успешного обмена с приборами внешняя компьютерная программа должна правильно настроить порт. Параметры должны быть такими:

· стартовых бит – 1;

· число бит данных – 8;

· стоповых бит – 1;

· проверка четности отключена.

Скорость передачи данных по умолчанию задается равной 9600 бод. Последние модели приборов Термодатпозволяют увеличить скорость обмена до 114200 бод, однако, следует помнить, что скорость передачи данных через порт у всех приборов сети и у внешней программы опроса должна быть задана одинаковой.

В приборах Термодат для обмена данными используются протоколы Термодат и MODBUS. Обмен данными c конкретным прибором возможен только через один из протоколов, но можно заранее настроить прибор на применение протокола Термодат или протокола MODBUS.

В сети приборов возможно одновременное использование обоих протоколов, т.е. часть приборов может использовать протокол Термодат, а другая часть работать в протоколе MODBUS. При этом понятно, что внешние прикладные программы при работе с сетью приборов Термодат должны поддерживать оба протокола.

Протокол обмена Термодат

Основные команды для обмена с приборами Таблица 2 в протоколе Термодат
Команда Выполняемое действие
&<ADR> 1 получить значение сигнала
&<ADR> 3 получить данные из архива
&<ADR> 4 стереть содержимое архива
&<ADR> B <NewADR> установить новый адрес
&<ADR> C получить значение уставки
&<ADR> <Канал> D установить значение уставки
<ADR> E получить аварийную уставку
&<ADR> <Канал> F установить аварийную уставку

При программировании обмена информацией в протоколе Термодат следует иметь в виду, что обмен с каждым прибором производится через последовательный порт, путем посылки символьных команд с запросом необходимой информации или с указанием устанавливаемых настроек прибора. Любая посылаемая строка обязательно содержит двухсимвольный адрес того прибора, для которого она предназначена, код команды и передаваемые параметры. Ответ прибора будет получен сразу после посылки команды.

Передаваемая прибору строка с командой всегда начинается с символа «&» - амперсенд, а заканчивается символом перевода строки [CR] с кодом 13 (D – в шестнадцатеричной записи).

Например, запрос текущего значения температуры у прибора с адресом 02 будет выглядеть следующим образом: передаем в COM-порт строку - &021[CR] - здесь цифра 1 – это код команды «Получить значение сигнала». Ответ 4 канального устройства c адресом 02 на эту команду может выглядеть в виде строки: >02+23.4_45_BRK_84.5[CR], содержащей значения температуры последовательно по всем каналам. Строка ответа всегда начинается со знака «>». Знак «+» отделяет данные от адреса. Значения на разных каналах разделяются символами «подчеркивания» «_». Строка всегда заканчивается символом [CR]. В показанном примере видно, что на канале номер 3 обрыв, о чем свидетельствуют символы «BRK».

В табл.2 показан список основных команд обмена с приборами Термодат. Во всех командах на местo <ADR> следует подставить двухсимвольный адрес прибора. Полный список команд смотрите в описании конкретного прибора. Для одноканальных приборов номер канала <Канал> передавать не нужно.

Протокол обмена MODBUS

В протоколе MODBUS обмен производится при помощи последовательностей байт, каждый из байтов представляет собой код ASCII – символа. В последовательности байт закодирована передаваемая или принимаемая информация. Формат запросов и ответов следующий:

· первый символ – заголовок команды, двоеточие «:» (ASCII код 3Ah);

· далее идут два символа, задающие сетевой идентификатор прибора (адрес) который задается в виде целого шестнадцатеричного числа от 00 до FF, что в десятичной записи соответствует адресам от 0 до 255;

· следующие два символа задают код выполняемой функции в виде шестнадцатеричного числа;

· далее следуют данные, содержащие необходимую информацию и заданные в виде последовательности шестнадцатеричных цифр 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, B, C, D, E, F (вместо заглавных букв допустимы строчные);

· далее в посылке идут два символа контрольной суммы передаваемой строки, заданной в виде шестнадцатеричного числа от 00 до FF (алгоритм вычислении контрольной суммы будет показан ниже);

· завершают посылку два символа с кодами 0Dh и 0Ah («возврат каретки» и «перевод строки»).

 

В подсчете контрольной суммы передаваемой строки не участвуют заголовок (символ двоеточие) и последние два символа («возврат каретки» и «перевод строки»). Контрольная сумма – это сумма кодов символов, входящих в строку. При переполнении байта суммы бит переполнения отбрасывается. Остальные детали алгоритма понятны из приведенных ниже фрагментов программ подсчета контрольной суммы.

Реализация алгоритма контрольной суммы на языке программирования Delphi (Pascal)

 

Function LRC (s : string) : string;

var uLRC : byte;

sLRC : SmallInt;

i : integer;

Begin

uLRC := 0;

for i:=2 to length(s) do uLRC:= uLRC + ORD(s[i]);

sLRC := - uLRC;

uLRC := sLRC;

result := IntToHex(uLRC,2);

end;

 

Реализация алгоритма контрольной суммы на языке C выглядит следующим образом:

 

static unsigned char LRC(auchMsg, usDataLen)

unsigned char *auchMsg ; /* sassage to calculate LRC upon */

unsigned short usDataLen ; /* quantity of bytes in message */

{

unsigned char uchLRC = 0 ; /* LRC char initialized */

while (usDataLen--) /* pass through message buffer */

uchLRC += *auchMsg++ ; /* add buffer byte without carry */

return ((unsigned char)(-((signed char)uchLRC))) ;

/* return twos complement */

}

 



©2015- 2019 stydopedia.ru Все материалы защищены законодательством РФ.