cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

Kinematic Interface errors not mapped to ImcInterface

aFouraker
Occasional Contributor

Kinematic Interface errors not mapped to ImcInterface

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?

2 REPLIES 2
CodeShepherd
Community Moderator

Re: Kinematic Interface errors not mapped to ImcInterface

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

 

 

CodeShepherd
Community Moderator

Re: Kinematic Interface errors not mapped to ImcInterface

Any further questions or can this topic be closed?

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist