Ignition Community Live: Expanding the Exchange

63 min video  /  55 minute read


Travis Cox

Co-Director of Sales Engineering

Inductive Automation

Kevin McClusky

Co-Director of Sales Engineering

Inductive Automation

Kent Melville

Sales Engineering Manager

Inductive Automation

Mathias Bjerglund Poulsen

Co-Founder & CTO

Enuda AB 

Yuen Li

Senior Product Manager, Networking and Control

ifm efector, inc.

Arnaud De Clerck

Automation Team Leader, Process Engineering


Since its launch in 2019, the Ignition Exchange has been building a collaborative community by providing a platform to share resources developed both by members of the Ignition community and the Inductive Automation team. Ranging from adjustable gauges to complex scripts for machine learning, these resources offer a free way to jumpstart application development or augment an existing system. In this presentation, the leaders of Inductive Automation’s Sales Engineering team and some special guests will highlight seven of the new exciting resources available on the Exchange, demonstrating how each can benefit your Ignition project. Find out how the Exchange is growing, discover the strengths of community-wide collaboration, and learn how you too can start contributing.

Webinar Transcript

Travis: Hello, everybody, and welcome to another edition of Ignition Community Live. Today is gonna be a really exciting one. Today is episode 25, which we're calling "Expanding the Exchange." We're gonna be your host today. My name is Travis Cox, I'm the Co-director of Sales Engineering here for Inductive Automation. I'm also joined with Kevin McClusky and Kent Melville from Inductive Automation. Why don't you guys introduce yourselves? Kevin, let's go ahead and start with you.

Kevin: Sure thing. So, as you can see, my name is Kevin McClusky, I'm the other Co-director of Sales Engineering here at Inductive Automation, and both Travis and I run the Sales Engineering Department, and we both work a lot in Ignition. So I've worked with hundreds of customers over the years, I've been with the company a little bit over a decade and seen it from the very early days of Ignition and even pre-Ignition until now, so it's good to be here.

Travis: Perfect, thank you, Kevin. Kent.

Kent: Yeah, hey, everybody, Kent Melville here, Sales Engineering Manager at Inductive Automation. Mostly my job is to keep track of Travis and Kevin and, yeah, I got to meet with customers all over the world just like them, help out with architecture discussions and best practice discussions, and mostly just talk to people about cool stuff they're trying to do and help them do it. So, yeah, that's me.

Travis: Awesome. Well, thank you, guys. We are also joined here with three very special guests today from our Ignition community: Matthias, Yuen and Arnaud. They're here to talk about resources that they developed and shared through the Ignition Exchange. So can you guys briefly introduce yourself? Matthias, we'll start with you.

Mathias: Sure. Thank you, Travis. And I'm very happy to be here today. And, as you can see, my name is Matthias Bjerlund Poulsen, I'm the Co-founder and CTU of Enuda. And Enuda is a virtual organization based in Sweden, but we are spread across Europe and also tiny bit of South America, actually. We’ve been around for around four years now, and currently, we are a team of 10 people, and we are only doing Ignition stuff, so, yeah.

Travis: Well, thank you very much and thanks for being here. How about you, Yuen?

Yuen: Yeah, so thanks a lot, Travis. Yeah, so my name is Yuen Li, I'm the North American Product Manager for IFM Efector for our networking control systems. If you are not familiar with IFM, we're a sensor and controls manufacturer. I've been with the company for over 20 years now, with a lot of experience with PLC, integration, and now a lot of with the... The entire IoT concept and stuff.

Travis: Perfect. Thank you, Yuen, thanks for being here. And lastly here, Arnaud.

Arnaud: Thank you, Travis. So, like you can see, I'm Arnaud De Clerck, Team Leader at the Process Automation Department in Ceratec in Belgium. I have approximately eight years of experience in SCADA and PLC program development, in mostly water treatment plant, various life of kilns and dryers, and also in food process. I'm really new in Ignition. I started my first projects for, now I think, three our four months, but I just love it to use it. So let's rock 'n roll the Exchange webinar.

Travis: Absolutely. Thank you so much, Matthias, Yuen and Arnaud for being here. You're gonna hear more from them as we look at the resources. So let's take a look at today's agenda. We're gonna start by talking about what the Ignition Exchange is and why we developed it. We're gonna show you some recent Ignition Exchange website updates that we did. We're gonna also just talk about our new Ignition Exchange Initiative that our Sales Engineering team has and how it's gonna make the Exchange bigger and better. Then we'll get into the heart of the presentation, which is a showcase of featured resources that you can find on the Exchange today. Then we'll wrap it up with a Q&A period. I'll be moderating today, so I'll be monitoring that and if relevant questions come up throughout, I might sprinkle those questions during. Otherwise we'll take majority of them at the end of the presentation.

Travis: So to kick things off, let's first explain what the Ignition Exchange is. The Ignition Exchange is a platform to discover, share, and download community-made Ignition resources in collaboration with your organization or the Ignition community. You'll find resources on just about every part of Ignition, from Perspective use and Vision windows to scripting functions, reports, UDT definitions and much more. The Ignition Exchange helps accelerate application development; at the same time, it strengthens the Ignition community by providing a space for open collaboration, so it's really a tool that we all can leverage and use to build bigger and better things for Ignition. Currently, there are 140 resources that are available, and of course, that's counting. Anyone can download content as well as contribute. The more contribution, the better the Exchange will be. There's even an option to store resources privately or for your organization. So there's no better way to explain the Exchange than to show it off. So, Kent, can you take us through a quick walkthrough of Exchange and show how you explore the available resources there?

