Dear Community User! We are updating our platform to a new system.
Read more: Important information on the platform change.

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

Axis Interface memory access bad memory when more than 17 axis configured, VRS2.6

Axis Interface memory access bad memory when more than 17 axis configured, VRS2.6

aFouraker
Occasional Contributor

When configuring the Axis interface for 18+ axes the memory referenced by the Axis interface data structures is incorrect. The status of the axis does not reflect the actual state and the varios control bits show a bad reference. 

8 REPLIES 8

CodeShepherd
Community Moderator
Community Moderator

Could you add some screenshots where you see such dab references? 

Which version of ctrlX PLC Engineering and the CXA_MotionInterface is used?

Did You check the settings in CXA_MotionInterfaceUser to extend the possible size of the data structures?

ctrlX PLC Engineering - CXA_MotionInterfacUser library settingsctrlX PLC Engineering - CXA_MotionInterfacUser library settings

Here is the screen shot. In a project that is just imported the template and configured real Axis. We did update the number of axis in the library, that's when we see the problem. This is on a Core X7.

AxisItfOutOfBounds.PNGErrorFromAxisInterface.PNG

 

The axis interface was updated to have a larger number of axis, it works when there are 10, it seemed to work until we went larger than 17. 

PLC Engineering 2.6.3 

CXA_Motion 2.6.6.0

CXA_Motion_Interface 2.6.1.2 

CXA_Motion_IF_USER 2.6.1.1

Olorin_0-1718298961209.png

 

 

 

Made a short test with a virtual core and 18 configured axis. Here all works ok. No exception, the status is correct. (see screenshot 1)

Known Bug: In the motion interface lib version you have you will get an exception if you do not start with the axis array at element 1 (eg. at element 2). So the question did you change the min axis indey (see screenshot 2).

By the way,  you wrote that you use the PLC engineering version 2.6.3. The last official version is the 2.6.1. coming with the patch 1 at the collaboration room. (see Screenshot 3). Can you explain this.

Haven't test it with real control/axis. Maybe you can do some further test:

a) only use motion axis without axisprofile assigned and see what happend.

b) check it with a virtual core, to see if the problem still occure.

Question: Do you license the 18 axis at the X7?

Regards

Jochen

Jochen_Mueller_0-1718367772499.png

Jochen_Mueller_1-1718368135339.png

Jochen_Mueller_2-1718368294132.png

 

 

Hey Jochen, 

On the Ctrlx PLC version, it says 2.6.3 on CtrlX Works but on the about information it does say 2.6.1. 

The same project on the emulate core works fine, I'll test with a real X7 with only vitural axis when I get a chance, but have suspect that works fine too. 

The only thing I did was expand the array to fit my needed axis, which is 39, we have license for 40. That caused my project to crash so we went to a blank project and found that the issues started to occur at 18 axis and above configured. The min axis was left untouched, and this was all from a project working in 2.4. 

The lower bound of the array was left at 1

Thanks 

Hello Olorin

I make following test

  • ctrlX Virtual with 20 axis        -> OK
  • ctrlX X3 with 20 motion axis (without real drive connected)     -> OK
  • ctrlX X7 with 20 motion / real axis (Indradrive)     -> OK (see screenshots)

Jochen_Mueller_0-1718708318917.png

Jochen_Mueller_1-1718708365395.png

 

So I can't reproduce your problem.

Please take a look into the log of your device to check some details of the exceptionj

Jochen_Mueller_2-1718708518733.png

 

Regards

Jochen

Hey Jochen, 

We were able to reproduce the issue on multiple controllers, with and without axis profiles configured, using different computers to download, using standard axis configuration (Just adding the axis and leaving as is). It seems in order to see the issue you must have 30+ axis configured in the control, and have the library configured for 18 or more. If only 20 axis are configured on the control, the issue does not occur. The axis interface memory becomes corrupted once the axis interface main program has finished initialization. So it starts ok, then after some runtime it get's corrupted.

Olorin_0-1719408972636.png

If the controller is started after motion boots, it will have no execeptions in the control unless you try and access one of the variables in the motion interface control 

Olorin_1-1719409071430.png

If you boot the motion while the PLC is already running, then when the library initializes itself it will throw an exception of an access violation and stops the control. Here is the callstack 

Olorin_0-1719409262342.png

You can see the exception here, a little down stack we got the PLC back running. 

Olorin_1-1719409816455.png

 

 

We were unable to re-produce on a virtual core. We were able to reproduce on two seperate X7 controllers and an X5 controller

 

 

 

 

SchneJoe
Established Member

@Olorin @Jochen_Mueller 

I can reproduce the behavior with ctrlX CORE X3 and 30 virtual axes. I added this information to the Customer Issue.

Bug is fixed from CXA_MotionInterface and CXA_MotionInterfaceUser version 2.6.1.8 and for the next release from 3.3.0.0 on.

 
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