Started Modbus Master for Levitronix Pumps and Flow sensors

This commit is contained in:
2026-03-09 18:45:56 +01:00
parent e994e9970c
commit 218d815380
11 changed files with 550 additions and 215 deletions

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_Levi_ChDStatus" Id="{d1bf4f7b-9f39-4e8d-86cd-899174d80a62}">
<Declaration><![CDATA[{attribute 'pack_mode' := '1'}
TYPE ST_Levi_ChDStatus :
STRUCT
// Detected bubble in sensor. Stays active while bubble detect hold time
bBubbleDetected : BIT;
// Sensor signal is abnormal. (Empty sensor, unplugged sensor, too many bubbles)
bMeasError : BIT;
// Reverse flow
bReverseFlow : BIT;
// Combination of Full scale and Volume Pulse setting is invalid
bVolCntPulseSetError : BIT;
// Zero Adjustment is in progress
bZeroAdjActive : BIT;
// 0: Last Zero Adjustment was successful
// 1: Last Zero Adjustment was not successful because sensor was empty or there were too many bubbles in sensor.
bZeroAdjErr : BIT;
// Parameter set mode active. Settings can be written to Hold register
bSetModeActive : BIT;
// EEPROM writing active
bEEPROMWriting : BIT;
// Measured flow is higher than Alarm High level
bFlowAlarmHigh : BIT;
// Measured flow is lower than Alarm Low level
bFlowAlarmLow : BIT;
// Volume Counter is greater than Volume Counter Alarm H limit (Volume Counter Alarm enabled)
bVolCntAlarmH : BIT;
// Volume Counter is greater than Volume Counter Alarm HH limit (Volume Counter Alarm enabled)
bVolCntAlarmHH : BIT;
// Analog or digital test output is active.
bOutputTest : BIT;
// EEPROM error active
bEEPROMErr : BIT;
// Short circuit detected
bShortCircuit : BIT;
// Device is in firmware download mode
bFirmwareUpdateAct : BIT;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_Levi_ChData" Id="{7bd2984e-f05d-431f-83f1-90d65fb7d1bc}">
<Declaration><![CDATA[{attribute 'pack_mode' := '1'}
TYPE ST_Levi_ChData :
STRUCT
stStatus : ST_Levi_ChDStatus;
siCurrFlow : SINT;
dwPulseCounter : DWORD;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>