Design Like a Pro: Developing & Deploying Perspective Applications as HMIs

Explore the Possibilities of Perspective Workstation

56 min video  /  48 minute read View slides
 

Speakers

Don Pearson

Chief Strategy Officer

Inductive Automation

Kent Melville

Sales Engineering Manager

Inductive Automation

Since its release in 2019, Ignition Perspective®️ has enabled users to quickly design first-rate, mobile-responsive industrial applications and launch them on mobile devices and web browsers. Now, the new Perspective Workstation feature also makes it possible to quickly launch native Perspective applications on workstations, HMIs, desktops, and multi-monitor setups without needing a third-party web browser.

Perspective Workstation truly brings all of the power of Ignition Perspective to the plant floor. In this webinar, you’ll get to see the big picture of what this new feature does, and you’ll get a detailed look into how it works and what your industrial organization can do with it.

  • See how quickly you can build screens for mobile devices, HMIs & desktop workstations
  • Learn about multi-monitor setups
  • Find out how to stay more focused with kiosk mode
  • Get tips for design and navigation

Webinar Transcript

00:00
Don: Welcome to today's webinar, Design Like a Pro: Developing & Deploying Perspective Applications as HMIs, where we will be exploring the possibilities of Perspective Workstation. And I want to thank everyone for being here today. My name is Don Pearson, I'm Chief Strategy Officer here at Inductive Automation, and I'm here to be as moderator on today's webinar. Just a quick look at the agenda, and I do have to say I'm really excited about this agenda. I got a chance on our dry run to listen to and see Kent's demo, so I think you're in for a good treat today.

00:35
Don: I'm just gonna briefly introduce the Ignition software platform, and I'll introduce today's other speaker, then we'll give a quick overview of the new Ignition 8.1 release, and a quick overview of Perspective Workstation. Then we'll have an extensive demo, which I just mentioned, of Perspective Workstation. We'll give a few closing thoughts, and then we'll finish up by answering your questions.

00:58
Don: Ignition, our software platform, turned 10 years old this year. It's used by 54% of Fortune 100 companies, I think over 30% of Fortune 500 companies. And our customers, they're using Ignition, frankly, because it provides a universal industrial application platform for their HMI, SCADA, MES and IoT needs. Some of the bullet points on this are differentiators for Ignition, which you can see here, its unlimited licensing model, cross-platform compatibility, IT standard technologies, scalable server/client architecture, web-based, web-managed, web-deployed designer and clients modular convertibility, rapid development deployment tools. And you wanna learn more about it? You can go to inductiveautomation.com, and there's plenty of information there.

01:49
Don: Our presenter today is Sales Engineering Manager Kent Melville. And rather than me doing it, Kent, I'm gonna give you a second to introduce yourself.

02:00
Kent: Perfect! Thanks, Don. And as he said, I'm Kent Melville. And as a Sales Engineering Manager, I get to meet with customers all over the world, helping them identify their requirements, and tackle the big problems of how to implement solutions and how to follow best practices, what kinda architecture they should implement. So it's fun, I get to tackle all different kinds of things in all different kinds of industries, and I gotta be a technical expert on everything, including today, Perspective Workstation.

02:28
Don: Thanks, Kent. Totally appreciate your time today. And also, I wanna say that I think Kent will agree with me that this is... This really is an exciting time for us here at Inductive Automation 'cause we're about to release Ignition 8.1. We know that a lot of you have been looking forward to this release along with us. We've had release candidates start... They started coming out in September with our ICC this year. I want you to all know that I am making the first full announcement right this moment that we are releasing the stable version on Monday, which I believe is the second of November. The stable version of 8.1 comes out Monday. It's a big release, lots of new features. But I actually think we can sorta summarize it in just two words, and that is stability and performance. That's the focus of 8.1.

03:22
Don: You see, stability in the fact that Ignition 8.1 is the first long-term support or LTS version of the Ignition 8 platform, that means it will be providing improvements and fixes for 8.1 for five full years from the date of release. And we will continually enhance 8.1's performance by making improvements to the software during that particular life cycle. So when you think about that, I think that 8.1 is worth noting, including many security and quality of life improvements that are overall just for the Ignition platform.

03:58
Don: A couple of them in bullet points here is the new Quick Start option. It helps Ignition newcomers get up and running fast with simple tutorials and automatic configurations. Also, we've improved the tag browser so you can easily access and analyze historical tag data without having to do additional development. In the Ignition 8, we had Identity Provider Support for the Perspective module only. Now, in 8.1, we've brought Identity Provider Support to the Ignition Gateway, Designer and Vision Module. That will help you better secure all of the Ignition projects across your enterprise. And we now maintain an official supported image on Docker Hub. This allows you to use containers to help you start developing more quickly, and handle multiple instances, servers and gateways more easily than before.

04:50
Don: However, some of the biggest changes in 8.1 have been made to the Ignition Perspective Module. Ignition 8.1 introduces three major new features for Perspective. First, Perspective Symbols, which have dynamic data models that make it easy to bind them to process values, as well as built-in animations that automatically change based on your data. There's Perspective Power Chart, which lets you easily generate ad hoc charts within a Perspective session along with many other features. And of course, Perspective Workstation, which is the main focus of today's webinar.

