Design Like a Pro Webinar Series: Part 3

Securely Launching HMI/SCADA Projects

55 min video  /  52 minute read
 

About this Webinar

The success or failure of any HMI / SCADA project is judged by the final result. In this webinar, learn how to put the finishing touches on your design and tailor it to fit your specific needs. We cover tips to help in testing your new project, so you can make sure that it’s a success from day one.

Webinar Transcript

0:03
Don: Good morning, everyone and welcome to today's webinar, Design Like a Pro Series Part 3: Securely Launching HMI/SCADA Projects. My name is Don Pearson, and I'll serve as the moderator for today's webinar. I'd like to welcome you all and really, I think many of you attended parts one and two, so you already get a little idea of where we're going with this. I'll take a couple of minutes for those who are new to introduce our company, Inductive Automation, and then we'll get started with Travis' work today.

0:31
Don: The company was started in 2003, and really we're pioneers in database-centric web-launch HMI and SCADA systems. It's really proven to be very popular among a number of industries. Our founder, Steve Hechtman, has been an integrator for over 25 years. Basically, he just thought there had to be a better way to get things done in this industry. So, here we are years down the road and the software has been applied successfully, really in over 60 countries and in industries, many which you see listed on the slide.

01:04
Don: Additionally, last year, we were awarded a couple of awards for innovation from Oracle and from Automation World. Oracle's Duke Choice Award was awarded for our innovative use of Java in the industrial software industry, and Automation World's Readers Choice Award was awarded for innovation in the SCADA information management world.

01:27
Don: Just briefly introducing Ignition. What is it? It's an industrial application server, web-managed platform, web-launch clients, web-launch designer. What can it do? HMI, SCADA, MES functionality, your storing functionality, really using any SQL database, business applications, any SQL database recipes and batch management functionality. Practically, anything that you can imagine, you can actually do with Ignition.

01:55
Don: What makes it special? It's really part of the mission of how we put the whole business model together that makes it special. It's really the licensing model that gives you unlimited free web-launch clients, free concurrent designers, free data points, unlimited database connections, unlimited free screens, free projects per server and free scalability. OPC-UA servers and drivers are free. It's totally cross-platform, so it's really a very robust, scalable and workable software for any work that you may wanna do with it.

02:28
Don: Going into the Design Like A Pro Series, just for those of you who have been with us, you know that we basically covered three areas. We've listened to our customers all the time about how they're using Ignition, they're using its great projects, increasing productivity, delivering results. And part of our mission is to offer the community the tools and support it needs to really be able to design these great projects. That's why we offer this three-part series of webinars and white papers.

02:57
Don: Part 1: Laying the Foundation for Successful HMI/SCADA Projects. In the first webinar, we covered what you need to do to create a solid foundation for your HMI/SCADA project. And in Part 2: Developing Dynamic HMI/SCADA Projects with Speed and Precision, we focused on how to use powerful object-oriented design tools to streamline new project development processes. Part 3, today, in this next webinar, we'll be talking about, really just putting the finishing touches on your project so you can deliver results from Day 1.

03:32
Don: So, this section here... Also, just as a comment, if you did miss any part of the series, you can go to the resources section of our website to get them. Just go to inductiveautomation.com, download the white papers and watch the webinars. So in this one, part three, what we're gonna cover today, the test you should run on your HMI/SCADA projects to make sure it's stable, questions you need to answer to properly set up the security for your project, some tips to help you successfully launch your project, and for how to effectively follow up with project users to make sure it actually is working for them.

04:15
Don: Just a comment on Ignition before I turn it over to Travis, launching projects is really that easy with Ignition. Ignition's ease-of-use, time-saving development tools help you to spend less time fighting your software and less time doing tedious tasks. So really, Ignition lets you spend more time stabilizing, securing, preparing your HMI/SCADA project for a successful launch. So today, we'll be using Ignition, but all the information that we're gonna cover today can be applied to your project development process no matter what the SCADA software you may be using.

04:53
Don: Just a bit of introduction on Travis, and I'll let him self-introduce, but he oversees our technical support services, he's also been teaching our training course since the beginning, and trained hundreds of people on how to use Ignition. He's also overseen the successful launch of numerous HMI/SCADA projects across a whole variety of industries.

05:12
Don: So he's really here today to share his knowledge with you, but I'm gonna ask you, Travis, as I turn it over to you, a couple of questions to introduce yourself a little more thoroughly, what kind of training courses do you teach and maybe what kind of HMI/SCADA projects have you worked on? Just to give the folks the introduction, and then take it away.

05:30 Travis: Right. Thank you, Don. Again, my name Travis Cox and I am the Director of Training and Support Services. I've actually been in the industry for several years now. I started out with the integration company. And I've done projects in pretty much every industry, food and beverage, manufacturing, oil and gas, water, waste water, etcetera, so I've had a lot of experience with different HMI/SCADA systems out there.

05:51
Travis: And of course, I'm an expert on Ignition software and I do teach a number of classes here at Inductive Automation surrounded on the Ignition platform. I have a five-day core Ignition class, I have a three-day advanced class and we have a four-day OEE downtime that utilizes our MES with modules. So I taught hundreds of people how to use the software, and so today, we're going to show you part three of this series where we're actually gonna be utilizing this company that we've made called Widgets Unlimited.

