Added HMI Interface to Analog Input

This commit is contained in:
2025-11-13 11:38:51 +01:00
parent ae9667622a
commit 7db5a7b4d7
2 changed files with 70 additions and 41 deletions

View File

@@ -40,6 +40,9 @@ VAR_INPUT
xInUnitTestMode : BOOL := FALSE;
END_VAR
VAR_OUTPUT
// Optional HMI interface
stHMIInterface : ST_HMI_ANALOG_VALUE;
// Scaled output value
rScaledValue : REAL;
@@ -367,6 +370,13 @@ IF xConfirmAlarms AND _xError AND (NOT _xAlarmsActive) AND (NOT _xInputErrorsAct
_xError := FALSE;
END_IF
// ====================
// Handle HMI interface
// ====================
HandleHMIOutput();
// Copy internal signals to outputs
xWarningLow := _xWarningLow;
xWarningHigh := _xWarningHigh;
@@ -528,6 +538,25 @@ CreateAlarmMSG();
CreateAlarmLimitsMSG();]]></ST>
</Implementation>
</Method>
<Method Name="HandleHMIOutput" Id="{1667ccb9-efb6-43f9-9a11-5c208475143f}">
<Declaration><![CDATA[METHOD PRIVATE HandleHMIOutput
VAR_INPUT
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[stHMIInterface.xUsed := stAnalogIOConfig.xUsed;
stHMIInterface.sUnit := stAnalogIOConfig.sUnit;
stHMIInterface.sName := _sName;
stHMIInterface.rValue := _rScaledValue;
stHMIInterface.rMin := stAnalogIOConfig.rPVMin;
stHMIInterface.rMax := stAnalogIOConfig.rPVMax;
IF _xError THEN
stHMIInterface.iStatus := 2;
ELSE
stHMIInterface.iStatus := 1;
END_IF]]></ST>
</Implementation>
</Method>
<Property Name="Name" Id="{103c7177-ef49-4a4b-98b1-06578d5fce31}">
<Declaration><![CDATA[PROPERTY Name : STRING(80)]]></Declaration>
<Get Name="Get" Id="{02e85b3f-9933-4282-a9d2-1ab27eb22499}">