Boost PLC & Device Interoperability With New Drivers

60 min video  /  47 minute read Download PDF
 

Speakers

Reese Tyson

Sales Engineer III

Inductive Automation

Thomas Goetz

Sales Engineer I

Inductive Automation

Garth Gross

Lead Quality Assurance Engineer

Inductive Automation

Interoperability is one of Ignition’s hallmarks — it makes connecting to PLCs and other industrial devices as simple as possible. One such way is with drivers that unlock the door to super-fast and easy device integration out of the box.

On March 28, learn how to remove the limits of what you can connect your system to. You’ll discover how Ignition makes it a breeze to improve PLC connectivity. You’ll get up to speed on the new DNP3, IEC 61850, Mitsubishi, and Micro800 drivers for Ignition. Plus, you’ll have the opportunity to ask any questions related to the drivers or interoperability at large.

Join us to dramatically improve your interoperability by learning about four new drivers:

  • Connect to any DNP3 outstation with the DNP3 Driver, which features class-based polling.
  • Connect to virtually any IEC-enabled device with the IEC 61850 Driver, which is ideal for power monitoring.
  • Expand connectivity across the world with the Mitsubishi Driver for MELSEC PLCs.
  • Use the Micro800 Driver to connect to Micro800 devices without having to use Modbus.


Transcript:

00:00
Reese Tyson: Hello, welcome to our webinar, "Boost PLC & Device Interoperability With New Drivers." We're super excited that you've joined us today. My name is Reese Tyson. I'm a Sales Engineer here at Inductive Automation, and I feel like I have the best job in the whole world. I get to talk to people about Ignition all day, architectures and modules and best practices, and so forth. And with me today, a partner in crime, here I have Tom Goetz, who's also a Sales Engineer here at Inductive. Tom, you wanna tell us a little bit about what you do? I still can't hear Tom, so we'll go ahead and keep on rolling here. Thomas is also a Sales Engineer. He's similar to my role, and super excited to have him on the webinar here as well. So great. We're excited to talk to all of you about how to boost your operability with PLCs and other industrial devices today and the powerful new drivers that we have in Ignition that can help you accomplish that.

00:54
Reese Tyson: So here's the agenda for today. We'll start off by talking about the importance of interoperability within an organization. Then we'll get into the challenges you might face with interoperability, along with the solutions Ignition provides to make connecting to PLCs and devices fast and easy. After that, we'll dive into the new Ignition drivers and go into detail about their functionality. And during this webinar, we'll cover the IEC 61850, the Micro800, DNP3, and Mitsubishi drivers. Then we'll do a demo to show you how they work, and we'll finish up by opening the floor to any questions you might have about these drivers or interoperability in general. If you think of a question during this webinar, just go ahead and type it into the questions area of that GoTo Webinar control panel, and we'll answer as many of them as we can at the end. If we can't get to your question today, though, I definitely encourage you to reach out to our knowledgeable account representatives, and they'll be able to answer it for you.

02:00
Reese Tyson: Also, just to let you know, this webinar and the webinar slides will be made available within the next few days, so if you wanna go over it again or share it with someone who wasn't able to make it, that will be a possibility. So to introduce Inductive Automation, here are a few facts about us. We make software for problem solvers, and we're focused on our software platform, Ignition. 57% of the Fortune 100 and 44% of the Fortune 500 use Ignition. We have a highly diversified customer base across many different industries, and there are Ignition installations in over 100 countries. We have over 4,000 integrators worldwide, and our company is profitable and independent with no outside investors. Our focus is on providing the best platform for our customers.

02:53
Thomas Goetz: Hey, Reese, can you hear me now?

02:55
Reese Tyson: Yeah. Hey, Tom.

02:57
Thomas Goetz: Yeah, not sure what happened to my audio there. Sorry for that.

03:00
Reese Tyson: No worries. Glad you could join. It wouldn't be a live webinar without some audio issues, right?

03:07
Thomas Goetz: No doubt.

03:08
Reese Tyson: Well, now that you're on here, wanna give a quick intro before I jump back into the slides?

03:14
Thomas Goetz: Yeah, absolutely. And like Reese, I'm also a Sales Engineer here at Inductive Automation, and I love to educate, and that's really what our job is, to educate the community about what the capabilities of Ignition are or Ignition is and everything that goes along with it. So happy to be here.

03:33
Reese Tyson: Yeah, great. So we'll be hearing from Tom here in a bit as we go through the drivers. But jumping back into the slides here, just talking about Ignition, here's a little bit more about Ignition. It's a universal industrial application platform for HMI, SCADA, MES, and IIoT, and it acts as really a central hub for everything on the plant floor to connect with. You can use it to create any sort of industrial application. It's web-based, web-managed, and web-deployed, and it has an unlimited licensing model, and it's cross-platform, meaning you can run it on Mac, Windows, and Linux. It offers industrial strength, security, and stability. And one of the core missions of Ignition is to break down barriers to interoperability, which, of course, we'll be discussing in greater length here today.

04:24
Reese Tyson: So let's start with the basics. Simply put, interoperability is when your data can flow easily between different systems and applications. But digging in a little bit more here, interoperability is massively important for an organization to function well, which is why it's such a big focus in Ignition. With it, you can get a number of significant benefits, including access to data that's more accurate since data doesn't have to undergo so many transformational steps, you get the ability to connect to devices more quickly, you'll also experience cost savings since less manpower is needed to connect to these devices. Ongoing expenses are also reduced due to lower maintenance costs. By removing these limitations of what your devices can use, you'll be able to integrate with a wider range of devices, and overall, you'll reduce the levels of frustration on projects significantly, which lets you spend more time and energy on the important things.

