Added multi string handling and balancing
This commit is contained in:
51
PLC/POUs/FB_PowerMeter.TcPOU
Normal file
51
PLC/POUs/FB_PowerMeter.TcPOU
Normal file
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
||||
<POU Name="FB_PowerMeter" Id="{9d4159f4-2d3f-4522-a770-c038a26d9d77}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_PowerMeter
|
||||
VAR_INPUT
|
||||
xResetEnergyCounter : BOOL;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
END_VAR
|
||||
VAR
|
||||
_fbReadRegs : FB_MBReadInputRegs;
|
||||
_fbWriteRegs : FB_MBWriteRegs;
|
||||
|
||||
_fbREResetEnergyCounter : R_TRIG;
|
||||
_xResetEnergyCounter : BOOL;
|
||||
|
||||
_iState : INT := 0;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[_fbREResetEnergyCounter(CLK := xResetEnergyCounter);
|
||||
|
||||
IF _fbREResetEnergyCounter.Q THEN
|
||||
_xResetEnergyCounter := TRUE;
|
||||
END_IF
|
||||
|
||||
CASE _iState OF
|
||||
0: // Idle
|
||||
IF _xResetEnergyCounter THEN
|
||||
_xResetEnergyCounter := FALSE;
|
||||
_iState := 10;
|
||||
END_IF
|
||||
|
||||
10: // Reset energy counters
|
||||
_fbWriteRegs(
|
||||
sIPAddr:= '192.168.42.80',
|
||||
nTCPPort:= 502,
|
||||
nUnitID:= 16#FF ,
|
||||
nQuantity:= ,
|
||||
nMBAddr:= 16#0600,
|
||||
cbLength:= ,
|
||||
pSrcAddr:= ,
|
||||
bExecute:= ,
|
||||
tTimeout:= ,
|
||||
bBusy=> ,
|
||||
bError=> ,
|
||||
nErrId=> );
|
||||
END_CASE]]></ST>
|
||||
</Implementation>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
Reference in New Issue
Block a user