Kent: Absolutely. Thanks, Travis. Let me share my screen so everybody can see real quick. Alright, just from our homepage on our website here, we have these nine dots up in the upper right corner, from here, you can click and go directly to the Ignition Exchange. So the Ignition Exchange is public on our website, and you can come through and right away start seeing resources at the top. We have some featured resources. These will continue to rotate through, so you can always see what's new and exciting on the Exchange, but you can also come through and just see a bunch of resources here. A few things to highlight...

Kent: Right away, it's gonna tell you what kind of resource this is. So right at the top, this is a Perspective view, Perspective view, a Vision window or maybe a Vision template or a complete project. And so, as you're scrolling through these resources, you can see what the scope is, what type this is, and also you can see how hard it is to implement within your project. And so, if it's a beginner, it's pretty much plug and play. You can just import it and start using it right away. Others may be intermediate or advanced if they require a little bit more customization to start working with your project. Let's say you see something that interests you, so if I come down here and I'm like, "Oh, somebody built a heat map. That's pretty cool." I could click into this heat map and I can see that somebody has got some screenshots here. I can see a description of what they have done. And then if I'm interested, I can even go and see notes of how to install this document or this resource. And if there are multiple versions that have been uploaded, they will show up here and I can make sure I grab the appropriate version for the version of Ignition that I am running.

Kent: And so when you click download on the Exchange, you can then go and import that on your Gateway. We have a built-in way to do that. If you're on your Ignition Gateway, you can go into config, go to the Ignition Exchange, and you can import the file that's downloaded directly right there, but that's the Exchange. A couple other thoughts about this, with the Exchange, all of these resources are completely free, they're open source, you can use them for whatever you'd like. And if you have feedback on a specific resource... Like if I came and I was looking at Travis' home automation dashboard... Well, actually that's a poor example here, but if there was an issue, Travis did a terrible job with this, I could report this or I can watch it to see when new versions are coming out. And you can also submit feedback on some of the resources if the author has allowed it for those resources.

Travis: The machine learning resource is a good example of that.

Kent: Perfect. So say I was like, "Hey, I wanna figure out what this machine learning resource is." We do have a search feature. I can come in here and type in “machine” and you'll see that I now find that machine learning. And right here, if I add feedback for Kevin, I could go ahead and contact the developer and send him an email directly through this interface. So with this, if you wanted to upload your own resource, we have a new resource button that you can click and you can go ahead and become a contributor, and you can upload resources. And we've got all kinds of options of how you can categorize it and customize it, and we hope that you do. And once you've uploaded resources, you can certainly come under my resources, see resources that you have uploaded, you can see resources that your organization has uploaded. So in my case I'm seeing all the ones by Inductive Automation, and you can also see your watched resources and your downloaded resources.

Kent: What's pretty cool here is that in addition to just seeing the resources that you have contributed, when you go to (My) Organization, you can have private resources for just your organization as well. So it's not just the public resources if you wanted to use this just to store things as a company, you can certainly do that as well. But we got lots of information to cover today, so I'm not gonna show too much more of this, but we hope that you come check it out. Like I said, you can just go on to our website and access that via those icons in the top corner. With that, back to you, Travis.

Travis: Alright, perfect. Thank you, Kent. It's always best to show that to the tool for people who haven't seen it before, but we're gonna show some really cool things that are in the Exchange here today. After that now, let's talk about some recent changes that we've done to the Ignition Exchange website. So Kevin, can you walk us through those changes first starting with this requesting?

Kevin: Yeah, absolutely. So we went through a recent round and decided that we really wanted to add a few key features right away here for the Exchange. We have more features coming, but these are a couple of the highlights. So we added this Request a Resource link over on the left-hand side in the page, right down at the bottom. The whole idea here is that we have a number of brilliant engineers at companies around the world who really know Ignition and are really good at creating resources and creating examples inside Ignition. And then we have some beginners and some folks who are just getting started and some folks who might be looking for an example of X or Y or Z, or might have a great idea for something that's going to benefit everyone and just wants to get their idea out there into the community and see if anyone wants to step up and take on that resource as an idea to create, and then someone creates and puts them the Exchange.

Kevin: So we added this link for Request a Resource so that anyone can click there. If you wanna see something on the Exchange that doesn't exist right now, and you don't have the ability to build it for whatever reason, you can click on that Request a Resource and put in information. It'll go straight over to one of our systems, one of our feedback portal systems that allows you to put in information about what you're requesting and what you think would be good, a definition of done if you will. So basically, these are the things that I would like inside this resource. And once you add that to the list, it can also be uploaded by other folks who go there and it'll be kept track of behind the scenes in that system. And Kent will talk a little bit more about one of the initiatives that we have going here, but that resource at some point can be created either by a member of the community or potentially by our own team in Sales Engineering at Inductive Automation.

Travis: Absolutely. Now how about the navigation update?

Kevin: Navigation updated is super simple. So Kent mentioned in the upper right there from our website, if you click on the buttons in the upper right, it has the dots there and you click that and you can get to the Exchange. We also added the Exchange to the main section of the website there. So right under the platform section, if you click over there, you're going to see that under explore it has Ignition Exchange there. It's a little bit easier for folks to find if you weren't able to find it before.

Travis: Okay, and the last one here, Contact, which we talked a little bit about, but why don't you go into a little more detail here?

