Looking for a little help please

n8dc

Member
Join Date
Sep 2006
Location
Michigan
Posts
59
Im new to A/B contollers and im working on a program for a drilling machine. I was told I could use the move command to count from one station to another on a rotary table. I need to check the height of a part and if it fails then I need to count the stations till it gets to a bad part pick off station. Im using a micrologix 1200. The problem im having is i can move the data but it doesnt seem to stay in the n file? It goes on 0 to 1 then right back off and nothing is retained? I hope i explained this good enough. Hell i cant even hardly explain it to myself! Oh ya i will use an input for the bad part and there is a prox on the rotary table that goes on when the table is locked in position so that could be used for counting..
TIA
Dave
 
Dave,

Are you just looking to mark this part as good or bad?? If so you could use a shift register for this, (BSL or BSR). If each part has more information than good or bad associated with it then you could use a Fifo Load instruction, (FFL). As long as you have a definte way to tell when the table moves each time it should be pretty simple to implement.

On a bit shift you need to know how many stations that you have before the reject station and then which stations make a determination as to a good or bad part, and then trigger the bit shift every time the table shifts.

Read the help menus on some of those instructions and see if that helps any.

BL
 
There are a lot of ways to do this, but you're basically going to need as many words as there are nests (or fixtures) on the dial to "track" the status of the part in each nest.

Let's say there are six nests. Usually, you label each nest on the dial and then keep track of where that nest is after each index. When the dial home switch is made, that's usually when Nest 1 is at Station 1, Nest 2 is at Station 2, etc. Now, on the next index, Nest 6 is at Station 1, Nest 1 is at Station 2, ...