06:27
Travis: For the sake of the series we are using an example project as we move through the three project development phases. Our sample project is for a manufacturing company that makes widgets, we call them Widgets Unlimited. They called us and they wanna use Ignition to help them get their manual process automated.

06:49
Travis: So what we've done so far with this series is we've created a solid plan of action, we've created custom component templates and user-defined data types, and we designed navigation and numerous project screens for the customer. So today, we're gonna focus on putting some finishing touches on the project and in launching the project in different ways.

07:11
Travis: So let's do a little recap in the way of review. There are three main phases in the development process of an HMI/SCADA project. Phase 1 is the planning phase, phase 2 is design and phase 3 is start-up. So to finish your project, you must test and secure it so that it's a success from Day 1. In this webinar, we're gonna cover the start-up phase.

07:33
Travis: So in the start-up phase, there's really three steps. Step 1, testing. This involves running your project through a series of tests to discover and resolve any problems that can come up. Step 2 is security, to ensure the integrity of data and the security of your project. And Step 3 is launch. So for a successful launch, you need to have a solid roll-out plan and to follow up with users to troubleshoot remaining issues.

07:56
Travis: We're gonna discuss each of these steps today, along with some demonstration in Ignition. I do wanna point out that we have some really good takeaway tips today, so please stay tuned, stay for the entire webinar. There will be a number of things you can take back with you and utilize in your Ignition project if you choose to use our platform.

08:15
Travis: So, let's look at Step 1, the testing phase, and I feel like this is the most important step that you can do in your project, and it gets overlooked by a lot of people that are out there. Thorough testing is vitally important to the stability of your project. The last thing you want to do is have major problems after you launch that your operators discover.

08:34
Travis: It can cost some time, it can cost money, and can have a lot of frustration with the people that are using the applications you're developing. There are many tests you can do, but there are a least two tests that you must run to make a project ready for launch, and that is an I/O check and a click test.

08:53
Travis: For an I/O check, this is all about making sure that the project is actually working in the real world. It's very easy to set up your screens and drag tags on, and bind things to different points in the PLC, but the only way to really know that it works is to get out there and physically check every I/O point that your product's interacting with. I know this sounds really tedious, but trust me, from experience, it really helps your project be stable at the very end. You don't want your project to inadvertently do something that it's not supposed to, where you have to make sure it's doing what you asked it to do.

09:30
Travis: Here are a few testing tips that I can help you out. Lock the plant floor with the project at hand so you can see physically what happens when you do something. We recommend using a laptop or a tablet, or an iPad. That way, you can carry it around and you can actually turn things on and off and make sure that it actually looks at turning on and off the real machine, and you can see the real signals that are coming through.

09:52
Travis: Check each I/O point individually, don't assume something is working, test everything. And then you can troubleshoot problems as they arise and retest to make sure the problem is fixed, and that's one thing that really helps your project in the beginning or at the end of the project really.

10:10
Travis: The click test is another important test that you can do, and that basically double-checks every single action an operator could potentially do in your project. So you wanna check every link, check every pop-up window and try every button on every page. And a lot of these HMI/SCADA projects, of course they have lots of branches of logic.

10:28
Travis: I am gonna go down this route when one condition is true. I can go down another route if another condition is true. You wanna make sure that you test every single route that's possible. And again, it's another tedious thing you have to go through, but I promise, it really helps make your project work the way it's supposed to.

10:50
Travis: You can test every component of the project, especially components that are based off of the template. If you're using templates, you wanna make sure that each time you use that template, it's pointing to the right reference. And you wanna test every function your project can do, all of them, no matter how small that function may be.

11:06
Travis: We do have some testing tips. One thing that we've seen really work in applications is to use mouseover text or a tooltip to help with testing the project. One thing you can do with that tooltip is you can display the PLC address and the tag path on the mouseover. This makes testing and troubleshooting much, much easier.

11:26
Travis: I'm gonna give you a small demonstration of how you can use the tooltip to basically discover that PLC address and the tag path. I'm going to come over here to the Ignition designer. And whenever you have a tag, and we display that tag on the screen... So here, I have a couple of fault tags down at the bottom I'm displaying as indicators.

11:45
Travis: I can actually right-click on my tag, and we can go to the metadata, and we have a tooltip that we can associate with every single tag in our system. And so I can type in this tooltip the PLC address, I can type the tag path, even a combination of those two with HTML, making it bold, and I'm adding it to that tooltip.

12:06
Travis: The nice thing about the metadata facilities of our tags in Ignition is that they automatically are displayed on components for you. So just by linking the component to that tag, we can have access to this tooltip. So now, if I press "Okay" and I come over here in the run-time, if I was to look on top of this component, I would see my tooltip right there. And of course, we put it on not just display elements, we could put it on buttons, we could put it on anything that actually writes the value back to the PLC, and it can allow us to see exactly where that thing is coming from and what tag, so it's easier to go back and troubleshoot when we look in the designer.

12:42
Travis: Now, I know that it could be tedious to put down every single tag, so of course you could easily export the tags to CSV, make your change, import them right back in and you're ready to go with that tooltip. It's a simple little thing you can add to your project but it adds a lot of power in troubleshooting, where you can come back and figure out exactly where it's pointing to.

13:03
Travis: Now Step 2 of this phase here is security. And so before you can properly secure your project, you have to ask some questions. There are at least four important questions you need to answer when securing your project, answering these questions will help you determine the best way to set up security.

