Added HMI Interface to Analog Input
This commit is contained in:
@@ -132,7 +132,7 @@
|
|||||||
</System>
|
</System>
|
||||||
<Plc>
|
<Plc>
|
||||||
<Project GUID="{4E62D9E7-436C-457D-8DC4-82D2FEF91C96}" Name="PLC" PrjFilePath="PLC\PLC.plcproj" TmcFilePath="PLC\PLC.tmc" ReloadTmc="true" AmsPort="851" FileArchiveSettings="#x000e" CopyTmcToTarget="true" CopyTpyToTarget="false" SymbolicMapping="true">
|
<Project GUID="{4E62D9E7-436C-457D-8DC4-82D2FEF91C96}" Name="PLC" PrjFilePath="PLC\PLC.plcproj" TmcFilePath="PLC\PLC.tmc" ReloadTmc="true" AmsPort="851" FileArchiveSettings="#x000e" CopyTmcToTarget="true" CopyTpyToTarget="false" SymbolicMapping="true">
|
||||||
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcHash="{14654FC1-00FC-CFEC-B890-75F0B5146731}" TmcPath="PLC\PLC.tmc">
|
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcHash="{2F71D701-8FCE-746A-6BDE-2ADEF4ACE650}" TmcPath="PLC\PLC.tmc">
|
||||||
<Name>PLC Instance</Name>
|
<Name>PLC Instance</Name>
|
||||||
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
|
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
|
||||||
<Vars VarGrpType="2" AreaNo="1">
|
<Vars VarGrpType="2" AreaNo="1">
|
||||||
@@ -190,6 +190,46 @@
|
|||||||
</Vars>
|
</Vars>
|
||||||
<Vars VarGrpType="1">
|
<Vars VarGrpType="1">
|
||||||
<Name>PlcTask Inputs</Name>
|
<Name>PlcTask Inputs</Name>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_MAIN._fbValve_TimeoutTestOpen._fbValveTimeout.xOpenFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_MAIN._fbValve_TimeoutTestOpen._fbValveTimeout.xCloseFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_MAIN._fbValve_TimeoutTestClose._fbValveTimeout.xOpenFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_MAIN._fbValve_TimeoutTestClose._fbValveTimeout.xCloseFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_MAIN._fbValve_TimoutTriggerOpen._fbValveTimeout.xOpenFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_MAIN._fbValve_TimoutTriggerOpen._fbValveTimeout.xCloseFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_MAIN._fbValve_TimoutTriggerClose._fbValveTimeout.xOpenFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_MAIN._fbValve_TimoutTriggerClose._fbValveTimeout.xCloseFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_MAIN._fbValveTestHMI._fbValveOC.xOpenFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>PRG_MAIN._fbValveTestHMI._fbValveOC.xCloseFeedback</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
<Var>
|
<Var>
|
||||||
<Name>PRG_MAIN._fbAnalogInputTest._fbAIErrorLowOn.iAnalogValue</Name>
|
<Name>PRG_MAIN._fbAnalogInputTest._fbAIErrorLowOn.iAnalogValue</Name>
|
||||||
<Comment><![CDATA[ Analog input value]]></Comment>
|
<Comment><![CDATA[ Analog input value]]></Comment>
|
||||||
@@ -442,46 +482,6 @@
|
|||||||
EL30xx also sets this if an underrange or overrange error is present]]></Comment>
|
EL30xx also sets this if an underrange or overrange error is present]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
|
||||||
<Name>PRG_MAIN._fbValve_TimeoutTestOpen._fbValveTimeout.xOpenFeedback</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_MAIN._fbValve_TimeoutTestOpen._fbValveTimeout.xCloseFeedback</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_MAIN._fbValve_TimeoutTestClose._fbValveTimeout.xOpenFeedback</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_MAIN._fbValve_TimeoutTestClose._fbValveTimeout.xCloseFeedback</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_MAIN._fbValve_TimoutTriggerOpen._fbValveTimeout.xOpenFeedback</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_MAIN._fbValve_TimoutTriggerOpen._fbValveTimeout.xCloseFeedback</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_MAIN._fbValve_TimoutTriggerClose._fbValveTimeout.xOpenFeedback</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_MAIN._fbValve_TimoutTriggerClose._fbValveTimeout.xCloseFeedback</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_MAIN._fbValveTestHMI._fbValveOC.xOpenFeedback</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>PRG_MAIN._fbValveTestHMI._fbValveOC.xCloseFeedback</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
</Vars>
|
</Vars>
|
||||||
<Contexts>
|
<Contexts>
|
||||||
<Context>
|
<Context>
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ VAR_INPUT
|
|||||||
xInUnitTestMode : BOOL := FALSE;
|
xInUnitTestMode : BOOL := FALSE;
|
||||||
END_VAR
|
END_VAR
|
||||||
VAR_OUTPUT
|
VAR_OUTPUT
|
||||||
|
// Optional HMI interface
|
||||||
|
stHMIInterface : ST_HMI_ANALOG_VALUE;
|
||||||
|
|
||||||
// Scaled output value
|
// Scaled output value
|
||||||
rScaledValue : REAL;
|
rScaledValue : REAL;
|
||||||
|
|
||||||
@@ -367,6 +370,13 @@ IF xConfirmAlarms AND _xError AND (NOT _xAlarmsActive) AND (NOT _xInputErrorsAct
|
|||||||
_xError := FALSE;
|
_xError := FALSE;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
// ====================
|
||||||
|
// Handle HMI interface
|
||||||
|
// ====================
|
||||||
|
|
||||||
|
HandleHMIOutput();
|
||||||
|
|
||||||
|
|
||||||
// Copy internal signals to outputs
|
// Copy internal signals to outputs
|
||||||
xWarningLow := _xWarningLow;
|
xWarningLow := _xWarningLow;
|
||||||
xWarningHigh := _xWarningHigh;
|
xWarningHigh := _xWarningHigh;
|
||||||
@@ -528,6 +538,25 @@ CreateAlarmMSG();
|
|||||||
CreateAlarmLimitsMSG();]]></ST>
|
CreateAlarmLimitsMSG();]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
</Method>
|
</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}">
|
<Property Name="Name" Id="{103c7177-ef49-4a4b-98b1-06578d5fce31}">
|
||||||
<Declaration><![CDATA[PROPERTY Name : STRING(80)]]></Declaration>
|
<Declaration><![CDATA[PROPERTY Name : STRING(80)]]></Declaration>
|
||||||
<Get Name="Get" Id="{02e85b3f-9933-4282-a9d2-1ab27eb22499}">
|
<Get Name="Get" Id="{02e85b3f-9933-4282-a9d2-1ab27eb22499}">
|
||||||
|
|||||||
Reference in New Issue
Block a user