Recently, RHZ was tasked with an interesting custom-programming job. The customer asked us to set up some automated routing programming for 24 silos that were filled with product from another machine, and then emptied as product was routed further in production. Traditionally, these silos would be automated sequentially, meaning that first one silo’s program would be executed, and once completed, material would then be routed to the next silo. However, the customer wasn’t operating in high production mode, so they were not presently generating a lot of product. Because of this, they asked if the automation program could be configured to pull the oldest product in any silo first, no matter in which silo that product happened to reside.
Russ wrote an algorithm that calculated which silo contained the oldest product and instructed the system to use that product first. An additional requirement that we were asked to consider was the fact that the product in each silo had an expiration time - after so many hours the product would become unusable. This was incorporated into the program so that the oldest product would be used first, as long as it hadn't expired. If the contents of a silo had expired, that silo would be removed from the usable queue and the operator was given the ability to enable a flush routine to dispose of the expired product from just that one silo. And as a maintenance mode contingency, operators were also given the ability to choose which silo to fill, so that damaged silos could be removed from the queue until repairs could be made.
We quickly completed the programming and are now monitoring the system to verify that it continues to meet all of the customer's operating requirements.