by Jim Connett, on October 24, 2019
Breathe New Life into Your MES with These 5 Extensions
My work with the WorkStream® MES application has given me the privilege to serve organizations worldwide that use many types of programming languages. I’ve seen well-constructed programs that accomplish amazing tasks with great efficiency, and I’ve seen some programs that are one keystroke away from crashing into a disorganized pile of ones and zeroes. While we can debate the benefits of one programming language or application over another, or the advantages of using functional instead object-oriented design (or vice versa), I have found one common thread among stable, quality applications. It’s not the language used…or the age of the language…or the size of the application. No, the defining quality in enterprise-level, long-life applications is extensibility.
The web browser serves as a great example of extensibility. At its core (and at the risk of extreme oversimplification), a browser is an application that sends requests out to the internet, receives replies, and presents the information as received to the end user. That’s it; it’s really quite boring.
But, as we know, a web browser is essential to our use of the internet. Over time, the browser plug-in industry has increasingly matured, allowing the end user to customize the core browser engine into something that is functional, usable, and tailored for a specific use. I often find myself browsing plug-in and extension lists for my favorite browser, and more times than not, I’ll find an interesting plug-in and install it, surprised that the browser could do such a thing. The core application stays the same, but users can add their own features to the core application, essentially creating a new version of the application with capabilities selected by the end user. The core is so stable and well-constructed that it can bear the weight of extensions.
Did you know it’s possible to add extensions to WorkStream as well? The word “extensions” has a little bit of baggage in this context in that adding extensions to WorkStream is not something that can be delivered on a USB key or downloaded and installed from a githubforworkstream.org-type repository. But…extensions can be added. SYSTEMA has been adding custom capabilities to WorkStream for many years, increasing value to WorkStream MES models in companies around the world.
While githubforworkstream.org is (not surprisingly) an available domain name as of this writing—and I could argue that the manufacturing world could benefit from some type of repository to store our shared experiences and ideas about WorkStream customizations—it may be easier for now to short-circuit the whole GitHub thing and share directly with you some of the modules and capabilities SYSTEMA has developed and released to our WorkStream customer base over the last 25+ years.
The list of WorkStream extensions below comes with a few caveats. First, as stated before, adding capabilities to WorkStream is not simply plug-n-play, and as a developer, I never view modifications to WorkStream as a trivial act. Even the smallest change requires careful attention in order to meet requirements and use cases. Second, some of the extensions listed below are easier to implement than others, with most of the work occurring in integration. Finally, many of these customizations depend on a properly modeled MES in WorkStream. In cases where the model is less mature or more abstractly defined, modifications to the MES model may be required for successful implementation.
Process capabilities (PCAP) is a massive topic with wide-reaching implications for material quality, utilization, throughput, labor costs…the list is endless. Simply put, a PCAP defines a configuration for a specific process.
Some tools can be configured to process more than one material type, but the tool can only process one material type at a time and must be set up to do so. When WorkStream is extended to use PCAP and a tool is not offering a specific capability required by the material at a given station, the material is essentially blocked from running until the tool offers the correct configuration to process the material.
A PCAP model can also control material counting (for example, start at 300, subtract from this number by the number of widgets processed until the count reaches zero, then disable the capability) and capability due dates (which manage configurations that can deteriorate over time). If properly modeled in WorkStream, PCAPs can also be excluded from certain material (such as qual or dummy processes).
Paired with EDDi (SYSTEMA’s Event-Driven Dispatcher), process capabilities can be integrated into the dispatching model so that lots unable to be processed on a tool (due to a PCAP state) are placed at the bottom of the tool’s dispatch list while runnable lots are placed at the top, in plain view of the operator.
The exciting thing is that the possibilities described here are truly just the “tip-of-the-iceberg” when extending WorkStream using process capabilities.
A reliable timer system is important for product quality. Timer configuration is driven by existing route operations defined in WorkStream.
A whole world of timers awaits you (and your operators):
WorkStream isn’t an island—transactions often need to trigger other systems to take additional actions. In a message-oriented environment (TIBCO Rendezvous®, ActiveMQ®, etc.), it is crucial to be able to publish information from transactions to the message bus in order to communicate with a subscribed destination(s). We use custom programs and integrate direct messaging to the bus in order to simply call a communication routine from source code and pass parameters by reference, which then push the message in the right format onto the bus.
Versioning is most beneficial to production control and QA staff. With version controls, it’s easy to go back in time and see exactly what route/product/operation was valid and active at a given point in history. Unfortunately, no concept of versioning exists in WorkStream. WorkStream uses a “current-version-only” model where the current versions of products, routes, and operations are the only objects “active” and known by WorkStream. Changes to any product, route, operation and/or any of the context information contained therein simply replace the old and add the new. We have experience in modules that implement basic versioning of these components, including an approval/workflow model. We also have an external application called ELSA (Electronic Lot Setup Application) that provides advanced version control for many components in WorkStream.
Most capabilities added to WorkStream require some type of user screen to drive the new capability. WorkStream screens require supporting field and attribute libraries to populate the extension’s code and drive the new feature(s). These screens are then attached to the four-letter verb menu system so that the new capabilities can be easily accessed by the end user. WorkStream has an MVNS verb (move-out non-standard). So, how about a MINS verb (move-in non-standard)? I can’t really think of a use case for this feature, but it can be added. Or how about a brand-new function, like MCFE (make coffee). I have hundreds of use cases for this verb!
Do any of these extensions pique your interest? If so, let’s talk! Contact us at firstname.lastname@example.org or add a comment right under the blog post and let’s see how we can help you build and integrate extensions into WorkStream to advance and extend your MES and add value for years to come.
Never miss a blog post again!