Inductive Automation Blog

Connecting you to ideas, tips, updates and thought-leadership
from Inductive Automation

Break Through Power & Energy Barriers with Ignition Rachel Bano Tue, 11/12/2024 - 14:46

What’s the power of tracking your organization’s energy use? Understanding your energy data reduces your operational costs, and helps you assess equipment health and meet regulatory or ESG guidelines.

It’s hard to manage what you can’t measure. In this session, you’ll see how to quickly incorporate energy monitoring into your Ignition projects using free Ignition Exchange resources. Plus, you’ll hear from a State of Indiana representative who created the Energy INsights program that helps Indiana-based manufacturers address energy use while taking steps toward digitally transforming their business operations.

Transcript:

00:00
Rob Huddleston: Hello, I'm Rob Huddleston, and I'm a Technical Trainer here at Inductive Automation, and I'm gonna be your moderator for this session. To start things off, I'd like to introduce our speakers today. Benson Hougland is the Vice President at Opto 22. With 35 years of experience in information technology and industrial automation, Benson drives product strategy for Opto 22 automation and control systems that connect and secure the real world of OT with the systems and networks of IT in the cloud. Benson speaks at trade shows and conferences, including IBM Think, Arc Forum, and ISA. His 2014 TED Talk introduces non-technical people to IoT.

00:38
Rob Huddleston: Becca Gillespie is a Managing Director at Energy Systems Network. Becca joined ESN as a Managing Director in January of 2023. Prior to that, she had worked as a New Products and Services Lead at Duquesne Light Company and was a Sales Director and Product Manager for Unit Energy Technologies. She also worked at Federal Energy Regulatory Commission as an Energy Analyst and as a Propulsion Engineer at NASA.

01:07
Benson Hougland: Fantastic. Thank you, Rob. Welcome, everyone. Glad you're here. It's been a long ICC. Well, not a long one, but a great ICC. Everybody enjoying themselves? Had some good sessions and whatnot?

01:21
Benson Hougland: Right on, right on. That's good to hear. Thanks for hanging out all the way to the end to be here. I appreciate that. In the spirit of this year's ICC, of course, which is "Breakthrough," the title of our presentation is "Breakthrough Power and Energy Barriers with Ignition." So again, thank you for attending this afternoon. And thank you to all of you out there on the virtual sessions. Glad you could join us as well. As you guys know, these sessions will be recorded. So, as Rob said, my name is Benson, and I will be your host for this journey from your energy-consuming devices into Ignition. And as Rob said, I'll be joined by Becca Gillepsie. Gillespie. Sorry, Becca. And Becca is a customer of Ignition, of course, and of Opto 22. And she's gonna have a great story to tell you about her project in Indiana.

02:17
Benson Hougland: Now, I've decided to forego the obligatory Opto 22 slide and just... Well, if you don't know Opto, we've been around 50 years. We are a Southern California-based manufacturer of hardware and software. And we've been in business for 50 years. We've got thousands of applications all over the world, including one hopefully you just saw at the Build-a-Thon. So, yeah, we're involved in that as well. So, with introductions out of the way. Oh, not really. I love this drone shot. I got a drone. I thought, oh, this would be fun. So, that is our factory. And, indeed, it's in Temecula, California, about an hour north of San Diego, which makes it about eight hours south of here. And it is where we design, manufacture, support everything. So, indeed, all of the stuff I'm gonna talk to you about today that's relative to Opto is, indeed, made in the USA.

03:12
Benson Hougland: Alright. Now, with introductions out of the way, quick review of today's session. I'm not gonna read that to you. You've probably read it already, and that's why you're either here in person or have joined virtually. But, in short, we're gonna cover why monitoring power and energy in your facility or your organization can be beneficial. So, we're gonna show you how you can quickly start doing that with a pretty simple product and Ignition and get you on your way to doing some interesting things with energy. And then, following that, Becca will come up and discuss her Energy Insights program.

03:50
Benson Hougland: Okay. So the big question. Still got mic? The big question is, why? Why are we gonna monitor energy? Well, probably the obvious reason is, what? Save money? Typically, that's what we see. And there's no question you can actually do so. And there's a couple of reasons why. The big one is, well, there's several big ones, but one is that rising cost of energy. We heard Becca on a panel earlier this week talking about that's some of the things the state of Indiana and all across the country, in fact, across the globe, we are dealing with rising energy costs. The other thing that we're having to deal with is something called dynamic pricing. So now you're getting charged a different value for your energy based on when you use it. And then we have another situation where we have what we call phantom loads or phantom... Basically devices that might be in your plant that are using a lot of energy that you don't even know about and are adding up on your bill. But the big one, this one right here at the top, the demand charge. This is something you're probably not even aware of.

04:53
Benson Hougland: And let's be frank. You're probably not paying the power bill for your plant. Somebody else is. But, indeed, a demand charge is one of the highest parts of your bill. And what is it? A demand charge is when you're pulling energy from the grid into your plant, you're gonna pay for that over time. That's called kWh, right? And so how much you use in a month, you get charged for that. But you also get charged for the largest amount of peak power you use during that billing cycle. And that means when you fire up all of your loads within a facility, you may draw a whole bunch of peak power at one time. They peg that. You get charged for that. We are a manufacturer in the state of California. Energy is expensive here in this state.

05:39
Benson Hougland: And, indeed, when we started doing this, we ate our own dog food in quite a big way. That was the biggest part of our bill. Our demand charge was more than our consumption. So tracking that down is really important. Bottom line, you can't control or monitor your energy costs without actually monitoring your energy in the first place. Now, there are some other reasons why power and energy monitoring might be important. And it has to do with the health of your equipment. Putting an energy monitoring device on your equipment is like putting a stethoscope on there. So we can start getting some really valuable information.

06:15
Benson Hougland: For example, let's say a pump was starting to... You know, the current draw was starting to go up on a pump or a motor or something like that. And we see that happening over time. It may be a reason to call somebody in maintenance or set an alarm or something like that to go take a look at that asset before something damaging occurs to it. So that's a big one in understanding the health of your machines. And then, finally, we have something here called ESG guidelines. What are those? Environmental, social, and governance. Bottom line, it's a sustainability framework for people to monitor or at least track what their sustainability footprint looks like. And for those of you who did attend the keynote with Kat earlier in the week, clearly she made a pretty big point about how important sustainability is. And, in fact, a lot of that keynote was.

07:07
Benson Hougland: So there's a lot of companies that have to address these guidelines or other regulatory compliance goals. And, again, you can't do that if you're not monitoring your energy. Okay. So enough about why. Let's now start talking about what it looks like and how. So what I'm gonna do, I'll start using this thing. We're gonna do something that's an architecture build-out. If you've been to one of my sessions before, you know, I love putting pictures up and going through that flow. Now, don't worry. I'm gonna get into some of the details of each of these steps. But just as a big-picture look, let's take a look. We've got our energy loads. And you can see those up there as, in this case, an air compressor that provides machine tool air because this is what we have in our own facility. And, yes, we are tracking that.

07:53
Benson Hougland: And then just another nice image up there of an electrical hydraulic press. And, indeed, what we do is we monitor these devices by connecting RIO EMUs up to them. And I'm gonna get into that detail a little bit more. Once we do that, these RIO EMUs just fit right on the LAN, on your Ethernet LAN. So once they get on the Ethernet LAN, I'll use my PC or workstation, and I'll configure that device. I'll go in there. I'll create an account. These are cyber secure devices, by the way. So they're IT friendly and so on. More details on that in a moment. And then once I've done that, I'll configure the load, basically the size of the load. And then I'll turn on the built-in OPC UA server. And once that configuration occurs, I'm now ready to start configuring Ignition, which we'll get into. We'll configure the OPC UA client here in Ignition to the OPC UA server in the RIO EMU, and we'll start building out our application.

08:50
Benson Hougland: In fact, I'm gonna show you how simple it is to build this application and the reason why. We have Ignition Exchange resources. In fact, if you were at the Build-a-Thon, you saw there was an honorable mention for Alex Marcy's with Corso Systems, that Exchange resource. We're gonna use that to make it really easy to start pulling this data in. Okay. From there, where can you go with this? Well, clearly, I'm a big MQTT fan. I'm also a huge fan of Ignition Cloud Edition, and that's the next logical step.

09:24
Benson Hougland: We can use MQTT to start to get this up into, say, Ignition Cloud Edition or, frankly, to any software that can consume the MQTT data. For example, Snowflake. Maybe I'm gonna start taking some of my energy data and throwing it up there to Snowflake for analytics, for storage, all kinds of stuff. So aside from the fact that you've already got all this power in Ignition for reporting and historical, alarms, and so on, now we can extend that functionality very, very easily. So that's really cool. And, in fact, Becca's application she'll talk about is using a component of Ignition Cloud Edition. And I'd be remiss to not say that, yeah, the real EMUs also support MQTT natively. So we could actually connect directly to the cloud from them, but we're gonna keep this simple. We're just gonna go with this configuration here. Very, very simple EMUs to Ignition. You all on board? Let's see the steps.

10:20
Benson Hougland: There's not a lot of steps, but there's important ones, so let's get going. These are all the steps, and I'll go through these in detail. But the big ones are, as you can see in the bold text, we're gonna identify energy load. We're gonna instrument it. We'll connect and configure. We'll get those resources, import them into our Ignition project, instantiate the UDT, and drag and drop into Perspective views. Once we get past that load side of connecting the load, it's literally five minutes to get this stuff up and running. But first, most important part, what load are we gonna measure? There's a lot of different examples there. A lot of these we use in our own factory, the compressors, HVAC systems, but presses or industrial refrigeration, there's a lot of big loads that you may want to look at, not only for cost savings again, but for load health and reliability.

11:11
Benson Hougland: So pick those loads, but keep in mind when you pick those loads, consider that you wanna look not just at consumption over time, kWh, but you also wanna be looking at what the demand is. So another way to look at it is when you fire up a big load, like say it's a big motor, what you would look at the energy profile for that, you'll see it goes...

11:32
Benson Hougland: Way high when it starts up, and then it tapers off, and then it kind of rides out. That peak part, that's what we wanna pay attention to. So once we've identified our loads, then we're going to sensor or instrument them, and we're gonna use something called CTs, these are current transformers. All they do is take this current that's on a given load, and they take it down to a secondary voltage, in this case, 333 millivolts, making it really safe and easy to work with. We also wanna probably choose clamp-on CTs. Why? Because it makes instrumenting a load much, much easier. We're not gonna have to unwire the load and stick donuts on and all that. We can just clamp it on. The big thing we wanna do here is choose the right CT or sensor for the size of the load. The picture I have up here is a 600-amp sensor, so as long as the load is 600 amps or less, this CT will work, but there's all kinds of ranges that are available everywhere. You can even buy these on Amazon, and they're about $100, $200 each, so pretty straightforward there.

12:38
Benson Hougland: We're gonna use CTs, and then we're gonna connect those CTs directly to the groov RIO, the groov RIO EMU, I should say. More on that in a moment, but we're also gonna tie into the voltage line right into the RIO as well, and the beauty of the RIO EMU is it will accept up to 600 volts AC directly to that unit, which is very cool, so we don't need potential transformers and so on. We have power over Ethernet, or you can use line power, and it supports a number of different load types, so maybe some of you guys are like, okay, what is an EMU? No, it's not an Australian bird. It's an energy monitoring unit, and that's what we're gonna talk about for just a minute. This is not a sales pitch, but to put it in the context of the kind of tool we're using, I'll briefly go over this. 64 channels of data coming out of this device, both power and consumption, so it's actually tracking over time how much energy you're using. 3-phase, single phase, you decide, delta or Wye configurations, PoE or line-powered, cyber secure, out of the box, and IT friendly.

13:51
Benson Hougland: Uses DHCP, it uses DNS, it uses all the tools that IT uses to manage devices on a network, so it's a first-class citizen on any Ethernet network, and it's all browser-based configuration. So there's a web server inside, and all I do is connect the web server, and I start configuring it. There are some other nice features in there, USB for Wi-Fi and so on, but it does support a lot of different protocols, MQTT Sparkplug B, OPC UA, and for those of you who are still clinging on to your Modbus registers, yes, that is supported as well. And again, it's compatible with all kinds of different current transformers. And there's a laundry list of stuff over on the side, again, outside of the scope of this presentation, but know that this has got a lot of cool stuff inside that solves real problems like remote connectivity, and it can even run a control program if you want to do that, but we're gonna keep it simple. We've got the RIO EMU on the LAN. Now we're gonna... Once it's connected to the network, we'll create an admin account. No default passwords, no backdoors, anything like that. We'll set the hostname, set the time, set the certs.

