Jump to content

Recommended Posts

Hello,

so far this routine (below) works fine for one servo - readinf encoder value. But in near future I'm going to "talk" with four servos and now wondering how to do that.

My idea is  4 similar routines like this one (for every one routine different Time operand)? There I'm affraid of time delay for the last servo which would be read.

Perhaps  other solution you can suggest to read enocoders value through Modbus?

Would like to mention that V700 PLC do other modbus tasks, for exapmle  a button which sends something to servo (i.e Stop instruction)  on a display can be now very risky because of servos-reading routine which still in main routine works (but it have to)...

How to avoid such problems?

explanation of Operand MB100 = "Modbus Function in Progress"

obraz.thumb.png.e60d562e59376fd5905d311a18935a36.png

Share this post


Link to post
Share on other sites

When I've done servo control utilizing Modbus there's usually an external I/O board available for the servo that allows starting and stopping via discreet inputs to the servo itself. 

I use the Modbus portion to set parameters in the servo before I trigger a move with a voltage signal or contact.  Modbus via RS485 is nowhere near fast enough or reliable enough.

Joe T.

Share this post


Link to post
Share on other sites

+100, Joe. 

All of it, especially "Modbus via RS485 is nowhere near fast enough or reliable enough".    🐌

cheers, Aus

 

Share this post


Link to post
Share on other sites

Main PLC has to read servo's encoders in order to 'know' current location of device. In the worst case that some instructions (currently send via modbus) like  displayed buttons won't execute then reprogram  buttons to physical output  module instead of relying on modbus.

"I use the Modbus portion to set parameters in the servo" - either do I, " before I trigger a move with a voltage signal or contact." - currently I send it via modbus but  yes, worth to think it over.

Share this post


Link to post
Share on other sites

Ok, I don't need 'live' encoder's values at all. I was a little puzzled. During programing the device,  after some movement it is enough to read current encoder position once and save it in PLC. And then during normal operation if servo will not report some error it means that this move is correct or if some error then it will be processed. So no more questions :)

Share this post


Link to post
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.
Note: Your post will require moderator approval before it will be visible.

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.

Sign in to follow this  

×
×
  • Create New...