Machine and Process Management

Scripts Vs Blocks

An HMI or Touch Panel is possibly the most aesthetic device in a factory because it has animation capabilities and seems inviting for a user to discover it; in contrast with a PLC or a Field Device which looks like it’s best never fiddled with for no reason. HMIs are supposed to be easy to navigate, quickly understandable, show lots of data and yet have very few controls on it – so as not to confuse the user. Just like how we expect an application on our smartphones to be intuitive and efficient, the same goes for the HMI as well.

Panel designers are the ones who design projects specific to the customer. They understand the control system entirely and set the connections between the devices and the HMI. Panel designers are proficient at designing projects with the requirements mentioned above. After all, the end user is an operator who is running the entire show – a wrong click or confusing graphics could even lead to fatal accidents. You might be wondering by now why I’m discussing panel designing when the topic clearly mentions scripts. A lot of these animations, graphics and value updates that we see on the screens are basically scripts running on the HMI. Scripts are extremely powerful and can do many tasks like showing alarms when a value crosses it’s range, duplicating the conveyer belt movement on the screen as animations, automatically changing values of devices depending on other inputs, connecting to the web, etc. You can imagine by now how massive the “code base” must be of an HMI project.

In legacy HMI softwares, the most common way of configuring scripts is by using scripting language like Java, JavaScript, VB, etc. There’s a list of trigger events to choose from like touch inputs, value change, etc and a way to configure scripts for each of these triggers. We get access to objects like variables, graphical objects, alarms, recipe objects, etc in the script area to read or write the values to them.


No Responses

Leave a Reply

  • (will not be published)