13:23
Travis: So, security question number one is, where does the project need to be accessed? And there are two main reasons why you need to answer this question. The first is web access. Nowadays, a lot of HMI/SCADA projects want to go on the internet. And by being accessed over the web, you need to make sure that you use SSL or some encryption protocol to securely encrypt your data. SSL stands for Secure Socket Layer, a secured communication protocol for the web, and it's used to encrypt sensitive data as it travels on the web.

13:57
Travis: A lot of major websites use it. If you log into your bank, you would expect that it is secure. Same thing that you can do with your HMI/SCADA project if it's on the internet. If you're using cloud services or you're doing port forwarding, whatever it may be, if you want a guarantee that that project is secure, you can turn on SSL.

14:17
Travis: The second thing is foot traffic. You never know who could be walking around the computer while you're away. So, if prying eyes could see your project, you could be exposing sensitive information and controls to the people that shouldn't be looking at it. So the safest thing you can do is lock out each screen when the users are inactive.

14:34
Travis : So if they walk away from their console, a minute, five minutes later, you can have that screen log out, or just be locked so they can't see what's going on. And if you're using Ignition, all of our skeleton projects come with this built-in. It has an auto-lock screen feature built in and you can set the time of how long you want that thing to wait.

15:00
Travis: The second question we have to ask is, who needs to access the project? So again, there are two reasons why you need to answer this question. The first is you need to figure out how you're gonna restrict access. This is a basic requirement for any project security, is to restrict access to those who should have it. Use a user directory to ensure that only those that need to use the project are able to do so.

15:24
Travis: So you can use something like Microsoft Active Directory. By piggy-backing on an active Directory system, it's a simple and efficient solution to creating a user directory for your project. It's a very common method, so companies are already familiar with it and IT departments already support that, and it's really easy to maintain because you can manage a user's access to multiple things in one place. And if you hire somebody new, you can give them access to the HMI/SCADA project. If you fire that person, of course you could remove their access from the network and to the HMI/SCADA project.

15:58
Travis: The third question is, what are users going to do with the project? So, here are three main reasons you want to answer this question. The first is there are different users who need different access. So, different users will use your project to perform different functions, make sure they have the right one associated with them. Only give users the access they need to perform their jobs. This limits the potential for user error.

16:25
Travis: Number two is we can do that through user roles. You can use a read-write role or read-only role to create these appropriate security protocols. And you can actually do a combination of both, read-only and read-write, depending on different roles that that user may have. So roles are a perfect way for you to set up arbitrary things that allow you to lock down different parts of the application.

16:50
Travis: The third thing is zones, and I think this is one of the pieces that gets left out these days, is not only you have to wonder what people are gonna do once they log in, but you have to look at where they are launching that application from? Are they on the local network, are they at home through a VPN connection, are they over the internet? Because those zones are really, really important. You can use these zones to limit access for when they're accessing projects outside of a defined area.

17:18
Travis: So maybe from a VPN connection or over the internet, you don't want them to turn machines on and off because they're not next to the machine. So it's really important to look at those zones because these systems these days are all web-based and it adds an extra challenge to setting up security.

17:37
Travis: The last question here is, what have users been doing? And in order to see what they're doing once they log in, what they're clicking on, what they're turning on and off, we have to be able to turn on auditing. And you can use auditing to track what users have been doing in their projects, they show you what they've been doing and when they did it, and where they did it.

18:00
Travis: And it also helps with troubleshooting applications, because if something went awry, the auditing can be an important tool in resolving security issues when they occur. You have to know where and when a problem occurred before you can really fix it. By turning on a simple audit trail you get all of that power.

18:20
Travis: So those four questions are extremely important. In security, you definitely have to ask yourself, "Where does the project need to be accessed? Who needs to access the project? What are users gonna do once they access the project? And where are they accessing it from, and what have they been doing inside the applications?" And those are the kinds of things we need to look at before selecting the HMI/SCADA project or our package, and how you're going to implement your project.

18:52
Travis: So today, I'm gonna show you a couple of demonstrations to use Ignition, that can answer these questions for our Widgets Unlimited application, to really get a much better idea on how to set up security for that project. The first thing I'm gonna show you is how you can set up Active Directory in Ignition. I'm gonna then show you how we can lock down controls for users. I'm going to show you how we can set up auditing trails. We're gonna look at how we can make auto backups for our projects so that we can guarantee that we make backups, and then we're gonna show you how to turn on the SSL. So, a couple of these features here.

19:24
Travis: The first thing we're gonna look at here is setting up Active Directory. And for that, I'm gonna open up my web browser. I'm gonna go to the Ignition configuration page. Once we go to that page, we have to log in with an admin password. And down at the bottom left, we have, under here, security authentication. And these are the authentication profiles that allow people to log into the system. They contain usernames and passwords and they contain, more importantly, the roles for the access groups or what they can do when they log into the application.

19:53
Travis: So like I said, we can use Active Directory, it's a very popular one that's out there. So, I can create a new profile, I can select Active Directory from the list. And it's really easy to set this up. A lot of people are hesitant to do so. I can give this thing a name, I can call it "AD", whatever name I want. All I gotta do to really set this up is let Ignition know what the domain name is.

20:16
Travis: And a lot of times, your domain name is a URL, like "example.com", for example. It can be "ia.local". It can be some name that represents the domain and you would see that name... If you are logged into your Microsoft Windows XP computer, you would see that name in front of your user name.