15:03
Benson Hougland: We'll configure the load type and the current and voltage values, and then we'll go and configure the onboard OPC UA server. Now what we're getting from these CTs and the voltage is two things: current measured in amps and voltage measured in volts. Those are the two primary pieces of information you need to start gathering all this information about, again, consumption relative to cost and health and reliability of a given load. Once we have that load type in there, again, it's just the size of the load and its configuration, then we'll configure the onboard OPC UA server so that we can get here into Ignition, and indeed we'll just use the OPC connection page right within Ignition, connect to OPC UA. It goes out, discovers the OPC UA server on the RIO EMU. If we just go through the wizard, couldn't be any simpler. Ignition's done a great job of making it really easy to connect to OPC servers. Once that's done, you give your new OPC connection a name, something unique to that particular load, whatever it might be. It could be a compressor, it could be a press, it could be whatever.

16:16
Benson Hougland: Once I have that done, now I'm ready to start making the job easier. Now, yes, you can just right from here start building your tag, dragging over OPC tags, your tag provider, blah, blah, blah. But we made it really easy for you. What we've done is we've created... I've worked with Corso Systems and Alex Marcy to develop these UDTs and Perspective templates that are freely available from the Exchange. Log in, download these, get them onto your computer. Once you've done that, we're gonna go ahead and import those into Ignition. First, what we're gonna do is import the UDTs. Pretty simple. I go for import, go where the file you placed on your PC, and boom, just hit that single step. I now have my UDT definition already ready to go in Ignition. So while I'm here in an import phase of my project, I'm gonna go ahead and import... Oh, yeah, I think it was already going down to that.

17:14
Benson Hougland: Let's go back to here. Once I get that, I'm gonna import my templates. So pretty simple there. All your templates and styles will come right in, and look at that. Under the Perspective folder, RIO EMU Template. We named it specifically so that it wouldn't overwrite perhaps some other styles or templates you might be using. Okay, we're in good shape there. Let's move on. Next thing, instantiate the UDT. We have the UDT definition. Now we're actually going to create the device in a tag folder. So we go new tag, data type instance, the UDT itself, and I fill out a set of parameters. Now this is cool because what we're doing here, look at these parameters. You're actually modeling the load with this parameter dialog. So I can give the load a name. I can give it its location, its install date, what the load phases are. I'm literally modeling my load. So I'm not just looking at volts and amps, right? I'm looking at a load, and it's configured all within that UDT.

18:16
Benson Hougland: So that makes it real simple to start moving the data up with context. Super important. So here we are. I'm pulling in this load, and I did pull in the compressor from Opto 22, so these are all real numbers. Yes, that compressor draws 39 kW when it's running, providing tool error to our manufacturing plant. Cool, huh? Next up, we're going to literally create a new view. I just choose the defaults here, and I'm gonna click on the UDT, and I'm gonna drag it to the canvas. And boom, there it is, all done. All I've got to do is resize it. It's fully responsive, so you can change its size around and do whatever you want. I've got it. I'm gonna save my project. Here we go. I'm gonna go load it up and launch Perspective in the URL or in the browser. Voila, how cool is that, right?

19:09
Benson Hougland: It's so simple. It's so simple. Now, these are free Exchange resources, so you can do whatever you want to them. You don't like the Opto red at the top? Hey, I won't take it personally. No worries. All of that is available, and as you saw, I can click through different tabs. I can see all the phase information. I can see all the totals, and I can see what? The modeling information. That's a Sullair LS-10. It is indeed on our manufacturing first floor, and the load type is 300 volt RMS wye instead of a delta. So, there's my completed application. Here, all I did was bring on two loads and the same thing, and I used the Perspective default template to put it in there, and now, within, again, just a few minutes, I now can see what my energy is doing for any given load. I can do the whole building. I can choose different loads, whatever you want, but it's really cool, and I did it all with this little guy. So, while Becca's getting up, 'cause that's who's up next, I'm gonna pass this little RIO around. So, it has my name on it, so yes, I'd like it back.

20:16
Audience Member 1: So it's signed.

20:17
Benson Hougland: Yeah, it is signed. It's autographed. And I do have an Apple tag in it, so don't try to walk away with it. So there you go.

20:35
Benson Hougland: Got mic. Test one.

20:39
Becca Gillespie: Is mine working now? Not yet. Okay. Oh, now it is. Great. Alright. Thank you, everyone. So, yes, I would like to share with you a little bit about how we use this architecture in the Energy INsights Program in Indiana. So the Energy INsights Program is a state-sponsored program meant to provide free deployments of pilot projects for small-to-medium manufacturers in the state of Indiana and show them something about their energy consumption and get them started on their digital journey. It's paid for by the IEDC, the Indiana Economic Development Corporation. Oftentimes, EDCs are seen as just whale hunters getting that next chip factory or battery factory, but they also, at least in Indiana, try to keep existing manufacturers competitive, it's a lesser known mission of theirs. But it's important, and keeping them competitive is what they're after in this program.

21:42
Becca Gillespie: Our program would be nothing without our integrator partners, because I'm just one person at ESN. I don't implement each of these pilot projects, and we work with Axiom, LHP, recently Brugh, Blue Ridge, who's here today, TensorIoT, MartinCSI, and NineTwelve. We would also be nothing without our vendor partners, Benson, of course, at Opto 22, and Inductive Automation, and then we have some channel partners who are also in the space of helping people begin their digital journey.

22:19
Becca Gillespie: Great, so Benson did a great job of explaining why energy is important, and Energy INsights in particular has these dual goals of helping them start on their digital journey and help them reduce their energy costs. But just to reiterate, one thing is, we want every small-to-medium manufacturer to understand and reduce their energy costs, and we think that it's a good pilot project because everyone pays for energy. It's something every manufacturer is paying for, and everyone is using, and so in that way it's easier for that to be a shared and make shared resources that are applicable to everyone. And they're also rising energy costs, as Benson mentioned. Another thing is they're not competitive, so can create a better space for collaboration, because one person reducing their energy cost, even if they're in the exact same field, really doesn't impact directly someone else's reducing their energy costs, so people can work together. You just both are paying the utility less, which is, you know, good, even though I used to work for one.

23:24
Becca Gillespie: And then there's all the other uses of energy data, which Benson mentioned, but also I've seen some really cool presentations here about how interesting amp data is because, you know what? It is the heartbeat of your machine. So, yeah, I don't love when people use it for that, but that is really cool, and I love to see how people are figuring out the health of their machine with amps. And then the GHG requirements.

23:50
Becca Gillespie: Essentially, just to describe the program at a high level, as if you were small-to-medium manufacturers in Indiana, which I know most of you are not, but just so you understand, essentially half of the grant goes towards the hardware and the software package we give. That's, as I mentioned, Opto 22 and Inductive Automation, and a little bit of extra money for the current transducers and the boxes and the other things that they may need to get it started, and about half the money goes to time spent with an integrator to deploy, integrate, work through all those IT/OT challenges I've heard so much about, and then also, hopefully, once all that's done, help them develop a real custom use case with their energy data or with their other data in their plant that kind of meets their needs where they are at that moment. We also have a pretty light training program, just meant to help people understand how to use their starter kit, what is energy data, why might they want to look at it, what are the things they're seeing there, what is their energy bill.

24:52
Becca Gillespie: We help them... We do a short training on upskilling and where to go next after this, and another training on scaling. So a lot of the whole purpose of this product is that they can grow with it, it can grow with them, so we do a training with them on that. But what do we hope that they walk away with? For one, we want them to have actual measurable insights. We want to measure a KPI of dollars saved, and we want them to really walk away with that knowledge so that they can chart their own course through the Industry 4.0 landscape. So if at the end of the program, no offense, Benson, it hasn't happened yet, but if they threw the starter kit in the trash, and they said, "But I know what I do want," that would still be a success for Indiana. And luckily, like I said, that doesn't happen, people really end up liking this starter kit. And of course, understanding energy data.

25:50
Becca Gillespie: So why energy data? What is so exciting about energy data? As Benson mentioned... Well, for starters, I mean, saving energy is a big project. There's a lot of things that a small-to-medium manufacturer can do that an energy auditor can help them do. An energy auditor walks through your plant and tells you everything that's going on at a single point in time. So I always recommend manufacturers who are in the energy space and want to save energy, do that too. Getting everything at once, but at a single point in time is really important. But data over time helps you in a really different way. One of the key ways that data over time can help you is with that demand charge reduction, as Benson said. Reducing one's demand charge, it's more of an art than a science.

26:34
Becca Gillespie: Your demand charge happens whenever all your loads are firing at the same time. And you can't really... You have to almost play with sometimes the startup sequencing, which is basically the corrective action to startup sequencing often, or the, sort of finding of natural storage. Natural storage would be like your building can stay cool. It has a thermal capacity. So you could pre-cool your building so that your AC's not on when you're also firing your big equipment, finding natural storage opportunities. But sort of flattening that peak, taking... Maybe you're using the exact, oops... I don't know how to... Oops. Maybe you have the exact same energy, you know, the integral under that curve hasn't changed, but now it's flatter, and you save a whole bunch of money on your energy bill. The other is energy efficiency. Some of the examples... And examples from the program of demand charge reduction have been just that, startup sequencing. We have someone who's working on changing the way they process things with respect to when their solar's online, and figuring out ways to flatten their demand curve.

27:40
Becca Gillespie: And one that just came on that also wants to sort of optimize when multiple pumps are running at the same time, because they have some flexibility, so that they don't have as big of a demand charge. The next is energy efficiency. For that, some of the... Again, that's where, you're actually measuring that area under the curve, the amount of water you drink, if you sort of think of the water analogy. It's energy efficiency. And so for this one, how does data help? Well, yeah, it is good for you to have that energy audit. They walk in, they say like that there's a leak in your compressor system, or there's, that motor's way too old, and if you bought a new one, it would pay for itself in three months. Great information. But the leak in the compressor system is also something you could discover with data over time. So if you're monitoring your energy every day, it's going up, and up, and up, you know something's wrong. Now you're using more energy than you were a month ago, probably there's a leak in there. Another one has been, that's been used for a lot in Energy Insights is justifying an investment. So some people compare like an old line to a new line, figure out how much energy they save on the new line, and then they can justify some investments or upgrades to their old line.

28:58
Becca Gillespie: And in one particular case, a customer was able to save 20% off their energy bill by figuring out how much a VFD would save them, and then watching that change, and then installing VFDs throughout all of their fans and their system, and running it at a low. It's essentially running it at an optimized speed instead of just a fixed speed, which is what AC motors do. But yeah, again, most people wanna use it for other, the other category, which as I mentioned, you've heard a lot about today, we had one group work with this to do sort of an OEE, a very rough OEE of their equipment, how often was it running above a certain kilowatts, to get a sense of how often that equipment was on. Another one of our base dashboards does a part counter, which again, it just looks for those humps in the amps, or actually in power, because we wouldn't just use amps, because we're using Opto 22.

29:54
Becca Gillespie: So it looks for those humps and says how many times did it go above this many kilowatts, and then you can also measure sort of kilowatt hours per bump, so you can get that sort of production real time, how much energy was per part, if these are parts. Now often we're testing these things on Benson's data, so I'm counting cycles on a compressor instead of actual parts, but one of our customers is using it now for their part counting. And then, so monitoring, just the most simple one of monitoring when equipment is on or off. So this is the architecture. We are very similar to the one you just saw, and I learned a new word this morning, so I'm excited to say I think our UDTs are referencing, they're referencing Benson's UDTs, and we take that same information that he gave, the raw data coming out, and do some information with it.

30:57
Becca Gillespie: You have to plug in someone's demand charge, dollars per kilowatt, you have to have all these dashboard features, and where it's located, what the temperature is there, things like that. So we have all of our dashboard-related analytics and configurations referencing the UDT that Benson made, and then we have a base dashboard set that helps these people get started. I actually forgot to mention this one, production, that's actually an old version of it, but production is just kind of on or off. I guess I don't have one with the part counter. Anyway, but yeah, essentially energy, power, and so on. But yeah, essentially the program gives people three points in their plant, so we often advise them to do something that looks like it will be an interesting study, or the three biggest loads, and then we do allow for the on-the-cloud version, but because so many small-to-medium manufacturers are not yet ready for that, we also have an on-prem version as well.

32:00
Becca Gillespie: But that's pretty much it, what makes Indiana unique. I went into this a bit yesterday, but there really aren't a lot of other states that say the best way to digitize is through helping people pilot it. Often there's just the workforce development aspect, but I think that this is a really unique program because of that. It wants to... It doesn't just train the people who are working on it, and trust me, our training is not training them, it just points them to Benson's many YouTube videos, and Inductive University, and gets them very barely started, but getting their hands dirty is a really great way to learn. But also it trains the CEOs, it gets them used to it, it gets them comfortable with it, it gets them thinking about smart manufacturing differently. So I think pilot programs are a great way to do it. But yeah, that's pretty much what makes Indiana unique. So I think that's all my time, any questions?

33:03
Rob Huddleston: Okay, well thank you Benson and Becca, let's give them both a great big hand.

