We’ve been working with Flow 5.4 for a while. And now, we’re happy to share it with you!
As with every Flow release, and especially so with our service packs, there are many new toys to play with.
Let's showcase a few:
Copy + Paste
New Event Trigger options
Model Attribute Enhancements
Template Measure Retrieval
Template Measure Integration
Copy + Paste
Copying and pasting (Ctrl+C, Ctrl+V) are ubiquitous for PC users. You likely copy and paste text and files many times a day without much thought.
Before 5.4, copying and pasting were possible… to an extent. You could copy metrics and their contained measures within your Flow system. Upon pasting, Flow would duplicate and intelligently rename them.
With Flow 5.4, we’ve revolutionized how copy+paste works. You can copy and paste metrics, measures, events, folders, charts, forms, and even templates within your Flow system.
But not just within your Flow system – you can even copy between different Flow systems!
Think about what that means: you can prototype something in your development environment, and then paste it into your production instance when you’re ready.
When you paste into your destination, Flow will automatically determine how to map dependencies. And if it can’t, you will have the option to intervene and specify the mapping yourself.
Templating has been around since Flow 5.0, and many of you have enjoyed being able to rapidly deploy Flow models to all your plants; comfortable in the knowledge that your KPIs are being evaluated according to your business’ standards.
Until now though, users still needed to recreate their charts.
Now you can create charts that use your template measures, metrics and events. You can even share these charts between your Flow template server and other Flow instances. When you derive a chart that has templates configured within, Flow will look up which measures in your local system match that of the template server system, and dynamically configure the charts for you.
But there’s even more! When you configure a chart with templates, upon opening that chart in your browser Flow will pull through all instances of the templates.
Now you can create one chart and re-use it for all similar production units!
You can even create “linked” charts – think of these as a copy of a “master” chart. You can extend your linked charts by adding measures that you would like to track and optimize. But then, when someone makes a change to the master chart, Flow will synchronize these changes for you. The changes you made to your linked chart will still be there. And the changes made to the master chart will propagate.
Especially useful for those KPI tracker dashboards pushed down from HQ. Now you can add your focused improvement processes' KPIs. And not worry about affecting HQ-mandated reporting.
With more business areas using Flow for their reporting (not surprising, it’s a great tool!), customers have been asking about keeping data confidential. Some information is on a need-to-know basis, so how do you keep such information secure?
With Flow’s enhanced model security, you can ringfence your information at the measure level. Put another way, you can decide which measures must be hidden from unauthorized eyes.
Flow will ensure that wherever you’ve used that measure – be it in an aggregation, in a calculation, in a chart – its information will be inaccessible, even redacted where necessary!
In fact, a non-authorized user may not even realize said measures exist because they’re not displayed in their configuration environment.
If you copy and paste measures between systems, secured measures will not be transferred. Your calculations will always remain YOUR calculations.
New Event Trigger Options
For those of you who use events extensively, kudos to you! You’ve no doubt recognized the potential that events unleash when used in your Flow system.
Perhaps the following scenarios are ones you’ve struggled to implement in the past:
You have a downtime event that relies on multiple data source tags. You've honed the trigger conditions. You even used those Karnaugh maps you’re so proud you mastered in school. But then your customer asks you to build them an uptime event… If only you could just invert your downtime event trigger!
You need to create a separate CIP event when your production event’s state transitions to “Cleaning”. You have an attribute for the production state.
You have a production batch event that starts when it starts. But if the shift ends while a batch is active, you need to end the batch and create a new batch starting at the beginning of the new shift.
You may resonate with some of these scenarios. You may also recognize that this was previously doable in Flow, albeit with some effort!
Perhaps you configured another database to assist with massaging the triggers into the format the scenario required. Or you wrote Custom Expressions, which are exceptionally powerful.
Now, you can configure these scenarios through…configuration. Consider the following solutions to the before-mentioned scenarios:
You can configure an uptime event to start when your downtime event ends and to end when your downtime event starts.
Now you can use an event attribute from one event (e.g., the Production event’s State attribute) to trigger another event (e.g., your CIP event) when the source event’s attribute is set to a specific value.
Configure multiple start and end conditions for your event triggers, even combining triggers, whether based on the calendar, retrieved from data sources, or the state of another event. You can now stop your production batch at the end of a shift and immediately restart it!
Extending the principles implemented for template measures in Flow 5.0, you can now configure template events along with their triggers and attributes.
Perhaps you have configured really cool state events with enumerations and enumeration groups that dynamically record the state of your equipment. You want to roll these out to all similar equipment across your business. Until now, you would have to spend the time configuring these events again and again for each piece of equipment.
Not anymore, now you can do it once as a template event, and instantiate it across your Flow systems.
Model Attribute Enhancements
Maybe you hadn’t given model attributes much thought before. Perhaps you saw them for the nifty and powerful elements that they are. Either way, we suggest you pay more attention to them because they’ve received a power boost in Flow 5.4!
A few of the things we’ve done with model attributes:
In the past, you configured model attributes at the measure level only. Now, you can configure them in events, metrics, and folders.
You can inherit model attributes: configure them in a folder, and all metrics and events within that folder will inherit the folder’s model attributes. Likewise for measures within metrics or events. As you move things around in your model, your model attributes inherit their new parent's values. Talk about organization!
Use model attributes in conjunction with your template measures and template charts to facilitate a reporting miracle – your charts grow and adjust dynamically based on the number of instances you have in your system and are grouped according to the values in their model attributes.
But wait, there’s more… read on
Template Measure Retrieval
Until Flow 5.4, you could configure a template measure of type “Retrieved” (from a data source).
But the tag/query configuration for the retrieval needed to be done in the instance measure. That wasn’t too bad – just a single additional step. But when the change that you needed to make many times was changing a single digit in a tag name, or changing an equipment number in a database query, it could get monotonous and time consuming.
Especially since you could see that the change you were making was right there in the measure name…
With Flow 5.4, take the monotony out of configuring multiple related measures by using model attributes. Model attributes serve as placeholders in tag names, queries, and even in custom expressions.
Let’s say you have 3 boilers, each with a temperature transducer (TT) and steam output flow meter (FV):
The temperature tag name is “BL00xTT00x.PV”, where x is the boiler number
The steam flow tag name is “ZT00xFL001.PV”
You can create a template metric named Boiler, with a model attribute named “Equipment”, which you will set to 1, 2, or 3 for each of the three boiler instances respectively.
Then add two template measures as follows:
1. Boiler Temperature, with tag name BL00[ModelAttribute(“Equipment”)]TT00[ModelAttribute(“Equipment”)].PV
2. Steam Output, with tag name ZT00[ModelAttribute(“Equipment”)]FL001.PV
The child measures inherit the metric's Equipment model attribute. So this model attribute is accessible from within the configuration of the measures.
When you deploy the measures for your three boilers, the Flow Engine will automatically substitute the model attributes in the tag names, and fetch the correct values from the data source.
Template Measure Integration
When setting up replication from one Flow system to another, such as from your plants to your headquarters, you can now configure this integration from within template measures.
Let’s say that your Boiler template (from above) was actually derived from your HQ’s master boiler template.
Your plant (Plant Acme) has three boilers. Your sister plant (Plant Beryl) has four boilers. Both plants use the same boiler template and need to replicate the steam output values to Flow HQ.
In Flow HQ, the boiler template has been instantiated seven times – three times for Plant Acme and four times for Plant Beryl; and the measures’ types have been changed to Replicated.
Until now, you would have to configure each of your three steam output measures to replicate to the corresponding HQ measures. Since Flow 5.4, you can configure the template measure to which you wish to push the values to.
But here’s a problem: that template measure has been instantiated seven times in Flow HQ. How will Plant Acme’s second boiler steam output values get to the correct HQ measure?
Enter model attributes…
Using the configuration, when Flow HQ receives values from Acme’s Boiler 2, it will determine that there are seven possible recipient measures. It will then look to see whether there are matching model attributes that may be used to pinpoint the correct recipient measure.
Thankfully, you read this blog, and added model attributes for Equipment and for Plant Name; and you made sure those model attributes were configured in Flow HQ.
Flow HQ uses the matching model attributes to find the unique measure to replicate Acme’s Boiler 2 values into.
Those were just some of the enhancements in the latest version of Flow. Other features include:
Support for Windows 2019
Use of .NET Core 3.1 & .NET Framework 4.8
A spanking new data source for Influx DB
The ability to configure minutely measures that are a minute long (Yes. They were a minimum of 5 minutes before this)
Go ahead, check out the Release Notes to see what else we’ve packed in the box!
Download Flow here and play.