20:35
Travis: And then we have to give it some values named password, they have admin and then whatever password may be, so that we can list the roles for that particular Active Directory system. Nobody's gonna be able to see that username password, it's just there for the role.

20:51
Travis: And then we gotta tell it where that domain controller is, what the IP address or the host name is. So we just simply type that thing in, and all we have to do is really get connected up to the Active Directory. Now, I have one here created called the "Active Directory". Once we set that up, it's really easy to go and verify to see that we can log in using some username and password.

21:10
Travis: I'm gonna go ahead and verify the authentication profile. I can choose my Active Directory and I can then try a log in like John, and I'll put the password. And I can see the user roles that John's in and John's in the read-write role. And then here are all the roles in that profile, these are all the groups; users, operators, administrators, read-write, and we're in charge of what we want these roles to be.

21:34
Travis: If I have to test this again, let's try a different user like George. You can see that George has the operator's role, he does not have the read-write. And again, we can see all the roles in the profile. So now, we are definitely connected to the Active Directory and we're able to authenticate using that system.

21:55
Travis: Now that we have that, we can go back to the Ignition Designer, and I can associate that profile with this project. I go to my project properties and under the "general", I can associate this project under security settings with the Active Directory. Let me select that Active Directory and I can press "Okay", and I can save my project.

22:16
Travis: Now, if I come back to that screen here just for a second, we also have the ability to lock out people from when they get into the application. You need to have the operator's role in order to even log into this project. So you can put security pretty much throughout the entire project of Ignition.

22:36
Travis: Now, security not only can it go on how to log in, it could go on any control. It could be any button, it could be any tag in our system. We can set up these access rights. So let's say I'm gonna go over to my pop-up window that has... It's my motor pop-up window, and that window has an HOA button, and this button allows me to actually write back to the value in the PLC. And so, I don't want just everybody to have the right to this motor turned on and off.

23:04
Travis: So, we can right-click on that component and we can go down to security, and we can apply security to that component. And I can say, "Override the settings," and now you can see on the left-hand side, here's all the available roles that are in the Active Directory system. I can then say, "Let's grant clearance to the read-write role." And when they don't have that role, then I can disable the component. So if I just disable it, then of course, they can't actually write to it.

23:31
Travis: Just by applying the security to that one component, it locks it down. We can do it to a component itself, we can do it to a collection of components inside of a container, we can do it to an entire window, we can do it with tags, pretty much any place that Ignition can use those roles. Not only can we lockdown these sections, we can display these roles on a window.

23:53
Travis: So here is our navigation window at the top, and maybe I want to display the roles right here in a simple table. And so I can put a table right here at the top so the user knows what they're inside of. So by putting the roles there, let me reconfigure my layout so it's up here on the top right, and I can just simply go to my tags. I have a tag in our system, "client", "user" and that one is called "role dataset". I can just drag a role dataset onto the table and then once I log in, I can see the list of all the roles that I have. But let's go ahead and save our project.

24:29
Travis: Now that I've saved it, I'm gonna go back to the run time, and here, I can update my project. So once I update it, you'll see, up in the top, I have the role name of what I'm logged in at. So let's log out real quick and let's log in as John. So, John can log in and you can see John has the read-write role. Now, by being in the read-write role, that means that he can go in and he can turn any motor on or off. So I can actually use this control, I can turn it off, and you can see there that it turns it off with a hand if you go to hand.

25:07
Travis: Now, if I log out and log in as George, George does not have the read-write role. And you could see here... I'm up here and I just saw the operator, there's no read-write, then I shouldn't be able to actually turn this control on or off. And so you can see here, it's disabled. That's basically what kind of security you're gonna be setting up in your application, is what they can do, what they have access to. And that can be the entire window if you want it to be.

25:33
Travis: Now, not only can you restrict access to various parts of the system, you need to set up an audit trail so that you know what they're doing when they're on the application, and that's gonna help you in troubleshooting the security problems that you find out later on. So, to set up the auditing trail, all we gotta do is go back to our webpage. To the same place where we set up an authentication profile, I could set up an audit profile over here on the left-hand side.

25:57
Travis: So, under "security auditing", I create a new audit profile like my database, I give it a name, I'm gonna call this "Audit Log". You can keep only 90 days of data if you'd like to or you could put more in there. Or we can select which database we want to log this information to. I'm gonna go to my client database. Come down here, it'll create a table for us automatically called "audit events" and it's gonna store a history of all this information in our SQL database. And that's a lot of power 'cause not only can Ignition access it, but we can look at it on other applications outside of Ignition.

26:30
Travis: Let me go ahead and create the new audit profile, and now it exists. Just likely we set up the authentication with the project, I need to go back to the Designer and associate that audit profile with our project. Go up here to "project properties" and you'll see "Enable Auditing". I can turn that on and I can select... To refresh my list here, I can select the audit log. Once I do that, press "Okay" and save it, everything that we do inside of this application now is, we're gonna keep a log of that.

27:00
Travis: So let's go ahead and let's log out. Let's log in as John. John's gonna go to motor 2. He's gonna turn it off. He is then gonna log out. And then George is gonna log in. So we've done a few things that were required logging of that audit trail. So if I go to my private screen that's called "audit log", that we can import into our system, that can show us all of this history.

