TwinCAT HMI is a powerful web-based HMI platform. With the use of the Beckhoff provided extensions, most of the core functionality that is needed for a typical application is taken care of. Below are 5 (with a couple honorable mentions) extensions that Control Works uses on almost every Beckhoff application, along with a tip or trick for each one.
System Engineering (SystemEngineering + SystemEngineeringUtils)
As the newest extension at the time of writing this, the System Engineering extension has solved the age-old problem of picking and choosing which settings to show on the HMI and how to accomplish this. This allows the operator to prepare values and write to the values, just like in XAE. By using pragmas to determine which settings to expose and a name and description for each, this is an easy way to maintain a settings structure that is easily scalable.
Currently, this is not available by simply browsing NuGet packages. You’ll have to use the command line to install this one. It’s not as scary as it seems! Try a couple of the below commands along with this from InfoSys. At the time of writing this, this extension is still only available in the Beckhoff Testing Feed.
- tcpkg list -n “Beckhoff Testing Feed”
- tcpkg install TwinCAT.HMI.SystemEngineering 14.3.10
- tcpkg install TwinCAT.HMI.SystemEngineeringUtils 14.3.15
After using the CLI, it is possible to browse and install the extension in Visual Studio or XAE Shell.
Recipe (RecipeManagement)
The ability to have a recipe system that can be easily edited outside of the HMI environment is essential these days. With recipes stored as JSON, users can easily modify recipes on the machine and from a computer and both send and retrieve recipes from a machine. A complex datatype can be assigned as a recipe, so it is easy to add or delete items as needed for the recipe to match what is on the PLC.
I would highly recommend starting with the RecipeManagementFilter sample provided by Beckhoff and modify it to best fit your application.
EtherCAT Diagnostics (EcDiagnostics + EcDiagnosticsControl)
Gone are the days of building screens to mimic the I/O on a machine while trying to keep exact I/O points up to date. This extension allows you to see the state of a device with all necessary diagnostics. It also can set the mode of a device and even force I/O.
This is a situation where with great power comes great responsibility. Please make sure that the page with this extension is password protected. Control Works has implemented a way to monitor if anything is being forced so the user can be made aware. Please make sure the proper protections are put in place before deploying this extension!
Scope (Scope + ScopeControl)
As the only paid extension on this list, the Scope extension is absolutely worth the price for a couple hundred dollars. As every controls engineer has probably experienced, it is so difficult to find a good tracing tool on HMI’s. Now imagine, you can have the same tools as in the Scope View in XAE.
Please note from InfoSys:
“To use the TwinCAT HMI Scope Extension, a TwinCAT 3 HMI Scope (TF2300) or a TwinCAT 3 Scope View Professional (TE1300) in combination with a TC3 HMI Scope Server (TF3300) license is required on the system on which the TwinCAT HMI Server is running. TF2300 includes TF3300. This also applies to the engineering system (trial licenses are sufficient).”
InfoSys also has a great chart explaining the different scope options available and the features they provide.
Events (EventLogger)
Even though it can take some time on the PLC side to configure all the necessary events (info, warnings, errors, etc.), this extension gives a full view of the status of events. This provides all information that also exists in the Windows Event Viewer.
The SPT Framework provided by Beckhoff offers a wrapper that makes it much easier to work with the EventLogger. Control Works has taken this one step farther where it is as simple as setting a bit and some optional status arguments to trigger an event. More to come on this in future blogs.
Honorable Mentions
The full list of Beckhoff extensions can be found here.
Reporting and Audit Trail are two extensions Control Works has successfully implemented in the past.
It is also important to note it is possible to build your own extension! While it does require a license (TF2200) and a full version of Visual Studio (make sure to check if you qualify for the free Community Edition!), these can be super powerful and should be able to solve any difficult problems an application may present since these are written in C#.
Beckhoff has provided some samples to make it easier to get started. The Random Value extension is a great way to get started.