33:10
Rob Huddleston: So we do have some time for questions. Please raise your hand, and please wait for a microphone, the streaming people can't hear if you just ask.

33:27
Audience Member 2: Alright, I'll be green. Becca, are those smart dashboards available on the Exchange?

33:32
Becca Gillespie: You know, they aren't right now. I'm learning about the Exchange right now. I think when they're mature... I mean, they're pretty mature. But they're not there yet.

33:41
Audience Member 2: The quicker you give it to us, the more than we can play with them.

33:43
Becca Gillespie: Yeah, yeah, sure. Okay, I mean, yes, I think I can make them available on the Exchange, and the reference UDTs. I think, not knowing that word, I had a hard time explaining it to people, but it sounds like that would be meaningful to you. If I told you what a reference UDT was, you'd all get that, it sounds like.

34:01
Benson Hougland: A reference tag to the UDT. So that's...

34:03
Becca Gillespie: So it's like...

34:04
Benson Hougland: The references.

34:06
Becca Gillespie: Yeah, I can't say...

34:07
Benson Hougland: The engine tags that are coming.

34:09
Becca Gillespie: Yeah, I didn't know how to explain that before.

34:11
Benson Hougland: And just so you know, Becca and the state put this program together, they also paid for the development of these dashboards. And indeed, she's been willing to share. So Becca did share with us these dashboards, and we just launched a pilot project for McDonald's stores in Southern California. So they're using the same templates that Becca's team put together. So indeed, I think that's our next step. Let's get these guys on the Exchange as well.

34:48
Audience Member 3: While we're getting that figured out I can ask my question. When we talk about historizing data, have you found like a sweet spot for how quickly to save energy data so that you can aggregate it into like a total monthly usage?

35:10
Becca Gillespie: How quickly? So I usually take Benson's raw data, which comes out once a second. His 64 data points come out once a second. By the way, he's actually can get harmonics off of his, Opto 22. He's measuring at 4,000 hertz, and then turning it into many data points, including harmonics, real and reactive power, all of these things. But I take that once a second and use it... We've only basically compressed it with dead bands as opposed to compressing it further. But it is a little bit cumbersome sometimes to access the long data for monthly reporting. So actually, they take a lot of load. So if you guys have suggestions on that.

35:52
Benson Hougland: Yeah, we offer both kW and kWh. And I think that's important because the kW, of course, is real-time power at a given moment in time. Great for dashboarding real-time values. But the devices are also capable of storing the data, the kWh, which can be remotely reset, say at the end of the shift, at the end of the day, at the end of the month. So now you can start collecting that data too. But when you get it into historization, yes, you're probably grabbing those sample data and store them in a historical database. But I think...

36:22
Becca Gillespie: I should add, yeah, for the peak power, actually when you need to aggregate the kilowatt number, it doesn't actually make sense to do anything more refined than what your utility is using. And 99.9% of all utilities use a 15-minute data window for their peak power calculation. Now you might not hit the exact same 15 minutes as they're hitting. And so you might get it off. But we do collect 15 minute, we have a separate data point that's just on the 15-minute data. So that's a good way to get the peak over the course of the month. And then, like I said, for the... Like Benson was saying, for over the course of a month, you can look at the end energy and the beginning and subtract them. And that's a pretty good way to do it. He collects that every 30 seconds.

37:08
Benson Hougland: Yeah. And that UDT, when you download it, you can get into the UDT and we're actually doing the calculation for the interval data in the UDT. So we're getting that 15-minute kW and it's at the top quarter, half past the hour, set on the time of course of the gateway. And also kWh, 15-minute interval. So you know how much you consumed over that time.

37:32
Audience Member 4: Okay. So you mentioned you were at FERC. So you probably know what an ISO is.

37:37
Becca Gillespie: Yes.

37:37
Audience Member 4: ISO, that's the world I deal in at the grid level.

37:41
Becca Gillespie: Oh, great. Yeah. Love that.

37:43
Audience Member 4: Okay. So my question in this program is you're talking about peak demand, which is a utility chart...

37:48
Becca Gillespie: Yes. Yeah.

37:49
Audience Member 4: But are you anything with like 5CP or are you're... Not yet? Oh, good. We're...

37:54
Becca Gillespie: No, we're not. I wish we were. I'm so excited that you asked that.

37:57
Audience Member 4: I'll help you do that because that's a revenue stream...

38:02
Becca Gillespie: I know.

38:02
Audience Member 3: That they could tap into. 'Cause are these customers using wholesale or retail?

38:07
Becca Gillespie: So most of them are retail. They often do have access to demand-response programs. I literally don't wanna use the word "demand" to describe two things. Like when I say demand charge and they're just learning about that for the first time.

38:18
Audience Member 4: Right. I don't wanna confuse you.

38:19
Becca Gillespie: And then I go here demand response. This is a totally different thing about the hottest day of the year. So I haven't breached it that much, but I like would so love it. In fact, we had a utility tell us.

38:30
Audience Member 4: We do that as a company.

38:31
Becca Gillespie: Love that. Yes. I would love to talk more...

38:32
Audience Member 4: I'll talk to you after this because we have... We actually, I think, knew about you guys...

38:38
Becca Gillespie: Oh, cool.

38:38
Audience Member 4: Doing this and I'll talk to you afterwards about helping you with the peak demand, that kind of stuff.

38:42
Becca Gillespie: That's really great.

38:43
Benson Hougland: Yeah. We've been involved in DR programs at NYSERDA, at MISO, at CAISO for dozens of years. We're on our own DR program at Opto. Oh, perfect. Yeah. PJM. That's another one we did.

38:56
Becca Gillespie: One of our partners actually told me one of the reasons that they have a hard time implementing DR at manufacturers is because the utility cannot tell them in a real time what they're consuming. And so when they say, go down to one megawatt from three, they can't say if they've succeeded or not. And that has been a huge hurdle for them. So they said, why don't we put all these Energy INsights programs in those? But you know how utility... I mean, I used to work for one, so I can bad mouth them. But yeah. So, you know, they can't really work with you very effectively. So typical. No. But I would love that. I would love that. Yeah.

39:42
Audience Member 5: So I was just gonna answer some questions that were asked. Brandon from Blue Ridge. So the integrators are working together right now to put together things for the Exchange. We're mainly working on converting ICE to on-premise. So that helps answer that question. Once we have it all packaged and vetted out, we'll get those out there. And then as far as seeing the historical data and how we can aggregate that, we ran into some issues with Power Charts and the way they were working. So we're working on building custom components to show the aggregated data better, if that helps answer that question.

40:12
Becca Gillespie: Yeah. Thank you, Brandon. Yes.

40:14
Benson Hougland: Yeah, that's exactly...

40:15
Becca Gillespie: One of our beloved integrators.

40:16
Benson Hougland: Yeah. And Blue Ridge did a fantastic job on some of this early templating and the Perspective styles and templates and styles. And that's another reason why I'm really excited about 8.3 and the new Power Historian. So I think we're gonna see some really cool things there in terms of storing this kind of energy data using the new Power Historian.

40:46
Audience Member 6: How would an Indiana small business get involved or an Indiana integrator get involved in this?

40:53
Becca Gillespie: Great. Yeah. Great question. For the small businesses, we have a website. It's energyinsights.tech. I probably should have plugged that here at the end.

41:01
Benson Hougland: Yeah, I just never thought about myself.

41:03
Becca Gillespie: I'm the worst. So but yeah, and then essentially that contact form goes to me and that would be a way to get involved. We don't really have a process for growing our integrator base. We're kind of just doing it as the program grows. So we have just grown to include Brugh recently and we haven't necessarily expanded beyond that. But certainly we're looking for additional sustainable funding options. We're looking at other states for sustainable program opportunities. The DOE just released a grant that was for basically exactly at this intersection of smart manufacturing and energy. So as those grow, we can open that capability again. But as we are, we're just working with this group to try to continue to churn through the projects.

41:47
Rob Huddleston: One more question.

42:02
Audience Member 7: Thank you. This was pretty good. Are you seeing this... And you did mention this briefly, we're going out to other states or other countries, this process that you worked out, which is government-funded support to small-and-medium sized manufacturers?

42:19
Becca Gillespie: Yeah. So there is, like I mentioned, there is this DOE grant, but we didn't necessarily have other states submitting on our behalf for that. That was due on Monday, sadly. But maybe your state submitted it and it is, I can send you the link if you come up after and you can see if your state went after it. And then there's SESAME, it kind of works in that same intersection as well. They do pilot projects in the intersection of energy and...

42:51
Benson Hougland: Smart factory.

42:51
Becca Gillespie: Smart factory. They're not as so prescriptive as this. This is kind of a unique... It's a little bit prescriptive for some people's tastes, which I understand, but it's also a way to get started. You know, pros and cons. But they're less prescriptive. They're more of a, like, choose-your-own-adventure pilot. And then Purdue is starting a ManuFuture program. And it's manufuture.net. And they may work with us to continue to pilot these programs. But no, I think we'd still be open to sharing it with more states and countries. It just hasn't happened yet.

43:28
Rob Huddleston: Alright. Well, thank you again.

43:30
Becca Gillespie: Thanks.

43:30
Benson Hougland: Thank you, everyone.

Wistia ID
ql8fxniu6r
Hero
Thumbnail
Video Duration
2618

Speakers

Benson Hougland

VP

Opto 22

Rebecca Gillespie

Managing Director

Energy Systems Network

ICC Year
2024.00
Integrating Ignition with Exciting Peripherals Rachel Bano Thu, 11/07/2024 - 08:47

Ignition is based on open standards, is deployable anywhere, provides data to anyone, and can integrate with virtually any system or device. This allows you to leverage best-in-class technology with seamless integration to Ignition. Perspective and the native iOS and Android application is a perfect example of this. Ignition  enables people to extend their applications to a phone or tablet by leveraging the camera, GPS, NFC, Bluetooth LE, and other mobile tools. In this session, you’ll get some exciting use cases and live demos featuring one exciting OT peripheral and one very cool guest appearance you won’t want to miss!

Transcript:

00:00
Travis Cox: Hello, everybody. Hey, thank you. I'll take that. How y'all doing this afternoon? All right, well, I have an amazing and exciting session for y'all here today. The title... The marketing team wanted me to keep it pretty vague, so that's what we did. But it's, we're gonna be showing how we can integrate Ignition with some really exciting peripherals here today. So, of course, I am Travis Cox, Chief Technology Evangelist here. And throughout the years I've being Inductive Automation, I've always been excited to just play with new technology. Of course, when people ask, "Can Ignition get connected with this or do that?" I'm the first one that says, "Of course, let's just go figure out how to make this happen." So that's really what this session's all about is how we can just solve customers' pain points and leverage Ignition to do that.

00:56
Travis Cox: So, we're gonna look at a couple of things today. First is just why Ignition's so freaking awesome. We're gonna look at that, and of course, interoperability, just the keys about interoperability with Ignition and why it's so important out there. And then we have two exciting demonstrations for you here today that show just that with some pretty cool technology that has some pretty big impactful benefits for customers. So let's first start before we get into those demos. Why is Ignition so awesome? So, I wanted to bring the attention back to our mission statement because the mission statement really says a lot about the company's philosophy, what we are here to do. And that is to create industrial software that empowers you to turn great ideas into reality by removing all technological and economic obstacles. So simply put, it's to empower you to accomplish your goals, right?

01:54
Travis Cox: And you saw with [Ignition] 8.3, all the new features that are gonna help you do more and ultimately solve pain points for customers. That's the goal around Ignition. And of course, the motto, "Dream It. Do It." I could tell you that throughout my career at Inductive, not only with customers, but even with inside of our company, whenever there's a potential challenge or problem that we wanna solve, I'm the first one to say, "Let's go build it with Ignition." And we've actually used Ignition house for a lot of cool things, and I'll mention that in a moment. But one of the main reasons that Ignition's so awesome is that from the beginning, we chose it to be a platform. And being a platform, there's some important tenets about that, that allow for all these amazing solutions to be built out, right?

02:42
Travis Cox: First and foremost, that it's based on open standards. We don't want things proprietary, locked down, we talked about that earlier, but it is based on standards, open standards. That right there means interoperability. But it also has lot has to have lots of connectivity options. And over the years, we've added, added a lot of options to Ignition from our PLC drivers, of course, the OPC UA, MQTT, REST, our AWS and Azure connectors of course MongoDB. And now with 8.3, Kafka. And there's just gonna be a plethora of more connectors that will be looking at. And the idea of having all the connectors is so that you can use what makes the most sense for you and put together systems in unique ways.

03:24
Travis Cox: Platform independence is also really important, of course, with that, because then you're not locked down to how you wanna deploy it, where you want it to go. You can deploy it anywhere in your infrastructure, how you want to deploy it. And I think that's an important part of just why it could be anywhere and do anything.

