Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

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;