Merge branch 'release/1.3.4'

This commit is contained in:
2026-03-13 13:44:41 +01:00
4 changed files with 115 additions and 79 deletions

View File

@@ -136,62 +136,9 @@
</System>
<Plc>
<Project GUID="{4E62D9E7-436C-457D-8DC4-82D2FEF91C96}" Name="BasicComponents" PrjFilePath="BasicComponents\BasicComponents.plcproj" TmcFilePath="BasicComponents\BasicComponents.tmc" ReloadTmc="true" AmsPort="851" FileArchiveSettings="#x000e" CopyTmcToTarget="true" CopyTpyToTarget="false" SymbolicMapping="true">
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcHash="{63E07965-E818-C034-FD63-DBA12806D3FA}" TmcPath="BasicComponents\BasicComponents.tmc">
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcHash="{CC57F9F8-FD4D-8A3D-E8DE-220E6C379AE4}" TmcPath="BasicComponents\BasicComponents.tmc">
<Name>BasicComponents Instance</Name>
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
<Vars VarGrpType="2" AreaNo="1">
<Name>PlcTask Outputs</Name>
<Var>
<Name>PRG_MAIN._fbValve_TimeoutTestOpen._fbValveTimeout.xOpenValve</Name>
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimeoutTestOpen._fbValveTimeout.xCloseValve</Name>
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimeoutTestClose._fbValveTimeout.xOpenValve</Name>
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimeoutTestClose._fbValveTimeout.xCloseValve</Name>
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimoutTriggerOpen._fbValveTimeout.xOpenValve</Name>
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimoutTriggerOpen._fbValveTimeout.xCloseValve</Name>
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimoutTriggerClose._fbValveTimeout.xOpenValve</Name>
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimoutTriggerClose._fbValveTimeout.xCloseValve</Name>
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValveTestHMI._fbValveOC.xOpenValve</Name>
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValveTestHMI._fbValveOC.xCloseValve</Name>
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
</Vars>
<Vars VarGrpType="1">
<Name>PlcTask Inputs</Name>
<Var>
@@ -487,6 +434,59 @@
<Type>BOOL</Type>
</Var>
</Vars>
<Vars VarGrpType="2" AreaNo="1">
<Name>PlcTask Outputs</Name>
<Var>
<Name>PRG_MAIN._fbValve_TimeoutTestOpen._fbValveTimeout.xOpenValve</Name>
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimeoutTestOpen._fbValveTimeout.xCloseValve</Name>
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimeoutTestClose._fbValveTimeout.xOpenValve</Name>
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimeoutTestClose._fbValveTimeout.xCloseValve</Name>
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimoutTriggerOpen._fbValveTimeout.xOpenValve</Name>
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimoutTriggerOpen._fbValveTimeout.xCloseValve</Name>
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimoutTriggerClose._fbValveTimeout.xOpenValve</Name>
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValve_TimoutTriggerClose._fbValveTimeout.xCloseValve</Name>
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValveTestHMI._fbValveOC.xOpenValve</Name>
<Comment><![CDATA[ Use xOpenValve for normally closed valves]]></Comment>
<Type>BOOL</Type>
</Var>
<Var>
<Name>PRG_MAIN._fbValveTestHMI._fbValveOC.xCloseValve</Name>
<Comment><![CDATA[ Use xCloseValve for normally open valves]]></Comment>
<Type>BOOL</Type>
</Var>
</Vars>
<Contexts>
<Context>
<Id>0</Id>

Binary file not shown.

View File

@@ -21,7 +21,7 @@
<GlobalVersionStructureIncluded>false</GlobalVersionStructureIncluded>
<Company>Heisig GmbH</Company>
<Title>BaseComponents</Title>
<ProjectVersion>1.3.3</ProjectVersion>
<ProjectVersion>1.3.4</ProjectVersion>
<DefaultNamespace>BC</DefaultNamespace>
<Author>M.Heisig</Author>
<Description>Basic components fb's (Valves, AI, AO, Motors, etc.)</Description>
@@ -304,8 +304,8 @@
<ProjectExtensions>
<PlcProjectOptions>
<XmlArchive>
<Data>
<o xml:space="preserve" t="OptionKey">
<Data>
<o xml:space="preserve" t="OptionKey">
<v n="Name">"&lt;ProjectRoot&gt;"</v>
<d n="SubKeys" t="Hashtable" ckt="String" cvt="OptionKey">
<v>{192FAD59-8248-4824-A8DE-9177C94C195A}</v>
@@ -2686,16 +2686,16 @@
</d>
<d n="Values" t="Hashtable" />
</o>
</Data>
<TypeList>
<Type n="Boolean">System.Boolean</Type>
<Type n="Hashtable">System.Collections.Hashtable</Type>
<Type n="Int32">System.Int32</Type>
<Type n="OptionKey">{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}</Type>
<Type n="String">System.String</Type>
<Type n="UInt32">System.UInt32</Type>
</TypeList>
</XmlArchive>
</Data>
<TypeList>
<Type n="Boolean">System.Boolean</Type>
<Type n="Hashtable">System.Collections.Hashtable</Type>
<Type n="Int32">System.Int32</Type>
<Type n="OptionKey">{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}</Type>
<Type n="String">System.String</Type>
<Type n="UInt32">System.UInt32</Type>
</TypeList>
</XmlArchive>
</PlcProjectOptions>
</ProjectExtensions>
</Project>