03:42
Travis Cox: And the last part is extensibility. This, I can't stress enough. We have two, there's a lot of tools Ignition, but there's two major ways that, you know, if it's not built into Ignition, that we can ultimately solve it, solve a problem, and that's through Python and the module SDK. So with Python, there's lots of options to bring in other Python libraries, write some code. Not everybody wants to write code, but there's that ability is there. We can go further. It's a variable integrated within Ignition. But the module SDK gives us that freedom that if we want to, if we have the will and the way and we wanna solve it, we can do that, right?

04:21
Travis Cox: So these are the reasons that we chose... With Ignition being a platform that just allows us to innovate and to not ask for permission. We at Inductive Automation wanna build everything, but we can't build everything. But if we have, if we continue making the best platform, adding great features, and have it, have the ability for you to go and innovate and add on top of that, now you have the best of all the worlds. Now, not only do you have to have a good technology, but you have to have an ecosystem. And that's the thing that I love the most. I love being here and talking with customers and partners and integrators and everybody who has these amazing ideas. Because this ecosystem, this large ecosystem that we have, is what really contributes to generating all these amazing, innovative ideas.

05:11
Travis Cox: And one of the demos that we're gonna do today was just inspired by somebody who had an idea said, "Hey, can we, let's talk about this. Can we do this?" And sure enough, "Of course we can, let's go, and let's go figure it out." Also, that one thing that we've done a lot to contribute to encourage contribution or collaboration is by building a lot of tools for the community. So y'all have used the forum, our Ignition Exchange, where we can freely share resources with each other, the Ignition ideas [portal] where you can share ideas about what you want the software to do in the future and vote those ideas up. And we're taking a lot of those off, of course, with looks like 8.3, and we also have an open-source module development community called the Ignition Module Development Community.

06:00
Travis Cox: And all of these are to just encourage that collaboration and that innovation that we can do on top of Ignition. So for me, being a platform is what really leads to this interoperability and the ecosystem that we have. Because, again, if you have the idea there, and you have the knowledge around Ignition, you can go and build just about anything you want. I have never once said "no" to something. So in terms of building everything Ignition's really limitless, right? There's lots of possibilities that we can build. HMI/SCADA, of course, right? MES. IIoT applications. I don't know if you guys checked out the SCADA Arcade. That's built on Ignition, it's pretty cool, right? Games that are in Ignition. We actually have built our CRM in Inductive Automation with Ignition from the very beginning.

06:56
Travis Cox: And that has evolved over the years. And it's been a great tool for us because we can change it, adapt it, and make it fully customized the way that we want it. We have a Lobby Sign-In if you come to our office. So Sign-In, that's a Perspective application on a tablet where you'll print out your badge. We've, I don't know if you, if anybody, has played around with License Portal, but it's a portal that we built that is out there for all of you. If you want access to it, contact your sales person where you can manage your licenses and you can see what's going on in there and check and work with that. That's simply just a Perspective application contacting to a REST API that we have provides that information.

07:38
Travis Cox: Home automation systems. I'm a big home automation enthusiast. Do we have others in the room? All right. I love it. So that's, it's easy. We can go, I'm connecting to my Z-Wave and ZigBee devices at home. I am connected to a bunch of REST APIs from things like REST and Ring and, or sorry, Nest and Ring and all sorts of different systems to bring it all together into that single pane of glass, Ignition. In fact, I have a tablet for my boys for the, like the lighting control of the room, right? To set the ambiance when we watch movies. So it's fun. You can do all these cool things with Ignition as well as just build IT applications, database applications, and the list continues to go on and on and on. Hopefully get the kind of idea that we're setting forth here. Lots of options for what is possible.

08:24
Travis Cox: So I think for me, what I've tried to instill in a lot of people when I work... If you get on a call with me and we're talking about problems that are out there, it's really you need... With Ignition, I have the confidence to say, "Yes." I know it. I know it like the back of my hand. I know what it can do. So if somebody ever asks, you know, "What if I want to connect to something that Ignition doesn't already support out of the box? What if I need a new feature?" Or "What if I need a new visualization component?" Something that is not there already. Well, that's okay, there's no problem. There is a path forward. Now, I'm not suggesting everybody here go and build a module or go write a lot of Python code.

09:06
Travis Cox: But the point is that there is a path forward. Through talking to us and giving us ideas of where we can... How we can... What we can do in Ignition and shape the future of Ignition to you building cool modules and providing solutions for your customers. There is always a path forward, right? We can say confidently, "Yes." And that you walk away from anything from this session. That's the one thing that I think is really, really important. And as you can see in the Discover Gallery and a lot of projects, there's been a ton of innovation just because of this fact.

09:41
Travis Cox: So today I wanna show two cool examples of this. And the first example was one that came to me from an integrator in Canada. They had asked about particular technology, they got us hooked up with the vendor and they said, "Hey, can... Is this possible? Can we do you know this with Ignition?" And it was a slam dunk. It was really easy. And that was using Apple Vision Pro. So I don't know if you guys have played around with it yet. But the era of spatial computing, it is pretty incredible of what's possible. So the customer came to us about a use case around operational, creating dashboards and HMIs with this. And the idea of being able to seamlessly blend the digital world, the HMI, if you will, with the physical space. That's what this can really bring. So that Virtual Control Room, they had a few different use cases that they wanted to solve and they wanted somebody at home to have, to turn their home office into that Virtual Control Room where you'd have lots of TVs on a wall to have lots of applications up where you can see that.

10:49
Travis Cox: And that's a perfect use case for it. And then the other is like a hands-free HMI, anywhere in the plant to be able to go out there and have the HMI up, but be able to still see and work with the process. Those are two really cool use cases. Another one, of course, that they wanna do is actually have their users run through real-life scenarios or simulations within this. And that's for training, get new people understanding different scenarios and seeing how they can solve that. So here's the cool thing. When they ask the question, it's like, look, Perspective's native HTML5. Of course it can run on Apple Vision Pro. Not only that, the Apple Vision Pro runs all iOS apps and the Perspective native app runs natively on that. So we are gonna work, our development team's gonna work on building a deeper integration with visionOS, and that is to do things like a one click to open up all the different displays in that physical space as well as using gestures because you have good gesture support. So would you all like to see it?

11:56
Audience: Yeah.

11:56
Travis Cox: All right.

12:01
Travis Cox: So, let me put this on here. All right, let me get it on and we're gonna project it here on the back screen. But word of caution, if anybody has the motion sickness, you may want to look away for a little bit. And let me close this over here. All right, can y'all see what I'm seeing?

12:32
Audience: Yeah.

12:33
Travis Cox: Woo. All right, so the first part of my stress is good because I can actually see it behind me. So that's amazing. All right. Because you know live demos, right? I've always done live demos and you never know. Lots of variables. All right, let's bring up... So are you still seeing me? All right, so guess what? Apple Vision Pro, I said, first of all, Perspective HTML5, right? So that means if I open Safari, look at there is our beautiful demo project. And let's go to... I don't know, our data center project. Have you all seen our online demo project? So it's right in front of me, but I'm gonna move it over you guys right there. And we can make it maybe a little bit bigger. So there's my... There's one. Now I'm not gonna open 20 of these for you guys, but there's one HMI, let's now go to that Perspective app. There's our Perspective app. I'm gonna put it right there. Actually, we're gonna go right here and I'll show you why. So we're gonna open that one and let's go to a different demo project. And putting my fingers together is how we actually click around. So let's go to our building management system.

14:04
Travis Cox: And we're gonna go to our floors. So this is actually our live... A live view of our building in terms of the temperature and all that. So there's my cool little example of my HMIs that are in physical space. Now, like I said, what's really cool is that it is in the physical space. And so like if I, you know, it stays there, right? If I walk through it, it's pretty cool. Oh yeah, look at that and we're gonna, we'll go back, but I can have as many of these displays as I want open. And I can still see all of you. I can still do my work, I can still have this, but from a virtual control room, from an HMI, from a simulation perspective, I think this is a pretty cool technology. What do you think?

14:47
Travis Cox: Yeah.

14:54
Travis Cox: All right, so let's make sure that nobody gets sick in this room and let's stop mirroring there. Okay, so that was our first demo. If you thought that was pretty cool, wait for the second one. Now, of course, for that second one, I needed some help with this one. This was kind of fortuitous when I was doing this session or at least when I got introduced to Apple Vision Pro. I was like, "Man, I'd really like to do a session at the conference about cool gadgets. It'd be kind of fun." And then somebody, one of our integrators, he emails me and says, "Hey, I got... I'd done this cool integration with Ignition, we should show it off somehow." And I said, "Man, that's perfect timing. Let's do that." So let's welcome out Donald Bailey, Senior Digital Transformation Engineer from Gray Solutions.

15:48
Donald Bailey: Thank you, Travis. How are you guys doing? A little after lunch, what, downtime here, right? So Travis, you're always showing us and wowing us some really cool gadgets and things. Definitely a tough act to follow. But today, I think I got you beat.

16:07
Travis Cox: But before we do, let's make sure we get this ah, yeah, that's displayed on the... There we go.

16:13
Donald Bailey: There we go.

16:13
Travis Cox: There we go.

16:15
Donald Bailey: All right, cool. Alright. So I'm Donald Bailey. I'm a Senior Digital Transformation Engineer with Gray Solutions. Throughout my career, I have had a passion for giving our customers Digital Transformation solutions that help with operator effectiveness and situational awareness to solve their most challenging issues. And Gray Solutions shares that passion. We are a company that lets curiosity lead and we never stop asking, "What if?" And that attitude allows us to say, "We can," in an industry where sometimes you often get, "We can't." So we take after Travis here and well... Hi, Spot, how are you? Oh, it's nice to see you too. Can you say hi to the crowd?

17:14
Travis Cox: Welcome Spot, everybody.

17:21
Donald Bailey: So, Spot, what are you doing here? You have something you wanna show us back here?

17:36
Travis Cox: I wonder what's under there, man?

17:37
Donald Bailey: Yeah. I don't know. I guess we're about to find out.

17:41
Travis Cox: The suspense is killing me.

17:44
Donald Bailey: Whoa. It's Hawt Spot. So I think we should wake her up and introduce her to you guys and "can" starts here. So as she's doing her thing here, what you may notice is this isn't PowerPoint, this is Perspective. Everything you see up here in this demonstration is done through Perspective with Ignition as the backbone. And we'll talk a little bit more about how we did that later. When Travis clicked that button, he started an event-driven instruction to send the robot out front and have a little fun with us. So everybody say, "Hi."

18:34
Speaker 2: Hi.

18:35
Donald Bailey: Oh wow. That's a hot crowd out there, right? Alright, so everybody smile, we're gonna take another picture. There you go. Alright. So, yeah, you're right, Hawt Spot. It is a tough crowd to look at sometimes, but lots of fun. No less.

19:06
Travis Cox: All right, go ahead. Good info.

19:07
Donald Bailey: Alright, so let's talk a little bit about these robots. These are the autonomous robots from Boston Dynamics. They're fully autonomous, agile. They can go virtually anywhere a person can. They avoid obstacles, recover from slips and falls, they can even climb stairs and go downstairs. Sometimes they fall downstairs, but we try not to let that happen. They'll have about 90 minutes of run time and lots of sensors and integration that can go with them. So some of the things you see here today, this is Spot CAM. It's a 4K camera that also has thermal imaging, as you just saw. It can rotate 360 degrees. It can play sounds and do all sorts of other kind of visual analytics and diagnostics that you may want it to do.

20:00
Donald Bailey: This on the back is a LiDAR system that gives you a very broad range to see what's going on from a robot's perspective and the environment around them. And we'll see a little bit about what that produces later. And there are some other sensors too. One that we don't have currently but is available is for acoustical detection of gas leaks and things like that. Now, over here on Spot, you have the fully mobile arm that has 6 degrees of freedom, about a 1 meter reach, can pick up 11 pounds, can drag 25 and has all sorts of neat things, including a camera in the middle. Say, "Hi." Alright, so we're gonna go ahead and send these back, let them take a rest for a minute and talk about how we can integrate robots into your workflow. The next button down there.

21:05
Travis Cox: Got it. I gotta control this thing here.

21:09
Donald Bailey: It's a bad part about doing it in Perspective, no clicker. So how do you integrate your robots into your workflow? We often encounter customers with legacy systems, could be old, all the way up, with a combination of new technology as well. We have workforces that are either limited resources available to them. Maybe it's high demand. Maybe it's an aging workforce. And we could have conditions at a site that are maybe not the best for humans to habitate or to work in.

