Jump to content
OMRON Forums

Motor Data Reporting Buffer (Used if I48 = 1 or I57 = 1)


Recommended Posts

How to get position using Turbo DPRAM?


I want to get position through DPRAM by the momery 0x009C of the motor 1,

DP:$060xxx-$060xxx+1 Motor net actual position (1/[ixx08*32] cts)


In the C#:

Pmac.DPRGetLong(m_nDevice, 156, out i_x, out dpsucess);

Pmac.DPRGetLong(m_nDevice, 160, out i_x_h, out dpsucess);

I get position data in i_x and i_x_h, but how to get position by the i_x_h and i_x?



Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

Hello CharlesP,


I want to get position information of Clipper though DPRAM.

When enabled DPRAM foreground function,PMAC will auto copy the motor information to DPRAM,including position and so on.

After that,I want to get the Position information though DPRAM by PC,in the PC side Visual Studdio C# was be used.

So,after "using PCOMMSERVERLib" in the C#, Pmac.DPRGetLong(m_nDevice, 156, out i_x, out dpsucess) can get the DPRAM memory data,'156' is the host PC Address 0x009C which is the Motor net actual position of Memory Map.Of course the host PC Address 0x00A0 also include part information of Motor net actual position.


After I get both 0x009C and 0x00A0 data,the Motor net actual position will be calculated,but how to calculate?

Link to comment
Share on other sites



The application note at the following link describes how to compute net position based off of various quantities:




Please read it and let us know if you still have questions.


Charles look at I47..50, then memory stating at x:$06001A. This for using DPR automatic data reporting to reduce command buffer traffic. I am hoping you have some example code on this because I need to implement this for a multithreading application I have where I am doing background polling for position with foreground control/data transfer for motion.

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...