27:29
Travis: So let me show you how we can import the audit log window. We have a window already premade for you that you can have access to. And so I'm gonna go to my Designer, I'm going to import this window. I'm gonna go right here, right-click "Import" and we have a backup of the window that you can bring into your project, that's the audit log, so you can see all the history. I'm gonna import that and I'm gonna import it right now just the audit log window, right here, just the audit log. Import it and save my project. And now let's take a look at what that looks like here in my application.

28:04
Travis: So, admin, audit log. And here, we can see that George had logged out, John logged in, he did a tag write, he wrote to the motor 2 HOA, set it to zero. He logged out, George logged in, we did a save in the Designer for that project. You can get an idea of exactly what they did and when they did it. You also can figure out where they did it based on an IP address. So that's really what's important here with security, is you gotta figure out who has access to the project, what they can do. And you wanna turn on auditing so that we can see what they do once they're logged in.

28:38
Travis: Now, another important thing with security is turning on the SSL, like Mike talked about earlier. And for that, it's basically where our URL to get to the page was not gonna be HTTP. It'll be HTTPS, like you're logging in to your bank. And so to set that up, it's really quite easy. We go to our Gateway settings and all I gotta do is check this box here to turn on SSL.

29:03
Travis: By doing that and pressing "Save", that means that I can go up here, it'll force my browser to have the SSL port. It'll look like this and I'll know that it's encrypted by going through SSL. Now, it's not a trusted certificate, and that's okay. It doesn't mean it's not encrypted. It is encrypted. So it'll force the URL to be HTTPS rather than HTTP, and that will guarantee that data between the client and the server will be encrypted and nobody can have access to that. There's no way for a man-in-the-middle attack.

29:40
Travis: When we're done setting up all of this security and all of our projects, and everything we've done in Widgets Unlimited so far, we wanna make sure that we have a backup of this project. And a backup, to me, is the most important thing you can simply do. And you wanna make sure that you store that backup in at least three different places.

30:00
Travis: Not on the same machine that Ignition's installed on, because if that hard drive was to crash or that motherboard was to go away, or something happens to the machine, you can't have access to that drive anymore, then you lost your project. You wanna make sure it's on a network drive that is backed up as well. So at least three different places for your backup.

30:17
Travis: And one thing that Ignition does for you, and some of those other applications out there, we have the ability to do scheduled backups for the entire system. So, one single file that we can back up for everything that we've done, another important thing you have to turn on for security purposes. You wanna make sure you have that backup. So here we simply enable it, and we can select the backup folder. If I want to log it to "The: Ignition" backups, I can simply put that folder in there. This could be a network drive, they can be some other URL there, wherever you wanna backup that project.

30:56
Travis: Maybe we can set up a schedule, and so kind of like the Unix cronntab style schedule. And here, with this one, we'll actually gonna do it every day at 1:15 in the morning. And when we do that every day, we can keep a certain number of backups in that folder. So I can keep five or 10, or 15 backups so that I can guarantee to have the last 10 days, for example, of our project. That way, if we ever make a mistake or delete something, we can always go back to a previous backup and bring it in.

31:25
Travis: So you wanna be safe in all of these regards with security and then backing up your system. And it's really not that hard to set up inside the system, but you really have to put an emphasis on what, those four questions that we asked, who are gonna be able to log in to the system, where can they log in from, and what can they do once they're logged in?

31:45
Travis: Now, step three of this phase here is launching. And launching is the last part of your system, and a successful launch of your project is key to its effectiveness and longevity of the project. If it fails at the launch stage, well, the users are gonna see it as unstable, unreliable, and you don't want that. You want the operators to be able to think that this is the application they need, it's gonna help them do their job better.

32:12
Travis: So there's really two things you need to ensure a successful project launch, and that is you need to have a roll out plan, and you need to follow up with your operators after you launch the application all over the facility. The roll out, this plan is key to a project's successful launch. You wanna develop that plan that includes the where and the when for rolling out the project. The idea is to be simple.

32:38
Travis: Start out with one line of the plan. In this case, Widgets Unlimited, we started out with line 1 of the Widgets Unlimited. Once line 1's done, we can easily then go and look at line 2 and start rolling it out to the rest of the facility. And there are some tips that we could follow for a roll out.

32:56
Travis: And so the first thing you wanna do is, of course be, cautious. You wanna start small and then gradually expand the application, because that gives you enough time to resolve problems if they arise and to test each individual aspect of the system. When you go and put 100 screens or 200 screens and a million tags in your system at one time, it's gonna be extremely difficult and tedious to go back and test it. So we encourage you to take it step by step and do small parts of it. And it helps you troubleshoot easier and you can easily find where that thing's at.

33:27
Travis: Let people know when they will be using the new project, that gives them time to prepare for the change. If you're changing the way it looks, you wanna make sure the operators have time to adjust and for others to see what they're going to be using from now on. And also it goes in, of course, training. You want to be able to train users on the project.

33:45
Travis: The more different it is, the more time it will take for them to be trained on. But once they get trained, they'll be able to use that project effectively. You wanna make sure you have a good backup of the project like we mentioned earlier. Back it up on external drives, or on a cloud storage, and make sure you have it in a couple different places.

34:05
Travis: Now, follow-up is, I think the last vital step of this entire phase. And after your project is live and it's up and running, guess what, the work's not over. You have to follow up with users to make sure that it works for them. A lot of developers who are even making these systems, they make it for the way that they would use it, but they're not in that facility day-to-day, they're not the operators running that line day-to-day. So, the operators are the ones you need to go and communicate with.