Travis: Sure, so that Contact a Developer is important. It's a really important piece for us to get feedback and we wanted to make sure that it would work for anyone who has actually created one of these resources, so not just when Inductive Automation creates resources, but when any of the community members create resources as well. In order to do that, we wanted to make it opt in, so let you choose if you want to be contactable or not. So basically if someone comes to the Exchange, downloads the resource, they think it's great, but they have a suggestion or they have some feedback or maybe there's a piece that's not working, do you want to open yourself up to receive an email? It's not going to hand your email out to them, but it will let them click that Contact a Developer link, it'll take their email address and then send it to you along with their message in an email from Inductive Automation. So we act as the message broker, if you will, and it opens up that functionality. That's completely opt in, so if you don't change these options, it'll be defaulted to be opted out, and you will not have that link on your resource, like the first resource that Kent showed. If you want to open that up and if you wanna let folks contact you, just toggle either one of these little toggle boxes and that will take care of it for you.

Travis: Yeah, so that was... With the first resource that Kent showed, we didn't opt in on that one. So wasn't that... Somebody was joking there that, "Kevin, your resource requires that machine learning. A lot of feedback on it, huh?" because of the contact being on there.

Kevin: Yeah, yeah, that's right, that's right. I toggled that on. We just got it added, so I haven't actually received any feedback yet, but that's a recent addition to the Exchange, so I definitely expect to start getting some flowing in.

Travis: Absolutely, and we want that. We definitely want that feedback.

Kevin: Yeah.

Travis: We built it, of course, I'm sure if you build one out there, you're gonna want that feedback as well. Alright, so Kevin alluded to the Exchange Initiative that we have in Sales Engineering. Kent, why don't you go ahead and talk a little bit more about that and how Inductive Automation is playing our part in the community here?

Kent: Sure. We see the Ignition Exchange is a really important tool, but it's definitely limited by how many people actually contribute resources. And so rather than just waiting for our community to upload a bunch of awesome resources to make this Exchange exciting, we at Inductive Automation are very committed to uploading resources to the Exchange, and we thought, "Who within Inductive Automation is best suited to upload to that Exchange?" Well, Sales Engineering is a good fit. We think that our team gets to meet with customers, talk about what they're trying to accomplish every day, and we also have our Application Engineering team where we actually build small scale projects for customers. And so we were thinking that within Sales Engineering and Application Engineering, we wanted to make sure that as we are creating things for customers, that when we do so, we can do it in a way that can be shared on the Exchange so that the things that we build for free for customers aren't just useful for one customer, but they're useful for everyone.

Kent: And so what we've decided is within Sales Engineering, every team member will contribute one resource a month. What that means is that you're gonna start seeing several resources from Inductive Automation employees every month uploaded to the Exchange, so there's always gonna be new stuff to check out, and we're hoping that the quality of those resources can be really good because we've gotten the best and brightest engineers to build those. And so we are trying to lead the way, trying to make sure that there are fresh resources there all the time, and hoping that members of the community can follow suit by uploading their own resources as well.

Travis: Absolutely, and we're gonna see a couple of these resources here today that is a part of this Exchange Initiative and really it's also springing a lot of good ideas for what we could build and what we could put out there and we're definitely looking for those ideas from you guys. With that Request A Resource that's there that Kevin mentioned, you go and put an idea and then that allows us... It fuels us because then we have more things we can pull from and that we can contribute on, so we're really excited about this Initiative. Now along with the Initiative in 2021, like we did in 2020, Kevin, we have an Exchange Challenge again this year, why don't you talk about that?

Kevin: That we do. So if you weren't aware of the Exchange Challenge last year or if you need a refresher, we're basically doing the same type of thing this year, but what we did last year is we opened up the period before ICC, before the Ignition Community Conference, that was for submissions of resources to the Exchange, and the top resources would be featured on the Exchange and also featured at ICC. We are doing the same thing in 2021. So we actually have expanded out the window though. We decided that even if you've contributed a resource before right now, we still wanted it to qualify as a possible resource for being one of the winners. So anything from ICC 2020 all the way up until August, end of August 2021, is going to be automatically entered to win, and what we are going to do at that point is evaluate all of the entries. It should be noted, I know that we have some folks from Inductive Automation on this call. Inductive Automation employees are not eligible. I apologize.

Kevin: But that's also good news for everyone else. So that means that anything that we're submitting from the Sales Engineering team here isn't competing with you for one of these ICC Ignition Exchange Challenge winners. Not necessarily that we would do better than anything that you contribute, but anything that you contribute up through then is going to be eligible for this challenge, and you have the chance of being featured at ICC directly, and then having that resource featured on the Exchange itself. We do also have some possible prizes, but nothing's been worked out there directly yet, so I can't really speak to that, but we really hope that everyone will be excited about this. It was exciting last year to go through and evaluate the winners and award the prizes and we're really looking forward to it again this year.

Travis: Absolutely, and as you said, you're gonna get a shout-out at the conference from our teams in terms of these awesome resources that are being put up there. So definitely contribute. We're really excited about this and hopefully, we can get some really cool prizes on there too. Okay. So now let's transition to the resource showcase, this is the heart of the presentation here today. We're gonna spotlight seven recent innovative resources that have been uploaded to the Ignition Exchange. Some of them have been by Inductive Automation, and some of them have been by the community, and we're gonna give a quick demonstration of each one of these. So we've got seven, so we're gonna take about five minutes for each of those to go through, and don't forget that all of these resources that we're gonna show are available for free today, right now, you can go and download and play around with it.

Travis: So here are the resources that we're gonna look at, the first being DMC Siemens Open Library Object, and then secondly, Greenhouse Temperature Control, then IFM Sensor Templates, then a few Perspective ones with the Historical Playback, Equipment Scheduler and Document Management, and then, actually, the last one is also Perspective, a User, Roster, and Schedule Management Components. So we have a lot to show here today, so let's kick it off with Arnaud to talk about the DMC Siemens Open Library Object, and to show us a quick demonstration there as well Arnaud, so I'm gonna make you the presenter.