05:24
Reese Tyson: And all of these benefits result in a more powerful effect on your operations. Improving your interoperability will make operations more efficient and increase productivity due to more accurate data. You'll be able to reduce downtime and avoid outages. And you can scale up your operations much more easily, as well as expand globally, by being compatible with more devices. And of course, the bottom line is better data will help you make better decisions.

05:55
Reese Tyson: Before we jump into discussing some specific challenges with interoperability, I wanted to give you some broad strokes of how Ignition helps you improve your interoperability with PLCs and other devices. You can connect Ignition to most major PLCs within the included OPC UA Module and the drivers that come with it. Adding new drivers is as simple as upgrading Ignition to the version that includes the new driver. This takes very little time to do. Additionally, you have the flexibility to write your own drivers for the OPC UA Module as well using our open SDK. And finally, OPC UA Module works on Mac, Linux, and Windows. Really any major desktop OS. So you're not restricted in that area either.

06:40
Reese Tyson: So now let's explore a few of the common possible challenges you might have when going after interoperability. First, there are the costs associated with boosting your interoperability. While you'll be lowering costs overall, once you increase your interoperability, initial costs to get set up can act as a barrier. Also, when you're making changes to improve your system's connectivity, you need to be wary of causing major disruptions to your operations. Additionally, you need to ensure that you're safeguarding data, and of course there's the issue of time it will take for you to complete the necessary steps to increase interoperability.

07:24
Reese Tyson: So if your goal is to improve interoperability for PLCs and other industrial devices, Ignition really is the go-to to be an invaluable tool for you to overcome the challenges we just discussed. Ignition makes it simple. You can combat the cost challenge thanks to the large variety of drivers already included in Ignition at no extra cost, and you can affordably add on additional drivers depending on your needs. To ensure there's minimal disruption to your operations, Ignition has lightning-fast deployment. In fact, you can download Ignition on our website for free right now and get it up and running in less than five minutes. To alleviate security concerns, I want to point out the OPC UA Module is based on TCP, which means you can set up secure OPC UA connectivity in mere moments. To minimize the amount of time it will take you to connect to PLCs and other devices, Ignition's core driver gives you out-of-the box functionality so you can get up and running fast, and you can quickly download, install any new drivers you might need in just a few minutes.

08:32
Reese Tyson: So there are four new drivers that we'll be discussing today. The first one is IEC 61850 Driver, which is ideal for power monitoring and lets you connect to virtually any IEC-enabled device. Next is the Micro800 Driver, which you can use to connect to Micro800 devices, of course, without having to use Modbus. The Micro800 Driver lets you browse tags and access all data types from the controller, which is really convenient. There's also DNP3 Driver that features class-based polling, and you can use it to connect to any DNP3 outstation. And finally, the Mitsubishi Driver, which lets you expand your connectivity across the world by integrating Ignition with the majority of Mitsubishi series of the MELSEC PLCs.

09:20
Reese Tyson: So to kick things off, I'm actually gonna hand it back over to you, Tom, to talk a little bit about the IEC 61850 Driver.

09:28
Thomas Goetz: Sounds great. Great. And yeah. So today our first driver focus, like Reese said, is the IEC 61850 Driver, which made its debut early last year in version 8.1.25. Much like the rest of our suite, it's included in the core platform of Ignition. This means no additional cost for utilizing it, whether you're upgrading or installing Ignition from scratch. IEC 61850 is a protocol widely recognized in the power systems, particularly suited for electrical substation automation. Defined by the International Electrotechnical Commission, or the IEC, an IEC 61850-type device, also known as an IED or Intelligent Electronic Device, encompasses any device equipped with one or more processors capable of sending or receiving data to or from external sources.

10:25
Thomas Goetz: Now, why is the IEC 61850 Driver significant? It's tailored for power monitoring applications, making it a cornerstone in power and power distribution systems due to its interoperability. Our driver only supports MMS, or Manufacturing Message Specification. MMS communication offers meticulous control over data flow from the source to the destination through its own internal reports. This event-based communication, primarily client-server oriented, ensures efficient interaction between Ignition as the client and the server, the IED. What sets MMS apart is its ability to confirm data transmission, a critical aspect in control and monitoring systems. This confirmation ensures the reliability and integrity of transmitted information, a vital factor in mission critical scenarios like power substations.

11:32
Thomas Goetz: So the IEC 61850 Driver comes with multiple built-in system functions that we'll demonstrate a little bit later in this demo, but I'll get into a little bit of the explanation on what each one of these does within Ignition. So the getControlParams system function is very handy in defining the parameters utilized in some of the other functions. It outputs a list of dictionaries that contains all logical devices connected to the IED and their parameters. So if we look at the select, cancel, and operate functions, they give us the ability to toggle the value or state of a logical device. So if we think of a breaker, we can open and close it with this IEC 61850 operate function. For SOB or select before operating logical devices, we can utilize the system.iec61850.select function, which is required to operate that logical device on the control model defined in the SCD file. And we'll get into a little bit more on that SCD file here in a little bit. The cancel function reverts the selection of the logical device, meaning the user will have to reselect the SOB logical device before operate. Many IEC 61850 devices can be set up to produce their own data files in the event of an incident. So it can produce its own PDF or text files. The listFiles, readFile, and writeFile functions can be utilized to interact with these files to and from the device.