05:28
Don: Up to now, Perspective has been primarily used to build mobile-first industrial applications in HTML5 and CSS3 using drag-and-drop tools. And if you needed to build a dedicated plan flow display or HMI, we recommended that you use our Vision Module. With the addition of the new Perspective Workstation feature, however, Perspective is taking the next step in its evolution: That Perspective module runs on the Ignition Gateway, and that's where you create projects.

06:00
Don: When we introduced Perspective with Ignition 8, we provided two ways to launch clients. First way is with modern browsers like Chrome, Firefox, Safari, et cetera. The second way to launch is mobile, through the iOS and Android apps. The mobile apps allow you to utilize the device's features such as your sensors, GPS, camera, accelerometer, and so on.

06:23
Don: Now, with Perspective Workstation, we've provided a new way to launch Perspective clients, which is to launch them on industrial workstations without needing a third-party web browser. It runs. It's just a desktop application, therefore, it has a launcher. For those who are familiar with Ignition, it's very similar to the Designer Launcher or the Vision Client Launcher. It is licensed so that you can get Perspective for module-only, for browsers-only, or workstations-only, or you can get it for all three.

06:54
Don: You can choose to view Perspective Workstation in windowed or kiosk mode, either when you launch it or by switching modes within a running session. The kiosk mode provides a full-screen view that locks down access to the OS. It lets you eliminate distractions from the OS or from web browsers, but it can talk to the OS natively. If you're working with projects that have URL links, you can block those links or control how they'll open. So the kiosk mode is a great solution for HMI terminals.

07:26
Don: Perspective Workstation also brings another highly-requested feature, which is support for multiple monitors or displays. It's easy to configure what you want to see on each of your displays, and it makes it easy to do that, and you don't have to do it, you have to do anything. You don't have to move browser tabs around to different screens. You can simply tell Perspective which page goes where. These features are really helpful for control rooms and other, of course, multi-monitor environments.

07:56
Don: So that's just a quick overview of how Perspective Workstation brings the power of the Perspective module into the world of the HMI. And now, to show you how that really works, and he helps you with the possibilities, I'm handing it over to you, Kent.

08:11
Kent: Perfect! Thanks, Don. And yeah, I do wanna echo that I'm really excited for Monday with this release of 8.1, and especially for this Perspective Workstation addition. And Perspective Workstation, there's a lot of things it is and a lot of things it isn't, and I wanna do a demo today to show you how it really works and how it could benefit you. And so first off here, some of the things we're gonna talk about, we'll talk about the configuration of Perspective Workstation. We'll talk about how it's deployed through the launcher. We'll talk about what are the differences between running it in a browser versus in workstation mode. We'll talk about multi-monitor set-ups, so I'll show you a video of that in action 'cause it's hard to show you live multi-monitor set-ups when I'm sharing a single screen for the webinar. We'll talk about navigation options. We'll talk about design, and get into a little scripting at the end.

09:00
Kent: So with that all being said, I'm gonna go ahead and come to my desktop here. And so I'm just running Ignition on my local laptop here, working from home, like many of you, I'm sure. And I have Ignition installed, like I said, I'm just running a local host. And what I've installed here is rc3 of 8.1. And so if you haven't had a chance to play with this, where you can get this is just on our website. In the top right, you can go ahead and go to Downloads and right at the top, there's a little banner that says, "Looking for trying the new 8.1? Download here." So I highly recommend you check it out, if not today or this week, certainly, Monday, grab the final release.

09:45
Kent: But when you install it, it looks pretty similar to Ignition 8. It still has home status and config, but right here on the home page, the layout's a little different because we've added, right here, the ability to download Perspective Workstation. And it's the same as if you download the Vision Client Launcher or the Designer Launcher. You can still get to your normal Perspective screens to launch in a browser down below. And on this gateway, I have two projects. One is the sample Quick Start Project that is a new feature of 8.1. When you do a fresh install of Ignition 8.1, it will prompt you whether or not you want to install in Quick Start mode. And if you do install in Quick Start mode, it will have a built-in SQLite database for you. It'll have a connection to a simulated device. And it will have this pre-built project for you. Certainly, feel free to check that out. And I also created a special project today called Workstation Demo that I'll be using to highlight some of the features of Workstation.

10:55
Kent: To get into this, if you're on that homepage, and I go and I download Perspective Workstation, then it's gonna have a little application that comes like this and it looks like this. So if I go ahead and click that, you'll be able to see the Perspective Workstation Launcher. And before I get too deep into this, for those of you who may not be familiar with Workstation, if I go and launch Perspective and just launch with these projects, you can see it just opened a new tab. I'm running directly within my web browser. And when this comes up here, I can navigate around. Perspective is just this modern tool that you can build any kind of screen you want. And if you wanted to see more of this project in action, we certainly have our other resources online like the community lives we do where you could come and see a bigger demo of this project. But yeah, this is Perspective, it runs in a browser, and it gives you the ability to create different kinds of modern displays.

12:00
Kent: But people said you know, "That's great! I like running in a browser. I like all these new technologies for responsive development, and just a more web-focused design," but I said you know, "I don't wanna be running in a browser. I need this to feel like a native application running on a computer, maybe on a computer that doesn't even have a browser." And so I need it to function more like Vision. So I want the best of both worlds. I want all of the flexibility and modern technology of Perspective, but I want it for a desktop application like Vision. And so that's where Workstation comes in.

