11/12/2011 4:43 PM | |
Posts: 5225 Rating: (1196) |
Hi all, It is a nagging question I am yet to resolve, maybe some help please? See also this LINK which inspired me to put his to paper. The PLC generates a pulse train (PTO) that is used as a speed setpoint (ramp up, constant, ramp down). The PLC receives a pulse from an encoder that measure the actual position of the moving object. The motion generating device gives it speed as an analog (0..10V) signal. The accuracy of the system to follow the speed setpoint (PTO signal) can't be assured. The accurate following of the speed is not at issue. The system should reach an internal setpoint for position - again the accuracy does not need to be 100%. Examples of such systems include.. 1. Stepper motor that gives slip at ramp up. 2. Cylinder positioning to open/close valves. 3. AC motor driven by an inverter (VSD). 4. DC motor driven by a (old generation) DC drive. 5. Upgrade of control on old generation motion control. In the above cases the open loop control is just not good enough. "Put a servo in there" is not the answer I'm looking for. Any suggestions on the control strategy? Greetings. -- William B. |
11/17/2011 8:17 AM | |
Posts: 5225 Rating: (1196) |
Thank you Marko Bursic and simone.m for your interest and taking part in this discusion. There is a group that developed coding for Siemens using the S7-200 that does positioning control for 3-phase AC motor and variable speed drive. You can download the locked code blocks from the web or buy a system as a kit from Siemens. It would have been great to have had such control for the S7-1200. Personally I would utilise digital control all the way; not an analog output for speed control as the S7-200 code does. But then again the number output of the block could be an input to the pulse block. The control concept goes much deeper as stepper motors. With the right programming you can control anything which accept a pulse for speed control and where you can measure its position. In most cases micrometer precision is not required. There are cases now that I move my PLC code to the position controller to try and avoid having a position controller and PLC. It would be nice if the reverse could happen; moving the position control back into the PLC. It would better the servicability of the system. Now you know the motivation. Any theories on how to put positioning into the hands of the S7-1200? Greetings, -- William |
11/17/2011 1:04 PM | |
Posts: 5225 Rating: (1196) |
Marko Bursic, Thank you for your response. There are things I like and things I do not like -- using relative motion is inspired but can give problems. I am going to chew on what you have written and respond in more detail on a later post. General notes now.
There is a critical point I did not consider too much -- stalling of a stepper motor. But then this is true even for AC motors if the (start-up) torque needed overwhelms the torque given. If it is at start-up, in most cases one can overcome the problem by (a) stop (b) increase the ramping time (c) restart. Stalling while running constant speed is more difficult to get rid of. I think however we should assume that the motor is driven correctly and does not stall - as to simplify the model as to add the exceptions later.
The AC drive I use can take in a frequency pulse or analog signal for the speed command. But maybe the best general solution would be to have a number output (example 0..10,000). To take this number and convert it to pulses or analog output is not too difficult. The solution is then general and mathematical.
The idea I toyed with was taking over the task of the deceleration too. This needs the MC_Velocity block to work. But I need more info on how the MC_Velocity works inside as to predict if my idea will succeed or not.. it's got to do with the transfer from one motion to another
Agreed that PLC code will be difficult to make discussion with. Pseudo high-level language will do just fine. I'll comment on your code piece later on with some of my thoughts. ..unless someone else feels like participating (which you are welcome to). Greetings. |
Last edited by: William B. at: 11/17/2011 1:08 PM |
|
Follow us on