34:35
Travis: The true value of that project will be determined by the people that use it every day. If the project doesn't work for them, guess what, it doesn't really work at all. So there are really a couple of questions you have to ask in following up, and these are the questions you ask your operators and people who are using it, "What problems have you encountered?" It lets you know what they need to resolve and to make that project work better.

34:58
Travis: "Do you see the important information quickly?" I think this is a really important step here. In developing applications, you wanna make sure that the operators, with a glance of an eye, can see exactly what's going on with that facility. And in this webinar, we're actually gonna provide some tips for how to develop your screens using some important performance and tuning tips to make that screen more efficient and easier to look at.

35:28
Travis: And number three is, "Can you do what you need to do efficiently? Is it taking too long? Am I doing too many clicks to get to turn something on or off, or too many clicks to get to a particular area?" You wanna make sure that they can do something efficiently. The more time they have to take, the less efficient the project is. And then lastly, "What do you think could be improved?" This is a catch-all question to see how you can make that project better.

35:53
Travis: Now, there's one great tip that we can offer here, and this is something that I think all of you guys can add into your system really easily, and that is we can add some sort of feedback window into the application, so that the operators can give a feedback right into the system that we could take a look at without even having to go and pry them every single day.

36:15
Travis: Because maybe there's different shifts of operators and we're not around the entire time to see how they're using it. So, part of this project, the roll out, is to figure out where and how to launch the project. So we need to give the users the ability to give us feedback.

36:28
Travis: And so I'm gonna demonstrate here a little goodie that we have, that will be available on download. All these goodies, takeaways, will be available on a download here, maybe on the website. I'm gonna show you how you can import a simple feedback window and we can [36:43] ____ the operators with a feedback window. In order to do this, I need to actually set up a simple database table, I need to import the feedback window, then I'm gonna show you how we can actually use it.

37:00
Travis: The first thing, like I said, is we need to create a simple little database table, and I have tables for both Microsoft SQL server and for MySQL. And so it's just a simple file, you can copy some text, like the way to create a table. I'm gonna put this inside of my MySQL database and it's gonna go here, and paste it, and we have to run it to create that table. Once it does that, I'll refresh and then we're gonna have this table here called "feedback". The feedback is gonna contain the information that those users give us.

37:26
Travis: And so, once I have that table imported into my database, then of course I can import the window into our Ignition Designer. I'm gonna go back to that Ignition Designer, closing my windows, I'm gonna do the import again just like I did with the audit log, but this time I'm actually gonna import the feedback to the feedback windows that are up there.

37:47
Travis: We also have some other window tier that you guys can have access to in the back-up that you guys could take a look at at the end of the webinar. So I have my two feedback windows, I'm gonna import those in and I'm gonna save my project. And you could add a screen or way to get to that feedback from the operators or from the client here. And so, I have a way of adding the feedback.

38:05
Travis: So, say they're on this window here and they don't like the fact that, how that motor looks or how this pop-up looks, or wondering why they don't have security privileges. So they can come up here to some area light tools feedback and here they can add some feedback, and then we can take a look at all the stuff that's in there.

38:24
Travis: So I can add something new in here, and I can say, "Why don't I have privileges to the motor pop-up?" And you can put in some description. If they have more information they can put in there, they can set a priority if it's low to high, they can rank it and how important that particular thing is, add feedback there and now it's in the system. They can see that George was the author, it's a high priority, it was created at this time.

38:56
Travis: And then we can come into the application later on, see all the stuff that is not resolved. And we can go in here and take a look at it, double-click to take a look at it, see what's happening, and then if we add that into our system, we can then press "resolved". And we can also go and modify the description to say that it's done, and here you can see it's green. And so we can go back in history, we can see all of the modifications we've done with our project. I think it's a great little tip you can add to your system.

39:22
Travis: Now the last thing that we need to look at, is how we can launch this application in different ways. Launching is, we gotta figure out what hardware users are using, you gotta figure out what operations they're using, and we gotta look at the best way to launch the application for these guys.

39:41
Travis: The way that we've launched so far... You can see here that I have, we call, "Windows mode". And this just acts like a regular window. You can make it big or smaller and just like any other application in Windows. That's a pretty popular one, especially when you want to be able to close the application. But there are areas of the plant where you don't want them to close, they're declined. Maybe it's a break room, you have a big TV up there displaying a dashboard, or maybe that's right next to the machine and you don't want them to get access to the browser or anything else on the window, you just want them to get right to the application.

40:14
Travis: Then we have a perfect way of launching called the "full screen mode". And so, on the Ignition homepage, wherever the application resides, you see widgets, and I can launch it in the standard window mode, full screen mode, applet mode. If I go to full screen mode and we go ahead and launch it here, it's going to actually launch on full screen exclusively.

40:35
Travis: It's going to, essentially, not have any way to close at the top right, and it's gonna hide everything else behind this application. As you can see here, it's taking up the entire screen. And we can put this project in the startup directory of our computer so that automatically opens up on that computer. And with this, you can even make it auto login if you want to. And let me log in with John.

41:03
Travis: And so here I can see it's the full screen. And I can't go to Windows, I can't go and close things. And we can remove all the links to actually close the application. We can even remove this mini bar at the very top, to really make it that's the only application that they're looking at. It's very easy for them to work with the project. I'm gonna go and exit out of that one. That's a very nice method of launching.