13:12
Thomas Goetz: So the next driver on the list that we're gonna cover is our Micro800 Driver. We've been eagerly anticipating the release of the Micro800. So the Micro800 is Allen-Bradley's series of a lower-cost solution. But until now, like Reese stated earlier, it's been limited to connectivity with Ignition solely via Modbus. The Micro800 Driver marks the latest addition to IA's driver suite, poised to release in version 8.1.39. However, you could take it for a test drive today by utilizing the release candidate for 8.1.39 available to download on our website today. The driver facilitates seamless communication with Allen-Bradley Micro800 PLCs via Ethernet IP over TCP, extending capability to models such as the Micro820, the Micro850, and the Micro870.

14:11
Thomas Goetz: One notable feature of the driver is that its support for browsing global variables. It's worth mentioning, though, that not all the global variables are accessible through browse requests. This includes UDTs and system defined structures, Boolean data type arrays, and arrays with non-zero starting indices. Despite these limitations, accessing these global variables in Ignition is still achievable through the addresses configuration page. Users have the flexibility to import them from a CSV file downloaded from their connected components workbench, ensuring seamless integration with the Micro800 series. That covers the IEC 61850 Driver along with the Micro800 Driver. I'll be back in a little bit to demo hooking these up and building a little bit in the designer, but I'm gonna turn it back over to Reese to cover our other two drivers.

15:10
Reese Tyson: Alrighty. Perfect. So we'll go ahead and jump to the DNP3 Driver here. Keep this train moving. So here are some of the features of this new DNP3 Driver, which was released in 8.1.36. Starting off with the class-based polling. This feature allows a device to poll different classes of data at different rates. There are four different classes, class 0 through 4 [0 through 3]. 0 is used for static data or integrity polls, while class 1, 2, and 3 can be used to categorize different data according to criticality. Of course, this categorization is up to the implementation, but within Ignition, we can now use it to poll critical data in class 1, for example, at a separate rate than non-critical data in class 3. The new driver also supports sequence-of-event data. So rather than only grabbing the current tag value, the new driver allows for grabbing all the events or tag changes that have happened since that last poll.

16:13
Reese Tyson: So this might not be necessary for real-time HMI applications that are polling that data and just viewing the live current value of that. But imagine a scenario where a value might change from three and then four, and then maybe back to three in between polls. So we would miss out on that four value, but we can now utilize the new sequence-of-events capabilities to grab all the values between the polls and really just forward those onto the database so that we can view the historical records later on while still viewing that real-time data.

16:49
Reese Tyson: And finally, the third bullet, functions. There are a host of new functions to support the new and existing capabilities of the driver. And I'm gonna flip to the next slide here and dive into this a little bit more. This new driver is also paired with a new namespace of system.dnp.x. And the "X" of course represents multiple different functions that are available, but this really was to alleviate, trying to figure out revisioning and number confusion with the three and DNP3, and do we do rev2.0 or V2.0, et cetera. So all additional updates, this driver will fall under the system.dnp namespace. And as the next bullet mentions, the old driver scripts will still exist for those that are currently using them.

17:36
Reese Tyson: So now to talk about the functions themselves, there are functions that performed similar to the old functions that were used, as well as additional functions to support all those new features of this driver. And just to highlight one of those, one of my personal favorites of these functions is the system.dnp.demandPoll function. And this function allows an operator to refresh the live data on a button click event, for example, so they can see the current value and know that they're viewing that. So you can certainly see the utility of that when an operator... they wanna make sure that they're viewing the absolute latest value. So that's it for the overview of the new driver there for DNP3. We'll go ahead and jump to the Mitsubishi Driver next.

18:21
Reese Tyson: The Mitsubishi Driver was released in 8.1.28 and extends the capabilities for Ignition to connect to Mitsubishi controllers that support the MELSEC, or M-E-L-S-E-C, protocol. The majority of MELSEC device users are in Asia, but many other regions have steadily adopted the devices over the years. With the huge market in Asia and consistently growing global usage, MELSEC devices are actually the most used PLCs outside of the US, and they have a reputation for being very reliable, high-quality, and high-performance controllers. Inductive Automation plans to continue expanding globally and foster relationships with a diverse range of worldwide integrators and industry leaders. A big part of that plan includes adding new features, functionality, and connectivity to Ignition and thereby eliminating obstacles in automation. Ultimately, the new Mitsubishi Driver extends the long list of Ignition-compatible devices and increases interoperability in any system, whether your facility uses mainly MELSEC PLCs or you're looking to add functionality with additional MELSEC-capable machines.

19:36
Reese Tyson: So, now digging into the details a little bit here, the Mitsubishi Driver supports most of the MELSEC-series PLCs, including the IQ-R, IQ-F, Q, L, and, as of 8.1.35, the F series, which uses Seamless Message Protocol, or SLMP, communications through PLC Ethernet ports. Speaking of Ethernet ports, the one thing to note is that Ethernet connectivity to the device is needed for this driver. We do not support serial connections with this driver. And similar to the Modbus Driver, you can address the Mitsubishi Driver through the gateway and upload a list of addresses, or through the Ignition designer following the OPC UA server node syntax. And so the Mitsubishi Driver also supports most data types for addressing, including Bools and integers, strings, and, of course, a lot more here. But for a complete list, check out our docs page on our website. But there are certainly a few listed here.

