Help With Bit Shift Left Instruction

lara320260

Member
Join Date
Jun 2020
Location
Texas
Posts
3
I am having trouble figuring out how to track a product using a BSL instruction. The way that I have it set up is: I have an infeed eye that detects product which goes under a heater, and outfeed eye that detects product coming out. I want to use a timer to turn off the heater if the product does not make it out in x amount of time. I am programming on a SLC 500
 
1) show your code so far, please


2) What environment (A-B; Siemens; Mitsubishi)?

3) I am not sure how a BSL fits into an implementation serving that purpose.


3.1) Can there be more than one product in the heater at a time?



3.2) Is the idea that the BSL pushes a 1 bit into the bit buffer when the infeed eye detects a product, or pushes a 0 bit if there is no product at infeed, while a repeating timer moves the bits along the buffer, and you want to ensure you see an [outfeed product detection event] before that bit gets to the end of the bit buffer?
 
why do you need BSL? to shift covid out of TX to FL?

Do you have more than one product going thru the heater?



I have bottles going through an induction sealer that seals the foil on the bottle for tampering. Yes I can have multiple bottles under the sealer at a time. Maximum bottles that could be under the sealer is 7 and I want to shut off the sealer before 5 seconds if any of the bottles are jammed under the sealer since they will catch on fire
 
1) show your code so far, please


2) What environment (A-B; Siemens; Mitsubishi)?

3) I am not sure how a BSL fits into an implementation serving that purpose.


3.1) Can there be more than one product in the heater at a time?



3.2) Is the idea that the BSL pushes a 1 bit into the bit buffer when the infeed eye detects a product, or pushes a 0 bit if there is no product at infeed, while a repeating timer moves the bits along the buffer, and you want to ensure you see an [outfeed product detection event] before that bit gets to the end of the bit buffer?


I am using RSlogix 500 from AB. Yes there can be multiple products under the heater at a time.


3.2 you described it perfectly I just can't wrap my head on how to put this into ladder logic.
 
I think what you want is a FIFO:


1) When a product hits the infeed, you calculate the time in the future by which it should be out of the heater, and load (FFL) that onto the FIFO.


2) Wnen a product hits the outfeed, you unload (FFU) the oldest time on the FIFO.


3) at every other scan, you compare the current time to the time of the oldest time on the FIFO: if the current time is equal to that oldest time then the oldest bottle has been in too long, and the heater should be shut off.


I assume there will be operator intervention after that.


The time could be the second of day i.e. get current hour, minute, second from the Real-Time Clock (RTC), and calculate [second_of_minute + 60 * (minute_of_hour + 60 * hour_of_day)] => second_of_day*. Add 5s to get the future time by which the bottle should be out; if that future time is greater than 84,399s, subtract 86,400 (seconds per day); that is what gets loaded onto the FIFO.


Caveats




* Can FFL/FFU work with 32-bit Longs? If not then it may require two FIFOs working in parallel, or loading and unloading two words at a time (messy) Or you could create a circular buffer and implement a FIFO by keeping track of two pointers: one where the next future time will be added; one where the oldest future time is; if they are the same then there are no bottles under the heater.



Initialization will be a mess; you may need to have a button the operator presses declaring that the heater is empty and that resets everything.



This may not work if you are using MicroLogix 1100 as the clock only updates every 2s, then you would have to fiddle with the free-running clock (10kHz counter; s:4 and/or s:35, IIRC).
 
Sounds more like all you need is a jam timer. Keep a timer instruction continuously enabled. Reset it every time the exit photoeye detects a bottle. If the .DN bit ever comes on you've detected a jam.
You may need another similar timer reset by the entry photoeye to detect bottles moving into the oven to prevent the jam timer from triggering a shutdown when no bottles are actually moving through the oven although turning off or at least reducing the heat when bottles aren't moving might be a useful thing to do.

why do you need BSL? to shift covid out of TX to FL?
I think you would use a BSR to shift covid from TX to FL, although it would go through LA first. A BSL would shift from TX to NM.
 
Last edited:
Sounds more like all you need is a jam timer. Keep a timer instruction continuously enabled. Reset it every time the exit photoeye detects a bottle. If the .DN bit ever comes on you've detected a jam.
You may need another similar timer reset by the entry photoeye to detect bottles moving into the oven to prevent the jam timer from triggering a shutdown when no bottles are actually moving through the oven although turning off or at least reducing the heat when bottles aren't moving might be a useful thing to do.



I think you would use a BSR to shift covid from TX to FL, although it would go through LA first. A BSL would shift from TX to NM.

The problem w/ using one jam timer to reset is it reset indiscriminately every bottles between infeed & outfeed. So if a 4th bottle is actually jammed, it will time out at >5sec.

Well, depending on the eye of beholder looking south or north. TX BSL with a len=5 will shift it to FL.
 
Without knowing more details it's harder to come up with the optimum solution. I was assuming that if one bottle stopped, the bottles upstream of it would also jam up. If the conveyor construction is such that a bottle could pass a jammed bottle, the solution becomes more difficult.
My basic point was that a bit shift or FIFO is probably not the best tool for this particular application. Both of those instructions are based on an assumption that you have information about a specific item that needs to be used to make a decision later. The goal in this application seems to be to prevent any bottle from remaining in the oven too long rather than to reject a bottle that spent too long inside.
 

Similar Topics

Hi, I need some help write a PLC instruction. I am using Proficy Machine Edition 6.5. Our indexing rotating table has 3 nests that are equally...
Replies
15
Views
3,975
hi, having abit of trouble getting the bit shift left to work in logix 5000 all is good except it wont accept my array when i verify It...
Replies
3
Views
4,556
I have this bottling system that uses a SLC 5/04. The PLC code is using a "Bit Shift" instruction to monitor the position of the container on such...
Replies
5
Views
2,940
This is a machine that drops a cup, fills it with fruit, then juice, puts a lid on it, heat seals it, and cuts off the excess lid, and then sends...
Replies
2
Views
2,204
I have an application where I need to detect a bad product on a conveyor, and then reject the bad product off of the conveyor. The conveyor does...
Replies
6
Views
6,641
Back
Top Bottom