Skip to content

Commit

Permalink
***TcoTixonFeeding****
Browse files Browse the repository at this point in the history
*stuck component at output
+time to check component stuck go SeparatorTask go into error state
+ tasks as  public members (HoppetTask,SeparatorTask....)

***TcoDrives***

+Torque control tab in service view
* power off in restore method (if  inEnable is true then not required to power off)
* overide value was always changed to 100, if value is  defined by user then value is not changed.
  • Loading branch information
peterbarancek committed Jun 24, 2024
1 parent 107c8aa commit 5fd1ac3
Show file tree
Hide file tree
Showing 16 changed files with 253 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,27 @@
<vortex:RenderableContentControl Margin="5" DataContext="{Binding _jerk}" PresentationType="ControlSlim"/>
</StackPanel>
</GroupBox>
<GroupBox Padding="10" Grid.Row="7" DataContext="{Binding _moveRelativeTask}" Header="{Binding AttributeName}"

<GroupBox Padding="10" Grid.Row="7" DataContext="{Binding _torqueTask}" Header="{Binding AttributeName}"
Visibility="{Binding DataContext.Component._config.HideSetTorque.Cyclic,
Source={StaticResource ProxyElement}, Converter={vortex:BooleanToVisibilityConverter},ConverterParameter=true}">
<WrapPanel Orientation="Vertical">
<vortex:RenderableContentControl Margin="5" DataContext="{Binding }" />
<vortex:RenderableContentControl Margin="5" DataContext="{Binding _torque}" PresentationType="ControlSlim"/>
<vortex:RenderableContentControl Margin="5" DataContext="{Binding _relative}" PresentationType="ControlSlim"/>
<vortex:RenderableContentControl Margin="5" DataContext="{Binding _continuousUpdate}" PresentationType="ControlSlim"/>
<vortex:RenderableContentControl Margin="5" DataContext="{Binding _velocityLimitHigh}" PresentationType="ControlSlim"/>
<vortex:RenderableContentControl Margin="5" DataContext="{Binding _velocityLimitLow}" PresentationType="ControlSlim"/>
<vortex:RenderableContentControl Margin="5" DataContext="{Binding _torqueRamp}" PresentationType="ControlSlim"/>
<vortex:RenderableContentControl Margin="5" DataContext="{Binding _enableManualTorqueStartValue}" PresentationType="ControlSlim"/>
<WrapPanel IsEnabled="{Binding _enableManualTorqueStartValue.Cyclic}">
<vortex:RenderableContentControl Margin="5" DataContext="{Binding _manualTorqueStartValue}" PresentationType="ControlSlim"/>
</WrapPanel>

</WrapPanel>
</GroupBox>

<GroupBox Padding="10" Grid.Row="7" DataContext="{Binding _moveRelativeTask}" Header="{Binding AttributeName}"
Visibility="{Binding DataContext.Component._config.HideMoveRelative.Cyclic,
Source={StaticResource ProxyElement}, Converter={vortex:BooleanToVisibilityConverter},ConverterParameter=true}">
<WrapPanel Orientation="Vertical">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -444,11 +444,15 @@ PROPERTY Override : LREAL]]></Declaration>
METHOD Restore : ITcoRestorable]]></Declaration>
<Implementation>
<ST><![CDATA[IF __ISVALIDREF(_axisRef) THEN
_Power(inEnable := FALSE);
IF NOT inEnable THEN
_Power(inEnable := FALSE);
END_IF
_mcReadStatus(Axis := _axisRef, Enable := FALSE);
END_IF
_override := 100;
IF NOT (_override>0.0 AND _override<=100.0) THEN
_override := 100;
END_IF
RestoreTasks();
_resetTask.Restore();]]></ST>
</Implementation>
Expand Down
7 changes: 7 additions & 0 deletions src/TcoTixonFeeding/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,15 @@ The package consists of a PLC library providing control logic and its .NET twin
| ErrorTimeHopper | TIME | T#0S |
| OutOfBoxSensorDisabled | BOOL | FALSE |
| SeparatorHasWorkPosition | BOOL | FALSE |
| BufferStuckedOnFillingSensor | TIME | T#30S |
---