20:38
Reese Tyson: These data types are prefixed as X for inputs, Y for outputs, M for internal relays, and D for data registers. The driver also supports arrays, bit indexing. We can reach over multiple registers to handle larger data types. And as far as addressing goes, you actually can see in this image here that I pulled from our user manual, you can see the addresses are made up of the prefix followed by the syntax for the different data types. For example, D0, under the addressing column there references all the data register 0, while D0.0 would reference the 0 bit in data register 0. You may also notice that below that, we can span multiple registers for larger numbers, such as the D int 32 in angle brackets 5 there. This would span both the 5 and 6 registers because it's made up of 32 bits or two 16-bit registers.

21:42
Reese Tyson: And so that's an overview of really all four of these drivers. Tom mentioned two of them. I talked through the other two. And so next up, we're going to actually go through a demo of setting up these drivers within the designer and kind of show how you can bring all this data together. So I'm going to hand it over to you, Tom, and we can walk through the IEC 61850 and Micro800 devices.

22:06
Thomas Goetz: Sounds great, Reese. Thank you. And I'm going to steal the screen here real quick. Awesome. We're going to connect up to an IEC 61850 device. Like most of our configurations, pretty straightforward. In the gateway, we're going to come down and add a new device connection. We're going to create a new device, and we'll select on that IEC 61850 MMS Client Driver. And it is, like I said, straightforward in connecting up to these devices. We're going to name this IC61850 Device, and I know my host name is this IP address. Under advanced properties, I'm going to use or set the use SCD file to true. So an SCD file describes the entire substation in detail, including the communication, IED, and data type template sections. We'll utilize the same SCD file used to define all of those reports available to Ignition.

23:11
Thomas Goetz: So I'm going to select that, and I'll use configured host name as well. You can see there's a lot of other options for configurations in here, and you can absolutely configure this to meet your needs. So we'll create that new device. We can see that we're connecting and we're connected. That quick. At this point, we can see that we're connected, but we also need to import that SCD, or Substation Configuration Description file, is what that acronym stands for. It's advisable to use an SCD file if you want to control request size, access point visibility during OPC browsing. This helps to reduce the load on the substation device. Without an SCD file, the device connection restarts and can lead to heavy network traffic, as well as all defined logical nodes from the specific IED are requesting that OPC browsing.

24:12
Thomas Goetz: So on SCD, I am going to choose a file. And at this point, I have them saved in this location, and we're going to upload that. We're good to go at that point. Now, we can navigate over to our designer, and we've set up different tag browsers for each one of these devices just to keep it simple and for yourselves that you can not be as confused by as much going on. So in the designer, we can now browse that device, and we could see we have a bunch of reports in the folder. One important thing to note here is if multiple systems need to connect up to the same device, reports are limited to one subscription per report. These are all configured within the software that defines the SCD file. So if two systems need the same data from the device, separate reports will need to be developed at the SCD or IED level. In this case, we're going to be utilizing this second report on the list, but we've prebuilt some UDTs to make this a little bit simpler and quicker. So we're going to set up that UDT. You can see I have that UDT definition already defined within this section, and we're going to create a new instance.

25:40
Thomas Goetz: We're going to name this B1XCBR1, which is Breaker 1 XCBR1. Anybody in the energy field would understand the context there. Under parameters, we just want to make sure that we have our device name, named the same thing as what we hooked up here. In this case, it is. The other items in this list, we'll get into a little bit more detail on some of those system functions and how we're retrieving these values. I'm going to hit apply, and we'll see now that we have that UDT instance in our tag browser. In Perspective, I've built a few views to demonstrate these system functions that we talked about earlier. So we'll come into IEC 61850, and for right now, I'm just going to open this main. And on this very simple view, I have an SVG and a button, a one-shot button. If we look at the one-shot button, it is utilizing those parameters that we defined in that UDT model to send an operate command. We'll demonstrate this working in this case. We'll operate it off, it's sending it, and watch it change in our tag browser, and then we'll change it back.

27:09
Thomas Goetz: Also another important thing to note here, why do we have these system functions? Because we can't write directly to tags within the IEC 61850 device, hence requiring those system functions. The next item I want to look at briefly is the GetControlParams. So, like I said, we have these parameters to make those requests to operate a breaker. What I'm doing here is I'm polling that device for all of its control params. Those control params are listed over here in this custom property. If we look at that binding, very simple binding, all we're doing is polling in the device name and running that system function. It's returning this list of dictionaries for each item on here. In our case, we're looking at XCBR Mod 1. And what we can see is that our parameters in here match the parameters for that Mod 1. And then the last item I want to demo here is downloading files from the IEC 61850 device. So if we put this into play mode, we can see we can come in here, and I have this drop-down of three different items. Those items are actually coming from the IEC 61850 device in the custom properties field over here. You can see we're requesting those files with the IEC 61850 list files.

28:41
Thomas Goetz: We can also download those files from that device by executing a simple command. And we'll look at that script real quick as well. Now, we're just polling in parameters. Mainly, we're looking at what the device name is, what are the path within the device is, and where we want to store it locally. We'll run that real quick and download. Right now, I have our Server Sizing and Architecture Guide saved on there. I don't actually have any true reports, but we could see just by using an inline frame and a web dev endpoint on a mounted folder, we can see this instantly pulling up those files. We'll demo one more with this test text file. There we have it.