Arnaud: Thank you, Travis. Perfect. So let's start it with a little bit of the history of the library, so the library is actually one made by DMC, but we are using this library with the friend to make some projects in a fast way, and after a few weeks, we decided to search for our new HMI SCADA system, but still base it on the same PLC function. So Ignition came as first choice and we started the development on Ignition was the site, and after a few days, the first release was made on the initial platform, the HMI platform, sorry. We're now busy with the fourth release with some new features. So I will show you how to download the actual first library, so the DMC one, to create your own project into the Siemens packet, and then show you how to create tags, and now it's easy to create some view and relink and how the tag is functioning and configurable.

Arnaud: So to download the library, you can just Google it, Siemens Open Library, and you get the first link on the page of the library, you can download the latest version, so that's the part where DMC is involving, not me, but you know how to do it. The link is also in the Exchange description of the DMC Siemens Open Library. I have started with a fresh install of Ignition, and now you can see I have a Siemens PLC connected of the new generation, so 1500, you can see it's connected. I will show you my portal... A little bit of time to refresh it. We can see I have a DB with multiple devices, today I will concentrate it on the Motor Control device. So you can see we're busy DB-1 and with the start byte of 698, so this is very important for the configuration inside Ignition. Now I will show you inside Ignition how to create some tags, so you can see I have already for the demo purpose create an overview, so it's just a main screen and I have also already import the DMC resource stuff of the Ignition, so it directly take it from the Ignition, from the Exchange platform, there's nothing coming from my test server at home, so you can create easily a tag by searching the one that you need.

Arnaud: So here we take the HMI Motor Control, the library is working with one data type for the control and one data type for the error, you can see that it's easily reconfigurable by the start of the name. So I will take the post of the Motor Control, the HMI, I will give a name so let's take motor one and then you have three parameters, so you have the DB number, the device name, what is actually the name that you give it to the device connection inside the Ignition Gateway and the start button so I'll give it the needed info and then just apply, so you see that the tag is created. I made the test here now with a new version of the Siemens PLC, but the library is also working with the old version, but my resource, I don't have it tested it because I don't have an old version of the PLC, but according to DMC, it's the same structure between the two types of PLC. And now I will show the feature that finished to convince my friend to use it in Ignition, and I think it's really cool, you just take the tag, drag and drop, and then you can check, you can just take the faceplate that you need, so I will take a razor tool and inside the faceplate, you can see that the link to the data type is directly made it to the correct tag, and you have two of more...

Arnaud: It's according to the faceplate that you are using, here's two strings, so you have a tag name that will appear on the top of the pop-up that you will see it's in a few seconds, and also the description of the motor. So we take Motor-1, and I will put Motor-1 Reversing Control, I will save it. And then you can see, I will take my runtime. Just update it and then you have it. Your faceplate's, with the pop-up directly linked, you can change modes and you can also start stop in manual so that's all explained into the manuals that you have with the download of the library. So that's it for my demonstration... So I spoke earlier about that we are busy with the four releases.

Arnaud: So there are two major feature in the pipeline for the moment. For the fourth release, we hope to get the UPC-A server onboard the PLC compatible so to unlock the use of the optimized Siemens PLC, and for our future release, we are now looking to switch the library into Perspective. So actually, it's only the Vision that you can use the library and it's also an Allen-Bradley preparation. It's only on paper, nothing done yet... So also, I'm always open to new contributors who can add some new features, some new language also, so now the library is in six of... No, in five languages, sorry. English, French, Deutsch, Italian, and Spanish. And also just give sample feedback so that you are adding to the website will be very useful for us of the working in the library and the reroute because for me, it's only simulation, I don't use it for the moment. The part of ignition, I don't use it for the moment in the reroute. For last, I want to thank Mr. Gonzales for his contribution to the library on the last release. So yeah, that's it. Back to to you, Travis.

Travis: Alright, well thank you so much, Arnaud. Looking forward to the Perspective ones as well. That's a really great resource you've got there and all that work that you put into it. Thank you so much for contributing that to the Exchange and making that available to the community. All right, next, we're gonna look at the Greenhouse Temperature Control resource that's on the Exchange, and for that, we're gonna hand it over to you, Mathias, to talk about it and give us a little demonstration of that one as well.

Mathias: Thank you very much, Travis. So yeah, just to give you a quick demonstration of our resource and what problem it actually solves then I went on to the Ignition Exchange here, where you can see this image of the small part of the greenhouse, and the problem we had was that the heating of the greenhouse during the nighttimes, it could go below zero degrees, so all the crops would start to freeze and all that's obviously not good. So the obvious solution was to just put up an electrical heater and have it running for all the time, and obviously that's not the perfect solution, so we decided to build this in Ignition that... We decided to do this by doing it as a project for the whole team where we got the opportunity to build it in Perspective, where we could learn something about the Perspective Module and also about the MQTT Modules, so that's our main purpose for this project.

Mathias: And on the image here, you can see actually this little box beside the heater. We have a few components in there, which is all described in the text underneath, but today I would just show the Perspective app itself so if we head over here, we have our main page here. We have thought about both the functionality of the solution, but also a bit of the design. We try to do that because it gives the user a better feeling of what they're actually using, and it's a good way of delivering something when it looks good as well. So here in the main page, we can see the current temperature in the greenhouse, we can see the stages of the heater and what mode we are in. Then in the bottom here, we have the latest six hours of data, so how long has the temperature developed over the last six hours. Then we have another page here where we can see something about the historical data, so we have the minimum temperature and the maximum temperature over the last day and then you can choose a week or month depending on what scope you want to see it in.

