Вид редактора последовательного порта показан на рисунке:
Редактор содержит ту же панель инструментов для работы с буфером обмена, что и редактор узла (см. Задание параметров узла ).
В этом редакторе задаются следующие параметры:
Номер порта – номер порта, выбирается из списка COM1...COM32 (rtms_COM_NUM.tmc);
Назначение – назначение порта (указание для монитора используемого оборудования, протокола обмена и начального статуса узла при обмене по данному порту). Значение этого параметра выбирается из списка (rtms_COM_DEST.tmc):
MASTER – задание для узла статуса MASTER. Это значение устанавливается при обмене по всем протоколам, кроме M-LINK – см. Обеспечение работы распределенных АСУ ;
SLAVE – задание для узла статуса SLAVE при обмене по M-LINK;
MODEM – это значение устанавливается в случае подключения модема к порту (модем конфигурируется в редакторе узла – см. Редактор параметров узла). Для обмена используется протокол M-LINK, узел может работать одновременно как MASTER и как SLAVE;
GSM-SMS – к порту подключен GSM-модем для обмена SMS-сообщениями. Для обмена используется протокол M-LINK, узел может работать одновременно как MASTER и как SLAVE;
MASTER M-LINK – задание для узла статуса MASTER при обмене по M-LINK;
RESERVE M-LINK – это значение устанавливается для резервированных узлов в сети M-LINK;
GPS – к порту подключено устройство GPS (см. описание @t_Set_Time и @t_Set_Date в разделе Группа СИСТЕМНЫЕ );
Card/Bar Reader – к порту подключено устройство чтения магнитного носителя (см. Чтение штрих-кодов и магнитных носителей );
IEC 61107 – к порту подключено устройство, поддерживающее протокол IEC 61107 (например, счетчик ЦЭ6850М);
Non-M-Link Slave – для обмена по протоколу Slave, отличному от Slave M-Link (если МРВ поддерживает этот протокол; тип устройства задается в файле *.cnf);
IEC 60870-101 – к порту подключено устройство, поддерживающее протокол IEC 60870-101 (телемеханика);
Host OEM RS – см. ниже.
Назначение порта сохраняется в файле addr.ind (см. Файлы узла, создаваемые при экспорте );
Скорость – скорость обмена, выбирается из стандартного списка (rtms_COM_SPD.tmc): 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 144000, 192000, 288000, 576000 бит/с. Скорость обмена по протоколу M-LINK не должна быть ниже 600 бит/с;
Базовый адрес – базовый адрес порта;
Контроль четности – данный параметр выбирается из списка (rtms_COM_EVEN.tmc), содержащего значения в формате k-m-x:
k – количество информационных бит в посылке;
m – количество стоповых бит;
x – наличие проверки на четность:
n – отсутствие проверки,
e – проверка на четность,
o – проверка на нечетность;
Прерывание – номер используемого прерывания;
Управление передачей – режим управления передатчиком. Значение этого параметра выбирается из списка rtms_TRNFR_CTRL.tmc (режимы с использованием специальных портов – для RS-485):
Значение |
Посылка |
Прием |
no |
нет управления |
нет управления |
DTR |
DTR = on |
DTR = off |
RTS |
RTS = on |
RTS = off |
DTR-RTS |
DTR, RTS = on |
DTR, RTS = off |
360H |
outp(0x360,1) |
outp(0x360,0) |
DTR, RTS=on |
DTR,RTS = on |
DTR, RTS = on |
DTR=on |
DTR = on |
DTR = on |
20CH |
outp(0x20с,1) |
outp(0x20с,0) |
RTS=on |
RTS=on |
RTS=on |
RTS(auto) |
Внешнее управление RTS |
Внешнее управление RTS |
C3H |
outp(0xс3,1) |
outp(0xс3,0) |
DTR=on, RTS(auto) |
DTR=on, Внешнее управление RTS |
DTR=on, Внешнее управление RTS |
DTR/RTS |
RTS=on, DTR=off |
RTS=off, DTR=on |
Помимо указанных в таблице, список содержит следующие режимы:
Modem_0
Modem_1
Modem_2
Modem_3
HART_ER
Таймаут – время ожидания ответа от устройства, которому был послан запрос (в миллисекундах, значение по умолчанию – 100 мс). Если в течение этого времени ответ на запрос от устройства или МРВ не пришел, запрашивающему каналу устанавливается флаг аппаратной недостоверности.
Существует механизм задержки выключения передатчика после окончания передачи, реализуемый с помощью передачи после кадра 1-2 лишних байтов. 2 байта формируются в том случае, если таймаут ожидания ответа больше или равен 200 мс. Следует учитывать, что для очень медленных линий передачи этой задержки выключения передатчика может оказаться недостаточно;
RS-передача – задержка (в миллисекундах) между транзакциями (процедурами ЗАПРОС/КОМАНДА+ОТВЕТ).
При связи по модему этот таймаут задает время ожидания звонка. В режим ожидания звонка узел MASTER переходит в следующих случаях:
узел не блокирован, для обмена нет ни одного канала;
после каждого прохода по базе;
Включение передатчика – задержка (в миллисекундах) начала передачи данных после включения передатчика (реализуется только для узла со статусом MASTER);
Задержка запроса – задержка передачи данных (в миллисекундах) после установления соединения при связи по модему. Величина этого таймаута должна быть меньше значения времени ожидания ответа;
Таймауты используются в случае подключения к порту дополнительного оборудования.
CRC16 – если этот флаг установлен, команда записи по M-LINK дополнительно защищается CRC16, а при приеме ответов по M-LINK вычисляется дополнительная контрольная сумма. Чтобы данный механизм работал, флаг CRC16 должен быть установлен как для порта узла M-LINK MASTER, так и для порта узла M-LINK SLAVE. При обмене по DCS через порт с установленным флагом CRC16 выполняется дополнительная проверка ответов.
При связи по модему, после приема звонка и соединения узел SLAVE переходит в режим ожидания приема данных. Узел выходит из этого режима в следующих случаях:
ситуация, когда узел вошел в режим приема, а у него ничего не запросили, повторилась трижды;
узел MASTER "повесил трубку".
Параметры последовательных портов задаются в ИС для узлов. При запуске узлов под управлением мониторов эти параметры устанавливаются для портов аппаратных средств, на которых размещены узлы – при этом данная процедура имеет следующие особенности:
монитор устанавливает параметры Базовый адрес и Прерывание для COM-порта аппаратного средства только в DOS, в WINDOWS эти параметры задаются средствами ОС;
для работы в WINDOWS параметры Базовый адрес и Прерывание нельзя задавать нулевыми (рекомендуется указать их реальные значения, установленные в ОС);
для контроллера ЛАГУНА наличие ненулевых настроек базового адреса и прерывания обязательно, хотя их конкретные значения несущественны.
Данное назначение порта используется для обеспечения специфического чтения собственных УСО, а также поддержки протоколов DCS, Modbus RTU и t11.
Регламент обмена:
обмен производится в режиме "запрос-ответ" (без расширения транзакции в реальном времени);
со стороны МРВ нет управления UART (внешнее управление RTS(auto) поддерживается);
поддерживается резервирование COM-портов (переключение обмена на резервный порт автоматическое, в узле должен быть создан только один COM-порт).
Настройки COM-порта имеют специфическое назначение:
Прерывание – при IRQ>16 и обнаружении ошибки в транзакции запрос повторяется до (IRQ-16) раз. Если ошибка воспроизводится, в канале устанавливается флаг аппаратной недостоверности;
Включение передатчика – максимальное число ошибок (неудачных серий повторов запросов при IRQ>16), при достижении которого производится переключение на резервный COM-порт;
RS-передача – физический номер резервного COM-порта (1 – COM1, 2 – COM2 и т.д.);
Задержка запроса – этот параметр определяет режим перехода к очередному циклу поиска каналов, требующих обслуживания, после завершения предыдущего прохода базы:
0 (по умолчанию) – пауза длительностью 0.75 цикла потока CALC;
1 – если в последнем проходе не было обслуживаемых каналов, то пауза длительностью 0.75 цикла потока CALC, иначе – без паузы;
2 – если в последнем проходе не было обслуживаемых каналов, то пауза длительностью 0.5 цикла потока CALC, иначе – без паузы;
3 – если в последнем проходе не было обслуживаемых каналов, то пауза до начала следующего цикла CALC, иначе – без паузы;
4 – если в последнем проходе не было обслуживаемых каналов, то пауза до начала следующего цикла CALC;
5 – если в последнем проходе не было обслуживаемых каналов, то пауза до начала следующего цикла CALC, иначе – ожидание non-CALC (приостановка потока MAIN) или пауза 1с.
Увеличение указанных чисел на 16 отключает транзакции по данному COM-порту в режиме TRACE.
Использование системных переменных (см. Группа СИСТЕМНЫЕ и Группа ДИАГНОСТИКА ):
@Modem_Step типа INPUT (Параметр <> 0 указывает номер COM-порта):
0, R – среднее время взаимодействия по указанному COM-порту (включая паузы) за весь цикл базы;
95, C2 – среднее время на одну успешную транзакцию (с учетом повторов запросов);
92, I2 – счетчик циклов каналов (по атрибуту 39, EXEC) с незавершенным обменом (суммарно для всех каналов);
@e_PLC2Type типа INPUT (Параметр <> 0 указывает номер COM-порта):
0, R – код ошибки:
32 – фатальная ошибка (соответствующее сообщение записывается в файл tm6_log.txt);
3 – ошибка записи;
9 – в ответе 0 символов (таймаут);
8 – в ответе недостаточно символов;
7 – ответ полный, но с ошибкой;
91, I1 – счетчик повторов запросов (всех ошибок по всем каналам);
92, I2 – счетчик неудачных серий повторов запросов;
45, T – время последней ошибки (если установлен флаг Запрос времени значения).
Запись любого значения в @e_PLC2Type типа OUTPUT обнуляет атрибуты переменной, а также атрибуты @Modem_Step.
Счетчики в @Modem_Step и @e_PLC2Type обнуляются при переходе на обмен по заданному COM-порту.
@RS_on_off:
может выключать резервный COM-порт;
при выключении текущего COM-порта предпринимается попытка перехода на резервный COM-порт.