29:31
Thomas Goetz: One other thing to note is we've set up a lot... We've talked about interoperability. We've set up a few template views that have the dropConfigs tied to our UDTs. We'll get into how this interoperability works here in a little bit.

29:46.6 Thomas Goetz: The next driver I want to look at is the Micro800. If we go back to the gateway, let's attach to our Micro800, and in our case, we're using a Micro820. You can see I have that driver here, Allen-Bradley Micro800 Driver. I'm going to select Next, and I'm going to name this Micro820, just so we know what the device is. Again, I know my IP. As simple as that, we're going to create a new device. You can see we're instantaneously connected. We talked about addresses and being able to import addresses, but I'm quickly going to demo this. Now, we'll come back to Browse Devices over here. And we'll select on our new Micro820 device. We can see we have a lot of those variables coming in from our controller. We go back to our gateway, we're going to come into addresses, and we're going to upload that configuration file that we downloaded from our connected components workbench. We're going to choose that file, choose our Micro800, hit open, and load.

31:08
Thomas Goetz: Again, you can manually come in here and enter these addresses, but having the ability to import those configurations really is a time saver. We're going to save off that configuration, and we'll jump back into the designer. Much like our IEC 61850 Driver, we've set up some predefined UDTs. In this case, we're looking at a heat exchanger. And I have a few tags in that: UDT, OPC tags, an expression tag, and a memory tag. What those are eventually going to do in this demo is help in aid our interoperability between these devices. In my case, I'm going to add a new data type instance, and that's going to be our heat exchanger. I'm going to simply name that HeatExchanger, double check that my parameters match. What you'll see here is we have a triggered switch, which is referencing a tag path essentially back to that breaker. And that's going to be used for this interoperability. So we'll hit Apply and come back into the heat exchanger. Now you can see that we have some data here.

32:25
Thomas Goetz: I'm going to jump into our Perspective views now. We have this Micro800, and we have a single view in here. Much like a lot of our other devices, the drag-and-drop features of building out these views is very simple, just by dragging tags out onto the screen. But in our case, again, we're using that dropConfig and using a lot of indirect tag bindings. Just to demonstrate this, if we look over on the left-hand side here, we can see the cooling fans running, and we can simply toggle that on and off. Well, if I put myself into correct mode here, there we go. So that's the demonstration for hooking up to both an IEC 61850 device as well as a Micro800 device. I'm going to hand it over to Reese so he can show you similar with the DNP3 and the Mitsubishi Driver.

33:21
Reese Tyson: Alrighty. Let me go ahead and share my screen here. Perfect. So yeah. Thanks for showing those two devices and the connectivity there, Tom. So I'm going to tackle the next two, the DNP3 and the Mitsubishi. So to kick us off here, we're going to go ahead and create a new device. So, again, I guess I'll mention I'm on the OPC UA Device Connections page here. But we'll just go ahead and create a new device. Scroll down to the new DNP3 Driver. You might also notice we still have a legacy option as well. But, of course, the new one adds all the additional features that we talked about earlier, so that's the one I'm going to use. So we'll go ahead and hit next. And I'm going to keep it simple here for the name. I'll just call this DNP3. For the host name in my environment, I have a 10.20.4.103 is the address for that. I'm going to leave the port the same here as 20000. Source address is going to be 30000 and then my destination address is going to be 0.

34:27
Reese Tyson: And so I'm going to leave everything else as default here, but of course, in your situation, feel free to update those. But before we move on, I'm actually going to talk a little bit about this data acquisition section because this kind of introduces some of the new features of this driver. So you'll notice we have different poll periods for this integrity poll, or Class 0, Class 1, Class 2, and Class 3. And that would be what allows us to poll the data inside those classes at different rates. So I'm going to change this Class 1 to change it to 1000 milliseconds. Notice that it is in milliseconds. We'll change this one maybe to 5000 milliseconds, and we'll leave the Class 3 at 10,000. So we have one-second, five-second, and ten-second polling rates for those, respectively. Unsolicited Event Classes down here at the bottom can be turned on as well. This would be a comma-separated list for the classes that you want to be enabled. So unsolicited messages are those that do not require polling, but rather Ignition acts as like a listener for any new messages that that device sends out.

35:34
Reese Tyson: This feature would also be present in the previous driver, but I figured I would just mention it here as well. I'll expand some of these advanced properties out. Of course, we have some different properties and things to change here with the analog operation and binary operation. But I wanted to mention the logging down here as well, which allows us to turn on application layer logging as well as physical layer logging just for more granular system logs when connecting up to these devices. So we'll go ahead and create that new device. And sure enough, it looks like we are, in fact, connected. So with that, let's go ahead and jump into the designer. I'll go ahead and browse over to our... Oh, looks like we already have DNP3 tag provider selected. So let's go ahead and look at some of those devices and browse those that we just connected. So expand out the server here, go to the devices. And here's our new DNP3 device that we connected.