21:49
Donald Bailey: So where do these robots fit in, these peripherals, if you will? They give you an ability to go out, have repeatable, consistent inspections. They can read gauges, they can do all sorts of things, and all that information comes back digitally, and you can actually do something with it. You can do advanced, maybe, picture analytics on that, to get information out of that and record it into history. It puts information at the fingertips of those people who need it to keep your operations running. It augments our workforce. It allows jobs, like routine inspections, things like that, to be done by something that can go out and do it whenever you want it to go do it. You don't have to spend human power and time to go do that. And then you can focus those resources on more high-value things that can really bring value to your company. And safe conditions. These can go just about anywhere a human can. And as such, they can go in tunnels, they can go over uneven terrain, in and around things that may not be the best for humans to go through. And so you take the human out of the equation and increase your safety barrier there.

23:27
Donald Bailey: So we're gonna have Hawt Spot go and actually perform an inspection of the stage. And so you may be asking, as we go through this — go to the next slide — "Where do Ignition and Gray Solutions fit into this equation?" In learning about Spot and what Boston Dynamics has provided, we started asking, "Well, okay, this is great technology, and Boston Dynamics has done a fantastic job of putting together all the stuff around it to make this work, but how can we extend that? How can we make it event-driven so that we can tell it to go do something versus just scheduling it to go do it on its own, whenever?" And that led us to ask, "What if? What if we wrap the Spot SDK that Boston Dynamics provides in a web service and leverage the rapid development and open flexibility of Ignition to build this prototype?" And you kinda see it. The architecture back there, it's just basic Ignition. I've got a REST web server in the middle, and that runs the SDK that talks to the dog. Go to FETCH.

24:52
Donald Bailey: So I talked about the LiDAR earlier. And here, you see a map of this stage. This is what Hawt Spot sees. This is all a point map of everything that it did. Go to the second screen there real quick. This is a close-up. You can see the path that it took, and you can even see when we recorded this, there are people standing there. You can see the people standing. So Travis, it looks like it's telling us we've got a problem. Oh wow. This is not cold water. That looks pretty hot. "Hey, Spot. Can you come out here and take care of that for us, please?" Thank you. So as Spot comes and takes care of this, I'll go back to this real quick and go to this slide. And as you see here, we've got a picture of just the stage area. You can see a lot of detail, the curve walls on the side, everything like that, but these are the three inspection points. So Mr. cameraman over there and some of the crowd in that area. A picture of the clock telling me how long I can or can't talk. And then finally, the picture of the bottle that you saw earlier. That ought to do it. Great job, Spot. Let's give him a hand.

27:02
Donald Bailey: So, as Travis said earlier, we don't have the attitude of "Can't." We like to say, "Yeah, we can do that. We'll figure it out. We'll make it work." And with Ignition, this is our breakthrough. This is what can make us find that new technology, that new innovation, and bringing the future to today, and that's what Gray Solutions is all about. Now, I'd be remiss if I didn't say thank you to a couple of other people who have really been instrumental in helping us get this together. Sam [Janes], Anya [Deaton], our dog whisperers.

27:48
Donald Bailey: Everything you saw Hawt Spot do today was done through Ignition. Anya was backstage as a safety precaution, just in case something went wrong, to take control of the robot. We never want to operate these without some sort of safety protocol in the background to stop it when things may not work right. So thank you, Sam and Anya.

28:18
Donald Bailey: And that is where curiosity led.

28:21
Travis Cox: Thank you so much, Donald, for that. Let's give him another round of applause, please.

28:30
Donald Bailey: Should we bring our robots back out and let them give a bow?

28:32
Travis Cox: Let's do that.

28:38
Donald Bailey: I'm gonna let Anya drive her this time.

28:54
Travis Cox: While these are coming up here, these dogs will be out in the hallway after the session today. If you guys wanna interact with them, go up and ask questions from the dog whisperers, about what they can do. I really appreciate Donald and the team coming here to show us this amazing stuff. So one more round of applause, everybody, please.

29:14
Donald Bailey: Thank you. Spot, give 'em a bow. Sometimes they act a little funny.

29:24
Travis Cox: So hopefully... Oh, look at this. Oh yeah. Oh yeah.

29:52
Donald Bailey: Thank you, Spot.

29:53
Travis Cox: So as you can see here with these two examples, I hope that all of you got a little inspired today. Honestly, never say no. There's a will, there's a way. We could build any kind of solution, and there's just amazing stuff that we can do and challenges that we can solve for our customers. And I just love this community because we get to see this cool stuff all the time. Thank you so much. And that's it. So if you have any questions, we're here.

30:24
Travis Cox: So there goes... We have some mic runners. If you have any questions, please hold up your hand, and we will get to you. Alright, there's one down here.

30:34
Audience Member 1: A quick question. Just, what was your time on implementation? So kinda walk us through your process of, like, you had an idea, and then how long did it take you to bring it to fruition?

30:44
Travis Cox: We did it yesterday. Really. No.

30:53
Donald Bailey: So for this project, what you saw in front of you probably took about three months total calendar time to put together, make it work, and do the integration. A lot of testing with the SDK, a lot of learning the SDK, for one, because it was new to all of us here. And so once we got that done, the Ignition part was easy. We just had to program the REST APIs to do that.

31:26
Travis Cox: There's a lot of... Their SDK has a lot of functionality. It's pretty expensive. So bringing that all in, integrate that with Ignition. Once it was figured, that part's pretty easy to do. Yeah.

31:37
Donald Bailey: And we have plans for the future on that as well.

31:41
Travis Cox: Absolutely. Other questions? Come on. Don't be shy. Right there.

31:54
Audience Member 2: Hey, Travis. So I understand you're into home automation.

31:56
Travis Cox: I am.

31:57
Audience Member 2: So I've been doing it, this stuff also since the '80s, before it was called home automation. So there are some technologies out there. Do you have a name for Insteon? That was a joke.

32:08
Travis Cox: Do I have a...

32:09
Audience Member 2: Insteon.

32:09
Travis Cox: No.

32:09
Audience Member 2: When you say never say no.

32:11
Travis Cox: No. We can bring it in... We can bring everything in. Come on. Over there.

32:23
Audience Member 3: So I actually had two just quick questions for you. And they don't necessarily relate to this, but I'm hoping you're a good one to ask. Do you guys have plans to integrate to Python 3 and be able to leverage all the libraries in Python 3?

32:36
Travis Cox: Ooh, the infamous question.

32:42
Travis Cox: So that question gets asked a lot. There's a gentleman over here in the right. Carl [Gould, Inductive Automation CTO]? Yeah, he can raise his hand. You can just go, say hi to him and go talk to him and plead your case. But no, we've been, of course, looking at being able to... Whether it's Python 3 or other implementations, bring that into Ignition. There is some work that have to be done in order for that to happen. But we do wanna go somewhere. Just don't have clear plans as to what that is. The Jython 3 spec is, I don't think, anywhere near ready for bringing it into Ignition. But go talk to that guy over there.

33:17
Audience Member 3: No, I appreciate that. The only other question I had was the Perspective app, cameras, GPS function, everything like that, is there any plans or even possibility to leverage that from the browser side rather than having to use the Perspective app?

33:34
Travis Cox: Well, so some of that can be in the browser. You can... Like uploading files and stuff. What the browser does support itself. That's also why we built Workstation, though. So Workstation as a wrapper around that, the browser is embedded inside of it, and allows us to get access to the OS so that we could integrate with things like... We don't have it yet. Integrating with the... Being able to work with the local file system, talk to serial devices or bluetooth devices, those kind of things. We would love to do that. Like, native apps for iOS and Android, they do get access to those sensors, that's there, because their apps are hooked into that kind of stuff. So with browsers, we get what browsers give us. And I think GPS is there in some capacity, but other things, we don't necessarily get. Yeah. Good questions. Question over there?

34:26
Audience Member 4: The images from Spot, or that Spot captured into Ignition. One, how did you do that? And two, are you doing any analysis on it, like gauge readings and things like that?

34:39
Donald Bailey: So right now, we're not doing any analysis on them. We're just taking the pictures and bringing them in. Everything you saw came from the robot. And basically, there's an SDK that allows me just to say, go point this camera somewhere, take the picture, and save the file to my laptop or wherever I wanna save it, and that's what we did. And so once I did that, I used... What is it? A web service or something...

35:06
Travis Cox: Web Dev?

35:06
Donald Bailey: Web... Yeah. That allowed me to create the path for it, and it always knew where those pictures were.

35:16
Travis Cox: Down there.

35:19
Audience Member 5: You showed support for visionOS as a VR solution. Is there any plans to support the Meta Quest as a more cost-effective solution?

35:30
Travis Cox: Yeah, I totally forgot. [Inductive Automation Chief Solutions Architect] Kevin McCluskey will get mad at me. 'Cause he's like, "We don't want people just to know that it works only on iOS." So we have a Quest too here, a Quest as well. It does work there. It has to be... The app has to be side-loaded though. That's the only problem right now on there. But it does function... And of course, Perspective being a browser, it does work on Quest. Now, deeper integration, like with visionOS, we could have that deep integration with the gestures and the actual addition to the app where we can open up multiple frames and specify where we want those to go. We are gonna be working on that. And I think we'll be seeing what we can do here as well so that there are just more options for people to easily open it up and get access. Yep. Question over here.

36:15
Audience Member 2: So I know I have a serious question since what the question over there was outside the scope of this. UDTs. I'm assuming you use some UDTs in this whole process with today or not? But my question is more around UDTs and protecting intellectual IP. Right now, UDTs are not encrypted or anything, so anyone... If I'm an integrator and I install something for someone that has a UDT I have my team spends a month on. I can't protect it. They have access to the source code, and they can just post it to your forums and that and give away something my team worked on. Is there any thoughts on protecting that stuff in the future?

36:58
Travis Cox: It's a very tricky question to answer, because Ignition, fundamentally, is designed to be a platform that is open like that, that has designer included, that customers can get access to. So when you talk about restricting those parts, the config, obviously, protect the IP that makes a lot of sense, it's the ways that which we could potentially go about that in the future would be maybe through a module adding resources to Ignition, and that could be read-only, those kind of ideas where we're looking. But we would still like to have the bulk of that... It's not like you're gonna go and say, "Oh, now let's make this whole thing encrypted where nobody can get into the server at all." We still want the customer to be able to manage a server and add and do what they need to do, but also have modules that provide the protected IP parts of the system. So that's the idea. Not quite there yet, but that's the idea. Right there.

38:02
Audience Member 6: What was the application that you solved with the dog robots?

38:10
Donald Bailey: So the use case that originally came out, that sparked the idea, is a customer wanting to move samples around. And it's something that you don't necessarily have a schedule when that happens, potentially. So you wanna be able to deploy the dog at will: go pick up something, bring it back. There are plenty of other use cases like that. For instance, let's say in the future, you have some alarm somewhere, maybe you've got the acoustical sensor on the back, got a future update to it that will allow it to look at bearing noise and stuff like that, you could deploy the dog to go out, do an inspection on demand, get that data and send it back to the guy at the console to do something about it, or dispatch maintenance.

39:05
Audience Member 6: Is that first customer actually using these dogs and to get those samples?

39:09
Donald Bailey: Absolutely.

39:11
Travis Cox: It's all about being able to have that single pane of glass for the operators. The folks like Sam and Anya here are trained to work with this. Not every operator out there is going to be trained. So when you can create the missions and have that safe environment established, being able to not only dispatch but to get information so that we can pull it back in system, have that one interface as well as to do alarms and things that are already established within the control system. We're not having separate disparate systems here, pulling it all together. That's really the most important use case. That's what customers want. A question over there.

39:52
Audience Member 7: Great demonstration, by the way. Fantastic. Ballpark figure, how much are the dogs?

40:00
Donald Bailey: Sam, I'll let you...

40:04
Sam Janes: Probably about $250,000 to $300,000.

40:08
Donald Bailey: Hold on.

40:10
Sam Janes: You can put about $250-300 [thousand] for one of these installs.

40:16
Travis Cox: There's just a little bit of money up here, a little bit. Especially when they got shipped to the office, and I was responsible for it.

40:26
Donald Bailey: Yeah.

40:30
Travis Cox: Any other questions? There's one up there. Thank you for pointing 'cause it's hard to see up there.

40:41
Audience Member 8: Now, I have two questions. One is, do they follow the three laws?

40:47
Travis Cox: I hope so.

40:47
Donald Bailey: Yes. Yes, they do. Provided they got them all.

40:50
Travis Cox: They do.

40:50
Donald Bailey: Boston Dynamics sees to that.

40:52
Audience Member 8: Okay. Now, you're covered underneath State Farm, or GEICO?

40:58
Donald Bailey: Well, I can't answer that.

41:01
Donald Bailey: Lords of London maybe?

41:02
Donald Bailey: Yeah.

41:08
Travis Cox: I see. Any other questions? Cool. Oh, there's one back there.

41:21
Audience Member 9: Great demonstration. Thank you. Is it possible to take the video stream from the dog and put that right into the vision system that you had.

