CODESYS - the IEC 61131-3 automation software
https://forum.codesys.com/

MC_MoveAbsolute
https://forum.codesys.com/viewtopic.php?f=6&t=9519
Page 1 of 1

Author:  genn [ Wed Feb 13, 2019 11:26 am ]
Post subject:  MC_MoveAbsolute

Hi,
I am using soMachine software for programming LMC058 PLC from Schneider.
We are using MC_MoveAbsolute function block to move the axis to a specified location and the movement end will be checked by the done variable of the function block.
The normal behavior what we expect is this done variable becomes true when the commanded position is reached.
But in one case(the motor is poorly tuned) when we command the axis to move to 10mm location using MC_MoveAbsolute the motor will goto 10.3mm and will adjust slowly to 10mm and stay there.
What we seen is the done variable becoming true even before correction. Is that the normal behaviour?
Just to clear the confusion!

Author:  Edwin Schwellinger [ Wed Feb 13, 2019 3:28 pm ]
Post subject:  Re: MC_MoveAbsolute

Hi,

The motion function blocks (MC_MoveAbsolute / MC_MoveVelocity, MC_CamIn, …) all work on the set values only. With set values, I mean the positions and maybe velocities computed by the PLC and sent to the drive in each cycle of the bus task (e.g. every 4 ms).

MC_MoveAbsolute.Done means that the set position has reached the commanded position. In general, the actual position of the drive will not have reached the commanded position yet at this point in time.

Similarly, the output MC_GearIn.InGear and MC_MoveVelocity.InVelocity are TRUE as soon as the set values have are in Gear/in velocity. The actual values of the drive may still lag behind. This behavior is prescribed by the PLCopen standard “Function blocks for motion control”, V2.0, see page 20



If you want to wait until the drive has settled on the position, you may use the function block SMC_InPosition

BR
Edwin

Author:  genn [ Thu Feb 14, 2019 8:07 am ]
Post subject:  Re: MC_MoveAbsolute

Hi,
Whether SMC_Inposition gives proper feedback if the previous operation is other than MC_MoveAbsolute such as MC_MoveVelocity.
Is there any way to check the axis is at standStill(Actual motor shaft is rotating or not)?
I used MC_ReadStatus, but its not giving a direct value. We need to make a logic to check whether the axis is moving with the output variables(Homing + discreteMotion + continous motion +... = axis is moving).
But sometimes this logic result becomes true even if the axis is stationary.

Author:  B.Roth [ Thu Feb 14, 2019 10:40 am ]
Post subject:  Re: MC_MoveAbsolute

Hello,

which drives do you are using? LXM32?
How is the tuning of the servo-drive? What is the mechanic?
In my opinin this is only a problem of the tuning. Normally when you are working with softmotion,LMC58 and well tuned drive you do not need any aditional infos for "standstill" of the real axis.
Please contact your local Schneider Electric support

Author:  genn [ Fri Feb 15, 2019 1:12 pm ]
Post subject:  Re: MC_MoveAbsolute

Hi,

Yes, we are using Lexium32A drives. The requirement is that we need to give feedback to an external device that the motor is stationary. I tried using MC_ReadStatus but its only giving information about drive states. I am facing difficulty in deriving a logic to check whether the axis is currently moving or not.

Author:  genn [ Tue Feb 26, 2019 9:03 am ]
Post subject:  Re: MC_MoveAbsolute

Hi,
Basically, I want to get the motor standstill feedback using a function block call.



B.Roth wrote:
Hello,

which drives do you are using? LXM32?
How is the tuning of the servo-drive? What is the mechanic?
In my opinin this is only a problem of the tuning. Normally when you are working with softmotion,LMC58 and well tuned drive you do not need any aditional infos for "standstill" of the real axis.
Please contact your local Schneider Electric support

Author:  B.Roth [ Tue Feb 26, 2019 10:32 am ]
Post subject:  Re: MC_MoveAbsolute

Hello,

as I recommended before you do not need any other functionblock , the MC_readstatus give the information about standstill !!!
And to prevent your behaviour that the real axis is still moving after finish the movement is only related to a very poor tuning of the Lexium32.


Bruno

Page 1 of 1 All times are UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/