Jump to content
OMRON Forums

How to read the actual motor torque value in PMAC


Recommended Posts

I want to check the actual torque of the motor under the speed model, and the mapping value found in the PDO of the Ethercat communication has been fluctuating between 0 and 62355 due to fluctuation, and the conversion back is actually fluctuating around 0. Is there any feedback value or address of the parameter of the actual torque of the motor in the PMAC? Is there a feedback value for the actual motor torque parameter in the PMAC or a feedback address for it? Is it in the encoder table? Also why is IQcmd as a current command value the same as the position value? The configuration file is configured with Motor[1].ctrl = Sys.servoctrl.
 

Link to comment
Share on other sites

①If you use an EtherCAT motor and the motor works in position or velocity mode, the actual torque of the motor cannot be obtained in any PMAC variable.This is because the motor's velocity loop is not located in the PMAC.In this case, the way to obtain the real torque of the motor through displacement is to read it through PDO. Taking the Omron motor as an example, you need to obtain the real torque of the motor through 0x6077 PDO.

②If your motor works in torque mode, you can use Motor[x].IqCmd as the real torque of the motor.

③The torque data read back through PDO jumps between 0 and 65536 because the torque data is a signed number, but it is transmitted as unsigned when PDO returns it.You can access the specified bit through the M variable.

  • Thanks 1
Link to comment
Share on other sites

Thanks MoMo, so what if it's the actual current value? Is there a corresponding real-time parameter for the actual current value of the motor? If not, I will have to process the 6077 to get the actual torque value of the motor.

Link to comment
Share on other sites

  • 4 weeks later...
On 6/18/2024 at 1:24 AM, steve.milici said:

You should review your drive’s documentation to identify what SDOs it has available to map. The EtherCAT standard defines:  Current actual value (6078 h).

I have now measured the values of 6074,6077,6078 through the monitoring plotting function of the PMAC and they are all around 50, but what is the unit of this value? How can the actual torque and actual current be equal? Do I need to convert the PDO-mapped hexadecimal to 32-bit floating point numbers? After all, some numbers may be floating point numbers, take the actual current for example, if the unit is A, then he is a floating point type, if his unit is mA, then he is an integer type, what do I need to do to realize that the value of the parameter monitored in the PMAC is equal to the value in the motor?

Link to comment
Share on other sites

Please see your slave’s documentation for the units of these objects – it should indicate a floating-point scale factor for each. The objects themselves are 16-bit integers by “EtherCAT” standard definition. Once multiplied by the scale factor you could assign the value to a “global” declared variable (P or Q-variable).

  • Thanks 1
Link to comment
Share on other sites

Just to add a tiny bit--these may be percentages. For an Omron 1S EtherCAT Drive, for instance, they describe the units of 6077 as "0.1%"--so a value of 50 would mean that it is outputting 5% of the rated torque. However, different manufacturers may use different scaling, so it is always recommended to refer to the device manual.

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...