12:37
Kent: And so if I come back to this Perspective Workstation Launcher here, you can see that now, I'm not in a browser, I run an application on my computer. I connect it up to a gateway. I've already connected to my gateway, so I can see those two projects that I was just showing you. And if I wanted to launch the same sample Quick Start project, I can just click on it and say Open Application, and this will be your first look at Perspective Workstation.

13:05
Kent: Here, in a second, it is going to pop up for me. Naturally, when I do a live webinar it takes a little bit longer than normal. As this comes up you'll see that it doesn't open in a browser, but rather is gonna come up and take up my full screen. Here, as it comes up it goes through the same log in process. It's still Perspective, behind the scenes, as you know. And then when it has all these resources loaded it displays it here. And so I have my Quick Start project, and I can still navigate around, still do all the same things, but you can see that it's in a window.

13:43
Kent: I'm not running in a browser, it's its own thing, and so just right there you already have kind of a step towards it feeling like more of a native application. But with Workstation, this is what we call windowed mode, meaning I could click on the top and I can drag this around. This is just a window that opened up on my OS. And if I go ahead and close this then within my Perspective Workstation Launcher I can click on these three dots here, it brings up a little menu, and I could go to manage.

14:15
Kent: Before I do that, I do wanna note, you don't have to come into this Launcher every time. You could come here and create a shortcut, so there's just a specific shortcut that you click on that goes directly to a specific project, or I could add this to favorites, export, delete. A lot of the same features exist for the Designer Launcher, and Vision Launcher, and things like that as well. But I'm gonna come to manage, and from here I have a lot of different settings that I can affect for how Perspective Workstation is gonna run. And so the first one is this launch mode. And like I showed before, we launched in a windowed mode.

14:50
Kent: I could switch this to a kiosk. Let's go ahead and do that. And if I launch the application again, then this time when it comes up it is going to, rather than being in a windowed mode, where I can drag it around, I could minimize it, this is gonna come up as a kiosk, meaning it's gonna take up the full screen. And right now, if you want to get out of full screen mode then you can do control W, and that will minimize it essentially, or take windowed mode, but yeah, this is it. Now you can see I'm in full screen mode, I can't click down from the top and move my window around.

15:33
Kent: It's full screen. And like I said, if I hold control and hit W then it'll switch me to windowed mode, and then I could actually get out of the application. Right now, that kiosk mode is really just making it full screen. In the future, a future release, a minor release of 8.1, kiosk mode will also include the keyboard interrupt, so that you can prevent control, alt delete, alt tab, all those kinds of things, so that a user cannot exit the application to get back to the OS. That's not in the initial release of 8.1, but that is gonna be in a future release.

16:09
Kent: The next setting that I can affect here is, how do I handle when I want to click a link that opens up something else? And so to show you what I'm talking about, for example, we have a layout screen, and these layouts are URL links that go to another Ignition project. And so if I come and I click on that you can see that right now that opened another tab, and I'm able to access that project. But when you're in workstation mode we give you some flexibility of how you wanna handle external links like that.

16:47
Kent: And so if I come into my configuration for my sample Quick Start project again, if I have this set to system browser, then it'll function the same way where if I click a link it'll then open up in my default browser on my OS. But maybe, I'm in kiosk mode and I don't want them getting out of Ignition, and so we also have options to open up in the window. And so that'll just open up directly there inside Ignition, and then lastly, we can just block them entirely so that they can't click on any of those links. Just to show one of those in action here, if I say okay, and I open that application one more time, then I'll go to the same links within layout, and you'll see that when I click that it will just navigate me to that link directly inside workstation mode rather than opening in a separate tab. Yeah, so here it comes up. We're in kiosk mode still. Here we go. And so I'll go ahead and go to layouts and click on one of these, click open, and you can see that now I'm still in full screen mode. It didn't need to open up my system browser.

17:56
Kent: It doesn't rely on the system browser at all. It just pulls it up directly inside Ignition, and now I've got this there. So those are the first main settings that you'll set within Perspective Workstation. You can also do things like changing the description, how it appears, all that kind of stuff. Another big thing that Ignition supports is exporting the configuration within Workstation. When you do an install of Perspective Workstation, by default, then you need to come in and add applications, connect to a local gateway, grab all these, and then you might need to configure what are your settings as far as kiosk mode, all that kind of stuff.

18:39
Kent: Well, maybe you don't want the users to be responsible for that. Certainly, you can provide, just like with the Designer Launcher, or Vision Client Launcher, you can provide config files that can just be loaded in, whether it's for all of your projects... I'm sorry, generally, I could export the entire launcher config, or you can do that for individual projects, coming here and exporting, or from the manage page you can export.

19:04
Kent: So that's another thing as far as deployment is concerned. You can install it from the gateway, you can also install it from a command line, and that supports arguments like debug ports, and all that kind of stuff as well. But, yeah, you're gonna be able to import those configurations to speed up this configuration process. The next and final configuration point that I wanted to show for Perspective Workstation is this page config. And so page config is where you specify when I have multiple monitors, what do I want to display on each one? And so it detects that right now on my computer I have my laptop, which is display one, and I have an external monitor, which is display two. But maybe you've got nine of these. It's a big industrial workstation with a bunch of different displays. And how do you know which display is which? Well, you can come up here, click this Identify Display button, it'll show the number on each of the displays of what it sees as one, two, three, and so on.

