Bunt23
Member
Hi all,
I am visiting one of the sites I provide PLC programming support for, and I have come across a request that I've never had before, nor do I have a good "off the top of my head" idea on how to satisfy this request.
PLC: CompactLogix 1769-L18ER-BB1B
HMI: PanelView Plus 1000
Equipment: Enclosed dryer that consists of a chain conveyor belt with 296 trays mounted on the chain.
The conveyor indexes until a tray arrives at the "load window" on one end of the dryer, at which point parts are hand-loaded through the load window until the tray is full. Then, the conveyor belt indexes until the next empty tray shows up at the load window, and then it stops so that more parts can be loaded on, and so on and so forth. There is an "unload window" at the opposite end of the dryer where parts are unloaded in the same fashion.
The cycle time between when a part is loaded to when it's unloaded is generally 8+ hrs to ensure the parts are dry, and the indexing of the conveyor is driven by the cycle time that they set on the HMI. So for example, if the cycle time is set at 8 hrs, and we have 296 trays, the conveyor indexes every 8 / 296 hrs (~about every 97.3 seconds).
We don't have the luxury of having a continuous flow of parts and so they have to load parts in batches, and they will load around ~50 trays at a time, then flex their operators over to run different machinery for the rest of the shift. They can load up a tray full of parts much faster than in 97 seconds, so to load the dryer up faster, they set the cycle time very low (0.5 hrs) so that the conveyor indexes more frequently, then they notate how many trays they've loaded, then adjust the cycle time after they're done loading to something that ensures the parts will have been in the dryer for an accumulated 8+ hours. For example, the process flow frequently goes like so:
-Set cycle time to 0.5 hours so the conveyor indexes more quickly
-Operators load, say, 55 trays full of parts until they run out of parts to load
-Lead operator then changes the cycle time to a longer time so the conveyor indexes slower and such that tray #1 will arrive at the unload window 8+ hours after they began loading
-Scheduling hopes that the lead operator calculates and enters the cycle time correctly based on how many trays were loaded so that they can schedule operators on the next shift to unload the trays when they think the trays will arrive at the unload window.
The lead operator would love to be able to go to the HMI after they've loaded up a batch of parts and just simply enter the exact time they want tray #1 to arrive at the unload window so that they can tell scheduling "hey, the batch of parts will arrive at the unload window at 6 AM tomorrow," and then scheduling can make sure they get staff in position to unload at that time.
So, rather than making the lead operator think in order to set a correct cycle time based on how many trays were loaded, they would just enter an "unload time," and then the cycle time would be automatically calculated to make that tray #1 show up at the unload window at the time they specify.
This post ended up being way longer than I anticipated, and I started it for one simple question:
How in the hell do you allow an operator to input a time value on a PanelView HMI?
The only way I currently know how would be to have 3 numerical input boxes, one for hour, one for minute, and one for AM/PM. I could then take the difference between that and the present time to calculate and set a cycle time that causes the beginning of the batch to show up at the unload window exactly when they want. Does anyone know of a better way to do this?!
Any help would be greatly appreciated. I can't thank this forum enough for the many, many times it has helped me accomplish what I wanted. Thank you in advance!!
I am visiting one of the sites I provide PLC programming support for, and I have come across a request that I've never had before, nor do I have a good "off the top of my head" idea on how to satisfy this request.
PLC: CompactLogix 1769-L18ER-BB1B
HMI: PanelView Plus 1000
Equipment: Enclosed dryer that consists of a chain conveyor belt with 296 trays mounted on the chain.
The conveyor indexes until a tray arrives at the "load window" on one end of the dryer, at which point parts are hand-loaded through the load window until the tray is full. Then, the conveyor belt indexes until the next empty tray shows up at the load window, and then it stops so that more parts can be loaded on, and so on and so forth. There is an "unload window" at the opposite end of the dryer where parts are unloaded in the same fashion.
The cycle time between when a part is loaded to when it's unloaded is generally 8+ hrs to ensure the parts are dry, and the indexing of the conveyor is driven by the cycle time that they set on the HMI. So for example, if the cycle time is set at 8 hrs, and we have 296 trays, the conveyor indexes every 8 / 296 hrs (~about every 97.3 seconds).
We don't have the luxury of having a continuous flow of parts and so they have to load parts in batches, and they will load around ~50 trays at a time, then flex their operators over to run different machinery for the rest of the shift. They can load up a tray full of parts much faster than in 97 seconds, so to load the dryer up faster, they set the cycle time very low (0.5 hrs) so that the conveyor indexes more frequently, then they notate how many trays they've loaded, then adjust the cycle time after they're done loading to something that ensures the parts will have been in the dryer for an accumulated 8+ hours. For example, the process flow frequently goes like so:
-Set cycle time to 0.5 hours so the conveyor indexes more quickly
-Operators load, say, 55 trays full of parts until they run out of parts to load
-Lead operator then changes the cycle time to a longer time so the conveyor indexes slower and such that tray #1 will arrive at the unload window 8+ hours after they began loading
-Scheduling hopes that the lead operator calculates and enters the cycle time correctly based on how many trays were loaded so that they can schedule operators on the next shift to unload the trays when they think the trays will arrive at the unload window.
The lead operator would love to be able to go to the HMI after they've loaded up a batch of parts and just simply enter the exact time they want tray #1 to arrive at the unload window so that they can tell scheduling "hey, the batch of parts will arrive at the unload window at 6 AM tomorrow," and then scheduling can make sure they get staff in position to unload at that time.
So, rather than making the lead operator think in order to set a correct cycle time based on how many trays were loaded, they would just enter an "unload time," and then the cycle time would be automatically calculated to make that tray #1 show up at the unload window at the time they specify.
This post ended up being way longer than I anticipated, and I started it for one simple question:
How in the hell do you allow an operator to input a time value on a PanelView HMI?
The only way I currently know how would be to have 3 numerical input boxes, one for hour, one for minute, and one for AM/PM. I could then take the difference between that and the present time to calculate and set a cycle time that causes the beginning of the batch to show up at the unload window exactly when they want. Does anyone know of a better way to do this?!
Any help would be greatly appreciated. I can't thank this forum enough for the many, many times it has helped me accomplish what I wanted. Thank you in advance!!