FORUM CTRLX AUTOMATION
ctrlX World Partner Apps for ctrlX AUTOMATION
Dear Community User! We have started the migration process.
This community is now in READ ONLY mode.
Read more: Important
information on the platform change.
05-20-2022 05:56 PM - edited 05-20-2022 09:12 PM
I have the kinematic interface, axis interface and IMC interface configured. I can see the Kinematic interface has an error but that is not reflected in the IMC interface. If I clear faults with IMC interface faults are not cleared on the Kinematic or axes. I also see that if I clear through kinematic interface I am still required to clear through the data layer.
What is the right way to clear/report errors in a global manner?
Solved! Go to Solution.
06-01-2022 11:15 AM - edited 11-22-2022 02:36 PM
Sorry for the late reply. Lost track of this post.
In our example template for handling solutions that we will publish up to end of this month we use the IMCInterface for clearing the error of the control and the KinematicInterface and AxisInterface for clearing error in the motion objects.
ImcCtrl.Admin.ClearError := TRUE;
// Clear kinematic errors
FOR i:=MOTIF_CONFIG.MIN_KIN_INDEX TO MOTIF_CONFIG.MAX_KIN_INDEX DO
uiGrp := KINIF_CONFIG_INDEXES[i].GroupNo;
IF (uiGrp>0) THEN
IF arKinStatus_gb[uiGrp].Diag.Error THEN
arKinCtrl_gb[uiGrp].Admin.ClearError := ImcCtrl.Admin.ClearError;
ELSE
arKinCtrl_gb[uiGrp].Admin.ClearError := FALSE;
END_IF
END_IF
END_FOR
// clear axis errors
FOR i:=MOTIF_CONFIG.MIN_AXIS_INDEX TO MOTIF_CONFIG.MAX_AXIS_INDEX DO
uiAxNo := AXIF_CONFIG_INDEXES[i].AxisNo;
IF (uiAxNo>0) THEN
IF (arAxisStatus_gb[uiAxNo].Diag.Error) THEN
arAxisCtrl_gb[uiAxNo].Admin.ClearError := ImcCtrl.Admin.ClearError;
ELSE
arAxisCtrl_gb[uiAxNo].Admin.ClearError := FALSE;
END_IF
END_IF
END_FOR
07-01-2022 10:24 AM
Any further questions or can this topic be closed?