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.

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

Stragne motion with V2.04

Stragne motion with V2.04

alink
New Contributor

Hello,

what is changed with motion in V2.04?

After updating from v1.20 nohting is working right anymore.

Doing commissioning with CtrlX or Drive, everything seems to work. But when doing movements with PLC it's strange.

The drive should do a cycle with right/left turning. Speed right 1000 rpm for 3 turns, left 1000 rpm for 6 turns, acceleration/deccelaration 30 ms. This is via a PLC program.

With drive oszi it looks this:

alink_0-1706881714917.png

green = speed

First, acceleration is as should wihtin 30ms to target speed 1000 rpm. But then, braking, going left, going right, going left, stop.... Normally it should look like a positive trapezium, then a negative one.

When doing jogging (via own PLC program) acceleration is not what it should be. It's imited in any way. But deccelartion is working right.

Code is that, using Jog-Mode:

alink_1-1706881959401.png

Did another test with Vel-Mode:

Now acceleration is working right but not decceleration, code is that:

alink_2-1706882035716.png

All limits in CtrlX are high enough that they don't bother:

alink_3-1706882133082.png

And there are no limits in drive (except speed):

alink_4-1706882181272.png

And no issues with any status reports from drive:

alink_5-1706882235115.png

That's the way it worked with v1.20 and before.

What's different with v2.04?

 

 

 

 

 

 

 

15 REPLIES 15

bostroemc
Occasional Contributor

Updated libraries covering the MotionInterface functionality were released recently.  Before investigating further, can you verify that you are using the latest libraries?

2024-02-02_11h09_13.png

Hello alink

After checking the MotionInterface libs (like Carl mentioned) please check this futher points

  • set all jerks to 0 (axis limits, dynamic limits)
  • record following signals at the control (PLC trace, control osci)
    • ipo values (vel, acc)
    • act values (vel, acc)

Regards

Jochen

CodeShepherd
Community Moderator
Community Moderator

I did some test. Please beware that using "MODE_AH" will change mode to "Moxe_AXS_STOP" and is using its deceleration settings:

ctrlX PLC Engineering 2.4 - Auto axis and trace - dec wrongctrlX PLC Engineering 2.4 - Auto axis and trace - dec wrong

When entering same deceleration it works like expected on my side:

ctrlX PLC Engineering 2.4 - Auto axis and trace - dec rightctrlX PLC Engineering 2.4 - Auto axis and trace - dec right

For jogging I could not find a problem, but if also "MODE_AH" is used there, same behaviour will occur:

ctrlX PLC Engineering 2.4 - Jog axis and tracectrlX PLC Engineering 2.4 - Jog axis and trace

Official release note of the CXA_MotionInterface are release as part of the motion runtime documentation. Wee will add a link in the library reference book to make it easier to find.

I updated Motion Interface to v2.4.0.1 (indeed, it was v2.4.0.0). Did everything as written in Releasenotes.

What happens: I get an exception --- license invalid! ---

alink_0-1707121169253.png

Changing back to MotionInterface 2.4.0.0 no license issue.

alink_1-1707121385032.png

If MotionInterace 2.4.0.1 is necessary, how to fix invalid license?

 

 

CodeShepherd
Community Moderator
Community Moderator

License problem sounds lika a known bug in ctrlX PLC Engineering 2.4. Please do a clean all and download again. This should do the trick.

After clean/all it works - no license invalid.

Now, with MotionInterface 2.4.0.1 it's the same:

Example:

speed right 2400rpm with acc / dec in 100ms

speed left 2000 rpm with acc / dec 100ms

In PLC it looks this: for test, acc/dec limits are set to 0 for left rotation

alink_0-1707128103173.png

Osci shows this:

alink_1-1707128375627.png

Acc takes about 700ms, dec is as it should be within 100ms in both ways (right/left). Interessting fact, speed setpoints (S-0-0036) are congruent to speed-feedback (S-0-0040).

Taking a acc/dec of 300ms, dec is 300ms but acc keeps unchanged at 700ms

alink_2-1707128740277.png

And another test: Acc to right is 1000ms, dec right 50ms, acc left 50ms, dec left 50ms

alink_3-1707128889968.png

Acc right goes to 1000ms (as it should), dec is 50ms (as it should), acc to left is about 700ms (should be 50ms) and dec left is 50ms (as it should).

It looks like there is a (torque-) break right/left which limits acc. With other speeds the acc time differs, but dec time is as it should be.

Taking torque and acc value to the chart it looks this:

alink_4-1707129326575.png

Limits in CtrlX Motion are high enough

alink_5-1707129417120.png

and there shouldn't be a mismatch because of something set in commissionig

alink_6-1707129479344.png

And no wrong limits in Drive:

alink_7-1707129558130.pngalink_8-1707129581660.png

 

 

 

CodeShepherd
Community Moderator
Community Moderator

I will check the behaviour again. And post as soon as I have new information. 

Did another test:

When jogging via ctrlxCore - commissioning - it looks that:

alink_0-1707206350416.png

Speed setpoints are set to target speed and drive is following. Everything OK.

Doing the same via PLC and own Visu, it looks still that way:

Acc and Dec should be the same

alink_1-1707206598547.png

 

 

CodeShepherd
Community Moderator
Community Moderator

I could reproduce the behaviour. We are checking this internally.

ctrlX PLC Engineering - Jerk differencectrlX PLC Engineering - Jerk difference

Thanks for feedback.

I did another test, this time starting a process of right/left rotating with some other actions.

Could you check if this is the same reason why the engine spins out instead of braking when swithing in _OpModeBits.Mode_AH := TRUE; ?

Because: in my process there is a time control. If time is exceeded, then error message occurs and the drive should stop. With this method it worked fine before v2.0.4

Now, from target speed, it takes >> 6000ms to reach standstill instead of a sudden stop.

alink_0-1707235776867.png

 

CodeShepherd
Community Moderator
Community Moderator

Did you try my suggestions above? There I could reproduce and fix this. 

If not I would need some more information about your program to get to to know what could be wrong. You could send me an export or archive via private message.

Sorry, overseen.

Yes, now stopping works as expected (in case of time exceeding for example). Independent if using .MODE_AXS_STOP or .MODE_AB

But question? Why now (with V2.0.X) to set it in PLC/motion as well when the setting is in Drive? Having two possibilities is bad, which one is right, which one does the work, this is confusing.... or I am misunderstanding something and didn't know.

alink_0-1707293220663.png

But no effect on this issue:

alink_1-1707294230533.png

Acc takes 600ms instead of 50ms (like dec).

 

 

CodeShepherd
Community Moderator
Community Moderator

ctrlX MOTION is not using the drive based functions to be drive independent. This did not change from 1.20 to 2.x (as far as I know). Drive isn't even commanded to AH but simply gets decelarted to 0rpm and stays in AF. Useability of of drive mode AH will be implemented in version 2.6 of ctrlX MOTION and CXA_MotionInterface.

The acceleration/deceleration difference is, like mentioned above, reproduceable and we are investigating this. I will post new information about it here as soon as available.

mystify.. never used a .StopMode.xxxx to set anything

Now with setting it it works

alink_0-1707309933755.png

In .StopMode.Deceleration the value before was 2 (rad/s²). If nothing was changed in function, maybe an initial value? Because before it allways was a real fast stop without setting any dec value in code.

So now, let's see what can be found out after investigation of acc/dec difference.

 

Good news this issue will be solved in the version 2.6 coming up end of march. Please test again with this version and come back if there are open topics.

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