Mathias: We also have the feature in the bottom, as you can see, that we can turn around the film and then it will change over to a whole week of data which you can show so in that way, we reduce the things and the opportunity is in Perspective and on the phone, so we can actually change the views depending on the orientation of the phone, so we think that is pretty cool, and it was new to us, so it was a good opportunity to use that in an actual project as well. Anyway, if we can go back here, we can go to the settings, the menu here, where we have the option to either control the heater in manual mode, so we can put it into manual mode. Now it's stopped, then I can start it. Then the heater will just start to run, and we can go back here to the main page, and then once it updates, we should see that it's running, so now basically the heater is running so we have the opportunity to control the heater manually. You can go back to the settings menu again, there we can start it obviously, that's a good feature, but we can also put it into the auto mode. In auto mode, it will run after the start temperature and the stop temperature.

Mathias: So it will try to control the temperature in that way in the greenhouse, so if we have a start temperature, then that means that when the temperature goes below this temperature then the heater will start, and once it goes above the stop temperature, it will stop again, so right now it's around 20 degrees. So if I put in here like 22 to make sure that it actually starts, then I hit the save settings, we can see it's saved here, we can go back to the home page, and then it will run for a maximum of 30 seconds before it will update the temperature. Let's hope it will start in just a minute here or 30 seconds, and while it's just... While we're waiting for this, I can basically say that this was a very good project to get the feeling of how Perspective is working, and do.

Mathias: This was the very first project we actually did in Perspective, so it was a great project for working on as a team and pitching everybody, so that was a very good project. So here, we could see that it was actually running, and then, of course, we can start it again, so just by showing that here... So it's save settings here and it should go off again. So basically, that's our resource, and we decided to upload this at last year's ICC because we think it's a good way of contributing to this Ignition Exchange, and we think it's a good platform to get both inspired and the things you have shown today is that you can actually request some other feedback or create some solutions, so I think that's pretty cool. So, thank you. Back to you, Travis.

Travis: Yeah, thank you so much for quickly going through that, Mathias. It's also good to see some projects like this from Perspective as people are learning it, the little tricks that you're doing with turning the phone and having to be the mobile-responsive, they're using those features and contribute that. It gives more people ideas of what they could do in their projects, right? And that's really one of the big goals of the Exchange is to springboard ideas and show what people are doing and to use somebody's take this example and leverage it for your projects, right? And maybe you built something, you think it's really cool, contribute it back to the Exchange and we can keep that really going and the projects that we're building are gonna get better and better and better as we go forward. Alright, let's go to the next one, and this is gonna be over to you, Yuen, to talk about the IFM Sensor Templates, that I know interface with your actual sensors and make it really easy for Ignition and IFM to work together. So I'm gonna make you presenter here and go ahead and explain and show your resource, please.

Yuen: Alright, sounds good. Perfect, so what I wanna do before we get into the actual template stuff, and it's probably best to describe, why did we even want to do this, right? So in essence, IFM is part of a much larger organization that has developed a sense of communication technology that allows us to basically extract more information from your typical sensors here, and this page illustrates for us what the difference is between a standard sensor that you employ today, compared to one that has the IO-Link capability. A standard sensor today, there are microprocessors in there, but in the firmware you have to dumb it down to give you an on and off signal, which is what this one on the left-hand side represents, but if you connect this via IO-Link using the same cable, and in this case, you're using the same exact sensor, this allows you to unlock a lot of information that you could present to other systems, your PLCs, to Ignition, that you can use.

Yuen: So this technology really allows us to bring smart data from our sensors, really un-trapped data that exists on your sensors and make it available to other systems to be able to use, and this whole complied technology revolves around the fact that this technology doesn't allow you to add cost or decisions, because the cost of the sensor is the same, whether it's an IO-Link or a non-IO-Link version of it, and the architecture doesn't require re-engineering. You're gonna be using the same exact architecture cabling system that you're used to using today. At the end of the day, you just have the ability to be able to get more information from your sensors, so that's the number one reason why we decided to partner up with our friends at Ignition to develop some templates. We want to be able to talk to these other systems like Ignition, much, very easily because we have a lot more wealth of data to be able to provide. And this is the IM post just to show the controls architecture, the sensors go into what we call an IO-Link master which is really just...

Yuen: Think about it as a smart ethernet IO hub. Of course, we are able to pass this information to a PLC because of course, you need the sensors to control your processes, you need the PLC, that's what the PLC does. In addition to unique things of what IFM does, we've added an IO T-port here that simultaneously can allow us to send information that maybe we are not time-critical and not needed as part of the process to be sent to systems like Ignition. So now we have something, what we call the Y Path, to allow us to, of course, send information that you want to control your machinery, but also now be able to send information that you might wanna trend, monitor at a separate system, so basically bring data to where you want it to go. And since Ignition has been such a popular and growing SCADA system, we wanted to make it easy for our customers to be able to integrate our sensors, our IO-Link sensors into that platform without any work, right?

Yuen: And that was the goal of this partnership with Ignition here. So just to show you how easy that is to do, I'm gonna give you a little bit of a demo here, here's my Ignition system, these faceplates that you see that you can download our Perspective template here, I've already imported the files that I need, and that's really easy by itself, there's only two files you need to import. You need to import the Perspective project into here that contains all of our sensors, and then you import another file here for the UDTs and stuff. So let's say in this case, my demo here, I have an airflow meter of IFMs here, so to get to that, I just simply right-click. I'm gonna create a new tag with a new data type within the IFM folder, in this case, it's gonna be our product line DSD, which is our airflow monitoring sensors, I'm gonna click on that, the next thing you need to do is give it a name.

