0

Библиотека SysLibCom.lib

Данная библиотека поддерживает работу с последовательным портом. Реализуется в системе исполнения (опционально). Библиотека содержит следующие функции (выполнение синхронное):

  • SysComOpen
  • SysComSetSettings
  • SysComSetSettingsEx
  • SysComClose
  • SysComRead
  • SysComWrite
  • SysComGetVersion2300

SysComOpen

Данная функция типа DWORD открывает последовательный порт. Она возвращает дескриптор порта, который используется при вызове других функций библиотеки.В случае ошибки,возвращается 0xFFFFFFFF.

Библиотека SysLibCom.lib, image002

Перечисление PORTS:

TYPE PORTS : (COM1:=1, COM2, COM3, COM4, COM5, COM6, COM7, COM8);

END_TYPE

SysComSetSettings

Данная функция типа BOOL, устанавливает скорость, число стоповых бит, контроль паритета, таймаут, размер буфера и период опроса для последовательного порта. Требуемые параметры передаются посредством указателя на структуру COMSETTINGS. Возвращает TRUE при успешной установке параметров, иначе FALSE.

Библиотека SysLibCom.lib, image004

Элементы структуры COMSETTINGS, определены следующим образом:

Port Библиотека SysLibCom.lib, icon razz ORTS; Порт (См. PORTS).

dwBaudRate Библиотека SysLibCom.lib, icon biggrin WORD; Скорость: 4800, 9600, 19200, 38400, 57600, 115200

byStopBits:BYTE; 0 = один стоп бит, 1=полтора, 2=два

byParity:BYTE; 0 = нет бита контроля, 1 = нечетность, 2 = четность

dwTimeout Библиотека SysLibCom.lib, icon biggrin WORD; Таймаут интерфейса в мс, по умолчанию 0

dwBufferSize Библиотека SysLibCom.lib, icon biggrin WORD; Размер встроенного буфера, по умолчанию 0

dwScan Библиотека SysLibCom.lib, icon biggrin WORD; Время полинга последовательного интерфейса; должно быть 0

Перечисление PORTS:

TYPE PORTS : (COM1:=1, COM2, COM3, COM4, COM5, COM6, COM7, COM8);

END_TYPE

SysComSetSettingsEx

Данная функция типа BOOL, применяется для установки расширенных параметров порта. В дополнение к параметрам, определяемым SysComOpen, она задает управление потоком и размер символов. Требуемые параметры передаются посредством указателя на структуру

COMSETTINGSEX.

Возвращает TRUE при успешной установке параметров, иначе FALSE. В зависимости от аппаратной реализации, не всегда возможно многократно менять параметры открытого порта. В этом случае, закройте его и откройте заново.

Библиотека SysLibCom.lib, image006

Элементы структуры COMSETTINGSEX определены следующим образом:

Size:INT; Размер структуры в байтах. Используйте sizeof() для заполнения этого поля. Необходимо для совместимости с пред. версиями.

Port Библиотека SysLibCom.lib, icon razz ORTS; Порт (См. PORTS).

dwBaudRate Библиотека SysLibCom.lib, icon biggrin WORD; Скорость: 4800, 9600, 19200, 38400, 57600, 115200

byStopBits:BYTE; 0 = один стоп бит, 1=полтора, 2=два

byParity:BYTE; 0 = нет бита контроля, 1 = нечетность, 2 = четность

dwTimeout Библиотека SysLibCom.lib, icon biggrin WORD; Таймаут интерфейса в мс, по умолчанию 0

dwBufferSize Библиотека SysLibCom.lib, icon biggrin WORD; Размер встроенного буфера, по умолчанию 0

dwScan Библиотека SysLibCom.lib, icon biggrin WORD; Время полинга последовательного интерфейса; должно быть 0, если в документации изготовителя аппаратуры нет иных указаний.

cByteSize : BYTE; 4…8: размер символа в битах

fOutxCtsFlow : BOOL; TRUE означает контроль потока передачи по сигналу CTS.

fDtrControl : BYTE; 0: DTR всегда 0 для открытого порта.

1: DTR

2: Управление по DTR

fDsrSensitivity : BOOL; При TRUE запрещен прием при отсутствии сигнала DSR.

fRtsControl : BYTE; 0: RTS всегда 0 для открытого порта.

1: RTS всегда 1 для открытого порта.

2: драйвер держит RTS пока буфер приемника заполнен менее чем на половину. Драйвер снимает RTS, если буфер заполнен более чем на три четверти.

3: Управление по RTS: Драйвер устанавливает RTS на время передачи. После передачи всех данных из буфера, RTS снимается.

fOutxDsrFlow : BOOL; Разрешает управление по DSR. При переходе DSR в ноль, передача приостанавливается.

Перечисление PORTS:

TYPE PORTS : (COM1:=1, COM2, COM3, COM4, COM5, COM6, COM7, COM8);

END_TYPE

Пример настройки параметров для аппаратного хендшекинга:

dwHandle: DWORD;

pt_comsettingsex:COMSETTINGSEX:=(Port:=COM1,

dwBaudRate:=38400,

byStopBits:=0,

dwTimeout:=5000,

cByteSize:=7,

byParity := 2,

fOutxCtsFlow := FALSE,

fOutxDsrFlow:=TRUE,

DtrControl := 2,

fRtsControl := 2);

Реализация:

pt_comsettingsex.Size := sizeof(pt_comsettingsex);

SysComSetSettingsEx(dwHandle := Handle, ComSettingsExt :=ADR(pt_comsettingsex));

Где Handle есть значение, полученное вызовом SysComOpen(COM1).

SysComClose

Функция типа BOOL, закрывает COM порт. Возвращает TRUE при успешном завершении, иначе FALSE.

Библиотека SysLibCom.lib, image008

SysComWrite

Функция типа DWORD, записывает данные в порта на передачу. Возвращает число реально записанных байт.

Библиотека SysLibCom.lib, image010

SysComRead

Функция типа DWORD, читает принятые данные из порта. Возвращает число считанных байтов.

Библиотека SysLibCom.lib, image012

SysComGetVersion2300

Функция типа DWORD, всегда возвращает 0. Используется для внутренней автоматической проверки версии. В прикладных программах ее вызывать ненужно.

Раздел: CDS_LIB Метки: ,

Оставить комментарий

Отправить сообщение

CoDeSys GSM/GPRS модем Lectus OPC MasterSCADA Modbus MX110 Omron OPC-сервер owen OWEN Easy Logic owen logic PLC Configuration PROFIBUS s-200 SCADA scada системы siemens siemens plc SIMATIC Simplight SMS step7 TRACE MODE Динамизация ИП-320 ОВЕН ОВЕН ПЛК ОВЕН ПЧВ ПЛК ПЛК ОВЕН ПР 110 Панель оператора Программируемое реле Частотный преобразователь библиотека в CoDeSys визуализация диспетчеризация конфигурация панели программирование ПЛК серия NS сименс плк частотник частотное управление язык CFC язык ST
.