*Устанавливаем настройкиCOM-порта*)
IF port_opened=0 THEN
COM_SERVICE1.Settings.SPort:=com_num; (*номерCOM-порта*)
COM_SERVICE1.Settings.ulBaudrate:=9600; (*скорость*)
COM_SERVICE1.Settings.byParity:=0;
COM_SERVICE1.Settings.ulTimeout:=0;
COM_SERVICE1.Settings.byStopBits:=1;
COM_SERVICE1.Settings.ulBufferSize:=0;
//COM_SERVICE1.Settings.ulScan:=0;
END_IF
COM_SERVICE1(Enable:=(port_opened=0) , Settings:=Settings , Task:=OPEN_TSK );
(*ЕслиCOM-порт открыт, то переходим к приему и передачи данных*)
IF COM_SERVICE1.ready THEN
port_opened:=2;
END_IF
IF port_opened=2 THEN (*Удачно проинициализировали*)
(*чтение параметра типаReal из прибора ТРМ201 с адресом8 из параметр с именемPV и индексом0*)
get_fl_owen(
Enable:=Enabl , (* разрешение работы блока*)
Addr:=8 , (*адрес прибора*)
AddrLen:=A8BIT , (*длина адреса*)
Name:='pv' , (*имя параметра, значение которого считываем*)
Index:=65535 , (*индекс параметра*)
RealType:=FLOAT24 , (*тип параметра, значение которого считываем*)
ComHandle:= COM_SERVICE1.Settings.SPort, (*номерCOM-порта*)
TimeOut:=TimeOut , (*ТаймаутT#50ms*)
Complete=>cmpl , (* скопировать признак готовности результата*)
Value=>a , (*считанное значение*)
wTime=>wTime , (*значение времени для измерителя*)
Error=> err ); (* скопировать регистр ошибок*)
(*если установлен признак завершения операции, то*)
IF Enabl = FALSE THEN
Enabl := TRUE;
END_IF
IF err <> 0 THEN
Enabl := FALSE;
END_IF
END_IF