20:07
Kent: So once you've identified which displays you wanna put what on, you're gonna come in and you're gonna specify a page inside Ignition. So on my display one for this project, I'm displaying my root, my home, and I am displaying nothing right now on my second display. So this is just a single-monitor application. And if I did have multiple monitors defined, I set one to be a primary display, that's where you're gonna be prompted to log in and those kinda things. So this isn't that interesting, because this one I'm not using for multi-monitor, but if I come to my Workstation Demo and go to manage that one, go to my page config, I've got this set up so that on my homepage here, or my display one I'm gonna open my home page, and on display two I'm gonna open a page called Office. And so it always prompts me to log in here, and now my second display it'll have another screen.

21:02
Kent: And so to show that real quick, I'm gonna go ahead and say Okay and I'm going to launch a Workstation Demo. And once again, you're only seeing one monitor here, so as soon as I show you this real quick, I'll go ahead and play a video. And in that video, you'll be able to see the same demo project in action, but you'll be able to see all the monitors it wants and see the interaction between them. Here we go, it is launched now. You can see that... So this one I have security enabled for this project, so I'll go ahead and be prompted to log in here on my primary monitor. And once I've logged in, it launches my home screen, which in my case is just a map, and I have two circles, one being our new office in Folsom, California, one being our old office in Folsom, California. And I might have another screen, and as I click these, it affects what's on the other screen. And so since you can't really see that from here, what I'm gonna do now is I'm gonna switch to a video, it's just two minutes long, that shows this project in action.

[video playback]

22:09
Kent: So let's show off the Perspective Workstation for a multi-monitor display. So here you can see I have three monitors in front of me. Let's go ahead and launch the Perspective Workstation Launcher, and from here I can see the projects I've added for my local gateway. If I go to Manage Workstation Demo and go to the page configuration tab, I can see which pages I've set to come up on each display. We also have an Identify Display button so that it's very clear which of the displays you're assigning on page two. It's also worth noting here that you have the ability to select which is the primary display. This is where you'll do actions such as logging in.

22:47
Kent: So let's go ahead and launch Workstation Demo and see this in action. When it launches on my primary display, I can see the prompt to log in, and on my other displays I just see it waiting. So I'll go ahead and log in. And so first it comes up on my primary display, my other two show Loading, and then quickly, you'll see that they actually show the pages that I have assigned them. On this project, I have, on my primary display, a map. And on the map are two circles, one orange, one blue. Orange represents our current office in Folsom, California. The blue represents our old office in the Palladio. And when I click on these circles, rather than doing some navigation action on my primary display, I'm going to have it navigate my secondary display over here. And so if I click this orange circle, you can see that my secondary display now shows New Office, though we've been here for three, and hopefully many more, years. As we go to the second circle, the blue circle, now we see it's the old office and we were there for five years. And so by clicking items on my primary display, I am able to affect what is happening on my secondary display, so that you can build cool, interesting projects with our new multi-monitor support within Perspective Workstation.

24:13
Kent: Alright, we are back. And so, yeah, from there, you could see that within Perspective Workstation, when you've specified those different pages, then it can open up on different screens, and you can even affect things that are on different screens from another. But how does that actually work? How do you actually build that out? Let's get into the Designer and show off a little bit of that. Yeah, we'll exit out of this, and minimize that, also get out of the web browser. And now we're gonna go ahead and launch the Designer Launcher. Once again, the Designer Launcher, very similar to Perspective Workstation Launcher. And so in my case here, I've got a bunch of gateways that I connect to often. But my local host right here is one of my favorites, so I'll go ahead and open that Designer.

25:02
Kent: And from the Designer, some things that I wanna highlight. One, I'll show you how I built this project out. We'll talk about pages, what is a page versus a view, if you're not familiar with Perspective. And then show you the page configuration, how that works. And then we'll get into the screen design just briefly, and then we will talk about how to handle things gracefully if sometimes a project is gonna be viewed in a browser and sometimes it's gonna be viewed in Workstation, how that all works together. Lastly, we'll get in and we'll show, well, one, passing parameters from Workstation Launcher, and also we'll talk about scripting.

25:46
Kent: So if I come in to my Workstation Demo project in the Designer, as this comes up here, actually it's probably worth me noting for those of you who aren't familiar with Ignition, this is our design environment, comes with the software. You don't pay for it separately, it's a multi-developer environment, meaning that you can do concurrent development, you can have multiple developers all logging in working on the same project, same time. And it's where you do all your configuration, from configuring your tags, your alarms, your screens, all that kinda stuff. So your reports. Yeah, a unified development environment. And as you add more modules to Ignition, it just unlocks more functionality inside this design environment. But it is launched now. And so an orientation real quick to this. We have different workspaces that you can go into. So right now we're in the Perspective Workspace, but if I switch this to Vision, then you'll see it changes what kinda options I have, what I can build, that kinda stuff. But today we're focused on Perspective, so I'll stay in this workstation.