View File

@@ -212,9 +212,6 @@ IF _fbHalt.Error THEN
_xError := TRUE;
END_IF
// Can the axis perform a new move command
_xCanExecNewCmd := (NOT _xBusy) AND _fbPower.Status AND (NOT _xError);
// ====================
// Handle state machine
// ====================
@@ -224,6 +221,7 @@ CASE _eState OF
IF xEnable THEN
_xEnable := TRUE;
_xBusy := TRUE;
_xDone := FALSE;
_eState := E_AXIS_PTP_STATE.WAIT_FOR_ENABLE;
END_IF
@@ -248,18 +246,15 @@ CASE _eState OF
E_AXIS_PTP_STATE.ENABLED:
_xDone := FALSE;
IF _xExecuteMoveAbs THEN
_xExecuteMoveAbs := FALSE;
_xBusy := TRUE;
_xStartMoveAbsolute := TRUE;
_eState := E_AXIS_PTP_STATE.MOVING_ABSOLUTE;
END_IF
IF _xExecuteMoveRel THEN
_xExecuteMoveRel := FALSE;
_xBusy := TRUE;
_xStartMoveRelative := TRUE;
_eState := E_AXIS_PTP_STATE.MOVING_RELATIVE;
END_IF
@@ -267,27 +262,25 @@ CASE _eState OF
IF _xExecuteHoming THEN
_xExecuteHoming := FALSE;
_xStartHomeing := TRUE;
_xBusy := TRUE;
_eState := E_AXIS_PTP_STATE.HOMING;
END_IF
IF _xExecuteMoveVelocity THEN
_xExecuteMoveVelocity := FALSE;
_xStartMoveVelocity := TRUE;
_xBusy := TRUE;
_eState := E_AXIS_PTP_STATE.MOVING_VELOCITY;
END_IF
IF _xExecuteMoveModulo THEN
_xExecuteMoveModulo := FALSE;
_xStartMoveModulo := TRUE;
_xBusy := TRUE;
_eState := E_AXIS_PTP_STATE.MOVING_MODULO;
END_IF
IF (NOT xEnable) AND (NOT _xError) THEN
_xEnable := FALSE;
_xBusy := TRUE;
_xDone := FALSE;
_eState := E_AXIS_PTP_STATE.WAIT_FOR_DISABLE;
END_IF
@@ -452,6 +445,8 @@ CASE _eState OF
_xError := TRUE;
END_CASE
// Can the axis perform a new move command
_xCanExecNewCmd := (NOT _xBusy) AND _fbPower.Status AND (NOT _xError);
// Copy internal buffers to outputs
xEnabled := _fbPower.Status;
@@ -469,6 +464,10 @@ END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF _xBusy THEN
_xExecuteHalt := TRUE;
_xDone := FALSE;
xDone := FALSE;
_xBusy := TRUE;
xBusy := TRUE;
END_IF]]></ST>
</Implementation>
</Method>
@@ -480,10 +479,17 @@ VAR_INPUT
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF _xCanExecNewCmd THEN
_xBusy := TRUE;
_xCanExecNewCmd := FALSE;
_lrHomingPos := lrHomingPosition;
_eHomingMode := eHomingMode;
_xExecuteHoming := TRUE;
_xDone := FALSE;
xDone := FALSE;
_xBusy := TRUE;
xBusy := TRUE;
M_Homing := TRUE;
ELSE
M_Homing := FALSE;
@@ -497,9 +503,16 @@ VAR_INPUT
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF _xCanExecNewCmd THEN
_xBusy := TRUE;
_xCanExecNewCmd := FALSE;
_lrTargetPosition := lrTargetPos;
_xExecuteMoveAbs := TRUE;
_xDone := FALSE;
xDone := FALSE;
_xBusy := TRUE;
xBusy := TRUE;
M_MoveAbs := TRUE;
ELSE
M_MoveAbs := FALSE;
@@ -515,10 +528,17 @@ VAR_INPUT
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF _xCanExecNewCmd THEN
_xBusy := TRUE;
_xCanExecNewCmd := FALSE;
_lrTargetPosition := lrTargetPos;
_eMoveDirection := eMoveDirection;
_xExecuteMoveModulo := TRUE;
_xDone := FALSE;
xDone := FALSE;
_xBusy := TRUE;
xBusy := TRUE;
M_MoveModulo := TRUE;
ELSE
M_MoveModulo := FALSE;
@@ -532,9 +552,17 @@ VAR_INPUT
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF _xCanExecNewCmd THEN
_xCanExecNewCmd := FALSE;
_xBusy := TRUE;
_lrRelativeDistance := lrRelDist;
_xExecuteMoveRel:= TRUE;
_xDone := FALSE;
xDone := FALSE;
_xBusy := TRUE;
xBusy := TRUE;
M_MoveRel := TRUE;
ELSE
M_MoveRel := FALSE;
@@ -549,9 +577,17 @@ END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[IF _xCanExecNewCmd THEN
_xCanExecNewCmd := FALSE;
_xBusy := TRUE;
_xExecuteMoveVelocity := TRUE;
_eMoveDirection := eDirection;
_xDone := FALSE;
xDone := FALSE;
_xBusy := TRUE;
xBusy := TRUE;
M_MoveVelocity := TRUE;
ELSE
M_MoveVelocity := FALSE;