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

PLC exception with MB_KINF_NOF_Point

PLC exception with MB_KINF_NOF_Point

David08
Long-established Member

Hello,

I'm doing some tests with a CtrlX Core Virtual RM21.11 and a Cartesian robot with KinInterface.
The problem I have is that to read the position of the robot I use the command arKinStatus_gb[Robot1.GroupNo].Data.PositionBaseCoord and I write it in a variable of type ARRAY [0..(MB_KINIF_NOF_POINT - 1)] OF LREAL;

When initializing the Core, downloading the program completely or doing a reset warm, the PLC has a Check Pointer exception (picture 1).

If I comment out the line and restart the PLC, it no longer has any CheckPointer problems (picture 2). After I go back to not commenting the line and do a partial download (only changes) and it works flawlessly, the CheckPointer problem is gone (picture 3).

If you do a Reset Warm again (initialise the application) the CheckPointer exception comes up again.
When I look at the size of the variable array it goes from 0 to 15 just like the arKinStatus_gb[Robot1.GroupNo].Data.PositionBaseCoord command.
Any idea why this happens?

Thanks in advance.

2 REPLIES 2

Goldfinger
Established Member

Hello,

the right side of your assignment is defined as a REFERENCE TO (this is internal a pointer):

PROPERTY ActPosition : REFERENCE TO ARRAY [0..(MB_KINIF_NOF_POINT-1)] OF LREAL

This REFERENCE TO is set during initialization of the kinematic interface and after a finished initialization you will no longer encounter the problem.

This does not happen, when you check the InitDone of the Kinematic interface like it is done in the demo program.

IF NOT TE_KinInterfaceMainProg.InitDone OR TE_KinInterfaceMainProg.Error THEN
   RETURN; // do not continue, when Motion is not in RUN or initialization failed.
END_IF

Hope this helps,

Klaus

P.S.: sorry for the delayed answer. We had an internal communication failure between STS and DEV 🤔😉

David08
Long-established Member

Thank you very much Goldfinger, the application already works well.

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