PORT_CTRL - управление COM портом

Назначение.
Функциональный блок отправляет служебные команды открытому COM-порту.
Состав структурной переменной.
Переменная со структурным типом PORT_CTRL будет добавлена в локальный словарь автоматически при добавлении блока в редактор.

Описание алгоритма.
-
До запуска блока (RUN=FALSE) на вход ID необходимо передать идентификатор файла COM-порта, который присваивается в процессе открытия порта с использованием функционального блока PORT_OPEN.
-
Код выполняемой команды задается на входе CMD согласно таблице:КодКраткое описание0Возвращает количество доступных для чтения байт, находящихся в буфере на прием1Возвращает количество свободных байт в буфере на передачу2Возвращает статус порта3Очистка входного буфера4Изменение состояния линии RTS. Код состояния передается через входной параметр PARAM.
-
Вход PARAM используется при CMD=4 для передачи кода состояния линии RTS: 0 - RTS выключено, 1 - RTS включено. Для CMD=0 .. 3 вход PARAM должен быть равен нулю.
-
После запуска блока (RUN=TRUE) на выход VALUE передается возвращаемое блоком значение. Для определения момента завершения операции отслеживается выход READY: false - в процессе выполнения, true - завершено.
-
Список кодов завершения операции на выходе FAULT:
|
Код
|
Краткое описание
|
|
0
|
Выполнено успешно
|
|
1
|
Некорректные параметры
|
|
3
|
Системная ошибка при работе с портом
|
Пример синтаксиса на языке ST.
//вызов функционального блока PORT_CTRL
Block.PORT_CTRL(RUN, ID, CMD, PARAM);
//чтение возвращаемого значения
Block.VALUE;
//чтение флага завершения операции
Block.READY;
//чтение кода завершения операции
Block.FAULT;
|