Yuen: Let's call it airflow here. And then once you do that, there's only two parameters that you need to provide for this to get information. So I'm gonna click on here. One is the host name, which is the IP address of our IoT port on that block that I showed you earlier. So we type that in in a string format here. And the other thing that you need to put is, "Okay, what port is that specific sensor connected to?" In this case, it's all on port one, so I'm gonna commit that, apply and hit okay. Now you have an airflow sensor and you have all these specific UDTs, and you see the data come in. So in this case, we're getting the flow data from this particular device, we're getting pressure information from this device, temperature, and we're also getting a totalizer count here.

Yuen: Just having the UDT is fantastic. This is such an easy way for us to get the information in the relative context that we're looking for. As you see, there's no scaling. All that stuff is done. With IO-Link, you're actually getting the true digital process value of the sensor. But then we took it up a notch here and decided to, "What if you don't want to do the actual work to do the visualization?" What we've done here is you can now take this instance, drag it in... It's a little slow here but... Let me see here.

Travis: Go ahead and just close that view and re-open it. It's a bug with multi-monitor, different resolutions.

Yuen: From here, you see, we have a prefab template for you here that, again, brings in all that information from IO-Link of this airflow sensor. You get the vendor ID, device ID, serial number for traceability, you get the process values and temperature. We can reset the totalizer if we wanted to here if we go into the play mode. So that allows us to reset the totalizer all in one and you see how easy it is to be able to implement any of these different ifm sensors. And as we move forward, we'll plan to increase the library with, basically. As much of the IFM sensors as possible within this library. So thank you very much.

Travis: And there was a quick question which is:What is a totalizer? Do you wanna quickly answer that question?

Yuen: Yes, absolutely. So the totalizer is measuring the amount of air that's passed through the pipe. So that's good to... If you're looking for energy monitoring, you wanna know how much have you used already of air or in some cases, flow, a fluid of some form.

Travis: Perfect. Thank you so much for that, Yuen. That's an amazing resource here and then this is again, the power. The community, at large, we wanna make things easy and make the stuff that nobody wants to think about just make it automatic and make it quick, drag and drop, and go, and we can start focusing on the bigger and bigger... Bigger features, bigger and better things we wanna do with our applications and providing more value to the customer at the end of the day, and I think this is really gonna do that for us.

Travis: Okay, so let's keep going. We've got a few more resources to show. We're gonna hand it over to Kevin. Kevin is gonna talk about two resources in particular that we did, the Perspective Historical Playback, as well as the Perspective Equipment Schedule. So he's gonna go through it and show us both of those. Kevin, I'm gonna make you a presenter. Go ahead and give us a little introduction to those, please.

Kevin: Absolutely. So if we take a look at the first one... So the first one, the Perspective Historical Playback here is something that we've had for quite a while, actually, and if you go to our demo, this is at demo.ia.io, it's actually part of our demo project. So want the real time status, this is the easy way to show it. You have a real time screen right here. These have all the values that are coming through that you're seeing that are streaming real time from the device that we have connected to this. I had enabled playback controller. It adds this playback controller to it and we can either be in real time, which is where we are right now, or we can switch to a historical mode. And you'll notice, if you're observant, right here that all of these have just switched now and we're taking a look at the past hour. You can take a look over past minute, past day.

Kevin: You could change the design of how this looks if you wanted to and right here, I've seeped back in time to, let's say, about four o'clock here, 1600, hit the play button, and I can watch what these values for that time as they're changing. These graphs are also tied to that as well and then this ticks up over the time period that I have selected here. And you can see, as I drag, it all updates as well, so basically, now, I'm looking back about eight minutes ago or six minutes ago. This is how things looked. So really useful if you're trying to trace back what happened in the past.

Kevin: This component, this Exchange resource, this is basically a Perspective view that you can use as an embedded view inside any of your projects, and I'll show you basically how it works. Over here, when you import it from the Exchange, you'll get this playback controller. It's all completely self-contained. You don't have a variety of resources, it's this one resource. And inside here, you choose how you want to configure it. So it will be by... Pointed at these example tags. So these example tags don't actually exist but if I see these tags down here, example one, example two, example three, then I have some values coming out of it, which are null values. If I tie this over to some points here, so for example, we'll bring it up zero, I can take that path, put it right in here. And then maybe I wanna do ramp one for the second one and I wanna do ramp two for the third one, and you can see, with those, I'm now getting values through for each one of these and these values are driven by this playback controller. I can easily just find these values.

Kevin: So if I use this on another view and I'm showing ramp zero, for example, on a screen... Let's drag it out here and see what value will be displayed, ramp one and ramp two, then I can do the bindings here that connected directly to that historical playback controller. If I drop this on the screen right here... Then it's going to allow me basically to see inside my parameters, what I just set up there with the tags, I have the values coming back for each and I combine these values to that playback controller, and then so instead of being directly bound to ramp zero, I can bind it directly to that playback controller's ramp zero property there that's coming back, and now that is historically playing back but for the sake of time, I won't bind all three, but you get the basic idea.

Kevin: So now this is a live screen, every point on it, of which is just one point is tied to this, and if I go back in time, that adjusts, if you have everything on your screen like you have here, you just bind all of these points to that controller, and it'll automatically play back. There's a couple of other properties inside this controller that... You don't have to care about any of these, we try to make it as easy and simple and basically drag and drop as possible, but if you did wanna play with some of the other parameters, there's a filter param that allows you to change the rendering, you can tie that to filter style for different things.

