Sign in to follow this  
Followers 0
kpizzolatto

Position Control with QD75M

5 posts in this topic

Position Feedback with Mitsubishi Servos GoToPosition.zip Does anybody have experience with Mitsubishi servos and time to answer a question? Most parameters, except target positions, are set by GX-Configurator QP. All the equipment in question is from Mitsubishi. I've got a QD75M4 motion control module and four MR-J2S servo amplifiers. They are controlling four HC-KFS43K motors. The PLC involved is a Q12H, not a dedicated motion control PLC. I'm using simple single-step (end) or two step (continue, then end) motions to send servos to PLC-specified positions. I'm using a couple of bits to generate a "move complete" status in my PLC: X14 (positioning complete--the step is complete) NOT XC (busy--the servo is executing a move) And I'm monitoring position feedback using Md.20. The problem is that in certain moves when the servo is mechanically prevented from achieving its target position, I still see X14 AND NOT XC And my position feedback (via Md.20) shows that I have reached my target position. I have tried to find another method using this equipment to achieve the goal, but I'm having no luck. I want to send the servo to a position, get feedback indicating "at position" when it's there, and monitor the actual position whether the servo reachse setpoint or not. Has anybody successfully done this? How might this be done with the equipment above (using the general-purpose Q12H PLC, not a dedicated mitsubishi motion control PLC)? A more detailed version of the above question is restated below. Thanks for your help! The manual I reference below is QD75M Position Module Software Manual V2-D.pdf, identified as Type QD75M Positioning Module User's Manual IB(NA)-0300062-B(0404)MEE The servos drive ball screws with "sleds" mounted on the nut to carry workpieces That's not really important as the encoders are attached to the motors, not the ball nut. All axes are independant and all moves are simple "go-to-position" commands. The moves all use CTRL Method 1: ABS line 1 (Axis #1 Linear control (ABS)) move, which controls speed to a set position. Each move can consist of either a 0: END (End command) segment a 1: CONT (continue positioning control) segment followed by an 0: END (End command) segment. The second type of move is for high speed approach followed by creep speed final positioning. Two of the axes are pick-and-place, and reliably reach their commanded position every time. The other two axes bring two workpieces together, and due to lack of precision in prior measurement sometimes cannot reach their final position. For all axes, I create a "move complete" bit in the PLC using X14 (positioning complete) and NOT(XC) BUSY per p6.3 (Fig. 6.3 ON/OFF timing of each signal at start of positioning). Also, for all axes, I read current feed value via Md.20 For axes which do not achieve target position, we expect to see either the "move complete" (generated in the PLC as above), or an error. We also monitor the current feed value from Md.20 as above. This is so that we can adjust the position of the next equipment in the process. It seems that the QD75M4 reports move complete and current feed value Md.20 = target event though position has not been achieved. To test this, the Engineer onsite installed an oversized workpiece so that the ball screw could not achieve final position, then executed the move to go to that position. 1. We get "move complete" (X14 TRUE and XC FALSE with no faults, per sec. 6.3 above) even though the sled doesn't make it to the specified position. The command in-position width is .00100" We would expect the servo to fault on a following error if it never made position, but it just stops with no fault and maintains force against the workpiece. We monitor axis faults at Md.23 (Active Error Code). 2. The current feed value Md.20 shows that actual position = target position, even though we can see it has not occurred. Previously, the Engineer scribed a line on the ballscrew carrier while the sled was at the target position. During this test he observed the sled is around an inch short of the line, even though the current feed value Md.20 reported target position had been achieved. I would expect the feedback to report the actual position, not the target position. If not at Md.20, then I would expect some other parameter to report the actual position. To check this, the Engineer grabbed the sled and moved it back about 6" against the force of the motor. After releasing the sled, the motor returns it to the position against the workpiece where he grabbed it. Current Feed value at Md.20 and Machine Feed Value Md.21 never changes. If the Engineer drops 240V power, but not control power to the servos, (just opens the safety gate) current feed value from Md.20 abruptly changes without the sled observably moving. Reported value in Md.20 is roughly consistent with actual observed positon. At that point, moving the sled produces the expected change in current feed value Md.20. We have tried: Monitoring Md.21 instead of Md.20 Both behave similarly, except that Md.20 reflects the offset applied during setup via OPR. Changing Pr.21 (Current feed value during speed control) to 1 (The current feed value will be updated.) produces no change in the problem. Ref 5.34, Pr.21. I've read multiple Mitsubishi motor, PLC, servo, and motion controller manuals, reviewed the parameters the software GX-Configurator-QP, looking for some parameter I have set wrong, or the correct parameter I should be monitoring. I'm finding nothing. I want to send the servo to a position and get feedback to the PLC that tells me: 1. I've reached position within tolerance. 2. The actual position of the encoder at all times This seems like a fairly straightforward application of a servo (a very basic one, actually), but I just don't see how to do it with these products. Has anybody successfully done this? How did you do it? Thank you very much for your kind assistance! For reference, I've attached the configuration files from GX-Configurator QP. Note that we populate the target positions in the positioning data from the PLC (they're all zeroes in the GX configurator file).

Share this post


Link to post
Share on other sites
did you check Md31, bit 2 ("Command In-Position" or 12.7.6 in your manual)?

Share this post


Link to post
Share on other sites
Yeah, during the initial design, but we decided not to use it because we wanted a "move complete" not a "close enough" condition. Of course, Pr.16 is at default (.00100 inch), so that's probably close enough. From the manual... "The command in-position flag is used as a frontloading signal indicating beforehand the completion of the position control." At this point, maybe that's as good as you'll get from Mitsubishi? I'll forward it to the engineer in the field. Any ideas on the position feedback? Md.20 and Md.21 don't seem to tell us where we really are. Thanks for your help!

Share this post


Link to post
Share on other sites
how do you define "move complete"?

Share this post


Link to post
Share on other sites
We had the same reaction as you did and spent alot of time figuring this all out. All of the input signals such as "Positioning Complete" and "busy" are based off of theoretical ideal trajectory planning. You really should monitor the servo status memory location as mentioned before and read the "in-position" bit. I actually set a timer and make sure it is "in-position" for a certain time after the busy line is complete. That way you know it has reached the trajectory planning end point and also has been in position for a pre-determined settle time before being considered truly in position. I also go one step more and monitor the servoON status at the end of the move just to make sure the amplifier hasn't been power cycled. I've written a function block in IEC developer so I don't have to keep re-writing this code.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0