36:31
Reese Tyson: And here's all the points that we have available to bring in. So I'll go ahead and grab some of these, just a couple of different types here. Maybe a binary input, 0, as well, and bring this over. So now we have three tags that are staged for import. So we'll go ahead and hit Okay. And so what just happened there is we made a tag that connects up to that DNP3 device, and we can see some of the data here within the PLC. If I open up one of these just in the tag editor here, you can see what happened was we just essentially mapped that tag to that specific location in the DNP3 device. Similar to what Tom did, and really similar to all these, we created UDT definitions and templates for visuals for all of those UDT definitions. So let's go ahead and create or view what this UDT definition is. It's just a simple pump station with a basic HOA value here. And you'll notice the OPC item path is going to an analog output number that is specified by the station number param that I'm passing in. Of course, that param is defined here on the highest level of the pump station, UDT, and you can see our station number there.

37:49
Reese Tyson: So let's create an instance of that station or that pump station by coming down to New Tag, Data Type Instance, and select our pump station. We'll call it Pump Station 1 and hit OK. And here we have our pump station instance, and our HOA tag is set to zero. And now that we have our data structured in the way that we want, we also have views that we can utilize as well. So here's a pump station template, just a very basic template that I have created. If we throw this into preview mode here, and let's go ahead and turn this on to auto, you'll notice that my tag now has changed from zero to one down here on the HOA, and then we can turn it off, of course, and this will change my value back to zero. So very simple functionality indicating, not only visualization but also connectivity to that device.

38:49
Reese Tyson: So that's the DNP3 Driver. Let's jump over now to the Mitsubishi Driver. So I'll go ahead and bring the gateway back up, and we'll go ahead and create another device connection here. So we'll scroll down to the Mitsubishi TCP Driver, select that one, and hit next. I'm going to call this one Mitsubishi_iqf because I'm connecting to an IQ-F series device here. We'll go ahead and specify that here in the series drop-down. Of course, there's the five different series we can connect to. I'm going to name my host name here. In my scenario, it's 10.20.4.26. The port number I'm also going to change is going to be port number 1030. And then everything else, I'm going to leave default here. Of course, in your situation, be sure to update as needed, but we'll go ahead and create that new device here. Looks like we are connecting here, and now we are connected. Perfect.

39:57
Reese Tyson: So now that we've created a connection to that device, I want to next, actually, before diving back into the designer, is create a mapping of the addresses in this controller. So I'm going to go ahead and click on More, Addresses. And if you've ever used any of the functionality within the Modbus Driver, we can certainly create a configuration file to provide this map, or go ahead and add our new row and specify. This browse path would be the name of the OPC path in Ignition, which would map to the Mitsubishi address in the controller, and then we can add a description. I'm going to go ahead and just demonstrate this. I have some of these already built in here, but I'm going to remove all and start over here and just load a configuration file that we have. I have this locally on my computer. It's just a CSV file, but it is the same tags, of course, that I just deleted. I just wanted to show you that process there.

41:06
Reese Tyson: So this is the name of the tag that we'll be viewing in the OPC server inside of Ignition that maps to the specific address. So you'll notice, if you remember back to the slides we had, that's in the D register. This one's specifically the zero register and bit zero, while this one is the whole D0 register. We also have syntax down here indicating that this is a 32-int value, and that actually spans across two registers. So not only it starts at data register 1 here, but also goes and spans across data register 2, because a register is 16 bits, and this has 32 bits inside of that. So we'll go ahead and save that configuration. And now that we've created that mapping, we'll go ahead and hop back over to the design. Let's switch over to the Mitsubishi tag provider here. And obviously, there's nothing configured here, so let's go ahead and do that. We'll go ahead and browse devices, and once again, open up our OPC UA server, look at our devices. Here's my Mitsubishi IQ-F device that I just created. And inside of this, of course, here's the tags for the mapping that I just created.

42:22
Reese Tyson: So what I'm going to do is I'll just bring in some of these here just to give a general idea of some of the different values that we have. So we'll go ahead and hit Okay. I'm sorry, I need to select those before I hit Okay. Let's do that once more here. The devices, go to Mitsubishi, go to our tags, go ahead and select again all we want to bring over for staging. And now we can hit Okay and bring those tags in. So I'm just going to demonstrate some of this here. If you remember, this is the zero bit. I can validate that by double clicking on this and looking in the tag editor, this is the zero bit of that zero register.

43:06
Reese Tyson: And then this data register tag is that whole zero register. And so if I change this from an odd number to an even number, we should see that Boolean change to off. So that shows how those two different types of tags and data types interact with each other, how we can read those values. So let's jump over to the UDT definitions and bring one of those in. And just before we do that, though, we'll check this out and just see it's a very basic UDT, a single-level member of this UDT. This level tag is being historized, and you can see that it is mapped to the D register that we've defined in our parameter indicator Num, which of course once again is specified on our highest level of this Mitsubishi level indicator UDT.

44:04
Reese Tyson: So we'll go ahead and create a new instance. Go to data type instance, MitsubishiLevelIndicator, and we'll give this one a name of Level Indicator 1. Okay, go ahead and select that. And here's our instance: it's looking specifically at that value inside the PLC. It's bringing back a zero. So just to be able to view this now, we'll go ahead and checkout the Mitsubishi level indicator template that we've already created. You can see this is a very low level. This is indicating a level of... We'll combine all these together. This will make a little bit more sense. But this is just a level indicator template to show where that level is on a scale from 0-100. As this level increases, these different indicators here on the right side will light up, giving us at-a-glance visualization for that. So now that we've created all of our data for all four of our PLCs and we have templates and visuals for those data types coming in, let's go ahead and bring all of these together into one view.