### NOTE!
This option BufferStuckedOnFillingSensor is introduced due screw stuck on Filling sensor. (Required new step feed to push this stucked component) See picture below (Thx AdamPitak)

![](assets/stuckedscrew.png)


## Tixon Vibro
![](assets/TixonVibro_side_signals.png)

Expand Down
Binary file added src/TcoTixonFeeding/assets/stuckedscrew.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,11 @@ STRUCT
BufferIdleTime : TIME := T#5S;
{attribute addProperty Name "<#Buffer full blow time after#> - T_BUF_BLOW_FULL"}
BufferBlowFullTime : TIME := T#1S;
{attribute addProperty Name "<#Buffer blow active #>"}
BufferBlowActive : BOOL := TRUE;
{attribute addProperty Name "<#Time when component in separator #> - T_BUFSEP_ON"}
TimeToComponentInSeparator : TIME := T#300MS;
{attribute addProperty Name "<#Time when component is out of separator #> - T_FLY_OFF"}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
{attribute addProperty Name "<#Separator has work position (usualy TRUE when pushing to up direction)#>"}
SeparatorHasWorkPosition : BOOL := FALSE;
{attribute addProperty Name "<#Buffer stucked on filing sensor#> - T_BUF_STUCK_FIL_SENSOR"}
BufferStuckedOnFillingSensor : TIME := T#20S;
END_STRUCT
END_TYPE
]]></Declaration>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,17 @@ UpdateControl();]]></ST>
_bufferTask.AutoRestore:=false;]]></ST>
</Implementation>
</Method>
<Property Name="BufferTask" Id="{2277a762-23e9-0546-3172-74a21ae7d575}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC BufferTask : REFERENCE TO TcoTixonBufferTask]]></Declaration>
<Get Name="Get" Id="{5e4ba501-d40b-04dd-286c-3dc1a858458c}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[BufferTask ref= _bufferTask;]]></ST>
</Implementation>
</Get>
</Property>
<Property Name="Config" Id="{175d044f-1652-0a17-2513-eb21bb7c4ca2}">
<Declaration><![CDATA[(*~
<docu>
Expand Down Expand Up @@ -194,6 +205,17 @@ _hopperTask.AutoRestore:=false;
]]></ST>
</Implementation>
</Method>
<Property Name="HopperTask" Id="{3a00600b-e9cf-0160-2da8-db4cae866074}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC HopperTask : reference TO TcoTixonHopperTask]]></Declaration>
<Get Name="Get" Id="{8f43a6db-75b5-0249-0c47-aea26cc7a732}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[HopperTask ref= _hopperTask;]]></ST>
</Implementation>
</Get>
</Property>
<Method Name="Restore" Id="{9cf088e3-d91e-0f6f-3df8-ec09596724ad}">
<Declaration><![CDATA[(*~
<docu>
Expand Down Expand Up @@ -231,6 +253,18 @@ _hopperTask.Restore();
]]></ST>
</Implementation>
</Method>
<Property Name="SeparatorTask" Id="{7316f358-efca-0f3f-01bf-f9034a3c59a1}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC SeparatorTask : REFERENCE TO TcoTixonPickStepSeparatorTask
]]></Declaration>
<Get Name="Get" Id="{40567ae3-7af3-0bf3-0e14-eea0d9d0d1cc}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[SeparatorTask ref= _separatorTask;]]></ST>
</Implementation>
</Get>
</Property>
<Method Name="Separe" Id="{751db759-e6f9-0685-0767-2e3180999873}" FolderPath="Operations\Single\">
<Declaration><![CDATA[METHOD PUBLIC Separe : TcoCore.ITcoTaskStatus
Expand Down Expand Up @@ -282,6 +316,17 @@ _stepperTask.AutoRestore:=FALSE;
]]></ST>
</Implementation>
</Method>
<Property Name="StepTask" Id="{f020a17b-fe06-0aa2-04b5-b9783c814ffa}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC StepTask : REFERENCE TO TcoTixonPickStepTask]]></Declaration>
<Get Name="Get" Id="{ecdb23e2-f68a-0783-0de1-ef47763ccab3}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[StepTask ref= _stepperTask;]]></ST>
</Implementation>
</Get>
</Property>
<Method Name="UpdateControl" Id="{d7832ece-df6c-067c-3144-c929cfec9ad6}">
<Declaration><![CDATA[METHOD INTERNAL UpdateControl
VAR_INPUT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,17 @@ UpdateControl();]]></ST>
_bufferTask.AutoRestore:=false;]]></ST>
</Implementation>
</Method>
<Property Name="BufferTask" Id="{ab88bcb3-a0b1-0295-2445-c33abff0f050}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC BufferTask : REFERENCE TO TcoTixonBufferTask]]></Declaration>
<Get Name="Get" Id="{a6643d15-ccdb-0356-39f4-30a639398a41}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[BufferTask ref= _bufferTask;]]></ST>
</Implementation>
</Get>
</Property>
<Property Name="Config" Id="{bac766df-24ab-0afe-0792-40e103ff5fab}">
<Declaration><![CDATA[(*~
<docu>
Expand Down Expand Up @@ -193,6 +204,17 @@ _hopperTask.AutoRestore:=false;
]]></ST>
</Implementation>
</Method>
<Property Name="HopperTask" Id="{5cf54943-9c5b-0c22-10ef-277f2fa1254d}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC HopperTask : reference TO TcoTixonHopperTask]]></Declaration>
<Get Name="Get" Id="{6fe43ffc-9cd5-0abb-13fb-e00cd6427080}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[HopperTask ref= _hopperTask;]]></ST>
</Implementation>
</Get>
</Property>
<Method Name="Restore" Id="{8644f063-a070-0375-0bdb-3c8072e80800}">
<Declaration><![CDATA[(*~
<docu>
Expand Down Expand Up @@ -231,6 +253,18 @@ _hopperTask.Restore();
]]></ST>
</Implementation>
</Method>
<Property Name="SeparatorTask" Id="{b82d4086-3a66-07c8-099c-4570d40f25ab}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC SeparatorTask : REFERENCE TO TcoTixonPickVibroSeparatorTask
]]></Declaration>
<Get Name="Get" Id="{8dc9ac57-b141-0b7f-0db3-2a56556bae1c}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[SeparatorTask ref= _separatorTask;]]></ST>
</Implementation>
</Get>
</Property>
<Method Name="Separe" Id="{f4a12d2f-a6d1-05fa-1cfd-29e32305e394}" FolderPath="Operations\Single\">
<Declaration><![CDATA[METHOD PUBLIC Separe : TcoCore.ITcoTaskStatus
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,17 @@ UpdateControl();]]></ST>
_bufferTask.AutoRestore:=false;]]></ST>
</Implementation>
</Method>
<Property Name="BufferTask" Id="{4d9c6cd9-ae31-0481-2daf-b20453218bd2}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC BufferTask : REFERENCE TO TcoTixonBufferTask]]></Declaration>
<Get Name="Get" Id="{7a506f2a-9a2e-0542-3144-a4171c920bc1}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[BufferTask ref= _bufferTask;]]></ST>
</Implementation>
</Get>
</Property>
<Property Name="Config" Id="{88c4ce96-49c2-071e-0a2b-c2d5e392553b}">
<Declaration><![CDATA[(*~
<docu>
Expand Down Expand Up @@ -180,6 +191,17 @@ _hopperTask.AutoRestore:=false;
]]></ST>
</Implementation>
</Method>
<Property Name="HopperTask" Id="{0245b470-b2fa-0e82-20fc-bb3fd02abb0d}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC HopperTask : reference TO TcoTixonHopperTask]]></Declaration>
<Get Name="Get" Id="{728a3245-547e-095b-18f2-d42a3022f167}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[HopperTask ref= _hopperTask;]]></ST>
</Implementation>
</Get>
</Property>
<Method Name="Restore" Id="{3b219525-b670-00c2-3709-74790d8af120}">
<Declaration><![CDATA[(*~
<docu>
Expand Down Expand Up @@ -215,6 +237,18 @@ _hopperTask.Restore();
]]></ST>
</Implementation>
</Method>
<Property Name="SeparatorTask" Id="{2bed9c28-fe4b-05ed-2432-bb1aed87a6c6}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC SeparatorTask : REFERENCE TO TcoTixonPickVibroBasicSeparatorTask
]]></Declaration>
<Get Name="Get" Id="{9c9f9bb7-ce1e-04ff-09a6-f8240ed6fdb1}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[SeparatorTask ref= _separatorTask;]]></ST>
</Implementation>
</Get>
</Property>
<Method Name="Separe" Id="{0a21eba1-5f9b-081f-0db4-b4b909bbbebc}" FolderPath="Operations\Single\">
<Declaration><![CDATA[METHOD PUBLIC Separe : TcoCore.ITcoTaskStatus
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,13 @@ IF Execute() THEN
IF _progress = 1 THEN
inoControl.SepareComponent:=FALSE;
_varInfo :=__VARINFO( inoStatus.SeparatorHomePos);
THIS^.Messenger.OnCondition(_infoTimer.Q AND NOT inoStatus.SeparatorHomePos).Warning(_sb.Clear().Append('<#Waiting for #>').Append(_varInfo.Symbol).ToString());
IF inoStatus.SeparatorHomePos THEN
THIS^.Messenger.OnCondition(_infoTimer.Q AND inoStatus.ComponentOutOfBox AND NOT inoConfig.OutOfBoxSensorDisabled ).Error(_sb.Clear().Append('<#Check component at the separator output. The component is probably stuck!.#>').Append(_varInfo.Symbol).ToString()).Pin();
IF _infoTimer.Q AND inoStatus.ComponentOutOfBox and NOT inoConfig.OutOfBoxSensorDisabled THEN
THIS^.ThrowWhen(_errorTimer.Q );
ELSIF inoStatus.SeparatorHomePos AND NOT inoStatus.ComponentOutOfBox THEN
_progress := _progress + 1;
_timer(In:=FALSE);
END_IF;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ END_VAR
VAR
_timerIsFull : TON;
_timerIsStucked : TON;
END_VAR]]></Declaration>
<Implementation>
<ST><![CDATA[IF Execute() THEN
Expand Down Expand Up @@ -43,9 +44,13 @@ END_VAR]]></Declaration>
IF _progress = 1 THEN
Messenger.Debug('<#Waiting for buffer empty#>');
_timer(IN:=NOT inoStatus.FillingSensor,Pt:=inoConfig.BufferEmptyTime);
_timerIsStucked(in:=inoConfig.BufferStuckedOnFillingSensor<>T#0S AND inoControl.FeedingA AND inoStatus.FillingSensor AND NOT inoStatus.SeparatorPresent,Pt:=inoConfig.BufferStuckedOnFillingSensor);
IF _timer.Q AND inoControl.FeedingA THEN
_progress := _progress + 1;
_timer(In:=FALSE);
ELSIF _timerIsStucked.Q AND inoControl.FeedingA AND inoStatus.FillingSensor AND NOT inoStatus.SeparatorPresent THEN
_progress := _progress + 1;
_timer(In:=FALSE);
END_IF
END_IF;
IF _progress = 2 THEN
Expand Down Expand Up @@ -146,7 +151,8 @@ THIS^._errorMessage.Error(_sb.Clear().Append(description).Append(' To restore ac
<Implementation>
<ST><![CDATA[IF __ISVALIDREF(inoStatus) THEN THIS^.inoStatus.ActionDescription := '<#Stepper task started.#>'; END_IF;
CallTimers(FALSE);
_timerIsFull(In:=FALSE);]]></ST>
_timerIsFull(In:=FALSE);
_timerIsStucked(in:=FALSE);]]></ST>
</Implementation>
</Method>
<Method Name="Restore" Id="{816649e7-4c39-0c99-3a81-0cf45a38318e}">
Expand All @@ -164,6 +170,7 @@ METHOD Restore : ITcoRestorable]]></Declaration>
<Implementation>
<ST><![CDATA[SUPER^.Restore();
_timerIsFull(In:=FALSE);
_timerIsStucked(in:=FALSE);
]]></ST>
</Implementation>
</Method>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,17 @@ UpdateControl();]]></ST>
_bufferTask.AutoRestore:=false;]]></ST>
</Implementation>
</Method>
<Property Name="BufferTask" Id="{16ce73f6-de33-0454-2616-5756505e12db}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC BufferTask : REFERENCE TO TcoTixonBufferTask]]></Declaration>
<Get Name="Get" Id="{39f32607-111c-067d-167b-ac70f49683b2}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[BufferTask ref= _bufferTask;]]></ST>
</Implementation>
</Get>
</Property>
<Property Name="Config" Id="{2a5db503-6cb9-011e-187d-515726bdff0a}">
<Declaration><![CDATA[(*~
<docu>
Expand Down Expand Up @@ -200,6 +211,17 @@ _hopperTask.AutoRestore:=false;
]]></ST>
</Implementation>
</Method>
<Property Name="HopperTask" Id="{99843984-345c-0fa5-3def-0cafbf7aa966}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC HopperTask : reference TO TcoTixonHopperTask]]></Declaration>
<Get Name="Get" Id="{d0a6de3e-2bab-0a1b-1144-6acb818acbba}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[HopperTask ref= _hopperTask;]]></ST>
</Implementation>
</Get>
</Property>
<Method Name="Push" Id="{f237f914-e2ca-0fec-352a-3323a39530ec}" FolderPath="Operations\">
<Declaration><![CDATA[METHOD PUBLIC Push
VAR_INPUT
Expand Down Expand Up @@ -247,6 +269,18 @@ _hopperTask.Restore();
]]></ST>
</Implementation>
</Method>
<Property Name="SeparatorTask" Id="{8fa7f5b7-95ee-0cf6-2b9d-4ca220b01115}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC SeparatorTask : REFERENCE TO TcoTixonStepSeparatorTask
]]></Declaration>
<Get Name="Get" Id="{59466fc3-d7f9-0abf-0319-693234199dac}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[SeparatorTask ref= _separatorTask;]]></ST>
</Implementation>
</Get>
</Property>
<Method Name="Separe" Id="{a117f382-bd6a-02b1-30c0-c0024cffdf15}" FolderPath="Operations\Single\">
<Declaration><![CDATA[METHOD PUBLIC Separe : TcoCore.ITcoTaskStatus
Expand Down Expand Up @@ -298,6 +332,17 @@ _stepperTask.AutoRestore:=FALSE;
]]></ST>
</Implementation>
</Method>
<Property Name="StepTask" Id="{0e905c6f-4348-096e-2da8-f5cb6563e121}" FolderPath="Task\">
<Declaration><![CDATA[PROPERTY PUBLIC StepTask : REFERENCE TO TcoTixonStepTask]]></Declaration>
<Get Name="Get" Id="{733297ea-9b50-0d57-20b3-136eb3d37a7d}">
<Declaration><![CDATA[VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[StepTask ref= _stepperTask;]]></ST>
</Implementation>
</Get>
</Property>
<Method Name="UpdateControl" Id="{a87e3bb2-dc5e-0dd9-3c82-5c60569a4ab2}">
<Declaration><![CDATA[METHOD INTERNAL UpdateControl
VAR_INPUT
Expand Down
Loading

0 comments on commit 5fd1ac3

Please sign in to comment.