Kevin: There's basically some controls that you can do of this outside of that, so I can control whether or not it's playing, whether it's in historical mode or not, each of the buttons that I can press here, I also have some control, so you can control this with scripting for example, or for buttons outside of it, there's the option to either show the mode switch or not, so if you always wanna keep it in historical and you don't want to show them that menu item, you can do that, and then there is inside the component itself. Well, it'll always tell you what the current time is, if you want to bind that to something else outside and inside the component itself, if you want to do a little bit of debugging to actually see what's happening behind the scenes, you can turn on this gateway logger and it's going to give you and the Gateway web pages, what is happening there, it's going to tell you every time that it is requesting information back, and it has some automatic features like built-in caching that allow you to...

Kevin: It's not going to overwhelm the Ignition Gateway basically with these requests, and you can see that I have a lot of cache hits so far from what I've just been doing there, if I get to a certain point and it's requested a whole block of information, and I don't have any information for that time period, then it'll switch to cache misses. It'll fill in about 10 items or 10 rows for every time that it has a cache miss there, and this total time is in milliseconds, so normally is super fast for actually executing this. But you can also take a look if you're pulling back a 100 values and you're concerned a little bit about performance, you might wanna change the rate or you might want to just make sure that you're not really heavy on the system, this will give you the information you need for that. So that's the historical playback controller. The other one that I wanted to show this, everything we've shown so far is actually up on the Exchange downloadable right now, this Equipment Schedule is either going to be up at the end of the meeting here, or it's going to be up shortly afterward, so we just found something inside it that we wanted to make an improvement with, but I wanted to show it anyway because it is really powerful, and if you've ever used Vision before and you've used the equipment scheduler component in Vision, you're going to be very familiar with this idea.

Kevin: So basically, in Vision, there is a component that is in here that is specifically for doing that equipment scheduling for taking a look and being able to set up machines and different times that they're running... You could think of it that way, it doesn't have to be machines, any of these labels could be changed, but that's the idea, inside Perspective, what we wanted to do is provide something that would give you the same functionality, and so if you've already... If you're already using it inside Vision, I'll toss the other couple of things that I have on the screen here, but if you're already using this inside Vision, you're going to be very familiar with what this actually looks like there, and... So inside here, the data sets that you use are the same, the items are the same, so this is something that you can take the exact data sets that you have coming from the other component or from your existing Vision screens, if you're switching over to Perspective from Vision or if you're providing both interfaces, and this will add those things and those will be available right now, it doesn't have the little lead time at the beginning, but that will be added in a later version as well, and other than that, it matches almost exactly.

Kevin: So you can see different items, and these could easily be employees or these could be... These could be whatever you want. On the side, they're all driven by these different data sets, if I take a look at one of the data sets, for example, the scheduled events, of these are each one of these event blocks and these are easily database-driven if you have this type of information inside the database, start date, end date, labels, borders, times, things like that. Those are the couple that I wanted to show. So Travis, back over to you.

Travis: Okay, perfect, thank you so much, Kevin, for showing those off. I wanna go quickly, here are these next two, so we can then wrap up today's ICL, but two that I want to show is a Perspective Document Management one. This is a resource that I built there to basically... It's a simple way to store documents that we can upload to a SQL database and view 'em and download and all of that, so a pretty quick thing to be able to... To demonstrate here. So let me go out of this for a second, so here's the document management pretty simple, you can go in there, you can add folders, so I can put a documents folder inside there, I can navigate to that folder, I can upload things, so let's say I wanna upload a logo or I wanna upload maybe multiple things, I can select both of those PDFs, have those added. And ultimately, we can come in here, we can change the names of these things here, we can change a folder, we can add tags to them, so if I wanna go in here and say tag one, I can add tags, I can then go and search for those tags here, or guides or tag one.

Travis: And ultimately, I could view that resource, we could view it right here, so it's the image on that one, if I view this one of you, it's PDF, all within this, or I can actually open it in another tab where I can see that document and of course, we can go ahead and download that. So it gives the ability to manage things in folders, upload files, add some more information metadata to it, we can search various files, of course, we can download them there pretty easily. So that one is a nice resource that allows us to do that, so now we're gonna turn over to Kent so he can talk about his... The User, Roster and Schedule Management components. I'm gonna go ahead and make you presenter, Kent.

Kent: Great, so inside my components, these were created by Ryan Zakskorn on our Application Engineering team, and he did a great job. So right now, I'm in Vision, Vision had some components that you can see over here on the side, specifically for user schedule and roster management, so this is user schedule and roster, and people for a long time have said, "Well, where are those components for Perspective?" Well, today, if I jump over to Perspective now, here I've got user management, schedule management and roster management, and so you'll notice that they are very similar to what you see in Vision. We did that on purpose. But yeah, these are built out and they're fully usable, so if I come into my browser, I can see them all here, and if I wanted to come in and edit a user then I can come and I can do schedule modifications, add contact information, assign roles, edit passwords, all that kind of stuff, and so, because we are out of time and these resources are familiar to people, I'm not gonna go into a lot of detail, but just know that these resources are cool because people have long wanted to be able to customize their user roster and schedule management, things to match the look and feel of their sites, now that these are on the Exchange rather than as actual components, you can go in and customize styles, change the look and feel, change the features to however you want. So back to you, Travis.

Travis: Absolutely, and we are also not gonna be building these components in Perspective for security reasons, the APIs exist to be able to modify all this data, so this is a great tool, it shows how this is going to be possible and to customize like you're saying, Kent. So that's great, thanks for that and good job to Ryan on the team and building those. So there are, in addition to what we showed, there are a lot of other resources on the Exchange that are fun, you can take a look at table column editor, diagnostic information, web dev endpoint, Modbus tag import tool, Vision power table with user preferences, these are all things that our team is contributing in part of our Ignition Exchange Challenge. And as we said before, we'll be adding new resources every month, and we hope that you can check them out, and we hope that all contribute to the Exchange as well. But, Kent, if somebody wants to get started or they wanna get involved, contribute, what's that process look like?

