Newbie needs some A-B help.

jben1427

Member
Join Date
May 2008
Location
Michigan
Posts
13
Hello.

I work for a company that manufactures commutators for dc motors. I’m a Process Engineer by trade and have had very little exposure to PLC’s and programming till I was brought in on a slotter project. A few months ago I was assigned the final step in the slotter machine I designed, due to unfortunate circumstances, (cancer) our EE cannot help on the programming. The machine makes slots in commutators where the wires go during the armature construction for the motor.



System Information:

A-B Compact Logix 5000 (L43) Control

A-B Kinetix AC Servo Motor with Sercos Interface

A-B Kinetix Ultra 3000 Servo Drive with Sercos Interface

A-B Panel View 550

A-B RSLogix 5000

A-B Panel Builder 32

Sunx FX-101P (pnp) Fiber-Optic Eye



A commutator is placed on a shaft that is coupled to the servo motor. A fiber-optic eye lowers to the comm. The servo motor turns one complete revolution. As the servo turns the eye reads the edge of the copper bars and the position of the servo motor needs to be recorded. What commands would need to be used to record the position of the servo motor at the edge of each bar as it rotating a complete revolution. Then the number that is recorded needs to be divided in half so the servo will go to the new position and be in place for the saw to come in and make its cut.

Any help would be greatly appreciated.
 
If you have not used this before, and don't have time to learn, I would suggest calling contractor but if you want to give it a shot, this is what has to be done:

You need to do initial setup of the servo, PLC and network before you can start. Your distributor/AB rep should be able to come and demonstrate servo functionality (and initial setup) if the drive everything is wired and ready to go.
Since you are using classic PV on a project with 32-bit PLC such as CompactLogix PLC, you will have to do some maping to mimic 16-bit structure of data files or PV classic will not be able to connect to PLC.

Next you need to setup referencing of the servo axis
(check instruction MAH) and then issue move commans (check MAM instruction).
 
panic mode,

Thanks for your reply.

I should have elaborated a little further of where I am with the programming. The A-B rep did come out and get the drive and motor and PLC set up. I created a program for the machine mimicking another similar, but older machine that we have. The problem is the older machine makes slots in the comms that are equally spaced around the comm. This machine needs to use the eye to determine the actual center of the bar of the commutator and position the comm so the saw will cut a slot in the center of the bar.
 
panic mode said:
Since you are using classic PV on a project with 32-bit PLC such as CompactLogix PLC, you will have to do some maping to mimic 16-bit structure of data files or PV classic will not be able to connect to PLC.
./QUOTE]

I've used a PV550, ethernet, to a Clgx and had no issue accessing INTs DINTs BOOLs and REALs without any mapping
 
We are using the PV550 without any problems.
I'm only a PV beginner, but I was able to connect to the CompactLogix controler without to much hassel. I created some screens and the functionality seems to be fine.

jben1427
 
I second the suggestion that you look up a local systems integrator and have them do it. Or, maybe a contract engineer that can come work for you for a few weeks. Maybe depends somewhat on whether or not your EE is coming back, and when. If you need a stopgap that is good enough, then maybe you can give it a shot. If you're looking for a full production system with troubleshooting help and high robustness, and you need to make a production date, hire it out.

From what you're saying so far, you're using the FO to find two edges, then you want to center between them and cut? First, is the FO accurate enough/fast enough? If it is, then you need to program the PLC to record the servo position when the first edge is detected. Continue turning, then record the servo position when the second edge is detected. Subtract, divide by two, add to Position 1 and drive the servo to that spot. There ya go.

The fact that you've got SERCOS and RSLogix5000 is a plus since motion is integrated into the ladder. Maybe a minus in this case since it's one more thing to learn to program.

Not really too hard, as long as everything works. Most (good) programs you spend a lot more time on initialization and error handling than on the "normal" process sequence.
 
Greetings jben1427 ...



and welcome to the forum ...



I ... have had very little exposure to PLC’s and programming ...



just as a “getting started” idea, let me ask a few questions ...



(1) are you able to manually monitor the signals/values from the servo, photo-eye, etc. using your programming software? ... let’s assume the answer is “yes” and continue ...



(2) are you able to manually control the machinery (position, etc.) by entering values with your programming software? ... (while still working through the constraints of the software of course) ... let’s assume the answer is “yes” and continue ...



(3) given an unlimited amount of “per cycle” time, could you manually control the machine to do the necessary job? ... let’s assume the answer is “yes” and continue ...



if all of my “yes” assumptions are correct, then the next logical programming step would be to carefully DETAIL all of the necessary input signals (and their status) - and all of the necessary output signals (and their status) into something like a flowchart or psuedo-code ... you’ll know that you have this step successfully completed when you could (conceivably) hand the document over to a totally untrained operator - and watch him perform all of the necessary step-by-step tasks without any additional help from you - given an unlimited amount of time of course ...



(you probably can see where I’m going with this) ...



now once all of that preliminary work has been done, it would THEN be time to start writing the PLC program to accomplish the same task ... the “manual control” steps listed above might certainly be tedious - but if you can do them, then the actually “programming” step will go much easier ... and if you can’t do them at all, then the programming step might well prove impossible to do ...