41:35
Donald Bailey: So you can't stream it directly because of all of the I-frame things with HTML, but there is an SDK portion that will allow you to capture video, and I believe there's one that will actually allow you to capture that stream and pull it in. It's not something we've explored yet, but there's... Like you said, there's a lot of capabilities there. I know I can capture video and audio, for that matter, and save it directly to my laptop.

42:09
Audience Member 9: Thank you.

42:09
Travis Cox: Yeah. It does... I think you can't open in a separate tab and have that streaming there next to it, but there's just the core's restrictions that doesn't allow it to go inside of it and not inline frame, unfortunately. There's another one over... Oh, there was one over there. I'm gonna do that one and then we'll come over to you.

42:27
Donald Bailey: Okay.

42:30
Audience Member 10: So accessing the Perspective browser would remove your ability to scan barcodes. Do you guys have the interest and expanding into the augmented reality space, allowing you to actually interact with the environment, 'cause the browser, I don't believe, uses the tools to do that.

42:46
Travis Cox: Well, I could tell you. I don't... There's, certainly, no concrete plans, but that is a target of ours is to figure out what more we can do with devices. Like the visionOS, what more we can do with that. We'll start with our native app and add some easy functionality there, but get the feedback and see where it can go. So that would be awesome, to have more direct integration. So nothing on the road quite yet.

43:12
Audience Member 11: So this is more about the SDK itself. Is that something that's hosted locally on your network? And if the robots are delicate enough, is there a reason why we didn't have one of those robots rip Travis' shirt off on stage for the 10-year anniversary?

43:27
Donald Bailey: So again, going back to the three laws, we don't wanna do that to Travis. If we miss, Travis could get hurt. And we don't want that. So Travis, you're welcome. The SDK, currently I'm running in a Docker image on my laptop. Long-term, you could run it just like we're doing it now, on a server, some image in the cloud even. The SDK is available from Boston Dynamics. You can go look at it if you want.

44:00
Travis Cox: The SDK is a Google part our stream service. So the idea... Right now, they have a lot of... They have Python implementations. And we just simply wrapped up in REST API. However, the long-term plan would be to help them build the module that integrates directly with the SDK, and so that stuff's added to Ignition without having to write any code or any of that kind of stuff, have it directly in part of Ignition. So maybe like Event Streams. And the cool stuff coming to 8.3 we can hook it into those systems. Alright, well, that is the end of our time. Appreciate it. Thank you so much.

Wistia ID
5j0xcy8ku4
Hero
Thumbnail
Video Duration
2684
Subtype

Speakers

Travis Cox

Chief Technology Evangelist

Inductive Automation

Donald Bailey​​​​

Senior Digital Transformation Engineer

Gray Solutions

ICC Year
2024.00
Deeper Dive into 8.3: New Features Rachel Bano Tue, 11/05/2024 - 10:02

We have even more exciting Ignition 8.3 features to show you! Join us in the second of two sessions as we continue to share what’s new with 8.3. This time, we’re looking at some project-level resources and other features available through the designer, including new Perspective features, changes to the Tag Historian Module, and the brand-new Event Streams resource.

Transcript:

00:13
Reese Tyson: Hi, welcome to the second session of 8.3 Deep Dives. Honestly, we're super thrilled to be sharing some of the newest features of Ignition that will make... Honestly, this is going to be the best version yet. So, we're super excited about all these features. As you heard from some of these previous presentations, obviously there's a lot of great things coming out. And so, we're just excited to see how these features and dive into these features and see how they can really expand the platform, make them super dynamic and scalable, and honestly, the most flexible platform yet. I'm Reese Tyson. I'm a Sales Engineer here at Inductive Automation.

00:52
Matthew Abran: And I'm Matthew Abran, Sales Engineering Manager. And you might be wondering, what the heck is this giant chameleon for? What does it have to do with Ignition? And if you weren't here in the previous session, if you didn't have the right context, you know that's a valid question. So, yeah. We're doing a deep dive, essentially, into all the features of 8.3. In the previous session, we talked a lot about the platform features and some various things that Carl and Drew went over. So, now we're going to talk about all these next incredible features that Ignition, it's gonna take Ignition to the next level. But so we're not done yet. Let's go ahead. Let's bring out that whole basket of features.

01:40
Reese: Yeah, Paul. Paul doing the heavy lifting over here. All these features in here. All right. Well, so let's get into it. So, right, we're diving into some of these features. So, the first feature that we have here is actually going to be associated with these crayons. So, I am a father of a two-year-old. I'm very familiar with crayons, right? My daughter, she makes some beautiful drawings. Whether the drawing stays on the piece of paper or whether it gets onto the wall sometimes is another question. But these crayons represent the first feature that we'll be talking about in this session, and that is drawing tools. So, drawing tools, of course, allows you to create incredible visuals inside of Ignition. It's a first class, fully embedded SVG editor for Perspective inside the designer. For anyone who's been paying attention, this has certainly been a long time coming, right? So, this is the most requested feature on the ideas page, as you can see. You all asked, right, our community, we listened, and 8.3 we delivered. And it turns out that building a fully featured SVG editor is not really an easy task.

03:04
Reese: There's only a handful of folks that have actually done this out in the wild. And then, marrying the fact that we also wanted to make this really seamless to integrate with the designer and this SVG editor. And so, you can imagine there might be a little bit larger task than what you might expect. But, as you can see here, Drawing Tools is a way that you can create shapes, lines, merge objects, specify design details, and so much more. In fact, for those of you that have used Inkscape, I know a lot of folks have been creating visuals in Inkscape. For those of you that have been using Inkscape, this will look familiar to you, right? It's a similar experience. You'll be pleasantly surprised because we actually used Inkscape as kind of our inspiration for this new feature. So, let's dive into the details of what this really actually looks like inside the designer, right? As you can see on the right-hand side here, we have a brand new Perspective component. This is called the Drawing component. And so, you drag that onto the screen, just like you typically do with Perspective components, and it gives you a brand new, a blank SVG that you can, of course, build from scratch, anything that you want, right?

04:28
Reese: But you also might be asking, "Well, Reese, I have a whole host of other SVGs that maybe are existing or that I want to bring in a motor faceplate" or those types of things, and you might be asking, "Well, can I use those as well?" And the answer is, of course, yes. We can import SVGs into the designer as well, and then it's as simple as going to that SVG and right-clicking on it and converting that to a drawing. And so, this example here actually shows a motor, and so any SVG-based components inside a Perspective also have this capability, right? So, whether it's an SVG that you bring in and import or if it's an existing SVG component, we can convert both of those to a drawing component. Once it's a Drawing component, then you can just simply right-click on that component here and edit the drawing.

04:28
Reese: It's that simple. It's that easy to access the drawing editor there. So, here's a quick snapshot of some of the different functionality within the drawing editor. So, just to kind give you a lay of the land here, across the top you have, of course, your undo, your redo, your merge, your bring to front, all those common things you'd expect out of an SVG editor. On the left-hand side, we have the pointer tool, the line. You can create different types of shapes, triangles, rectangles, those types of things, text boxes, and then on the right-hand side, right, you have the ability to tweak these components and change how they look, whether that's the width or the height, the color, the stroke, all these types of things.

06:11
Reese: So, you can really dial the components down into exactly what you want to craft and how exactly you want that to look. One of my favorite features, and this was highlighted briefly in the tech keynote there, but one of my favorite features here is actually the bindings and how they interact between the designer and the drawing editor. So, you can see here, I just created a basic binding inside of the drawing editor, and then as you click through the elements of this SVG, it's showing up there inside of the designer, and this actually works both ways, right? If you make a binding on or inside the designer, it's going to be copied over and available for visual in the drawing editor. And so, this kind of goes back to we wanted to make this experience as seamless as possible. But really, that's just one of the features, right? There are so many different features that are available. We definitely don't have time to go into all of them, but some honorable mentions here: rename elements, browsing the elements, bringing icons and components from front to back, and so forth using the gradient tool, right? A lot of things that you would expect out of an SVG editor. And then just one more example here of things that are capable within the platform, right?

07:32
Reese: I was able to spin an image of this, of the Drawing Tools up here, and I wanted to just create a windmill, see how it worked and how easy it was. It took me about just a few minutes here to create a windmill that looks like this inside the Drawing Tools and just kind of duplicate and replicate that across your project. So, there you have it, folks. Drawing Tools, it really gives you a way to make custom visuals all within Ignition inside the designer. All right. Well, let's see what we have next in here.

08:18
Matthew: Yeah, let's stick with the Perspective thing. Okay. How about that? Yeah, that triplicate paper.

08:22
Reese: Triplicate paper.

08:24
Matthew: What is this for? What could this form be used for here? So, of course, we're talking about the Perspective Form component. So, yeah. So, for anyone that saw in the keynote, you saw a little bit of that there, and we're gonna do a deep dive into what is the Form component. Before we do that, let's kind of backtrack. Can't we already do that in Perspective? Well, of course, as mentioned, we certainly can. You can build forms. You can build really nice forms. They can be very complex.

08:52
Matthew: They can handle validation. You can submit data to all kinds of different processes. But the way they're built today is it's a little bit more cumbersome. You have to manually place all of your elements. Usually they're nested inside multiple different containers. Your views component tree looks a little bit like this. And then if you need to go back through and maybe make some changes, that could end up possibly breaking some paths, which is important when you start looking at how you have to deal with validation and submitting this data to whatever end point that you're looking for. So, of course, this very simple example doesn't even cover 80% of what you might typically do here. But you can imagine if any one of those paths changed, you'd have to go back and redo that, kind of rethink that. So this new component is really built specifically for forms of codes. That is the Form component. But it has all of those concepts in mind. So instead of specifying one individual element as part of the normal component tree, you actually specify just rows and columns and different widgets from a list of standard input fields. And then it also includes, just by design, it's used as CSS Flex. So that means it's already responsive. So you don't have to go back through and figure out that styling.

10:18
Matthew: It just does it for you. But you can also go through, of course, and customize it. You can do customized styling. So let's go ahead and take a quick look at the basics here. So we drag out a Form component just like that. You can see in the component tree on the left, it is just that one component. So it simplifies that part. It's also similar to maybe dragging out like a Menu Tree component. You drag it out, and then you can configure the items in it as a property in Perspective's property tree over there on the right side. So new fields are just simply added in different rows, different columns, and you select which widget that you want for that. It also works, of course, with standard styles, as I mentioned, and it uses a standard GUI for that. So you can go in here and you can see we can change the style pretty easily, just as you would expect, but we can even apply it, say, to the entire form pretty easily. So overall, it definitely simplifies the design aspect, but not only does it simplify that visual design part, it also simplifies the functional side.

11:19
Matthew: So validation support is included and has many different field types just automatically included that help with that. It also can populate fields and even hide or disable fields automatically just based on a little bit of configuration, which we'll go through as well. So you can see here, here's an email. It is incorrectly formatted. We can immediately see what is wrong with it. As an end user using this form, I can clearly see that something is typed in wrong, and we didn't have to create this style and create this feedback. At the same time, you can see that submit action is already disabled. So it's very clear, and that was just all part of the Form component. So to configure that, it's really just a set of standard properties, like I was saying. It gives you the control but keeps it simple. So we can go and just enable some sort of maybe pattern or a range. It can't be above a certain number. It can't be below a certain number. It all depends on the field type that you're using, the input type. But again, it is all just configuration, and so it is rather simple. So let's take another look at some more of the example fields here. This isn't even all of them, but it has all the expected ones that you would think of.

12:43
Matthew: So text, email, URL, phone numbers, passwords, telephone, radio buttons, check boxes, everything that you would typically throw into a form, and it can certainly do even more than what's listed here. And as just a quick note, I was playing around with this form to create this demo, and I had originally created it as one single column, and I decided it doesn't fit quite right. So all I had to do was right-click, copy a section of the property tree, paste it in a new location, and now I have the two columns. So I didn't have to redo anything, change any of the validation. It's all ID-based, so it worked out pretty well. And here's an example of showing that that same Form component, that Form component that I configured, is just automatically responsive. If I shrink down the screen, you can just see that the fields shrink down, but also radio buttons, check boxes, everything wraps. So I didn't have to do anything extra, anything special. It just handled it right away for me. Another cool feature of this that makes it really powerful is that the data can be populated ahead of time through the properties.

13:49
Matthew: You can see a data property on the right side; various ID-based kind of input components are listed there. So those actually go all the way back into the property tree that reference some sort of field, some input field that you have specified, and it's all ID-based, so even if you move things around, it will show up in the right place. So I can go in, play around with it in the preview mode, make sure it's set up the way I want by default, and then that's it. So it doesn't matter if you move things around. Data is just collected in one place, which makes it a lot easier to work with. The other feature I was talking about earlier, about the disabling and hiding different properties here, that's, again, just configuration. So you can see all I have to do is specify that. When do I want this field to be enabled? Well, when a certain other field is in a certain state. So if this toggle is off, then I want these disabled. So the checkbox and radio buttons are disabled. If I turn that toggle back on, then it's all enabled again. And a quick thing to point out here as well is a lot of this is just all clients, all browser side.