Kent: So first, you gotta just go check out the Exchange, see what's there, download some resources, play with them, start using them. When you kinda get familiar with that Exchange, we hope that you then find the value in it and that you wanna contribute to that, and that could be that you are submitting suggestions to module authors, or it could be your uploading and contributing your own resources. And those resources can grow over time, as we showed before, there are versions, so you don't need to feel like it has to be perfect necessarily before you upload it, it can keep growing over time with feedback, and so we hope you become a contributor, we hope you want to reach out and be part of that community. And if nothing else, we hope that you submit requests. Our team, we're hoping to upload resources every month, we're gonna rapidly run out of ideas of things to build here, we're counting on you to submit requests, tell us what you'd like to see. And with that, you can get involved.

Travis: There was a quick question here, Kent, on that, which is: Does Inductive Automation review and give a stamp of approval on any of the public resources that are there and and/or if it's private as well? What does that process look like, Kent?

Kent: So for private resources that aren't public, we do not review those, but for public resources, if they're gonna be available for anybody to download, then yes, they do go through a review process. Now that is not an exhaustive check to make sure that this resource is following all best practices and is a perfect resource, but we're certainly making sure that there's no security or making sure there's nothing vulgar in any of these or anything like that. So we certainly do a check and we do provide feedback to resource contributors as far as ways they can make things better, but... Yeah, so there's a review process for making sure that these can be downloaded, but they are not necessarily from Inductive Automation, they still should be checked out by you before you put them in a production environment, we're not saying just download these and use them today, but certainly worth checking out.

Travis: Perfect, thank you so much. Okay, so everybody... The Exchange is really a powerful tool and really great. The contribution that's there and what we've been able to show off here today, but in 15 seconds from everybody, that's all the panelists, any final thoughts about the Exchange and about today's Ignition Community Live? I'll start with you, Kevin and Kent.

Kevin: Sure. So I'll start off, I'm really excited about this initiative that we have going, and I am really excited to see what the community is contributing and is going to continue contributing, especially with the Exchange Challenge coming up and the... The prices that could be won and the bragging rights that you can get from that, and also the fact that we have so many Premier Integrators who are starting to contribute. It's part of becoming a Premier Integrator, at this point, and then a number of Premier Integrators who are just doing it in general. So I'm excited to see what's coming next and I'm excited to share with you what we create next year too.

Kent: Yeah, and just to echo that, I am excited about the Exchange as well. I see it as a fun place for us to put valuable resources for production environments, but it's also a great place for us to just put fun resources. Like, just this past week, I wanted to be able to control my Rokus that run on my TVs, and so I built a little controller app, in Ignition, that I can control my Rokus, and so that'll be coming to the Exchange soon. So I just think it's a fun place for the community to share and collaborate. And yeah, I like it a lot.

Travis: What was the Toddler Distractor, I think, that's on the Exchange as well? It's kind of a fun thing.

Kent: Exactly, yeah.

Travis: Yes. So Arnaud, Mathias, and Yuen, any final thoughts? Let's start with you, Arnaud.

Arnaud: Yes. The Ignition Exchange is a great place to start a project, I would say. For my first project, my customer was asking, "Oh, can you do that?" Or, "Can you do that?" Or, "Can you do this in a better way and instead of searching on Google on the forum?" Yeah, just go to the Exchange, you have a good chance that it's already made or maybe not 100%, but a lot of work is already done.

Travis: Perfect. Thank you. How about you, Mathias?

Mathias: Yeah, I think the option about making your organization library there, I think that's pretty cool. That you can actually have a place to store everything from multiple projects and be able to have a version control there, I think that's pretty cool.

Travis: Awesome, and then lastly, Yuen?

Yuen: Yeah, I love the whole initiative. We're becoming such a society that loves open-source coding, and just... I think The Ignition site and The Exchange site here will just make everyone's life so much easier, just having some of the basic tools to be able to implement things and get everything running, 'cause we're trying to be simpler as quickly as possible. Try to do things in such a short timeline and these tools will just only help in that and aid in that.

Travis: Well said, alright. So I wanna encourage everybody to... We are doing ICC 2021 this year. The theme of it is Evolve, and it'll be held virtually, unfortunately, it's not gonna be in person this year, but we're gonna beef up our game from the last year. We're gonna be doing a lot more. We have the Exchange Challenge we talked about here. The Discovery Gallery is on again, and the submissions are due by April 30th. So if you have a project and you want to get in that Discovery Gallery, submit it very soon. So that way you get a chance to be there and to be eligible to win a Firebrand award on that. I also wanna point out that the Build-A-Thon is back and bigger and better than ever this year. Kevin, Kent, and I, are really excited about it. We're gonna be doing some fun stuff with it this year, and that resource that Kevin showed off, of course, was the straw that really broke the camel's back, in terms of kicking my butt last year. So we gotta look at some revenge this time, but again, you can register for free at... You can go to icc.inductiveautomation.com or you can click on the link that's on the screen right now, and we look forward to seeing you guys and being a part of that event this year.

Travis: So I wanna thank you all for being here with us today. I wanna thank our guest speakers, Kevin and Kent, thank you so much, as well as Arnaud, Mathias, and Yuen, I can't thank you enough for the contribution, for being a part of this, and to really make the Exchange the best resource out there for industrial automation, and really being able to provide a lot that people can leverage for building the best applications possible there. But we're gonna be back with another Ignition Community Live on May 13th. So we'll see you then. In the meantime, stay connected to us on social media and subscribe to our newsfeed and our podcast. We look forward to seeing you. Have a great rest of your day and we'll talk to you next time.

Posted on March 30, 2021