26:53
Kent: And it's also worth noting... Oops! I accidentally went to SFCs. Here we go, Perspective. So from here, we start off on the main config page. We often refer to this just as Page Configuration for Perspective. And from here, there's a couple of things I wanna highlight. The first off is, inside our project browser, we have things called Views, and those are the actual screens you develop. But from the Perspective Workstation Launcher, you don't reference individual views. Instead you reference pages. And so my home page, which has just been that slash, I have mapped through this page configuration to be a URL that's just a slash, but my primary view being page/home. And it also allowed me to define a header and a side menu right here on the page configuration. And I also have other page configurations to go to an alarm screen, a chart screen, and to my office page. So that's where you're gonna grab the URLs that you're going to use inside the Workstation Launcher. So you can see here, if I go to page configuration, I have a slash. That slash is referencing this slash on my page config, and then this /office is what is being referenced by /office here for display two.

28:15
Kent: So the next piece of this is the actual screen that I built. So if I come to my home screen here. And what I want to do is I wanted to have the ability to have a map, and I wanted to be able to click on different elements and have them give me some information about those sites. And mine's really simple, it just shows me how many years we were there, but for you it may be any alarms at that site or any data or whatever. In my case this is just a Perspective Map component, and on the Perspective Map component, under UI, we have markers. And for those markers, I've given it a latitude and longitude, and so on. But with these I wanted it so that it would change something on a different monitor, a different display. But what if I am running directly in a browser? Because of that, I have a script that I'm saying, Alright, if I'm running in workstation mode, then I want to do something to write to another screen. Else I know I'm in a browser or on a mobile or something, and in that case I just wanna open a pop-up on this current screen.

29:34
Kent: So to show you that in action, if I come back to my browser here and I go ahead and launch Workstation Demo. Same thing, prompts me to log in. But now, since I'm not in Workstation mode, not using the Workstation Launcher, this project is just gonna launch on a single screen. And because I have my if statement in there, if I click on these, I instead get a pop-up on the screen that shows me the details about that site. And so you're gonna find yourself, when you're trying to create things that need to be both used in Workstation on multi-monitor displays but also used in a browser or a mobile device, then you're gonna have these if statements throughout your project. And maybe that the projects you're using for Workstation are their own projects anyway, and so you absolutely can develop just completely separate projects for what would run in a browser, what would run on a desktop. But if you want one project to do both, you certainly can.

30:35
Kent: And the real key to making that happen is that if I come back into the Designer and I go to my page config again, we have these session properties over on the side. And these are all different kinds of information that I can see about Perspective when it's launched. And these are visible in the Designer, but these are also accessible via bindings and scripting from inside your normal screens that you build. And so if I come down to Device, I can see a type property here. And right now, mine is set to Designer because the device that I'm running this on is a designer that I'm running it in. But in this drop-down, you can see the type of device. I could also have this set to iOS or Android if I was running in our mobile app. I can have it in the browser if I'm running in a browser.

31:32
Kent: And last but not least, we have Workstation. And so if you're trying to figure out if your client is running in a browser or workstation or a mobile app, you're just gonna need to reference this property. And so that's what I'm doing on my homepage here. If I go back to that script, Configure Events, On-Marker Click, meaning I clicked on one of my markers on my map, it's gonna check my session property, its device type, and I'm gonna say, If it's workstation, then I wanna do something to have it happen on a different screen. Otherwise, I'm just opening a pop-up on my current screen. So hopefully that makes sense.

32:12
Kent: But now, let's talk about how I'm actually reaching out to a different screen. Well, that's not something that's unique to Workstation 'cause you could have had multiple tabs open before, things like that. So we already have some features built in that help you figure out having something affect in a different location than where you're clicking the button or doing the action. And so what I'm using here is called a message handler. And a message handler is a script, a listener, that you can put anywhere inside your project, and then from somewhere else you can use a Sent Message script to call out to that message handler and pass it some kind of payload. And I won't get too technical going deep into this, we have a lot of documentation that walks through message handlers on our user manual, so you can go check that out. But essentially what I'm doing is I see that when I have clicked on a marker, it gets me the name from the event. So it's giving me the name of the marker that I clicked on. In my case, that's gonna be my office name, so I'm taking Office, giving it an event name, passing it as my payload to whoever is listening in this handler called Switch Office.

33:31
Kent: So now to show you where that listener is, that I'm passing this payload of which office I'm looking at. So if I come to my office view here, then right now it's just blank 'cause I don't have anything selected, I don't have an office chosen. It's getting passed in as this parameter here, and I have an office thing, and so if I came in here and typed New Office, for example, then... Oh well, I have to... Case matters here, 'cause I have some bindings. But so I typed in New Office and now it shows that here. If I get rid of that parameter, then once again it'll be blank. But what I wanted to show is on the root container, if I go to Configure Scripts, then I have this message handler here under Scripts called Switch Office. And this is what I was calling from my script event on my marker, so on my map. And so all that the script is doing is, first of all, it's listening. And I could have it just listening for anything that came from the same view or from the same page, but in my case it's coming from somewhere else in the session, a different monitor. And so I'm listening at the session scope, and all I'm doing is I'm taking what comes out of the payload, I'm taking that office parameter that comes in, and I'm assigning it to my local parameter on my view, office. So a really simple script.

