Any ideas using"Shift Registers"for Vision Failures on long conveyors for Dump Gate?

Cydog

Member
Join Date
Feb 2018
Location
Maryland
Posts
313
Any ideas using"Shift Registers"for Vision Failures on long conveyors for Dump Gate?

Good Morning ,

We are starting a quality program using vision systems. The vision system is going to be about 300' from the dump gate , and it would take the failed part almost 15 minutes to get to the Dump Gate.

I was thinking of using a shift register , and using the fail signal from the Vision System to put a 1 in the PLC , so as long as we have a 0 all the product is good , when a 1 reaches the position that the Dump Gate would be ,it would activate the valve to open the dump gate.

My question is , how many bits can you put in a BOOL Dim 0 array , so that I can have enough to accurately determine a 1 at the Dump Gate.
I imagine I would need a bunch.

I'm sure you folks have some better ideas.

Thanks so much in advance ,
 
we need more information
what plc ?
How do you plan on indexing the array encoder, switch activated from a gear or chain sprocket
 
Sorry , 2 ) Rockwell ControlLogix PLC's and 1) SLC 500 5/05

Was just going to use a timer . We have 3 conveyors that these products
accumulate ( Penny Stacking process ).

How accurate are counters in processors ? Are they affected much , by other
processes running ?

Thanks
 
Yes Sir. I know what you mean. Also concerned about belt slipping. Another concern is missing the bad product , and also additional waste by opening the
dump gate "window" to make sure we catch the failed part.
 
Rather than shifting bits, which only give you a binary (good or bad) status indication, you might want to consider shifting through an array of words. That would give you the ability to track "good part", "bad part", and "no part". Or even track a bad part part that could be reworked to turn it into a good part.
 
Just for giggles , I created a Tag , called it Index , Data Type DINT ( 12000 ),
thinking that it would index 1's and 0's in 12,000 spots.

But , that gave me 12,000 words LOL , and only shifting through 1 word 32 bits.
 
This same thing came up recently on another thread: https://www.plctalk.net/qanda/showthread.php?t=124552.


That thread has working examples of two approaches:

  • Model the conveyor with a continuous and constant "rate" of bits (or words): 1 for reject; 0 for accept; or vice versa;); move the bits with a shift register (FIFO) so a 1 or a 0 added for a product item by the the Vision System upstream will come out of the FIFO when that same product item nears the Dump Gate.
    • If the shift rate is driven (encoded) by an encoder on the conveyor motor, the errors are belt slip, belt stretch, and product items moving on the belt.
    • If the shift rate is driven (encoded) by time, additional errors come from errors in the PLC timing method used (PLCs are not deterministic); PLC-internal timing errors can be minimized by using timed interrupts or the free-running or real-time clocks, instead of TONs.
    • Either of these errors sources can usually dealt with via a window around the arrival of each bit at the end of the FIFO
  • Model the count of product items from the Dump Gate to every rejected product in a buffer (circular or shift).
    • This approach requires a second "an item is here" detection method near the Dump Gate
    • This approach uses the product items themselves as the encoder, so belt slip, or items moving on the belt less than a certain amount, are no longer sources of error
    • There are several other sources of error; all have in common that they take the "encoder" out of synch with the process:
      • Someone takes or add an item from or to the conveyor
      • Items are too close together to be detected separately
      • On startup, the count of items between the Vision System and the Dump gate needs to be initialized*
      • There may be others
* this is not an error source per se, but if the conveyor could not be cleared before each startup (so the count would be 0), then visually counting a large number of items over 300' and entering that number into the PLC manually to start could easily be a deal-breaker.

In both approaches, mis-modelling is the fundamental source of error; the timer- or conveyor-as-encoder approach, with windows to cover model errors, has a long history of success; the process's susceptibility to each type of error will likely be the driving force in the choice of which approach to take.
 
Last edited:
Best approach would be individual encoders and shift registers
for each section of conveyor.
The Pick-off at the end of the 1st shift register inserts onto the
1st element of the second register, and so on.
If the conveyor speed does not modulate, nor start stop, you
might be able to substitute timers for the encoders, but I would
avoid timer drivers if possible.

You will need to find the appropriate Pick-Off points (along the
length of the shift register) to match the package being handed
off to the next shift register.

I would also suggest using an INTeger shift register, as it gives
you quite a bit more functionality, should you need to account for
rejects or additional testing options.
 
Good Morning ,

I think part of my trouble is , I don't truly understand how a shift register works completely. I have a few more questions if you don't mind.

- In another project I have , a BSL ( CompactLogix ) . In the Array is
a tag Index_Cases , Length is 4 . ( Data Type DINT(4) ).

My question is , The Tag " Index Cases" , in the BSL it is only using
"Index Cases (0) 32 bits. I guess you can't expand that , can you ?

Also , why doesn't , when the BSL is shifting and Index Cases (0) gets full
it would not continue into Index Cases (1) 32 bits then Index Cases (2) 32
bits , etc. ?

- Also , can you use Integers , such as 1,2,or 3, in Bit Shift Instructions ?

Thanks so much. I'm sorry, it is just these stupid mental blocks I get most
of the time.
 
There are many ways to do what you need
but your biggest problem is passing the data between processers
the ControlLogix PLC's can use produced and consumed tags but the SLC will need to either message the data across or you could set up some IO to pass the data depending on your situation
a bit shift FIFO or a file shift any of those could be made to work
timers could work but the best would be a pulse generator from a conveyor shaft
maybe a photo eye where the product is passed from one conveyor to another
without actually seeing the layout it's had to say.
 
Thanks Sir. But I'm not using 2 processors . I'm just trying to use Shift Registers in one processor.

Let me rephrase this. How can I expand my BSL from 32 bits to 10,000 bits :) .

Thanks

-------------------------------------------------------------------------------------
- In another project I have , a BSL ( CompactLogix ) . In the Array is
a tag Index_Cases , Length is 4 . ( Data Type DINT(4) ).

My question is , The Tag " Index Cases" , in the BSL it is only using
"Index Cases (0) 32 bits. I guess you can't expand that , can you ?

Also , why doesn't , when the BSL is shifting and Index Cases (0) gets full
it would not continue into Index Cases (1) 32 bits then Index Cases (2) 32
bits , etc. ?

- Also , can you use Integers , such as 1,2,or 3, in Bit Shift Instructions ?

Thanks so much. I'm sorry, it is just these stupid mental blocks I get most
of the time.
 
Take the problems one at a time
what processor re you using it dose make a difference
one place you say you are using an SLC and 2 CompactLogix what is it
in SLC create 3 Binary tables of 250 words this will give you 4,000 bits per table
then cascade 3 BSL instructions one for each table
I am still confused as to what you re tying to do with the CompactLogix PLC
it's always best to take it one problem at a time.
 

Similar Topics

please? I'd appreciate it. It's for a final project due for my control systems class.
Replies
5
Views
4,917
I was just wondering if anyone had any experience with a VEGAPULS C 22 Radar sensor. One of my customers got a cold call from one of there reps...
Replies
10
Views
2,792
Hello Collegues ! I am here today looking for help, i recently started a magister in controls and automation. I was thinking in doing an automated...
Replies
7
Views
1,983
We have AOIs for projects, which handle material dosing (by hand or by pipes and pumps), obviously they have comparison between setpoint and...
Replies
50
Views
14,190
Wizards, With all the extra downtime this year, I have started guiding the newer maint staff through a test cell build. It has been quite...
Replies
1
Views
1,362
Back
Top Bottom