41:27
Travis: Another one is, a lot of times you may wanna have dashboards that go on your website externally, or they're just simple dashboards that you have open somewhere. And there's a third mode, applet mode, which is a great way to launch these things as a dashboard. Think of the inside of the browser as an applet, and you can actually put this on your public internet, on your web page. Let me log in as John. I mean here, everything that we've seen so far is all part of this... Everything we've configured is all in here. You can take a look at it. So the applet mode is another great way to launch it.

42:04
Travis: Today, mobile devices like iPhones and iPads, and Androids, and Google TVs are becoming ever more popular. Then we want to go launch it on those devices as well. And for that we have the mobile launch. And since it's really hard for me to demonstrate an iPad up here, I'm actually going to change the zener to a computer that has a simulator on it, so that we can see an iPad.

42:33
Travis: Look. So here is an iPad. This is a simulator of an iPad but it is an iPad. And I can go to Safari, and basically in our URL, this is a great way to go and test the application, go to the URL, and I type in the URL to the Ignition mobile page, and adjust the IP address followed by that port.

43:00
Travis: I've had this project automatically log in, and once I log in... It's gonna give me the exact same screens that we saw before, and so there we go. Of course, I can look at pop-ups, I can do everything that a normal application... That we would do in Windows mode but I can see it on my iPad and my iPhone, Android phone, whatever it may be.

43:22
Travis: There are several ways you can launch the application. You need to figure out what that suits. Where you want to launch that particular system. I'm gonna come back to my PowerPoint. And this point finishes up the demonstration portion of this webinar, I'm gonna turn it back over here to Don for some review.

43:43
Don: Travis, thanks a lot. Also, we're gonna pull up a question screen and give you guys a chance to sort of look at, while I'm reviewing questions I have asked. You can put them into the console, we've got maybe 10 or 15 minutes left, we'll try and get to any questions that anybody may have.

44:00
Don: Just in review, that's a lot riding on your project's success. Make sure to thoroughly test it to ensure safe project launch. Travis, also remember, asking the right security questions will aid in setting up proper security for that HMI/SCADA project. And don't abandon the project after launch, follow-up with end users, ensure that the project is working for them. And that tip on the feedback is a great tip to put into your project.

44:27
Don: Ignition will give you powerful tools you'll need to create a project all the way from the start to the finish of that project. Also wanna say that, please take advantage of the resources section of our website to get more information, supplements to this webinar. You can download the white paper that's associated with this webinar, and also download white papers and webinars from the previous installment of the series for parts one and part two, if you haven't had a chance to see them.

44:55
Don: And please also sign up for our newsletter, more tips on how to design great HMI/SCADA projects. In terms of all that, it's really something that we really want to, as much as possible, do anything we possibly can to position you to be successful with your projects.

45:11
Don: Before we go into Q&A, I just wanna mention the next big thing in SCADA SQL, how SQL is redefining SCADA. Join us, it's May 22nd, it's our next webinar. We'll cover how SQL can add value, utility and context to your time series data, empower your team to ask and answer vital questions about your process, save time and money over traditional SCADA systems. You can go to the resources section again, to our website, and register for this next webinar. I think you'll find it extremely useful.

45:46
Don: It goes right along again with a white paper on that particular topic. I also mentioned this, and I've put up the Q&A slide, that you do have contact information for Jim, Vanessa, Myron, Shane, Ramin, Melanie and Patricia in our business development. Follow up, if you want, for their demos, if you want information, please take advantage of contact information for the account executives and Bis Dev people that are working with you.

46:12
Don: So let's go into some questions here. First one from Travis: "Using roles, can I limit what a user can do in different areas of the plant?"

46:22 Travis: And that question there is from Howard, and yes, you can definitely limit what users can do at different areas of the plant. You can actually create multiple roles, one role for each area of the plant and lock down those sections. That's kind of a nice way to do it, just because you see the different roles for different areas and you can quickly get an idea of what the user has access to. You can even have one role and you can specify what that role does in different areas by different screens that you've developed in the application.

46:52
Don: Great. Thanks, Travis. And then in terms of overall and this is related to security settings, "Does the enabled property still conflict with security settings?", from Greg.

47:02
Travis: Greg, it does still conflict right now in the 7.4 version. However, in a couple of weeks we are gonna be releasing 7.5, where that has completely been redone and it will not conflict with the security settings. Just as far as this is the question specifically for Ignition, so definitely.

47:21
Don: Cool. Okay, next question is, "Is the back-up saving only project data? What about audit logs, events, alarm?" So, Howard Bill's question.

47:32
Travis: Good question, that's about the historical date that you have saved in the database. The auto back-up feature of Ignition only backs-up the Ignition gateway, that's all the project's settings, connections and so forth, for Ignition. All the data in the database needs to be backed-up as well.

47:46
Travis: MySQL, Microsoft SQL Server, they also have an auto back-up feature, you can specify a drive, and you need to do that in both places to guarantee all of the information. But at least the most crucial part of the system is what you developed, you don't wanna have to re-do that entire project if you spent hundreds of hours. The data is also very important, so both of those you need to look at backing up.

48:10
Don: So, here's a question on back-up paths there. Can Ignition do multiple back-up paths, Travis?

48:15
Travis: Unfortunately it only has the one single automatic back-up path. I could take that into consideration and maybe we can put a little feature request in the system for that.