34:56
Kent: And so you could have a message handler anywhere in your project you want. Let's say you're on a session scope, and then any time you have a button or an action or something that's supposed to do something on a different screen, you just call that message handler. And I don't need to know which screen it's on, I don't need to know anything like that; I just need to know the name of the message handler, the message type it is. So yeah, pretty simple. And that is going to allow me to dynamically, from home, check to see if I'm in Workstation mode. If I'm in Workstation mode, I'm gonna call out to that message handler and I'm gonna pass it some parameters.

35:33
Kent: And so that's cool, but how I have this set up right now is that Office doesn't have a default. So nothing shows up there. Maybe I do wanna have a default from a specific workstation. So I wanna pass in a parameter when I assign my page. So if I come back to Workstation here, I'm in Manage, you say, Alright, in my page config here, I want to open Office on my second display, but I also wanna pass in a parameter that specifically I want it to default to New Office. How do I do that? Well, once again, you don't need something special in Workstations to do that, those kinda features already exist in Ignition.

36:16
Kent: So what I'm gonna do here is come back to my Designer, go back to my page config, but this time rather than just having a page URL that's /office directing to my Office view, I'm actually gonna create a new one here, and I still want it to be /office and I still want it to point to my Office view, but I'm going to add a /: Office here. Maybe you didn't know that this existed, but within your page URLs if you do a colon and then a name of something, it'll take whatever goes into that URL and it will pass it as a parameter for whatever parameter matches this name. So in my case, I had that parameter called Office, and so if I do this, anything in that URL that comes after office/ will be passed to that office parameter.

37:15
Kent: So I'll go ahead and save this now. Alright, that's saved. And now I'm gonna go back into my Perspective Workstation, go to Manage, go to page config. So now instead of just going to /office, I'm gonna go to /new office. And so it's gonna take whatever comes after office/ and this New Office is gonna be passed as a parameter to that view. So I'll go ahead and say Okay. And now I will... It's gonna be hard to demo this because I can't really show you my different screens, but if I were to launch this now on my secondary display, it would default to New Office. I'll see if I can drag that over, but, yeah, so it's really easy to then pass parameters. And you can do like /: Office, /: Something else, /: Something else, to pass as many parameters as you want as part of the URL into Perspective. Yeah, that's how you pass parameters. And we'll see if I can show it to you real quick. So that comes up, this is my primary screen. On my secondary screen, it's not letting me pull that over. So you'll have to take my word for it that the secondary display just comes up now, and that I'm able to pass that parameter and I can see it. I'm showing orange there. So yep, that's passing parameters.

38:51
Kent: The last thing that I wanted to talk about is... Well, actually, [chuckle] I shouldn't have closed that. Make sure that's all good, yep. If I go ahead and launch this now, I'll show you in the Designer while it's launching. On my home screen here, I have this other view that I've embedded called title. And on my title, I've added three buttons, and these three buttons are Windowed, Kiosk and Exit because we give you the ability inside the client to toggle between windowed, kiosk or to exit Workstation together. So if you're in kiosk mode, you could still have buttons that change things, not relying on the window to be able to tell you that. So if I come into the window here, Configure Event, oops! Not Configure Events. I just wanted to show you Configure... Here we go, now then, on the actual button you can add actions. Before I was showing a script action, but we have lots of other actions for things you can do on a button click or any kind of action, opening a pop-up, doing navigation, but now we have this new set of actions called Workstation Mode.

40:09
Kent: And if I go to Workstation Mode, I just wanna keep the one I have, I can say I want to switch to windowed mode, switch to kiosk mode or toggle between the two. And so in my case, this is my windowed button, so I have it set to switch to the windowed mode. And then similarly on kiosk, I have it set to switch to kiosk. And then lastly, I have this exit one, and what I'm doing on this button is... If you're familiar with scripting in Ignition, you can do all these scripting functions under System, so I do system dot, and if you do Control space bar, it brings up our auto-complete, and I can go through here and I can choose any of our built-in scripting functions. I'm gonna go into Perspective. It's worth noting, I think this is the first time we've done this. Before it's always been three tiers, so there's System, and then Area, like Perspective, and then the actual function.

41:12
Kent: Because Workstation only applies to Perspective, it kind of has its own set of things, we now have a fourth tier. So I come down to the Workstation and then I have some functions underneath that, and so I have two kiosks and two windows, which do the same things as those actions do. So I could just do it via scripting as well, but this last one is exit, which is what I did right above it, and what exit does is it just closes Workstation Mode. So to show that in action, I've opened Workstation. And right now, I'm in windowed mode, but if I come in now... And as this loads here, you'll see my header. If I switch to kiosk mode, then you can see when it's full screen forming. I can no longer see everything else going on. I could switch back to windowed mode. Now it's in a window again, or I could go ahead and click exit. And if I click exit, it just closes the Workstation for me. So yeah, we have some new actions. We have some scripting functions that you can play around with, and so in the future, we'll probably have additional workstation-specific actions or scripts that may come into play.