45:21
Reese Tyson: So I'll go ahead and create a new view here. I'll call this Webinar since, in fact, we are on a webinar right now. We'll go ahead and create that. And so, we'll just go ahead and utilize the visuals that Tom showed earlier, as well as the ones that I showed earlier, and show some of the interoperability here between these different devices. So I'll go back to Tom's instance here of the IEC 61850, click and drag this onto the screen. Again, this is using that dropConfig capabilities of that configuration that Tom showed earlier. So now that we have the breaker on there, let's go ahead and jump over to our Micro800 heat exchanger. Drag this onto the screen. I'm going to go ahead and just visually connect those up just so we can see that it is being powered by that breaker.

46:20
Reese Tyson: And we'll go ahead and show some of the interoperability here right out of the gate. Tom mentioned earlier that this pump, it's operating as expected, it's being powered by this breaker. This pump in this heat exchanger is based off the Micro800 data and the controller, the data is coming from the IEC 61850 Driver. So when I click this pump, it's going to actually fault out that pump. And what's going to happen is Ignition sees that Micro800 command, and then it extends an IEC 61850 command over to that breaker. So we'll go ahead and turn that breaker on once again and then reset that pump there. And so now we're back up and running there, and we'll go ahead and add these other two devices as well.

47:08
Reese Tyson: So the next one that we're going to add is the DNP3. I'll grab my pump station UDT, select that one. I'll also drag this one up here just to indicate that the pump is in fact being powered off of that same breaker. Maybe not necessarily the case in a real-life situation where everything's powered off the same breaker. In fact, that would probably not be best practices, but for intents and purposes of this demo and showing interoperability, and that's what we're doing here. And then, we'll go ahead and also add the Mitsubishi as well. So I'll drag this one over, and now you can see where I'm going with this and that level indicator. We'll line that up right next to the pipe there just to be able to view the level of that pump or the liquids inside of that pipe, I should say. So we'll go ahead and turn this pump onto auto. That pump is going to turn on, and you can also see the level of course in that pipe is increasing as we are pumping liquid through that.

48:08
Reese Tyson: So you can obviously see now, all of this goes into the interoperability theme that we've been talking about this whole webinar. We are connected to all four of these devices, and we're bringing all of this data in with really Ignition starring as that middleman to view this data in one central location. So let's once again go ahead and fault out this pump and just show that even further. This breaker is going to trip, which of course turns off my pump, which is being powered by the IEC 61850 Driver. And, of course, our level is now dropping because there is no more fluids flowing through that pipe. So there you have it. Using Ignition to control all four of these devices from one screen and really displaying the power of interoperability that Ignition brings to the table.

49:00
Reese Tyson: So let's jump on back to the slides here. Let's get this going again. There we go. So, we've been in Ignition this whole time. If you've never tried Ignition, you can certainly download a free trial today on our website, inductiveautomation.com. It's quick to download, takes about three minutes, and you can use it in that trial mode really for as long as you want. So you can dive in and explore this platform that makes PLC and device connectivity so fast and easy. And to help you along that journey, we also have an abundance of valuable resources to help you learn how to use Ignition, including Inductive University. Inductive University is a free online training website with hundreds of training videos. So you can learn Ignition step by step at your own pace. A couple videos here, a couple videos there, skip to the sections that might pertain to what you're doing. There's also a comprehensive online user manual that you can refer to anytime. In fact, any of those functions that we've mentioned, the system functions, as Tom mentioned, for IEC 61850, or for the functions in the new DNP3 Driver, those are all on there as well. So you could look at the syntax and even get examples of how to use those code snippets.

50:16
Reese Tyson: Just a quick reminder about the Discover Gallery at the Ignition Community Conference, where we'll be showcasing the most outstanding Ignition projects from around the globe here. The deadline to submit your project is April 30th. So if you have a project you're proud of, I highly encourage you to submit. It's totally free to do so. And getting into the Discover Gallery lets you share your innovative work with the worldwide Ignition community. Plus, it's a fantastic way to get a high-quality marketing video for your integration services. To access the submission form, go to the website listed there on the screen, and if you have any questions about it, definitely don't hesitate to email us at icc@inductiveautomation.com. We're very much looking forward to seeing your entries.

51:04
Reese Tyson: For those of you outside of North America, we want you to know that we have a network of international Ignition distributors who provide business development opportunities and sales and technical support in your language and time zone. So if you want to learn more about the distributor in your region, please visit their website listed on the screen here. Or you can contact our International Distribution Manager, Yegor Karnaukhov. If you'd like to speak with one of our account representative at our headquarters in California, please call 800-266-7798. And to reach our new office in Australia, please call 1300 10 8088.

51:51
Reese Tyson: Okay, so next we're going to transition to the Q&A portion of this webinar. And so joining us is Garth Gross, who is a Lead Quality Assurance Engineer here at Inductive Automation, and we're very excited to have you here with us Garth. Can you give a few words about what you do here at Inductive Automation?

52:07
Garth Gross: Yeah, Reese. Like Reese said, I'm the Lead QA Engineer. My name is Garth Gross with Inductive Automation. I focus primarily on the backend system, so the OPC UA server, the modules and drivers that you guys have seen demoed today, as well as the tag system.