OK. So if you assign each nest a pass/fail, you have something like N7:1, N7:2, ... N7:6 holding the nest status. (You might want to skip using N7:0, because you get a nice easy correspondence of word number to nest number if you do, but some people don't care. Me, I try to make it easier to read and maintain.)

So now, let's say that Station 3 is your inspect and Station 6 is your reject. When Nest 1 is at Station 3, you can MOV a 1 for a good part into N7:1, or a zero for a bad part. Table indexes and Nest 1 is at Station 4. You might now read N7:1, and not operate on the part at all because you're rejecting it anyway... this is a common thing to do with stations downstream of an inspection station.

Table indexes again and now Nest 1 is at Station 5... indexes again and it's at Station 6. Now, you read N7:1 and since it's 0 you reject the part.

So, yeah, you have to keep track of indexes and nests and stations. You might be able to do this with a bit shift if you have only one status- pass/fail- for the parts. More often, the nest has more than one status, and you use words so that at exit (or reject) you know exactly what the part is or exactly why it failed. If you are simply p/f, then you can use just a bit, then you do a BSL after each index to move the status around with the parts; if you are using a whole word for each nest, then you copy all the words after each index.

That's the gist of it; I can post some sample code up later if you need it. Or other guys on here probably have some too.
 
I would really like to see the code. I hate to say it but Automation Direct and omron is what im used to and this A/B stuff is way out in left field to me. Usually once i see it done and can simulate it then i understand better.
Dave
 
As for finding the reason that your N7:x file is resetting, you might want to look for all instances of that address. You can use the Find utility (Search -> Find and then enter the address in the Find What box and click Find All). A window should show all locations of your address and you can see if you are resetting the value.
 
yes it is resetting. we have 12 stations on the rotary table. If station 1 while drilling and checking a height throws up a flag for a bad height id like to move that data to station 2 and pick the part out. Then id also like to tell station 3 and 4 not to send the drill unit in because there is no part but the parts following if good need to be drilled.At station 9 or 10 id like to pick the good parts out.Sorry if i seem stupid but i guess i am and im really having trouble making this work.
Dave
ps: the height check will only be on for about 3 seconds drill time
 
Last edited:
OK... I think blawrenz got it. BSL should do this pretty easily.

At Station 1, you set a bit for a Pass, leave it off for a Fail.

At the beginning of index, you use the Station 1 P/F bit as input to a BSL instruction. When index ends, the P/F status is now in Bit 1 of the BSL word. Station 2 looks at that Bit 1. If it's 1, great. Operate on the part. If it's zero, then you do your reject.

Meanwhile, Station 1 drilled another part and finished and set the Pass bit (or not). At the next index, the BSL puts that status into the BSL word Bit 1, and moves the Bit 1 to Bit 2. Station 3 on your dial can look at Bit 2 to determine if there's a part there or not.

Eventually, at Station 9 you're looking at Bit 8 of the BSL word... Station 10 is looking at Bit 9... etc. At each station, you're going to look at the same bit of the word each time to figure out if a good part is there or not. You load the BSL with the Station 1 result during each index, and the BSL is pushing each previous test result one bit over as well. Make sure that if you have more nests on the dial than you have stations around the dial, that you use the correct bit at each station. The bits are moving with indexes, not necessarily station numbers. Station 10 might be 12 indexes away from Station 1, even though it is "Station 10."
 
sorry but im lost.. ive got to do some repair on the plant floor and i need to clear my head. thanks anyway.
Dave
 
the more we know, the more we can help ...

Greetings Dave,

if you need more detailed help, why don't you ZIP and post your .RSS program file? ... we can probably help you better that way ...
 
In the back of the Allen Bradley SLC 500 and MicroLogix 1000 Instruction Set Reference Manual (Publication 1747-6.15) there are sample programs that may help a lot.
 
i dont have a file im trying to work it out. I cant get the hang of the bsr either. A/D's shift is a lot easier. They wont let me install a a/d controller its all a/b now after i went on medical from a heart attack. someone told em that was the way to go and they got in a jam while i was off. They can blame thierselves cause im the only programmer and they didnt want to train anyone. now they want this and im trying to learn it. Im so frustrated right now cause its not sinking in that im about ready to throw in the towel. Im not having a good day as it is and just came from personal because of my boss. Id quit today but i need the money for a while yet. Im going to lunch.
Dave
 
Tom Jenkins said:
In the back of the Allen Bradley SLC 500 and MicroLogix 1000 Instruction Set Reference Manual (Publication 1747-6.15) there are sample programs that may help a lot.

im looking for this manual? but cant seem to find it
 
Dave,



The problem im having is i can move the data but it doesnt seem to stay in the n file? It goes on 0 to 1 then right back off and nothing is retained?



this makes it sound like you already have the system hooked up and that you can at least put some sort of program into the processor ... if that’s true, then all you need to do is “SAVE” the (.RSS) file - ZIP it up - and then post it on the forum ... we’ll be glad to take a look at it and help you work through your problems ... if we tackle the issues one-by-one, then it might take awhile - but we’ll eventually get through it all ... if you need help posting your file, just ask ...



based on what you’ve posted so far, I’m just guessing that a quick lesson on AB’s “indirect addressing” would be helpful ... but if you’ll show us what you’ve got in the processor right now, we should be able to tell you why your program is acting the way it does ...



question: could you (at this stage of the game) draw up a list of “addresses/locations/integers/boxes” on a sheet of paper - and then manually “work through” how the data would need to be moved from place-to-place in order for the machine to work correctly? ... if the answer is “yes” then you’re more than half-way home ... just tell us how many locations we’re dealing with (example: 6); tell us what the data would look like (example: 123; 456; etc.); tell us what event you want to “trigger” the “transfer step” into action; and then we can write the rungs for you and make the numbers march around ... basically, you describe it - we’ll program it ... but of course, if you can NOT describe it, then neither you nor we will have much success in writing the code ...



just a thought ... you said that AD would be easier for you ... could you go ahead and write the program for an AD - and then post that? ... many of us here would be glad to help you “transcribe” the AD program file into its AB equivalent ...



next big question: what’s your deadline on this project? ...



we’re trying to help ... but I’m getting bad vibes about this combination in your last post:



n8dc.JPG




take it easy ... we’ll be glad to help - but we need DETAILED information to make it happen ...
 
i have a program for an a/d dl 06 all ready doing the shift instructions. Id be more than happy to put that up here . I think if i could see that particular program converted to A/B's way of thinking id get more out of it but im not holding my breath. Tell me how to post it. Actually it might be on my lap top which is home at the moment but ill get it. I really appreciate the help and ill buy the beer :)Im looking for it now and I guess i could always just get it out of the machine ! Ive got a meeting at 2:30 here so ill be out of my cage for a while ..Yup they gotta keep me caged up.
Dave
 

Similar Topics

Hi , Where i can find Mitsubishi PLC Card end of line & replacement model details. i am looking for Q02CPU replacement model. Please advice. thanks
Replies
2
Views
107
I have Allen Bradley plcs, I have had Circuit breakers and other automation equipment in the past. There's no solid buyers local. How much do you...
Replies
2
Views
189
can anyone has a good program to learn plc programming online. i have the basic looking into improve my skills thanks
Replies
1
Views
133
I want to monitor a couple signals in a place where there is no PLC but there is ethernet. I know I can use an AENTR or Flex I/O and a module but...
Replies
21
Views
722
I downloaded v24 for studio 5000 but can’t find where the download manager put it! Any help? I’ve done it before but can’t remember. Thanks
Replies
9
Views
357
Back
Top Bottom