42:31
Kent: So there you have it. We've covered a variety of things with Workstation. We talked about the launcher. We talked about the different configurations for that. We talked about how to dynamically develop your projects so that it can do one thing inside the browser, do another thing inside the Workstation. We talked about how to toggle between kiosk mode and windowed mode via actions and scripting. We talked about message handlers being useful for pushing events to other sessions. Overall, we're just really excited about Perspective Workstation. We think that it's gonna be really helpful for a lot of people that have enjoyed Perspective inside a browser and are looking to then bring that same functionality to a native application. And we think it's also gonna be useful for people who have been just using Vision, but who are looking to take advantage of Perspective, but the browser was just a no-go for them from the start. So now you've got a way to run it locally. So really excited for all of that, and with that being said, I'm going to come back to the PowerPoint here and turn it back over to Don.

43:36
Don: Kent, that was excellent. Good demo. I just wanna make a comment here in closing about Steve, our founder and CEO. He used to use this phrase called the New SCADA all the time, and it was really used to describe his vision for a new user experience that was addressing all these pain points of traditional, industrial automation software. And he wanted to address that through the use of modern, as you know, open technologies, unlimited licensing, new business and ethical models that always put the needs of the customer first, the whole business and technology model of Inductive. When he saw 8.1, he certainly had been following it on all of its development stages, Steve made this comment, "Ignition 8.1 is a milestone for Inductive Automation and for Ignition. It represents our full vision of what the New SCADA could be, and is the platform that all our customers will want to leverage for their next generation solutions." So I just wanna tag onto Steve's quote, and just say that the enhancement of the user experience, the further empowerment of our community are all part of our philosophy and the culture at Inductive and also the technology that now gives you the ability to do that. So I don't know what your thoughts are on that, Kent, but you may wanna chime in a little bit before we move forward and do a Q&A on your thoughts on this.

45:00
Kent: Sure. 8.1 is significant for us in a lot of ways, as we've been talking about, Workstation is certainly exciting because people can run in a typical industrial way, but take advantage of all these new technologies, new features. So we're just excited to be bringing Perspective in a nice package to people on the plant floor. We think that that's gonna allow a lot of people to take advantage of Perspective that otherwise had reservations or just couldn't take advantage of it due to certain requirements. So we're excited for that. But also 8.1, I just wanted to talk about it being an LTS version one more time. Ignition 8.0 was a huge release for us because we released Perspective, all this new stuff. We changed a bunch of stuff on how the tags worked and all this kind of stuff, and it was ambitious, to say the least, and it kept getting better and better over the life cycle of 8.0, started our release train where we were releasing releases every month, and people were getting new features all the time.

46:05
Kent: And it's been fun, it's been exciting, and we recognize that people are loving the new features, but they also are excited for us to take a deep breath now and say, "All right, there's a bunch of features, and let's go ahead and have a stable long-term support release so that we can get all of our customers up to this new 8.X line." And so this 8.1 release is kind of our message to you that it's ready. Bring your past customers up to 8.1, start your new projects on 8.1, and we are gonna continue to still follow our release train, releasing new releases every month, but they're gonna be focused on stability, focused on bug fixes, less on major new features and changes to how the platform works fundamentally. So we're really excited for this 8.1 release, and we hope that you are too, and that you see it as a great opportunity in the industrial space to take advantage of this new technology.

47:03
Don: You're not done working yet, Kent. We've got a whole queue of questions. I'll say two more things, and then I've got them all tagged in your name by most of them. I'll answer a few along the way. This slide is just to let everyone know that you should try Ignition 8 and Perspective Module for yourself. Go to our website, download it. It takes three minutes to download it. You can use it in trial mode for as long as you want absolutely free. Also, if you want, we'll give you a demo, a personalized demo of Ignition. Call the number on the screen, speak to one of our account execs. So without any further ado, let's get into some Q&A, and one is, "Will there be any upgrade guide for upgrading systems 7.9 to 8.1, Kent?"

47:44
Kent: Yes, absolutely, we have an upgrade guide every time there's an upgrade to Ignition, but certainly there will be an upgrade guide that is specifically tailored to people who are going from 7.9 to 8.1.

47:57
Don: That sounds great. And a couple of things, I know that you did at the end there when you were talking about message handlers and things like that. Let me see if I can... First question was, "Was that script Python?" There was one quick question on that.

48:08
Kent: Yep, we do Python for our scripting inside Ignition. So, yes, that was Python scripting, but using the scripting functions that are part of the Ignition platform as well, the system functions.

48:16
Don: Okay, great. Does Workstation work with inheritable projects?

48:22
Kent: Yes, it does. So everything that you would normally do inside a regular Perspective project is gonna work with Workstation as well.

48:30
Don: This one, I think you sort of answered. Where can we find a good manual for scripting in Ignition? I know also I wanna say that there's a handout here just for starters, the product datasheet on Ignition 8.1 is in the Handout section of your control panel, so anyone can get it that wants. And how about that question about that training or manual, Kent?

48:48
Kent: Yeah, so certainly check out docs.inductiveautomation.com. That's D-O-C-S dot inductiveautomation dot com, and if you scroll down to the appendix, there's a scripting appendix that has all of our scripting functions with sample scripts and all that kind of stuff. We also have a scripting section of the user manual. There's also videos on Inductive University, which is our free online training video library. There's over 600 videos there that you could check out, and yeah, a whole section on scripting there, but, yeah, outside of that, if you ever have questions on scripting, you can certainly reach out on our forum as well.

