ARSim LagError 80SD100XD.C0XX-01 vs X20SM1436-1

Hello,

I have observed a behavior that I cannot explain. When I move a stepper motor without an encoder in the ARSim simulation, the following modules behave differently:

  • 80SD100XD.C0XX-01 → The following error is constantly 0, just as I would expect.

  • X20SM1436-1 → A velocity-proportional following error builds up. On what basis is this calculated? Can i deactivate this behavior?

Why do the modules behave differently? Is this perhaps configurable? So far, I haven’t been able to identify any differences in the configuration.

Thanks in advance for your feedback.

Dominik

Hello Dominik,

these are my settings with which the stepper motors work in the simulation:

Regards

Stephan

Hi Stephan,

thanks for your reply. The steppers work just fine. I just want to understand, why there is a velocity proportional lag error with the modul X20SM1436-1 and not with 80SD100XD.C0XX-01. There has to be some kind of model in the background that calculates the lag error. But for my application the lag error is not relevant. So i want to deactivate this.

Here are my configurations:


Out of curiosity, am I missing something? My configuration tab for the X20SM1436-1 looks quite different while selecting “MotionConfiguration”, and I also can disable the Encoder.

Even when adding a new module the config stays the same for me.

Version 2.3.3.0

grafik

Which AS version, module version and Co are you using?

Hi Julian,

it looks like you are using mappMotion, is that correct? I am still using “ACP10 ARNC Motion”. Maybe that is the reason the configs differ? My AS Version is 4.12 and the module version is 2.3.1.0.

1 Like

Indeed you are correct, I am using mappMotion. Thank you for clarifying.

Unfortunately I can not assist you any further, but I believe with the versions listed someone else might be able.

Hello,

For me 80SD100XD.C0XX-01 and X20SM1436-1 behaves the same. Tested on ACP10 5.29 / 5.16.2.

It is indeed the fact that you can observe an following error in ARsim.

I think the root cause is the T-Total and T-Predict Setting of the Axis, which is set up to
compensate the Field-Bus Timing.

If you set the Values to 0.002 which is in my case the TC#1 Cycle Time the behaviour changes to following Error almost 0.

I could currently not find a diffent behaviour due to setting a encoder or disabling the encoder Interface.
image

image

If there is no encoder i think you do not have to consider bus timings on a real hardware,
so setting T-Total, T-Predict to TC#1 timing should be a possibility.

Does my findings on ACP10 SDC match your situation?

Greetings
Michael

Hi Michael,

thanks for your reply. I also tested on a real system. Same behaviour. I checked every parameter i am aware of including the mentioned T_predict and T_Total. All are the same. But still the axes behave differently…

Trace 80SD100XD.C0XX-01 ( lag error always 0 , spot on)

Trace X20SM1436-1 (I can reduce lag error via t_predict but never 0)

There must be some kind of mathematical model which simulates the lag error. But I dont know how to switch it off/on.

Hello,

I never had encoder less Steppers with SDC, so this is also new for me.
Just another try…

  1. I think these are set to Off because else i would expect that the Axis is not moving on real machine…
    image

  2. Is the Position Resolution smaller than 51200 Units / rev. ?
    36000 [1/100°]

    360000 [1/1000°] this could lead to some upsampling issues, as the Motor does not
    provide the Resolution.

  3. Is the Enocder Interface ncOff or is it Encoderless due to feedback of StepperCounter
    image


Greetings
Michael

Hi Michael,

to your questions:

  1. On a real machine I turned them to “off”. For ARsim simulation I switched them to “standard”.
  2. Resolution is 51200 Unit/rev
  3. Both Encoder Interfaces:
    gAxis1_HW.EncIf1_Typ := ncSDC_ENC16;
    gAxis1_HW.DrvIf_Typ := ncSDC_DRVSM16;
    HW Configuration:
    X20SM1436-1
    image
    80SD100XD.C0XX-01
    image

Best regards
Dominik

Hello,

The Module X20SM1436-1 is configured as “has encoder” and gets the “Step Counter” from the X20SM-Module with an resolution 51200 Units/rev. via the Encoder-Cyclic Datapoint.
Which makes the Axis Encoder less. But the Act-Position has still a Bus-Timing because the Set-Points move to the module and the result moves back to the SDC. So to have a small LagError you need a T-Total which compensates this, and i think you will never reach a flat 0 , as there will always be some variation ± .

If the Module 80SD100XD.C0XX-01 has Sensorless mode “off” and still configured a gAxis1_HW.EncIf1_Typ := ncSDC_ENC16; It is unclear how the feedback is simulated.

Can you check all occurances of this Variable in you code? “gAxis01_EncIf1.iActPos”

As the ACPmicro does not seem to have a “StepCounter” Feedback mode, i think there is somewere in the code a virtual feedback for this axis generated.
And if this Feedback does not move over the network, but is instead generated in TC#1 it could result in the difference.

Just a Side Note: At the Ende i am not sure if the question about the LagError is that relevant. Because if there is no Encoder, just look only at the SET-Positions in Software. And make the LagError Limit just large enought.

Greetings
Michael

Hi Michael,

changing the Mode to gAxis1_HW.EncIf1_Typ := ncOFF does not change the behaviour. I thought i could get a deeper understanding what is going on under the hood and find the parameter that de/activates the lag error simulation. Maybe in the end the modules behave a little different. I will just increase the lag error limit for now. Thanks very much for your support though :slight_smile:

Best regards
Dominik

Hello,

I would have liked to help better, but i also have some questionmarks left.
In MappMotion i have seen a different Timing of the Modules with -1 in comparison to them without when using an Encoder. So there is defnitly a difference in the Firmware and Timing. But this does not explain all your findings.

I hope you can achieve your desired machine process with the current situation. If there are upcomming issues, please reach out to the community again.

Have a nice Weekend.
Greetings
Michael