krolikbest Posted April 2, 2020 Report Share Posted April 2, 2020 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" Quote Link to comment Share on other sites More sharing options...
AlexUT Posted April 2, 2020 Report Share Posted April 2, 2020 Hi krolikbest, Set Retry=0 and minimum reasonable timeout. B.R. Quote Link to comment Share on other sites More sharing options...
MVP 2022 Joe Tauser Posted April 2, 2020 MVP 2022 Report Share Posted April 2, 2020 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. Quote Link to comment Share on other sites More sharing options...
MVP 2022 Ausman Posted April 2, 2020 MVP 2022 Report Share Posted April 2, 2020 +100, Joe. All of it, especially "Modbus via RS485 is nowhere near fast enough or reliable enough". 🐌 cheers, Aus Quote Link to comment Share on other sites More sharing options...
krolikbest Posted April 3, 2020 Author Report Share Posted April 3, 2020 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. Quote Link to comment Share on other sites More sharing options...
krolikbest Posted April 3, 2020 Author Report Share Posted April 3, 2020 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.