48:25
Don: Just a question on access, this question from Kevin is, "Where can we get the Widget Unlimited Project?"

48:30
Travis: So all of this is gonna be available to you at the end of the webinar, we're gonna put this online, so by the end of the day you'll definitely have it online. And in the "extras" page of our website, you'll see links to all the materials for the Widget Unlimited Project, including the entire Gateway back-up, and all of the little goodies that are inside of it as well.

48:52
Don: Cool. Okay, we got time for a few more questions here. If we don't get to all of them, we will follow up, but I'm gonna try and get to as many as we can here. "What if I wanna launch one project in multiple ways? Full screen on the plant floor and some other way in a dashboard or whatever?" Howard's question on that.

49:08
Travis: Yeah, so that's the idea, we have different ways to launch that exact same project. You didn't see me create different projects. So I had one project that I decided though, "On this computer I launch full screen, on this computer I launch Windows mode, on this iPad or iPhone I launch with a mobile device."

49:24
Travis: You can pick and choose one of those four ways of launching applications, but it's one single project. And there's a lot of power in that 'cause you're not having to develop separate projects. The iPhone is the only one that kind of put the damper into that, because the screen size is so much different than regular aspect ratio computers. So for that you might wanna design a smaller application, but it could be the same application for all the devices.

49:51
Don: Thanks Travis. A couple of more questions here. ability to go to a different home screen?

50:02
Travis: So that is definitely doable as well. With security in mind here you have access to, once they log in you know usernames that have last logged in, where they logged in from, like the IP address or the host name, and based on that, on any of those fields, you can open up a different home screen.

50:17
Travis: Rather than having Ignition have one window open up on startup, you can put a simple little script to the start-up direct, the startup script there, that says, "If it's this user do this screen, if it's this user do that screen." Or if it's based on a role, you can open up different windows. That functionality is there and you can always contact our tech support people to make sure exactly how that works. It's very, very easy. It's not a complicated feature.

50:40
Don: Cool, another question here, "Any way to go back through displays to turn on tool tips on all tags after the fact?"

50:48
Travis: So certainly, if you're using the "Drag and Drop" feature of Tags with Ignition, where you drag and tag onto the window, then the mouse will reset to automatically get bound to you, to the tool set property of the tag, and you could just simply export your tags to CSV, you can make all the changes, import them back in, you got the mouse over text.

51:04
Travis: Now, if you didn't go in and do the drag and drop to bind up your stuff, you will probably have to go back to Windows and set that up. It really isn't a great way to go and do that after the fact, but you use templates or if you use UDTs, then that can make it really, really easy for you, so that's just in one place there.

51:26
Don: Cool, how about the SSL? "Does using SSLs slow down performance?" Robert has that question.

51:32
Travis: No, it really doesn't, it's so minimal you're not gonna see the difference. And we have a number of users that use it. The slowness on the internet will be the internet connection to it, if you have 3G or something, but SSL is not going to slow down the performance of the clients.

51:53
Don: Great, we'll take a couple of last questions here. One has to do with, "If you connect via air card, and the cell service drops, does the session close properly?"

52:04
Travis: Yes, if you have an air card, you open up the Ignition client, certainly if that ping drops out, then the server will still keep that session alive for a certain timeout period. When that time out period expires, of course sessions drop from the server. But your client the whole time is trying to reconnect, so when your connection comes back up, the client will then re-establish the session to the server, and then it will just keep going. And you wouldn't have to log in again, for you it would just be automatic. We take care of all that behind the scenes.

52:35
Travis: Our web launch client, we do all of the work for you, they're simply hassle free, easy installation or zero installation, launch anywhere you want, different methods, automatic updates, if you make changes in the designer, when you upgrade they automatically upgrade, for redundancy they automatically switch over to a backup. And in this case they automatically will re-connect, if you lose connection to the server.

52:57
Don: Cool. Well Travis, I think we're kinda running towards the end of our time today, we got to a good number of the questions. I wanna just remind all of our attendees that this is the third part of our three-part series. As Travis mentioned, everything will be up on our site today for part three, parts one and two are already there. That you can go back to. If you didn't get a chance to partake in them or you wanna share them with someone else. Both for white paper, and for webinar. Any final things you wanna say as we do wrap up, to today's attendees?

53:27
Travis: Yeah, certainly. If you guys have any questions on the Ignition platform in particular, feel free to give Inductive Automation a call, there's several avenues to look at for help. On the screen here are some account executives, they can offer pricing information, all the pricing information is on our website as well. For tech support you can use our forum on our website, you can call our tech support staff, you can also email techsupport@inductiveautomation.com.

53:51
Travis: There are several ways to get help. And keep in mind that all of these resources will be available on our website at the end of this webinar. So you guys can download everything we've done for all three-part series. And then if you guys ever want to take a training class, we have those on our website under the "Events", there's the schedule that goes to December now, of all of our training classes, so you can take advantage of those.

54:14
Don: Yeah, I really highly recommend if you come join us here in Sacramento, join Travis and his team in one of our training classes as the schedule's out there. If you have not had a thorough demo on how, or you want more detail on how some of this is done, great, just schedule a demo with one of our account executives, they all have technical folks to help them as needed. They can do a great demo for you.

54:34
Don: With that we've come to the end of today's webinar. Thanks so much for your participation, and as we finish off, we wish you all a very good day.

Posted on September 30, 2012