based on what I’ve written above, can you give us any more details about where you stand on the programming learning curve? ... the more we know about your task and your resources the more detailed help we can offer ...



one more question: what sort of deadline do you have on this project? ...



I hope this helps ...
 
Last edited:
panic mode said:
hi curlyandshemp and jben1427,

can anyone post a sample? maybe my information is outdated...


Screen capture of Tag Editor from PB32 using the PB550 to a Clgx


clgx_pv550.jpg
 
Paul T, Ron,

I started from scratch on setting up the program with a flowchart, schematics, inputs, outputs, and got some the training dvd's. I got the machine to function as I thought it was supposed to. The problem was the added use of the fiber-optic eye/servo positioning.



With the PC online with the control I can manually turn the servo and see when the fiber-optic eye sees the edge of the bar on the comm and can get a guess-tament of the actual bar edge location. I did this for about 15 bars around the comm and recorded the numbers. Then I divided those numbers by two and wrote some code that made the servo index to each of those positions.



I went through the A-B manuals and tried to find an instruction that would record those numbers and divide them by two and then use the answer to give the servo a position to go to. I’m not sure if this is something that can be done or not. Some of the Array Instructions kind of look like they would work, but I’m not familiar with them enough.



At this time there hasn’t been a set dead line for the project. If there was I would have contacted someone else on doing the programming. I’ve learned a lot with the hands on experience, so I’ll milk this out till I’m told to get it finished.
 
hi curlyandshemp
interesting, i did check release not of the PB32 (something I never do) and it does say that native ControlLogix addressing is new feature supported since version 3.81, learn something every day...
 
jben1427 said:
...I went through the A-B manuals and tried to find an instruction that would record those numbers and divide them by two and then use the answer to give the servo a position to go to. I’m not sure if this is something that can be done or not. Some of the Array Instructions kind of look like they would work, but I’m not familiar with them enough.



At this time there hasn’t been a set dead line for the project. If there was I would have contacted someone else on doing the programming. I’ve learned a lot with the hands on experience, so I’ll milk this out till I’m told to get it finished.

I am not experienced with Logix based motion control, but what you want to do is called "registration". You want the actual position to be recorded when the optical sensor changes states.

You might try searaching the manuals and technotes for the words "position registration" to find examples. You will want to record those positions and then use math instructions to find the center. CPT (compute) (Position_A + Position_B)/2.
 
The CPT instruction will let you do the math on it.
Then a conditional MOV instruction can move the calculated position to the servo's target position, then trigger the motion.
 
OkiePC,
I did some checking looking for 'position registration' and found these:

Motion Arm Registration

(MAR)

Use the MAR instruction to arm servo module registration event

checking for the specified axis. When the instruction is called, a registration event is armed based on the selected Registration Input and the specified Trigger Condition. When the specified Registration Input transition satisfies the Trigger Condition, the motion module computes the axis position at the moment the event occurred based on hardware latched encoder count data and stores it in the associated Registration Position variable in the axis data structure. Also, the instruction’s Event (PC) bit is simultaneously set, as well as the Registration Event Status bit in the axis data structure. If Windowed Registration is selected, only registration events whose computed registration position falls within the Max and Min Position window are

accepted. If the Registration Position falls outside this window the registration event checking is automatically rearmed.



Motion Disarm Registration

(MDR)

Use the MDR instruction to disarm the specified motion module

registration input event checking for the specified axis. This

instruction has the affect of clearing both the RegEventStatus and the RegArmedEventStatus bits. The In Process bit of the controlling Motion Arm Registration instruction, if any, is cleared as a result of executing the MDR instruction.

Those sounded like what you were talking about, am I correct on this? I'll keep looking to see if there are any other references to position registration.

CroCop, The CPT instruction makes sense along with the MOV instruction.

Thanks,
Jon
 
Finally got back to the project. I tried to use the MAR command and that didn't seem like it was doing what I was hoping. I did some checking on some other SLC-500 programms on some other machines and found a machine that is using a fiber optic eye for checking a commutator. In that program a MO file is used. Is there something in RSLogix-5000 that is similar to that. If not I'll keep looking.

Jon
 

Similar Topics

I've used FTView ME for as long as I can remember but am now developing an application with SE. I've imported an ME project that will serve as...
Replies
3
Views
1,477
Have a 1500 thats used on a Italian Roller Coaster. Uses a couple of AIC's and a 500 Plc Also a Panelview 550 Everytime we go thru the start...
Replies
1
Views
1,525
Hi all, Please can someone help me? I am new to programing and stuck on a task. I am working on RS LOGIX 5000 with a compact logix 5370 controller...
Replies
2
Views
3,055
How do you reset the value you have into n7:88? Would a oneshot work? Thank you in advance and sorry for the easy question. I'm new and learning.
Replies
10
Views
1,617
hi! to all, can someone gimme a download link of siemens s7 ver.4 sp1? We have lost our dvd installer and we don't know now what to do. can...
Replies
7
Views
1,905
Back
Top Bottom