0

Чтение и запись двух параметров с одного прибора ТРМ201 по протоколу ОВЕН

Пример на языке ST реализует работу по интерфейсу RS-485: Чтение и за-пись двух параметров с одного прибора ТРМ201. Для работы примера в PLC Con-figuration должны быть подключены библиотеки SisLibCom, OwenNet, ComService.

 

PROGRAM PLC_PRG

VAR

get_fl_owen:OWEN_GET_REAL; (*Чтение параметра типа Real*)

send_fl_owen:OWEN_SET_REAL; (*Запись параметра типа Real*)

COM_SERVICE1: COM_SERVICE; (*открытие COM-порта*)

cmpl: BOOL; (* признак завершения операции *)

err: INT; (*номер ошибки*)

port_opened: BYTE := 0; (*состояние порта*)

Settings: COMSETTINGS; (* настройки последова-тельного порта *)

com_num: PORTS:=0; (*0 — RS-485, 1 — RS-232*)

TimeOut: TIME:=T#50ms; (*таймаут*)

Enabl: BOOL:=TRUE; (*состояние работы блока*)

wTime: WORD; (*значение времени для измери-теля*)

master1: BYTE := 0;

A: REAL; (*считанное значение из ТРМ201*)

b: REAL:=30;

END_VAR

(*Устанавливаем настройки COM-порта*)

IF port_opened=0 THEN

Settings.Port:=com_num; (*номер COM-порта*)

Settings.dwBaudRate:=115200; (*скорость*)

Settings.byParity:=0;

Settings.dwTimeout:=0;

Settings.byStopBits:=0;

Settings.dwBufferSize:=0;

Settings.dwScan:=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 (*Удачно проинициализировали*)

CASE master1 OF

(*чтение параметра типа Real из прибора ТРМ201 с адресом 8 из параметр с именем PV и индексом 0*)

0: get_fl_owen(

Enable:=Enabl , (* разрешение работы блока *)

Addr:=8 , (*адрес прибора*)

AddrLen:=A8BIT , (*длина адреса*)

Name:=’pv’ , (*имя параметра, значение которого считываем*)

Index:=65535 , (*индекс параметра*)

RealType:=FLOAT24 , (*тип параметра, значение которого считываем*)

ComHandle:= Settings.Port, (*номер COM-порта*)

TimeOut:=TimeOut , (*Таймаут T#50ms*)

Complete=>cmpl , (* скопировать признак готовности результата *)

Value=>a , (*считанное значение*)

wTime=>wTime , (*значение времени для измерителя*)

Error=> err ); (* скопировать регистр ошибок *)

(*если установлен признак завершения операции, то *)

IF cmpl THEN

master1:=1;(*переходим к выполнению следующего блока*)

END_IF

1:(*Запись параметра типа Real в прибор ТРМ201 с адресом 8 в параметр с именем SP и индексом 0*)

send_fl_owen(

Enable:=Enabl , (* разрешение работы блока *)

Addr:= 8, (*адрес прибора*)

AddrLen:=A8BIT, (*длина адреса*)

Name:= ‘sp’, (*имя параметра, значение которого записываем в ТРМ201*)

Index:= 0, (*индекс параметра*)

RealType:= FLOAT24, (*тип параметра, значение которого записываем*)

Value:=b , (*параметр, значение значение которого записываем в TPM201*)

ComHandle:=Settings.Port, (*номер COM-порта*)

TimeOut:=TimeOut , (* время тайм-аута [мс] — макс. за-держка на обработку запроса *)

Complete=>cmpl , (* скопировать признак готовности результата *)

Error=> err); (* скопировать регистр ошибок *)

(*если установлен признак завершения операции, то *)

IF cmpl THEN

master1:=0;(*переходим к выполнению следующего блока*)

END_IF

END_CASE

IF Enabl = FALSE THEN

Enabl := TRUE;

END_IF

IF err <> 0 THEN

Enabl := FALSE;

END_IF

END_IF

 

 

Раздел: Программы ПЛК Метки: ,

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

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

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
.