Added more components

This commit is contained in:
2025-11-13 09:19:39 +01:00
parent 4ad75a3534
commit ae9667622a
56 changed files with 7117 additions and 296 deletions

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_HMI_ANALOG_MOTOR_DATA" Id="{e9412b33-412b-4fea-8801-2ed1d961ca65}">
<Declaration><![CDATA[TYPE ST_HMI_ANALOG_MOTOR_DATA :
STRUCT
// Button to set the valve into Automatic mode
stAutomaticButton : ST_HMI_CONTROL_BUTTON;
// Button to set the valve into manual mode
stManualButton : ST_HMI_CONTROL_BUTTON;
// Buttons for opening and closing the button in manual mode
stStartButton : ST_HMI_CONTROL_BUTTON;
stStopButton : ST_HMI_CONTROL_BUTTON;
// Current setpoint
stSetpoint : ST_HMI_ANALOG_VALUE;
// Current process value
stProcessValue : ST_HMI_ANALOG_VALUE;
// Reflects the current status of the valve
// 1 = Running; 2 = Starting/Stopping; 3 = Stopped; 4 = Error
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iStatus : INT;
// Reflects the current mode of the valve
// 1 = Automatic mode; 2 = Manual mode
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iCurrentMode : INT;
// Interlocks for HMI
stInterlock : ST_HMI_INTERLOCK;
// Instance name (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
sName : STRING(80);
// true = Object ist used by the program and can be actuated by the HMI
// false = Object is NOT used by the program and should NOT be used by the HMI
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
xUsed : BOOL := TRUE;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_HMI_ANALOG_VALUE" Id="{3a54dc92-9517-488a-9951-d35ff2c8f85b}">
<Declaration><![CDATA[TYPE ST_HMI_ANALOG_VALUE :
STRUCT
// Current value
{attribute 'OPC.UA.DA' := '1'}
rValue : REAL;
// Maxmimum value defined by configuration (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
rMin : REAL;
// Minimum value defined by configuration (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
rMax : REAL;
// Unit of measurement (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
sUnit : STRING(80);
// Instance name (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
sName : STRING(80);
// Reflects the current status of the analog input (read only)
// 1 = Ok; 2 = Error
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iStatus : INT := 0;
// true = Object ist used by the program and can be actuated by the HMI
// false = Object is NOT used by the program and should NOT be used by the HMI
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
xUsed : BOOL := TRUE;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_HMI_ANALOG_VALVE_DATA" Id="{8cf9206f-a80c-45c9-bb5c-178cbd098270}">
<Declaration><![CDATA[TYPE ST_HMI_ANALOG_VALVE_DATA :
STRUCT
// Button to set the valve into Automatic mode
stAutomaticButton : ST_HMI_CONTROL_BUTTON;
// Button to set the valve into manual mode
stManualButton : ST_HMI_CONTROL_BUTTON;
// Buttons for opening and closing the button in manual mode
stOpenButton : ST_HMI_CONTROL_BUTTON;
stCloseButton : ST_HMI_CONTROL_BUTTON;
// Current setpoint
stSetpoint : ST_HMI_ANALOG_VALUE;
// Current process value
stProcessValue : ST_HMI_ANALOG_VALUE;
// Interlocks for HMI
stInterlock : ST_HMI_INTERLOCK;
// Reflects the current status of the valve
// 1 = Opened; 2 = Opening/Closing; 3 = Closed; 4 = Error
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iStatus : INT;
// Reflects the current mode of the valve
// 1 = Automatic mode; 2 = Manual mode
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iCurrentMode : INT;
// Instance name (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
sName : STRING(80);
// true = Object ist used by the program and can be actuated by the HMI
// false = Object is NOT used by the program and should NOT be used by the HMI
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
xUsed : BOOL := TRUE;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_HMI_CONTROL_BUTTON" Id="{5039d22d-b17a-4f01-942f-a3d08ba20cd7}">
<Declaration><![CDATA[TYPE ST_HMI_CONTROL_BUTTON :
STRUCT
// HMI -> PLC
// The HMI writes here to signal the plc
// that it wants to command this button
{attribute 'OPC.UA.DA' := '1'}
xRequest : BOOL;
// Signals if the Button can be used by the HMI (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
xRelease : BOOL;
// Current state of the button (read only)
// 0 = none, 1 = active, 2 = pending, 3 = waring, 4 = error (Type int)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
eFeedback : E_HMI_BUTTON_FEEDBACK;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_HMI_INTEGER_VALUE" Id="{257b8b79-4109-405a-aaf8-5fd1c6431eee}">
<Declaration><![CDATA[TYPE ST_HMI_INTEGER_VALUE :
STRUCT
// Current value
{attribute 'OPC.UA.DA' := '1'}
iValue : INT;
// Maxmimum value defined by configuration (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iMin : INT;
// Minimum value defined by configuration (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iMax : INT;
// Unit of measurement (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
sUnit : STRING(80);
// Instance name (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
sName : STRING(80);
// Reflects the current status of the analog input (read only)
// 1 = Ok; 2 = Error
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iStatus : INT := 0;
// true = Object ist used by the program and can be actuated by the HMI
// false = Object is NOT used by the program and should NOT be used by the HMI
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
xUsed : BOOL := TRUE;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_HMI_INTERLOCK" Id="{7280bab4-f308-456f-81a8-d90e7dab2738}">
<Declaration><![CDATA[TYPE ST_HMI_INTERLOCK :
STRUCT
// Each bit represents the current interlock status
// TRUE = Interlock OK
// FALSE = Interlock not OK
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
wProcessINTLKStatus : T_INTERLOCK;
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
wSafetyINTLKStatus : T_INTERLOCK;
// Each bit represents an interlock which is monitored
// TRUE = Interlock bit is used
// FALSE = Interlock bit is not used
{attribute 'OPC.UA.DA' := '1'}
wProcessINTLKUsed : T_INTERLOCK;
{attribute 'OPC.UA.DA' := '1'}
wSafetyINTLKUsed : T_INTERLOCK;
// Descriptive name of each interlock
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
{attribute 'analysis' := '-33'}
asProcessINTLKName : ARRAY [0..(GVL_CONFIGS.MAX_INTERLOCKS-1)] OF STRING(80);
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
{attribute 'analysis' := '-33'}
asSafetyINTLKName : ARRAY [0..(GVL_CONFIGS.MAX_INTERLOCKS-1)] OF STRING(80);
// Represents the combined process interlock status
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
xProcessINTLKOk : BOOL;
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
xSafetyINTLKOk : BOOL;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_HMI_ORP_SENSOR_DATA" Id="{5591496f-c48a-4039-866c-f9454b697632}">
<Declaration><![CDATA[TYPE ST_HMI_ORP_SENSOR_DATA :
STRUCT
// PH sensor value
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
rValuePH : REAL;
// Temperature sensor value
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
rValueTemp : REAL;
// Redox potential sensor data
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
rValueORP : REAL;
// Sensor lifetime left
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
rValueDLI : REAL;
// Reflects the current status of the ORP input data (read only)
// 1 = Ok; 2 = Error
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iStatus : INT := 0;
// Instance name (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
sName : STRING(80);
// true = Object ist used by the program and can be actuated by the HMI
// false = Object is NOT used by the program and should NOT be used by the HMI
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
xUsed : BOOL := TRUE;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_HMI_VALVE_DATA" Id="{6751dac7-5b57-4a36-91da-fd2e723254c5}">
<Declaration><![CDATA[TYPE ST_HMI_VALVE_DATA :
STRUCT
// Button to set the valve into Automatic mode
stAutomaticButton : ST_HMI_CONTROL_BUTTON;
// Button to set the valve into manual mode
stManualButton : ST_HMI_CONTROL_BUTTON;
// Buttons for opening and closing the button in manual mode
stOpenButton : ST_HMI_CONTROL_BUTTON;
stCloseButton : ST_HMI_CONTROL_BUTTON;
// Reflects the current status of the valve
// 1 = Opened; 2 = Opening/Closing; 3 = Closed; 4 = Error
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iStatus : INT;
// Reflects the current mode of the valve
// 1 = Automatic mode; 2 = Manual mode
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
iCurrentMode : INT;
// Interlocks for HMI
stInterlock : ST_HMI_INTERLOCK;
// Instance name (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
sName : STRING(80);
// true = Object ist used by the program and can be actuated by the HMI
// false = Object is NOT used by the program and should NOT be used by the HMI
// (read only)
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
xUsed : BOOL := TRUE;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="T_INTERLOCK" Id="{ec032632-1f17-4d00-bf8d-22bf3be720ca}">
<Declaration><![CDATA[TYPE T_INTERLOCK : WORD; 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="E_HMI_ANALOG_VALUE_STATUS" Id="{a3c070c3-4456-4cc5-87b7-d5db4abc287e}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_HMI_ANALOG_VALUE_STATUS :
(
OK := 1,
ERROR := 2
);
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="E_HMI_BUTTON_FEEDBACK" Id="{dd7c6534-9dcb-4c09-86a7-742a590c8efa}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
{attribute 'analysis' := '-32'}
TYPE E_HMI_BUTTON_FEEDBACK :
(
NONE := 0,
ACTIVE := 1,
PENDING := 2,
WARNING := 3,
ERROR := 4
) INT := NONE;
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="E_HMI_MODE" Id="{819c1a48-9d62-42a0-ace9-1d45c5e49819}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_HMI_MODE :
(
AUTOMATIC := 1,
MANUAL := 2
);
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="E_HMI_MOTOR_STATUS" Id="{d99897af-6865-4ec7-a780-4ac4e69129e1}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_HMI_MOTOR_STATUS :
(
RUNNING := 1,
TRANSITIONING := 2,
STOPPED := 3,
ERROR := 4
);
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="E_HMI_VALVE_STATUS" Id="{1997df70-e467-40ef-b432-9fb399b78557}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_HMI_VALVE_STATUS :
(
OPENED := 1,
TRANSITIONING := 2,
CLOSED := 3,
ERROR := 4
);
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>