diff --git a/src/TcoCognexVision/README.md b/src/TcoCognexVision/README.md
index d9cd10c12..d8368640b 100644
--- a/src/TcoCognexVision/README.md
+++ b/src/TcoCognexVision/README.md
@@ -203,14 +203,19 @@ and where `DesignerUserData` are (here may be placed customized data (what proje
### Export symbols for visions purposes
-If filter field is empty all data wil be generated. If you would to ganerate only specific data you may apply filter(see picture below).
+If filter field is empty all data wil be generated. If you would to ganerate only specific data you may apply filter or tail filter.(see picture below).
+
+
+MAIN.myVeryFirstTcoContextInstance._specificData.PcToPlc.AnalogInspector._data.DetectedStatus
+
+
![alt text](assets/designerExportDataFilter.png)
![alt text](assets/designerExportDialog.png)
-Final data ready to import into designer will be:
+Final data suitable for import into designer will be:
```
-MAIN.myVeryFirstTcoContextInstance._specificData.PcToPlc.DigitalInspector._data.DetectedStatus;System.Boolean;
-MAIN.myVeryFirstTcoContextInstance._specificData.PcToPlc.DataInspector._data.DetectedStatus;System.String;
+MAIN.myVeryFirstTcoContextInstance._specificData.PcToPlc.AnalogInspector._data.RequiredMin;System.Double;
+MAIN.myVeryFirstTcoContextInstance._specificData.PcToPlc.AnalogInspector._data.RequiredMin;System.Double;
MAIN.myVeryFirstTcoContextInstance._specificData.PcToPlc.AnalogInspector._data.DetectedStatus;System.Double;
```
\ No newline at end of file
diff --git a/src/TcoCognexVision/assets/designerExportDataFilter.png b/src/TcoCognexVision/assets/designerExportDataFilter.png
index ab715bfca..b14641f20 100644
Binary files a/src/TcoCognexVision/assets/designerExportDataFilter.png and b/src/TcoCognexVision/assets/designerExportDataFilter.png differ
diff --git a/src/TcoCognexVision/assets/designerExportDialog.png b/src/TcoCognexVision/assets/designerExportDialog.png
index a022f103f..b530c87d6 100644
Binary files a/src/TcoCognexVision/assets/designerExportDialog.png and b/src/TcoCognexVision/assets/designerExportDialog.png differ
diff --git a/src/TcoCognexVision/src/TcoCognexVisionConnector/Properties/Localizations.Designer.cs b/src/TcoCognexVision/src/TcoCognexVisionConnector/Properties/Localizations.Designer.cs
index b89121570..7ee495292 100644
--- a/src/TcoCognexVision/src/TcoCognexVisionConnector/Properties/Localizations.Designer.cs
+++ b/src/TcoCognexVision/src/TcoCognexVisionConnector/Properties/Localizations.Designer.cs
@@ -69,15 +69,6 @@ internal static string ____PartId___ {
}
}
- ///
- /// Looks up a localized string similar to Trigger Date .
- ///
- internal static string ____Trigger_Date___ {
- get {
- return ResourceManager.GetString("____Trigger_Date___", resourceCulture);
- }
- }
-
///
/// Looks up a localized string similar to Acknowledge inspection results.
///
@@ -573,6 +564,15 @@ internal static string ___Error_detected__ {
}
}
+ ///
+ /// Looks up a localized string similar to Error time is lower than timeout. Please check config!.
+ ///
+ internal static string ___Error_time_is_lower_than_timeout__Please_check_config___ {
+ get {
+ return ResourceManager.GetString("___Error_time_is_lower_than_timeout__Please_check_config___", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to ErrorMsg.
///
@@ -1417,6 +1417,15 @@ internal static string ___Test_run_ready__ {
}
}
+ ///
+ /// Looks up a localized string similar to Timeout[ms].
+ ///
+ internal static string ___Timeout_ms___ {
+ get {
+ return ResourceManager.GetString("___Timeout_ms___", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Trigger.
///
diff --git a/src/TcoCognexVision/src/TcoCognexVisionConnector/Properties/Localizations.resx b/src/TcoCognexVision/src/TcoCognexVisionConnector/Properties/Localizations.resx
index b5c944f84..1b96e8231 100644
--- a/src/TcoCognexVision/src/TcoCognexVisionConnector/Properties/Localizations.resx
+++ b/src/TcoCognexVision/src/TcoCognexVisionConnector/Properties/Localizations.resx
@@ -252,6 +252,9 @@ IF Execute() THEN
_varInfo :=__VARINFO(inoIoData);
Messenger.Programming(_sb.Clear().Append('Invalid reference:
+
+ Error time is lower than timeout. Please check config!
+
Trigger!
@@ -558,9 +561,6 @@ IF Execute() THEN
GeneralResult FAIL
-
- Trigger Date
-
SystemOnline
@@ -585,12 +585,15 @@ IF Execute() THEN
Trigger Counter
-
- ErrorMsg
+
+ Error
LiveBit
+
+ ErrorMsg
+
TriggerTimeout
@@ -609,6 +612,9 @@ IF Execute() THEN
ClearResults
+
+ Timeout[ms]
+
PartId
@@ -693,9 +699,6 @@ IF Execute() THEN
Test run ready
-
- Error
-
Error code
diff --git a/src/TcoCognexVision/src/TcoCognexVisionConnector/TcoDesigner/TcoDesigner.cs b/src/TcoCognexVision/src/TcoCognexVisionConnector/TcoDesigner/TcoDesigner.cs
new file mode 100644
index 000000000..1a43142e6
--- /dev/null
+++ b/src/TcoCognexVision/src/TcoCognexVisionConnector/TcoDesigner/TcoDesigner.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace TcoCognexVisionConnector.TcoDesigner
+{
+ public partial class TcoDesigner
+ {
+
+ //public ObservableCollection Positions { get { return Extensions.ToObservableCollection(((IVortexObject)_positions).GetChildren().OfType()); } }
+
+ }
+}
diff --git a/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.Designer.cs b/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.Designer.cs
index dd4389f02..83a6ecd71 100644
--- a/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.Designer.cs
+++ b/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.Designer.cs
@@ -141,6 +141,15 @@ public static string SoftEvent {
}
}
+ ///
+ /// Looks up a localized string similar to Tail.
+ ///
+ public static string Tail {
+ get {
+ return ResourceManager.GetString("Tail", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Tasks.
///
diff --git a/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.resx b/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.resx
index 3f68c392a..6e265d50e 100644
--- a/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.resx
+++ b/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.resx
@@ -144,6 +144,9 @@
SoftEvent
+
+ Tail
+
Tasks
diff --git a/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.sk-Sk.resx b/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.sk-Sk.resx
index d59b135a5..de1682108 100644
--- a/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.sk-Sk.resx
+++ b/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/Properties/strings.sk-Sk.resx
@@ -144,6 +144,9 @@
SoftEvent
+
+ Požadované premenné
+
Ulohy
diff --git a/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/TcoDesigner/v_2_x_x/TcoDesigner_v_2_x_xServiceView.xaml b/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/TcoDesigner/v_2_x_x/TcoDesigner_v_2_x_xServiceView.xaml
index f535e4e11..4a98463f0 100644
--- a/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/TcoDesigner/v_2_x_x/TcoDesigner_v_2_x_xServiceView.xaml
+++ b/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/TcoDesigner/v_2_x_x/TcoDesigner_v_2_x_xServiceView.xaml
@@ -86,6 +86,8 @@
+
+
diff --git a/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/TcoDesigner/v_2_x_x/TcoDesigner_v_2_x_xViewModel.cs b/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/TcoDesigner/v_2_x_x/TcoDesigner_v_2_x_xViewModel.cs
index 9c47d33fb..9f32e19dc 100644
--- a/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/TcoDesigner/v_2_x_x/TcoDesigner_v_2_x_xViewModel.cs
+++ b/src/TcoCognexVision/src/Wpf/TcOpen.Inxton.TcoCognexVision.Wpf/TcoDesigner/v_2_x_x/TcoDesigner_v_2_x_xViewModel.cs
@@ -7,13 +7,13 @@
using System.Linq;
using System.Collections.Generic;
using System;
-using TcOpen.Inxton.Input;
using RelayCommand = TcOpen.Inxton.Input.RelayCommand;
using Microsoft.Win32;
using System.Windows;
using TcoCore;
using StringBuilder = System.Text.StringBuilder;
+
namespace TcoCognexVision
{
public class TcoDesigner_v_2_x_xViewModel : RenderableViewModel
@@ -34,7 +34,7 @@ public TcoDesigner_v_2_x_xViewModel() : base()
private void GenerateGenericSymbols()
{
- GetSymbols(this.Component._genericData, Filter, ref _sb);
+ GetSymbols(this.Component._genericData, Filter,TailFilter, ref _sb);
try
{
@@ -61,7 +61,7 @@ private void GenerateGenericSymbols()
private void GenerateSpecificSymbols()
{
_sb.Clear();
- GetSymbols(this.Component._specificData,Filter,ref _sb );
+ GetSymbols(this.Component._specificData,Filter,TailFilter,ref _sb );
try
{
@@ -85,36 +85,55 @@ private void GenerateSpecificSymbols()
}
}
- private void GetSymbols(IVortexObject obj, string filter, ref StringBuilder sb)
+ private void GetSymbols(IVortexObject obj, string symbolFilter,string tailFilter, ref StringBuilder sb)
{
- var splitted = filter.Split(';');
-
+ var symbolSplited = symbolFilter.Split(';',',');
+ var tailSplited = tailFilter.Split(';', ',');
+
foreach (var item in obj.GetValueTags())
{
- if (string.IsNullOrEmpty(filter) && !item.Symbol.Contains(Messenger))
- {
-
+ if (string.IsNullOrEmpty(symbolFilter) && !item.Symbol.Contains(Messenger))
sb.AppendLine($"{item.Symbol};{((dynamic)item).Cyclic.GetType().ToString()}; ;");
- }
else
- foreach (var split in splitted)
+ if (!item.Symbol.Contains(Messenger))
{
- if (item.Symbol.Contains(split) && !item.Symbol.Contains(Messenger))
+
+
+ var isThere = true;
+ foreach (var split in symbolSplited)
{
+ if (!item.Symbol.Contains(split))
+ {
- sb.AppendLine($"{item.Symbol};{((dynamic)item).Cyclic.GetType().ToString()};");
+ isThere = false;
+ break;
+ }
+ }
+ if (isThere)
+ {
+ if(string.IsNullOrEmpty(tailFilter) && !item.Symbol.Contains(Messenger))
+ sb.AppendLine($"{item.Symbol};{((dynamic)item).Cyclic.GetType().ToString()};");
+ else
+ foreach (var tail in tailSplited)
+ {
+ if(item.Symbol.Contains(tail))
+ sb.AppendLine($"{item.Symbol};{((dynamic)item).Cyclic.GetType().ToString()};");
+ {
+
+ }
+ }
+
}
}
-
}
foreach (var item in obj.GetChildren())
{
- GetSymbols(item, filter,ref _sb);
+ GetSymbols(item, symbolFilter, tailFilter,ref _sb);
}
}
public IEnumerable Tasks
@@ -137,6 +156,7 @@ public override object Model
}
public string Filter { get; set; } = string.Empty;
+ public string TailFilter { get; set; } = string.Empty;
public RelayCommand GenerateSpecificSymbolsCommand { get; private set; }
public RelayCommand GenerateGenericSymbolsCommand { get; private set; }
}
diff --git a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerGenericResults_v_2_x_x.TcDUT b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerGenericResults_v_2_x_x.TcDUT
index 6434f2145..cef57b31f 100644
--- a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerGenericResults_v_2_x_x.TcDUT
+++ b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerGenericResults_v_2_x_x.TcDUT
@@ -9,8 +9,6 @@ STRUCT
ResultPass : BOOL;
{attribute addProperty Name "<#GeneralResult FAIL#>"}
ResultFail : BOOL;
- {attribute addProperty Name "<# Trigger Date #>"}
- TriggerDate : DATE;
diff --git a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerPcToPlc_v_2_x_x.TcDUT b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerPcToPlc_v_2_x_x.TcDUT
index 14e67c67e..f52629921 100644
--- a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerPcToPlc_v_2_x_x.TcDUT
+++ b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerPcToPlc_v_2_x_x.TcDUT
@@ -26,7 +26,8 @@ STRUCT
{attribute addProperty Name "<#Trigger Counter#>"}
TriggerCounter : UDINT;
- {attribute addProperty Name "<#ErrorMsg#>"}
+ {attribute addProperty Name "<#Error#>"}
+
Error : BOOL;
{attribute addProperty Name "<#LiveBit#>"}
LiveBit : BOOL;
@@ -44,7 +45,6 @@ STRUCT
InspectionResults : TcoDesignerGenericResults_v_2_x_x;
-
END_STRUCT
END_TYPE
]]>
diff --git a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerPlcToPc_v_2_x_x.TcDUT b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerPlcToPc_v_2_x_x.TcDUT
index af4d88077..95fa84373 100644
--- a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerPlcToPc_v_2_x_x.TcDUT
+++ b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Structs/TcoDesignerPlcToPc_v_2_x_x.TcDUT
@@ -20,7 +20,10 @@ STRUCT
{attribute addProperty Name "<#ClearResults#>"}
ClearResults : BOOL;
-
+
+ {attribute addProperty Name "<#Timeout[ms]#>"}
+ Timeout : UINT;
+
{attribute addProperty Name "<# PartId #>"}
PartId : STRING; //napr. DMC Code
diff --git a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Tasks/TcoDesignerClearInspectionResults_v_2_x_x.TcPOU b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Tasks/TcoDesignerClearInspectionResults_v_2_x_x.TcPOU
index c1237c0ef..90bea372b 100644
--- a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Tasks/TcoDesignerClearInspectionResults_v_2_x_x.TcPOU
+++ b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Tasks/TcoDesignerClearInspectionResults_v_2_x_x.TcPOU
@@ -116,7 +116,7 @@ END_VAR
CallTimers(TRUE);
- THIS^.ThrowWhen(_errorTimer.Q OR THIS^.inoIoData.PcToPlc.TriggerTimeout OR THIS^.inoIoData.PcToPlc.Error );
+ THIS^.ThrowWhen(_errorTimer.Q OR THIS^.inoIoData.PcToPlc.Error );
END_IF
]]>
diff --git a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Tasks/TcoDesignerTrigger_v_2_x_x.TcPOU b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Tasks/TcoDesignerTrigger_v_2_x_x.TcPOU
index c59b05a74..26f114e9f 100644
--- a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Tasks/TcoDesignerTrigger_v_2_x_x.TcPOU
+++ b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/Tasks/TcoDesignerTrigger_v_2_x_x.TcPOU
@@ -48,9 +48,11 @@ IF Execute() THEN
ELSIF NOT __ISVALIDREF(inoStatus) THEN
_varInfo :=__VARINFO(inoStatus);
Messenger.Programming(_sb.Clear().Append('<#Invalid reference: #>').Append(_varInfo.Symbol).ToString()).Pin();
-// ELSIF NOT __ISVALIDREF(inoResults) THEN
-// _varInfo :=__VARINFO(inoResults);
-// Messenger.Programming(_sb.Clear().Append('<#Invalid reference: #>').Append(_varInfo.Symbol).ToString()).Pin();
+
+ ELSIF inTriggerType = eTcoDesignerTriggerType.TriggerWithTimeout
+ AND inoConfig.ErrorTime < inoConfig.TriggerTimemout THEN
+ Messenger.Error(_sb.Clear().Append('<#Error time is lower than timeout. Please check config!#>').ToString()).Pin();
+
ELSE
_progress := _progress + 1;
CallTimers(FALSE);
@@ -62,6 +64,11 @@ IF Execute() THEN
IF _progress = 1 THEN
IF inTriggerType = eTcoDesignerTriggerType.TriggerFast THEN
_progress := _progress + 1;
+ ELSIF inTriggerType = eTcoDesignerTriggerType.TriggerWithTimeout THEN
+ inoIoData.PlcToPc.Timeout:=TIME_TO_UINT( inoConfig.TriggerTimemout);
+ IF _clearResultsTask.Invoke().Done THEN
+ _progress := _progress + 1;
+ END_IF;
ELSIF _clearResultsTask.Invoke().Done THEN
_progress := _progress + 1;
END_IF
@@ -103,7 +110,9 @@ IF Execute() THEN
CallTimers(TRUE);
- THIS^.ThrowWhen(_errorTimer.Q OR NOT(THIS^.inoIoData.PcToPlc.TriggerTimeout XOR inTriggerType = eTcoDesignerTriggerType.TriggerWithTimeout) OR THIS^.inoIoData.PcToPlc.Error );
+ THIS^.ThrowWhen(_errorTimer.Q OR THIS^.inoIoData.PcToPlc.Error
+ OR (inTriggerType = eTcoDesignerTriggerType.TriggerWithTimeout AND THIS^.inoIoData.PcToPlc.TriggerTimeout) );
+
END_IF
]]>
@@ -173,6 +182,7 @@ METHOD PROTECTED OnError
]]>
';
+inoIoData.PlcToPc.Timeout:=0;
]]>
diff --git a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/TcoDesigner_v_2_x_x.TcPOU b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/TcoDesigner_v_2_x_x.TcPOU
index e4ac1f58c..5bf168793 100644
--- a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/TcoDesigner_v_2_x_x.TcPOU
+++ b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDesigner/TcoDesigner_v_2_x_x.TcPOU
@@ -14,6 +14,8 @@ VAR
{attribute addProperty Name "<#Status#>"}
_status : TcoDesignerStatus_v_2_x_x;
+ _triggerType: eTcoDesignerTriggerType;
+ _internalLiveBit: BOOL;
END_VAR
@@ -57,11 +59,11 @@ END_VAR
]]>
T#0MS;
-
+_timerConnection(In:=_internalLiveBit XOR _status.SignalStatus.LiveBit ,PT:=_config.ConnectionTimemout);
+_status.ClientConnected:= NOT _timerConnection.Q;//_timerConnection.ET<_timerConnection.PT AND _timerConnection.ET<>T#0MS;
+_internalLiveBit:=NOT _status.SignalStatus.LiveBit;
IF NOT _status.ClientConnected THEN
THIS^._status.ActionDescription := '<#Vision system is not responding via Ads. Check connection with Cognex Designer!#>';
THIS^.Messenger.Error(_status.ActionDescription).Pin();
@@ -70,8 +72,8 @@ END_IF
//*************RESTORE********************
-_taskEnabled := TRUE;
-_restoreTask.Enabled := _taskEnabled;
+
+_restoreTask.Enabled := TRUE;
IF _restoreTask.Execute() THEN
Restore();
_restoreTask.DoneWhen(TRUE);
@@ -82,27 +84,26 @@ END_IF
//****************************************
//*************CLEAR*DATA*****************
-_taskEnabled := NOT _triggerTask.Busy AND NOT _triggerFastTask.Busy AND NOT _triggerWithTimeoutTask.Busy AND _status.ClientConnected;
-_clearResultDataTask.Enabled := _taskEnabled;
+_clearResultDataTask.Enabled := _status.ClientConnected;
_clearResultDataTask(inoIoData := _genericData,inoConfig := THIS^._config,inoStatus := THIS^._status);
//****************************************
//*************TRIGGER ********************
-_taskEnabled := NOT _clearResultDataTask.Busy AND NOT _triggerFastTask.Busy AND NOT _triggerWithTimeoutTask.Busy AND _status.ClientConnected;
+_triggerTask.Enabled := NOT _triggerFastTask.Busy AND NOT _triggerWithTimeoutTask.Busy AND _status.ClientConnected;
IF _triggerTask.Execute() THEN
_triggerInternalTask.Enabled := TRUE;
- _triggerInternalTask(inTriggerType:=eTcoDesignerTriggerType.Trigger, refClearResultsTask:=_clearResultDataTask, inoIoData := _genericData,inoConfig := THIS^._config,inoStatus := THIS^._status);
+ _triggerType :=eTcoDesignerTriggerType.Trigger;
_triggerTask.DoneWhen(_triggerInternalTask.Invoke().Done);
_triggerTask.ThrowWhen(_triggerInternalTask.Error);
END_IF
//***********************************************
//*************TRIGGER WITH TIMEOUT********************
-_taskEnabled := TRUE;
-_triggerWithTimeoutTask.Enabled := NOT _clearResultDataTask.Busy AND NOT _triggerFastTask.Busy AND NOT _triggerTask.Busy AND _status.ClientConnected;
-IF _triggerTask.Execute() THEN
+
+_triggerWithTimeoutTask.Enabled := NOT _triggerFastTask.Busy AND NOT _triggerTask.Busy AND _status.ClientConnected;
+IF _triggerWithTimeoutTask.Execute() THEN
_triggerInternalTask.Enabled := TRUE;
- _triggerInternalTask(inTriggerType:=eTcoDesignerTriggerType.TriggerWithTimeout, refClearResultsTask:=_clearResultDataTask, inoIoData := _genericData,inoConfig := THIS^._config,inoStatus := THIS^._status);
+ _triggerType :=eTcoDesignerTriggerType.TriggerWithTimeout;
_triggerWithTimeoutTask.DoneWhen(_triggerInternalTask.Invoke().Done);
_triggerWithTimeoutTask.ThrowWhen(_triggerInternalTask.Error);
END_IF
@@ -111,16 +112,18 @@ END_IF
//*************TRIGGER FAST********************
-_taskEnabled := TRUE;
-_triggerFastTask.Enabled := _taskEnabled;
+
+_triggerFastTask.Enabled := NOT _triggerWithTimeoutTask.Busy AND NOT _triggerTask.Busy AND _status.ClientConnected;
IF _triggerFastTask.Execute() THEN
_triggerInternalTask.Enabled := TRUE;
- _triggerInternalTask(inTriggerType:=eTcoDesignerTriggerType.TriggerFast, refClearResultsTask:=_clearResultDataTask, inoIoData := _genericData,inoConfig := THIS^._config,inoStatus := THIS^._status);
+ _triggerType :=eTcoDesignerTriggerType.TriggerFast;
+
_triggerFastTask.DoneWhen(_triggerInternalTask.Invoke().Done);
_triggerFastTask.ThrowWhen(_triggerInternalTask.Error);
END_IF
//***********************************************
+_triggerInternalTask(inTriggerType:=_triggerType, refClearResultsTask:=_clearResultDataTask, inoIoData := _genericData,inoConfig := THIS^._config,inoStatus := THIS^._status);
inoData:=_specificData;]]>
diff --git a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVisionTests/POUs/myVeryFirstTcoContext.TcPOU b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVisionTests/POUs/myVeryFirstTcoContext.TcPOU
index 695dd8ae4..f9c6aa02d 100644
--- a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVisionTests/POUs/myVeryFirstTcoContext.TcPOU
+++ b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVisionTests/POUs/myVeryFirstTcoContext.TcPOU
@@ -16,7 +16,7 @@ VAR
{attribute addProperty Name "<#Project Specific Data#>"}
_specificData : ProjectSpecificData(THIS^);
-
+
END_VAR]]>
diff --git a/src/TcoCognexVision/src/XAE/XAE/XAETcoCognexVision.tsproj b/src/TcoCognexVision/src/XAE/XAE/XAETcoCognexVision.tsproj
index f331ad449..427bb8ed4 100644
--- a/src/TcoCognexVision/src/XAE/XAE/XAETcoCognexVision.tsproj
+++ b/src/TcoCognexVision/src/XAE/XAE/XAETcoCognexVision.tsproj
@@ -581,7 +581,7 @@
-
+
TcoCognexVisionTests Instance
{08500001-0000-0000-F000-000000000064}
@@ -801,26 +801,6 @@
PlcTask Outputs
-
- MAIN.myVeryFirstTcoContextInstance.myVeryFirstInsight._status.SignalStatus.EnableResultsBuffering
- BOOL
-
-
- MAIN.myVeryFirstTcoContextInstance.myVeryFirstInsight._status.SignalStatus.AcknowledgeInspectionResults
- BOOL
-
-
- MAIN.myVeryFirstTcoContextInstance.myVeryFirstInsight._status.SignalStatus.ExtendedUserDataSet
- BOOL
-
-
- MAIN.myVeryFirstTcoContextInstance.myVeryFirstInsight._status.SignalStatus.ExecuteCommand
- BOOL
-
-
- MAIN.myVeryFirstTcoContextInstance.myVeryFirstInsight._status.SignalStatus.ClearError
- BOOL
-
GVL.myVeryFirstDatamanGVL.PnIoBoxCtrl
UINT
@@ -937,6 +917,26 @@
GVL.myVeryFirstInsightGVL.UserData.UserData
ARRAY [0..253] OF BYTE
+
+ MAIN.myVeryFirstTcoContextInstance.myVeryFirstInsight._status.SignalStatus.EnableResultsBuffering
+ BOOL
+
+
+ MAIN.myVeryFirstTcoContextInstance.myVeryFirstInsight._status.SignalStatus.AcknowledgeInspectionResults
+ BOOL
+
+
+ MAIN.myVeryFirstTcoContextInstance.myVeryFirstInsight._status.SignalStatus.ExtendedUserDataSet
+ BOOL
+
+
+ MAIN.myVeryFirstTcoContextInstance.myVeryFirstInsight._status.SignalStatus.ExecuteCommand
+ BOOL
+
+
+ MAIN.myVeryFirstTcoContextInstance.myVeryFirstInsight._status.SignalStatus.ClearError
+ BOOL
+
diff --git a/src/TcoData/src/Wpf/TcoData.Wpf/Data/DataSelector/TcoDataExchangeSimpleSelectorView.xaml b/src/TcoData/src/Wpf/TcoData.Wpf/Data/DataSelector/TcoDataExchangeSimpleSelectorView.xaml
index 17477c5d4..8c924f8f2 100644
--- a/src/TcoData/src/Wpf/TcoData.Wpf/Data/DataSelector/TcoDataExchangeSimpleSelectorView.xaml
+++ b/src/TcoData/src/Wpf/TcoData.Wpf/Data/DataSelector/TcoDataExchangeSimpleSelectorView.xaml
@@ -33,15 +33,16 @@
CornerRadius="5">
-
-
-
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -107,7 +111,7 @@
+ Text="{Binding FilterByID}"/>
+
+ Rotating is suspended due to
+
Check On
diff --git a/src/TcoElements/src/XAE/XAE/TcoElements/Carousel/TcoCarousel.TcPOU b/src/TcoElements/src/XAE/XAE/TcoElements/Carousel/TcoCarousel.TcPOU
index 9807897b0..6fac78653 100644
--- a/src/TcoElements/src/XAE/XAE/TcoElements/Carousel/TcoCarousel.TcPOU
+++ b/src/TcoElements/src/XAE/XAE/TcoElements/Carousel/TcoCarousel.TcPOU
@@ -305,6 +305,23 @@ ELSIF (_turnTask.Busy OR _startTurn OR _enableTurn ) AND inoDisableCondition AND
END_IF]]>
+
+
+
+ : ' , inMessage));
+ _startTurn := FALSE;
+ _enableTurn := FALSE;
+ IF(__ISVALIDREF(THIS^.inoStartTurn)) THEN THIS^.inoStartTurn := FALSE; END_IF;
+ IF(__ISVALIDREF(THIS^.inoEnableTurn)) THEN THIS^.inoEnableTurn := FALSE; END_IF;
+END_IF;]]>
+
+
@@ -324,4 +341,4 @@ END_VAR
-
+
\ No newline at end of file
diff --git a/src/TcoElements/src/XAE/XAE/TcoElementsTests/Sandbox/TcoElementsSandbox.TcPOU b/src/TcoElements/src/XAE/XAE/TcoElementsTests/Sandbox/TcoElementsSandbox.TcPOU
index 6aca47995..44305498c 100644
--- a/src/TcoElements/src/XAE/XAE/TcoElementsTests/Sandbox/TcoElementsSandbox.TcPOU
+++ b/src/TcoElements/src/XAE/XAE/TcoElementsTests/Sandbox/TcoElementsSandbox.TcPOU
@@ -76,6 +76,10 @@ _carousel(
_carousel.Suspend(inoDisableCondition:= _disableSignal1 ,Invert:=FALSE); //this might be signal from Light Curtain (safety is inerupted)
_carousel.Suspend(inoDisableCondition:=_disableSignal2 ,Invert:=TRUE);
+_carousel.Suspend(inoDisableCondition:=_disableSignal2 ,Invert:=TRUE);
+_carousel.SuspendExpression (inDisableCondition:=_disableSignal2 ,inMessage:='SOME BLOCKIKG ACTIVE');
+
+
_carousel.Service();
diff --git a/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.Designer.cs b/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.Designer.cs
index fe09e607e..1422aaae1 100644
--- a/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.Designer.cs
+++ b/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.Designer.cs
@@ -69,6 +69,24 @@ public static string ComponentReady {
}
}
+ ///
+ /// Looks up a localized string similar to Export.
+ ///
+ public static string Export {
+ get {
+ return ResourceManager.GetString("Export", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Import.
+ ///
+ public static string Import {
+ get {
+ return ResourceManager.GetString("Import", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Tixon controler not in Auto.
///
diff --git a/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.resx b/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.resx
index 5a7f5c6fe..79a2e98db 100644
--- a/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.resx
+++ b/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.resx
@@ -120,6 +120,12 @@
Component ready
+
+ Export
+
+
+ Import
+
Tixon controler not in Auto
diff --git a/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.sk-Sk.resx b/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.sk-Sk.resx
index c46106b01..ba1ab9f33 100644
--- a/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.sk-Sk.resx
+++ b/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/Properties/strings.sk-Sk.resx
@@ -120,6 +120,12 @@
Komponent pripraveny
+
+ Export nastavení
+
+
+ Import nastavení
+
Tixon kontroler nieje v Auto
diff --git a/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/TcoTixonFeedingBaseServiceView.xaml b/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/TcoTixonFeedingBaseServiceView.xaml
index 15d666e70..153c4467f 100644
--- a/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/TcoTixonFeedingBaseServiceView.xaml
+++ b/src/TcoTixonFeeding/src/TcoTixonFeeding.Wpf/TcoTixonFeedingBaseServiceView.xaml
@@ -50,7 +50,7 @@
-
+