15:01
Matthew: So that's why it works well overall is because it's not firing a lot of different bindings that you have to control. It's all browser-side. It helps remove kind of that isolation of the individual components that you would normally have to configure. So it all goes into one place, which does make it easier to handle that submission action, which you can certainly do through standard actions like you'd expect. So if you originally were building forms and you put a submit button on there or a cancel button and you do an action event for that, you can still do that. You have an on submit, an on cancel as well. And so you can just take that data from one place and be able to write your script around that. If you have to make changes later, you don't have to worry about differences in locations and paths. But besides that, there's another option for the Form component. So you can actually specify that you want it sent through the submission event system. So there's a process flow that will go through. It will queue up that event and actually send it. And if you are offline temporarily, it'll queue up. Once you're back online, it can send it.

16:17
Matthew: And there's even more to that as well. And all this really does is end up in a session event handler like you would expect. And it provides the parameters that you would need to get the context around what happened here. And a lot of this is very important for the offline mode. So the form component certainly works with Perspective's new offline mode. So let's see if we have something else here in the basket.

16:37
Reese: Got another item? All right, well, looks like we got a mangled Ethernet cable that we've scrounged around from the IT department.

16:48
Matthew: Yeah, certainly. So, yeah, with the offline mode here, sometimes you're not always hardwired. You might be wireless. You might even be in a remote location. So what happens if you're in a situation where you need to open up your Perspective app to input some data and you have no connection at all? Well, that's where the offline mode comes in. So it's a new mode for Perspective projects. You can make a project actually launchable inside or in this offline mode. So not many people know this, but certain features of Perspective will still continue to work while you're offline if you already have the app up and running. But if you did not have that, then you can't get back into Perspective.

17:35
Matthew: So you can imagine some different scenarios where this would be quite useful. And so it actually just downloads the resources to your device, keeps them up to date, and that's how the form component also still works. It works because it works off of a lot of browser side and through those resources. So that means if you create certain views in your project and you enable it for offline mode, you can still go through, and just like this example here, be able to access those pages. So maybe you need to pull up a diagram or something that you're looking at, and you don't have an Internet connection or a connection to the gateway at least, and you can still do that. Maybe pull up a static line diagram for a piece of equipment that you're looking at. And so it's pretty useful for doing this kind of somewhat offline remote data entry, those kinds of scenarios.

18:32
Matthew: It does require the Perspective mobile app, so it works on Android and iOS. It's an opt-in type of model for a project, so not all projects are automatically exposed for this offline mode. You can, as the developer, decide what project goes into offline mode. And then users on their side, they get an option to go and download it, and then it will download it and keep it in sync, as long as they stay connected. And so there's an indicator provided to provide feedback there. So just like what we're showing here, I'd go in, find the project I want, click Make Available Offline, and then I'm good to go. So what we can look at here is kind of what's the use case? What's the user story around this? And I kind of alluded to it earlier. If you're driving out some remote location, maybe there's no network at all, no cellular, nothing, and you still need to be able to take advantage of Perspective and go through that Form component, especially, input your data, and then just keep going. You're not slowed down. You don't have to make notes in paper and then come back to the gateway and do it later. It's all done, and it's all right there. And so it makes it far more easier. So, yeah, I think, Reese, it's time to bring out the next item.

19:56
Reese: The next item? Well, honestly, I've been looking at this, and I'm not sure what this is or how it made it in here, but how this is... Before your applause happens, this is actually not a part of 8.3. It was completely a joke. So, we're just getting ahead of it, right? We knew you were gonna ask, so we're just, like, addressing it here in the keynote, all right? The next feature is actually an atomic model. So this is atomic model, of course, is represented by a nucleus and electrons and protons and how they revolve around one central place, right? How they all interact with each other. And so this next feature actually is Event Streams. So Event Streams gives us a way to receive events, filter them, and transform them out of the platform. So it's a brand-new module in 8.3 that allows you to do this functionality. So you might be saying, "Well, Ignition is already a place where I manage all my data. It's a central place to manage the data," right? So, yeah, that's absolutely correct, right? In fact, our first module, our first product, Factory SQL, did exactly that. And used Ignition as the hub to push that data to the database.

21:25
Reese: And so over the years, right, that has grown to include the different items that you see up here. Modbus, Omron, these different devices, DMP3, polling data from a SQL database, bringing in data from web services via Git requests, right, MQTT, alarm notifications, tag event chain scripts. There's a lot that goes on inside of the platform. And so it's become a little bit tricky, right? Especially if you're brand-new to a project, you're getting your feet wet. It's kind of hard to tell where these events originate and how they flow through the Ignition gateway. And so that's the first thing that Event Stream solves is a centralized event management within Ignition. The second thing is getting event data via subscription and not polling. You might look at these devices or at these different ways we get data into the platform and see that we're polling data out of the devices, bringing them into Ignition via tags. We're polling the SQL databases via SQL queries, web services with Git requests, right? But it's all these different polling ways of bringing that data into Ignition. And it hasn't really been until OPC UA and MQTT protocols that we start to get into subscribing to that. For example, with MQTT, you're publishing to a broker, and then we're subscribing to that to bring the data into Ignition.

22:56
Reese: And so that's great, but that was always external to the platform. Event Streams is a way that we can do this internal in the platform as well. And the third thing here is gaining flexibility in how the data is actually used, right? We know that folks out here are using enterprise message busses like Azure Service Bus and Amazon SNS to subscribe to data around their whole enterprise. And we know if we can just get the data up to those layers, then they can do the IT folks, and cloud folks can really do whatever they want with that in a familiar environment. And so just zooming into Event Streams a little bit more here, right, there really are four main parts to Event Streams. So the first is the sources, right, where the events originate. Second would be filtering, where we can filter the events that are processed through this event stream. And then the transform stage is where we can augment that data and provide more context. And then the handler would be where we stream that data out of the platform. So an 8.3.0, the initial release of 8.3, these are the three sources that will be available.

24:26
Reese: Event Listener, which is essentially a way that we can create a script and send events to this Event Stream all around the whole gateway, or around the designer and in the gateway. HTTP, which is a way that we can basically create this event stream as an endpoint that other systems can hit, and then we can process that information. And then finally, Kafka. And I'm gonna get a little bit more into Kafka for those of you that aren't familiar. Essentially, it's a large-scale enterprise messaging kind of platform that allows you to publish and subscribe to data. So that's the sources. So the second stage is the filter, where we can, of course, like I mentioned, filter the events that are coming through this Event Stream. So take this example. So if you have, say, five lines in your manufacturing environment, and you maybe only want to receive events for line one, right? I don't really care about the other lines. I only receive events for that line. Filtering is a way that you can do that. Once that line one is the only one receiving that event, then we can also transform that event flowing through this via live tag data or querying the database, whatever you wanna do within the designer, right?

25:33
Reese: And then finally, the handlers. So the handlers are going to be a way that we can stream data out of the platform, like I mentioned. And upon 8.3.0 release, these are the ones that will be available. HTTP, which of course allows us to post information to another endpoint. The logger, which allows you to log data or the event to the gateway logs. Database, for those of you that have used SQL Bridge at all, right? You know that you can map data to certain columns in the database. Very similar concept here that allows you to stream or receive an event via the source and stream that into a database. And we have scripting, gateway events, gateway messages, and then, of course, Kafka. So those are some of the handlers and sources that will be available upon release here. But there's a whole host of other sources and handlers that we do have planned for this, right? As you can see, there's a whole host of tags: MQTT, Ignition Events. These are just a handful of them, right? But really, what I wanna drive home on this slide is that there are limitless possibilities.

27:03
Reese: We're viewing this as a framework for you all to manage your events inside of one umbrella, right, and then utilize this platform to extend more and more handlers onto your Event Stream. So say you already have an existing event stream, you just plug another handler into that, right, when and if that comes available. And so you can see it's extensible. We can mix and match these sources and which ones come in, which ones go out of the platform. It really allows you to integrate with so many different systems. So, that's Event Streams with a lot of words, right? But you all wanna deep dive into the designer, so let's give the people what they want here. The first thing that I wanted to show in the designer is really just what this looks like when you open it up. As you can see on the left-hand side, there's the event streams. I'll call it a workspace, right? And creating a new event stream is as simple as right-clicking, or there's a little GUI as well. You might have seen that earlier in the tech keynote. But it's very similar with how you create new other items inside of the designer.

28:10
Reese: Then we're met with the source, right? This is where the event originates. So in this specific example, I'm subscribing to a Kafka topic, right? Bringing that event in. Then we flow into the encoder stage. This didn't really make the four main stages I was talking about earlier, because it's a smaller one, right? It's just a way that we can transform the data type. So say you have a JSON or a string; you can convert that into maybe a different data type very easily within this stage. The filter stage here, again, is where we can filter that data that's being processed through this Event Stream. And so, again, going back to that line example, right? Line one or two, or three, you can specify that here, just using the string language that you're already used to within the designer. Then we go to transform, right? Where we can transform this data, as I mentioned, whether that's reading a live tag value or polling data from the database, whatever you want to do with that, you can augment that data before then sending it out to the other handlers there. Once the transform stage is done, then we're going back into yet another encoder stage.

29:24
Reese: So, again, you can encode that data type into something else, and then we get to the buffer stage. So the buffer stage is really a very unique feature to Event Streams. There's really no way natively to buffer data unless you kind of create a custom application yourself. And so I'll give you an example of what I mean. Say you have a thousand tags, right? Each of those tags maybe has an event change script on them; maybe you are doing something on that change; you're gathering other data, logging that to the database. Each of those inserts to the database is going to be a separate insert statement. So you can see, as you scale, that can become not very performant. This buffer stage kind of allows you to batch all of those together, and it's really controlled by two different properties here. There's a couple other ones here, but the two primary ones are the debounce and the max time.

30:27
Reese: And so, imagine you have event streams coming in. We're going to continue to receive those until we hit the debounce time. And so what the Debounce time is, essentially, it's a rolling window. So every time we see a new event, it resets that rolling window. Receive event, reset. Until we receive all of these events, and then if we hit the Max Time, then we wholesale batch that into the database with one single insert statement. So you can see, this is really great for handling spikes of data, and you can tweak these properties exactly how you want them to be tweaked. Finally, the last kind of portion of the Event Streams here, there's a couple auxiliary UIs I'm about to show too, but the last kind of portion of the event streams kind of flow here is the handlers. So I just have a couple examples, but as you can see, there's a little plus icon there on the right-hand side where you can add more handlers.

32:06
Reese: So you've created this whole stream, and now I can send it out to ten different applications if you want. But just an example here with the logger: you can send the event.data, which is how this event is handled within each of these stages. This is just a JSON structure, so you could absolutely do a square brackets, right, key to grab the value out of that payload. So you could log the whole payload; you could log individual parts of it, up to you. That's a logger, and then the database, again, like I mentioned, similar to the transaction groups, right, where you can see you're mapping essentially the value expression.

32:09
Reese: Event.data and curly brackets item count, or square brackets item count, to column name one, or column one. So that would be how you can kind of interact with the handlers there. Now, like I mentioned, there are a couple different auxiliary kind of UI spaces here. This one's really nice to be able to handle errors gracefully. So this thing can handle thousands of events in subseconds. So if there was an issue that happened to one of those last night, like, how do I get to be able to find that information and debug that? So error handlers will capture any errors that happen within the handlers, yeah, any errors that happen within the handlers, and you could then, of course, log that to the database; you could send out an alarm; you can do whatever you want with that. The status page is going to be exactly what you imagine a status page has. Status is on the different stages, right? Events received over the lifetime of this, actually since the last time that we saved this event stream. Max times, min times, averages, average times of how these stages have executed, and so forth.

33:28
Reese: And then finally here, the test mode. And this is actually my favorite feature because, coming from a development background, this gives you a way to actually test this whole event stream without actually having to connect to a source to begin with. Okay. And so what happens here is you can see in that Test Controls there on the right-hand side, you have can specify JSON object and hit run all at the bottom, and you have the test results there across the bottom going through it's a good, through the source, through the encoder, the filter, et cetera. And if any errors were to happen, they would show up here. So that is kind of Event Streams. It's a great way where we can manage all of our events within the designer, and it's one central place and be able to kind of have a cohesive spot to put those.

34:22
Reese: So I mentioned Kafka earlier. And so Kafka is actually a brand new service connector in 8.3 that we'll be releasing. Kafka is an enterprise event streaming platform that's really, it's used by thousands of companies for high-performance data pipelines, streaming analytics, data integrations with IT tools and mission critical applications, really so much more. But by connecting to Kafka, it really opens up a huge ecosystem of tools that have Kafka connectors already. It's a very common enterprise streaming platform. And so we know that, again, if we can just get that data to that level, there's so many other tools that folks can utilize to do what they need to do. So what does this look like in the designer, right? This is what the handlers and the sources, which we've already discussed, looks like. So within the Kafka source, there's actually two different ways that we can subscribe to a topic.