52:27
Reese Tyson: Perfect. Yeah, we're very much excited to have you on here. You're certainly a wealth of knowledge within Inductive Automation as well as in the forums and the community, so yeah, very excited to have you. So, alright. So once again, we're going to get to everyone's... At least try to get to everyone's questions here, so if you have any questions, be sure to type them into the questions area of the GoTo Webinar control panel there. Looks like we have one here from Doug. Doug says, asks I should say, "DNP3 and IEC 61850 drivers are great additions for the utilities industry. Are IEC 104 or IEC CP on the roadmap?" And Tom, I think I'm going to throw that one over to you. You talked a little bit about the IEC 61850 Driver. It's along the same line. Do you have anything to add there?

53:15
Thomas Goetz: Yeah. Absolutely. Thanks, Reese. So we don't currently have anything on the roadmap for IEC 104 or IEC CP. However, folks that need to connect to those devices typically do so via a middleware like a Kepware or a Matrikon. We currently want to listen to the feedback of the community through our community, and functionality that is needed. So we have an ideas.inductiveautomation.com webpage that you can request different features to be added to the platform. I certainly would suggest checking that out, see what other people have requested, as well as if you're not seeing what you would like, make a comment there.

54:00
Reese Tyson: Yeah, yeah, certainly. And I'll actually just bring that up here, the separate window. Again, that's ideas.inductiveautomation.com. We're very hyperfocused on wanting to provide the things that are in demand for our customers. So certainly search for whatever protocol. In fact, I saw several questions about different protocols here in the chat. That's the reason why I wanted to highlight this, is while we may not have a driver for every single one of those, the more folks vote for these and more feedback we get, the more likely we're going to develop those drivers because of the demand that we're seeing.

54:36
Thomas Goetz: Yeah. And specifically, those have both been requested on that ideas board. So you can go on there and just click the button to add another instance, per se, just to get it up on the list.

54:52
Reese Tyson: Perfect. I see another question from Brandon here. Asks, "We have multiple Unitronics PLCs to integrate to Ignition. Any insights are appreciated." So while again not a driver that we covered today or that we have specifically for Unitronics, a branded one, it does look like Unitronics PLCs do support Modbus communication. So that would certainly be an option there. We do have drivers for, or not drivers, videos for connecting up to Modbus devices and utilizing that protocol and addressing that goes along with that on Inductive University. So definitely would check out Inductive University for video walkthroughs on how to connect there. I also noticed a comment about ABB PLCs and if we have any info on those as well. So ABB PLCs are another one that you could connect up via Modbus, and so that would certainly be an option there. Once again, of course, if you want information on connecting up to those, certainly check out the Inductive Automation.

56:05
Garth Gross: And we have tested with ABB PLCs for the 61850 spec. As long as they are 61850-compliant, you will be able to connect up to them for the 61850 Driver.

56:19
Reese Tyson: Perfect. So it looks like there is a question that Josh asks about, "Any plans to add a feature to the OPC client module that lets it read the service-level tag for failure decisions? Not having this built-in makes compatibility with certain OPC servers difficult. The biggest integration issue I'm seeing compatibility with Schneider Electric, Modicon PLCs running OPC HSV." Garth, do you have anything to add to that one?

56:49
Garth Gross: So the Ignition's OPC UA server provides the client redundancy for third parties to connect to by looking at the service-level tag itself with the OPC server. In terms of Ignition being able to read it from another device, we do not have that functionality currently. The main issue that we run into with that is there is no way to sync the actual settings in our client. We do have the ability to define a backup server to connect to. So if it cannot connect to one, it will fail over to the other. All of those things are currently in the Ignition product in the manual. Looking up the OPC UA client redundancy or server redundancy should give information about that. On the server with us as a client connecting to a remote server, it's going to be us connecting to it. If we can't connect to it, we will automatically fail over. We are not going to look at the service level unfortunately at this time. It's something we may look into doing at some point in the future.

58:05
Reese Tyson: Perfect. Yeah, and it looks like there's several more questions, and I see we are over one minute here. Someone asked, "When will these be available?" These new drivers? They're available right now. They're available on our website. Just go ahead and download Ignition on the Inductive Automation website, and you can get going from there. So I think that's going to be... I see there are several other questions. We don't have time to get to all of them, but we're going to go ahead and... Oh.

58:32
Garth Gross: Real quick, Reese. I just wanted to get into the GOOSE question real quick. We don't have any plans for supporting GOOSE or sampled values for the 61850 Driver. They operate on the OSI layer, that basically pulls out any of the TCP or networking layer. And the goal for those things are to make them quick and to interoperate with other 61850 devices that can react quickly enough. The SCADA system is not intended for doing that. While we can get all of the information of what happened and can process things in order as it's sent from the device, the goal is for us just to show what happened, not be able to handle anything real time.

59:19
Reese Tyson: Alrighty. With that, yeah, I know we're a couple minutes over, so I'm going to wrap it up here. I appreciate everyone attending here. We'll be back next month with another webinar, but until then, stay connected with us on social media, subscribe to our weekly news feed email so you can stay up to date throughout a lot of different mediums. Not only those, but blogs, articles, case studies, and more. There's really a ton of helpful content for you to explore on our website, so certainly be sure to check that out. But once again, thanks so much for joining us, and hope you have a fantastic day.

59:50
Thomas Goetz: Thank you, Reese.

Posted on March 11, 2024