Hard to track

TRACE1

Member
Join Date
Apr 2021
Location
Indiana
Posts
1
Any help appreciated,

Proposed question: I need to track parts to count the rejects in a rotating machine but having no luck tracking proper logic.

So here is what I have rotating machine with 12 stations no communication to any station other than an output leading to the input side of our micro 850. Said input is a reject pulse that’s normal state is TRUE when there is no product ie. NO PRODUCT NO TEST THEN REJECT. There is an Photoeye located at the Infeed that allows each station to begin a test or ONS bottle present and station comes down and tests product. The Reject pulse doesn’t happen till around the same time the reject blow off happens. With the normal state being to reject and such a large span how am I to track these rejections when they are true. I’ve tried several variations of BSL AND BSR and attempting to AND_MASK to try to get the proper logic for actual rejected product but NO LUCK. I attempted to add a pre reject valve eye so I could be closer and close the LENGTH of my BSL/BSR but still no result… any suggestions welcome.
 
Yep a shift register is the way to go, done many of these & there are plenty of posts regarding this, I prefer a word shift register where I can put different values in depending on what I want it to do. Some years ago did a rotating table that assembled telephone buttons (Square type) this contained about 12 stations that placed parts in nests on the rotating table, each station then hade either a pick & place unit for placing the part in the nest or checking parts were located correctly, a reject station & a removal station.
I had to track good/bad parts, if a part had been removed at the reject or remove station so I ended up with a word shift, if a part was not removed either in the reject or removal station then it could go round 3 times before the machine was stopped & alarm.
So in that word there were values that determined the status of each nest, i.e. has a part, has been in station x, part is ok is a reject has not been removed.
The shift was implemented on each rotate.
You could have perhaps a word or bit shift for each status so rather than 1 as I had use 3 or 4 all running together to determine the status of each nest on the table.
 
Said input is a reject pulse that’s normal state is TRUE when there is no product ie. NO PRODUCT NO TEST THEN REJECT.


How do you reject a product from a station when there is "NO PRODUCT" at that station?

Does the 850 "know" (either by design, or have inputs for) any of the following:

  • When the table rotates all slots (with or without products) by 1 position?
  • Which station issues a reject pulse?
    • If any station issues a reject pulse?
  • Which station the infeed photoeye is at?
  • Which station(s) the reject blowoff should occur at?
What does the 850 control i.e. what are its outputs?
 
Last edited:
Post what BSL/BSR code you have (not the one with the AND_MASK) and why you think it is failing.


What were you using to trigger the BSL/BSR instructions?
 
Last edited:
It is not too clear if a reject is at each station or if it just detects a Reject bottle
It does sound if it detects a "Reject" (call it that) at only one position. the OP states needs to count rejects ? Also the I think a little more info is required, I first assumed it tracked rejects in each "Nest" then rejected them at the last position but this is not clear.
 
It is not too clear ... I think a little more info is required,

Now there's a bit of typically British understatement, wot? ;)

The only input to the 850 that we know about is the reject signal, and its normal state is TRUE, so how to infer each reject/blowoff pulse from that is going to be a problem.

It sounds like the table system runs independently of the 850 PLC i.e. all of the infeed, testing, reject, blowoff, etc., logic and inputs are handled in a standalone system external to the 850.

If that is the case, without more data inputs to the 850, e.g. a trigger when the table rotates by one position, I don't see a way to detect, track, or count events, other than non-REJECT falling edges. I mean, if the process runs at a constant cadence, after a few non-REJECT events the code could infer that cadence, and then run a repeating timer at that cadence to model table rotations, with ongoing corrections for actual events. But those are huge IF's, and coding that level of sophistication into a model in the Fisher-Price CCW environment would take far far far far more time and cost far far far far more than adding a few inputs from the process that would make this a trivial program to write.
 
Perhaps my statement about a little more info was a bit lean, I agree, does the table index or is it continuous ? Is there only one checking station or just some sort of reject fixed but is detected as the bottles rotate round the table ? the count rejects is simple if there is only 1, just count on a falling edge. Is there only 1 filling station ? or is there multiple heads that are part of the table like a normal filler ?
 

Similar Topics

Hi - I'm a newbie to the PLC world but was recently asked if we could store more than the 2G that the CompactLogix 5370 allows by its max size SD...
Replies
13
Views
1,322
It's Saturday, so I thought it would be amusing to look at times gone by, imagine if you had to carry this to site "IBM 5mb Hard Disk 1950's.
Replies
16
Views
1,851
I've been beating my head against this problem intermittently for a while now. :banghead: We have 3 meter with hard mechanical counters on the...
Replies
26
Views
7,895
Outside what used to be an RCA TV plant. Shame of a use of a good robot.
Replies
3
Views
1,689
Really interesting analysis on if, why and when Soft PLCs are going to replace standard Hard PLCs in the industry...
Replies
25
Views
6,597
Back
Top Bottom