35:31
Reese: And so that would be done by using either a consumer group or a partition. As you can see, there's a couple other settings that you can specify. The partition specifically, the max records that you're pulling at a time from Kafka, and so forth. And then on the handler side, right, on the handler side, you certainly have the ability to publish to a topic as well. And so that's Kafka. That's Kafka as well as Event Stream. So, yeah. I think we're ready to look at another feature there.

36:04
Matthew: Yeah. Yeah. Let's take a look at the last feature we're gonna be talking about today. So, yeah. Is it in there, Reese? Or did you leave it off to the side, maybe?

36:14
Reese: You know what? I do not see anything in here, and that's because I was playing with the next feature here.

36:23
Reese: What do you got there, Reese?

36:32
Reese: We got a super fast car. This thing's got so much power in it. It's got frickin' scissor doors. It's got everything, man. Honestly, as a kid, I wish I had this. Kids are so spoiled these days.

36:48
Matthew: It's a powerful machine. There you go, Reese. All right. So, yeah. So, with this powerful machine, we've got the Power Historian. So, what is the Power Historian? So, we've kind of talked about it earlier, but it's essentially a new time series database-backed historian for Ignition. So, it uses QuestDB as the backend, and it is embedded in Ignition. So, that means no separate installs required. You just go create a new history provider, and it's taken care of for you. It's also built on the new historian API, so it has a lot of those features that were mentioned previously in the last session about native aggregation and all of that.

36:54
Matthew: There's a lot of features, of course, that we'll continue to add as well in the future, but certainly it has a lot already going for it. So, taking a quick look here, it certainly supports partitioning and pruning as you would expect, but it's all handled by the database itself. It uses write-ahead logging, which helps with performance and robustness. It has a native aggregation capability, so the Ignition's no longer having to do that. It's all pushed onto the database itself, which is far more efficient. And as mentioned previously, renaming your paths does not break history, which is pretty critical for anyone that's gone through and had to rename things. It can be a little bit painful, but the new API and the Power Historian certainly address that.

38:24
Matthew: It also supports automatic archiving, where you can detach a partition and move it to a new storage location, which is pretty key for larger setups there. You need to think about your long term; what is your data storage going to look like, and how do you take care of that? But you still want to be able to keep that data somewhere. So archiving it certainly helps out there. But enough about all that. Let's talk about performance. So I went through, and I was able to do some preliminary testing with the current system. And so I threw together something that was just throwing only 4,000 data points per second continuously into it. And of course it was handling it just fine, and I was measuring query time at the same time while running a Perspective session looking at the tag history data, so all in one system here, and then comparing it to what the current internal historian option is, which is SQLite-based, as well as the dedicated Postgres database just for comparison.

39:20
Matthew: So first question, of course, is, was that heavy on the resources? If you have an internal historian running alongside Ignition, does it take up too much? Is there any kind of issue there? And no, the system actually in this test was using just 4% CPU and 700 megabytes of memory. Is actually really low to be able to store millions upon millions of records in a partition like that. So it was actually performing extremely well and still being able to keep up with everything. The next question you might be thinking of is, does it use a ton of extra storage? If we're storing all this data next to Ignition, what are we gonna have to do with that? And no, it doesn't store a lot of extra data. It's historical data, of course, but it's comparable to all of the other options.

40:13
Matthew: So you just have to again, plan ahead for how much storage you need, and it will take care of it for you. And you have now the options to do the automatic detach and migrate the data to an archive location. So it actually helps out there. So you can offload that older data, for example, to something maybe a little bit more slower, discs, or something that's just more efficient for that type of data. But the real question is how performant is it? You know, was it performing well while all of this was happening, even though it's all local to this one in process storing? And of course it was great. Yeah, it significantly outperforms, of course, the alternative, which is SQLite. If you use SQLite for anything more than even 100 data points a second, you'll probably be running into, you know, performance issues because it is not going to be able to keep up. The Power Historian certainly can.

41:07
Matthew: We're talking like milliseconds worth of query time here, querying a tag for raw data over say an hour's worth, so thousands of points, and it was able to just do that. It certainly is comparable to a dedicated database, but yeah, it significantly outperformed SQLite so much that SQLite in the end was taking two minutes just to query data and ultimately failed. It couldn't actually keep up. It had to stop inserting. So if you're looking for that local historian option, but something that will actually be able to keep up and perform, then Power Historian is certainly great with that. And we are constantly adding onto it. So even just this morning I received messages that we've added even more to it. So this is all preliminary, but one of the improvements we've made already, and this was actually asked, I believe, in the last session, is: can we connect to the Power Historian and get data out of it externally?

42:07
Matthew: And so they added the ability to connect to it using a standard Postgres connection, and so you can query the data right out of it. So yeah, you certainly can do that, and we will continually add more improvements like that and improve query times and all of that moving forward. So there's a lot that it does today already, and there's a lot more that it will be able to do. So there's questions about can it store things like engineering units, and the API certainly supports that, the metadata, but as well, Power Historian will be able to support that as well. Support, eventually storing UDTs, things like that, that you would really, really want. So yeah, overall, the Power Historian, it's plug and play; it's designed to be that way. It is performant, and we're gonna add even more functionality in the future, of course. So stay tuned for all that. So at this point, we can open up to any kind of questions for everyone. Mic runners should be running mics down. Yeah. It looks like we've got one at the top already about...

43:19
Audience Member 1: Yes. Cool. So if we take a look at this Power Historian, how can we relate to that, if I compare it with a normal SQL database? Is it capable of storing terabytes of data?

43:40
Matthew: Well, yeah. It's a time series historian. It can record gigabytes, terabytes of data over time, just like you would expect a time series database. It all works as a tag historian. So yeah, are you asking for anything else specific? I mean, the storage size is purely gonna be based off the size of the hardware that you're running, right?

44:03
Audience Member 1: Of course. Yeah.

44:03
Matthew: So that's certainly like the size of the historian.

44:06
Audience Member 1: Yeah. There are no limits, like 1 terabyte or whatever.

44:10
Matthew: Well, yeah. We're not gonna impose a limit. What would actually happen is your partition size would matter, and there's only so many rows you should put into your partition. I believe it's, you know, hundreds of millions. And so as long as you configure the partition size, then those are going to go into new files, and so you can keep storing and storing until you run out of space.

44:29
Audience Member 1: Cool. And you can also set it then that you will not store all that data on your install drive. Your C Drive, for instance?

44:37
Matthew: Yeah. So right now it stores into that local. If you've seen the collections there, it stores into local, but I believe we'll be able to store it elsewhere, but we'll have to get back to you on that one.

44:51
Audience Member 1: Alright, thanks.

44:54
Matthew: The worst case, I was able to do it myself by just mounting the directory to somewhere else, and then I didn't have to worry about it.

45:01
Audience Member 2: Hey. Is Ignition Edge gonna get Power Historian and receive all like full features?

45:08
Matthew: Yeah. So we're definitely testing that right now to make sure it can perform on what your typical edge device might be, like a small embedded PC, but that would certainly be possible. Yeah. And it outperforms its SQLite option, so it's great.

45:24
Audience Member 2: Thank you.

45:27
Audience Member 3: How does Power Historian handle redundancy? Does it synchronize while it's running?

45:33
Matthew: So it currently does not do that. That's definitely something we can evaluate, but yeah, it currently does not.

45:47
Audience Member 4: For the new Forms component, will users be able to submit photos when they submit a form, and for the validation support feature, will that work offline?

46:00
Matthew: Yeah. So the...

46:00
Audience Member 4: Yep. Sorry.

46:01
Matthew: Oh yeah, yeah. Yeah. So there's File Upload components; I believe there's more field options as well. But yeah, you could usually with the File Upload button; it allows you to snap a photo if you're looking for that with your device. But yeah, it would support that. And then the validation, all of that is browser-side, so it doesn't require the gateway to perform that action.

46:21
Audience Member 4: Nice. Is the offline function just for forms, or you mentioned it could work with static views?

46:29
Reese: Yeah. You just have to imagine when you design a project, bindings and scripts transforms. Those are on the gateway side, but the form component has certain features that work, you know, on the browser side, as mentioned. Other components, they're just resources, and so we would download those onto the device so you can navigate around; you can see the images text that you have, but you're not going to get live tag updates while you're offline. So you have to keep all of that in mind.

46:53
Audience Member 4: Understood. And would there be an indicator for whether the app is offline or online to let the user know that their changes are gonna be queued and then forwarded?

47:04
Matthew: Yeah. So with the offline mode specifically, you actually launch into it. It's not something where you would temporarily revert to offline and then it would auto-reconnect to online and back and forth like that. It is, you would go launch it in offline mode and you are in offline mode, or you go launch it online.

47:24
Audience Member 5: For the Kafka streams or for the Kafka integration, is there gonna be any support for consumer groups to like ensure that a certain Kafka message is only processed once by a consumer?

47:38
Reese: Sure. Yeah. So right now, the way that you do that is by the offset of the Kafka topic. There are definitely plans right now to for... Basically, what you're saying is an acknowledged message for that source, right? So right now that is not something, but it's definitely something that we are planning on putting into that.

47:54
Audience Member 5: Okay. Also, what about schema registry?

47:57
Reese: I'm sorry?

48:00
Audience Member 5: Schema registry?

48:01
Reese: Schema registry? I'm not really familiar with what you mean by that.

48:06
Audience Member 5: Okay. It's basically a framework for Kafka to define what a payload looks like. Like, basically, if you define a proto buff for a certain topic, it's a way of having a centralized store of saying, you know, what payload should be produced on a topic.

48:24
Reese: Okay. Yeah. I couldn't answer that one off the top of my head, but I could certainly connect up with me, and we can chat about that for sure. Do we have any up, up in the balcony there?

48:34
Matthew: There's one up there.

48:35
Reese: Yeah. Looks like one over there.

48:37
Audience Member 6: Yes. One more. So with the Forms component, does it also support adding additional views in there? Your own created views?

48:45
Matthew: So the Form component is a component inside of it. It doesn't have an embedded view field type. The problem with that is then we would have to figure out what your specific view would be doing, and so it would probably break the functionality of it.

49:01
Audience Member 6: Right. Makes sense.

49:02
Matthew: But you could always put a view alongside it and still... It's still a component.

49:08
Audience Member 6: Yeah.

49:14
Reese: Yeah, right here.

49:15
Audience Member 7: In a previous keynote session, it was listed that you can poll up to like 1.8 million record in one second or something. So how was the performance on a GUI side if we are pulling that kind of data on a history trend?

49:32
Matthew: So that I believe was ingestion rates. I think it was like 1.4 million a second. And so that is literally what the database could support on a performance system. Querying that back, I mean, 1.4 million data points, it's... That's a lot of data, but that's not what that graph was showing, but you can certainly query. I was querying millions of data points, and it was taking maybe a hundred millisecond, maybe 200 milliseconds, to query through all of that. So it is performant, but again, it is still preliminary, so we'll have more numbers, of course, later. All right.

50:07
Audience Member 7: Any change in a trending package?

50:14
Matthew: Any change in like trending overall? This is all standard historian. It all works with the same components, so there was no change with the trending there. You do get the native aggregates, but the functionality should be the same. The end result's the same.

50:25
Reese: We'll do one more question here. Yeah. Right over here.

50:33
Audience Member 8: Yeah. Alright. So talking about offline mode, when going online, when two or more upper people are, make changes to the same, let's say, talking about a database field, what about conflict resolution?

50:53
Matthew: So the...

50:53
Audience Member 8: Last in wins, or is there gonna be a mechanism to solve these conflicts? And on top of that, what if let's say that I'm talking about a database table and what about... What if the schema changes when the device was offline? How are those conflicts are gonna be resolved?

51:18
Matthew: Yeah. So what would happen in that case is you have your package, your data there that would get sent up, it ends up in your session handler, that special Form component submission event handler. And it's essentially gonna be a bunch of data that's gonna be provided to you. So that form component doesn't send you; I have, you know, this column of data. It sends you, here's my essentially JSON package. Your handler at that point, if the schema had changed, it would be up to you to fix your script. And at that point, the new data coming in later, as long as you can interpret it and understand it, if that part of the data didn't change, you could send off a query to insert that and that would be fine and it would be in the order that it is received. So if you insert and then insert or if you do an update and update, that last update would override it. So that would be part of your handler logic.

52:10
Reese: Alrighty. Well, thank you everybody for coming to the second session here. Really appreciate you coming out.

Wistia ID
skdpvdrtpe
Hero
Thumbnail
Video Duration
3140
Subtype

Speakers

Matthew Raybourn

Sales Engineering Manager

Inductive Automation

Reese Tyson

Sales Engineer III

Inductive Automation

ICC Year
2024.00