Added multi string handling and balancing

This commit is contained in:
Matthias Heisig
2025-02-13 21:26:50 +01:00
parent f9df0a5180
commit 2ded890dd4
14 changed files with 554 additions and 302 deletions

View 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>