OhNo
Member
Hello PLCS.Net Forum,
First time posting. Let's assume I am a novice.
BASIC PROBLEM:
My servo/linear piston is no longer zeroed to the original zero. Meaning, Studio 5000 V35 thinks the servo is positioned at 32 mm but I can see the physical system is positioned closer to 47 mm. This creates a major risk for mechanical destruction.
DETAILS:
__A 2198-C1004-ERS KINETIX 5300 servo drives an MPAIA3076RM14A MP series heavy duty electric cylinder (piston's total range is 76 mm).
__Cables are brand new (2090-CPBM7DF-16AA03 3 m Power/Brake & 2090-CFBM7DF-CEAA03 3 m Feedback). The feedback cable's battery is pretty new.
__Other hardware: 5069-L306ERM CompactLogix, 2711P-T7C22D8S PanelView Plus 7
__The piston controls the spacing of some grind wheels.
__Soft limits at 32mm and 58mm (mechanical limitations of the system). Home to 34 mm.
__HMI provides specific recipe for a single selected position. Servo should go to that position and stay held with a brake until a different recipe is selected and motion triggered.
__In initial set-up/programming trials, I can manually toggle MSO to turn on the servo, MAM to a specific location, MSF to turn off the servo & apply the brake. Worked fine.
__I'm trying to advance (automate) my code to allow for functions such as moving to the HOME position, moving to the selected recipe location, etc. Maybe some of this code has created this problem.
__I examined (Kinetix 5300 Manual) but didn't find what I was looking for (in terms of re-zeroing).
__Within my Controller Tags I tried to manually redefine my "linear_piston.ActualPosition" but it is read only. Which makes me think I didn't necessarily overwrite it with bad code.
__You're going to want to see code and I'm going to tell you it is on a non-networked computer (security reasons). I can likely figure out something if there is a specific ask.
__My instruction outputs for servo motion are limited to MSO, MSF, MAM, MAH, MASR, MAFR, and MAJ. I do write my target recipe position to a variable I use as the "pos" value in a MAM. That's it.
__My employer pays dearly for several layers of Rockwell support. But, of course, support for Motion or components purchased on a Tuesday is not included. (Yes, I am grumpy).
KEY QUESTIONS:
__How do I restore/re-zero my drive/piston to match the actual physical world?
__Autopsy: how did I cause this? Code? Power cycle? How can I never do this again?
__Am I misunderstanding encoding? Doesn't absolute encoding know where it is for the full 4,096 turns (inside the piston)?
MISC/BONUS:
__I was already thinking about adding limit switches for added protection and now I am sure I will. I'd be happy to hear any switch recommendations/successes/fails on that, including sensor recommendations and tips for a homing sequence... a key puzzle being if I have a piston with an encoder resolution of 0.000,012 mm/feedback count, what kind of sensor am I going to find that doesn't introduce error into my system? Or, do I just live with the resolution of the sensor being my new tolerance? I am trying to hold about 0.1 mm, so maybe that is OK.
Thank You in Advance,
--OhNo!
First time posting. Let's assume I am a novice.
BASIC PROBLEM:
My servo/linear piston is no longer zeroed to the original zero. Meaning, Studio 5000 V35 thinks the servo is positioned at 32 mm but I can see the physical system is positioned closer to 47 mm. This creates a major risk for mechanical destruction.
DETAILS:
__A 2198-C1004-ERS KINETIX 5300 servo drives an MPAIA3076RM14A MP series heavy duty electric cylinder (piston's total range is 76 mm).
__Cables are brand new (2090-CPBM7DF-16AA03 3 m Power/Brake & 2090-CFBM7DF-CEAA03 3 m Feedback). The feedback cable's battery is pretty new.
__Other hardware: 5069-L306ERM CompactLogix, 2711P-T7C22D8S PanelView Plus 7
__The piston controls the spacing of some grind wheels.
__Soft limits at 32mm and 58mm (mechanical limitations of the system). Home to 34 mm.
__HMI provides specific recipe for a single selected position. Servo should go to that position and stay held with a brake until a different recipe is selected and motion triggered.
__In initial set-up/programming trials, I can manually toggle MSO to turn on the servo, MAM to a specific location, MSF to turn off the servo & apply the brake. Worked fine.
__I'm trying to advance (automate) my code to allow for functions such as moving to the HOME position, moving to the selected recipe location, etc. Maybe some of this code has created this problem.
__I examined (Kinetix 5300 Manual) but didn't find what I was looking for (in terms of re-zeroing).
__Within my Controller Tags I tried to manually redefine my "linear_piston.ActualPosition" but it is read only. Which makes me think I didn't necessarily overwrite it with bad code.
__You're going to want to see code and I'm going to tell you it is on a non-networked computer (security reasons). I can likely figure out something if there is a specific ask.
__My instruction outputs for servo motion are limited to MSO, MSF, MAM, MAH, MASR, MAFR, and MAJ. I do write my target recipe position to a variable I use as the "pos" value in a MAM. That's it.
__My employer pays dearly for several layers of Rockwell support. But, of course, support for Motion or components purchased on a Tuesday is not included. (Yes, I am grumpy).
KEY QUESTIONS:
__How do I restore/re-zero my drive/piston to match the actual physical world?
__Autopsy: how did I cause this? Code? Power cycle? How can I never do this again?
__Am I misunderstanding encoding? Doesn't absolute encoding know where it is for the full 4,096 turns (inside the piston)?
MISC/BONUS:
__I was already thinking about adding limit switches for added protection and now I am sure I will. I'd be happy to hear any switch recommendations/successes/fails on that, including sensor recommendations and tips for a homing sequence... a key puzzle being if I have a piston with an encoder resolution of 0.000,012 mm/feedback count, what kind of sensor am I going to find that doesn't introduce error into my system? Or, do I just live with the resolution of the sensor being my new tolerance? I am trying to hold about 0.1 mm, so maybe that is OK.
Thank You in Advance,
--OhNo!