From 570db01475b3e28a50feca73ef220f5bd4c0e5c4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Mar 2026 08:39:21 +0000 Subject: [PATCH 1/2] Create draft PR for #46 From 10e9dd89956b4a69a1944617dcad32943c258b8f Mon Sep 17 00:00:00 2001 From: peterbarancek <62284244+peterbarancek@users.noreply.github.com> Date: Tue, 3 Mar 2026 10:02:08 +0100 Subject: [PATCH 2/2] *trigger will not produce error if read is not successfull --- .../v_5_x_x/Tasks/TcoDatamanRead_v_5_x_x.TcPOU | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDataman/v_5_x_x/Tasks/TcoDatamanRead_v_5_x_x.TcPOU b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDataman/v_5_x_x/Tasks/TcoDatamanRead_v_5_x_x.TcPOU index a7fba2db..003077d4 100644 --- a/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDataman/v_5_x_x/Tasks/TcoDatamanRead_v_5_x_x.TcPOU +++ b/src/TcoCognexVision/src/XAE/XAE/TcoCognexVision/POUs/TcoDataman/v_5_x_x/Tasks/TcoDatamanRead_v_5_x_x.TcPOU @@ -87,10 +87,17 @@ END_VAR IF _progress = 6 THEN THIS^.inoResults.Length := THIS^.inoIoData.ResultData.ResultLength; THIS^.Messenger.OnCondition(_infoTimer.Q).Warning('<#Waiting for the ResultData copied!#>').Pin(); - IF Tc2_System.MEMCPY(srcAddr := ADR(THIS^.inoIoData.ResultData.ResultData) , destAddr:= ADR(THIS^.inoResults.Data) , n:= THIS^.inoResults.Length) > 0 AND - Tc2_System.MEMSET(destAddr:= ADR(THIS^.inoResults.Data) + THIS^.inoResults.Length, fillByte:= 0 , n:= SIZEOF(THIS^.inoResults.Data) - THIS^.inoResults.Length)>0 THEN + IF THIS^.inoIoData.ResultData.ResultCode.0=1 THEN // read successfull + IF Tc2_System.MEMCPY(srcAddr := ADR(THIS^.inoIoData.ResultData.ResultData) , destAddr:= ADR(THIS^.inoResults.Data) , n:= THIS^.inoResults.Length) > 0 AND + Tc2_System.MEMSET(destAddr:= ADR(THIS^.inoResults.Data) + THIS^.inoResults.Length, fillByte:= 0 , n:= SIZEOF(THIS^.inoResults.Data) - THIS^.inoResults.Length)>0 THEN + CallTimers(FALSE); + _progress := _progress + 1; + END_IF; + ELSIF THIS^.inoIoData.ResultData.ResultCode.0=0 THEN // read not successfull + Tc2_System.MEMSET(destAddr:= ADR(THIS^.inoIoData) , fillByte:= 0 , n:= SIZEOF(THIS^.inoIoData)); CallTimers(FALSE); _progress := _progress + 1; + END_IF END_IF @@ -98,11 +105,13 @@ END_VAR THIS^.inoIoData.AcquisitionControl.Trigger := FALSE; THIS^.inoIoData.ResultsControl.EnableResultBuffering := FALSE; THIS^.inoIoData.ResultsControl.ResultsAcknowledge := TRUE; - THIS^.ThrowWhen(THIS^.inoIoData.ResultData.ResultCode=0 OR THIS^.inoIoData.ResultData.ResultLength=0); + //THIS^.ThrowWhen(THIS^.inoIoData.ResultData.ResultCode=0 OR THIS^.inoIoData.ResultData.ResultLength=0); THIS^.DoneWhen(TRUE); _progress := 0; END_IF - + THIS^.ThrowWhen(THIS^.inoIoData.AcquisitionStatus.MissedAcquisition ); + THIS^.ThrowWhen(THIS^.inoIoData.ResultsStatus.ErrorDetected); + CallTimers(TRUE); THIS^.ThrowWhen(_errorTimer.Q);