var
I_Port : I_WagoSysComBase;
o_FbSerialInterface_cpt_02 : FbSerialInterface_cpt;
o_Status : WAGOAPPCOM.FbResult; // Status object
end_var
____________________________________________________
i_Schnittstelle := 3; // Auswahl, die Schnittstelle ist COM3 für Heizungsdaten
CASE i_Schnittstelle OF
0: I_PORT := 0;
1: I_PORT := COM1; (* Onboard Schnittstelle *)
2: I_PORT := COM2_Zaehler; (* 750-652 Schnittstelle *)
3: I_PORT := COM3_Heizung; (* 750-650 Schnittstelle *)
ELSE
i_Schnittstelle := 0;
END_CASE
// IF x_IsOpen = NOT TRUE THEN x_Open_01 := TRUE; // Schnittstelle oeffnen
x_Open_01 := TRUE; // Schnittstelle Öffnen
o_FbSerialInterface_cpt_02(
oStatus=> o_Status ,
xOpen:= x_Open_01,
xIsOpen=> x_IsOpen,
xIsIdle=> o_start_viess.t_Hzg_Serial_Parameter.x_IsIdle,
xError=> x_Error,
xTxTrigger:= o_start_viess.t_Hzg_Serial_Parameter.x_SendActive,
pTxBuffer:= ADR(o_start_viess.t_Hzg_Serial_Parameter.a_SendeDaten),
udiTxNBytes:= o_start_viess.t_Hzg_Serial_Parameter.udi_Anzahl_Sendebyte,
pRxBuffer:= ADR(o_start_viess.t_Hzg_Serial_Parameter.a_Hzg_ReceiveBuffer),
udiRxBufferSize:= SIZEOF(o_start_viess.t_Hzg_Serial_Parameter.a_Hzg_ReceiveBuffer),
udiRxIndex:= o_start_viess.t_Hzg_Serial_Parameter.udi_Hzg_ReceiveBuffer_index, //udi_RxIndex,
xRxBufferFull=> x_RxBufferFull,
xRxOverflow=> x_RxOverflow,
xResetStatus:= x_ResetStatus,
I_Port:= I_Port,
udiBaudrate:= 4800,
usiDataBits:= 8,
eParity:= eTTYParity.Even,
eStopBits:= eTTYStopBits.Two,
eHandshake:= eTTYHandshake.None,
ePhysical:= eTTYPhysicalLayer.RS232);
st_Status := o_FbSerialInterface_cpt_02.oStatus.GetDescription();
IF o_FbSerialInterface_cpt_02.xRxBufferFull = TRUE THEN
o_Start_viess.t_Hzg_Serial_Parameter.udi_Hzg_ReceiveBuffer_index:=0;
END_IF