49:23
Don: That sounds great. And this is another question related to that, is 8.1 officially being released on Monday? When will IU be updated for 8.1? I should be able to answer that question. I'm not sure exactly when is it... Is it ready for release? Do you know the answer to that, Kent?

49:36
Kent: So our user manual will certainly have a bunch of new stuff that will be released with 8.1. The IU videos take us a little longer to develop that content, so that'll be a little ways away. But, yeah, the user manual will certainly be available with the release.

49:53
Don: Okay, that's great. Someone else asked, I'm not sure exactly where it is in this scroll about they're new to Ignition. Here it is. "I'm new to Ignition software. Are there YouTube videos or documents that can help me in learning how the software can be used for SCADA programming?" I think we just answered that question, Augustine. Hopefully, you've got a few places where you can get that kind of information. Now, a couple of more, many more questions for you, Kent, so if you don't mind, I'll just go through them fast. Is that okay with you?

50:20
Kent: That's great.

50:21
Don: You showed navigation could be controlled from one screen to change another screen. Is that limited to navigation or can we send parameters to the screen already active?

50:32
Kent: Yep, you can certainly... At the message handler, you can have all of the things that you put in a payload, and so in my case, I was using that to pass a parameter called office, and I think it's bounced up. But you could pass as many things in that payload as you want as parameters to that view to have it change what is displayed or do some action, whatever you want.

50:51
Don: Thank you, Kent. Next question from Augustine again is, "Which option is better, window or kiosk mode?" And I suppose the answer is it depends on what you're trying to do, but go ahead and answer that Kent.

51:01
Kent: It does. So kiosk mode is gonna be good for a touch panel where you're just trying to keep everything local there. It's gonna be useful for workstations where all it's doing is it's running the Ignition client. It's just an HMI. If you're trying to launch it in something where you're gonna be regularly minimizing it, looking at something else then pulling it back up, obviously in those use cases, windowed mode is gonna be better for you.

51:28
Don: Okay, sounds very good. Next question, "Is the staging being brought back in 8.1, so you can test this stuff out before pushing it to the actual project?"

51:41
Kent: No, so staging was something that we could do when all of our configuration was stored inside an internal database. The problem with having everything inside an internal database was that it wasn't compatible with version control, and so we pulled out the configuration for your projects into the file systems so that you could use Git or a sub-version or other version control systems like that. And so we're not pushing that back into our database. So, no, there's not staging, but we continue to make it easier and easier to have a test environment. And so having a separate server that you do your development on, and then when you're happy with it, you migrate that to production. Maybe even have a test, a QA and a prod server. So that would be our recommended approach rather than using our poor-man's approach to that before, which was staging, now, you have to follow true best practices for software development.

52:33
Don: Thank you, Kent. Here's a question that I think it's probably on some other people's minds from a company in India. This person's a network auditor. His question is, "When the Ignition system needs updates, how secure is this system against cyber criminals?"

52:51
Kent: Would it need updates? I'll take that part of it first. So we release minor versions every month to Ignition. You don't necessarily have to implement those. Although we like people to stay up to date, but you don't have to. Is it stable? Yes, we take security very seriously at Inductive Automation. In the past, we've participated in bug bounties and other competitions and stuff like that, trying to always make sure that people are testing our software, finding vulnerabilities, and then as soon as any vulnerabilities are found, we fix them. And so certainly with architectures, we're doing more and more to get people to use SSL, and we certainly, yeah, are trying to make this as secure as possible. Part of that is constant updates, but if it's a stand-alone system, no, you don't need to do all the upgrades all the time. And so how secure is it against cyber criminals? Yeah, that's why we do the testing, is to try to pre-empt that.

53:49
Don: All right, I'm gonna give one or two more questions 'cause it ain't just one. It's in several different places, but I'll ask the question. With Perspective Workstation, is there any reason to use Vision on a new project? So I thought that might be on some other people's minds too, so I'll do that and maybe one final question and then we'll end off.

54:05
Kent: Sure, so I'll give you my two cents. If I was starting a new project today, I would absolutely use Perspective. Now, are there some reasons why you might wanna use Vision? Sure, Workstation will continue to get more and more features that allow you to tie into the OS better to support like a serial connection from the client and things like that. Some of that stuff still doesn't exist, so Vision allows you to unlock those features. But, yeah, the number of things that Vision can do that Perspective can't is diminishing very, very quickly. So there's only a handful of things, and so, absolutely. If I was starting a new project, I would do it in Perspective today.

54:44
Don: Guys, will Perspective Workstation allow you to customize objects?

54:51
Kent: So development for Perspective Workstation is no different than development for Perspective, period. And so what you develop is then gonna run in a browser or in Perspective Workstation. Do we have drawing tools in Perspective yet? No, but that's still on our road map, and you'll see those in probably within 8.1 or shortly thereafter. So, yeah, certainly it's something that's on our road map and something that we're actively working on.

55:16
Don: Cool, I think you did a great job, Kent, in terms of introducing Ignition 8.1 and Workstation. So stay informed about our events. Here's our social media, and also please, take advantage of our news feed, and with that we are concluded. Thank you so much for attending today's webinar.

Posted on October 9, 2020