What happens when two passionate ladies in industrial automation meet on LinkedIn and decide to create a podcast? Magic. And growth, lots of growth. Dive into the journey of the Automation Ladies podcast and how it has become an engine for both business growth and network expansion. Nikki and Ali will unpack how amplifying your voice online can have real-world business benefits. If you want to grow your customer base, attract top-tier suppliers, or strengthen your community, this talk should have some actionable takeaways on the power of creating an authentic personal brand by sharing your journey with the world.
Transcript:
00:00
Nikki Gonzales: Welcome. That's her job.
00:10
Christine Lee: That's my job.
00:14
Nikki Gonzales: My bad. We hope you're in for a few laughs today.
00:17
Christine Lee: Hi everyone. I'm Christine Lee, and I'm an Application Engineer at Inductive Automation. And welcome to today's session with the Automation Ladies. It's called "From LinkedIn Connections to Community Leaders: the Automation Ladies Experience," and I will be your moderator for today. And to start things off, I'd like to introduce you to our speakers today. Nikki Gonzales, Head of Partnerships at Quotebeam. She was born in Iceland, and she started her career as sales engineer in machine vision systems and mechatronics before transitioning to the design side of engineering with multi-physics simulation for virtual prototyping of electronics. And finally, ending up in the supply chain space, developing chat interfaces for data analytics and using AI for forecasting and inventory optimization. That's a lot of words. So she's awesome.
01:16
Christine Lee: Sorry, I wasn't done. Today she brings all of that experience together, building an online procurement and workflow automation platform for industrial automation distributors and their customers to collaborate on the BOM procurement process with Quotebeam. Okay, now clap.
01:46
Nikki Gonzales: And that was 30 minutes. The end.
01:49
Christine Lee: And to my right, Ali G., Owner of Process & Controls Engineering, LLC. Ali G. was born in Mexico. She holds a Bachelor's of Science in Chemical Engineering from Rose-Hulman Institute of Technology. Before starting her own engineering company she spent 10 years in engineering. She started at process engineering and then transitioned to controls. She eventually went on to run a UL508-A panel shop and spent years traveling the US starting up burner and gas train control applications. Today, she provides controls engineering services across the US, through her company, Process & Controls Engineering. I'm so excited to introduce these ladies to you all, and I hope you have a great time. So please help me welcome Nikki and Ali.
02:41
Nikki Gonzales: Thank you. Okay, slides there, we go and get this right. So here's the topic of our talk, which I think you know, and that's us. So we obviously don't have to introduce ourselves because Christine did that beautifully for us. But what we've learned over the last couple of days is that not everybody knows that we have day jobs. Automation Ladies is our side gig/hobby passion project. So I would just like to quickly introduce Quotebeam, the company that I work for. It is a startup out of the Bay Area, and I joined as the first employee a couple of years ago. We're a team of 12 now. And we do a lot of software engineering because we're building connected platform, and we're very excited to hopefully integrate that with the Ignition community at some point through open APIs. And our friend Alex Marcy over at Corso Systems here has volunteered his time to build a prototype with us when the time is right. So look out for that at some point. But we help people procure parts, and I'd like to have Ali also tell you a little bit about PCE.
03:43
Alicia Gilpin: Yeah, I started my company after 10 years of doing all kinds of different engineering roles in industrial automation. And it's been amazing. But I'm a systems integrator out of the Pacific Northwest. But I got my first contracts and jobs in Rhode Island and Florida. So I was able to get visibility outside of the Pacific Northwest and kind of started making a name for myself in government contracting in the Pacific Northwest.
04:19
Nikki Gonzales: Yeah, so that's a lot of what we're doing right now. We've been working together on some projects over the last couple of days, and I am going to try to speak a bit slower. So we wanted to just tell you our story. We were asked to come present, and we really don't like to speak on topics that we don't know a whole lot about. And this is kind of a topic that we know a lot about because we did it. But it was a very interesting exercise for us to go back to prepare for this presentation. I almost call this presentation a scrapbook because I went through and looked at what happened. 'Cause we both have our recollections, and we get asked a lot, "How did you start Automation Ladies? Why did you start Automation Ladies? What is it? Is it a group?"
05:00
Nikki Gonzales: Is it a... Well, it's a podcast. But a little bit more than that. We do LinkedIn live shows. We like to do demos because we're both incredibly curious, and we'd like to know what technology is out there, what other people are doing. We wanna see stuff without having to go through a complicated sales funnel, or be gated, or be qualified. And we kind of got into some discussions about this, and instead of complaining, we wanted to do something about it. So even though neither one of us knew what the heck we were doing, we decided to do something about this problem that we kept talking about. And the other thing was just we've always kind of operated in little silos as women in industrial automation. You generally are one of a few people at a plant, or at a sales conference, or something like that.
05:43
Nikki Gonzales: And we're kind of geographically isolated. And obviously, COVID changed that. LinkedIn changed a bit. It went from being at posting your resumes to actually having conversations, making connections. And that is actually how we ended up meeting, on LinkedIn. I used to work in the Bay Area. I was a sales engineer in the Bay Area, including covering Folsom, when I worked with Keyence and Festo. And then I moved to Seattle, and we actually lived in the same area. We didn't know that for a while. And then I moved back to Houston during COVID and met Ali after that. And I was like, "Oh man, we used to live like 20 minutes away from each other." But LinkedIn is an online community that, I think, for us as engineers and business professionals, it captured something we haven't been able to do a lot because we are also a little bit siloed at home.
06:38
Nikki Gonzales: Like who wants to hear about SCADA systems in your friend circle or at your kids' baseball games? Not a lot of people, right? You go to a party, and people ask, what do you do? And I'm like, well, do I want your eyes to glaze over? Or I'm gonna say something like, "Oh yeah, I work with robots." Even though we all know that most of us don't work with robots at all.
07:00
Alicia Gilpin: I say factory computers.
07:00
Nikki Gonzales: Yeah. So we found this incredible comradery when we met and talked and realized that we love the Pacific Northwest. We love automation. We are also girls, which you know we have gender in common. That doesn't always mean that we wanna be best friends, right? I don't know if all of you men are always best friends just 'cause you're also a man. We don't find that. But we found each other, and we really got along. And this was about two years ago, LinkedIn reminded me. And our first message, so I remember seeing Ali posting a bunch of stuff from PACK Expo, and I started following her, and she was posting a bunch of stuff from YouTube, like how does a certain type of valve work or just all these things that she was studying and learning and content that she liked. And I started following her, and I think she had maybe, like, I don't know, 30,000-20,000 followers at the time. It was a lot. I was like, "Whoa, this girl's just sharing engineering stuff and I love seeing it and apparently other people like seeing it." So I sent her this message at some point, and it was just interesting to see like I had not looked at this.
08:05
Nikki Gonzales: But I said, "Hey, thanks for connecting. I love the videos that you're posting." And apparently we were like, yeah, we need more women to see, and support, and learn from. And she thought that I actually spoke Spanish. I'm not really Mexican; I'm just by marriage. But a couple of misunderstandings initially, but since then our LinkedIn presence has grown quite a bit. Ali is now up to, what is that, like 58,000 followers? It's crazy.
08:41
Nikki Gonzales: There's that many engineering nerds that like to see what we're doing out there.
08:42
Alicia Gilpin: Thank you.
08:42
Nikki Gonzales: And neither one of us are social media sharers anywhere else. Like I know, influencing is a whole big thing on Instagram and whatever. I don't got time for that, so I don't really know how it works elsewhere. We're not doing it for that. But it is really fun to have this community. And we met so many people here in person that we know from LinkedIn, that we really enjoy this. But that is how we met. And we actually did not meet at all before we started the podcast. Some of the things that inspired the podcast was this group chat. And I actually wanna hand it over to Ali to talk about how this happened. I had to remind her by pulling up this conversation. That was about a month after we initially exchanged messages.
09:26
Alicia Gilpin: So I don't remember if it was the one that was called Women in Industrial Automation or Women Play with...
09:29
Nikki Gonzales: "Girls Messing with Automation Hardware Chats," we called it.
09:33
Alicia Gilpin: Yeah. Okay. So that's what we called it. Okay. And so I knew some women that were doing the same stuff that we're doing and that are programmers or work with robotics or whatever, PLC programmers, even technicians. So we didn't even just get engineers like in on this chat. We got kind of, I don't know, a lot of women that I knew were technical and in our space. And yeah. So I invited them all to this, and she just showed me these slides yesterday, and I don't remember most of this, but like it's bringing back all these memories because everybody, I guess, this was different from anything that we had ever seen. And she was saying that like women are siloed for whatever reason, if you make it in a male-dominated field, the women are more competitive for some reason and we'd like to kill that. Which is part of why we do what we do and we talk to so many women, because if we can show enough women, the women stories, it changes the game, I think. And it is changing the game. But let's keep our slides. Okay. Go.
10:42
Nikki Gonzales: Yeah. So this really came out as our intent. Women content in automation is lacking, we thought, and this is Courtney Fernandez, who is actually now part of our team. She is at another event right now, but, and Ali says we need to either make videos or help each other make content. And if you don't wanna talk direct to the camera, then offer support in other ways. We just wanna put out content; we wanna change the game. This is way before we thought of the podcast. But Ali was out there doing it, and she wanted to encourage other women to do it in whatever form or fashion they feel comfortable with. It's not everybody want... Likes public speaking. Not everybody likes putting their face on a video. I hate hearing my voice. I've gotten over that. But it took me about two decades.
11:25
Alicia Gilpin: I saw a bunch of men that had like PLCs behind them or like switches, and I'm like, I have all that crap in my living room. So I'm gonna put some up. And yeah. So why can't more faces of... Or our faces do that. It's not... I mean, it helps. And actually, people think that I am a giant Siemens programmer. I actually like mostly know Allen-Bradley. But you wouldn't know that from the way that, like Siemens ended up sponsoring us.
11:48
Nikki Gonzales: So I fangirled real hard, and I was like, "Oh, I work for a parts procurement platform." I was like, "Ali, if you need anything for your turbo and tabulator thing or whatever you call it, let me send you something." And I sent her, like, some Festo connectors and cable or something.
12:03
Alicia Gilpin: Shielded, twisted... Yeah. Shielded, twisted pair for analog.
12:06
Nikki Gonzales: And I didn't even order it from Coby, and we didn't have it. I was like, I don't care.
12:09
Alicia Gilpin: It was golden.
12:10
Nikki Gonzales: This is from Coby. So this group chat really grew. And then a bunch of women were like, yeah, I don't know about this, but the chat is not active at the moment, but it really... It got things kickstarted. So somebody brought up the idea: "Hey, maybe we should have a meet and greet." And then Courtney actually put it into action. She started a, what I used to call the Saturday Zoom call. It turns out it was a teams call. I like to selectively like get Microsoft out of my brain.
12:39
Nikki Gonzales: But we had this recurring call on Saturdays in the afternoon, and it was like, "Hey, bring your kids, your dogs, whatever, and your robots, let's just chat." And Courtney had a UR5 in her garage at the time, I think, and showed us some demos, and Ali and I never made it onto the same Saturday call. So still, we had not met ever or talked other than over this LinkedIn chat. I wanted to mention and just give Courtney a shout out because she... Honestly, I don't know why she wasn't initially part of the show, but she really is a huge catalyst to it. And she co-hosts with us a lot now; she's also our in-house robot expert. And she's a Senior Automation Engineer for the United Robotics Group as well as a co-founder of her own company. They do IT and automation consulting, called FAST One Solutions.
13:29
Alicia Gilpin: She has a master's in robotics.
13:32
Nikki Gonzales: Yeah, she's a very smart woman. But we also... We really identify with other kind of like entrepreneurial automation women. 'Cause it takes another certain type of breed to go out and, like, start your own business...
13:42
Alicia Gilpin: Crazy.
13:43
Nikki Gonzales: And do something new. Yeah. So big shout out to Courtney. And then, after we had some of these meetings and whatnot, I was like this is so cool. This is something I didn't know that I was missing. 'Cause I always thought, "Oh, I'm fine being one of two women in a room of 300." Like, I've always had mostly guy friends. If you go to engineering school or, like, take AP physics, it's not like you're gonna have a room full of women.
14:03
Nikki Gonzales: And I was shoved into women in engineering conferences and just found myself going, "Ugh, I don't know what to do with myself." But here we just found like-minded women that we actually had a bunch in common with, and I thought, "I bet there's a bunch of us." Just one over here, one over there, one over there, and maybe they don't know that the rest of us exist, and we should put that out there. So we thought, "Hey, a podcast or something that is open to everybody to listen, you don't have to join, you don't have to qualify, you don't have to be cool enough; whatever it is, you can just participate in any way that you want." And I pitched Ali.
14:42
Nikki Gonzales: So I had been listening to this podcast called Office Ladies. If you are a fan of the Office, it's Angela and Pam, and they talk about the office and they're actually best friends, and I really enjoy it. And one day I was listening and I was like, "How cool would it be if I had a friend that I could just talk..." Yes. Comma.
14:57
Nikki Gonzales: I swear, I kind of have other friends too. But you know, this was literally my pitch to her: "Fan of The Office by chance? Wanna do an Automation Ladies podcast with me?" And then my bait and switch, which was my promise of I'll do all the hard work producing it, and you can just show up and chat with me. So Ali said, "Yeah, totally awesome; let's do it." Little did we know that this, is actually not easy and I would not have any time for it and all of that. But it really... We decided to do this, and we started posting about it as we were doing it. So by the time that... This was maybe... Two or three months later, Automate came around. They hadn't done the show in a couple of years, and we saw a lot of excitement around it. And they were seeing our posting that we had a podcast. I'm pretty sure they had no women doing anything at the show.
15:55
Nikki Gonzales: So they were like, "Hey, would you like to come speak or do some podcasting or something at the show?" And that is literally where we met in person for the first time. It was at Automate two years ago, and... Or no, it was Automate last year, so it was really a year and a half ago or so. And thankfully, we actually liked each other. Like, you know, you get catfished online or something. We met and we were like, "Oh yeah, you actually are cool. Thank you. I'm glad I didn't just commit to this like long business relationship with you where we have to like be on camera together and be friends." We actually are friends, which is pretty cool. I don't know if you have anything to say about this slide, Ali. Other than, when I read that promise to her that I would do all the hard work, she just laughed for five minutes. Really hard because it didn't turn out quite perfect.
16:47
Alicia Gilpin: It got complicated.
16:54
Nikki Gonzales: So our next slide. Oh, we're gonna play you this. Please, do I have to press... Oh, do I have to press something to play it? Yeah. Okay. Thank you. And I'm just... Yeah, I don't like the sound of my own voice. So excuse us.
17:13
Nikki Gonzales: Welcome to Automation Ladies! The only show that we know of where girls talk about industrial automation. We are your hosts. I'm Nikki Gonzalez with Quotebeam.
17:24
Alicia Gilpin: And my name is Ali G. with myself.
17:27
Nikki Gonzales: What's the name of your, company Ali?
17:30
Alicia Gilpin: Process & Controls Engineering, LLC. But I just go by PCE LLC for short.
17:38
Nikki Gonzales: So... Yeah, making a podcast isn't quite as easy as we thought. We took a lot of takes of a lot of things, including our intros. We actually got some sponsors, and we had to figure out how to say stuff like that. Read ads. I don't know. It was uncomfortable. I really didn't like listening to myself and being the producer. I was supposed to listen and edit and stuff like that. And it was incredibly excruciating and hard, and nothing ever made it past my post-production stage because... I was talking to Alex about this earlier, but like your own work will never be good enough if you're the one judging it, right? I don't know about you guys, but that's how I feel about anything I put out. So we grossly underestimated how hard it is to run and produce a podcast, especially when you run a company and have a full-time startup job, which is just a little bit more work than like normal jobs. But we kept trying because we made a promise to each other. We really wanted to do this.
18:39
Nikki Gonzales: And initially, we also told each other... And I don't remember if it was something you said first, but this is not about... Automation Ladies isn't about us. We wanna get out there and try it so we can show somebody else that they can do it, and hopefully they do it better than us, and then take over and we can crawl into a hole and go away.
18:55
Nikki Gonzales: It was really not something that we wanted to do to make ourselves famous. And as much as... A lot of a takeaway of this is kind of like, at the end, we'll talk about what you can do. And we do see a huge value in getting a personal brand and putting your content out there. We didn't start this to do that with that kind of commercial mindset. It just happens to be a perk if you do this type of thing. But yeah, we struggled with audio quality, as you could hear earlier and streaming. How to set up recording.
19:23
Nikki Gonzales: I tried recording in a space in my house that turned out to be completely terrible 'cause there was so much echo in there. So our first five episodes we recorded, and then I listened to them, and I was like, "Oh, this is all garbage. We can't use this at all." But what we did during that time is we kept posting about what we were doing. Ali, I'm like, "Oh look, I created a placeholder page," And she sent it out to her, whatever, 50,000 followers. And we're like, "Here's the thing." And I'm like, "Oh, shoot. Now, there's a thing. I really gotta follow through with this." So really, we pushed each other. We wouldn't have been able to do it. If it was just me alone, this would've never happened. We struggled with tools, recording software. We used a production, an editing service, but then it turned out we actually needed a producer. I'm apparently not a producer, and it didn't have time to learn to be one.
20:16
Alicia Gilpin: Yeah, consultants are not producers.
20:18
Nikki Gonzales: We tried really hard on our own, and then as we just kept talking about it and trying to get... We didn't really ask for help. But Ali actually met somebody that she wanted to get on the show who knew somebody that wanted to be a producer, but she was working as a barista. And we were like, "Oh, that's perfect."
20:37
Alicia Gilpin: She studied sound engineering.
20:39
Nikki Gonzales: We don't know what we're doing.
20:40
Alicia Gilpin: She wanted to work on podcasts.
20:43
Nikki Gonzales: So let's get somebody on that doesn't really know either but knows more than us. And so we lucked into the amazing gem of our producer, who is an audio engineer as well as an office manager. Of course, she does it in her spare time, Laura Marsilio. And then at Automate, Sam Janes from Gray Solutions, who's an engineer that we met, was like, "Hey, you guys need music. I'll make music for this." So it kind of became like a community effort a little bit as people believed in us and said, "Hey, we really like what you're doing. Where's your podcast?" And we're like, "Oh, we're still working on it." They're like, "What... Do you need help?" So it was amazing in terms of just that kind of community support as we talked about what we were doing. And I tried really hard to talk about the fact that we're trying to do this and we're not doing very well, but we're gonna keep trying. And I think a lot of people can relate to that because we oftentimes try things by ourselves in isolation, and it can be hard to keep it going if you feel like you're not getting anywhere.
21:39
Nikki Gonzales: So we didn't give up. And after months and months of trying, we finally published our first episode. And then, now we are up to 37 episodes. We've had two seasons. And we've done a number of LinkedIn live events as well, like panel discussions. Cybersecurity Awareness Month is coming up again in October. We did our first panel last year during Cybersecurity Awareness Month, which was sponsored by Phoenix Contact, which was amazing. Really helped us pay Laura and things like that.
22:13
Alicia Gilpin: Do you have the stat on how many countries have made downloads from us?
22:18
Nikki Gonzales: Oh no, I don't remember, but it was a lot. It was like 50-something countries have downloaded Automation Ladies episodes. It's crazy to us. These are just stats for Automation Ladies. LinkedIn is a little hard to pull this type of information from, and they don't go back more than 365 days, from what I could tell. But again, I'm not an expert at this. So I pulled the stats for just Automation Ladies for the last year. We are almost up to 10,000 followers. I think we're like 200 shy as of today. So if all of you guys wanna go follow us, that would be amazing.
22:48
Nikki Gonzales: We've had about 14,000 page views of just the Automation Ladies stuff. About half a million post impressions and about 5,000 downloads of our podcast itself. It averages about 500 a month or so when we're actually producing episodes. So we have season three starting next week. So if you tune in on iTunes, or Spotify, or wherever you listen, we'll be dropping our first episode of season three next week on Thursday. And we tried to do an episode every Thursday or so, for a season. And then turned out we needed a break this year, which is why we're starting up now in October.
23:23
Nikki Gonzales: But the point is, you can't... You have to start somewhere. And what you have to do is just try and be consistent. And eventually, if, You know... There are people out there that will wanna hear what you have to say. Some people have told us, "Oh, we do better if we do audience research or we choose topics that people wanna talk about." Things like that. But then we wouldn't be getting it done because, for us, this is very much kind of a labor of love, that we have a hard time fitting into our schedules, but we make time for it. We're not marketing professionals. We don't get paid for this. So for us, it's really, we wanna have the conversations we wanna have. And if it's your cup of tea, great. You can listen to us, you can be part of this any way you want.
24:01
Nikki Gonzales: Come on the show, come in the comment sections of our lives, participate. We love that. It really keeps us going because, again, this is not supposed to be about us. But I liked this little. I found this picture the other day. Your first workout will be bad. Your first podcast will be bad. Your first anything will be bad, but you can't make your 100th without making your first. So put aside your ego and start. For me, one of those things was getting over the fear of my own voice sounding terrible. I feel like I sound like a 12-year-old, and I've never enjoyed listening to myself. So podcasts was the furthest thing from anything that I would ever imagine doing, 'cause it is literally only my voice. But you evolve, and you realize that it doesn't really matter. Just do the thing if you want to.
24:46
Alicia Gilpin: We like to be uncomfortable on purpose.
24:48
Alicia Gilpin: For growth, right?
24:49
Nikki Gonzales: Well, I think, also as being in this profession, we're pretty used to being thrown at things we don't know what to do or challenges we quite don't know how to solve. But we have tools. And we try to learn from every experience. And I personally find myself the happiest at the bottom of a steep learning curve because once I've really learned something and I'm just doing repetitive work, it gets boring to me, and I wanna learn something else. So we'll see how long we go with this before I think of another crazy thing that we need to do, but we're keeping ourselves busy. We like variety. So we're doing demos; we've done software demos so far, 'cause that kind of makes sense for the online format. But we're doing our first hardware demo next month, so that's kind of exciting.
25:31
Nikki Gonzales: And we're very much open to any kind of ideas and collaborations that we can have with the community. Whether or not we've done them before, we don't really care. That's kind of the fun part about this. It's a little bit unpredictable. How has this actually helped us? Has this been worth it? For me, it's a resounding yes. And I think that Ali would probably agree.
25:51
Alicia Gilpin: I do.
25:53
Nikki Gonzales: Yeah. So we thought about what benefits has this brought us, going through this, putting it out there, putting ourselves out there. There's definitely some negatives to it. You get criticized. Some people, send us creepy messages on LinkedIn and stuff like that.
26:10
Nikki Gonzales: But overwhelmingly, it's been an incredibly positive experience. So having this type of network or people, knowing who you are a little bit, or being able to reach out. It's so much easier for me to reach out to someone and say, "Hey, I'm with Automation Ladies; I see that you're a cool lady automation engineer; would you like to come on my show?" than to not have a good reason to reach out to people. It's not a sales pitch of any kind. It's a good... It's a way that makes me feel good about reaching out to people. And it's really result in... For our businesses, doors open more easily to customers and partners when they kind of know who you are. Vendor relationships, recruiting, and hiring. Ali's most recent hire, Carlos, listened to me on another podcast and heard about Automation Ladies and PCE through that and was like, Hey, I'm in Seattle. I wanna work for Ali. So that's been pretty cool. We get invited to places like this, conferences, both to speak and then sometimes just to learn. And we are still learning a whole lot. We've made a lot of new friends.
27:15
Alicia Gilpin: Every kind of friend.
27:18
Nikki Gonzales: Every kind of friend.
27:19
Alicia Gilpin: OEM friends, hardware manufacturers, other integrators, I mean, people that work in IoT, cybersecurity.
27:30
Nikki Gonzales: Yeah.
27:30
Alicia Gilpin: And yeah, we've had panels about... We've had panels about cybersecurity.
27:32
Nikki Gonzales: So all kinds of stuff. Yeah, huge support network as well. As Ali is a smaller systems integrator. So to be able to take on projects where she knows that she knows other systems integrators, or contractors, or people that have expertise in areas that she doesn't, our network has grown in a huge way through this. And she can now bid on projects that she never would've been able to by herself because of the network of subcontractors that she can call on for different areas of the country or different expertise.
28:00
Alicia Gilpin: Yeah, even just the technical network.
28:02
Nikki Gonzales: Yeah.
28:02
Alicia Gilpin: Because of the type of followers that I have and how community-based it is. If someone comes to me, and they do, they'll send me a video of something messed up. It's some kind of hardware, or some kind of legacy, or maybe even new software that they've done. At one point I did get an Ignition call and got someone who's in this room and yeah, to help me, but basically...
28:25
Nikki Gonzales: Right there.
28:26
Alicia Gilpin: People from different countries are sending me, "Oh, I know how to do that." Or, "Do you need this or do you need that?" And so it's just amazing to have that technical resources. You just post that and say, "Does anyone know anything about x?" And so many people can see that. And so people wanna... People do wanna show off their... What they can do. And for a free shoutout, you build this entire place you can go and they're gonna produce. And it's always multiple answers or multiple people being like, "Hey, did you get a... Did you get an answer to that? OSI Pi question you had?" Or whatever. So that is incredibly powerful, especially with building connections with technicians, engineers, engineering managers, people that are out there. If you're able to do this, that's huge.
29:18
Nikki Gonzales: Yeah. So it's helped our businesses, PCE, and Quotebeam. And then Ali just recently started a new nonprofit called Kids PLC Kits, because we were inspired by one of the guests on our show. We... For season one, we interviewed a little girl. She has a YouTube channel called Little Miss Fix It. And her dad is a HVAC engineer, building automation systems.
29:41
Alicia Gilpin: HVAC and a master plumber.
29:42
Nikki Gonzales: And a master plumber. And so.
29:43
Alicia Gilpin: But he dabbles in BAS, so he knows, PLC-ish.
29:48
Nikki Gonzales: Yeah.
29:48
Alicia Gilpin: Right?
29:49
Nikki Gonzales: And he has two kids. He has an older boy and a younger girl. And his older boy is not interested in any of what he does, but his girl is. And he decided to help nurture that. And he helped her start a YouTube channel, and she changes a toilet, and a dishwasher and a light fixture in their house, and all this cool stuff that you normally wouldn't see an 8-year-old or a 9-year-old girl do. And we thought it was really cool. So we said, "Hey, you wanna come talk to us on the show?" And then, at some point, she asked Ali, "What's a PLC?" And Ali sent her a PLC, and a solenoid, and a bunch of other stuff.
30:22
Alicia Gilpin: And an HMI.
30:23
Nikki Gonzales: And an HMI.
30:24
Alicia Gilpin: It was a starter pack, a Micro 850 starter pack, so you can use connected components workbench for free. And her dad just took it to a level that... Like basically created that nonprofit or made me create that nonprofit. Because the video that she produced... Well, that they produced together, obviously, is just like a 10-year-old girl in her room. She's got... She, they built, on wood, they mounted DIN rail. She cut like Panduit. She... And the video shows all of this, and she's wiring the PLC. She actually had... I sent her PLCs twice: the first PLC... The first time I sent her a PLC, I wanted to show her a Siemens logo and a Micro 800, the dumb one. And I put those... I sent her both of those. And then I sent her that starter pack.
31:10
Alicia Gilpin: But in this video, first she uses the logo, and she's doing stuff with her phone. So she's clicking relays on and off with her phone. And she shows wiring, programming. She shows opening connected components, we're dragging objects and connecting. So she's showing the programming, and she's 10. And you're like, I don't know that many engineers can wire that necessarily, like holy crap. And so I saw that, and I was just so incredibly moved that I had to figure out a way to reproduce that. Obviously, not all the girls are gonna have this amazing dad. But that doesn't mean that we can't figure out, like, how do you put real industrial hardware in front of children? Not children, but 10 and all the way to 17 years old, and why shouldn't we show them the real stuff?
32:00
Alicia Gilpin: And the reason that I felt so passionate about this is because I remember coming up in the industry and knowing nothing. Even I knew what a PLC was, but not... I couldn't recognize one in a cabinet. And I studied chemical engineering, and I knew Laplace transforms and whatnot and know nothing about the inside of a cabinet. And so when I did finally start learning that stuff, I felt empowered when I would re-see in a new plant things I've seen before, that kind of valve, or that kind of power supplier, whatever. And so I'm like, if we can show them the real stuff before they get out there, they're gonna be amazing when they're out there. 'Cause they're gonna be like, "I know what that is, or I've seen that." What? That's a PLC. They're like, "Oh, I know how that HMI kinda talks to this. I bet there's a switch in there."
32:44
Alicia Gilpin: And so our base kit is just mostly like, digital inputs and outputs. So the smaller PLCs that already have the built-in I/O, we take, basically, hardware from everybody. We take people; it originally was just like, I know you guys have some spare hardware; send it to me. And that's how I originally asked for the stuff. And I... That was eight months ago or something. And then I started... It started getting more serious and then brand new OEMs because of the way that I had already had these relationships with manufacturers, Phoenix Contact, PATLITE, Siemens. 'Cause I've always been at, like, I wanna know all the different brands. And that was just part of me always purch... I was huge in buying the components 'cause I would spec everything, including instrumentation or everything inside of the control panel.
33:29
Alicia Gilpin: So I knew all these vendors, and so I started communicating with all of them. And so they knew what I'm doing, and I have this following, so they're now sending me free brand new stuff. Siemens just sent like 24 of everything. S7-1200 PLCs, HMIs, stack lights, buttons, basically their own kit switches, power supplies, and 24 of every single one of those. So everyone else has now gotta step up their game, but before that... PATLITE would send stuff. And so many, really just like people that rip stuff out and they're like, "Do you want... I rip out banner sensors and or whatever?" 'Cause they re-do machinery. And so all these people are just sending this stuff. And so now I have all this stuff in my apartment, or my headquarters.
34:17
Alicia Gilpin: And, but I have interns coming, and I already had a really successful... Basically, we built kits, 10 kits Court... My intern Courtney built 10 kits, programmed them all, and then showed them too kids in a workshop in Clover Tech... Or Clover Park Technical College. And it was like, 13-14-15-year-old kids, that were kind of looking at. And she had the presentation, and she showed them the code and everything and kind of explained everything that they were looking at, and they all had a kid in front of them. And we got... That was our first; like, we rented that, and then we'll use that money to like ship. But we're figuring out everything. We... Well, we finally got our website live.
35:00
Alicia Gilpin: But what we want is to get as many... The motto is "if the kid's free, the kit's free." Meaning we're trying to give these kits to public schools. And if you wanna get them in outside of public schools, we're gonna sell those. But the stuff that we get donated, like that, was donated to be given to kids. So that's where it's gonna go. If we can't use it, then yeah, we'll figure out how to use that money. We'll sell it or get rid of it and use that money to keep doing what we're doing. But we work with the teachers. We don't send kids PLCs, and we also don't do any high-voltage stuff, like no motor controls. Everything has to be 24 volt DC. And yeah, but there's a lot of... A lot of what? I don't remember.
35:44
Nikki Gonzales: Well, what inspired this nonprofit is what we learned through the show.
35:48
Alicia Gilpin: Yeah.
35:49
Nikki Gonzales: So we interviewed a lot of girls, or women, or people in the industry, and we... First question we ask them is, "How did you get into automation? Tell us your story." And most people got into it by some weird happenstance.
36:00
Alicia Gilpin: Accident.
36:00
Nikki Gonzales: Or they happen to know someone. Nobody was like, "Oh, I grew up. I wanted to be an automation engineer." Because people don't know what we do. And we've also been told by men, like, "Oh, just women aren't interested in this stuff."
36:13
Nikki Gonzales: And we're like, I... Probably less women in general. If every woman on the earth was exposed to industrial automation, yeah, probably still less women would wanna do it, but way more than do it right now because we just don't know. And Elena proved to us that you can put this in front of a girl, and some of them are really interested.
36:29
Nikki Gonzales: We also spoke to a lot of people that do education, and Amanda Beaton with Siemens, and we spoke to someone from ABB, but they're all focusing on the college level and up, maybe high school. And at some point, sometimes that's too late even. So we really... Through everything that we learned...
36:44
Alicia Gilpin: They've already decided they're gonna work at Facebook at that point.
36:46
Nikki Gonzales: From the show was that, "Hey, you know what? This is a need, and maybe we can fill it." And the network we've built from the show has helped us build this. So if you're interested in participating in KPK, there will be a address that you can look up after this or contact Ali. But that's really... It's given us a lot of opportunities to do what we love, both in our actual day jobs, which is thankfully why we can do both. But it... Yeah, it has really helped us and the companies that we work for and/or of the organizations that we're trying to support.
37:17
Nikki Gonzales: So what can you do? Telling people, "Hey, go start a podcast." You may not wanna do that. It's really hard, and you have to stick with it for forever. And maybe, audio format isn't your thing. But what we really have seen is the power of doing something you love in front of people, letting people see it, letting people know what you're learning, what you're interested in. People will want to help you.
37:42
Alicia Gilpin: Helping teach. Helping teach is huge.
37:43
Nikki Gonzales: Yeah. There's a bunch of other stuff that you can do yourself or as an organization to get this type of network community built. And I know, Ignition is all about community. This is a community conference, right? So you all already know the power of community. We don't run an official community at Automation Ladies, but we kind of call it a community because we really do... If you come on the show or you are part... You interact with us in any way. We're around to help you, and our network is around to help you. And we do feel like that is kind of a community. But there's a lot of other things that you can do. So if you're not already, your company or yourself, doing something, I wanted to put together some actionable takeaways other than just like, look at our blind luck, and we did this. I hate seeing like how-tos, they're like, "Oh, look, it's so easy. I did it." And I'm like, well, if I did it, I wouldn't have those results.
38:28
Nikki Gonzales: But there's a bunch of stuff that you can do. So do you already have someone at your company that likes producing any kind of content or is willing to share their expertise? Let them, and maybe don't have it be from your corporate page. People kinda like to learn from other people. It seems people care about people. We all know that, especially the sales side of this, it's a people business. You wanna work with people that you know you can trust. You wanna work with organizations that you know are competent. You wanna know with... Work with people that you know that they are resourceful. So that really helps with business development. Sometimes just don't, obviously use it specifically for that, but it can help. What we've seen is, and our production value is not high. But people tell us all the time, they like that. It seems authentic, it's not overly produced.
39:17
Nikki Gonzales: So don't worry that it has to be 100% perfect and corporate. It doesn't. Somebody will like what you're doing if you put your expertise. So share your expertise and be a resource. I know you hear this a lot, like share value. In your marketing, but engineers especially, they want to know how to do stuff. They want to have have technical content. They don't always like to raise their hand and ask, but they wanna find information. So be that resource in whatever way you can. Blog posts, videos, just pick something and do it consistently, and don't pay attention to who's watching because you will psych yourself out in month three because nobody cares about what you're doing.
39:53
Nikki Gonzales: But it doesn't matter because eventually, as long as you do it long enough and consistently enough and you're true to yourself, some people are gonna gravitate towards that. Your audience will find you as long as you keep doing what you're doing because that also shows that you care about it. You're being authentic. You're not just doing it for the likes, or the followers, or the sales. What I wanna say is, if you think that you're gonna get a bunch of sales in month three and your marketing team is tracking the ROI of what you're doing, don't bother, because you're very unlikely to have instant success.
40:24
Nikki Gonzales: This is a long-game-type situation. If you think about how you build your business relationships, if you're not thinking about the long term, in my opinion, you're not doing it right. And the same goes for any of this kind of content stuff, personal branding, think about the long term. What are you building for yourself? What do you want 5-10 years from now? Do you wanna have a bunch of friends, or do you wanna have a bunch of shiny TV appearances? I don't know. But whatever those goals are, I think if you're authentic about it yourself, you have a good reason to do what you're doing, people will gravitate towards that. I think... I don't know if you had any other things you wanted to add on this particular point, but I know you were like.
41:01
Alicia Gilpin: Just answer questions.
41:03
Nikki Gonzales: Just get out there and put something out there. Add value to people.
41:06
Alicia Gilpin: Yeah. Yeah, I just wanted to say, the more... I learned that like if you want people's email, you want people talking to you have to give them something, which is a white paper. Some information, maybe something you learned, it really makes a huge difference. Otherwise there... Yeah, there's... There won't be engagement, not natural engagement.
41:26
Nikki Gonzales: So, yeah, I think, we are ready for some questions, and if you wanna reach out to us, we are in a bunch of different places, but mostly we're easy to find on LinkedIn. And we would love it if you subscribe to our podcast. We're really bad about saying that whole thing, but subscribe and like, and my 5-year-old knows it better than me. She...
41:45
Alicia Gilpin: She has a question over here.
41:51
Christine Lee: Hi, I'm back. I will be moderating now. But thank you for your talk. I love that you gave Sam Janes a shout-out. I was also an integrator with Gray Solutions before this gig, so yay. Okay.
42:11
Audience Member 1: So a lot of people here obviously aren't necessarily going to be big on social and things like that. So what are some ways that they can empower women and make sure that they're in leadership roles or in positions where they can take charge that maybe aren't so public but also aren't putting them on the spot at their own company either?
42:34
Alicia Gilpin: I mean, we highly support girl dads and like are so happy for so many of the man allies, people that have sisters, brothers. I think, talking to them and thanking them when you do see that publicly, I think makes them kind of wanna do it more. Or yeah, I don't know. I think that makes a difference. And then going to high schools if you can. I know that no one... Not everyone wants to do that. Or support groups Mavens of Manufacturing, who's going around to schools actively talking about that stuff. And then yeah, for, in terms of putting women in roles, I mean you just gotta... In terms of getting people into a company, you have to have women already there to kind of attract more of them. And so you just start hiring, and then, I don't know, post about it. Show these women and show the people in your companies; don't just show corporate things like show who's working there and then the people that... That's how you're presenting yourself to the world is through those people.
43:34
Nikki Gonzales: I would also say not all women, but a lot of us, we don't... Maybe we don't speak up as much in meetings, or we're a little bit more of a perfectionist. We're afraid of not being good enough when we say something.
43:47
Alicia Gilpin: Or being wrong.
43:48
Nikki Gonzales: So I would say if you are in a meeting situation and there's a woman there that you know has something to add, or maybe she tried and didn't get heard, try to be that ally that says, "Hey, oh, did you have something you wanted to say about that?" Try to get their voices out there more. Sometimes we need a little push or a little support, but I agree with you. Don't just like shove somebody on the stage and say like, "You go present now," or you be... Don't do the token woman thing. "Oh, we've got one. Look at her speak."
44:11
Nikki Gonzales: Right? But do try to... Do try to encourage them, and then make sure that you're showcasing. Like, if you have women at all in your company, show them. Because see... Seeing them on your recruiting page and all those things that will encourage more women to apply. Think about the language. If you're a big company that's been around for a while, you may have a lot of stuff that turns off women in a lot of your procedures and the way things are written and stuff. You... It may be time to like just look at that stuff and be like, "Hey, is this job description that says, he will do this?" Maybe turning off some great women candidates or maybe making some women feel like they're not material to be promoted to this role. Because it seems to be made for a man. There's little things; there's no silver bullet to that, but really, just try to encourage them, and being a quiet encourager can be great too. Send a private message and say, "Hey, if I can just ever help you, let me know."
45:03
Alicia Gilpin: That's cool. Very Cool.
45:04
Nikki Gonzales: Yeah, you don't have to do it in public.
45:05
Christine Lee: Okay, one more question.
45:07
Audience Member 2: Can you give us the website for the kids kits?
45:17
Christine Lee: Oh yeah.
45:18
Audience Member 2: I think it's really important for you to put it out and share that.
45:21
Alicia Gilpin: Kidsplckits.org.
45:21
Audience Member 2: There you go.
45:22
Alicia Gilpin: And it is a 501 [c] [3].
45:24
Audience Member 2: And there's donations on there too, so if anybody wants to participate in donating, there's donations on there. That's really important.
45:28
Alicia Gilpin: Yes. And we take volunteers to help the teachers when they have problems. If you know a specific platform, we'll call on you.
45:36
Nikki Gonzales: Or help develop...
45:38
Alicia Gilpin: Like, "Hey, this teacher's got problems right now. Can you help them?"
45:40
Nikki Gonzales: Or help develop curriculum if you're an expert in a certain type of PLC?
45:43
Alicia Gilpin: Yeah, we provide the curriculum.
45:44
Nikki Gonzales: We need to transfer the curriculum for all the different types of hardware that's out there.
45:48
Alicia Gilpin: We're trying to make them build Whack-a-Mole with PLCs and HMI. Yeah. Thank you.
46:00
Nikki Gonzales: Well, thank you for coming...
46:03
Christine Lee: My job.
46:03
Nikki Gonzales: And yeah, don't do Christine's job. I'm very sorry.
46:07
Christine Lee: No, it's okay. No, this has been wonderful. Thank you so much for coming to the session, and also thank you to the Automation Ladies for coming here to ICC.
46:19
Nikki Gonzales: Thank you, guys.
46:19
Alicia Gilpin: Bye. Thank you.
Speakers
Nikki Gonzales
Head of Partnerships
Quotebeam
Alicia Gilpin
Owner
Process & Controls Engineering, LLC
Ignition is not limited to industrial applications alone; its powerful features extend to use cases of all kinds. From its intuitive design features to its robust scripting capabilities, you can harness the full potential of its flexible architecture and rich tool-set to create innovative solutions in non-industrial automation development. Witness this potential firsthand through a baseball scoring and statistics app developed entirely in Perspective, while providing examples of how tags, persistence, scripting, and views can be utilized in a non-industrial setting. Our goal is to inspire others to elevate their lives and hobbies in new creative ways with Ignition.
Transcript:
0:00
Travis Cox: Good afternoon. How y'all doing?
00:05
Audience Member 1: Great.
00:06
Travis Cox: Alright. Well, we got a great session for you today here, "Hitting a Home Run with Ignition." We have two great speakers. First and foremost, Kyle Chase. He has been working with Ignition for, I think going on 18 or 19 years, quite a long time from the pretty much very beginning, an expert in the product, and he's with Kymera Systems. He's the Chief Technology Officer. And Kymera has actually also done a lot of module development over the years and has helped a lot of members of the community. We also have Sophia Ruduke. She's a Systems Integrator with Kymera Systems, and she's very skilled software developer and integrator at Kymera Systems. And she has been enriched with a valuable experience in module development, industrial integration, and process automation. So please help me welcome both Kyle and Sophia.
01:04
Kyle Chase: Well, welcome to our session. I hope it's as good as the last one I did here. It's the end of the conference, so my voice is going a little bit, but at least I know if this doesn't work, I do contract media marketing for your videos. I can do some sultry ASMR for you if you guys really need it.
01:19
Sophia Ruduke: Oh, my goodness, thank you for the great introduction, Travis. That was a good five minutes of my presentation just cut off, but that's okay. Anyways, ICC 2023, day three. Are you guys having fun, enjoying it? Yeah, that's right. Thank you. Also, I wanted to say, bear with me and my voice since yesterday was my 21st birthday. So, anyways. Well, as Travis said, today we'll be presenting you "Hitting a Home Run with Ignition." I am Kyle Chase 2.0 or Sophia Ruduke, and obviously CTO of Kymera Systems right here. And today we want to go over Ignition beyond industry. So a big highlight of this entire conference has been SCADA and process and automation and how to make everything out there on the field a lot easier. But we want to see how it will help us in our hobbies and our regular personal lives. Then we'll go into some project briefing and what we actually worked on. And then we'll get into a demo and show you the product we've been building. And as in we, it's Kyle, me, and Travis Cox. And for takeoff, we want to give you some incentive as to how you could amplify your life and elevate with Ignition and using it for your own hobbies.
02:39
Kyle Chase: So first off, a little bit about Kymera. We're a system integrator. We've been working with Inductive Automation since Factory PMI version one, Factory SQL version two. So about 2005. I've grown up with Travis, Carl, and Colby, which it's been very rewarding. We work at, we do module development, we do system integration, and we work in the cybersecurity space. We work across all verticals. I like to tell people that our vertical is Ignition, but primarily we're oil and gas, manufacturing, and mining. Kymera helps companies engage proven and emerging technologies sooner. We help them make better decisions and then make sure those technologies go the test of time. And like I said, we've been working with Ignition and Inductive Automation for 18 years, so we really believe in this product.
03:35
Sophia Ruduke: So Ignition beyond industry.
03:37
Kyle Chase: So some of the stuff that Kymera has done that is outside of your traditional industrial use cases, we've gone ahead and we built time tracking and invoicing platforms for certain integrators. Certain instrument electrical companies. This has the ability for them to get signatures from site. It lets them have a... Click the report, it'll use a web API and it'll go to a company that'll then print that PDF and then mail it to their clients for invoicing. We've built point-of-sale systems for overseas deployments where they don't have a real network infrastructure. So we built a point-of-sale system using NFC cards to transfer data back and forth between the end device and the point-of-sale system. We built data entry systems where we're using Ignition Edge to collect data from site, bringing it back, and then using that as a medium to transfer data from site to a central server.
04:35
Kyle Chase: I personally use it as an emergency notification system. I'm a type 1 diabetic, so in my house, as an example, I have the ability to detect when my blood sugars are low. And if I'm not responding to an alarm within, say, half an hour, it sets off sirens in my house so my family can wake up. Never needed it, but it is there just in case. Travis and I both build home security, our own home automation system using Ignition. And we've also built personal tracking systems. Well, I have for my kids because when they say they're at school and they're not and they're at their girlfriend's place, well, I get notified of that as well.
05:15
Sophia Ruduke: So there's a lot to consider when it comes to actually building an application, whether it's a web application or a mobile application. So one of the first things is what language do we even use? Python, Java, Go, Rust? There's plenty to choose from. And another thing to consider is frontend. Are we using HTML, CSS, JavaScript, React? Plenty to choose from, but the biggest thing is connecting your frontend and your backend. Sometimes it's not that simple. Normally, there's APIs you can use, but sometimes, depending on the language of choice that you go with, there isn't always directly compatible frontend and that causes a lot of turbulence, I would say. Another thing is, what database do we use? There's plenty to choose from. Obviously, in some cases, a time series one doesn't make sense. Do we go with MySQL? Do we go with SQLite?
06:14
Sophia Ruduke: Do we go with MariaDB? Which driver, which language do we want to use? Another thing as well is: how do we even deal with running the application? Do we want it on the cloud? Do we want to run it locally? Another thing is how do we secure it? Do we want our own encryption method or do we want to use something like OAuth 2? Another thing as well is how stable are the libraries that we are using? Oftentimes, there's lots of transitive dependencies that we have that can have vulnerabilities and cause our application to be insecure. So we have to be up-to-date on the latest updates on all of these libraries and make sure that our application is not prone to any vulnerabilities. As well, how do I share the data between the parts of the application? Oftentimes there's not a shared space and we'll have to use some sort of event handling or listeners, or some sort of hooks to communicate with different parts of the application.
07:13
Sophia Ruduke: So, when it comes to Ignition, we have it a lot easier. With Ignition, it takes a lot of the plumbing out of building a traditional application. Instead of having to deal with frontend and backend, how am I going to connect it? What encryption method am I going to use? Am I going to use an open-encryption method? All we really have to consider is what database do we want to use? There's plenty of drivers that Ignition already has support for. Another thing, Perspective or Vision? And the last but not least, will this eventually become Skynet? So for some logic briefing, I'll hand it over to Kyle.
07:50
Kyle Chase: So the big thing, at least for me, is baseball, and for Travis and Sophia, baseball's pretty important, at least in my life and in our lives. We needed something that made it easy to share the events with friends and family. A lot of the existing applications that exist, they need you to use their own application. They're pretty low-quality streaming, like the main one that we use is 720p, 30 frames per second. We want to be able to go to any video platform, whether it's YouTube, Facebook, and we'll be able to be at 1080p, 60 frames per second. We want that data to be readily available for analysis. We don't want to have to just use the built-in tools. So we figured, well, we have a platform we can build solutions on. Let's use Ignition to do that.
08:40
Sophia Ruduke: So some of our key features at the moment is we have scorekeeping. So we have an interactive field UI of where you can see the status of all players and their positions. We also have a scoreboard which features the balls and the strikes at the moment, as well as the score of the two teams, who's batting and who's pitching. We have team roster and player management. So this deals more with persistence and making sure we keep track of every player and every team that we have. The roster will connect the teams with the players. We also have game and player statistics. So we do have the backend for this at the moment. We have now built a frontend, beautiful Perspective page, but we have stats of all player events, and we can keep track of individual events that happened. So when you go back to a game, instead of having to trace through the entire game, you can filter by a single player and see, hey, they got a home run or it wasn't really their day that game. So essentially, this is a streaming tool. This is to be used for OBS and to be used to stream to more available services for family and friends.
09:55
Sophia Ruduke: Hello? Because the original software we were using was not very readily accessible for those around us, we wanted our friends and our family to watch our friends and our kids play baseball, but that wasn't an option. So we went with something ourselves that was easy for those around us to view. And persistence: obviously, we don't want to lose all of our data, if for some reason, we're at the baseball game and something happens and we have to close the app. We know that as soon as we open it, our game state is exactly as we left it.
10:31
Kyle Chase: So future features that we're adding, we're looking at adding Bluetooth radar. There's some radars out there that communicate over Bluetooth. We want to be able to get pitch speed and bat velocities. We're adding a heat map to be able to see where pitchers and batters are, or where balls are being pitched. Where is that pitcher having balls hit to, and for batters, where are they actually hitting the balls to? We want to be able to add the ability to support leagues. So right now, it's really built around a single team scoring their own games. You want to be able to have baseball organizations use this as a tool that they can then own their own data and be able to customize how the streams look for their customers. We want to add multi-year support. So as a kid grows through his baseball career, we want to be able to see track stats year over year. And eventually we're going to be adding a play-by-play review and the ability to export a game summary at the end of the game.
11:29
Sophia Ruduke: So we're going to get into the demo, but before we get there, we're going to start with the setup and what it actually takes to run our application effectively.
11:36
Kyle Chase: So the tools that we use for this, we need a local computer. So I use a Surface Pro 9. It's going to go ahead and run Ignition as well as OBS Studio. We need the ability to have a local network. The solution we have actually supports multiple cameras through OBS, so we need a network to be able to bring all those cameras into one location. We need an Internet-providing device. So it could be a cell phone, could be a modem, could be just local Wi-Fi. We need cameras that support technology that allow us to bring streams in. So I'm using a Mevo Start. It supports the NDI protocol, really low latency, and it allows you to synchronize streams. So if you had a picture of a batter and an over-the-shoulder of a pitcher, they'd actually synchronize those streams and not be out. And then YouTube or Facebook and where we're streaming everything to. We also record locally. So if the, if your network goes down, we still have all of that high-quality footage that we can then re-upload to those clouds later.
12:38
Sophia Ruduke: Okay. So we're first getting it started with the OBS setup so you guys can get more of an actual intuition as to what we're even talking about and what it looks like when we get to use this application to score our baseball games. So essentially, in OBS, you can set your media sources. So this will be the actual stream of the baseball game that we recorded. So...
13:00
Audience Member 2: And this is prerecorded?
13:04
Kyle Chase: But during a normal game, it would be through an NDI source.
13:09
Sophia Ruduke: So this is Kyle's son actually playing at provincials. But another setting that you can add is you can set web browser sources. So with Perspective being a web server source, we can set the link to our Perspective views and embed that into our recording. So we have two different scoreboards. We have a large one that we place on the top, and we have another one that goes in the bottom left. You can put it wherever you like, but this will be the URL to the other Perspective view. And essentially, so these are completely in sync, and these will keep track of the game and tell us exactly what state we're in. But the thing that guides these views is our controller. So to add our controller, but to not actually record it in the video, we're going to add something called a dock.
13:58
Sophia Ruduke: So this goes right into our OBS, and here we're going to bind it to the side, and essentially, once we're ready to start scoring, we'll have this field view, and anything we do on the controller, we'll update live onto our two scoreboards. So that's the OBS setup. We'll get into...
14:20
Kyle Chase: I'm sorry. Go on.
14:21
Sophia Ruduke: So this is our players right here. We have multiple, multiple players. Since we have support for all 30 of the MLB teams. With players, we have functionality to add, edit, and delete. Players are saved by their first name, their last name, which direction they bat, and the hand that they throw with. And another thing too: if you're not too certain about which hand they throw with, you can always go back and fix it later. So in our case, in spirit of ICC 2023, we made a Ignition baseball team. So we picked 13 of some top Ignition employees and we made players for them, and put together an Ignition team.
15:03
Sophia Ruduke: So here, you can see how easy it is. You literally just press the plus button, you put a first name and a last name. If you're not sure which way they bat or which hand they throw with, you can always put it in later. It's not like it's too crucial to your game stats anyways. But as simple as that to start off, and anytime you make an error, you can always go back and delete. But essentially, there's no limit to how many players you can have. And players can be on multiple teams as well, which we'll get to in this section. So here you can see our 30 MLB teams, and with each team you can also store a nice SVG logo. Here as well, you can add, edit, delete teams as necessary. Each team has an organization, has a name, a short name in the case that the name is too long.
15:52
Sophia Ruduke: It has a background color, a foreground color, and a place to edit the roster. So in our case, we're going to make our organization Inductive Automation, and our name is going to be The Igniters. For our short name, we'll just put IA, of course, and we'll go with the classy logo with the blue and the orange. I believe we set blue for background and orange for foreground. And just like that, we already have our team set up, but we're going to have to add our 13 IA employees. So it's just as easy as hitting a plus button and searching for a player and assigning them a number. For the sake of simplicity, we just went with ordinal numbers and just went one, two, three. We didn't have a chance to ask them their favorite numbers. But anyways, just as simple as this, the 13 players we just added, we're going to find and go through.
16:47
Sophia Ruduke: We are planning to get a bulk feature for this, but since you have to specify the number, it does have to be a little verbose in that sense. But pretty much that simple to set up a team as well. For the SVGs, we still need to implement some support for local uploads. Currently, the way the SVGs are stored is in the database using a path to an SVG. So you'll see that we'll assign it in just a second, but we're just taking a look at our roster that just saved to show that persistence. And right away... So here we have our nice new SVG. This is just the path to the SVG in the pictures directory. And in a few simple steps, we already have our team set up, and we are ready to start playing a game. So here we're going to set up a game. A game will consist of obviously a home team, an away team, a start time. And you can also set a location. We do have some cool ideas for location. We did want to implement a map, as well as, didn't we want to do some Google Maps things?
18:05
Kyle Chase: Yeah. We'll be adding the ability to store baseball field locations via Google location codes. But we're not quite there yet.
18:16
Sophia Ruduke: So for now, it's just coordinates or whatever works for where you're playing your baseball game. But for today, we'll set it as 1:15 as our presentation. For our home team, we'll set it as Ignition, and for away team, since we are Canadian, we'll set it to the Blue Jays. And we can save as well. One thing that happens quite often in baseball is sometimes the location of the game can change. So if that's ever the case and you ever need to go back and a location was to be determined, you can always go back and edit it later. So in our case, we're at ICC 2023, and just like that, those are all the parameters and inputs we need to get ready with the game, and then we can get into the fun parts. So for actually scoring, we did not use these two teams, although that would have been fun since we don't have footage of the IA employees playing. But essentially, this is kind of the overview of the field, and we can...
19:16
Sophia Ruduke: We'll show you guys how to set up, but I just kind of wanna go over this for a second. So at the top, we have our scoreboards; we have balls, strikes, and outs. Right over here, we have our inning, and we have our inning state, so we're at the top half of the inning. We have our away team and our home team, and right underneath, you see set value at the moment, that's gonna be for our pitcher and batter. So you'll see, once we set our pitchers and our batters, those will be filled and telling us who is going. Then we have buttons for each of our positions. So we have our catcher right here in the bottom, we have our pitcher, first base, second base, third base, shortstop, we have our left field right here, center field, and our right field. So there's one way you can assign players from this screen, and that's by clicking on these buttons and going in and assign your members. So that is what will be shown right away.
20:14
Sophia Ruduke: So this one is a little verbose and takes some time because you'll have to go into each button and then go through the list of who's been assigned or who's on the bench and select your players. So here we can see everybody's on the bench right now, and we're gonna go ahead and select Doug Dudley to be our left field. And again, we can set our center field from this view, and we're gonna set Matt to be our killer center field. But if that takes a little too long, we have this really handy view to set up the batting order and the positions. So up in the top here, we have this view with all the positions, we have the short prefixes for... Right here we have pitcher, catcher, first base, second base, third base, shortstop, left field, center field, and right field. And we can go in and select the players that are playing for this game. So one thing that is very handy with this pop-up is that players will be added to the batting order in the order that you selected. So this is handy in the case that you don't just wanna add everybody and then shift people around. It will remember what order you pressed them in. So here we're gonna add everybody to play in our star game, and as well, we can even add players on the fly in the case we forget somebody. But now we have everybody here, automatically signed as an extra hitter, but then we can go ahead and set up our positions accordingly.
21:43
Sophia Ruduke: As well, there's these arrows to move people around in the batting order in the case anything switches. We have these substitution buttons which will swap people in place, as well, we can get rid of people from the batting order. And now, when we return, we can see that all of our players are set accordingly, and as well, we have to do the same thing for the away team before we can start scoring. So we do that really quickly for the Canadian team with the Blue Jays, the fake Blue Jays if you cannot recognize any of the names on there as it's prepopulated data. And so now we can see up here on the top we have our batter and our pitcher, and this will update accordingly as the game goes on. So that is just the process of how to get set up with the game. Before you can even start scoring, you'll have to set your players, you'll have to set where they're playing, and then we can get to the really, really fun part. Or, I believe I show substitutions first. So here we can substitute players that are already fielding, or we can substitute players on the bench. I might just carry on. Alright, and get to the fun piece. So here we have footage of Kyle's son playing at his provincial game, and so we did the exact same process that we just did previously. We already set up our batting order and our positions for the two teams.
23:22
Sophia Ruduke: So now what we can do with our controller is we can score the game as it's happening. So if you notice that the video playing on the left is a little out of sync of the one on the right, it's slowed down so that you can see what's happening and process it a little better. But over here on the right, we have the video in 2x speed and the video on the left in 1x speed. So we can see, as things are happening, we go into our controller and we update it accordingly. So if we go back, even small events like an attempted pickoff, we have support for it. So if we go back, 'cause we might have just missed it, this player right over here tried to get an attempted pickoff, so we can go in and say the runner on first was safe and he tried to get a pickoff. But as well, anytime a pitch is thrown, we can call it a strike or a ball, but the most fun happens when there's a ball in play. So I'm not sure what timeframe we have a ball in play, but essentially, so you'd be at your game, somebody's recording, somebody's streaming, somebody else could be scoring, or it could be you as well. And we have support for all the different events that can happen, whether it's something more passive, like a ball or a strike, or any sort of player event.
24:43
Sophia Ruduke: If a player advances during the play, stays on a base, it doesn't matter. We have support for every possible event. So here, I'm gonna skip a little forward so we can get a ball in play. Oh, this is perfect, I believe. So here we can say the player advanced because he stole a base.
25:24
Sophia Ruduke: And next, sorry, I believe I saw a ball in play, but perhaps not. Anyways, one of the really key features that is really nice with this whole game engine is the fact that it takes into consideration what happens to everybody else. Just because the current player who batted hit a double or hit a single, it doesn't mean that everybody else automatically advanced. We need to know exactly what happened to them. So in this case, we just had a batter out and it had to do with the pitcher, but the runner that was on second actually advanced. So that is an event that we need to take care of, so we can advance the runner on second and say he was safe, and just like that, he moves over and advances the game. So just like this, it has a whole game engine in the back that is scripted using the scripts in Ignition. And once you reach like four balls, you get a walk, once you reach three strikes, it advances the outs. So it has the intuition of a baseball game, but it's all through this Perspective view, and we'll guide the game accordingly. As well, one really good feature that we have is the undo button. So in the case that you accidentally mark an event as not what it actually turned out to be, because sometimes after some time you might be like, "That wasn't a ball, that was a strike," you can always undo and go back to the previous game state. So how does this actually all work? What's on the backend and what's going on?
27:05
Sophia Ruduke: How are we utilizing Ignition's key features to get this controller to work and to update our scoreboard? So that's what we're gonna get into shortly.
27:23
Kyle Chase: So what we did is we added a bunch of tags that give us state that allows us to synchronize all that information between all the different views that we have. So we're all familiar with tags. So here's an example of our structure: we have the ability to store who's batting, how many pitches, how many balls, what's the count, what's the batting order, what's the roster. You can see an example of the roster; we're using a five-digit Base64 code, should give us room for about two billion players, which, hopefully, if we succeed that, that would be awesome, but I doubt it. And then just the positions of the batting order. It's just a simple list, simple dictionary of all things that we're all used to working with.
28:04
Sophia Ruduke: Totally. And even just some more intuition as the individual tags that we're keeping track of. We definitely need to keep track of the players on both of the teams, the rosters, the positions. So this is where everything happens. Anytime a change happens, we're writing to here, and as well, this game state and these tags are always saved to the database. So that is how we're able to restore the state with just a simple undo button. We just go back, write to the tags as they just were, and just like that, we have our previous state. As for our players table, so we have five tables. Our players one is quite straightforward, using that five-character Base64 encoded ID for their unique identifier. We have F name for the first name, L name for the last name, we have a single character for the direction that they bat in, or L or A for ambidextrous, and then for throws, same thing, R for right, L for left, and A for ambidextrous. And here we have some examples.
29:10
Kyle Chase: And a lot of our other tables are also very... As you can imagine, the UI follows what's in the database. So teams will have all the same information we entered, games will be there, and then eventually we get to the game state database.
29:24
Sophia Ruduke: Eventually.
29:25
Kyle Chase: So the game state database is a little less apparent, but we eventually store event code, and we store game state. So the game state, each of those keys is gonna reference a tag inside of Ignition, and we wrote a simple Python script to be able to synchronize the database information with the tags itself. For certain event codes, we wanna be able to know what happened in that event. So there was an overthrow to first. Was the error on the pitcher or on the first baseman? Did the player eventually end up at second, or did he end up at third? So we designed the database to be able to have a dynamic, ability to store dynamic information, and then also be able to revert back to a previous game state.
30:11
Sophia Ruduke: That's right. I'll just do a brief overview of the other tables that we have. So this is our teams one, containing the five-character unique identifier for the team. The organization and all the strings that we set in those Perspective views. As well, the roster connects our teams with players, so the ID team and the ID player are foreign keys. So in this case, this is what connects it, because multiple players or a player can play for multiple teams, so we didn't want to restrict that in our implementation. And the game state that Kyle was referencing is this crazy table over here. But essentially, we have predetermined and unique keys that we established for all of the baseball events. And here you can see over on the left, so B is for ball, we have Cs for, or Sc for a called strike, that's right. And as well, every game consists of a set order of events that occur. So you'll notice that for every game that just starts off, we'll have an hrost and an arost event; hrost is a home roster event, and arost is an away roster event. This is what sets up our teams, so we know which IDs we're working with for that game. Then we have an hbord and an abord, which sets the batting order, and these are very handy when we come into reactivating games and switching between scoring games, because all we need are these events to restore the state and the players of a previous game.
31:46
Sophia Ruduke: Then we get into all of the scoring. So here we have a ball and a foul ball, and we have all the players that were involved. So for taking off, how can we actually use Ignition's key features in personal projects and projects related to our hobbies? So tags are very useful for sharing resources. You can access tag values in scripts, and you can also access tag values in the actual bindings and components that you're using in Perspective. As well, it's all real time, so you know that when you're pulling from a tag, that is the current value. It's not something that was cached or stored a while ago. With the database, you can store persistent data. With Perspective, you can build plenty of templates and interactive UIs, and with reports as well, you can get the full experience of exporting any important information that is in your Ignition.
32:57
Kyle Chase: So other resources that we use are gonna be Python scripting. So our whole game-state engine is developed in Python. So again, the scripting understands how baseball works and what certain events need for more information. We're gonna handle authentication just using the built-in IdP that's built into Ignition. Some modules that we're gonna build to eventually make this better, where we're gonna build a module that allows OBS Studio to interface with Ignition, or the opposite actually, for OBS Studio to pull data from Ignition so we know when a stream starts, we can relay that to a specific time of day. So if someone hits a home run, we can then pipe that out to FFmpeg to cut out that specific play, so that then each player can see all the plays that they were involved in. We're also gonna add, again, the Bluetooth radar integration; that's gonna be a serial connection to a Bluetooth radar, and then we're gonna be able to pull back the speed.
33:52
Sophia Ruduke: Alright, so I'm Sophia Ruduke, and he's Kyle Chase, and our plans with this project are to release it open source on GitHub and hopefully get other people's help on working with the future features. As well to have it open for people to use for their baseball careers and lives. So if you guys want to see more of just the scoring, I'll put that on in the background, but I think now is a good time to go into some questions.
34:23
Travis Cox: Alright. Let's open it up to questions. Any questions out there for these two? Yeah.
34:31
Audience Member 3: So I really liked your undo button. How far back can you undo? Is it just the previous state, or does it go and queue them up so you could go back and back and back?
34:42
Kyle Chase: So yeah, it allows you to go back all the way to the very beginning of a game, so every single... We're very verbose on the data that we store every time an event happens. So when you go back, it's just literally picking the previous event in the stack and restoring that game state. It's gonna go all the way back to the very beginning of the game.
34:58
Audience Member 4: Does your decision to put it up on GitHub that you just mentioned change now that we announced multitenancy?
35:04
Kyle Chase: Yes, yes, it does, and community edition. Yeah.
35:11
Travis Cox: Any other questions? Back there?
35:15
Audience Member 5: Seems like it might be fun to mess with some computer vision applications to do the scoring for you.
35:21
Kyle Chase: So yeah, we actually were thinking about doing that. The radar that I have doesn't have Bluetooth, so we were gonna use a phone running and the ability to read the speed off of that. I don't know if we'd be able to detect the type of pitch as an example or the type of a hit, but that's outside of my realm of knowledge, but yeah, definitely wanna get into it.
35:44
Audience Member 5: It does have me thinking you could have a computer vision model for each umpire.
35:47
Kyle Chase: Yeah.
35:48
Audience Member 5: So it detects strikes and balls.
35:50
Kyle Chase: But they come in all different shapes and sizes, so I don't know how.
35:53
Sophia Ruduke: Well, for sure. Need a lot of training.
35:56
Travis Cox: There's a question down here in the front.
36:04
Audience Member 6: Thank you, this is awesome. So what does it look like on the consumption side, and are there different ways of looking at that, like via app or video or...?
36:14
Kyle Chase: So right now, the primary consumption is, or the only real way to consume it is we're streaming to YouTube or to Facebook and then you'll watch essentially the right side of the screen as what you would see through that vehicle. We do wanna add the ability for people to go in and see their kids or be able to go in and see a review of all the games to see what their averages are, what their stats are, and to see the video of the events that they're involved in. But we're just not quite there yet.
36:46
Audience Member 6: Awesome, thanks.
36:46
Travis Cox: Yeah. Yeah, the question back in the back. We're gonna make him run.
37:00
Audience Member 7: Thank you, this is really cool. I coach my son's baseball team, and we use GameChanger. It looks very similar to that, I'm sure that kind of inspired it.
37:07
Kyle Chase: Yeah.
37:08
Travis Cox: But a lot better.
37:08
Audience Member 7: A little bit.
37:09
Kyle Chase: Yeah, yeah.
37:10
Audience Member 7: So I'm just wondering, as far as the person that's actually doing the scorekeeping, are they using a laptop computer and are they logged into the Perspective?
37:22
Kyle Chase: So there's kind of two ways that I've done it: I've done it where I've just got my Surface with OBS Studio running, and I'm scoring it right from OBS. We designed the interface to almost blend in with the OBS default view. The other way is you can just open it up on your phone, and someone can score it off their phone as well. Eventually, we wanna get to the point where we're looking at other technologies where you have server-side rendering of the video so that you won't need a Surface on site and you can use a cloud-hosted version of Ignition. But we we're still pretty early in that part of the project.
37:55
Audience Member 7: Yeah, it's pretty sweet.
37:57
Kyle Chase: Yeah.
37:58
Audience Member 7: Thank you.
38:03
Audience Member 8: It was so good, I can't even heckle you, but UI design was great. I just need to know, is it available for slow-pitch wiffle ball?
38:14
Kyle Chase: I wouldn't consider that real baseball, but yeah, you could use it for that. We were gonna design one for football as well, but we only play three-down football in Canada, I don't think anyone here would understand how that works, so.
38:30
Audience Member 9: Yeah, so you mentioned putting this on GitHub, so I was just curious: have you guys been putting this on GitHub already as a private repository?
38:39
Kyle Chase: I don't think...
38:39.5
Sophia Ruduke: Yeah, it's privately managed by us, but we'll need to do some alterations before we release it public.
38:45
Kyle Chase: Yeah. And our code was too bad to upload the first couple iterations, so yeah. Yeah, we're gonna put it on GitHub, and we're also gonna put it on the Exchange, so it'll be easier to use as well, so.
38:57
Audience Member 9: Thanks.
38:58
Travis Cox: There's a question down... Oh, yeah.
39:00
Audience Member 10: The licensing cost is a question: what's it costing from a licensing perspective?
39:06
Kyle Chase: So licensing, so for me, I'm using a Maker Edition. I'm not making money off of this. it's not for a commercial entity. I think that's gonna be what most people are using it for. I'm not a licensing expert, I would imagine if you're involved in a... If you have a Community Edition of Ignition that they just announced, you might be able to use that. Outside of that, we tried to keep the features that we need to a minimum. Really, you need Perspective and you need the SQL Bridge Module. We're not using Historian, we're not using SFCs, we're not using anything else. It would be a pretty minimal cost if you wanted to use it for an enterprise or for a for-profit organization.
39:48
Travis Cox: Yeah. Was there another question over there?
39:51
Audience Member 11: Yeah. Do you have a rough hour counter of how much work this was to put together?
40:01
Sophia Ruduke: I think the presentation was the maximum. Building the app was the fun part. Yeah.
40:08
Kyle Chase: Yeah, I would say like 40-50 hours, I think, between the bunch of us.
40:13
Sophia Ruduke: Two, three of us.
40:13
Kyle Chase: We went back and forth on a whole bunch of changes, but I think if we actually preplanned it, we'd probably be in the 50 to, probably, 50-60 hours.
40:22
Audience Member 11: Yeah. That's impressive, thank you.
40:27
Travis Cox: We have a question down here in the front.
40:36
Audience Member 12: So your app, does it have any scheduling in it where you can put like the season games where it's gonna be at, so you can get like parents and next...
40:46
Kyle Chase: Yeah, so when you create a game, you can set the time for the game. We don't really have any multitenancy yet for people to see their own game and for notifications. But again, that's stuff that we do wanna add as we add the league feature, that'll be pretty important for that.
41:03
Travis Cox: Yeah. Any other question? Oh, there's one over there.
41:09
Audience Member 13: Sorry. So you mentioned that you guys want to be able to have people to skip to the exact point in the game when something cool happened.
41:21
Kyle Chase: Yeah.
41:22
Audience Member 13: Are you timestamping every single one of these events and event changes? Is that how you kind of intend to do that?
41:28
Kyle Chase: Yeah, so we store time of day when each event happens, and so when we integrate with OBS, we will... Ignition will know when the OBS stream started. So we'll be able to say, okay, if it started at one o'clock in the afternoon, but then the event happened at 1:20, then when you run everything through FFmpeg to cut the video out, you would know you'd have to start 20 minutes into the stream. So you're taking a precise time or an absolute time, and then we have to convert to a relative time for FFmpeg.
42:01
Travis Cox: Yeah. Any other questions? I think right here. Oh yeah, we've got quite a few.
42:15
Audience Member 14: I guess with this being on site with the game that you're gonna be there, are you gonna create logins for, I guess, people to be able to have access to this while they're on site, like be able to, like, "Hey, how's this game going?" Being able to see the stats and be able to log in and see how their players are doing, how their kids are doing.
42:37
Kyle Chase: Yeah, yeah. It's gonna be...
42:39
Audience Member 14: Without, I guess, changing their... Making their kids look good or something like that.
42:44
Kyle Chase: Yeah.
42:44
Sophia Ruduke: Yeah, 27-0, like that's not happening. So we'll certainly need some sort of authentication to make sure only privileged users can actually make changes to games. But that will not be too hard to implement with Ignition's IdPs.
43:04
Audience Member 15: You had mentioned earlier that you are working on some other application also, like monitoring and medical alert, something like that. Are you guys trying to put that on GitHub also?
43:17
Kyle Chase: I'm sorry, say that again.
43:19
Audience Member 15: So you mentioned earlier you had developed blood sugar monitoring application and those... Are you guys planning to put that on GitHub also?
43:29
Kyle Chase: Yeah, all it really is is just, my phone publishes data every five minutes to an existing solution, and then I just use Ignition to involve or to call a web API from that server. And then if I haven't responded in 30 minutes, which again has never happened, but if I'm not acknowledging an alarm within 30 minutes, it sets off a siren in my house. So it's not really... We can talk, I can share with you if you want. Yeah.
43:56
Travis Cox: We have time for maybe one more question. Any?
44:00
Audience Member 16: Yeah. So something we really like about some Exchange resources is especially like an example would be like the Ad Hoc Trend Component. When you install it, it automatically detects your database connection and populates the tables needed for that. Is that something that you guys would put in there for this application to maybe just make it just more easily importable?
44:25
Kyle Chase: Yeah. So we have a Python script that we call that will go ahead and set up all the database tables for us. We don't have like a quick start automated, but we can add that, yeah.
44:35
Audience Member 16: Yeah, that'd be cool. Alright, thanks.
44:38
Travis Cox: Alright. Well, thank you, everybody. Let's give them a round of applause.
44:47
Travis Cox: Good job.
Speakers
Kyle Chase
Chief Technology Officer
Kymera Systems
Sophia Ruduke
Systems Integrator
Kymera Systems
In this session, we'll explore more than a decade of experience with Ignition, sharing valuable insights as a long-time member of the Ignition community. We'll take a practical look at how Ignition has evolved and its role in modern manufacturing, including topics like MES, OEE, AI, and more. It's an opportunity to gain practical knowledge and understand the journey from the early days to today's automation landscape.
Transcript:
00:03
Jean-Paul Moniz: I built a functioning demo, a OEE app, for a few machines and we didn't know SQL back then and it was like, "What's this SQL stuff?" and all that kind of stuff. And so we learned SQL and we built this demo and everybody's like, "This is exactly what we need," and so it sort of hit the ground running there and looking and auditing what was out there on the market. There was nothing else on the market that can sit there and compare with the feature set that you got with Ignition at the time. And so for me, it was a no-brainer choice. So how did Ignition sort of grow within CFM [Cameco Fuel Manufacturing]? Well, it started out very simple. We bought one gateway for the one plant, did that in about 2010, and then we liked it so much. We have our other plant, what we call Port Hope. It does all of the final assembly and so we bought another gateway for that. And then Sepasoft started up and said, "Hey, we have this neat, wonderful OEE module." And it's like, "Well, that's exactly what we're trying to do." So we bought the Sepasoft modules back in 2012, and anybody that's familiar with Sepasoft, you probably know the pains of version one, version two, version three.
01:19
Jean-Paul Moniz: I won't go through that, but we went through those pains. And then we started to investigate MES and track and trace in around 2015. I was doing some work with serialization of our product and whatnot and we understood the value of being able to sit there and digitally track your manufacturing operations on the production floor. So we started doing a big exercise. We engaged integrators like Grantek. We talked to other integrators like Brock Solutions. And what ended up in that, we did a big URS and FRS, and it was like 160 pages, and we ended up with this, well, if you pay a million and a half dollars, you can have this wonderful system. And we looked at that, and we said, "Yeah, that's great, but we think we need to go another way." And so what we ended up doing was sort of taking a roll-your-own approach. And so we deployed our first full MES production line on a specific process that was sort of bookended.
02:24
Jean-Paul Moniz: It was a really nice process to sit there and deploy it on or sit there and test out MES functionalities, learn how to deploy a system, see the value in it, and then sit there and understand how do we take what we learned here and deploy it out to two facilities across the board. And so we're actually just finishing that up on our second facility and once we have that finished, that will actually obsolete an old customs.net 1.1 and SQL application that's been in the plant forever. So from a technical standpoint, this is sort of what it looks like. We have one plant with about 12 projects running in Ignition, 25 modules combined with just regular traditional Ignition modules: Perspective, Vision, WebDev, stuff like that, and then all of the Sepasoft version 3 MES modules.
03:22
Jean-Paul Moniz: We have about 29 PLCs in that plant. We're starting to play with MQTT. We have about six OPC connections on that plant, and any given day, we have about 70 clients open up on the production floor. Of those 70 clients, there's about 14 that are dedicated specifically for local HMI control on the machines, and then about 56 operator terminals for MES entries and OEE tracking and all that kind of stuff. And in that one plant, there's about 82,000 tags and in the other plant, there's the same story in the other plant, less operator terminals and about 64,000 tags. And then we also have an enterprise server that where we network them through the Ignition gateway and then that one's more like an overview-type server where we have some projects in there and they're doing a whole bunch of things a lot with the MES, just reports, visualizations, stuff like that.
04:23
Jean-Paul Moniz: But then we also have some really weird use cases where we have one project no different than what's on Ignition Exchange for people signing in. So we use it for things like that, visitors to sign in and stuff like that. So the main use case that we use it for aside from all the OEE tracking, we do use it as a centralized HMI application for development and deployment. That was one of the things that especially being a traditional controls engineer sitting there and is going, "Do I want to put my HMI application up on a server and then if the server goes down, I have no HMI on my machine?" But we sort of got over that hump and it has a lot of benefits to doing it. Really, Ignition as a platform sort of lets us do that IT/OT convergence that everybody talks about all the way down to the machine. So in my HMI application, where I'm usually... And when I talk about HMI, I'm talking like cycle start, cycle stop for a machine and all the traditional stuff that you would sit there and think.
05:26
Jean-Paul Moniz: But then also maybe like from an OEE perspective, being able to sit there and add shift comments in as the machine's running, right? And then using Ignition's technology, maybe that shift comment is actually an integration of Microsoft Teams, right? And so that's where that IT/OT convergence really starts happening. And then the traditional issues around HMI development with traditional hardware: firmware issues, cost of the HMI terminals and everything like that, all of that stuff goes away with Ignition, right? We don't have to worry about firmware updates, right? It's essentially Windows 10, vanilla computer is perfectly fine, Linux is perfectly fine, ARM is perfectly fine. All of those opportunities come up. And then also for asset information and data management platforms, we have our OEE, so we're monitoring, sitting there and saying this is what our equipment's doing from our performance, but then rubber has to hit the road and we have to get in the continuous improvement and everything like that.
06:31
Jean-Paul Moniz: And so machines break down. They need support. So amalgamating all your information around the technical support of equipment. So for example, equipment drawings. Well, where do you store your equipment drawings? Well, maybe we store it in a SQL database, or maybe we store it in a document management system. Technology that Ignition provides allows us to seamlessly integrate wherever that data is and provide it to the end user in one common view, one common portal, right? They don't have to sit there and go over to the DMS system and go get a document or whatever system where that data is. And then also we do things like integration and SAP. I don't know anybody that uses SAP for plant maintenance or whatever or is familiar with ECC. I know a lot of people are migrating to the S4, but it's not intuitive for somebody to sit there and create a maintenance notification in SAP.
07:31
Jean-Paul Moniz: Well, with Ignition and things like the Business Connector from Sepasoft and 4IR, you're now able to sit there and create an Ignition screen, prepopulate all the information that SAP needs that the user doesn't care about, and just allow the user to sit there and say, "This is my problem. I need somebody to hit the button." And the next thing you know, that notification is in your CMMS system, whether it's SAP or whether it's some other CMMS system. The UX experience from the end user, they don't care about where that data goes off, right? They just want to be able to sit there and put in their use and go back to solving their problems, right? And so that allows us to sit there and create that sort of seamless environment for the end user. And then the same thing with what I was talking about for Microsoft Teams. So that resource that was shared on the Ignition Exchange through one of the last... Oh my god, build-offs or whatever. I forget who did it. Was it Vertech that did it?
08:35
Jean-Paul Moniz: I think it was Vertech that did it. If it was somebody else, I'm sorry, I apologize. [Note: It was Flexware] But taking stuff like that from the community and then sitting there and saying, "Oh, I can use it for this idea, integrate it into our system." And so for example, now we can sit there and have two-way communication for issues at the machine, right? So somebody says, "I have this problem." Maybe if it was just a note in the database, it would just go off that database, and how would anybody sit there and get the feedback back unless they went and read it? Now, with mobile phones and proliferation of everybody having something like Teams at their fingertip, now they can get an answer almost immediately, and it would show right back up on their screen. And then OEE, again, OEE integration with Ignition, it's been seamless, right? So now we get all of our OEE metrics within the same platform that we're collecting process parameters for the equipment or doing that integration with all the documentation. Everything is all in one system. Centralized administration of ISA-95 concepts and ideas, all of that's done within the same platform.
09:50
Jean-Paul Moniz: And then that allows us to build what we actually need. Instead of using some sort of off-the-shelf prepackaged solution, we actually get to build what the operators need, what the technical people need, what operations management, excuse me, actually need. So they get the tools that they ask for when they ask for it and then it also gives us the insight on our manufacturing operations, lets us understand where material is at any given time, what our inventories are, rapid access to information. And then in turn, it allows us to sit there and start shifting our culture towards performance excellence. So instead of just sitting there worrying about OEE numbers, we're sitting there creating a culture of accountability more about inputting the data and being accountable to that data and stuff like that. With the tight integration between the HMIs and the OEE system, we can sit there and create metrics, and sit there and... I don't know what the best way I can say this is, is ensure that the data going into the system is as accurate as possible such that we can actually create or fix the right problems for the end user.
11:14
Jean-Paul Moniz: So then MES and Ignition data modeling in the ISA-95 framework, that's been a huge thing that allows us to sit there and structure our data in the way it needs to be organized for the organization. And so the whole idea of enterprise, plant, area, line, cell, getting that data into that structure and having it easily accessible gives so many insights into what's actually going on in your plant. And one example is real-time insights, the work in progress, right? So now you can sit there and have full transparency. If you were let's say a legacy manufacturer tracking things on paper, you would have to send the same materials person out every day, sit there and count the inventory on the factory floor and make decisions based on that. Now we have real digital insight to where any material is at any time.
12:17
Jean-Paul Moniz: And then enhanced accountability on waste reduction, having the ability to sit there and track 10 units went into this process, nine units came out, and then to be able to ask the question, "Where did that other unit go," right? That brings amazing insight to manufacturers, especially if the material that you're producing let's say is expensive, right? So every piece of scrap counts. Now you can sit there and start asking questions. "Why are we losing 5% raw material on this process? What can we do about it?" So having that ability gives us great insight to sit there and fix problems like that. And then in-depth product genealogy, being able to sit there and ask the question: When was this made, where was it made, who made it, what were the settings on the machine when we made it? Being able to answer all of those questions, having a system that can do that is worth its weight in gold.
13:22
Jean-Paul Moniz: Sorry. So then that's what we do with it. And then I wanted to sit there and talk about ideas that, we're sitting there. Everybody's talking about AI and some people get bored by all the hype that's being talked about it. But I think there's some really useful conversations around using AI to enhance a lot of OEE systems that are out there and whatnot and around specifically operator feedback. If you sit there and take a look at what's going on nowadays, a lot of companies are putting in these OEE systems, tracking performance and the equipment, taking feedback from the operators, putting them in the systems. That's just getting recorded to a database. Well, what are we doing with that information, right? And AI gives us a new ability to sit there and search index and all that fun stuff to be able to start asking those questions and sort of closing the loop on some things. So the whole idea about analyzing feedback that your operators are giving, ask the question, "What are the top 10 things people are talking about?" Right?
14:29
Jean-Paul Moniz: And doing Pareto analysis on that and sitting there and going, "Okay, well, are we doing anything about it?" Right? Our people are giving us lots of feedback and ask the question, "Are we doing anything about it? What do we need to do?" Right? And then along that same line, we're looking at things, concepts of knowledge management with graph databases and whatnot. So now the technology is out there. You think of equipment that's breaking down all the time, and okay, it has this failure. Well, traditional in reliability, reliability means maybe you might have an FMEA that you put in a spreadsheet, and it gets locked off in the corner. It has all these nice answers on. If this breaks, this will happen, or if this comes out of adjustment, this will happen. Well, if you take that concept and digitize it and put it in a graph and then maybe you can sit there and connect it to large language models and whatnot. And so now new people coming in that don't have that subject matter expertise can now start asking digital systems, "This failed. What should I do?" It becomes a very, very powerful idea, right?
15:47
Jean-Paul Moniz: So some practical insights that we've seen from doing all this work with Ignition, sorry, the first thing is being able to embrace a culture of accountability. And when we talk about accountability, everybody sort of tends to think negatively about accountability, right? But it's really just about getting the right data so you can sit there and make informed decisions, right? And so you'll hear a lot of people talk about OEE and then sit there and say, "Well, the operator just presses the closest reason code that they can on the OEE system." And what Ignition allows us to do is to design the input system such that we make it as easy as possible for the operator to sit there and put in the right information. And if they don't, then we have the metrics and the tools in place to understand that that didn't happen and then go back and ask the question or fix the data such that we always have accurate data.
16:48
Jean-Paul Moniz: Sorry. And then leveraging data modeling for clarity. This one's becoming a big one for us, is not just focusing on really asking the question, what does a data model for my piece of equipment look like? Not just the simple idea of there's a temperature here or there's that pressure setting there or whatever it may be, but really thinking about the whole idea of digital twin, but what does a data model look for a piece of equipment and start asking that question and then how do we model that in our system properly? And then real-time visibility, so we invest in systems that provide visibility in the operations. So this allows us to be agile, right? So we've invested all this time into these MES systems and the OEE systems to sit there and give us all this data. It allows us to be super, super agile on continuous improvement. Continuous improvement is key, right?
17:49
Jean-Paul Moniz: And so being able to sit there and say, how did we perform yesterday and how do we perform? We know where we want to be tomorrow. How do we get there? And so using continuous improvement and using the data in the system to be able to sit there and come up with plans, to sit there and make impactful changes on some of these metrics is a huge benefit. And then stay agile and forward-looking. I think everybody sort of hit the note on the keynote this morning, but being able to sort of, in a way, future-proof yourself, but understand that things are changing rapidly every day, and being able to sit there and be agile with a product like Ignition. And a new use case comes up tomorrow. Being able to sit there and rapidly develop the application that helps solve that use case is hugely important. And then empower your workforce. Give your workforce the tools and the knowledge that they need to succeed.
18:54
Jean-Paul Moniz: Some of the concepts that I was sitting there talking about with the AI tools, that's all about giving people the information that they need. I have seen a big trend on... I don't know what the best way to say this is, but being able to capture the knowledge lost from tenured subject matter experts that have been in the plant for 20 years and they have, he hits it with the hammer this way, that's the way it's always done. Trying to capture that information and being able to provide it to newcomers coming into the workforce and equipping them with the information such that they can hit the ground running quicker and faster. And then embracing the future of manufacturing. A lot of people talk about Industry 4.0, and there's lots and lots of subject matter, and we're talking about it a lot over the next three days.
20:00
Jean-Paul Moniz: And Ignition, from day one, has been in a position to sit there and support all of the 4.0 initiatives that everybody sits there and talks about. I know there's a lot of hype going on right now with MQTT and concepts like Unified Namespace and whatnot. If you take a look at Ignition, Ignition supports that pretty much right out of the box. Digital twin integration, again, Ignition's a great platform to be able to sit there and sort of build on top of these concepts of digital twin integration. It might not be simulation that people talk about, but the visualization piece, access to information, Ignition's a great platform for that. And then, excuse me, edge computing and real-time insights. Again, everybody's familiar with Ignition Edge, but I'm a firm believer that equipment will get more intelligent over time to the point where you buy a piece of equipment, it's not just the equipment you're buying, but there's probably gonna be some level of compute resource, some level of data and analytics that just inherently are part of the machine because depending on what your time domain is with the equipment, some of that analytic processing and calculation will not be able to happen in the cloud just because of speed and throughput and whatnot.
21:38
Jean-Paul Moniz: So machines are gonna get inherently more smart with more technology on it and I think Ignition is in a unique position to be able to sit there and leverage some of those issues. And then customization and scalability. I think if you're using Ignition, you probably know this really, really well, but the ability to sit there and build what you need when you need it and then scale it out is a huge benefit. So lessons learned, what would I do differently? This isn't one I would do differently. This is what I would keep doing, but the whole idea of own your destiny, taking ownership of what you want to do and where you want to go, to me, that's a big thing. When we were sitting there talking about quoting out the MES system for a million and a half and just pulling the trigger and getting it deployed and making a decision to step back off of that and go our own way and roll your own, that was a huge decision for us, right?
22:43
Jean-Paul Moniz: And a lot of manufacturers struggle with that decision. And I would sit there and say that decision was probably the best decision that we ever did. One thing is it actually created two jobs because we had to hire two developers internally to sit there and do that work. It also prevented us from taking a million and a half dollars, spending it, and potentially re-architecting or changing the platform because when you sit there and go through that exercise, let's call it a URS or whatever you want to call it, you gather your requirements. Well, your requirements, they're only as accurate as the day you captured them. Tomorrow comes and the requirements change. So starting off small, trying things, finding out what works, finding out what doesn't work, that's a huge benefit to sit there versus Big Bang type projects and whatnot.
23:43
Jean-Paul Moniz: What I would do differently is get better about standardizing data equipment modeling, especially in our early days when we just had two basic Ignition gateways. We sort of had one team working on this one and one team working on that one, and you would have one team doing things this way and one team doing things that way, and things could get out of sync really quick, right? And so putting structure around that and coming up to agreements on this is how we're going to do things and this is what our data models are going to look like and stuff like that, that's a huge thing. This one, most people would sort of laugh at this one, but avoid mixed SQL databases. Again, if you start off small and you sit there and this happens a lot in manufacturing because cost is an issue, but maybe you sit there and say, "Oh, we're going to use MySQL over here," and maybe somebody wants to use Microsoft SQL over there and that you scale out and all of a sudden, it's like, hey, wait a minute. We have all these differences that we need to sit there and merge together and this code works great over here but it doesn't work great over there sort of thing.
24:55
Jean-Paul Moniz: So try avoiding that as much as you can. Improving project inheritance and dependencies. I sit there and look back, and some of this stuff didn't actually exist when we started in 2010. But as it came online, I would sit there and say, maybe I failed to recognize the benefit or the importance of doing that. Now when we look at our environment, the benefit of having that ability to sit there and have, let's say, a library that you can inherit into your project, that's a huge thing. And then the biggest one I would sit there and talk about is... And this was true for me, was eliminating bias. When I started off in my career, I had this very sort of biased view or perception that the only people that can do SCADA-type development or whatever were controls engineers, right? And so when we were hiring and recruiting for Ignition developers, I thought you had to know things about PLCs, I thought you needed to know things about automation. And we went down that road trying to recruit, and we got to a point and I said, "This isn't exactly working," and I sort of looked at myself and said, "Maybe I am biased here," and started asking the question, "Well, what if I hire computer science discipline or software engineering discipline or whatever." Right?
26:23
Jean-Paul Moniz: And we ended up doing that in 2019 when we hired our developers. Our two developers, they don't have a background in factory automation. They have a background in computer science and software engineering. I think that's the best decision. I think acknowledging that bias and then sitting there and looking at things from different viewpoints and bringing different skill sets onto your team was probably one of the best things we did as well. And then just my personal wish list for things that can be added to Ignition and stuff like that. One of them is the idea of a GraphQL module where you can sit there and develop your GraphQL queries inside of Ignition and then sort of maybe almost like the idea of like name queries or whatever sort of expose that for visualization and whatnot. Better visualization components supporting graph use cases. We're actually actively working on that right now building our own modules so we can sit there and do that but as that type of database system becomes more... Proliferates more into industrial use cases, having components to sit there and support that would be awesome.
27:47
Jean-Paul Moniz: And then the idea of a WebGL module where you can sit there and take sort of open modeling standards or 3D modeling standards and leverage technologies like WebGL to provide better visualizations. And then I think this one's getting dealt with in 8.3, just improve aggregate functions around historical data and the idea of being able to sit there and calculate certain aggregates on the fly or through the API on the historical data. And then I know this one gets a lot of talk, and I'm sure they have a plan for it or whatever, but some sort of runway on what's happening with Jython 2.7 and how do we get things like Python 3 in the platform. And I know that's a hot topic. Questions?
28:46
Audience Member 1: I was just wondering if you had any lessons learned or bits of advice when it comes to developing with the Python code right now. Sometimes I find myself dumping it into like a VS code or something like that to kind of get it right and I was just wondering if you had any lessons learned.
29:06
Jean-Paul Moniz: I think it really depends on the individual developer's preference and stuff like that. Me personally, I'm sort of backed off of development. I'll try out new ideas and stuff like that, but I tend to use things like VS code myself. I know our other two developers, they have their preferred methods. They're more IDE-focused, but I think one of them uses IntelliJ. But using an IDE is always a good thing, and then not only that, but depending on how advanced you are in your Ignition infrastructure, just using an IDE for basic saving, maybe saving it off to a Git repo and stuff like that outside of your project, it's handy for that too.
30:00
Audience Member 2: I have a question that I think you mostly answered already, but I'd like to hear a little bit more about, I was wondering, the system that you built internally, how you went about building it, and then you said you hired two developers. So I was asking from a perspective of did you staff that internally, and was it 100% internal staffing, or did you have some sort of service provider or external resource to help you get through the milestones?
30:31
Jean-Paul Moniz: No, we did it completely internally. All of our development's done internally. The only thing that we do externally is sort of emergency overflow stuff or stuff that isn't our priority. So maybe it might be we're putting a new piece of equipment in and it needs some HMI work done on it. We might send out the HMI work because we view that as sort of academic, if you want to sit there and call it that type work. So we really try to focus on where the high value is. So mainly around our MES system is where all of our development is focused in. Does that answer it?
31:14
Audience Member 3: So before you hired those two personnel who didn't have a controls background, what could somebody have said to you to convince you that your bias was getting in the way.
31:28
Jean-Paul Moniz: I don't know because I would sit there and say... Just naturally being a controls person myself, I would sit there and say, generally, my opinion or view is generally you surround yourself with other controls people that just amplify your own echo chamber. And so when I look back on it, it was more of we know what the need is, we know a lot of the work is mainly focused around traditional computer-science-type skill sets and everything like that. Hey, maybe let's try thinking out of the box a little bit and going down this road and seeing what it yields. And we started off very simple by just bringing in some summer students and giving them some tasks and sitting there seeing where they went and the result was this can work. And so then that's what made us go down the path even further.
32:29
Audience Member 3: Okay.
32:31
Audience Member 4: Right here. One more for you. When you were describing the HMI screens and the way that you moved them to Perspective, you said that there was some hesitation or some fear around the risks of that. I just wondered how you guys overcame that.
32:54
Jean-Pau Monizl: Yeah, absolutely. And just to clarify, the HMI screens are actually done in Vision. The title might be a little bit misleading on the presentation, but the HMIs are definitely in Vision. To me, I think it was just traditional viewpoints on equipment's got to run 24/7 every day all day right. And so the idea of a server going down and then let's say we have it on 14 assets right now. So if that one server goes down, there's 14 assets that are not doing anything or theoretically they'll run until they stop. But it was that idea, but to me, I sit there, I sort of flip on that thought as, well, the focus should be on not letting the server go down. That needs to be the mindset, not what if this happens? It's like, well, if you're worried about that, then make sure that that doesn't happen. That needs to be the mindset sort of thing.
33:55
Jean-Paul Moniz: Now, the one thing I would sit there and say is I was going to put it on, I'm still sort of on the fence because of as things scale up, there is an issue within... It's not an issue within Ignition, but just generally as that idea scales up. So now you have this MES and OEE system that's proliferated throughout your organization, and you're also using it as an HMI server. There's a point, I think, where you scale out, that you start backing that idea out because it just gets too big to manage, if that makes sense. Now if you scale it out by running the HMI server on its own dedicated gateway and keep the other stuff separate, or do you go back to something like Edge, I'm still sort of 50-50 on.
34:41
Audience Member 5: I appreciate your talk, and it's helpful, but it brings up a lot of questions from my perspective, but I'm going to try to focus on one, specifically the knowledge transfer that you were talking about that needs to occur between the people with the very specific plant information. And I see two things that are augmented reality and then the implementation of context-specific NLP embedded agents in like your UIs, that kind of thing. Could you maybe talk a little bit about what you're looking at doing with respect to that?
35:15
Jean-Paul Moniz: Yeah, absolutely. So to me, I look at it from a couple of viewpoints, is if you sit there and take the idea of structured versus unstructured data, I think, I would hope that we can all agree that we live in a very unstructured data world when it comes to policies, procedures, manuals, instructions, and stuff like that. We still love the word processor and generate lots of unstructured data. And my thought is let's get rid of the word processor. If I have a manual, let me create those instructions in a structured format, whether it's in a relational system, whether it's in some type of a labeled property graph, whatever it is, but have it in a structured system such that then we can do things like embeddings and all that kind of stuff and use the power of large language models and stuff like that to be able to sit there. Everybody talks about ChatGPT and its hallucinations. Well, how do you stop the hallucinations? Well, ground it in fact. Well, how do you ground it in fact? Have systems of structured information, right? And so that's where my head's on, is taking that information, getting it in a structured manner such that when I ask a question, I know I'm going to get the result I want. Does that make sense?
36:43
Jacob Wever: Were there any more questions? I had a question actually. When it comes to Ignition, my experience from software is more of a troubleshooting background. It's always come with issues. What is an issue you've experienced with Ignition, and it's memorable to you, and how did you go about resolving it?
37:08
Jean-Paul Moniz: There's been lots of them over the years. I'm not saying there's no issues. There's been lots of them over the years, but to me, I think starting from the start, having the logs in the system to be able to sit there and say, "Hey, this is broken," and then starting to go through the process of intuitively, "Okay, what's broken and what do I need to look at?" Having that ability in the platform is I guess paramount, but it's invaluable. And I would sit there and say, from my background, not being truly software development or software engineering, sort of understanding Ignition as a product and JVM and Java language and whatnot, learning how the product was built and what some of these exceptions actually mean and stuff like that, that was a little bit of a learning process.
38:09
Jacob Wever: Thank you.
38:11
Audience Member 6: Do you have any plans for DevOps?
38:16
Jean-Paul Moniz: Ask the DevOps guy. And James [Burnand from 4IR] asked that question for a good reason and we do have... We're working on that plan right now for DevOps. That is a good point that I probably should have put in the presentation. But as our system scaled, especially in manufacturing, I keep saying in manufacturing because if you use the IT lens, there's structures and systems around supporting information systems. They know that very well. But on the OT side of the fence, right, there's no structure, there's no systems for supporting that system. So what we're working on right now is implementing IT-grade DevOps system for our OT assets. And so we have three physical blades in each plant right now running VMware, running a whole bunch of virtualized servers and supporting all this and that's our infrastructure. And what I want to do is be able to sit there and simplify that infrastructure to the point where I don't need in-plant resources to sit there and support it. Maybe I go to a managed system or whatever, but the whole fundamental idea is my technical people in the plant are focused on value creation, not supporting infrastructure systems.
39:40
Jean-Paul Moniz: That's not where their value is needed sort of thing and so we're working on that right now with 4IR, doing a sort of hybrid cloud design. So our dev are implementing a full development QA test system that will be up in the cloud. We can spin it up and spin it down as needed when we do development. But then when we migrate it over to production, what can run in the cloud can run in the cloud, but anything that needs to be in the plant because of latency and all that kind of stuff will be in the plant running on cloud-supported infrastructure such that we can do development, push it over to QA, test it, and then push it down to production as quick as possible. So in OT, running a patch is a big deal.
40:33
Jean-Paul Moniz: Applying a patch is a big deal, getting the right outage, but if you have a good dev QA development system, then you can shorten up that patch cycle with a lot more confidence to sit there and say, let's take a 10-minute window and see how it goes because I would sit there and say, I have lots of experience maybe to your question on what happens when patches don't apply properly. And just to your point, if you have more questions and you want to sit there and talk, feel free to grab me. I'm more than willing to sit there and talk to you one-on-one. I'm all about sharing information within the community. I just want to sit there and actually point out Chris [McLaughlin] from Vertech on the Keynote, he won a Firebrand for that, right? So that was super cool to hear, all of that volunteer work for that homeless application. That was awesome to hear.
41:31
Jacob Wever: Alright. Thank you so much, Jean-Paul, for coming and thank you, the audience.
41:33
Jean-Paul Moniz: Thank you.
Speakers
Jean-Paul Moniz
Technical Services Coordinator
Cameco Fuel Manufacturing
The folks at Flexware are no strangers to a challenge. When the opportunity to convert a large system over to Ignition arose, they took it head on. Join them in this session where they'll talk about the project and share their lessons learned, talk about custom tools, and describe their thought process.
Transcript:
00:02
Chaz Cooper: Hello, I'm Chaz Cooper from Inductive Automation Support, and I'm a Software Support Engineer. Welcome to today's session, "Rising to the Challenge, Adventures in System Conversions." I'll be your moderator for today. To start things off, I'd like to welcome TJ and Jen. TJ is a Team Lead at Flexware Innovation. He leads a team of seven engineers who focus on Ignition's Perspective SCADA application. He developed a Flexware SparkSCADA, agnostic framework of process objects, face plates, UDTs, navigations, and ad hoc trends that won Flexware a Firebrand Award in 2022. With over nine years of industrial automation experience within steel, water, wastewater, and more, he's always looking for a new challenge. In fact, TJ made a playable instance of Doom within Ignition's Perspective. And then next we have Jen. Jen is a Senior System Engineer at Flexware Innovation, where she has focused water and wastewater SCADA conversions to Ignition. She has 10-year history in SCADA systems and automation controls with a vast background in water and wastewater, steel, chemical, automotive, animal health, and food and beverage industries. She enjoys working with Ignition so much she developed her own Perspective mobile app in [Ignition] Maker to help take care of her indoor plant collections. Please welcome TJ and Jen.
01:28
TJ Holt: Thank you. And welcome. So this is "Rising to the Challenge." My name is TJ Holt. I lead the development of SparkSCADA. Fun fact, my first name is TJ, and as Chaz said, I have background about 10 years of controls automation. Yeah.
01:49
Jen Conner: And I'm Jen Conner. And I've been with Flexware for about four and a half years. I actually more recently moved to our Ignition team. I've been with our Ignition team for just over a year. But same as TJ. I have around 10 years of experience in all different kinds of industries. And a fun fact about me, my house is essentially a zoo. I have four cats, a dog, four snails, and a slug. And that house plant collection that Chaz mentioned with my Maker Edition app, I just hit over 100 house plants. So thank you so much for being here and spending your afternoon with us. I know we're right before the Build-a-Thon. That's the main event. So thank you so much in joining here with us today.
02:27
TJ Holt: Thanks, Jen. So before I go over the agenda, I wanna set the precedence here of what this is. So this isn't a very technical speech. This isn't a... We made this magic tool to convert all your systems into Perspective. This is a project workflow best practices, lessons learned through our experience as well as some utilities and some tools that actually built for our platform. And then I'll release to Exchange we'll kinda get to those a little bit later. But anything that you see or that we talk about and you're like, I wonder how they're doing that, or I wanna get more information. Come find us, we'll talk, we'll talk technical. But this presentation is not deep dive in technical. This is just basic workflow and case studies. So, getting to the agenda, we're gonna go over the projects.
03:14
TJ Holt: Jen's gonna talk about our eight-step process flow and lifecycle. In between, there will be some references to the tools and utilities that I've created. And then we'll have a summary, and then we'll open up the floor to Q&A. Jen.
03:29
Jen Conner: Two.
03:31
TJ Holt: That's me. Yeah... So who we are, right before we get into that. So Flexware, we've been in the Top 10 Integrators the past three years, 2022 Firebrand Award winner for our SCADA platform. We have 35 active projects, over 30 customers. Our team of engineers, there's 35 of us, all Gold Certified. The industries that we're in, we have life sciences, food and bev, water/wastewater is a giant customer of ours. And we have our typical architecture. So the SCADA platforms, you'll have your central hub, and then you have your devices. So like our SCADA platform and way that we do things, we try to make sure that it's tablet, mobile, desktop, all friendly. Utilizing MQTT and partners with Stratus. So there's just a little background of like who we are as a company and give us some I don't know, credibility if you will. Now I'll give it to Jen.
04:32
Jen Conner: Yes, thank you so much. Alright, so I'm gonna take us through what a general process flow for us looks like when we approach a SCADA conversion. We've kind of summarized it into eight steps. And what I'm gonna do here in the next couple about 20 minutes, is I'm gonna take you through what this process looks like for us. Before I do that, along with going through the process, one of the things I wanna share with you is some life lessons that we've learned along the way. We haven't done everything perfectly. It's really easy for me to stand up here and make us look good, but the reality is, and I'm sure, as you all know, humans make mistakes. So I'm gonna be sharing with you some anecdotes and some things that we've learned along the way that you can take those lessons and apply them to your own conversions.
05:12
Jen Conner: Flexware Innovation is a system integrator. So I'm gonna be talking from the integrator standpoint. I realize that some of you may be end users, and I'm hoping that by going through this process with you, you may learn a few things to go through your own SCADA conversion or at least some topics that you can approach an integrator with. So you can talk through maybe what their process looks like. So I'm thinking everybody can get something out of this here today. So let's go ahead and dig in. So when we approach a SCADA conversion, the very first thing we wanna do is define the problem. Now, you might be thinking to yourself, well, it's a SCADA conversion. Isn't that the problem? But the reality is, is that there's always a deeper problem that is underlying into why somebody is wanting to convert their SCADA platform.
05:53
Jen Conner: Is it old technology? Is it a poor user interface or a user experience? There's always something a little bit deeper and it's important to understand exactly what that is so that you can make sure that when you're developing your new solution, you are fixing that problem. So if it is a bad user experience, we wanna make it a better user experience. A lot of times too is, it could be just an obsolete application. There's still a lot of 32-bit SCADA applications floating around on Windows XP, and as we all know, it's gotta go. So sometimes, it's just a little bit more than just doing a plain SCADA conversion, taking this rectangle on this screen and making the same rectangle on the new screen. And it's just important to kind of understand that. Once we define what that problem is, the next step is to understand what the existing system is and what it does.
06:44
Jen Conner: It's important to understand this functionality because, of course, we wanna make sure that our new solution performs the same function. Documenting what exists doesn't necessarily mean you're gonna walk out of this step with a formalized document that you'll probably never look at again. Really the intent is to go through the existing system and understand exactly what it does. I'm talking about what tags are being used, what happens when I click this button, what scripts are going on, what hidden objects you have. As you're going through this process, and if you've ever seen a SCADA system that's been around for a hot minute, you know that at least 15 different people have approached that SCADA system with 15 different ideas of how to program something. And there's some weird stuff in there. We've learned the hard way. Don't ignore the weird stuff.
07:32
Jen Conner: I myself, for example at a project that I did last year, found a hidden button on a screen and it had about 50 lines of code in it. I'm like, oh, it's weird. It doesn't really look like it does anything, whatever. It turns out during commissioning, out of those 50 lines of code, there was 49 that did nothing, but one of them did. And it turned out it reset something in the PLC for the operator. They were looking for the button. My ego was a little hurt, but just remember, don't ignore the weird stuff. That kind of stuff tends to come back and bite you. So, like I said, this phase is not about coming out with a formalized document. It's really about understanding what the existing SCADA system does. Once we have a good handle on that, we can go ahead and design our dream SCADA.
08:15
Jen Conner: We wanna make sure that we approach design with best practices in mind. And what those best practices are can mean a lot of different things to a lot of different people. Some of the top hitters though, are how are we gonna navigate through our solution. Navigation's key. SCADA is generally a hierarchical design. How are we gonna get from the very top of our application to the very bottom in an efficient manner. And one of the tools that TJ's gonna be talking about a little bit later is the method that we use for navigation that we think works really well for us. So I'm very excited to share that with you guys. Also, remember that just because it existed in the original system doesn't mean you need it. We have converted system where there's a tank level and there's a cute little goldfish symbol in the tank.
09:00
Jen Conner: I know this might be shocking, but that goldfish does not add any value, even though it is adorable. So clean up the garbage, just because it exists doesn't mean you need it. Use your best judgment and you as a subject matter expert can define what that looks like what you need, what you don't need. Make sure that you're using consistent feel and language. How I start a motor over here is exactly how I should be starting a motor over here. I don't care what the context is. Make sure that an operator can look and understand from anywhere in your application how to start things, stop things, etc. If you are finding yourself needing more than one of a symbol, standardize it. Templatize it. I tend to draw the line at three. If I have more than three motors, then that tells me I need a template for motors.
09:44
Jen Conner: It's much easier to update one template instead of trying to find 50 of the same thing through an application. So just try to do yourself a favor, templatize and standardize whenever you can. If you're not familiar with what a best practice standard might look like, we would highly recommend you taking a look at ISA 101. So if you're not familiar with the ISA 101 standard, it is an International Society of Automation. That's what ISA stands for. And this is the high-performance SCADA standard that talks about best colors to use, best alarming methods, what your pop-ups should look like, what your navigational structure should look like, all that good stuff. So if you're not sure how to approach your conversion, I would highly recommend taking a look at that standard because it has lots of good stuff in it, although it is a long read.
10:36
Jen Conner: And also make mockups. I don't think it's a secret that a lot of SCADA screens can be pretty complicated. There's a lot of stuff going on, especially depending on the process. So if you have something that you need to take and just kind of slam out on a picture, I don't care if it's a bar napkin, Visio, Microsoft Paint, it doesn't matter. Make a mockup. It's much easier to talk through with a colleague or if you're an integrator, it's easier to talk through something with a client if you have a picture that you can reference. And also at this step, it's really important to understand what matters to operations. At the end of the day, I'm gonna guess that you aren't gonna be sitting there from 8:00 to 5:00 trying to operate the system. So what's important to operations?
11:18
Jen Conner: Last year, I commissioned a system and I thought it was the best system I've ever done. And I get to commissioning and the operator comes up to me. This was like the last couple days of commissioning, and the operator comes up to me and says, "Hey, I gotta fill out this report once an hour and I need like 20 data points," let's say. And none of these data points were together. They were all over the place because I didn't realize that they needed all these data points together. So I made it right, fixed the screen, whatever. But had I known that ahead of time, I would've approached design much differently and made sure that all that information was in one place for the operators. So make sure you talk to operations. Don't develop and design with your blinders on. Understand what's important to that end user.
12:04
Jen Conner: Once we've designed our dream SCADA, now we gotta pitch it. If you're an integrator, this is about pitching it to the client. If you're the end user, maybe you need to justify why you need CapEx money and you need to pitch it internally to management. So this is where you take that design that you just did and spent all that time on and sell it essentially. Use those mockups that we just talked about to help lead conversations. Again, picture says a thousand words. It's much easier to talk about things conceptually when you can reference a picture. Also make sure at this point you identify any misalignment. So if you feel like you're trying to talk through your design with somebody and they're not getting it, maybe you feel like you're talking right past each other, you probably are.
12:47
Jen Conner: So make sure you have a fully transparent conversation. You wanna make sure that everybody's on the same page before you start developing. Also, remember, and this is mostly for integrators here, the customer is not always right. This isn't Macy's, right? It is important that you as the subject matter expert, use your best judgment. Sometimes if a client approaches you and said, "I want a turquoise background with high hot pink text," I think we all know that's not a great idea. So make sure that you are having a transparent conversation using your own knowledge. You are the subject matter expert, and come out of this conversation with confidence in your design.
13:27
Jen Conner: Once we have pitched it and everyone's on board and super excited, we wanna go ahead and start developing. And I'll be honest, the development stage is actually only my second favorite step. We're gonna get to my favorite step. But the developing is really where the rubber meets the road. We've spent all this time doing the design. Now we wanna do development. We found as a best practice, develop against PLCs. If you have one in the office set up as a test bench, use that, download to it, develop against it. We wanna make sure that we are not developing in a bubble and we think we got all of our tag paths right, and it turns out we didn't get a single one right. Naming conventions are key. I don't care if it's a script, a tag name, a view name. This is not 1992 anymore.
14:12
Jen Conner: We are not limited to eight characters. Use fully described names. I wanna make sure that if TJ and I are on the same project and we're codeveloping that the script I just made, he's gonna know what that script does just by looking at the name of it. So use fully described names. It's also really important as an integrator if you're gonna hand this over to the client, that they're gonna be able to take that system and run with it. We don't want secrets. We wanna make sure that everything is clear as day so that they can take it, they can maintain with it, they can develop it. Remember too accessibility matters. So that ISA 101 standard that I mentioned, one piece of that standard talks about accessibility. You don't wanna create a system that is completely based on red and green and then hand it over to an operator that's red-and-green colorblind.
15:02
Jen Conner: So you're gonna have operators that might have colorblind issues, hearing issues, sight issues, things like that. You wanna make sure that anybody and everybody who is gonna be using your SCADA system can successfully use it. So always keep in mind accessibility matters. And one thing that we have had to learn the hard way is keep your eye on changes on site. So the SCADA system that you are converting is currently in production. So make sure that if new projects are happening, maybe breakdowns are happening, things are changing on site, that you keep an open conversation with the clients. Or if you're the end user, you keep an eye on projects so that the solution that you're developing has all of those changes already integrated to them when you get to commissioning. You don't wanna walk on site and realize that you are missing five screens 'cause that is not a good feeling. Been there.
15:52
Jen Conner: And also one thing that we found that really helps us is to have remote access whenever it's possible. So I understand that not all infrastructures or IT groups may allow that, but if you can VPN into the client's site or if you're on site 'cause you're the end user, it helps to push updates as you're going through development. It helps, one, so that when you're going on site for commissioning, you're not just doing a huge dump with a whole project. But it can also be very helpful from a troubleshooting standpoint. If I'm pushing screens on site ahead of time, I can go ahead and set up my device connections and make sure that all my connections work. You don't wanna be finding out when you go out there for commissioning "Oh, whoa, we don't have any IP addresses. I don't know what I'm looking at."
16:38
Jen Conner: Just get it done ahead of time, and it helps to have that remote access whenever you can. Once you are done developing, it's time to test. So I mentioned earlier that it's like a good best practice to develop against simulated PLCs. So you might be thinking to yourself, well, yeah testing of course. I actually just did a commissioning a month ago where we were converting a Ignition Perspective project that another integrator did to our framework. And we found that you had to start the motors by clicking the stop buttons and you had to open the valves by clicking the close buttons. So as much as it might be obvious to test your system, whoever made that system apparently did not to come to work that day. Don't let your ego get in the way.
17:27
Jen Conner: We all might be the best developers that we've ever met, but I promise you, you're not perfect. So just make sure you're fully testing your system. Test, test, retest. I cannot stress it enough. If you did not develop against a running PLC, now would be a really good time to test against PLC code. We just wanna work out any bugs and be really confident in our solution before we even get it on site for commissioning. So this is my favorite step. I love commissionings. I love them because the goal is for them to be as boring as possible. Everyone can remember a time when they had a really bad commissioning because those are the only ones you remember. A good commissioning, you're never gonna think about it again. So I love this. I love organized checklists. Like this is my favorite step of the process.
18:15
Jen Conner: It's a really good idea to get a checklist ahead of time. We have a cool tool that we created that TJ's gonna talk about that allows us to export any OPC tag, an entire SCADA system that we've created, that we use as a checklist. What passed the test? What didn't pass the test? If it didn't pass, what was wrong with it? If it did pass, what was the date of passing? And are there any notes? It's always good to approach on site with a very organized idea of exactly how you're gonna get things tested. Along with that, it's important to create a form of schedule. Again, this might be a duh moment but if you're an integrator, make sure you talk with your client about what you can and can't test. We've gone on site and thought we were gonna be able to test everything in December, and it turned out part of the process had been winterized. So make sure that you're having a good conversation with your client ahead of time to put a formal schedule together. And also don't forget training.
19:11
Jen Conner: You can make the best SCADA system on the planet, it doesn't mean I can walk up to it and use it. And same thing for operators, make sure that your SCADA system, when you hand it over, everybody knows how to use it and you're gonna have to do some really good training to do that. We've actually had issues where maybe we didn't involve operators in the right steps, we didn't do as good a training as we could have and operators were a little bit weary about using our system. We got past it. But it's much easier for operators to be properly trained, have ownership of the system, so that when you get on site and you're ready to be done, you are done. You walk away, everybody's happy. And then of course, our very last step is post-launch support. If there were any requests when you were on site that maybe you didn't get to if there was any kind of documentation that's required for you as a deliverable. Now is when you're gonna take care of all of those items, and that is gonna help you finish up that project on a good note. And that's it. That is our eight-step process. So I mentioned a couple of tools earlier that we were gonna talk about. I'm gonna hand it over to TJ, who's going to take it from here and talk about those tools.
20:21
TJ Holt: Thanks Jen. Recently I had a large project. It was done in ICONICS' 32-bit. There are over 1,200 screens, so that all needed to be converted into Perspective. Now it's commissioned and there are... I want to say it's like 800 screens still, 112,000 tags, and 114 devices connected to it. So it's a very large project and a lot of the sites were duplicates. So we templatized views and we were able to utilize history migration, and we were able to utilize the commissioning documents so that we can make sure that we're checking off every single one of them. Because the scale of this project was just so large. The first thing that we'll talk about... Is our location model. So this is our navigational structure. So this is a semantic hierarchy where you have like your enterprise, your state, your site, and then your process, and eventually down to your components. All of this is done in the backend on SQL. We also bring this back into tags so that if you lose your connection to SQL, you don't just lose all of your navigation structure. We do this in a way so that we can identify what location we're at and then dynamically update tags and bindings because we know where we live in the semantic hierarchy.
21:46
TJ Holt: So if I'm in this distribution system, I can follow that hierarchy through my tag paths and I can follow it through my view paths and I can dynamically create multiple views. Typically we create one view for some P&ID. Let's say that similar PID lives everywhere else. I make it once I just copy-paste it throughout my view structure and then when I launch it into the client or push it to the client, all of my tags, all of my view bindings, everything just starts working. So this view structures is really helpful for rapid deployment, for rapid development, as well as a clear understanding of where things live and how to navigate to them. It allows you to jump from all the way from the enterprise down to your process layer and just move around the whole location model just because of the hierarchy that there is. Next one, Jen's favorite, is documentation. So this is a commissioning export. What this does is it takes a tag tree and then it recursively goes through the entire tag list, and it pulls out the OPC item path.
22:49
TJ Holt: If you have a huge system, like we did with 114 devices and 112,000 tags, it's hard to say that you've touched every single thing. Oh, we turned that motor on. We hit the start button and it turned on. But you forgot that there's a motor overload alarm or you also have some in-service, out-of-service button or what have you. Well, this is going to eliminate some of that lost time or missing these pieces of data where export this all to Excel. You get your columns to know when this was checked off. You can go through systematically for each and every point inside of your Ignition project and validate it and check it off with the customer and make sure that someone's looking at the PLC code so everything is working together. The last is the tag historian migration. So if anyone's following the Exchange resources, Travis Cox developed a Vision app for tag historian migration, which is why this looks really familiar. This is done in Perspective. So I built this in Perspective 'cause not all of my clients have a Vision license.
23:58
TJ Holt: And yes, you can run it in trial mode, but I just really like Perspective more. So what this does is it takes an Excel backup. You have some Excel document that says, this is my tag, this is the timestamp, this is the value. You can shove it into here and then it'll create the partitions. It will backfill all the data for the tag, for the new tag and Ignition. And you can do multiple tags. I think I was able to do 1.2 million rows of data and it took like 30 seconds. So you can do years of data to backfill. So then when you're done migrating your system, you can kind of just go turn off that legacy thing and then your customer still has all of the historical data and they didn't lose anything. So, in summary, the workflow process, we have the document, the existing do more than recreate. We don't just want to take that rectangle and make a rectangle in Perspective. We want to innovate, wanna bring more to the client and to the customer. Ask questions. Don't develop in a bubble. You wanna bring more to the table and how... Get operations involved and get their insight so you can make their lives easier. When I do a system, I want to hand it off to them and I don't want them calling me. This is your system now. I want you to own it and have it.
25:23
TJ Holt: I'm here for support, but let's make sure that when we do these conversions that we're meeting all the expectations that may have been dropped from previous integrators or instantiations of your SCADA platform. And then consistency. I think this is like the biggest part. Everyone tries to be consistent with their naming convention. You're like, "Oh, I got motor one, motor two," or even your scripts, try to be consistent with the naming and what those things are. In your scripting you wanna do, if I'm gonna pull data, you're gonna get something. If I'm gonna push data, I'm gonna move or push. So that when you go into a system, there can be 20 engineers working on a project, but to the customer, it looked like one. If you can get that kinda consistency, it's gonna make a very streamlined process, allow the customer to be able to follow all of the different views, the scripts, everything that's inside of your project, and it's just gonna make everyone's life a lot easier. And then last is testing and testing and testing and testing and testing and testing and testing. So you're gonna want to just put it through its paces.
26:26
TJ Holt: You don't want to go to site and be like, "Oh yeah, that one thing, we forgot to do that one thing." And now your whole schedule is pushed back. There's no reason why you can't create testing in Perspective to go against your main SCADA platform or whatever project you're doing. Or if you have PLC code, you can write PLC testing to simulate logic and processes. This is a huge takeaway for anyone when they come to site, like, "Yeah, we made this pretty screen, I got cute buttons and I got motors. None of it works because we didn't test it against anything." So, in summary, those are the data flow or the process flow that we take some little antidotes that we had. And I appreciate everyone's time. We open the floor now to questions.
27:14
Jen Conner: Thank you.
27:20
Chaz Cooper: Thank you, TJ. Thank you, Jen. Can you guys make sure you guys ask the questions into the mic and then just raise your hand if you need any, if you have a question. It's kind of hard to see, though.
27:31
Audience Member 1: I have a question. So you talked about documenting existing applications. Do you have a tool that you like? Because I found I've got logic in this script. It talks to something over here and becomes such a mess that instead of documentation, I just have another mess I have to dig through.
27:49
Jen Conner: Yeah, that can be tough. And it also kinda adds another element of complication depending on what platform you're coming from, whether that's a FactoryTalk View, an iFIX, etc. We kinda kick it a little old-school. We do like an Excel spreadsheet. We do have kind of a general layout to our spreadsheets where we break down element by element exactly what's happening. And if there's a script, we summarize exactly what's happening in that script or mark something to follow up for later, and then everybody on the team who's on that project utilizes those. It also helps too with tag paths so that you can kind of formulate the proper tag path later in Excel, so you can just copy and paste it into Ignition. It's kind of a standard, that's kind of a loose term I'm using, that we've developed over time that has worked for us. I would not say that we have the best method, but really, once you get into digging into the screens and start getting things together, you might find a standard that works for you. I think that's fair to say. That our standard, like I said, we kick it old school in Excel.
28:56
TJ Holt: If you can get a place where you can organize all your data, I think it's gonna to be the best way to do it. So whatever that is, OneNote, Excel. I can't see any...
29:03
Jen Conner: Yeah, I can't either.
29:04
Audience Member 2: Hi.
29:05
TJ Holt: Hi.
29:08
Audience Member 2: My name is Lamar. So you're working with a customer... Sorry. You have a lot of stakeholders, maintenance, say, operations, even IT but one of these big stakeholders don't buy in the project. It's frustrating. How do you deal with such situations?
29:29.8 TJ Holt: We fire that guy.
29:34
TJ Holt: It's difficult, right? So typically as a systems integrator, they're gonna come to us because they want to do something. So they've either already got an internal buy-in, but there are some times where you get a little pushback from this one group who uses the SCADA platform for their thing. And I don't know, we just do it gently, I guess. And it really helps if you kinda build a relationship and you don't just force it down their throat like, "You're gonna use this thing." You go, "Hey, I know you like your old platform. What part of it do you use? Well, what part of it don't you like that you do use? Why are you so apprehensive of going to Perspective? Is it because it's scary, Python in Java? Well, let's fix that. Let's do a training session. Let me get you comfortable with how Ignition works." It's not VBA, it's not iFIX or very simplistic. If it's that, then train them. If it's because they've done a lot of work or put a lot of effort into this thing, well, you got to validate that and go, "Yeah, I appreciate that, but it's gonna be easier to maintain if we only have one system and be consistent throughout your entire company as opposed to having two separate things." Typically people come around, especially once you start doing little favors, like, "Hey, it'd be really nice if I can have this table of data on this one page, instead of having to go around and find all of it."
30:53
TJ Holt: You go, "Yeah, I can do that for you." And you kind of get a little more buy-in from the customer and then kinda eases that tension of coming in and overtaking their old system, like, "No, you're gonna get Ignition now, 'cause it's cool."
31:05
Jen Conner: And I'll add to that as well. We found that by doing regular cadence meetings during the development cycle, it may help where your point of contact brings in other colleagues into those meetings. Whether it's operators or production, management, whoever. Bring those people into those meetings and get their feedback, everybody likes their ideas to be realized. Like, everybody wants their feedback listened to. So by going and listening to their feedback and implementing that feedback, people are way less hesitant about things because they kinda already bought into the solution. So that might be a good strategy for you as well, is just be open to having people review during the development cycle, take their feedback, implement the feedback if it's good, and by going through things that way, we found that that kinda helps.
32:00
Audience Member 3: Do you guys do upgrade PLC code at the same time that you're doing a SCADA rewrite typically? 'Cause in my experience, often the stuff you inherit in the PLC often forces you into a corner with the SCADA.
32:14
TJ Holt: Yeah, it does. You are right. It really all depends on capital. So if they realize that they have this degradated SCADA platform and the code works. PLC code works and it's fine. So they're like, "We don't really wanna upgrade that yet, but we really want the better visuals. We want be able to have it on our phone or be able to get a text message or what have you." It does kind of paint you into a corner. Now you gotta deal with this stuff, this garbage that someone else did or whatever. It's hard to navigate the way that we do things with templatized views and UDTs is we make it all agnostic. So what that means is you're not tied to an Allen-Bradley processor, you're not tied to whatever it is, and you're not also tied to an AOI, Add-On Instruction, inside the PLC layer. I can pinpoint what tags I want to use within my UDT and I can disable the ones that I don't. So that one motor over there, some guy programmed, and it has these 10 things and this other integrator came in now that one has 20 of them. Well, I still have one motor UDT, and I just fill in the pieces that I do have, and I disable the tags that I don't, and then the UI will interact with that. So now I no longer have that in-service, out-of-service button.
33:33
TJ Holt: I no longer have that one alarm, doesn't exist in the PLC, but now I'm standardizing, I'm templatizing, and it's one source of truth so that you have some consistency throughout your entire project. It's a little more involved and time-consuming. Individual tags as opposed to being parameterized to an AOI or what have you, but at least you can have some consistent on what you can touch and then just leave that off to the side. No one wants to talk about it until they come back for more money, right?
34:03
Audience Member 4: Can you talk a little bit more about how you actually simulate PLC? Do you create custom code that sort of does that for you, or is there some other way that you do that?
34:14
Jen Conner: Yeah. Yeah, so I love simulation. So we either utilize Ignition or we also have utilized Wonderware to essentially act as I/O that interacts with our PLC code that's maybe running in the corner of the office, so that once you hit the start button on the motor, that simulation tells the PLC, "Hey, I'm running." So we can see that then affect the Ignition screen. You can also utilize, like, in the gateway, the Ignition gateway, the simulation. I know on the Exchange, like, if you're dealing with Allen-Bradley, there's, like, the L5K parser that we've utilized to kinda create the simulation in the gateway if it's Allen-Bradley PLC. So that's kinda the way that we've always done it. But really it's just about whether it's Wonderware, Ignition, what have you, whatever you're most comfortable with, kind of essentially turning I/O on and off and making that process run. And we've done simple testing. We've done whole-process testing as well for an entire production line. So depending on the project, we'll determine what level of testing you want. But that's generally how we do it. We wanna make sure that we toggle all the I/O, we start/stop exactly how we expect by talking to the PLC directly.
35:34
Audience Member 5: Hey. So I actually have two questions. The first one, so you've mentioned that sometimes you'll go from one Ignition integrator, and then you'll kinda take over. So if you're dealing with an Ignition project that is using, like, let's say the gateway has a third-party module installed in it, and somewhere inside their system, they're using API calls to this module, I guess. Have you ever ran into a situation where you're trying to diagnose what the current system does in order to get all the functionality, and then there's just calls to this random module. You don't know exactly what it does if you've ran into that, how do you account for trying to port that functionality to your system?
36:21
TJ Holt: It's tricky. So it really depends on if it's, one, well documented, and we can just take it over. There's at some point in time where you get too frustrated, and I will just stop everything, and I will sit down with the customer and go, "What do you want it to do?"
36:36
Jen Conner: Yeah.
36:38
TJ Holt: Ignition is very powerful. So what do you think this thing does? What do you want it to do? And then maybe we can find a better solution for what that is instead of wasting time trying to understand this thing that someone made that no one knows. That's just, "Oh, don't touch that." Don't touch it. Because things go bad. That's all we know. We're like, "Okay, but what breaks if I do?" And so then you can go that route. I think that's really the best method, 'cause the operators, the end customer, they're gonna be the ones who are gonna know what they want. So I would take that approach.
37:16
Audience Member 5: Thank you. My second question is, TJ, is there anywhere that I can find this Doom in Perspective?
37:26
TJ Holt: Not yet.
37:27
Audience Member 5: Okay, well, if that ever becomes public, I'll be interested.
37:39
Audience Member 6: What do you find is the best way to train the people in the factory? Do you prefer paper documents? In-person training? What have you found works the best?
37:51
Jen Conner: Yeah. So operator training is something I'm super passionate about. I love doing training. I love to talk. I'm a Chatty Cathy, and I've kinda developed a way that I do it, and I've shared it with my colleagues. Kind of just, start from the top. Assume nobody knows anything. You never know, depending on the site, if you're dealing with older people who may not know how to use computers very well, down to people who probably might be better at it than you are. So I like to approach it like they don't know anything. I go over the most basic functionality of our system all the way down to exactly where they can find pertinent information to the process. So I generally take that approach. Assume they know nothing. Try to pretend like you're trying to explain it to your kid, essentially. The other thing that we found works really well because one of the larger pushbacks we've had from operators is when you change colors. You blow minds when you change colors. People love their red and green. And when you change that to gray, like, if you reference that ISA 101 standard that I was talking about, they recommend grayscale. So going from essentially something that looks like a clown threw up on it to grayscale is very shocking for a lot of people. So we will embed like a legend into our SCADA system.
39:10
Jen Conner: So that, I'm gonna tell you, "White means it's running or the valve means it's open. But just in case you forget, here's where you can find the legend." And we have found that that helps a lot with operator acceptance as well. And maybe that legend will have what the different alarm priority colors mean or what the button looks like when it's clicked versus when it's not clicked. All kinds of just basics. And it helps when you go through that step two that I was talking about, the documentation step, where you get a good idea of what their SCADA looks like, will help you define what you want to put on that legend. But we have found a lot of positive feedback from the legend. It helps a lot with that operator just kind of getting their feet wet and using our SCADA system, that's been a really powerful tool for us.
39:55
TJ Holt: And I will say as much as we would hope that people would read documents that you put together, unless it's explicitly said, "No, we want a white paper of how this system functions," it's way easier just to put a PowerPoint together or sit down with the operations and walk through the steps. I think that's really the way we go towards it until someone says, "No, we want a binder that no one's gonna read and we're gonna put on a shelf."
40:22
Jen Conner: Yeah. Thank you guys so much. Thank you. Thank you.
Speakers
TJ Holt
Ignition Team Lead
Flexware Innovation
Jen Conner
Senior Systems Engineer
Flexware Innovation
Which new innovations will prove vital for future success and which flash-in-the-pan trends are destined to be forgotten by ICC 2024? During this panel discussion, some of the Ignition community's most successful integration professionals share how they are responding to emerging technologies and techniques that are driving the evolution of the automation landscape.
Transcript:
00:06
Chris Fischer: Nathan de Hoog is a Senior Automation Engineer at Cromarty with 10 years experience in industrial automation and application development within a wide range of industries, including water/wastewater facilities, food and beverage, gas utilities, manufacturing, and renewables. Over the last six years, Nathan has led Cromarty's renewables team to deliver many solutions powered by Ignition, including enterprise and local SCADA systems, containerized and cloud-hosted deployments with Git and version control, API development and integration, historians, database and data warehouse systems, MQTT, and edge connectivity to over 35%, 9 gigawatts, of the renewable assets in Australia. Welcome Nathan.
00:57
Chris Fischer: Sydney Bosworth is an MES Programmer at NorthWind Technical Services. Sydney has been with NorthWind Technical Services for seven years. She started on the service team, troubleshooting customer systems and programming small projects, then moved into the engineering department, programming and commissioning control systems. While in these positions, she developed her knowledge and experience with a variety of processes as well as a variety of software packages, including Ignition Vision and Perspective. From there, she went on to become the Primary Standards and Templates Programmer, where she was responsible for maintaining and developing new templates for NorthWind and OEM partners. She's now bringing her experience to their MES team to develop their MES offering using Ignition Perspective. Welcome, Sydney.
01:49
Chris Fischer: Alright, so let's get into some questions. Let's go, start going right down the line here with you, Jason. What is currently your biggest challenge, period?
02:02
Jason Hamlin: That you wouldn't let me have whiskey on stage. No. Recruiting people. Recruiting talent right now, that's our biggest challenge. We're water industry, and our pay scales don't always match or align with others, so it's been... We've lost some good people to other industries, and yeah, I think the biggest challenge right now for us is recruitment.
02:29
Elizabeth Hill Reed: I would say, in my opinion, our biggest challenge right now is maintaining high quality standards as our Ignition team quickly grows. I think we had 30 to 50 people on board this summer, and so trying to keep the high quality of finished product while also growing our Ignition expertise across the company.
03:00
Barbara White: My biggest challenge is finding time to get to all the work that my customers want done right now. We're overwhelmed with work, it seems, and you don't wanna hire too many people because you don't know how long this is going to continue. So it's kind of a balancing act at this point.
03:20
Sydney Bosworth: I would say, or is this kind of finding the balance of we would like... There's a lot of new ventures we would like to get into and stuff we'd like to develop. We have a fairly large, concentrated R&D team, but I think there's a lot of things we want to get into. And so the MES stuff, we're finding the best way to break into some newer things and deciding which technology to do, like cloud stuff, and putting the adequate resources towards developing that part, but then not getting distracted from the customer jobs and finding that balance between R&D and customer work, and that's a fun game.
03:54
Nathan de Hoog: We're similar as well, like Jason said, resourcing. There's a lot of work with limited resources that we have, so that is our biggest challenge. But like you said, the R&D and finding time to develop and utilize these new technologies and features that are Ignition-ready.
04:22
Sean McFarlane: I got the same sentiment, recruiting the right talent. Sure, a lot of people in this room, as long as everybody on the panel we gotta wear a lot of hats as integrators, recruiting the right skill set, the right attitude for this kind of work is definitely a challenge. We're also, we consider ourselves platform agnostic, with a big caveat that everywhere I go, I'm trying to get them to switch over to Ignition, and it's a battle sometimes trying to force out some of those really entrenched software platforms that everybody here knows, but we're getting there.
05:00
Chris Fischer: I'm hearing a little bit of a theme with talent and recruiting. Let's linger there for a second. What's your strategy to attract new talent to your company and the industry as a whole, anybody.
05:12
Nathan de Hoog: Yeah, we try and have a tie with some universities or colleges; I think they're referred to here. In Australia, we have several offices across multiple states, so bringing on students that are doing fine on your projects and giving them an opportunity to have a bit of real-world experience, that helps us and helps them as well.
05:42
Elizabeth Hill Reed: Yeah. Similar, DMC hires a lot out of colleges as well, and I think the biggest thing is finding people that like to learn. As system integrators, you're not only learning new platforms, but you're learning new processes. Be flexible with what industries you can support, and so people that can learn and learn quickly, I think, is really important with recruiting.
06:09
Barbara White: We've been hiring people. Generally, what we'll try to do this hire them as interns while they're still in school. So we can give them the tools to start. We throw Inductive University at 'em and say, "Hey, take a look at this for a little bit," and see how they do, and that gives you a chance to check number one, if they like working in control systems, and number two, if they're going to do well with that, and that's what we've done the last few years.
06:39
Jason Hamlin: Yeah. I was gonna say, I learned something from my former company too. We look at alternate resources, so we went and did a presentation at Job Corps, where they have kids learning IT track services, and now we're working out to intern some of them. And starting to look outside of the traditional methods of where we're finding people is bringing us a pretty wide variety, which is awesome.
07:03
Sydney Bosworth: Yeah, we've had to kind of pivot to more of a long game. That's what I can call in it. We've gotten more of a concerted effort to go into the local. So I guess NorthWind is in a, I should kinda start this with NorthWind is in a very... Headquarters is in a very rural area in Kansas, so it's a town of about 2,500 people. So you take a kid from Kansas City, a larger city, and say, "Yeah, move to this town of 2,500 people," and it's a hard sell, unless like I'm from a very small town. Those are the easiest ones to get fully integrated into our company atmosphere and enjoy working there, and really the long term, like I'm gonna work there for two years and go find a job in the city. So we have a partnership with a college that comes... They do a automation camp in the summer at NorthWind, and we bring in local high school kids because they don't know what automation is. Most of the time, we don't have a ton of tech programs in the school, so we have to show them what it is. We bring them in, and we kinda teach them what we do when they're in high school, kinda trying to put the feelers out there very early, so you're talking more long game, so we're kind of trying that a little bit more here recently. And then, of course, the college fairs like everyone and trying to get a good company atmosphere going.
08:16
Sean McFarlane: We put in a golf simulator. So, I make sure everybody, when they come in to interview, we walk through that work from first, like... But we've had to change how we recruit. We're also partnering with local colleges. We started up a partnership program with them where we take in some of their students for three months, bring 'em into the panel shop so they get experience doing that. And if they have interest in software and IT, we can kinda go from there. But as far as recruiting, it's a different skill set that we need to recruit for now. It's not just PLC HMI systems; it's web technologies. A lot of kids in college these days learn Python, which is great, so we can immediately advertise that and say, "Hey, you can work in Python and you can build these great systems to control things," and that seems to work.
09:15
Chris Fischer: And since the time that you all started in the integration business, have customers pain points changed, or are they pretty much the same? Let's start with you, Sean.
09:25
Sean McFarlane: I think their pain points haven't changed much. A lot of what we hear is like yearly maintenance costs for the systems that they have. And some of the systems we come across, their costs are just astronomical, and it blows us away, like, I can't believe you guys are still doing this and you're tolerating this. We have such a better way of doing things now, and that's a big selling point for us, the licensing structure that you guys offer, it really helps us present to our customers a new way of doing things that's way more cost-effective, but that's been the same story ever since we started working with Ignition. It hasn't changed.
10:09
Nathan de Hoog: They have changed. That's the nature of the beast, and what we see a lot of is the number of companies are having less skilled staff and engineering staff. So they don't necessarily understand the systems that they need, if they're scoping them or wanting to change things. They have limited knowledge. For us as well, cyber security is a massive pain point that's changed over the last couple of years, and it's continuing to change. So, cyber security is a big one for us and for the clients that we serve.
10:48
Sydney Bosworth: It's a little hard for me to speak on it, 'cause relative to many people in here, I've been around for... I'm an infant, so about seven years in it. From my perspective, it's a little different too, 'cause I started out doing more boots on the ground start-up working directly with the operators, and now a little bit removed that from that, so I'm seeing different pain points. But I think one of the things I've noticed too is there's... Six years ago, when I would be on-site a lot, there'd be kind of... They use trends and all that, but I think now there's a lot of places that have a lot of data, and now they're like, "Okay, what do we do with all the data that we've spent the last five years? Like knowing we need it, but now we need to figure out what we're gonna do with it." So that's kind of the biggest observation I've seen, but haven't been around a long time.
11:36
Barbara White: I've been around a long time. A lot of my smaller customers, at least their problem is they don't have the talent in-house to do what they need to do, and some of them are trying to get it, but it's like us; it's difficult for them to hire somebody who understands controls and IT and can do all of it. Now, the bigger customers have different pain points, but the smaller ones, I think that's their biggest challenge: trying to know what to do. And when they bring in an integrator like me, then I try to point them in the right direction to what are some of the things they need to do to upgrade their systems and get more secure systems. But I think not having that in-house makes it a difficult sell for their management teams because they don't have somebody they trust to, that I am just not trying to sell them something. So it's sometimes a difficult sell to get them to upgrade the systems they need to upgrade, but...
12:40
Elizabeth Hill Reed: Similar to echo Sydney's point of... My first project was food and beverage. I think they had very basic reporting, no historical trending, and nowadays I did another food and beverage project about a year ago, and they have all this great data, very detailed data, and I swear I'm on calls with them, and I'm talking about this report, and they have no idea that this report exists. And I was like, "You guys asked for it. The data is there. Please use it." So having a lot of difficulty getting people to know the data exists and use it in meaningful ways.
13:23
Jason Hamlin: Of course, I'm in water, so we lag behind, which is beneficial 'cause the pain points we hit somebody else has already solved five years ago. So we just adopt that, but one of the biggest ones we see is a change in the class of operator or the class of the end user. I'm not judging anybody's age here at all, but when I started, the iPhone didn't exist, so the end user is using SCADA at the time. Compared to the end users we're seeing now that when you're recruiting people into the water sector and they're coming in, they're coming in knowing how to use technology in a way that never existed in an industry that's still really lagging. So pain points of getting automation still exists. Now they're struggling with recruitment 'cause you're bringing in people who are looking at, "What is this archaic stuff? Why can't I run this from my iPhone?" I literally had a customer ask me, "Well, could you gamify our system to keep our younger people engaged?" I'm like, "You want me to gamify water treatment? What happens if they don't high-score? Do people get sick?" So yeah, that's some of ours.
14:31
Chris Fischer: Just a little trophy.
14:32
Jason Hamlin: We'll give them little trophies. We could do that. Gamifying water treatment is the scariest request I ever heard.
14:41
Chris Fischer: Alright, so what industry trends are most relevant to your business today? Anybody.
14:48
Sean McFarlane: I think integrating the business systems with the plant floor is becoming extremely popular. Basically, every new customer that I talk to, that's one of their top requests. They don't wanna have separation between the automation systems and their ERP or their MES up above. So the tools that you guys give us in the guys from Sepasoft, those are opening up doors that just weren't there a couple of years ago.
15:20
Elizabeth Hill Reed: Yeah, and I think that people are becoming more comfortable with the cloud, so I think that's finally getting a little bit more traction and adoption that we're seeing.
15:32
Barbara White: My customers seem to want, they want their data and they want it wherever they are, so if I'm in the middle of the night, I get a text that says I have an alarm, I just wanna look at my phone. I don't have to go get my computer out or anything of that sort, so that's what they are asking for.
15:46
Chris Fischer: On demand.
15:47
Barbara White: Yep. On demand, where I'm at.
15:49
Jason Hamlin: Analytics for us, AI, and analytics in the water sector starts to really enhance the power of treatment and what the operators can do and then... So that's probably the biggest one. And then for us, personally as an integrator, more automated tools for converting and doing projects faster, those type of accelerators. Because we can't recruit people, utilizing somebody who can automate conversion or those type of high-level functioning people that can speed up some of the process of integrating is probably the biggest thing we would love.
16:21
Sydney Bosworth: Yeah, that's with us too is the, kind of seeing the centralizing everything, being able to connect plants that are physically the same or in the same location, and kinda being able to look at everything in one place and where you want it, when you want it, and then kinda in-house automation too. We're getting a little bit more automated, like our panel shop has automated systems in it, so where we need less panel builders and doing more with less people. It's pretty big everywhere, it seems like.
16:51
Nathan de Hoog: It's similar in renewables as well. It's been a lot of data collection at a wind farm or a solar farm, but that's never been... Data haven't really been used very well, and everyone now wants to use that data and see that data wherever they are, and provide meaningful KPIs with that data.
17:16
Chris Fischer: So thinking about the new and emerging technologies that we see today, whether it's containers, digital twins, AI, blockchain, whatever it may be, in five years, which ones do you think will still be relevant and which ones will be old news?
17:39
Sean McFarlane: I'm curious in what context, Jason, you've been able to get results with AI in actual deployments, or is it something that customers are still just feeling out, they wanna know what is available.
17:49
Jason Hamlin: We had some successful pilot studies. I'm trying to think of what I'm gonna get myself in trouble saying.
17:56
Sean McFarlane: I didn't wanna put you on a spot or anything.
17:57
Jason Hamlin: No, no, no, it's not. We have some successful pilot studies because we have massive amounts of data to draw from, so we're so focused in water/wastewater, so for instance, managing and running a wastewater plant. Some of those tests take five days to run, or you're gonna run a BOD test, it's gonna take five days in the lab to get that. We now have a company we're working with that is using machine learning to predict those loads in real time by harvesting other sensor data and doing it fairly accurately. So we're starting to see some of that. Chemical usage would be like the biggest one for us. And then some, like flow predictions on East Coast CSO plants. So now I'm just speaking in garbled terms nobody knows, combined sewer overflow. But anyway, we're seeing some minor successes on that.
18:47
Sean McFarlane: We've had some customers reach out to us, and they ask about AI and machine learning for doing predictive maintenance. And most of the time, my response is something along the lines of, do your maintenance techs actually want this? Is it something they're gonna utilize if we put it in for you? And it'll be a lot of trouble to implement something like that. But it's really the application that matters. If you sense that a motor is going bad, if they don't replace it until it fails, then it doesn't matter anyways. But if it breaks, that's when they replace it, so I'm curious to see how that technology develops. One that we're actively using and very excited about is containerization. We work with a lot of different customers. We have many different projects going on at once, being able to spin up a new container for Ignition. Shout out Kevin. I don't know if he's here. But the work that Kevin Collins did is so helpful for us as integrators. I mean, we use it all the time.
19:51
Barbara White: It makes spinning up development servers so much faster. Yeah.
19:57
Nathan de Hoog: Containerization helps us in our production systems to manage our deployments. It's a lot nicer to upgrade and to monitor those solutions. I can see AI... It's a hot topic now, but it's hard to see where it can go. I would love to be able to see it being used in the Ignition. A user, for example, wanting a dashboard on a wind turbine or an inverter or a motor, and they can type in a prompt, and it could build a little dashboard or widget. So I can imagine that being really powerful. I don't know whether that will ever happen, but...
20:45
Jason Hamlin: Talk to me after the session, 'cause I can't sales pitch here. Of course, wind turbines aren't water, so I don't really care about that problem.
20:55
Elizabeth Hill Reed: I don't know if this is in the next five years; might be a little bit longer, but I'm curious to see how like AR plays out, especially with operator training, work instructions, things like that. I think that has the potential to be pretty powerful. I think we're a ways away from that, but I'm curious.
21:17
Chris Fischer: All right. Well, thinking about the theme of this year's ICC, elevate, what's one way that Ignition helps you elevate the customer experience?
21:28
Jason Hamlin: I mean, I've been promoted to Cloud Services Manager. How much higher you want me to get?
21:42
Barbara White: Well, my customers, they can do more with what they have. I mean, in the past, if they wanted to add tags or servers or whatever, they want more data, they had to get more licenses or whatever. And right now, with Ignition the way things are, they can elevate and get as much as they need and as much as they want and get it in their hand right now. And that's what they're asking for.
22:10
Elizabeth Hill Reed: I think it really to build upon that idea; it expands the user base of it. It's not just a subset of people. You have five front-end client licenses, you can really get more visibility into the data. You can have the plant managers, like more of the business-side people, accounting, quality. They can all look at the SCADA system. People can have it up on their computer when they're in the office and just monitor it and so yeah, expanding that, I think, is huge.
22:42
Sydney Bosworth: Yeah, I think on the main MES drive we've been working on, it's been great 'cause there's a few there kind of in-house database people that we've given the LinkedIn Inductive University, and they've gone and watched the videos, and I think they've been playing around kind of with the reporting, and it gets them to buy into it a little bit more when it's something they can look at it, log in. And they have enough background; they can kinda look at the designer and start to figure it out and see the possibilities of it themselves. And not just rely on us saying, "Oh, did you know you could do this? Oh, you could do this." And it's just like, take your word for it. You can see what you can do and play around with it. And it's gotten them to be a lot more on board with it and easy to pick up and all that.
23:22
Jason Hamlin: My serious answer is gonna be helping end users that see how much more Ignition is. It's not just SCADA, and that's especially in the water industry. Again, there's a Firebrand Award here for the Room in the Inn where that whole project is... That's not SCADA at all. That's not control. That is amazing. And that's built on Ignition. And like, we have a water user who look at that, like, "Wait, that's the same SCADA software I have. Well, could we use that to manage employee timekeeping, and could we build something to like, check people coming in and out the door?" And I'm like, "Yeah, actually, Inductive does that at their office. Like, let me call someone and see if they'll send me that project." And they were like, "No." I'm like, "Okay, that's cool," but...
24:00
Jason Hamlin: That's fair. But when they understood, yeah. That elevates their experience 'cause they, suddenly, there's a whole platform of new software you don't have to buy and manage. We can build that or contract to somebody that knows that side of it better than we do. Partnerships, that's the other thing... Yeah, I should mention that too. The other thing that really helps us elevate is partnerships with other integrators. And we've worked with other integrators because they have skill sets and expertise that we don't, and like this community is where that exists. I've never seen that anywhere else. I won't name any competing product names, but I would never be able to like, share with one of their integrators to do a job. They think I'm crazy, but on the Ignition side, yeah. All day long, which is really cool.
24:46
Sean McFarlane: Yeah, I think Ignition's embracing of open technologies helps 'cause they don't... Customers don't have to stay within the Ignition ecosystem, even if I really badly want them to. They can use other tools to access the same data, and the whole philosophy that other companies have of having like a walled garden just doesn't exist anymore when we give a customer access to Ignition's powers. And then I mentioned it earlier too, the maintenance costs, they get really prohibitive with other software packages, and our customers are very, very happy when they see the numbers for a competing Ignition system.
25:28
Chris Fischer: Yeah. Before we get into a little bit of Q&A, I want to hear what's a lesson or a success story from the last year or two that you'd like to share. Anybody?
25:42
Nathan de Hoog: For us is moving production systems to cloud-hosted and containerized solutions. For us it was a big step, and I'm sure Jason's done all of that but it's very nice.
26:00
Elizabeth Hill Reed: I think from this past year we've really made a push to do more of an agile method with projects. And so getting that high-impact feature to the customer early on so they can really see the value of Ignition. They get excited about it, they wanna do more, and you just continually build on all of that. So moving away from more of the waterfall where it's the high upfront spec phase and it's a long time to where you see results and moving more towards the agile and a lot more of our projects, I think, has been pretty impactful.
26:34
Barbara White: Well, with my company, we're still very heavy in some of the other SCADA systems, unfortunately. But one time I was headed up to a customer, and my boss told me, "Well, he really wants this one," and I said, "Well, can I just mention it? Can I just mention Inductive?" We got up there, and I just mentioned it and said, "Oh, by the way, just go to this Inductive University... Go and take a look at it. All you gotta do is sign up; it's free, go look at it." Two hours later, the customer came to me and said, "This is what I want. This is what I want." So, part of it is just breaking through these last few years. I'm really starting to break through some of those barriers of people who are hooked on to something that's been around for a long time and not changed, and to go to something new, it's not so scary, I think, as it was years ago. So definitely a success there.
27:34
Sydney Bosworth: I think ours would be. We have a customer we've done a lot of work with and kind of done all the automation in their plant so far. And this past year we've been, mainly my job has been kind of working through their MES system with them, building out some custom stuff for them. And we've been able to get rid of a lot of their pen and paper equipment checks and all this stuff and automate a lot of stuff for them and centralize a lot of the things that they're going to their ERP system and then our batching system and three different places to get. And it's helped them a lot being able to do that. And then it's helped us a lot being able to learn more of the ropes of that and a lot of... Doing a lot of Perspective development, for me personally has been great.
28:12
Sean McFarlane: Yeah. Earlier this year, we got introduced to a new customer. I went in to meet with them. Originally, I was just supposed to be looking at upgrading. It rhymes with schmackberry schmuck.
28:27
Sean McFarlane: And first, it was just that. And then, so yeah, basic HMI application; no problem, I could do that. Oh, there's also this data collection system over here that we need to upgrade because it's being maintained by some guy that doesn't work for the company anymore. And it's all visual basic, it's completely obsolete. And, oh, by the way, there's another HMI over here that we really need you. And so it got to a point where I was like, "Guys, the solution is to move to Ignition." And so we've been working on that for the last six months, and we didn't have access to any of the source code for that visual basic application, but it really didn't matter. We could replicate all of the functionality and stuff that they were doing before. And they were very happy with how quick we were able to get this new system up and running on top of replacing their other HMIs that desperately needed to be upgraded.
29:14
Jason Hamlin: So my biggest win is being invited up here by you. I can't believe you're that brave. You just don't even know what I'm gonna say. No, actually, we're in the middle of merging four companies. So, life is chaos. I couldn't even say what our biggest win is, but I'm gonna say my biggest win was actually here at ICC. We contributed something to the [Sparkplug] Data Dash. Little camera sending images over MQTT, just something we put together real quick. People have seen it. Well, I reach out to my friends at Opto 22, and I'm like, "Hey, would you throw this at your booth?" And he says, "Yeah, sure." So Benson [Hougland] does that. Well, then Alex [Marcy] from Corso [Systems], like, posts some stuff that he's on an airplane. He's like, "Yo, that looks really cool, but it would be way cooler if it's stored the images and we could do something with it."
29:57
Jason Hamlin: And like, he messes with it on the plane, lands here. All of a sudden, they have taken this [Ignition] Exchange resource, enhanced it already. And he's like, "Hey, here's the code we use to store all these images." And like, while that's really cool, when everyone's loving it and you go up there and take pictures with yourself, what he doesn't know and anybody else knows is that we actually have a contract with a customer to build this thing and store the images. So I just got all that free labor.
30:22
Jason Hamlin: Biggest win.
30:26
Chris Fischer: Smart guy.
30:26
Audience Member 1: 45 minutes.
30:29
Audience Member 2: Is that a recruiting strategy?
30:33
Jason Hamlin: Ask me after the session.
30:34
Chris Fischer: Well, on that note, let's get into some Q&A. We can hand mics out to you guys here. I see the first one right here in the white shirt. Oh, go ahead, Don.
30:52
Don Pearson: I can start first. Okay, good. It may be you that I want to get an answer from, Elizabeth, but I wanna go back to the earlier question about recruiting and personnel. And it's a little bit self-serving, so I wanna get some insights. I wanna get some free labor, like you just got, Jason. But one of the things that we have seen when people become integrators with Ignition, they have this struggle. Maybe that you just said, Barbara, of like you do everything you're... We say we're vendor agnostic, but not vendor indifferent. But somehow or another, you gotta be able to say, as Steve [Hechtman] used to say, value engineering; we'll just give you an option and you make the call. It's difficult to do that, to get through an organization and grow up, but our integrators tend to grow up, and they have teams.
31:35
Don Pearson: You started, as you said, doing programming, doing the work, whatever. But all of a sudden, if you recruit it and just recruiting, it's onboarding, it's development, and your job description can change. All of a sudden, I mean, Colby doesn't get to do any of the things he used to do that he loved. That was the biggest barrier to him wanting to do what he does now is, well, wait a minute, I love doing this. So how do you address scaling? We have integrators with 200 certified people; didn't start with 200 certified people. How do you scale an integration firm to gain Ignition expertise, spread it, bring on, onboard? 'Cause people have to change their job description and evolve in their careers, and they have to want to. You can't force that. How do you develop the desire to grow Ignition teams of multiple levels of expertise and change your own job description along the way? Does that question make sense?
32:34
Elizabeth Hill Reed: Yeah, and I think that's a really good question that we are still figuring the answer out. So DMC has a really big emphasis on technical capabilities. All of our interviews are very technically focused, but like you said, like the job description changes. I do mainly project management and sales now instead of engineering, like I don't really program anymore. And when you have an organization that you're trying to scale, like we're in a problem right now where we have a lot of, like, more senior people and they all wanna do technical things, so how do you develop the interest in doing sales or more project management and both in an organic way and maybe a little bit more of an encouraged way? I think that we've gotten better at hiring external senior people. That's a shift that we've done in the past couple years where we try and make more of an effort to hire more senior people that already have some of that skillset. We still don't have separate... We don't have sales engineers. All of our engineers or salespeople are very technical still. Yeah, I think that's still a challenge. I'm curious if anyone else on the panel has solved it, but...
33:46
Barbara White: Well, mine still says controls engineer, because I don't wanna even want that senior word in front of them. I said, "No, no, that just makes me sound old." So I don't want that at all. So I'm still a programmer, and that's what I wanna be. And I mean, we have other people who have moved into program management and that, but it's only if you want to. It's not something that we're pushed to have to do.
34:10
Don Pearson: Well, I think you make a good point, and I wasn't even insinuating that we want someone to do something they don't want to do. You love what you do, and you're really good at it. The challenge with Ignition is it's accelerating fast in organizations, and it forces the need to have those other skill sets if that integration firm is gonna be able to build out their expertise.
34:29
Barbara White: I think part of it is you gotta have to hire the people who have some of those skills. And I think, I don't remember who said something about you have to look in different places instead of just looking for a controls engineer, let's look for IT people and bring them on.
34:43
Don Pearson: Good point.
34:45
Sydney Bosworth: We've played around; we did the, I don't know if anyone's familiar with the PI, predictive, not predictive. I don't remember the name of it, but it's a PI thing. It's kind of a personality.
34:53
Audience Member 3: Predictive Index.
34:54
Sydney Bosworth: Yeah, it is that, okay. We did that within our company, and it's a call it personality, professional personality thing. So take that for what it's worth. But everyone did that, and it kind of gives you this scale. It gives you like an identifier word, like operator, maverick specialist. There's certain... It'll tell you what your maybe weak points are, kind of tell you what maybe your job should be, so we kind of went through that as an experiment this past year. Everyone in the company did it, and then it kind of revealed some people that like, okay, well, their job description lays out as this PI profile, but when they filled out the question, they lay out as this profile picture.
35:34
Sydney Bosworth: So I think the idea in theory is to maybe try to use that to be, okay, well, this person is showing some values that would be very good in a leader. This is showing some values that'd be good for that. So then you can kind of let those people have a little more... I learned some stuff about myself from it, so get some insight into where you might wanna go in the company based off of that, and then also as a hiring tool to get an idea of where someone might fit in the company. So we're hoping maybe that kind of helps clear a little bit of that up, but...
36:01
Don Pearson: Cool. Thanks.
36:03
Jason Hamlin: If I could answer that too and actually tag right off of that. Yeah, the direct answer I'm gonna give for your question, it's gonna be the most serious thing I say this entire week. How do we build and accelerate these teams? It's servant leadership and managers with the right soft skills. Because as soon as we have managers that realize people are more than just assets; they're more than just resources, and they manage holistically, the people naturally can grow. Case in point: somebody calling me, "Hey, I know you're at ICC. I've got these really bad technical questions I need to answer. Yeah, no problem. I've also got some stuff in my personal life, but you probably don't have the time to hear about that." And I said, "Whoa, back up. Let's talk about that first." Like, let's do that. And when you... When they realize we want to help you with every aspect of your life as an employee, that makes the difference.
36:49
Jason Hamlin: And then the growth scales organically because your team wants to perform. And thanks, Don, for making, like, Inductive University and easy tools for us to teach people. Like, that's amazing. But yeah, that would be the biggest thing I would say. Managers with the right soft skills.
37:04
Don Pearson: Thanks.
37:04
Elizabeth Hill Reed: Yeah. Well, like giving people room.
37:06
Sean McFarlane: I wanna piggyback... Oh, sorry, go ahead.
37:08
Elizabeth Hill Reed: I was gonna add, just add like giving people room to grow if they want. Not micromanaging, like giving them opportunities to expand their role if that's something they're looking for.
37:20
Sean McFarlane: Yeah. I wanted to piggyback off of what Jason said. When I joined the company seven years ago, we were about 20 people. Now we're about 70. So we've had that growth that we've had to manage. And it's a balancing act between, like, do you feel like you're too top-heavy with senior guys? You gotta hire more juniors. Do you feel like you need to hire more seniors to mentor the more juniors? So we've had that battle constantly over the last few years. But Jason said it starts with good management at the top. Our retention rate, I think, is well above industry average, and our average years of service is pretty high, and it comes down to management and then growing the team.
38:00
Sean McFarlane: What I did was I identified all of the things that I had to learn over the past few years in order to be successful at developing Ignition projects like the database skills, the Python skills, the user interface skills. And I started using tools like Codecademy and Udemy. I'm sure people in here are familiar with both of those. And I just, I came up with a training course of like do Inductive University, and then once you're done with that, do all these, and you'll be ready to go. As opposed to being like me spending four years just grinding it out, trying to figure out what I actually needed to learn to be good at this stuff.
38:37
Don Pearson: Sure. Thanks.
38:38
Chris Fischer: Yeah. All right, next question. I saw a hand go up over there. You could shout it out if you want to. It wouldn't be a problem.
38:51
Audience Member 4: Piggybacking on the same thing. Through COVID and maybe working in different offices, remote teams, as your businesses have been growing, what strategies have you guys tried to use to build and maintain a good culture? I know in controls, you get a melting pot of personality types. Some people are people people and some people want to be put in the dark room and write stored procedures all day, so with all of those challenges, what sort of... What's in your toolbox for building a good company culture?
39:26
Nathan de Hoog: Brunch Club.
39:30
Nathan de Hoog: It's hard during COVID. In Melbourne, I think we had nine lockdowns. I think and it was hard for everyone, and that culture has to be built up now that we can work in the offices again. But during COVID, as... Well, I'm not a manager. I'm an engineer as well, but there are people under me that I would regularly call to see how they're going. Always ask them about how they're feeling, and not necessarily personal personal stuff, but having that connection before then starting to discuss the technical or the work stuff. So COVID was hard, and continuing a good working culture was even harder. But I think we've come outta that now.
40:30
Sean McFarlane: Let's hope so.
40:33
Elizabeth Hill Reed: I think we're just starting to bring some more stuff back from COVID. There's kind of a pause. Where it's like, alright, we're gonna stop doing in-person events, and then we're slowly starting to bring that back, we try... So we have, I think, 14 different offices across the United States now, so we're very spread out, but we try and do like office gatherings to where like, you can meet people from different offices, like we just had one in Texas this past weekend where we had a bunch of people fly from different offices. They all get to meet and hang out in a bit more relaxed, non-work-focused way to build those relationships. 'Cause I think that is an important thing to have is those relationships that aren't just, hey, what's this technical question? What we've all been saying is have that personal relationship to where you almost, you feel connected with them and you want them to succeed and do well both professionally and personally.
41:34
Jason Hamlin: You can't force culture. You can grow it and foster it and nurture it and trust me, merging four companies together, like, it's not just a, okay, how do we grow this really fast? You asked for a tool; specifically, we use the StrengthsFinder assessment tool to identify like people's top five strengths. You can Google it, but we use that, and our managers use that to try to isolate and understand, if I'm giving somebody something that they're not naturally strong at, they're already setting them up for failure. So, we tend to try to align and merge our teams to work using and complimenting strengths, and that's ours.
42:15
Sean McFarlane: Yeah, I think COVID definitely changed things for us. It was tough at times to maintain kind of the comradery of your organization, but I think it also revealed to us that it's okay to be a little more hands-off and let people work and let people do their job, and you just trust them that they're gonna get the job done. I was working full-time from home for about a year when the lockdowns started in the US, and one day I just messaged one of our admin people and I said, "Hey, do you know when they're planning on, like, bringing people back to the office full time?" And she was like, "That was three months ago." And I was like, "Oh, no one told me. I was just at home, getting my job done." But the company culture thing, it's really important. It is something that comes from the top down, and I think we've done a good job just maintaining a healthy work relationship with everybody that... Everybody feels like their time is valued. They feel trusted to get the job done. They don't feel micromanaged. That's kind of the key, I think.
43:27
Chris Fischer: Yeah. Well, folks, I hate to say it, but we are at time. I want to thank you all for joining the Integrator Panel. Thank you, panelists, for joining today. Find these guys, ask them more questions. Enjoy the rest of ICC. Enjoy the Build-A-Thon, everybody.
Speakers
Chris Fischer
Integrator Program Manager
Inductive Automation
Elizabeth Reed
Senior Manager, SCADA & MES
DMC, Inc.
Jason Hamlin
Cloud Services Manager
Inframark
Sean McFarlane
MES/SCADA Team Lead
DSI Innovations
Barbara White
Controls Engineer
Shambaugh & Son, LP
Sydney Bosworth
MES Programmer
NorthWind Technical Services, LLC
Nathan de Hoog
Senior Automation Engineer
Cromarty
This session provides an overview of how Tyson has standardized operations with Ignition as a SCADA platform, highlighting and detailing how consistent data and dashboards allow for faster implementations. The talk will also include best practices that Tyson has developed, and will identify some of the key integrations that have helped simplify and streamline data collection processes.
Transcript:
00:05
David Grussenmeyer: Hello, everybody. I'm David Grussenmeyer, I'm the Industry and Education Engagement Manager at Inductive Automation. Welcome to today's session, "Tyson's Smart Factory Journey." I'll be your moderator today. To start things off, I'd like to introduce our speakers today. We have Chris Windmeyer, Lead Controls Engineer for Tyson Foods. Chris has over 20 years of experience in the CPG space working directly at production sites, with more than 10 years of that in controls in SCADA. He's designed, deployed, and supported multiple MES solutions over the last 15 years.
00:44
David Grussenmeyer: I also have Geoff Nelson, VP of Technical Solutions with SafetyChain. Geoff has always been interested in how things work, which led him to a degree in mechatronics from CSU Chico. After college, he worked as an intern at Csys Labs for a few months before landing his first job as an automation engineer at USS-POSCO Industries. Geoff worked there for five and a half years before moving on to SafetyChain Software, where he is currently the Senior Director of Customer Engineering. Geoff loves his work and enjoys being able to make people's jobs easier and safer. So please help me welcome Chris and Geoff.
01:32
Chris Windmeyer: Alright, thanks everybody for showing up today. I'm normally the man behind the curtain, so public speaking isn't my forte, so if you all hang in there, I'll get through this. Alright, today I'd like to walk you through an overview of Tyson's journey from disconnected systems to a standardized, scalable data collection and SCADA dashboard system. When we started our journey, every site had their own SCADA solution. We had installations at Rockwell, Wonderware, there were even some Ignition out there. These systems were designed and developed by integrators, OEMS, and even some in-house developers. The data that was collected was data that was important to the plant at that time, but there were no standards, so reporting on an enterprise level was complex at best, so the decision was made to create a team that would define standards and build that solid foundation that all other platforms could utilize. The platform we chose, Ignition.
02:31
Chris Windmeyer: Currently, as with many sites, there are a number of challenges, the first one being outdated infrastructure, including network equipment, servers, and even the controlled hardware. The next challenge we had to overcome was the multitude of different equipments, you might have two plants that are making the exact same product, but they use two completely different pieces of equipment. Next, the issue of inconsistent data that was collected in a format that was not standard or normalized. It was collected manually and either entered into a homegrown system into a database, an Excel sheet, or it was data that just wasn't collected at all. And finally, the issue was, there's no overall vision. There were multiple projects, multiple teams that would all be working to achieve the same goal, but they were all operating in silos, there were no communication between them. That's where the Smart Factory Foundation team was formed to create that programmatic collaborative approach across the entire enterprise with a unified vision to create a standard, scalable solution for enterprise reporting.
03:41
Chris Windmeyer: A solution is only sustainable if the site is ready for it, so we did surveys and assessments to validate that the site was ready for our solution. If a site was not ready, we defined a plan to get them ready, whether that involved hardware upgrades, infrastructure upgrade, network upgrades, or even training for the on-site technicians that would ultimately support that solution. One thing we learned early on was that if the site did not have ownership of the solution, it would not be used or maintained, so from the start, we made sure that every team member, every team group saw the benefit of this solution. To ensure the on-site support teams would have ownership, we made them part of the development team. Our team rolled out the configs and the data sets and set the base configs.
04:31
Chris Windmeyer: After that, we invited the on-site tech to configure the tags and actually develop the screens. That way, they had ownership in it, they built something that was visible to the entire corporation. So, as you can see, there's more to creating a solution than just creating a project and walking away. A solution is only as good as the people supporting it and if there's no ownership, it will not be supported or used. So enough with the philosophical backstory, let's get on to why you all got here. So the first thing we decided to do was we created a tag naming standard and a standard folder structure. We started out, as you can see, with the plant code, which is our ERP system's code. Underneath that, we defined an area; now this has changed a little bit, so we've decided to use our ERP resource as the area and then adding machine, the equipment underneath that. This way when we pull in data, which we now have data coming in from our ERP system, we can tie that resource back to process orders, back to material specifications, runtimes thresholds, all that information can be displayed on the SCADA screens.
05:48
Chris Windmeyer: Underneath each equipment layer, we define three separate folders. We've got a machine info folder, which basically is just some static data with a machine description and a serial number, things of that sort. The raw data folder is where we actually pull in the tag data from the PLCs themselves. Within the standard data folder, we take the data that we got from the raw folder and we normalize it. Let's say equipment vendor one is reporting temperature in Celsius, vendor two in Fahrenheit, so within the standard data folder will show a Fahrenheit data, same would be true for a line speed if it's feet per minute versus meters per hour, so we pick a standardized value and that is what we go forward with.
06:38
Chris Windmeyer: Along with this, we also partnered with... Tyson just joined the OMAC, which they help develop standards and best practices across the industry. Tyson does sit on the advisory board, and we're trying to promote that and move it forward as we go. Currently, the PackML model that we're using is only batch process, we've actually been able to get them to agree to start working on a technical spec for continuous processes as well. So this is a machine state model defined by the PackML. We use these... Not every single one of these, but we use these to calculate machine uptime and throughput, so most of the ones you use is execute like a running state; you've got a held or an idle state, a stop state, so you use those within the templates to define your machine parameters and running stats. This is one of our screens that we developed, and we chose a four-quadrant grid for all of our screens across all of the enterprise. The upper left-hand corner screen is always showing equipment metrics such as uptime, quality, performance for the current hour.
07:55
Chris Windmeyer: The second screen, we chose the critical statistics for that piece of equipment also over that same hour. In the lower left-hand corner, we take those same critical points, but we map them for the entire shift, so you can see how that shift has been running with those critical points. The lower right-hand quadrant, we chose to show alarms and downtime for that same shift. Another example of one of our screens showing the same four quadrants, a different piece of equipment, still the same form metric for watching. It looks a little different, but we were able to use our EAM server. We defined a centralized development server, so we define all of these components up on the development server and then we can push updates out to all the projects, if a change was needed because every component is inherited from a global project that gets shared down through the EAM.
08:57
Chris Windmeyer: We've defined this simplicity of scale; we were looking to build a solution that was scalable, so when we went from that first screen to the second screen, we changed two tags, we changed the tag path and the name of that piece of equipment, and referencing back to that standard data folder, as long as it is the same type of equipment that we've defined those equipments types as our base. So if you go from one oven to another oven, you pass in that tag path, that screen comes alive. That's all the changes that's needed. So, one of the main highlights I'd like to call out, our team was able to develop, we do a lot of, in the plants, there's a lot of human interaction with a piece of paper, and they're taking metrics out on the floor: temperatures, speeds of conveyors. It's all a piece of paper; somebody either goes and enters it into an Excel sheet or, even worse, it just gets thrown in a drawer and nobody even knows it exists.
10:02
Chris Windmeyer: So what we developed was an actual process controls and monitor form that's following the TPS 2.0 methodology. Every form, every cell on here is able to be defined by the plant at runtime, so they can totally define what checks they wanna see. Every check has upper and lower limits, it has alarm values, the tags that you see here, the cells that you see here gray are actually pulling in directly from the PLCs. So an operator doesn't even have to go look at an HMI that's... Oh there's my value, they fill in the information they want. And they hit the submit button. The other thing we've been able to do, you can see we've tied in the SKU data, which is pulled in from our ERP system, so these metrics actually get tied back to that order that was running at that time, so that when this gets ingested into our cloud infrastructure, we can report on it across the corporation to see what kind of issues we had. And like I said before, these are entirely customizable. We built them so that we can actually have reoccurring time, so let's say we needed one of these checks that happen every hour, so if that hour passed and that check was not done, there's actually an alarm that gets sent out and say, "Hey, this check is past due." The same goes for a setpoint that's out of spec, so when they submit that and it's out of spec, it can actually send an alarm on to the supervisor or FSQA.
11:39
Chris Windmeyer: So one of our next and one of our really good integrations we had, SafetyChain is our quality control piece that we use in Ignition or not in Ignition that we use currently at the plants, so we had a really highly complex system. We were pulling data from the local Ignition database up into the cloud, and we were going to Monarch, which was pulling metadata from SafetyChain, overlaying those, building that data, submitting that SQL query back to SafetyChain, and submitting that data. And what we've been able to do with the new Ignition module that's just come out, is we're able to go straight from Ignition straight to SafetyChain. This will pull the form in directly from SafetyChain; all the fields at the bottom are coming in from the form in SafetyChain. It can pull data in from any data source that is available to Ignition. You've got the full expression language scripting available to you as well, so this was a huge time saver and for scale and rollout. So if we have this template, I can take it, copy, paste, change my data source, done. Five minutes versus days in the old format. So with that being said, I'd like to turn it over to Geoff and...
13:05
Geoff Nelson: Thanks Chris. So I've been working with Tyson about five years. I've been with SafetyChain for 10, and we've been partnering with Tyson to deliver this quality module. It's usually where we come into a place and we're replacing paper clipboards. Chris did mention that a little bit. Tyson's case is a little bit more unique. They had a homegrown system called Plant View. Plant View right?
13:32
Chris Windmeyer: Yep.
13:32
Geoff Nelson: And it did digital collection already, so there was high expectations for what SafetyChain would come and do and replace Plant View. So as a quality system, we came in and became part of the Tyson tech stack to make sure that they're within regulatory compliance for quality. And we set up a lot of integrations because their current system had it already, so they were pumping data into SafetyChain to make sure their temperatures are within compliance or weights, or what have you, through production, through quality. But it was difficult; like Chris said, they had the system called Monarch, which is a homegrown system.
14:09
Chris Windmeyer: It is. That's correct.
14:09
Geoff Nelson: Home-built system. So they built the system in Monarch to do these queries, pull this data, create that JSON payload, and send it to SafetyChain, very complex. Took a lot of time, and there were some issues with some of the queries.
14:19
Chris Windmeyer: Yeah, very unstable.
14:21
Geoff Nelson: Very unstable. And so what we did is we said, "There's gotta be a better way for us to accomplish this." So we sat down, SafetyChain. So I went and met with Tyson, Tyson architects, engineering, IT, also with Travis Cox came and joined us, to discuss what can we do. We also had, actually, Cam Bergen, CEO for mode40, came to help. We just sat in a room to say, "What's the right approach here?" How can we make a scalable solution here? And came up with this Ignition module. So, we decided with the plant level, the enterprise level, the way that the Ignition deployment had been done and was going to be done at Tyson, we would leverage the gateway and the data that was available there and create a module that made it a lot easier to pass the data to Tyson easier, more scalable, reliable. It's configurable now instead of how long would it take to create something like this in Monarch?
15:19
Chris Windmeyer: Probably days.
15:21
Geoff Nelson: Days, yeah. Now it's minutes, right? Potentially.
15:22
Chris Windmeyer: Exactly.
15:26
Geoff Nelson: So much easier. And then it leverages Ignition's framework. So we have store and forward, there's queuing. So if anything fails, you can see why it failed, if the connection is lost for whatever reason, it will queue and send back up when the connection is restored. So a lot more reliability, a lot of scalability there moving forward with the module. So it just shows the partnership piece of the equation. SafetyChain's a digital plant management platform. We're there as that quality system with Tyson. But now we've been able to develop this module to allow any of the system data to come in. But the main point was the partnership coming together. Inductive Automation, along with Tyson, who's a great partner to create this module and extend scalability and reliability of the data. That's all I have.
16:23
David Grussenmeyer: Okay. So now we're gonna open it up for Q&A. We have a mic runner. Please, if you have a question, you can raise your hand. If you're in the front rows, you can come down to one of these mics down here or just one. And make sure to state your question into the mic so that we get it for the Livestream audience as well. So, any questions?
16:42
Audience Member 1: Hi, so I just had a question with regard to how SafetyChain is able to streamline the integration from when it was done from Monarch. Can you maybe elaborate a little bit more on the details of how it streamlined that?
16:58
Geoff Nelson: Yeah, so Tyson has Ignition. Tyson had decided on Ignition as a standard for their enterprise. And so the data could become available through Ignition. Monarch was a tool that was essentially, it was homegrown, it was essentially a way to pull queries on data. So very complex queries to pull data and create a JSON payload to call an API. Through the module, we've made it configurable to actually download form configuration from SafetyChain so that Ignition knows what's my data set from SafetyChain; what is my thing I'm looking at. What are its temperatures, where it's at, what it's about. And it can pull any of the data sources from Ignition. So it can look at tag, the historian, name query, SQL query, and perform expressions to manipulate the data potentially and pump it directly to SafetyChain. So it's a bidirectional integration, essentially through the module to know what SafetyChain needs, downloads it, and then sending it back up to SafetyChain. So you could trigger like time-based temperature checks, for example, in an oven, or you could do it. You have some really complicated triggers, right?
18:06
Chris Windmeyer: Yeah. So we've got queries we've defined that, say in an oven, for example, where a temperature has to be at 128 degrees for 60 minutes, and then what we send up is the previous 60 minutes, every minute temperature of four different probes in each oven. So we've really been able to define that trigger within the form itself. So it can use any, like I said, any data source within that's available to Ignition. And you can define those triggers in the tags. You can define it in the form itself as what triggers it. You can have it time-based. It can be a, you could say, let's do a temperature check every 60 minutes every time this tag goes true. I mean, it's very, very user-friendly and easily defined.
18:55
Audience Member 2: So, Chris, I like the story you told about the way that you would take the application to plants and then get individuals at those plants to learn how to build screens and things like that. Can you kind of go more into that process and kinda like what was involved to get their buy-in? Did you have to get them Ignition certified? Did you walk them through it? Just how did that process work out?
19:12
Chris Windmeyer: Sure. So, like I said, from the start, you have to get buy-in from ELT teams. So you've gotta make sure you've got buy-in from the business unit as well. Plant management all the way down to the people that are actually gonna be doing the support. So once we got that and we got approval to go to a site, we would do our validations. Okay. Is the network up to speed? Is the virtual infrastructure okay? How about your automation techs are gonna be supporting it? Do they know Ignition? They do. Okay. They're certified. Great. We go, if they're not, we've actually taken and cherry-picked out classes that from Inductive University and said, "Okay, you guys need to go through this. We built a tier-based solution, so four different tiers, and before we get to the site, you need to be through tier three."
20:01
Chris Windmeyer: And then once they're through that, we get everything set up, we get the server spun up, we get the base project created, and then we build, say the first line 100%, and then line two we work hand in hand with the onsite techs and say, "Okay, you're gonna build this solution." So they create the tags, they map the tags in from the raw data into the standard data. They change the tag and the views, and they're rocking and rolling. And that really gets buy-in from the site. They've now got ownership; they develop something on their own that's showing real-time data, live data that everybody can see. And that is a key point. You've gotta have buy-in from every level, or it won't be sustained.
20:46
Audience Member 3: Was there anything that was like a catalyst within Tyson to commit to this sort of big strategic project? Or did you have to champion that? And how did you get traction for a big automation strategy instead of each site being sort of content with the status quo and just getting by?
21:06
Chris Windmeyer: Well, I mean, that was the big piece, is the plants were fine with it. They had the data they wanted, but at a corporate level, there was no visibility into that data. Yeah, you could get the ERP data, but that's really, really high level. We wanted to be able to see, from a corporate level, that granular level. So we get the ERP data up, now we've got the Ignition data tagged to it, and you can really see it at that level. So it was pushed down from the higher management, said, "Hey, we need a solution for this." And the solution was create a team and go out and figure out how to do it.
21:44
Audience Member 4: The question from me is, you guys standardized the screens that you wanted to be able to, let's say, compare maybe a plant to a plant. Did you also enforce the standardization for maybe projects that the guys that you cherry-picked would say? You know what? It's probably good if I wanna visualize this other process that I have here that's not tied to those standard screens. Did you standardize that as well?
22:08
Chris Windmeyer: So what we've done is we've given them templates. So if they do create, come up with a new piece of equipment, they've got our standards, and we've told them, "Okay, go ahead, build it on your own. Once it's complete, come back to us. We'll make sure it fits our standards, make sure it rolls with everything else." We give them the feedback, we allow them to make the changes. So they develop that component, which would then get rolled out, should be to multiple sites. So then that really builds that buy-in. They're now not just building something for their plant; they've just built something that's just spread across the entire corporation.
22:48
Audience Member 5: How's it going? Specifically, if you don't mind, what's your experience been with SafetyChain specifically? My company is a food manufacturer as well. And there is a lot of paperwork with USDA and all the other... And I'm just curious, can you speak to like your experience with SafetyChain specifically? Are you extremely happy, moderately happy? Is there a range?
23:12
Chris Windmeyer: That's kind of a loaded question.
23:13
Chris Windmeyer: So I don't... I don't really use SafetyChain myself. I've learned enough about it, just so I can see that when I submit data, it showed up over here. Okay, great. I have worked with the team that does some of the report building. They seem to be really impressed with the reporting capabilities and how they can see the data they need to be able to see.
23:32
Audience Member 5: Alright. Thank you.
23:39
Audience Member 6: Hey, Chris.
23:40
Chris Windmeyer: Hello.
23:40
Audience Member 6: Your tech paths are pretty cryptic for the average person. And so I wanted to ask what the process was like for your design team to choose between easy to read, kind of anybody would understand versus the engineering or ERP tag structure that you came up with?
23:54
Chris Windmeyer: So we went through a couple renditions, but since we did ultimately want to get that ERP data down in an easy way, that's kind of why we chose to go with that more cryptic kind of definition. Yeah, it's a little more complex for the plant engineers that have to support it, but really it is defined. I mean, step by step, we've got documents to define. Okay, this piece of equipment goes in this spot, and it's very easy to follow, and once you've worked with it for a few days, you kind of start to understand it.
24:28
Audience Member 7: Yeah. I saw that you were bringing in raw data, right? And then you're normalizing in your tag structure. Are y'all historicizing and operating off of both of those data sets, or are you strictly operating and historizing the normalized data?
24:38
Chris Windmeyer: So it depends. So if the data coming from the PLC is already normalized, it stays in that raw data folder. If we need to make some changes to it and normalize it, then it'll go into the standard data folder. So we are using both, depending on the case.
24:54
Audience Member 7: Gotcha. And follow-up question: would there be valuable or value, excuse me, to you to consolidate like your tag counts by having some kind of tag type that would allow you to transform that data before it entered the system. Instead of having to maybe say, reference it and do calculations on it.
25:10
Chris Windmeyer: Yeah, I mean, a lot of times we don't have access to the PLCs themselves, so we have to basically take the data we get as it is. There's a lot of options we're still pursuing. I mean, this team is not even a year old yet, so we're still kind of getting our feet wet and still defining those standards and redefining them. So anything's possible and under consideration at this point.
25:43
Audience Member 8: Hey, Chris, you talked about a little bit about the start of, about your Digital Transformation journey. I'm curious, if you were to go back now and you had all the stakeholders in the room, if there was any one thing that you would do differently or if you'd want to emphasize for people that might be kicking off smart factory journeys themselves in the coming week.
26:07
Chris Windmeyer: I kind of came into this team about six months after it was spun up, so I don't really 100% know where it totally started from. But I think that was a big thing that we learned kind of after the fact. We did kind of in the beginning, try to show this to a plant and say, "Here's what you're getting." That wasn't quite received so well, so we stepped back a little bit, made sure we had buy-in, made sure that that support was gonna be there. So I think that really is the key to this whole thing, is getting that buy-in and making sure everybody's aware that of what's coming.
26:41
David Grussenmeyer: Alright. I think we got time for one more question.
26:43
Audience Member 2: Oh, okay. Well, I get a second one then. So now you have Ignition at all these plants. You have all these technicians trained in how to use Ignition. It's piping all this data up to the enterprise, but do they have the leeway to do other stuff with the system? And are they playing with their new toy and what are they doing?
27:01
Chris Windmeyer: Yeah, so we've given onsite techs a lot of leeway. They basically, they're free to do, it's theirs. I mean, we put our solution out there, our standard data is there. As long as they don't mess that project up, they're free to go do as they want. Maybe they wanna make a one-off for their wastewater solution. Well, we're not monitoring wastewater in our enterprise reporting, so go have fun, play.
27:28
David Grussenmeyer: Awesome. Well, let's give a round of applause for Chris and Geoff.
Speakers
Chris Windmeyer
Lead Controls Engineer
Tyson Foods
Geoff Nelson
VP of Technical Solutions
SafetyChain
With the release of Cloud Edition, it's never been easier to get Ignition running in the cloud. But are you ready for it? From security concerns to misconfigurations, there are plenty of pitfalls to stumble upon when managing applications in the cloud. But fear not, as help is on the way. Join the experts from 4IR in this session where they'll provide helpful tips and tricks for deploying and managing Ignition in the cloud.
Transcript:
00:04
Susan Shamgar: Hi. So my name is Susan Shamgar. I'm a Technical Writer at Inductive Automation, and I'll be your moderator for today's session, "Don't Get Lost in the Cloud: Tips & Tricks for Successful Ignition Deployment and Management." To start things off, I'd like to introduce our speakers for today. First up, a longtime member of the Ignition community, Joseph Dolivo. Currently serves as the CTO of 4IR Solutions, an Inductive Automation Solution Partner focused on cloud, Digital Transformation, and life sciences. For more than a decade, Joseph has focused on modernizing manufacturing by intelligently adopting state-of-the-art technologies and principles from the software industry. James Burnand is a 20+ year veteran of the industrial automation ecosphere, who has now turned his focus toward providing the infrastructure for manufacturers to reap the benefits of the cloud for their plant floor applications. He weaves cybersecurity, operational requirements, and management into 4IR Solutions' offerings and provides education and consulting for companies looking to begin their journey into a cloud-enabled and a highly automated OT infrastructure. Please help me welcome James and Joseph.
01:20
James Burnand: Thank you, Susan. Your payment will be after the session. We really appreciate that. Hi, everybody. Welcome to the session. Hello people live streaming. So Joe and I are here to talk to you about the cloud today. So we've talked all week about what we do in the cloud, but what we really want to do today is help you understand what are some of the considerations, what are some of the tools, and what are some of the methodologies that you should consider if you're going to be doing deployments in the cloud. So to start off, I'm going to review a little bit about that and go into a little as to why the cloud is in use today, what are some of the benefits, where are we seeing adoption taking off. And then from there, Joe is going to go into the real deep technical details about what things you can do, what tools you can use, and how to actually go about doing that.
02:08
Joseph Dolivo: Yep. We're excited. We'll get as deep as we can with the time that we have, but definitely save your tomatoes and everything else for the Q&A session afterwards. As long as my voice holds out, I will answer as many as we can, and we'll have contact info provided for future questions.
02:22
James Burnand: Alright. So let's get started. So why do people care about the cloud? I know we've been talking about it. It's become this huge discussion point. There's a lot of attention around different opportunities that are opened up, be they AI, be they flexibility, but ultimately one of the most basic things that's important about using the cloud is you only pay for what you use. So you're not buying a set of servers and computing resources that will have the capacity you need for the lifecycle of those assets, you're not buying five years worth of storage that you're eventually hopefully going to use five years from now plus your safety factor. You're literally paying for just what you're using and as you consume it, that price and that cost goes up. So controlling cost is really... If you think about why people are using the cloud in the first place, that's the biggest reason.
03:15
James Burnand: But the other benefits you get is that you are able to scale things. So not only do you get to only pay for what you use, but you have the ability now to theoretically endlessly scale those resources based on what the growth of a system is or the growth of the amount of data that you collect or the collection of different applications that you deploy. It also opens up opportunities with capability. So there are things that are just hard to do that you can go and install a service from a cloud provider that they do it for you. There's managed services, there's application functions, there's third-party plugins. There's all sorts of things that become remarkably easier to do when you take advantage of those precompiled and prebuilt resources that you can buy from a public cloud provider.
04:03
James Burnand: So what do we see people using it for and what are good use cases? So a lot of organizations that use the cloud, our folks, what we've seen in this conference quite a bit is people who have very distributed systems. So telemetry-type systems, places where it doesn't matter where my server is, everything that I'm collecting from is remote, that's a really great use case for the cloud. Or where there's a lot of focus on data and processing, and I need to be able to use more advanced functions and features to be able to provide the insights that I need. The other thing is that when you look at some of those services I described in the last slide, things like time series databases, AI applications, data warehouses, Snowflake, these are all things that become very easy to integrate with and use and take advantage of when you have the cloud.
04:48
James Burnand: So those data-centric applications just make a lot of sense to be able to use those resources for them. And then one of the things we... One of the most basic things we love using the cloud for is backing things up 'cause it's really hard to back things up in a way that it's easily recoverable, testable, and you can be sure that when it's time to go and restore those backups that they're available. The cloud is a fantastic and very cheap way to store long-term backups of systems that you're running on the factory floor. So what I will say though is just like playing soccer in scuba gear, it's not a... Just because you can, doesn't mean you should. You don't use the cloud for everything. And so what we found is that one of the really great opportunities, one of the really great options that people are starting to explore a lot more now is hybrid cloud.
05:38
James Burnand: So I grabbed a definition off of... I forget I Googled it, but a hybrid cloud is a computing environment that combines on-premises data centers, also called a private cloud with a public cloud, allowing data and applications to be shared between them. Really what it means is you install a piece of cloud in your building. So you put hardware in that provides a conduit, access, and ability to deploy those really cool applications that are precompiled, those services that the cloud providers give you into a piece of hardware that happens to live inside of a building. So a factory or a transfer station or wherever the local needs might be. So you get that low-latency, high-capability system that's running locally on site. You have the ability to cut the cord to the Internet and it still runs, but you get the benefit of running those cloud services down inside of the building.
06:35
James Burnand: I see it as being fairly revolutionary. I think it's still really new for a lot of folks. It's a concept and a way of thinking about deployment that not a lot of people are really that deep into yet, but I personally see that it's... I think it's going to be the future for a lot of the bigger systems. So who's using it today and what are they using it for? SCADA systems for distributed telemetry systems. We're seeing a lot of MES systems being cloud-deployed, especially things like OEE. We're working with our friends at Sepasoft on a number of different opportunities right now where there's, I want to be able to deploy across this fleet of facilities, I want to be able to create a consistent fabric of OEE application access and Ignition in databases.
07:22
James Burnand: And to be able to do that in some plants, it's super easy 'cause hey, they got great resources, engineers that understand what's going on, but it's really difficult to do in facilities where there's maybe not any sort of local support or they don't have people that are really understanding exactly how to build and maintain those systems. Using cloud or hybrid cloud for those sorts of solutions really makes it an equal playing field for all the users and all the locations that are going to have access to that application. The other piece that we're seeing is a lot of ingestion. So we saw some Snowflake stuff this week, which was really, really cool. We're seeing that there's this pull of all this information up to these data warehouses. Analytics tying together sales data and financial data in with production information in new and innovative ways that lets you make better business decisions and it's only being unlocked by the type of solutions that people in this room are putting together to ingest that information in. The other kind of piece to this is tying together with existing cloud services, things like ERP systems, cloud-based databases. There's just a ton of opportunity in pulling those things together. So that's what we're seeing today.
08:35
James Burnand: So challenges and risks, I would say the one thing to remember is the cloud is public. So when you go and you do a deployment, yes, you get access to all this really great technology, all of these applications, all of these things that you're able to do. But ultimately, if you're not careful, you are deploying those things in a publicly accessible location. There's lots of ways to remediate that, lots of ways to manage that. Really, what we find is the most critical part of that is making sure that you have a plan for how you're going to manage those assets. There's ways to be able to deploy in public clouds and have no external access to them, only internal to your facilities, but you have to plan all that stuff up front. So Joe's going to walk through all kinds of technology pieces around that.
09:21
James Burnand: I'm throwing the warning flags up and saying, just remember that it's public and that it's something that, yes, there's a policy in place for most major organizations to be cloud-first because of that first slide around cost savings, but it's not as simple as deploy and forget because if you do that, you're potentially opening yourselves up to all kinds of new risks and challenges that will unfortunately be potentially costly. I would also say that it's difficult to dabble in this space. So there's a big difference from what we've seen in being able to get something working versus having something sustainable and maintainable over time. So tools like cloud formation templates, which I know Joe is going to talk about, these are things that make it real easy for us to be able to build up an infrastructure in the cloud very quickly.
10:12
James Burnand: Even Ignition Cloud Edition lets you just start a virtual machine and run Cloud Edition and it's there and it's going, but you really do need to make sure that you're following best practices, hardening guide, best practices from the cloud vendors to ensure that you are putting in security as a consideration even for systems that you're testing, even for systems that you're just trying to figure out. Because what tends to happen, as I think many people in this room have seen, is I'm just going to start off small. I'll install Ignition here, and that's all it'll ever be used for. Six months later, it's like, "Well, I can use it for that. Well, I can use it for this. Well, I can use it for that." So you end up creating this burgeoning and growing set of applications. And when it's on-prem, the risk is a little bit... Well, it's a lot less because you don't have this public access. When you're doing that in the cloud, unfortunately, you have to be more careful. I believe Joe is going to take over talking now.
11:05
Joseph Dolivo: Well said. I think we're trying to differentiate between the ease of getting started, which is great for demos and learning and testing, and then production-grade systems. So we know a thing or two about production-grade systems. If you guys have seen the Data Dash that's going on right now, all that Ignition infrastructure is part of one of our managed service platforms called FactoryStack. What we're going to try to do is to take you through some of the lessons learned that we've had in working in this space for a long time before Cloud Edition was a thing, but then to give you some very practical takeaways that you can implement in your own systems, and also give you a little bit of insight behind what we've done and productized. And I will just say, coming out of the Technical Keynote, there are a ton of things that are coming in Ignition 8.3 that we are super excited for because it's going to make a lot of the stuff that we have to do now manually a lot easier for all of us.
11:52
Joseph Dolivo: So very, very exciting. Tried to categorize this into five different categories. Again, we could spend days talking about all of this, but they're largely broken down into networking, security, access management, data management, and cost management. And of course, especially with regards to network and security and access management, there's some overlap. So we've come up with a couple of different examples from each of these that we'll talk through. And again, as you have deep questions, please let us know and we'll go down into the weeds during the Q&A if we can. So I'll start with networking. So encrypt all the things. You hear a ton about encryption really in two different categories. There's encrypting things at rest. That's obviously important for data storage, making sure things aren't getting changed after the fact.
12:37
Joseph Dolivo: But also when it comes to networking, we're talking about in transit. So Ignition as a tool has great support for SSL certificates so that any traffic that's going into or out of your Ignition system will be encrypted, but it's not just Ignition. When you're deploying these production systems, you don't just have one Ignition gateway. Typically, you're going to have multiple Ignition gateways in a gateway network. The Ignition Gateway Network uses something called gateway network certificates that you can use to basically encrypt communication between Ignition gateways using the same principles that you use to encrypt your web traffic and all of that. So that's really key. And again, Ignition isn't just talking to other Ignition systems. It's also talking to databases, for example. So when you're configuring your databases, very important to enforce SSL encryption. There's a setting in the Ignition gateway configuration to do that.
13:27
Joseph Dolivo: And even more so, you can go down to the level of basically restricting access to certain ciphers. So I'm going to use certain cryptographic ciphers, I'm going to require TLS 1.3, for example. So focusing on encryption is a key part of everything that you're doing, is really, really critical. The other thing that you'll tend to hear about which is still very important and a good step one is to use a VPN. VPNs have been popular for a long time for good reason. They're a really nice, easy way to extend, let's say, an on-premise network into the cloud. Cloud providers have really good tools to make that easy, but if you just rely on a VPN, then you're doing what you call perimeter security, and we'll touch on security more in a minute, where you're securing the outside, and then as soon as somebody gets in the door, you now have... It's kind of free reign.
14:16
Joseph Dolivo: So a VPN is a tool, but it's a tool in defense and depth. So don't rely on a VPN by itself. Encrypting traffic, whether or not it goes through a VPN is important. So that's encryption. Limiting external connectivity. So we've got Ignition running in the cloud. Again, you probably have a database, for example. Best practices would suggest that you don't provide external access to the database unless you need to and typically you won't. So your Ignition system can be publicly accessible via web browser, mobile device, designer access, things like that. The database, you would probably want to be locked down inside of a virtual private network or a VPC depending on your cloud provider. I'll use both terms interchangeably.
15:00
Joseph Dolivo: And then there's a bunch of these cloud-native services that James had alluded to that are things like data lakes, digital twin services. And again, depending on if you're going to funnel all that data through Ignition, you don't want to have outside access to those systems. And the cloud providers provide really good tools, private endpoints, private link. Those are things you can use to basically expose even some of those managed services into your private network without having to go out through the public Internet which is the default. So highly, highly recommend that for anything that you're going to be doing which requires access from the outside. And the last one here is about minimizing hops. So especially for production-critical systems, getting data in a timely manner is very important.
15:44
Joseph Dolivo: And now we're not just talking about, oh, I'm sitting across from my server in my plant. I'm talking about having to go up to a cloud system and back in order to communicate. And the cloud is global so you can pick regions and then you can deploy things. I could be sitting here in California connected to a cloud server in Arkansas, which is actually what we're doing for the Data Dash here. And so by default, when you're starting to add these different layers of networking complexity into your systems, you risk introducing a whole bunch more latency to applications like Ignition. So one of the recommendations that we have if you're going to be deploying this inside of, let's say, an orchestrator like Kubernetes, which has been talked about a couple times, would be to look at the network interface that you're using to expose those workloads.
16:29
Joseph Dolivo: So for example, if you're using Kubernetes, by default, it deploys an overlay network called Kubenet, and it's got this virtual address space that's disconnected from everything else. It's introducing another network hop. The cloud providers provide integrations with something called the Container Network Interface that lets you expose the same IP addresses, same address space you're going to use for your virtual machines or for other kind of workloads, also for the containers that are going to be running Ignition. That reduces the network hop, makes your application more performant. Same thing when it comes to these complex architectures where you have load balancers in place. Every hop, every proxy you put in place is going to slow that down. So be very careful and selective about where you're introducing those kind of latencies. So we could have a whole session on networking.
17:14
Joseph Dolivo: That's a couple of highlights. Security, natural progression from talking about networking. Keep your systems up-to-date, and you're saying, "Well, of course, that's obvious." But when you actually look at the scope of systems we're talking about, let's take Ignition as an example. You've got your application, so you're going to be making changes to your application to fix bugs, to implement features and all of that. That application resides on Ignition, so keeping Ignition up-to-date, for sure. Doing that in a production system where... I love IT people, but you can't just push down security patches at any point in time. You've got a production system. You can't do that. So Ignition is a component of that and most applications are also built on a database. You're using the Sepasoft MES modules. It's built on a database.
17:57
Joseph Dolivo: Now, you've got to do those updates in tandem. So I need my database and my Ignition system to be in lockstep and if one of those is not in step, you think you're taking backups. We'll get to backups in a bit. Are they in sync? Are they cohesive? And now you're going down to a level below Ignition that's running in an operating system. Whether it's containerized or not, I got to patch that operating system. Maybe I've got an orchestrator like Kubernetes, maybe I've got add-on modules for providing other functionality. So looking at these systems as something that is living and breathing and you don't just set it and forget it is incredibly important. And to James's point, it's so easy to set something up once and then you forget about it and say it's good enough.
18:38
Joseph Dolivo: These air-gap networks don't really exist anymore. Maybe they never did, but nowadays it's not something to look at, especially when you're talking about the cloud. So reducing attack surfaces, the more stuff that's available on the public cloud, the more targets there are for attack. You go to shodan.io, you can see all the industrial OT network traffic that's available. It's terrifying, but you should check that out if you haven't heard of it before. So we want to do everything that we can to minimize the exposure to applications, to data from the outside looking at limiting external connectivity like we talked about as part of that. One thing I want to highlight within the Ignition ecosystem, Ignition has first-class support for containers. Containers are great because when you distribute a container, there's a couple of sessions on that at the conference. You're basically just distributing the minimum set of files that you need to run an application, and that's it. And you're decoupling it from everything else that's required like a kernel and everything else to run an operating system, Windows updates, all that kind of stuff.
19:39
Joseph Dolivo: So if your kind of target that you're deploying is basically these containers that have minimal packages installed, you're not having everything out of the box, you might get with a Windows updates WordPad, calc. So that really, really helps you to minimize that attack surface and it's, again, one less set of targets that attackers are gonna be able to go after. And then, of course, there's monitoring for breaches, and I can't tell you how many times two years down the road, somebody will find out that, oh yeah, somebody has been in our systems and they may have modified our data. We don't know what happened. We're gonna have to do a product recall or put out an announcement. So doing active monitoring is really, really important. It's something that there's a number of tools available to do that.
20:20
Joseph Dolivo: There's some that are kind of OT-specific, and you'll see 'em inside of OT networks from companies like Claroty and Nozomi and things like that. But there's also a lot of IT-centric tools that really work well in the cloud environment. A lot of them are based on machine learning to do like anomaly detection. So I'm gonna kind of pick... These are the sort of typical traffic patterns that I might be seeing in a cloud environment. If all of a sudden I see a huge spike in network traffic, or if I see access logs from users or accounts that I don't tend to see, maybe I raise a flag, I send a notification, I require manual intervention. And then tuning that in a way that you're not getting so many false positives, that is the same problem we talk about with alarms all the time.
20:58
Joseph Dolivo: It's, "Oh I've got so many alarms, I'm just gonna ignore 'em all." So there's a balance there, but the fact that you don't just kind of set this up and ignore it, you have to be actively monitoring for breaches. So super, super important. Again, we could have a whole session on security alarm. Let's talk about access management. So there was a question that came up in the Technical Keynote talking about using YubiKeys for authentication with Ignition and things like that. Access management is hugely important. And another universal principle that you'll hear, and it ties in really, really nicely I think with Ignition is to practice the principle of least privilege. So in terms of user accounts, that means if I'm gonna be authenticated and authorized to use a service, I wanna be provided with the least amount of access that I need to be able to do my job.
21:44
Joseph Dolivo: And that's for two reasons. One, in the case of kind of a malicious actor, that reduces the damage that can be caused if that account is compromised. And it also just helps people from kind of shooting themselves in the foot or doing something by mistake that they wouldn't ordinarily try to do. So for example, in the kind of Ignition roles, you may say, well, I'm only gonna give an operator certain roles so they can't accidentally change the configuration of the system. If I'm an administrator, I may have elevated roles, but we also tend to just say, you know what, I'm just going to use an administrative account that has access to do everything because it's too much work to go through a process and then you end up getting in trouble when that happens.
22:24
Joseph Dolivo: So enforcing roles in a way that is consistent and clear is really important and there are tools that you can use to do that especially if you are taking the management of that outside of, let's say, just Ignition. You can use something like... Entrada [Entra] ID is what it's called now, but I never get it right. It used to be Azure AD, so basically the cloud extension of Active Directory, and you can have all of your groups and roles centrally managed across your organization. And then you can have the concept of, let's say, a supervisor and a supervisor can have certain access granted in Ignition, certain access granted in other applications, your ERP systems, your CRM systems and things like that, and you have that all managed in a single place.
23:03
Joseph Dolivo: The last part on principle of least privilege is that it doesn't just apply to named user accounts. It also applies to, let's say, service accounts. And so this is an example. We'll talk about databases more in a minute, but when you're configuring access to a database, that database may not need, or that database user account may not need the ability to delete records. Maybe I can only do inserts, especially for audit trails. I'm gonna be able to insert into the audit log. I don't wanna have somebody that can update or delete from those. So think about the principle of least privilege in terms of the system accounts as well in addition to named users.
23:37
Joseph Dolivo: Password management. I'm super excited. Again, Technical Keynote talking about using a system like HashiCorp Vault, where you can have the dynamic password authentication. Right now, there are certain accounts like the database connection in Ignition, which is more or less kind of hardcoded. It's sort of encrypted in the configuration, but some of those things are kind of hardcoded. But for other things like logging into Ignition, the safest way to manage passwords is to not manage them, and again if you're using a system like Entrada [Entra] ID, or AWS, IAM, or OKTA, or Duo, or some other system, you've got an enterprise security company whose stock price and revenue is based on them doing a good job with all of that. So we recommend not having to manage it yourself. It's one less thing you have to deal with. So for our platform, we don't see any passwords at all from users. We say, nope, we don't wanna deal with it.
24:30
Joseph Dolivo: And then of course, monitoring and auditing access. So Ignition by itself, you configure an audit log. It logs a whole bunch of different events that are occurring by default, which is great. You also have a script function that you can use to add additional logs manually based on things happening in your application. And depending on again, the system you're using for identity and access management, you could also have sort of a central audit log in the cloud that you can use to monitor. So every time somebody logs in, every time somebody asks for elevated privileges, so there's tools like PIM, Privilege Identity Management, where maybe I'm gonna be given read-only access to a service, and I have to go through an approval process to give me temporarily elevated access rights to some other system. Well, that's gonna be audited and logged and it's maintained for a certain duration of time and then that'll be it. So again, active monitoring, similar to threat management when it comes to security. Really important for access management.
25:23
Joseph Dolivo: A couple more here, data management. So take backups and again, that sounds great in theory. Backups include a lot of different systems. And Ignition's actually really, really great in the fact that you can go in the gateway configuration page, you can schedule backups to be taken on a schedule, and if the volume to which you are storing those backups is, let's say, cloud-replicated, that's great. You can get cloud-based encrypted backups, multiple availability zones and multiple regions out of the box really, really easily. Again, most systems aren't just Ignition. There's gonna be a database component, there's gonna be other systems that you have to take and some systems are not as nice to... They're not as kind of allowing for doing live backups like Ignition has and the official kind of application process for doing backups is I'm gonna spin down a workload, and then I'm going to copy a volume somewhere else and I'm gonna spin it back up.
26:16
Joseph Dolivo: So we have to do some of that with manual pipelines and things like that. But if you have the ability to kind of coordinate the backups of all your systems together, really, really important. And then the backup's no good if you take it and then two years later you need to get it and you realize that the backup failed, or the backup was incomplete. So it's really, really important, especially for production systems, that you are doing regular verification of those backups. A really easy way to do that, especially if you're using Ignition in containers, take a backup of a database, take a backup of the Ignition gateway other stuff, and then spin up a brand new environment. I'm gonna say, okay, this is now my dev environment. I'm gonna restore a gateway backup, I'm gonna restore databases, and I'm gonna do some spot checks or automated testing to confirm that those are all still working.
26:53
Joseph Dolivo: So we do that regularly for all customer instances. It's something you should do as well. Really, really important. Data residency requirements, so especially when you're talking about production systems, again, in the cloud, you've got all these different regions you can deploy into. Certain cloud services you'll find are only available in certain regions as well and certain regions have availability zones or don't have availability zones. It's really important to know where your data is going and where your data is being stored at all times. And there are a lot of industries, a lot of companies that have very specific regulations to say, my data cannot leave the United States. For example, my data cannot leave Canada, my data cannot leave this particular geographic region. So keeping that in mind is really important 'cause you may say, well, yeah, my workloads are running inside of US-East-2, but to get there, it has to go up through this other system running somewhere else.
27:45
Joseph Dolivo: And now if the data's being... Even if it's encrypted, my data's going somewhere where it's not supposed to be. That's a big no, no. Same thing with storage. You could say, well, if the cloud providers have the concept of paired regions where you could say, you know what, I'm gonna store most of my data in US-East-2, but it's paired to something in Canada-West-1. So for disaster recovery purposes, that may or may not be okay depending on what your team's kind of requirements are due to regulations or company policy or anything else like that.
28:17
James Burnand: And maybe I can just quickly add to that if my mic comes on. When you're also architecting your solution, availability zones and regions become a huge important consideration. So for example, you can buy storage that's mirrored across three of those. So availability zone for everyone's benefit is a completely separate data center that has a separate power feed, it has separate network connections, but it's inside of a region. So US East, for example, for Azure has three availability zones that you can buy services from as US East. So depending on the reliability requirements of the application that you're deploying, you need to choose the services that have the right level of reliability. So by default for us, for example, when we do storage, we'll actually have storage that's mirrored across three availability zones in a single region so that way we can tolerate two buildings burning down before your system will stop. So just to kind of put a little perspective around that is that there is also a cost consideration as a part of that. So if you're going to buy something that is available across regions, for example, it's going to be more expensive than if you're getting something that's dedicated to a single availability zone in a single region. So your application architecture matters from a cost perspective.
29:29
Joseph Dolivo: We are definitely getting the cost as the next big pillar here as well. So well said, James. And the last point on here is just data integrity and retention. So I need to maintain data for seven years, 10 years due to regulatory purposes. The storage providers inside of the cloud, or the storage accounts inside of the cloud providers allow you to do, for example, immutable data. So I'm gonna push data into an archive storage tier. AWS Glacier is an example, Azure Storage account has an equivalent, where nobody's gonnae able to touch it, and it's gonna reside for some extended period of time. So that's really, really, important for compliance purposes and it doesn't even necessarily have to be data in your live system. You may say, you know what, having a 10 terabyte drive on this managed database service is really expensive.
30:17
Joseph Dolivo: But I need to maintain the data, but I'm not actually gonna query it unless an auditor comes and starts knocking on my door and says, "Show me the data." So you could store all of that older data in kind of much cheaper archive storage and then if you need to restore it to say, "Hey, look, I've got it," then you can go through a process to do that when you need it. A really good way to save cost, which is our final category for today. So cloud makes it so easy to get up and running, and the cloud providers wanna incentivize you to just pump all the data up. We're not even gonna charge you. If you're not going over an encrypted connection, we'll ingest all your data for free. That's become pretty much a standard. But once it's up there, they're gonna charge you for using it.
30:52
Joseph Dolivo: And there's a lot of stuff in the news recently. Hey.com recently talked about how much money they're saving by going out of the cloud and there's a lot of... So we talked about some of the reasons you may or may not want to use the cloud, but once you... You're really paying for sort of the flexibility and scalability that you get. So for the Data Dash, we said we're gonna spin up five servers. Give me five servers Azure and boom, we have five servers up and running. But you're paying for that dynamicism and flexibility. So if you know, for example, I'm gonna run Ignition Cloud Edition for a year at least, you go to the AWS marketplace, you go to provision Ignition Cloud Edition, it'll tell you if I know I'm gonna run this workload for a certain amount of time, I can basically commit to paying for a year and I'm gonna get a pretty sizable discount on the infrastructure cost.
31:36
Joseph Dolivo: 30%, 35%, something like that, that's huge, especially when you're talking at scale. And it's not just Ignition systems that can do that. You can do that with databases typically, you can do that with storage. So trying to estimate the workload that you have and then being able to kind of predict what you're gonna need is really, really useful as you've been running. Again, not so much for experimenting. When you're in a production system, that's important to consider, and it's something we do as well. So we actually will forecast out based on our customers. We're gonna commit to using this amount of resources and we get a cost savings from that. So that's reserving capacity up front. Another thing is called... And different cloud providers have different terms for it or basically spot instances. So this is where maybe I don't need a workload running all the time.
32:18
Joseph Dolivo: Maybe I need to do like a... I was gonna say batch job, but batch means something else in our automation industry, but I'm gonna run a report at 2:00 AM every week, for example. And it's something that's gonna run for a while and then it's gonna shut down. I don't need it running all the time. Or maybe I'm gonna just spin up a temporary dev system. I don't need it for a long period of time. If it goes down, it's not a big deal. You can leverage these cheaper spot instances where you basically will say, well, I only want to pay for a compute between this price and this price and if it becomes available, great. If not, shut it down. Or if somebody else is willing to pay a higher price for it, they're gonna steal my VM out from under me.
32:55
Joseph Dolivo: You can have incredible cost savings when you do that. It's also good for like a lot of GPU-based workloads like ML and AI training. So that's, again, not so much for Ignition production systems, but certainly for either dev and test systems or if you need some kind of temporary scalability like, hey, I need to add another frontend node to my Ignition server 'cause I'm anticipating more load during shift one, or something like that. So that's something else to consider. Huge, huge implications on cost if you do it right. And then I can't tell you how many times I've heard from customers saying, "Well, I got the bill at the end of the month and it was 10 times higher than I expected." So making sure that you're putting monitoring in place and alerting in place so that if you're starting to exceed your typical usage trends, you're able to identify that quickly and early.
33:39
Joseph Dolivo: So this has saved us a number of times. I talked to a couple of folks in the room about this where we had logs that we were aggregating that basically hit a trip wire and our system alerted us. We were able to make a change so that we didn't get $3,000 cost after that. And the cloud providers themselves and a lot of the cloud-native tools have ways of doing that. We'll talk about our tools in a minute. We use Grafana Cloud as an example for aggregating all of our metrics and logs across all of our systems. So you can set up alerts and notifications. You can do it in Azure, AWS, and GCP so that way you won't be surprised when the bill at the end of the month comes. So super important.
34:19
Joseph Dolivo: Just to kind of give you some insight, if you're kind of looking like, "Well, where do I kind of get started with this?" These are tools that we use. There's a whole bunch of them. It's really hard to pick, but I'll just kind of go through some of the icons so you're aware of them. Obviously, you know Ignition right in the center. Everything that we do and most of everything that you do is built all around Ignition. If I start at the top left, there we go. There's a laser pointer. So that is Kubernetes. We don't recommend that for most folks. It's one of those things if you have to ask, you probably don't need it. Something that we use internally, and there's a really great session that Kevin Collins did earlier today talking about kind of the nuts and bolts of that.
34:56
Joseph Dolivo: We use that because we're orchestrating Ignition across tons and tons and tons of customers. So if you're a bigger customer, you have a lot of Ignition instances to deploy, a lot of other workloads alongside a single gateway you need to deploy, a really good tool to consider. If you need to run one Ignition server, it probably doesn't make sense. Going clockwise I guess, Grafana is the next one. So this is what we use. I kind of hinted at it for metrics and log aggregation. It gives us really good deep insight into our containerized workloads as well as all of the kind of cloud provider-native services. So we can see how we're doing on cost, we can look at our CPU and RAM performance, all that kind of stuff. It's really nice to have a single pane of glass. And there's other systems out there that can do that.
35:37
Joseph Dolivo: We like Grafana. Great visualizations as well. Git, so when you're making changes, especially in kind of an enterprise space, it's not a cloud-native technology. I call it a cloud-adjacent technology. It's kind of in the same realm doing version control. Again, super excited for the changes coming at Ignition 8.3 that will make this more comprehensive beyond projects. We did a whole session on it last year. We're doing a workshop on it in a couple of weeks. But we basically run Git inside of the cloud to maintain backups of our project configuration, both for Ignition as well as other services. And then currently we support AWS and Azure. I love GCP as well. That's a great one. And then finally, the one that you may not recognize this logo here, this is called Pulumi.
36:17
Joseph Dolivo: So there's this whole suite of tools called Infrastructure as Code is the buzzword. Terraform is kind of the market-leading most popular one. They've been in the news recently due to some licensing changes that they've made around their open source offering, but we've been using Pulumi, which just lets us use our programming expertise that you'll have from Ignition Python, for example. You can use that to provision all of your infrastructure. So we never manually go and download a VM and download Ignition and go do the installer, even though it's only three minutes. We never do it. We use everything as containers and it's all provisioned using this tool called Pulumi. So there's a ton of good tools out there. We highly recommend being in automation as we are that you leverage some of these where it makes sense for you. I think...
36:58
Joseph Dolivo: So we've got additional resources. We made reference to some of these. So there's best practices, obviously the Ignition Security Hardening Guide, concepts for Kubernetes. AWS and Azure have their own. GCP also has some. These are links inside of the PowerPoint, which will be sent out. Definitely take a look at all of these. And then the two sessions, there was a good higher-level one on Ignition in the cloud. If you didn't get a chance to see it, watch it on the Livestream or the recording afterwards. And then the "Deployment Patterns for Ignition on Kubernetes" that Kevin Collins did. So really, really good sessions with really, really good, good info. And question mark means questions. We're ready for the tomatoes.
37:41
Audience Member 1: I didn't bring my tomatoes today, but one question I have, you guys alluded to it earlier that this is a space that's difficult to dabble in. So many of us being integrators or service providers here, what offerings do you guys have for providing a sandbox environment for people to get familiarized with your platform and potentially show it off marketing material style for potential clients?
38:08
James Burnand: I'll take that one. So we're in the process of hopefully soon announcing some really cool local versions of what we offer that you'll be able to actually run locally on your machine as a test environment. As it stands right now, we set up demos for integrators all the time with their own separate subdomain on our development system. So then you get gateway and database access. You can throw your projects up there, you can test playing with them, and you can make sure that they work. But one of the cool things about how the products that we built work is all of this complexity is kind of encapsulated in those. So you get designer access and you can get database access, and it looks just like a normal Ignition project. So from our perspective, we're trying to help make this technology easier to be able to adopt and that's kind of been our business model from the beginning.
39:02
Audience Member 2: Getting into cloud and cloud infrastructure and tools is... Can be a scary thing. And I think I've seen that with a lot of customers and even with myself thinking about how do I even get started? Can you guys talk to what you would say to somebody who wants to get over that fear and even just get their feet wet with cloud infrastructure and how they can start seeing those benefits and how do you overcome that first step?
39:31
Joseph Dolivo: Something that I would say is cloud is a spectrum. You don't either adopt it or not adopt it. There's kind of a spectrum of adoption. And so the easiest way that we've seen to kind of justify the use of cloud is just use it for offsite backups. Are you really, I like to say, take the tape drive down to the bank vault everyday. Is anybody doing that? Some people are doing that. Use it for encrypted multi-site offsite backups. That's kind of the Trojan horse, if you will, to kind of cloud adoption. And then use it for the things that it's really, really well suited for and tailored for like scalability. You know what, I'm gonna spin up a dev system, for example. I'm gonna play around with it. That's a really nice way to get companies more comfortable with it.
40:09
Joseph Dolivo: We spend a lot of our time with heads of IT and security folks kind of talking about why this is okay, how this can fit within their kind of existing IT landscape. It's actually kind of interesting because I'll say prior to maybe three or four years ago, the cloud was a scary thing for almost everybody. And we've really had this excitement that we've seen from a lot of customers I think driven by let's say Ignition's use of a lot of IT technologies, for example, where all of a sudden you talk to a chief security officer and they're like, "Oh, you're using containers, you're using this. I get it. You're speaking my language now." So that's actually helped I think to make it a little bit more palatable. But yeah, start from offsite backups. Super, super simple would be my point around that.
40:49
James Burnand: Yeah, I would only add to that that I actually think probably the best place to kind of focus learning attention if you're a traditional automation person and you're looking to figure out kind of how does all this work is I would focus on containers, learning the different container architectures, how networking works, how you actually set up those systems. And Kevin Collins' GitHub page is fantastic for anybody that hasn't been to it. Absolutely you need to go to it. I don't have the URL handy, but certainly it has so many resources that will help you learn about how to work with these architectures. And then really what you're doing is you're taking that Docker-centric architecture and you're using these prebuilt functions and tools to make it easier to actually do a more coordinated deployment.
41:34
James Burnand: One of the things Joe didn't mention is our Grafana system that's providing us all that alerting and monitoring, what it often is telling us is that it fixed something. So Kubernetes had a problem and it took care of it, and we get a teams message that says, "Yeah, the problem happened and the problem is taken care of." So like that part of kind of the progression and the ability to automate and take advantage of these tools at scale is the ultimate goal, but none of that happens if you don't first start focusing on things like containers.
42:04
Joseph Dolivo: Yep. The last part I'll add is looking at containers, it's another one of those kind of cloud-adjacent technologies. You can run containers on-prem and you can run 'em in the cloud. So start doing the things that will work well in the cloud, but just do 'em on-premise. So we've seen a lot of that's kind of hybrid cloud is kind of a similar idea with that. Thanks.
42:24
Audience Member 3: Do you have customers that are ingesting or exgesting? What's the opposite of ingest? I don't know. Doing that thing...
42:37
Joseph Dolivo: Expulsion?
42:39
Audience Member 3: In other cloud technologies. Like IoT Core, for instance. Are people using IoT Core to get data into your systems or then beyond just a normal database thing? Are there other places where data's going out of your environment?
42:56
Joseph Dolivo: For sure. So there's... And it is funny 'cause IoT Core is something, a service that AWS and other services have had. GCP made a lot of news recently where they actually sunsetted one of their IoT products. And so Cirrus Link is here. They have a great broker. HiveMQ is here. There's a number of kind of broker technologies, I'll say, for getting data up into the system and then also kind of pushing it back out. So Ignition is a good fit for integrating with all of those, a lot of those kind of event-based systems. Again 8.3 is coming and it's gonna make this easier. But you can ingest into Azure Event Hubs, you can ingest into AWS IoT hub, IoT Core. So those all work. The one thing to keep in mind too is that not all of those services, they may support MQTT, but they may not be fully compliant with things.
43:44
Joseph Dolivo: So for example, we went down a whole road with like store and forward and avoiding data loss. Going up into MQTT, there's some nuances to the TCP Keepalive Timer and all these kind of things that could result in data loss. A lot of systems that are sort of compliant, somewhat compliant outside the ecosystem don't support all of those. So that's something to keep in mind for sure. Once you get data up into Ignition in the cloud, then you can kind of push it out, but we found... We've seen a lot of benefit. If you're gonna push data into Ignition running in the cloud, whether it's [Ignition] Cloud Edition or whatever, keep it in there to do all of your visualizations and stuff like that if you're gonna use an Ignition and then push it out after that. So I hope that helps.
44:25
Susan Shamgar: Alright. Thank you, everyone. I believe that is all the time that we have for today. So can we get one more round of applause for James and Joe?
44:40
James Burnand: Thank you. Thank you, everybody.
0:44:40.6 Joseph Dolivo: Thanks everybody.
Speakers
James Burnand
Chief Executive Officer
4IR Solutions
Joseph Dolivo
Chief Technology Officer
4IR Solutions
Ignition Cloud Edition! Awesome! But wait… How can I possibly connect my PLCs or I/O systems to the cloud? Won’t that jeopardize them? And require heavy IT involvement? What’s the payoff? In this session, we’ll discuss how to use Ignition Edge and Ignition Cloud Edition together to quickly create scalable, high-performance, cybersecure architectures for democratizing your OT system’s data. Whether in brownfield or greenfield environments, you’ll unlock the power of edge-to-cloud hybrid architectures that are cost-effective, easy to manage, cybersecure, and deliver more value to your organization.
Transcript:
00:05
Bryson Prince: Awesome. Alright. Hey guys. I'm Bryson Prince. I'm a Software Support Engineer for the Inductive Automation Support Department, and welcome to "Elevate Your OT Data Securely to the Cloud." I'll be your moderator today. So basically I'm just here to introduce our lovely speaker, Benson, and then afterwards with the Q&A, I'll be helping out with the microphones. Just for the Q&A portion, please remember if you've got a question, you either need to come down to one of these mics on the stand or we'll have a mic runner run up to you. Okay? So to introduce Benson off, he is the Vice President of Product Strategy at Opto 22, with 30 years experience in information technology and industrial automation. Benson Huegland?
01:00
Benson Hougland: Hougland.
01:02
Bryson Prince: Hougland? Sorry.
01:02
Benson Hougland: No problem.
01:03
Bryson Prince: Hougland drives product strategy for Opto 22 automation and control systems, which connect and secure the real world of OT with the systems and networks of IT and cloud. Benson speaks at trade shows and conferences including IBM Think, Arc Forum, and ISA. His 2014 Ted Talk introduces non-technical people to the IoT. So please help me in welcoming Benson.
01:28
Benson Hougland: Thank you, Bryson. Okay, welcome everyone, and welcome to this, what will be an action-packed session. So fasten your seat belts, we're about to get started here. Special shout out to all you Livestream attendees as well. Thanks for joining this session, mom, dad...
01:53
Benson Hougland: Appreciate that. So let's jump in. The title of this session, of course, "Elevate Your OT Data Securely to the Cloud." My name is Benson and I'll be your host for this journey from the edge to the cloud. I decided to forego the obligatory about Opto 22 slides here, get straight into the session. But for those of you who don't know much about Opto, real quickly, we're a California-based manufacturer of industrial automation hardware and software. Been in business for 50 years. And we have applications all over the world in a myriad of industries. Here's a drone shot of our headquarters, based in lovely Temecula, California, about an hour north of San Diego. Here is where we design, manufacture, support everything we make, 100% made in the USA. So, there you go. Go USA, right?
02:46
Benson Hougland: So this is the agenda in your programs. You've all already read this and hopefully that's why you're here. But in short, we're gonna cover how to use Ignition Edge at the edge to, along with Ignition's new Cloud Edition, to create a scalable high-performance and cyber-secure automation architecture to pull data from both greenfield applications and brownfield applications, democratize that OT data and of course deliver new value to your organization. Now's a good time to mention, as you probably know, this session will be recorded. We are gonna cover a lot of materials, so don't feel like you gotta remember everything I do up here. Getting to this session's agenda, we'll start off with, why? Why should we do this? Followed by some architecture diagrams. Then we're gonna roll up our sleeves, well, not gonna roll up my sleeves, they're already rolled up, and we're gonna actually build this thing literally out of the box to the cloud with OT data in 35 minutes.
03:43
Benson Hougland: So, wish me luck. We'll also cover the important question, of course, which is what if you lose the connection to the cloud, what happens next? Finally, we'll have some time at the end to answer some questions. Okay, so why? Well, our industry is still somewhat in the Industry 3.0-type world. And that simply means where you have devices like this that are tightly coupled to software applications, could be Ignition, could be other software applications, but generally they're very tightly coupled. And this rigid architecture does impose some limits on how our automation systems can grow. And it also limits our abilities to start taking some advantages of some of the massive resources that are available to us in the cloud. So these new cloud smart architectures leverage something called publish-subscribe data methods. Okay? So this runs counter to what you're probably very used to in terms of command-response models where the software asks the device for something and it responds.
04:44
Benson Hougland: But modern IIoT and Industry 4, or 4.0 architectures, they employ this notion of edge data producers pushing their data up into infrastructure for anybody to access. So a couple other things real quick, simple manageable access by any authorized user. Of course, the ability to scale your applications up in the cloud as those systems grow, whether it's compute or users. And there was just a great session put on by Brad Fischer about Ignition Cloud Edition. Check out that recording. He covers some more of the whys. System-wide resiliency, we'll talk about store and forward at the edge. And local control is always, always available. And one thing I wanna make a point of, this isn't a session about Ignition Edge or the edge device to the cloud, but note that this same exact architecture works on a standard gateway on-prem just exactly the same way. So, keep that in mind as we move forward.
05:45
Benson Hougland: So we've seen this graphic over the past year or so. We saw it again in the Keynote and of course, this was first presented last year when they introduced Ignition Cloud Edition. What we're gonna do is we're gonna actually do a little circuitous route around the gateway, not that the gateway's not important, the standard gateway, we're just showing you another architecture that could work. Again, this... What I'm gonna show you works well with the standard gateway, as well. So what do we got in front of us? Some hardware. Yeah, I'm a hardware vendor and I'm at a software show, but I love this stuff. I take it everywhere I go. So what do we got here? First, we're gonna start with the brownfield PLC AB CompactLogix. I think it's a pretty old one. Found it somewhere. Put a power supply on it, put a stack light on it.
06:30
Benson Hougland: I've got here a groov EPIC. An EPIC is a Edge Programmable Industrial Controller. So I've got that with some I/O. This will represent my greenfield application, in which case it's going to be simulating a convenience store. But I actually have real I/O, all that connected to it as well. Then I'll be using Ignition Edge running on that platform and Ignition Cloud Edition where I'm gonna push this data up to. Now, this session doesn't cover bringing up or tilting up Ignition Cloud Edition. There's a lot of sessions here that cover that. I'm just gonna cover the Edge portion and I will pop up into Ignition Cloud Edition to get this whole thing going. We're gonna talk about technologies like OPC, OPC UA. We're gonna talk about MQTT, Sparkplug B, and of course we're also gonna talk about VPN.
07:18
Benson Hougland: That's kind of a bonus. Alright, couple things on the network architecture. Anybody in here have a little idea about how IT networks work, IP addresses and so on? Maybe so. Here's my OT network. It's represented by this side of the table. So that's my OT network, traditionally a fixed IP network, non-routable IP address space. And here you can see the PLC has an IP address, a fixed IP address, 'cause that PLC doesn't have DHCP, it has no security, it has nothing. Well, it's a good PLC, but other than that, we're gonna connect that up to the EPIC on its own network segment. So we're gonna configure east zero to be on that OT network. And on the other network interface, which is on the EPIC, we'll use that to connect to northbound type of networks. That could be the IT network, it could be a cellular router, which indeed I have here.
08:12
Benson Hougland: So I've got a cellular router that represents my northbound network. It could be any network as long as it has a valid gateway to where? Ideally the Internet at some point, could go through your corporate network, through all its firewalls. But as long as I can get out to the cloud, I'm good to go. So that's kind of the architecture we'll be looking at. And then we're gonna work with all the software that's pre-installed, ready to go on the EPIC to get this going. Okay, here we go. Build time. Alright, so as I said, fasten your seat belts. We got a lot to unpack here. I'm gonna move fast. So, another reminder, it is recorded, so don't feel like you gotta remember everything. First step first. Let's configure the EPIC. We're gonna start at the edge. We've got a processor, we've got a power supply, we've got various I/O modules that represent signals we need within the convenience store.
09:01
Benson Hougland: We've got multiple network interfaces. The device is a web server, so all of my configurations, almost all of them, are done through a web browser and we will be configuring Ignition Edge IIoT. First thing first, let's assemble it. I just pulled it outta the box. This entire session is actually the steps I took for setting this up and all of the CStores that are in the Data Dash. So I've got my chassis power supply I/O modules. I put on the processor, I connect my two network connections, remember, the OT network to the PLC and the other network to my upstream valid gateway network. And I apply power. Once I've done so, I go to my favorite browser, I look there, I got my browser. I'm gonna open it up and I'm going to enter the default host name. The default host name is printed on the inside label of the EPIC. Terrific.
09:52
Benson Hougland: So I enter that in and the first thing it does is say, create administrator account. Let me be clear, there are no default accounts on this system. There are no back doors. If you lose your credentials, you have to reset to factory default. We can't help you. This device is meant to be secure, zero trust out of the box. Okay? So remember your credentials. Once I've done that, you'll come up with a screen that looks just like this says, great, you're ready to go. Let's start configuring things. So we're gonna jump into groov Manage, groov Manage is the application to manage the device. It is web-based, it is a web server. So I'm just using my browser. It is responsive. I could be doing this from my phone. It manages all of EPIC's features, of which I'm gonna go through four of those right there.
10:39
Benson Hougland: And it also manages all the pre-installed applications, which of course you can see, well I got a laser pointer, Ignition right there. So we're gonna get to that soon enough. But first we gotta get this thing going. So I'm gonna jump up to users. I'm gonna click on there and I can see there's my administrator account I created earlier. I can see what my permissions are, my API key if I want to use that, but I can also easily create new users on the device. So these new users, I just click add, I give it a name, I can give it some permissions. Maybe they just don't get to see the local operator interface, whatever. That's fine. But I've also got LDAP in here. How cool is that? So now I can connect to LDAP server and use Active Directory to manage the users on this edge device. It's meant to be enterprise-ready in that regard. So you just work with the IT group, put the LDAP settings in, you're good to go.
11:31
Benson Hougland: Okay, moving on to networking. I'll click on the network tab, I'll click on status. There I can see that I have my two Ethernet connections connected in, but they're not configured yet. I'm gonna go ahead and configure those coming up right now where I click on configure. I go into the dialogue box and of course the first thing I wanna do is change that default host name to something I can remember. I can't remember that. So I'm gonna call it EPIC-LC2-Showdemo. Then on Ethernet zero, remember that's the static network, so I need to give it a static IP address on the same network as that PLC. Okay? So I entered that in, I put in a subnet mask.
12:09
Benson Hougland: Now Ethernet one, the upstream network, I'm just using DHCP services so I'm not gonna change anything there. I'll just let myself get an IP address, DHCP and for... Because it's fun, I'm gonna go ahead and put in VPN. I go to my VPN administrator, they gimme an OVPN configuration file. I plug it in and I click save and boom. And just a few minutes here or a few seconds actually, I'll see that the network is restarting with all my new settings and that guy should go to connected in just a moment. There it goes. I've even got an IP address now on the tunneled interface. So now I have, if you're counting, I've got three interfaces now. I'm gonna go back and just look at the status and I'll see I'm connected on a static network, DHCP network, and VPN. Networking is done, dude, let's move on.
13:01
Benson Hougland: System time. This device does connect to NTP servers so we can keep the time updated. So it's easy to do. You go in there and you set your zone. Again, this is out of the box, so it's set to universal time zone. I'm gonna set it for my region and locality. So we're gonna go to Los Angeles here, there we go. And I click set zone, boom, I'm done. I can also change my time server. So I want to go to an on-prem time server, I can go, whatever you want. So in this case, I am using standard time servers. System time's done. Let's move on.
13:33
Benson Hougland: Certificates. This is a secure device and if you've ever worked with certificates before, you know they're a pain in the butt. But what we're gonna do is I've actually, did I go one ahead? I may have. There we go. I'll click on the web server certificate button. I'm gonna go into the certificate and I'll see that it's self-signed, in other words that's the certificate that shipped with the product, but it's tied to the old host name. So I wanna update that cert. So here I go, I click on it, I create a certificate, the certificate's being generated on the EPIC. And then once I've done, again, this is just standard forms you fill out to create a certificate, nothing too different than what you're used to except it's all form-based. There are no SSL tools you need to use, no command line, just click and go.
14:18
Benson Hougland: Now I will go actually to the next thing where I'm going to download all those certificates for safekeeping, but I can also download a CSR. What's a CSR? It's a Certificate Signing Request. Thank you. Certificate... Need to get you a Tootsie Roll or something. Certificate signing request. I take that file and I send it to my IT administrator. He signs the certificate, gives it back to me, I put it back in, upload it, and I'm good to go. Again, no open SSL tools, nothing like that. Just go ahead and put the new cert in, the new signed cert from your IT department and you're good to go. What's nice about that is once it's done, it will reload and then I will get this really nice little browser lock padlock. So if you're ever doing banking or anything like that on the Internet, you wanna see that to know that you have an encrypted authenticated connection. So there we go, we're all done. That is the commissioning process for the EPIC. We're ready to move on.
15:17
Benson Hougland: The next thing I'm gonna do is configure the controller that, you know, it is a PLC too, so it does all kinds of stuff. But first we're gonna do the controller. So I'm gonna confirm the control engine that I want to use. We give you choices, you can use CODESYS, you can use our own PAC Control. We're gonna actually go into PAC Control and you can see that I have a control engine running. However, there's no application in there yet. So we're gonna take care of that next. And to do that, remember I'm on the IT network when I did all this work, the upstream DHCP network. So if I try to go in here and download a control program, I won't be able to because the firewall port is blocked. So I'm gonna go in to PAC Controller and I'm gonna open the firewall port for Ethernet one, the network that my PC is on. And that's super simple to do. I click there, I have administrator access, so I can do this and I confirm that ETH1 is indeed open and now I can download my control program.
16:14
Benson Hougland: I'm only doing this on a temporary basis and I could have done this from the OT network. But anyway, I'm all set there. I'm gonna go into my PAC Control IDE, PAC Control program, and I'm simply gonna download the strategy into the device. And of course it says its memory's cleared. Yep, this is out of the box, we'll put it in there, click run, boom. I now have a control program running in there. This is not a programming class, so I'm not gonna explain the control program, but I have it done. It's in there now. So I come back to my groov Manage screen and I can see I have the six running charts, good to go.
16:51
Benson Hougland: Next, OPC. Well, we have all those controller tags, how do I expose them to other applications? OPC, I'll go ahead and add the OPC server. But what's unique here is I'm setting up the OPC UA server here for Ignition Edge to get to the data, 'cause I want Ignition Edge to get all these tags. So I'm just using anonymous access, allow reads/writes, boom. Done. Oh, one thing I do wanna mention on that one, we do wanna make sure we're taking note of that discovery endpoint. We'll use that in Ignition Edge. Next, what is the OPC server gonna serve up? Well, it's gonna serve up all my control strategy tags. It's also gonna serve up all of my I/O tags. So I just give it a name and I confirm that I have OPC UA server. You probably see MQTT there too. Ignore that. That's our native MQTT. We're gonna do MQTT in Ignition Edge.
17:42
Benson Hougland: So I do the same thing for the I/O system. I can get access just to the I/O and not to the control program if I want. I go ahead and put that in there. And finally, I'm running a PID loop. It's on this little guy right here and I wanna get that data as public access as well. So there we go. Last step, public access, read and writable. And we are done. Now we have a control program running in there. OPC server set up, EPIC is set up. Let's go in into what you probably all have been waiting for. Ignition Edge. Let's do it. Okay, so starting Ignition Edge, it's pretty difficult. You gotta click a button and you gotta choose the platform you want and then you enable it. Everybody got caught up there. Any problems?
18:28
Benson Hougland: Pretty simple. Once it gets going, same thing. We start, just like if you downloaded Ignition Edge to your computer, you're gonna actually go through the end user license agreement. You click next, you're gonna create a username and password, and you click next. And then it's gonna ask you if you want to start the gateway. Also, check your ports. We'll open up all those firewall ports for you when you spin up Ignition. The gateway is starting. Boom, we're ready to roll.
18:57
Benson Hougland: We are now in Ignition Edge, that's how easy it is. So, now that we're in Ignition Edge, we've got the gateway started, the next thing is to install the MQTT module. But wait a minute, Benson, you said everything was pre-installed. Aha, it is, however, the Ignition Edge MQTT Transmission Module, which I need is developed by Cirrus Link Solutions, and that means it's simply quarantined. So I go down to the quarantine area and I click install, accept the certificate or actually the end user license agreement for that. I come down, I accept the terms, I accept the certificate, get the module installed and I'm done. Still haven't downloaded a single thing from anywhere, it's all built in. Okay, now that I've made that step, we're gonna take a quick look at the status page on Ignition Edge. There it is. You can see my host name up there in the top square, and look, Ignition Edge automatically has visibility on all those configured NICs that I configured back on the networking page, which is a good thing because I need to get to that PLC on that 172 network. So let's do it now. We're gonna go to Device Connections, same stuff we see in Ignition, create a new device, we're gonna click the proper driver. We'll go ahead and do that, click next, again, pretty difficult part here. Gotta give it a name. AB-PLC, that's gonna come up later.
20:20
Benson Hougland: The IP address of the PLC, next, create a new device, done, that's it. The Allen-Bradley Driver in Ignition is pretty slick in that regard. So that's all set. Next, I'm gonna create the OPC connection between Ignition Edge and the OPC UA server running on EPIC where all my control strategy tags are. Go in here, put in that endpoint I mentioned earlier, it's all local host 'cause everything is on the same device. So I put that in and I just start going through the motions. Click next, click next, accept the certificate, yes, check my settings, looking good, click finish. Give it a name because I'm gonna reference this name later in a UDT, more on that in a moment. We're just gonna call it the CStore OPC UA Server because it represents a convenience store and I'm connected. Everybody still caught up? We're good?
21:15
Benson Hougland: Okay, let's go on. Now we're gonna start doing MQTT. First thing, we gotta set up the memory store and this is important, I come in here, I'm just gonna edit the existing memory store, I give it a name, I give everything a name, drives my colleagues crazy. Accept the defaults, done, dude. All set, I've got my memory store and this is important, because if my connection to Ignition Cloud Edition, or any upstream broker, fails I will start storing that data in that memory store and on the resumption of that connection, I'll start forwarding that data up. We're gonna actually check that out later. Next is the server sets, super simple configuration here, again, give it a name, and I'll just go ahead and edit the default server set. Again, give it a name, description if I like, and finally the primary host ID. This is important in MQTT, but it's not important to this session. If you wanna know more about primary host, I'm happy to tell you but I'm gonna put that in, but that host is my Ignition Cloud Edition, okay? So that's Engine, MQTT Engine, running up on the cloud. Boom, done. Move on. Next, the transmitter, this is where the heavy lifting occurs, okay? So here I'm gonna go in, give it a name, getting tired of saying that.
22:32
Benson Hougland: The tag provider, always Edge on Edge, the tag path, where do I wanna send my... Where do I want all my tags to live? The server set I just created and I'm going to use UDTs, so I check that. The memory store I just configured, click that, and then this is where the rubber meets the road, this is your MQTT namespace. So I put in group ID, ICC session, remember that, it's gonna come up again later. The Edge Node is Opto 22-Harris Center and the store name is EPIC-CStore-520. That is my MQTT namespace already set up. That's pretty much it, but I haven't connected to the server yet and if I need to connect to the server, guess what I need? Because I said I'm gonna send data up there securely, I need some credentials, I need a way to connect to that server. So I'm gonna switch over to Ignition Cloud Edition in the designer gateway, you'll see that up at the top, it's Ignition Cloud Edition. I'm gonna go into config and the beauty of Ignition Cloud Edition, it includes all the modules you need, including MQTT Distributor, there it is. What is Distributor? It's an MQTT broker built right in. So I go in there, I'm gonna create a new user. Now I'm calling it ICC Session, on second thought I probably shouldn't have, but we're just gonna call the user ICC Session, give it a password, and give it the rights that I can read and write to that broker in the cloud sitting in my Ignition Cloud Edition and I'm done.
24:05
Benson Hougland: So now I'm gonna go back to Ignition Edge and enter that data in. So let's go back to Ignition Edge, go to my servers tab and here is where we actually make the connection. I'm gonna delete the existing sample broker in there, server, and create a new one. Give it a name, give it a URL, that is the URL for my Ignition Cloud instance :8883, a secure and encrypted port. I put in the server set that I've already configured and I put in the brand new credentials that I just created. We good? Create new server, once I do so, now Ignition Edge is reaching out through this cellular modem up to the cloud and establishing a connection of which I see I'm indeed connected. We're good. Now what tags do we wanna set up in there? That comes next, that's of course designer. So the beauty of designer, it's already built into the device. I just click, it downloads it from the EPIC onto your PC so you can install designer. First, you install the launcher, you put in your manual configurations, point to the host name of my EPIC, accept the now valid certificate that I have in there, click add designer, open the designer, and log in. Remember, we created a username and password for Ignition, I put that in. Voila, I'm now an Ignition designer, which I'm sure most of you who use Ignition are very familiar with this interface.
25:39
Benson Hougland: So there it is. Now you see I changed the panes because all the work I'm gonna do in Ignition Edge for this session is all in the tag browser. Yes, you can build Perspective screens, yes, you can do all kinds of other stuff, but we're just gonna focus on getting the data to the cloud. First thing I'm gonna do is delete the default folder, get rid of that, it's gone. Remember ICE tags, I put in the transmitter settings, that folder's there. First things first, let's import UDTs. Now I could have done all this just with tags, but I thought it'd be kind of fun to have a UDT for my AllenBradley PLC and a UDT for all my CStore strategy tags. So I simply import those UDTs I already created. The good news? Those UDTs and all that work I did, I've already put up on the [Ignition] Exchange 'cause it was required for the Data Dash and I got the socks to prove it.
26:31
Benson Hougland: So there you go. All my UDT definitions are now in here, all folderized, everything is ready to go. Now I need to instantiate those, instantiate into the tags folder, ICE tags. Go here, new tag, new tag from instance, there it is, AB PLC. Come in and fill out my parameters, give it a name. Two parameters, we'll click on there, that device connection name, AB-PLC, I configured earlier. Put that in there, click okay, and let's see if we have live data. Well, of course we do, right? There it is, AB ControlLogix, which I named it, there's my parameters, there's my AllenBradley data in my designer. Let's do the EPIC CStore, that's about the same, we just go in, we're gonna click new tag from instance, choose the UDT, pull it in, give it a name, go to parameters. My parameters for this UDT are a little bit more, I've got different... My OPC server name, my MMP name, all the stuff that I need to make that connection work is all built in there, so you can use this UDT anywhere you like. So I plug all that in, click apply, take a look at my tags, boom, there they are, all in nice folders. So I've got my car wash, my freezer system, my fuel system, everything is in there, all ready to go. Okay, all my tags are in my designer. Now what? We need to get them up to the cloud. Well, that's gonna be a lot of work, so let's stand by.
28:07
Benson Hougland: We're gonna take this slowly. First, I'm gonna open up Ignition designer up on the cloud, but that's just to show you the data tags coming in. I don't have ICC Session in my Edge nodes yet, I've got some other projects in there. So I open up Edge designer, overlaid it over Cloud Edition designer, and I'm gonna go back up to read/write, go to my MQTT Transmission folder, there it is. Come to Transmission control, and it's just one checkbox, click, refresh, hold on, there it is. ICC Session, all my tags are now in the cloud.
28:47
Benson Hougland: Thank you, thank you. That is pretty damn cool, right? I didn't do anything else up in Cloud Edition except get it spun up and set up some credentials in that primary host. Now all my data's up there. Woohoo, we got data in the cloud, how cool is that? Well, let's do something with that. So I'm still in designer up on the cloud. I'm gonna go up into my standard template here, I'm just using the standard Flex Container template. I'm gonna make two containers, I'm gonna first in the top container do this the old-fashioned way. I'm gonna drag tags from my PLC folder, and I'm gonna drop it into the container. First one I'll do is a PLC waveform. Pretty simple, just kinda cool little gadget there, put that in. Second one is a stack light, that stack light, drop that in, I'm gonna give it a name, red stack light. Now that was the old-fashioned way. The new way is this way. For my CStore, I've got a Perspective template tied to that UDT, I drag the UDT on the canvas and boom, all my data's there. The entire template, all of the different tabs for all the car wash system, it's all in there, I'll switch over and just like that, I have a complete application for this particular EPIC, all built in with the tools that are available in Ignition, very, very cool. So when you start looking at a dozen CStores or hundreds of CStores, all the steps are the same.
30:19
Benson Hougland: Okay, so I can actually... It looks like I can actually control this thing. Who wants to see this live?
30:25
Audience Member 1: Yeah.
30:25
Benson Hougland: Live? Live? Okay.
30:26
Audience Member 1: Live.
30:27
Benson Hougland: Good, you guys are a great audience.
30:31
Benson Hougland: So I'm gonna actually click over first. That is the... That's what it looks like, all I did is go to dark mode, I added some other CStores in Germany, I've got Spain, I've got Australia, I've got them all over the world. But this is the one we're working with, Epic CStore 520. And it's just a standard template, fully mobile-responsive. Let's take a look at it, I've already opened it up here. This is... Anybody want to guess the word I'm gonna use? Live. This is live. My PC is connected to the ICC WiFi network, it's not connected to this, this system is all going through my router. So what I'm gonna do, guys, is I'm... And gals, I'm gonna actually click on that browser right up there at the top. Oh, somebody's gotten ahead of me, somebody just turned on the stack light, I'm gonna go up and click on that red stack light, that means from this PC through the ICC WiFi network up to the cloud, I'm gonna send a command. This guy is connected to the cloud on a persistent, secure, authenticated connection, when I send that command, it's gonna send it back down to this guy, 'cause it's bi-directional. But let's hang on a second, you're going through the cloud and all that, it's gonna take forever. So I hope that I still have time, 'cause it'll take a while for this to work.
31:47
Benson Hougland: But that's okay, we're good. Okay, ready? Three, two, one. Huh? Did you see it? Let's do it again, let's turn it on. Three... I didn't even count that time. That's how fast it is because if you put these systems together and they don't operate at high performance, what's the point, right? It's gotta be secure, it's gotta be easy, but it has to be high performance and that's pretty... And I'm not suggesting you're gonna operate your AB PLC stack light from the cloud, that's totally your call, I just wanna show you that it can happen. Okay, so real quickly about the app, I've got HVAC here, this is my store temperature, this is my PID loop. You got a disturbance on my PID loop and we'll see the process variable go down, all this is being published up. And we'll start to see that come in, there it goes, I'm... I should have a shirt that says, no SIM tags, I love working with real data. So there you go, we've got all my tags coming in, I've got a bunch of other stuff, this is all available to you guys to see as well. My fuel system, my freezer. And while I'm on the freezer, I can actually trigger anomalies that go where? Snowflake. This system is connected to what you guys have been hearing about this conference, the Snowflake system. So that's pretty cool as well.
33:05
Benson Hougland: And you can see in Germany, there we are, weather in Germany right now. Oh, somebody else just started the car wash.
33:15
Benson Hougland: There's Las Vegas, there's San Diego, there's Boynton Beach, Florida, there's Madrid, Spain, there's Melbourne. All of this data was built exactly the way I just showed you. So pretty cool there. Alright, so I am getting close on time. Thanks for playing.
33:32
Benson Hougland: I do appreciate it. Alright, so we do have a URL for this and if you wanna play from your own phone, some of you already got started. There's the QR code, have a ball. And I love hearing the beeps, I don't think you're bothering me. Alright, a couple closing slides.
33:53
Benson Hougland: A couple of closing sides. I've got my OT network, I've got my IT network, I'm moving all the data and I've got my workstation. What's cool is because I set up VPN, I can access this system from anywhere in the world with a valid set of credentials, multi-factor authentication and I can tunnel right in. What's more, is I can use that to tunnel right to the Allen-Bradley PLC, more on that in another session. And finally, when I talk about the VPN on my... This week, one of our good friends, Corso Systems, Alex Marcy, posted on LinkedIn that he was on an airplane, a 737 MAX 8, and he was indeed connected from airplane WiFi to his EPIC and to Ignition. I thought that was pretty cool, so I just threw that in this morning. Finally, if you're like, "Oh, cloud, this makes my head explode." I highly recommend the guys over at 4IR Solutions, these guys know cloud, they know it better than anybody. But what's more, they know these, part of their business is to put these in a plant floor, collect the data and get it up to PharmaStack or up to FactoryStack. So, huge shout out to these guys, see their session tomorrow at 2:45 in one of these stages. Finally, the question, what happens when it goes offline? When we lose a connection up to the cloud, no problem, we'll start storing data.
35:17
Benson Hougland: But more importantly, I still have local control, there's a built-in HMI in here, or you could put Perspective on here, I have complete control over the system while it's disconnected. When it reconnects, I'll then take all that stored data up to a week buffer or several million tags, can't remember how many.
35:35
Audience Member 2: 10 million.
35:36
Benson Hougland: Thank you, thank you. 10 million tags, and we'll send that back up too. So you're not gonna lose data by connecting the cloud, in fact, it's an arguably more secure way and a better buffering system than anything you could do before. How'd I do?
35:53
Benson Hougland: Alright.
35:55
Benson Hougland: Thanks.
35:57
Benson Hougland: Thank you.
35:58
Benson Hougland: Thank you very much, I appreciate that. So I'd like to open it up to some questions. Anybody have any, any at all? I'd love to hear them.
36:08
Bryson Prince: Up top there. Oh, sorry, there first.
36:10
Benson Hougland: Oh, it's the press, I feel like I'm in Ted Lasso.
36:14
Audience Member 3: Independent.
36:16
Benson Hougland: Yeah, The Independent, thank you.
36:18
Audience Member 4: Can you do this from like multiple devices or fleets of devices, if you do this, does it... You have to do this for each device or can you populate to multiple devices?
36:31
Benson Hougland: Yeah, each Edge device gets configured very similarly to this. This is just a simple example that we're using to illustrate this, but we have other customers some who just got Firebrand Awards that are using the same concept of an EPIC being deployed and based on the application, they connect to other devices, however many devices you need pulled in through here, modeled, and securely pumped to the cloud. If you're asking if we're doing like cloud deployments out to edge devices, no, we're not doing that yet. Stay tuned. Good question, though.
37:04
Bryson Prince: Up here.
37:05
Audience Member 5: Just... Excuse me. Just curious, if you wanted to use the native MQTT right from the groov EPIC to Ignition Cloud, is the MQTT payload configured in a way that if you were using the Distributor Module and MQTT Engine Module in cloud, would it recognize the tag structures, the folder structures, similarly to how MQTT Transmission Module allows for?
37:33
Benson Hougland: The answer is almost yes.
37:37
Benson Hougland: This is an Ignition conference, naturally, I'm gonna use Ignition Edge, but yes, the MQTT native client that's built into EPIC will publish all the data, will do store and forward. Everything I described except one thing: that is the UDTs, so we already have pre-templatized the native client to send the data up. Then you just use, put the UDTs in the cloud, easy enough to do, but in this case, I wanted to use UDTs at the Edge. So Ignition Edge with its UDT capabilities and, and the ability with Ignition Edge to communicate to other systems with those built-in drivers made Ignition Edge perfect for this type of application. But to answer your question, MQTT native in EPIC and in RIO supports everything I just showed with the exception of creating UDTs.
38:26
Audience Member 6: Yeah. Not Ignition related, but...
38:30
Benson Hougland: Okay.
38:30
Audience Member 6: Does the groov EPIC have IO-Link drivers?
38:35
Benson Hougland: We don't have IO-Link drivers today, we've been discussing that quite a bit, but that would be an IO-Link, essentially an IO-Link master. Our customers have been doing this, they're simply using an IO-Link gateway. In fact, we have a pretty large OEM that's doing just that. So good question, though, thanks. Most of our drivers are gonna be your standard stuff, Ethernet-based, Ethernet-based. Great, that's a good question, too. After this session, over on stage one, my good friend, dear friend Arlen and Pugal and Travis are gonna talk about Snowflake. And when they do, they're gonna talk about an accelerator kit and that accelerator kit, guess what it includes? That guy. So stay tuned for that, definitely attend that session, they're gonna talk about Snowflake, about all this stuff, but the same concept that I just went through here. Another question?
39:26
Audience Member 7: Yes. So for the... In your example, you had one UDT that had all of your tags. Is there, I guess, more basic UDTs you could have that...
39:37
Benson Hougland: Oh, yeah.
39:38
Audience Member 7: I guess if you built as a new function block or what have you, it could just add that in rather than one giant UDT.
39:45
Benson Hougland: Yep, yeah, you're... Good catch. I thought, you know I got all these tags, and it's all based on different things in a CStore, the car wash, the freezer, the fuel system. I was like, yep, I could... I actually started doing that with separate UDTs. I was like, well, hang on a second, I wanna be able to drag that UDT up in Cloud Edition right on the canvas and not build a bunch of pages and then figure out how it works. So I put it all in one UDT so that when I created the template, I could drop that on, and everything was all tabbed, everything was done. That's why I did it that way. But yes, you can do a multiple, whatever you like on UDTs, for sure. Let's cool that guy down again. Whoa.
40:29
Audience Member 8: I was wondering about the number of device connections you can have to the Opto 22. So if I'm not mistaken, Edge comes with two device connections right now, but you can add more?
40:39
Benson Hougland: Yes, you can.
40:40
Audience Member 8: What is the limitation, from a performance perspective, of adding 100 more CompactLogix to your Opto 22?
40:50
Benson Hougland: Yeah, you're gonna run into a point to where CPU and RAM start to play a role, just as it happens in Ignition server sizing, right? You wanna figure out how many tags you got, you're gonna how many can you... So this guy is a Linux computer, it is a PLC, but it's a gateway, it's an HMI... It's everything, it's the smartphone of PLCs. And it is running a four-core ARM processor with four gigs of RAM, one and a half of gigs of that RAM is allocated to Ignition Edge.
41:21
Audience Member 8: Will that starts to affect the scan time on the PLC side?
41:25
Benson Hougland: Nope, that's got its own real-time thread.
41:27
Audience Member 8: Okay.
41:27
Benson Hougland: Yep, that guy is, he's guaranteed to do what he's supposed to do, and then Ignition Edge, Node-RED, groov View, your C application, your Python, whatever, takes the rest of the threads. It is a multi-threaded application, so we can use all four cores.
41:42
Audience Member 8: Thank you.
41:42
Benson Hougland: You're welcome. Keep them coming, keep them coming.
41:47
Audience Member 9: So as a Internet-connected device, I assume there's semi-frequent security updates.
41:53
Benson Hougland: Thank you.
41:53
Audience Member 9: What's that process like, and what's downtime and PLC impacts?
41:58
Benson Hougland: Yes, indeed, and that's super important. We do frequent updates for our firmware to address anything that might have happened in Linux security things, updating any of the other software on that. It is a monolithic firmware update, so you're not having to figure out, well, this piece of software has this firmware, none of that. One big firmware download addresses all the security updates and they're all in there. And since you brought up security, one thing to know, I think I can do this. I'll pay anybody in this room a million bucks if you can crack that PLC right now. Huh, a million bucks, it's all...
42:37
Benson Hougland: I don't have it on me, so, yeah.
42:41
Benson Hougland: No, and the point being is this, is that we designed these systems, all this connection to the cloud is 100% outbound. There are no firewall ports that need to be opened either at the corporate level, at this device level, level two, level three, or DMZ, it doesn't matter. It's all outbound communications, persisted, encrypted, authenticated, and we keep that persisted so we can receive traffic back if we need to, but everything is meant to make this thing secure. This guy is not secure, if I get on that 172 network, I get to go crazy, but when it's behind that guy, there's no chance to get to this guy unless I explicitly configure that, and again, that's a session for another day, we've done some really cool stuff with being able to do remote access to unsecure PLCs on the other side. I can't wait for next year to do that one.
43:34
Bryson Prince: This will be the last one, sorry everyone.
43:36
Audience Member 10: What version of Ignition do you put on the groovs and as I buy them throughout the year, are they gonna come in with different versions?
43:44
Benson Hougland: Exactly.
43:44
Audience Member 10: Or do you maintain that?
43:45
Benson Hougland: And that's a good point, because we actually take the Ignition Edge that is available on the website. So all we do is take that one, put it into our firmware wrapper, so as those new Ignition Edge editions come out, we update the firmware, then you get the new edition. What we have had some people going through shell access, this does allow you to do that as an option to update their Ignition instance. And we don't necessarily recommend that, but it's possible, but otherwise, the reason we do that is so we can test it, we can put it through our whole QA suite and test everything is working properly and then we release it. So we will tend to lag a bit, but yeah, that's exactly how we do it.
44:28
Bryson Prince: Can we thank Benson one more time?
44:29
Benson Hougland: Oh, thank you guys.
44:31
Benson Hougland: Thank you guys. Thank you very much, I appreciate it.
44:35
Benson Hougland: We do have a booth, thank you. We do have a booth outside, right at the entrance of stage one, we've got a bunch of engineers here to answer more of your questions. Thank you so much, have a great conference.
Speakers
Benson Hougland
Vice President of Product Strategy
Opto 22
Building screens in Ignition is a breeze, but did you know you can design screens even faster by mocking them up using a design tool? Join us for this session as we talk about the benefits of moving the design process outside of a development platform. We'll cover topics such as design vs. development, UI vs. UX, benefits of using design tools, and an introduction to the design tool Figma.
Transcript:
00:09
Rob Lapkass: Alright, welcome back from lunch, everyone. Let's get started on this afternoon session, shall we? My name is Rob Lapkass. I'm a Training Content Creator here at Inductive Automation, working on Inductive University. I'd like to welcome you to today's session, "Separating Design From Development - Using Design Tools With Ignition." I'll be your moderator for today. To start things off, I'd like to introduce our speaker today. Doug Yerger is a Principal Engineer at Grantek Systems Integration. Doug's 30-plus years of experience includes the architecting, design, implementation, commissioning, and support of PLC control systems, robotic applications, Vision applications, database applications, MES implementations, warehouse management systems, SCADA systems, and HMIs. Doug serves as a leader within Grantek, providing governance, technical direction, and facilitating knowledge propagation. Please join me in giving a warm ICC welcome to our next presenter, Doug Yerger.
01:27
Doug Yerger: Thanks, Rob. As Rob mentioned, my name's Doug Yerger. I'm with Grantek. And before we get started, I just wanna cover a couple terms we're gonna go over today: design and development. But what actually are those terms that we're referring to? Design is your look and feel of your user interface. In the industry, they usually call them UI and UX in the web industry, and that's the user interface and the user experience. So these are gonna cover things like your theming, your screen layouts, navigation, also including things such as what's going on each screen, what's the function of each screen, what type of numeric indicator you're gonna use? You want analog gauges? Do you just want a numeric display, spark lines? Anything like that. But also that user experience is all your user workflows. So, what is the purpose of each screen? What are you trying to do and what is the user trying to accomplish on each screen?
02:37
Doug Yerger: And development is building the application itself, so constructing the screens, tag creation, device connections, scripting, setting up databases. All of that is the development. So that's the building of the application, and the designing is actually creating the ideas of what you're gonna want to do in there. Some of you might be asking, "Well, why are we going to split them?" We had similar thoughts at Grantek, but at some point, we had had enough pain points that we decided we really needed to split them. I'm gonna talk a little bit about Grantek's journey, and you can see how well it matches up with yours. Prior to adopting Figma, which we chose as our design tool, we did our designing, excuse me, within our development environments like Ignition.
03:24
Doug Yerger: We found this led to a number of inefficiencies, headaches, overruns, and missed opportunities. One of the first things we identified was rework that we had to do from undocumented or late request. In some industries, especially those that work without detailed function requirement specs and FRS, or design specifications, or DS, we would reach the 60%, 90% review cycle, and someone would bring up a major item about the user workflows that was not documented anywhere and hadn't been talked about. This often required major rework of the screens, often breaking bindings. I mean, we've all moved things one container to another in Perspective and had to rework them all. So breaks those bindings, and there's a lot of rework from those.
04:14
Doug Yerger: And of course, the project manager's inevitable discussion on whether we need a change order or not for those changes. One project in particular comes to mind for this. We had a customer that was migrating a process. They had a very manual process. It had been a product development. They had developed it, but it was very manual, and basically, the initial project was migrating an access database that was tracking their product into a SQL server with a frontend Ignition project. Well, we were very careful to make sure everyone was in the meetings by asking the customer who was in the meetings, and the customer even canceled some meetings just because people weren't available. So we thought we were doing all that due diligence. We went through there, the project grew through those discussions, adding in things like we're recording test measurements, product validation, and even the shipment processing and interfacing to their ASRS systems.
05:18
Doug Yerger: Well, we're going through all that, all those... Quite a bit of rework during those, but they were all covered by change orders because they changed the function of what was going on, and growing it. We get to the 90% review, a pre-SAT review, and they brought in someone from their quality group that was gonna be responsible for setting up and qualifying each production run. Well, this person went through and said, "Well, these are the steps we have to follow to qualify this." And it meant they had to put things on three different screens, and was all over the place in our application because those were the user workflows we had already discussed and had worked toward. It made a lot of late work in our process. So, put this on the top of the list here because of that. Next point is, if you're doing gap projects, and I'm sure you've all experienced this, part of that is doing your design specs.
06:21
Doug Yerger: Well, when you're doing your design spec, you often need screenshots of what the things are gonna look like, so you can talk to those points. Usually, our engineers, sometimes they use Paint, sometimes they use other applications, but 90% of the time, they would just go into the development environment and mock-up the screens. And that's always creating dummy tags and things like that to keep from overlays, wire framing, or anything else so you can get a nice, clean screenshot. This led to two potential issues. First, we have to rework everything now because they're on dummy tags and not production tags because those are all defined in the DS and have to be approved and worked through. And second one, technically, it's violating the gap process 'cause you're not supposed to be starting development until the design's approved. One other feature that we've experienced with this is since we're doing those designs in a very nimble editor, when the DS does go through revisions and there's changes, it's very quick to update it because it only takes a matter of a few minutes to update versus going in the design environment, moving things around, and getting things working again.
07:41
Doug Yerger: Another pain point is when customers acknowledge they wanted to work through all of their workflows and basically have a discussion saying, "Well, what are we gonna do?" We don't really know exactly what we want the user to do in here. We're gonna develop those as we're doing the project. Well, since you don't necessarily know what needs to be on each screen, how do you start developing? Well, good example of this was an internal solution we had. We were migrating an IIS web-based solution to Ignition Perspective. One of the things we identified in that IIS solution was that the user workflows often started right-hand tab, working your way across to the left hand to put in new products. The workflows weren't very intuitive. You had to know what you were doing to even use the product whatsoever. Well, we said we wanna fix that because, the way we were designing, the way we had to use it is you had to build from the bottom up for all your products.
08:45
Doug Yerger: Instead, the customers always wanted to build from the top down. They have a finished queue, which is at the top of that architecture, and they wanted to always build down, but our system was forcing them to go the other way. So we said, "Okay, let's go ahead and design a whole new user workflow." Well, the way we went through that is we started... In our design tool, we just literally sat down and typed out what these workflows are gonna be. Just literally sitting down, typing notes as we went, writing our design tool of what they were gonna be. As we worked through those, we started coming up with little bit of a thing, saying, "Well, what do we think about this idea of structuring them this way or that way?" And there were several slides like this, of different ideas of what to do. That grew into a more formal one as we went. And then the final design of what the end project looks like. This project is still in our design tool. This is not in Perspective. And just a quick side note, you'll probably... If you can actually read the iChart up here, it's actually showing Oreos. We just chose that 'cause everyone knows Oreos and likes Oreos, so we use that as our demo product as we're going through this.
10:12
Doug Yerger: The final pain point we have are true Agile projects that basically there's not a final goal set in a true Agile project 'cause it's whatever you're using for each sprint. Grantek, we've often done what I call hybrid Agile projects. And what I mean by that is, there is actually a functional spec saying what our goal is, but we're using Agile to define our user interface and user workflows to achieve that functional goal. Still falls under this category for me because there's still a lot of changes happening. Each sprint, you're bringing in new features, which cause a lot of free work and things like that. Things to point out on here is, in the middle of the screen, you can see what's called queue. It's the water queue. That started as an actual vertical list in our original designs. We had the issue there is one, it looked out of place on the screen, but it also grew and shrank in size, making things move around the screen, and kind of just was an eyesore on the screen.
11:12
Doug Yerger: So we ended up deciding on this horizontal list of the items in the queue. All those cards are clickable, which would bring up the queue management screen separately to do any reordering or rescheduling that you wanted to do. Another item, it would be that point-of-view section on the bottom. Those are the point-of-view valves that are in the area that this screen would be accessing. And each of those cards, when you click on them, this lower right section is actually a slide-out that retracts or slides out when you click on the card and brings up your... Putting in a manual control and gives a little more status of it, versus the card itself. So those were our pain points, and we acknowledged that these were getting very costly and causing a lot of extra time on projects and things like that. So we said, "Well, what can we do to fix this?"
12:09
Doug Yerger: Well, Perspective is effectively developing a webpage. So we said, "Well, what do they do in the web world?" We looked at that and that's where we got the idea of using a design tool to actually help. We evaluated several design tools, narrowed it down to two, then did very good cost analysis and workflow analysis with our salespeople and engineers in that we did a little survey inside on which one we thought would be better, and we ended up settling on Figma as our design tool. Figma is a web-based, fully collaborative design tool, and whether working in a browser or their stand-alone application, users are provided the exact same working environment.
12:55
Doug Yerger: On the left is a desktop application, which I keep in dark mode. On the right is the exact same design, open in a Chrome browser. As you can see, everything's identical shown between the two, including the two sidebars. Left-hand sidebar is very similar to your project browser and the Ignition designer. It's gonna show your object hierarchy. And most of the pages, if you're on a different screen, it is context-sensitive so it'll show file structures if you're up at the file level versus inside one of the projects. The right-hand pane is like your properties panel. It's going to change very drastically depending on what type of object you're selected. Currently, what you're seeing there is for that one grouping that's selected inside there. As mentioned, Figma is fully collaborative, meaning users work on the exact same design file concurrently. You can actually see each other's cursors and changes in real time.
14:03
Doug Yerger: In this screenshot, you can see in the upper top, there's my avatar picture as well as a "D" next to it. That's telling me Dylan's in that same file that I'm in. So I know he's working in the file, and since he happens to be in the field of view I have in the file, I can see his cursor, and it has his name there. I don't know if you can notice it there. Right here, it's showing his cursor. If this was live and not a screenshot, you would actually see that cursor moving around as he's doing it. For demonstration or training, you can actually click on one of the avatars on the top and your screen will lock to what they're seeing on their screen, so you can follow exactly what they're doing as they work through whatever they're doing to demonstrate or show. Figma allows commenting directly in the designs. So in the screenshot, you can see the highlighted row in that table has a little comment balloon on it. That's obviously saying there's a comment on that item. Up in the task bar, you see a little red dot on that balloon up on that icon up there. That's telling me there's an unread comment in this file. It is file-sensitive, so if I switch to another file, that dot will go away. So it's telling you where you're at on that.
15:30
Doug Yerger: If we click on that comment icon or on the bubble, it's going to bring up... The right-hand sidebar is gonna switch. If you notice on the left there, it's showing those properties, but it's gonna switch to the comments over here. And it's gonna show all the comments in the file in the right-hand bar. If you click on that comment or click on the bubble itself, it'll bring up the comment on the screen. Great feature of it, you can tag users in your organization. When you tag them, it will actually send an email to them notifying them that there's been a comment in the file that needs their attention.
16:09
Doug Yerger: Another great feature on the commenting is you can share these designs with anyone inside your organization, but also anyone outside your organization. Sharing can be done at the team level, project level, file level, object level. And you can share it for full editing access, so you have an extended workforce, so you can share it there. Or, if you're sending it to a customer, you can send it to read-only access. Read-only users still have that ability to comment directly on the file. Great way to share your designs with customers. No more taking screenshots, sending it to them, having them work through what's going on. The layout tools they have, very simple and align with standard web terminologies, so they align with Perspective very well. That makes that transition very simple. In this screenshot of the property panel that shows up on the right-hand toolbar, you can see you have... At the top, you have some alignment tools. You have the sizing, the rotation, corner radiuses, positional constraints as we come down, and then you're actually gonna have text, fonts, as well as the colors that are used within your selection.
17:29
Doug Yerger: Figma has a feature called Variance, which allow you to have one item. You can kind of think of it as a UDT 'cause you're gonna create instances of it. Here, you can see a very large palette of buttons that one of our customers uses. All of those buttons are the same button in Figma. They're all set... Everything on there, you'd put an instance on the page, and to change anything on there is simply a property change within that variant. Makes reusability great, makes the templatizing great, gets that consistency across to all those applications that you're looking for. In addition, utilizing variables and styles allows you to create all those same themes in Figma as well in Ignition Perspective, create user light and dark modes, even have customer versus standard palettes, your own standard palettes in there. And taking that idea along to show you, that upper-left one there is showing, in Figma, our standard color palette. Lower right is a screen we have in Perspective to just kind of confirm they're all loaded properly. And if you notice, all the colors are identical between those two. Little side note. You see the repeating colors at the top; there's two rows that repeat. That's because the top rows are our Grantek standard colors, and then below that are primary and neutral, what would be used in the projects.
19:07
Doug Yerger: If you have a customer that has their own color schemes they wanna use, you change those bottom two ones to whatever colors you want, and it's gonna change... Everything in our designs will automatically change to their color palettes, no reworking each component individually because they're all done by name. Figma's very easy to get started with. As you can see in the top left, there's only a few tools that you're gonna use. It's very simple to get started with, but it's also very powerful, and as you use it, you learn more and more advanced features, so you can get started very easily with it and grow from there. And like Inductive, Figma has a lot of stuff online to track what's doing it. Inductive has Inductive University, Figma puts most of their stuff on YouTube, all out there, publicly available, free of charge. And in addition to Figma's own published ones, there's a great design community around Figma, and you can find... I know I follow at least a half dozen additional design creators that are constantly talking about different uses with Figma and different features.
20:19
Doug Yerger: Figma, just like Inductive, very, very user-focused. They have a user conference that's toward the end of the summer, so just happened a few months ago. And like Inductive, like we saw this morning, announcing a lot of new features that are upcoming and ones that have been there. And I saved what I think is the best on the features. Last is what they call prototyping. What you're gonna see here is this is all within Figma, but prototyping is linking those design pages you've created into a working model. So as you're clicking through here, this is a recording of me clicking through different areas, showing different features, but it gives you that ability to have discussions with the customers and let them see your user workflows. They get to experience it, and they're not having to envision it from screenshots and descriptions. They can actually see it, play with it, and work through them. It's been great. Just like the designs themselves, you can share the prototypes with your customers so they can actually work through them, play with them themselves, give you direct feedback from them.
21:38
Doug Yerger: So when should you use a design tool instead of jumping headfirst into development? Hopefully, some of you have already seen times where you could see a benefit of the design tool, but I'm gonna cover things that I put on the top of our list. First recommendation: if it's a Perspective project, use a design tool. Perspective, as we've mentioned before, is as much a web design as it is an HMI design, so it benefits greatly from using web design philosophies on there. Doesn't mean that you can't use a design tool for Vision. We've done it numerous times on that. But usually, those Vision projects are gonna hit one of the other points we're gonna talk about, so therefore, it makes sense to use it in a design tool. Next one is you have complicated workflows. We always wanna keep that user experience as simple as possible, enjoyable as much as it can be to the user to use, but at least you don't wanna make it work for them to actually use your application. 'Cause you all know, if it's difficult to use, they won't use it. So, excuse me.
23:00
Doug Yerger: So, that means grouping common entries together on the same page, getting everything together as much as you can, getting that workflow nailed upfront, so everyone knows what's going on, and especially the designers themselves, they really get a feel for what needs to be where and going on with that user workflow. Another one is large projects with lots of screens. These projects have a lot going on, and sometimes things that seem unrelated turn out to be related. And once again, those user workflows are gonna go through there. Another benefit on those large projects is when the developers are going in to start on it. Your development team's probably not one person. You're gonna have a team of developers working on different screens. If they have a design to look at, they're all gonna end up having that same look and feel. I'm sure we've all seen SCADA applications out there where all the user workflows are great, everything's there, but some screens just seem a little different than others as you're working through them.
24:08
Doug Yerger: By having a design in front, everyone's working to that same goal and that same look and feel. Next time I would recommend using that design tool is whenever there are unclear user requirements or part of the project is to develop them during the project. We've seen that example earlier where we discussed how we did that with our internal solution, because basically, if you don't have user requirements defined, how can you start development? You're shooting in the dark; you're just throwing things out there. And by doing it in a design tool, you can create four, five, half dozen different ideas to discuss with the customer, and you're not spending all that time to do it in your development environment. You're doing it much more quickly, much more nimbly, and you can make changes very quickly. One example there is we went on a customer site, did a review, and they came back and said, "Well, I really don't like how we're seeing all the building layouts, status of all the building layouts." And on the whiteboard, he drew what he wanted.
25:15
Doug Yerger: The following afternoon, we sent him screenshots from the design tool of the finished design of the updated version, and he was like, "That was incredible getting them turned around that quickly." We mentioned this before when we were talking about things, but if your actual project is to develop the design spec, you're gonna need that documentation, so doing it in a design tool makes those screenshots and everything easy to create, gets rid of a lot of extra work upfront, 'cause you know there are gonna be changes coming when you're having discussions with those customers on getting that design spec approved. Last one, if we consider HMIs at level one, visualization, SCADA at level two, then you have MES, management, and dashboards, and all that beyond that. I would say that SCADA level two and above are always gonna benefit from using a design tool. Not saying we haven't used it for HMIs, but often with HMIs, we'll use it for maybe a simple... To discuss an overview screen to say, "How can we get this clear?" To bounce ideas together. But if it's systems that you've done many times, you probably might not need the design tool and can jump right into development. But that's gonna lead us to our final topic.
26:42
Doug Yerger: Oh, I shouldn't say that, but yeah. So when should we go from design to development? So, when are we gonna start? Basically, as soon as you have a comfort level that your design's not changing drastically anymore. What that's gonna mean, it could mean you officially have your sign-off from your customer. That's the gold standard, but often doesn't happen. A lot of times, you're gonna say, "Okay, well, they've tentatively approved these sections of the design and we're still working with other ones," and it's like, well, you can take those over to development. You don't need to move over with the full design. So you can move over individual parts as you need to. Figma just released a new feature where you actually can flag the components in Figma itself, and saying, "These are ready for development." Nice feature about that dev mode that they have is, once you flag it, if you make any changes to it, it keeps a change history right in the dev mode interface. So, say you tweak the color from your very darkest color to slightly lighter on that, the developers don't have to dig through to what changed. They can actually look at that change history and go, "Oh, the color changed here." They know the one thing they need to update over on the other side instead of checking everything out.
28:07
Doug Yerger: Is it a one-way transfer? So, do we only go from design to development once, and do we never go back? Wish I could say yes, but, in truth, no. If you get a new feature request, you wanna discuss a new workflow, anything like that, you're gonna wanna go back into that design environment. Rule of thumb I like to go is if you have any notion of the question, "Well, what's that gonna look like?" Do it in the design tool. You might just be mocking up one section of the screen. You might be revamping the design completely to do what you're gonna do. But as you use your design tool, it's gonna become a lot faster for you to do that design in those design tools versus doing it in your development environment. One final note I wanna make on this is that I keep talking about design and development like there's gonna be separate teams in your organization. For Grantek, and I think mostly controls engineer... Controls industry, I should say, design and development are actually the same teams. We don't have separate sections yet. We may in one day, as these keep advancing, but currently, it's the same team of people, but it's still design and development as two separate rules that they're working on.
29:30
Doug Yerger: So the same people could be designing in the morning, developing in the afternoon, jumping back and forth all day long, but that's what you're gonna go through. Basically, you don't need that 100% design to jump over, and you can always jump back and forth any time you want. Now, I guess I'll invite Rob back out here to answer any questions you guys all might have.
30:00
Rob Lapkass: Well, thank you for that informative presentation, Doug. And this brings us to our Q&A part of our session. We ask that you direct your questions to one of the mic runners. We've got two people down here on the floor. We've got a couple of folks up in the balcony, so any questions you have for Doug, please fire away. Right here.
30:25
Audience Member 1: Hey. Okay, so we have your design team doing the Figma mock-ups. Did you have any success with exporting that design, whatever done on Figma, as an imported JSON object so we can reduce the Perspective development?
30:41
Doug Yerger: They do have an export ability. It's gonna bring in your basics of size, corner radiuses, colors, things like that, so you could write some scripting and bring those in, but it's not gonna be able to map that a button is a button, because in Figma, it's a rectangle with colors and corner radiuses, so it doesn't know that it's gonna map to a button component in Figma. You probably could add some variables in there and create... Add some additional variables onto that item, identify it as a button, and then build some additional scripting as a, "Oh, I'm going to read this." I see this additional JSON that's tagged with it and go, "Oh, it's a button; I'm gonna create a button control and scheme it that way." So effectively, you could create those schemes. We haven't evolved that far yet. We're actually looking at it ourselves 'cause some of the export features are fairly new as well.
31:39
Audience Member 1: Thank you.
31:42
Audience Member 2: I'm curious about how you manage the design when there are collaborators and the options when you're presenting to customers. Are there different versions that are running at the same time of the mock-up? What's the practical way that you manage that?
32:03
Doug Yerger: To be honest, we often just go on a team share and show them what we want them to see. But there is full version control. You can actually create branches of your design. And then, once a branch is finished, it can be flagged for review, and then the owners of that design file can actually approve it, and it'll merge it back with that branch. So it does have that full control as well.
32:31
Audience Member 2: Can you do some sort of repo integration with it also? For collaboration.
32:40
Doug Yerger: I don't know if it supports things like Git or things like that. The version control is mostly done within Figma itself, that I know of. We haven't really tried that with a DevOps environment. Typically, what we'll do is we'll have, "Okay, this was rev zero," and we'll copy inside the design file itself and copy that design in and say, "Here's gonna be rev one that we're working on," and we'll go from there. And then we'll have branches within that rev until we're happy with it. And then, when it's released to the customer, that becomes fixed and we'll copy it down for the new work in progress. It's all kept within Figma itself, not a repository.
33:23
Rob Lapkass: We had a couple questions down here.
33:26
Audience Member 3: There's quite a few add-ins for Figma. Are there any that you found especially helpful?
33:35
Doug Yerger: I'm trying to remember which ones I have applied 'cause I put them on so long ago. Hit me up after this, and I'll look at my Figma file and tell you which ones I'm using 'cause I actually don't remember which ones I'm using. I know I have a couple of them in there that are used regularly, but I don't remember their names.
33:56
Audience Member 4: Hi, we're heavy users of Figma for our design, and I'm just curious to learn from you. One barrier or one thing that could be more efficient with our workflow is just trying to... When we're working with other designers or developers that we're taking off pieces, just seems like we have a lot of things that are in comments in Figma and then a lot of things that are out on backlogs, or scrum boards, or whatever else. And is there any way you've found to kind of integrate Figma with some sort of other workflows and development patterns like that?
34:24
Doug Yerger: You're saying like an Agile tool...
34:26
Audience Member 4: Yeah.
34:27
Doug Yerger: Yeah, there's actually several integrations. Figma's integration is several of the common scrum tools already, so you can pull things off the board and say, "These are what we're working on," and publish them that way.
34:39
Audience Member 4: Sounds good, thanks.
34:42
Audience Member 5: So early on, you mentioned doing a fairly robust analysis of various tools in the space. What are some of the other ones that you might have evaluated?
34:50
Doug Yerger: We did a high-level evaluation of probably five of them. We had narrowed it down, at that time, to Balsamiq, Adobe XD, and Figma. We ended up choosing Figma, one, a little bit around costing. We like their license model. It has a great... It ties into our SSO, so we actually log in with our domain credentials to log into it. We control access even internally in our organization through AD groups, through our IT department. So it had a lot of those nice-to-have features that we really liked.
35:31
Audience Member 6: I saw in your development that you're using a lot of test data. And I'm wondering, did you use test data from the customer's site or like autogenerated test data? And how did you go about collecting that if it was customer's data that you were presenting to them?
35:48
Doug Yerger: In Figma itself, that's all just pure text. It's just data we made up and typed in for the design to give them an idea of what it is. It's not dynamic at all. It's not tied to anything. And that's part of what makes it stronger, is we're not having to tie it to anything. We're just showing them what it is. We did know, like in the one I believe is from an alarming tool, we knew what the typical data was gonna be. And in that Oreo example, it's like, okay, we know there's a 24-count package, so we're gonna have a tray. We're gonna have an outer wrapper. We made up numbers. We made up... 'Cause it was just ours to put placeholders in that we knew what they were gonna be and it would make sense to a customer on what we're looking at. We have done ones where it's for a specific customer, where we'll take the real data and put it in in place so they see their data in there. But it's still not dynamic. It's for a specific example 'cause it's static in Figma.
36:47
Audience Member 6: Thank you.
36:48
Audience Member 7: Hi, Doug.
36:49
Doug Yerger: Hello.
36:50
Audience Member 7: Thank you for the presentation. That was good. This is just more of a comment. We now use Figma. We have Sam, and I think the biggest benefit that we found out is, as developers, we're engineers. We may not be the most artistically minded people. So despite the fact that Perspective allows us to create beautiful-looking UIs and UXs, it still looks like something an engineer has created. The artistically minded people... It basically allows the more artistically minded people within our company to truly actually help us develop beautiful-looking UX/UI experiences without actually us having to let them into the designer. And that's been huge on both sides. So, we end up with better-looking applications and not messed up by people like this.
37:37
Doug Yerger: Yeah, and that's one of those things we took from that web design world where you have all those wonderful designers that are saying, "This is gonna be a great-looking web page," but they have no idea what HTML and CSS even are. And they don't need to know; that's not their job. And that's what we're trying to separate there. So yeah, you can bring in your marketing department, let them decide what makes sense for it.
38:01
Audience Member 8: Hi. I've suffered most of the pain points that you show there, so I relate to all that. My question is, in addition to the user interface design, do you use any other tool for the designing of the relation between tables, and databases, and such?
38:27
Doug Yerger: We do use a few tools on that. Usually, it's kind of visualization. To be honest, if I'm doing them, I will actually draw them in Figma 'cause it's so easy to draw in Figma that I will just throw them in Figma and design. Some people like using Visio, but I hate trying to draw connecting lines in Visio because you know they're going to constantly change their path and change how they look whenever you touch anything. So I usually just will draw them in Figma myself when I'm doing it, because I've taken that... I know a lot of people use Paint to draw screenshots and all that. I usually just bring up Figma and draw things in there 'cause I can do it so quickly now.
39:07
Audience Member 8: Alright, thanks.
39:07
Doug Yerger: Thank you.
39:10
Rob Lapkass: Well, I'll jump in with one. I've done a little bit of work with Figma, but if someone in our audience was interested in getting started with a design tool like Figma, what might be the top three or five capabilities or design capabilities, the biggest bang for the buck, the quickest impact kind of things to prioritize on?
39:31
Doug Yerger: Well, I'll start with the first thing that's great about doing Figma: it's free to use to start with. You can have two projects in it. You do have limited number of people you can invite to your file, but if you're just wanting to evaluate it, free to evaluate; you don't even gotta need to contact them. You're just gonna log in, create a login on their site, and start using it. Big bang for the buck. We went over those pain points. Really, where I saw its value right upfront was when we had that IIS application where we know the one we have, we're not real happy with it, we wanna just rediscuss these workflows. How do we want it to work? And we actually sat down with a consultant and worked through typing down what we wanted, and making notes, and just discussing things. We had IIS up on a different screen. Discussed what we wanted, and that's how we came up with that list of the workflows, and then we could just slowly grow that from there. So I think that's one of the big ones is, a lot of times, it's just you can do it as a collaborative tool. They even have a whiteboarding section inside Figma that you can put stickies and notes and everything else around there as well, if you're into that phase of it. I usually stick more on the design side of Figma.
40:57
Rob Lapkass: Sort of a follow-on to that, what kind of design capabilities would you like to see built or added on to Perspective? 8.3, of course.
41:09
Doug Yerger: Being able to integrate with the design tools, as the gentleman out there mentioned, would be great, where we could actually bring things natively into it. Obviously, having to set them up and saying it is a button or whatever, setting up the right class, but that would be a wonderful feature.
41:23
Audience Member 9: So while we're all waiting for 8.3 and those drawing tools, I can see that Figma might be helpful for like SVG creation and sort of standardization that you could then use to import.
41:37
Doug Yerger: Yes, and when you're drawing in there, you can draw basic shapes and things like that, and you can export straight to SVG.
41:46
Audience Member 10: Did you investigate Lucidchart? Did you do something like that? Did you look at that at all?
41:51
Doug Yerger: We had not looked at that one very much. Our analysis started with saying, "What's really big in the web industry?" So we went with the top hitters there, was what we were gonna start with, because we figured that would be our best bang for the buck and have the most knowledge out there for learning it ourselves.
42:14
Rob Lapkass: Oh, looks like we got one over there.
42:18
Audience Member 11: Hi, Doug. You mentioned that oftentimes, the designer and the developer are the same person. What's your opinion on whether that should actually be the same person or whether there should be a separate job for that?
42:32
Doug Yerger: I think that in our industries currently, you're gonna see that developer staying as part of the design team. But as the gentleman from Kanoa mentioned getting in people who are graphic designers, and that might really help with getting snazzier layouts and more eye-catching ones, especially when you're dealing with dashboards and management tools where they want all those things to be flashy and really eye-catching, versus an HMI that we're bound by ISA101 what we're supposed to make it look like.
43:07
Rob Lapkass: Alright. Well, it looks like we're drawing near to the end of our scheduled time. Thank you for all the questions, and how about another round of applause for Doug?
43:21
Doug Yerger: Thanks, Rob.
Speakers
Doug Yerger
Principal Engineer
Grantek Systems Integration
Come and learn with Cirrus Link and Snowflake what your data has to say. Snowflake, Inductive Automation & Cirrus Link have partnered to provide Data Cloud Solutions. With Ignition UDTs, MQTT, and Sparkplug, discover how easy it is to leverage Snowflake’s platform to gain derived data insights immediately through native AI tooling. Learn about the impact of the recent partnership of NVIDIA and Snowflake. See how this disrupting technology, in conjunction with Ignition, will elevate and simplify your journey to data insights.
Transcript:
00:00
Travis Cox: Let's do it. Hello, everybody. Welcome. Hope you guys had some fun here today, so far. I know the session's been pretty amazing so far, yeah? We definitely have another great session for you now. Hope you guys are excited about this one, Accelerator for Driving Edge to Cloud Business Outcomes, and we're gonna show a complete edge-to-cloud solution today using data models, and we're gonna actually bring in the Data Dash and kinda show you how all that comes into play.
00:30
TC: Got three amazing speakers, really two, besides myself. We got Arlen Nipper, who is the CTO for Cirrus Link Solutions. He's the man, the myth, the legend behind MQTT. I'm sure a lot of you know him. Excited for having him here today. We also have Pugal Janakiraman. He's the Industry Field CTO for Manufacturing for Snowflake, and he's responsible for building higher level solutions to kinda drive business outcome for manufacturing. And we're really excited about this particular session. We're gonna kick it off with Arlen. He's gonna show, we're gonna show Ignition Edge and Ignition, how we can bring that in through MQTT to the cloud, bringing that from IoT Bridge over to Snowflake. We're gonna show you that whole journey here this morning. So Arlen, without further ado.
01:16
Arlen Nipper: Thank you. Thanks, guys. Thanks, everybody. Everybody enjoying it? This has been awesome so far. So real quick, Cirrus Link Solution, we've been around... This is our 11th year now. We've been growing year on year. This has been a fantastic journey for us. And we started eight years ago. I was over in stage two. And I did the first ever MQTT engine demo. That was our first Ignition module. From there, we've developed a whole line of Ignition modules, as well as products that we support, including the Chariot standalone MQTT broker, and all of the IoT Bridge products that we've developed for getting data out of Ignition into the cloud. So where I'd like to start is largely due to the community and all of the feedback and the involvement of all of you.
02:13
AN: We started with MQTT and the first demo that we did was just Arlen and one of the engineers I worked with. And we had a little binary way that we published MQTT. It was great. As we started going to conferences and all of that, everybody goes, oh, we do MQTT, and we do MQTT, and we do MQTT. But if we would've plugged it all together, nothing would've worked, because the topic namespace would've been different, the payload would've been different. So we started on a journey for our own sanity five years ago. We said, mm, let's invent a spec. And since we have Engine and we're running on Ignition, let's call it Sparkplug. And so we started the Sparkplug specification. And again, it was internal. People started looking at it, Ignition users. I still remember Chevron going, "Well, Arlen, who owns that?" And we said, "Well, it's up on our public GitHub site. You can download it, it's open source." "No, really, who owns it?"
03:12
AN: So at that point, we kinda went on this journey of taking the Sparkplug spec to the Eclipse Software Foundation, which is a standards body and we worked for three, almost four years, in getting the spec cleaned up and getting it ratified. And at the end of last year, Sparkplug 3.0 was officially released. And from that, what you see up here, is that resulted in the release of a Technology Compatibility Kit. So that means that if you're doing MQTT Sparkplug, whoever wants to do it, you can download the conformance kit and you can run your client against it and get conformance-tested and get listed up onto the Eclipse website, so that we have interoperability. So when Todd Anslinger at Chevron orders your module or buys your product, he can be assured that it is Sparkplug B compliant going forward. And then other thing interesting from that is that because of Eclipse and their relationship with the IESO, IEC standards body, now Sparkplug is pending, but it'll be an international standard, IEC 2237. So now Sparkplug will be an international standard.
04:29
AN: And then the last thing I wanted to mention is that I know a lot of you, especially in manufacturing, you deal with a protocol called MTConnect. MTConnect's been around for about 15 years. There's probably over a million CNCs and Lays and Autoclaves that talk MTConnect. And the cool thing about MTConnect is they already do data models, but they do them with XML. So if you want to get the spindle speed from a current MTConnect, you do a get and it sends you back a 300K XML file that you can parse down and find the spindle speed. And what they've realized is they wanna be able to publish those MTConnect models using MQTT Sparkplug. So we are working with the MTConnect Foundation to natively have MTConnect agents running on CNC machines and Autoclaves and all this other equipment, be able to publish that information natively. And you can imagine, that means you could have a whole factory with all of this machinery. You turn it on, it publishes into Ignition, you automatically learn everything about those machines, which would be pretty cool. That's our end goal, if you will.
05:46
AN: So the other interesting thing, we hadn't even thought about it, so I had Chris run a report and say, well actually, how many people are using MQTT Sparkplug? And at this point in time, there are over 1,300 separate companies that are using MQTT Sparkplug. And six years, seven years ago, if I were to put this pie chart up, it would have been 95% oil and gas. And over the last four or five years, you can see, we've expanded pretty much across this technology, across all of the verticals that Inductive Automation is in. So the adoption for MQTT Sparkplug across all of the industry section has been huge going forward. So real quick, I just wanted to review this. What does Sparkplug do? Well, it does four important things. Number one is it gives you plug-and-play auto-discovery. So with a well-known, with Sparkplug, you know what the topic is, you go subscribe to it, it publishes a message, you get the message, and you go, oh, I know where you came from and I know what you wanna do.
06:58
AN: So, high level, gives you plug-and-play auto-discovery. Number two, very important, as we're finding out, as Colby and Carl talked this morning, this is digital transformation. And to do that, you can't have data in the data swamp, you have to have contextualized data that you can actually see from a business-level standpoint of what that data is. So with Sparkplug, we can publish a model, or the definition of that. Now, you instantiate that and create the asset, and I hate the word, but we'll call it that, you create your digital twin. Now, everybody's notion of a digital twin is different. I think ours is the best and we'll see that in the demo here in a little bit.
07:43
AN: The third thing that Sparkplug does is that we have been wrestling with registers from PLCs and our sensors and our flow computers for the last 47 years that I've been doing this. Modbus register 40002, and it's got a value of 17. 17 what? Degrees, gallons, we have no idea, so what do we do? We sat a human being in a chair, and we said, "Okay, Arlen, engineering high is this, engineering low is this, engineering units is that, and I hope I typed it all in correctly because you're gonna run your plant with all of that information that I just typed in."
08:21
AN: But with Sparkplug, we create a digital object that I can go back five years from now from this Snowflake demo that I'm gonna do, find that tag, and I can tell you the name, the value, the timestamp, the engineering high, the engineering low, the quality, and any other custom property you wanna decorate that measurement with and get it into Snowflake, we can do that now with Ignition. And then the last thing Sparkplug does is it gives us that state management. Because if I can't guarantee that I know the state of all your process variables, if you're doing command and control, or you're going to the cloud, then you're not gonna trust that, you're not gonna use Sparkplug. So, Sparkplug tells you that you are online, that value is last known good, and then if your network goes down, you're gonna know about it, all the tags will go scale in Ignition, but when it comes back up, we know at the edge, at the Ignition Edge, everything we would have published goes into a store and forward queue, and now we can do store and forward.
09:24
AN: So with Ignition on the left side, we've got that brownfield connectivity that we need to connect to all those different protocols, all those machines, and bring that into the Ignition platform. From the platform, we've got a really cool tool called UDT, and with that UDT, we can organize that data, we can give it context, we can give it engineering use, give it engineering high, we can give it asset properties because it's very important. Think of like PI Asset Framework, you've got all your asset information over here, which is different from your historical data over here, but we're gonna be able to put that together in one single database, and then we can take MQTT transmission and publish that to an MQTT infrastructure, where it can be consumed by what? Well, it can be consumed by Ignition, for sure, but we're introducing IoT Bridge for Snowflake. So those Sparkplug messages coming from Spark, from our MQTT transmission module into a server, well, IoT Bridge sits there, it's an MQTT client, it knows how to receive those messages coming in, and then using Snowpipe Streaming, we can do sub-millisecond inserts into rows into Snowflake data tables.
10:45
AN: So that means that we can take all of that contextual data we have in Ignition, and by a click of a button, get all of that natively into Snowflake, the data cloud platform. But wait, what is Snowflake, right? So I'll bring Pugal out, Pugal will tell us. Now, Pugal and I have a bit of a history. We've been working together since AWS IoT, and right before Christmas last year, Pugal called me, he said, "Hey, Arlen, I'm the manufacturing CTO for Snowflake," and I said, "Great, Pugal, that's fantastic. What's Snowflake?" And so here it is, it's incredible technology, and here's Pugal to tell you about it.
11:31
Pugal Janakiraman: Thanks, Arlen. Okay. So what is Snowflake? There is a reason why we sat together and picked Snowflake as a platform to build this out, because this is an Industry 4.0 journey. There is a whole bunch of requirements around Industry 4.0. One is that the attractive thing around Industry 4.0 and value proposition is you need very high level of compute, you need an extremely performant database out there, because this is a big data problem. You're bringing in huge volume of data, spanning IT and OT data sources into one location, whether you call it as unified namespace or a centralized location where you can facilitate IT and OT convergence, you need a high-performance database out there. So, the challenges I have seen, been in the middle of a few hundred of these Industry 4.0 initiatives, is today if customers want to go build an Industry 4.0 solution, if they pick a cloud vendor, you have to learn around 200, close to that amount of services, elemental services, stitch it together to build a solution, govern all of it, go through the whole journey of learning that and go from there.
12:45
PJ: That is hugely challenging for most of the customers we work with. So what do we do here? Snowflake is a globally connected cloud vendor agnostic data platform. So what does it mean? You don't have to go learn hundreds of services from multiple cloud vendors and build an Industry 4.0 solution. We got that covered. It's one single managed service from Snowflake. We take care of security, we take care of governance, we take care of scalability. Every one of it is taken care by us. And after that, much more cool, your API of choice is still SQL. You don't have to learn hundreds of new services. You continue to use SQL as a mechanism to leverage data which is present in Snowflake, whether it is around building dashboards or you want to build an AI and ML model or build inference around those models, you still use SQL as an API for doing that.
13:38
PJ: So this is extremely powerful, one-stop shop, easy button to adapt to the cloud. And that's what we bring to the table, Snowflake as a company. The other one, as I said, you need a highly performant database to do that. So Snowflake is a cloud-native database built 100% on cloud, and it is one of the most performant database today in the market today. Again, this is not a marketing statement. If I had to pick a number, I just brought up a number on what really is the kind of transactions which happens in Snowflake today. So April of this year, 2.9 billion queries was launched in the Snowflake data platform. And around just in one single customer, one single table, there are around 50 trillion rows out there. For us to go operate and pull up millions of rows and visualize that, it's no big deal. We do that on a daily basis.
14:33
PJ: And it's around the largest number of queries within one-minute interval a customer is executing, around 160,000. 177 petabytes of data just on five customers, what is being maintained within their database. So big data handling, we do it on a daily basis. That is our lineage. We started as a data warehousing company and built a data platform around it. So handling this volume of data is pretty much a daily affair for us. So other one around collaboration. There is a whole bunch of customer ecosystem built around Snowflake. Data sharing between different customers, it's a matter of you don't copy the data over, you can just refer to the data and still run analytics. Why is it important? You got a whole bunch of OEMs and you got a whole bunch of suppliers out there. If you want to share quality records or you want to share connected product performance data to your supply chain, you don't need to copy the data over.
15:33
PJ: Data can still reside on-premise or it can reside in whatever is your cloud vendor of choice. You can run analytics without the data movement out there. So we provide that kind of collaboration mechanisms. Another cool thing, with the volume of data, just visualizing billions of records or millions of records, human mind cannot comprehend that and derive inferences out of it. We provide AI and ML-based analytics. In fact, yesterday we demonstrated how you can just provide the data set to our pre-built anomaly detection algorithm. It is going to tell you that there is an anomaly going to happen and you might want to take a look instead of getting into an unplanned downtime kind of situation. So we do that as well. We provide all this reference architecture as part of Snowflake data platform. And obviously, with all these capabilities, it accelerates the analytics adoption, whether it is on IT or OT data or a mix of both.
16:31
PJ: So that's what Snowflake brings to the table from a manufacturing perspective. There's a lot of technical detail behind this. Feel free to stop by at our booth. We can go through this in detail on, any level of detail on what you would like to understand around what Snowflake brings to the table, technically speaking. Just to summarize, so what does it mean for customers and partners? So we got it covered, whether the data is sitting in silos of database and on-prem systems or it could, across different organizational boundaries, data is distributed, or it is distributed across multiple cloud vendors, across multiple regions, we can run analytics seamlessly. So I think that is one of the major value proposition we bring to the table. So any data products you build and offer to your customers, it's global in nature. It can scale. We got the security covered. There is seamless collaboration which is possible between you and your customers, and your suppliers.
17:31
PJ: It's not an issue at all, okay? Performance, as I said earlier, we got the performance factor covered as well, okay? Added to that we got thousands of customers today using Snowflake for various analytical needs today with pre-built integrations with popular systems like SAP, in addition to OT systems which Arlen talks about and which he's going to demonstrate as well. And we provide Snowflake Marketplace where you not only can take the products you've already built today on Ignition, you can monetize those data products and offer it through our marketplace to thousands of customers we got around the world. So that's what Snowflake brings to the table. Instantly scalable. You can build global data products which you can take it to your customers. So pretty much that's a Snowflake value proposition.
18:25
PJ: So again, quickly before I hand it over to Travis, this is how the journey started for us. Ignition on Edge with zero coding using Snowpipe Streaming API, send the data to Snowflake. So again, this is one of the best integration built by any cloud vendor as of today from a cost point of view and a fidelity of data point of view. To accurately represent every possible manufacturing data in cloud, you need to support around 13 data types. No other cloud vendor does that today. So maximum they support is four data types, which means all the other data types, you slam it on the existing data types you support. And there is always loss in translation issues associated with that.
19:10
PJ: In our case, we support all 13, Sparkplug B is an associate. We support all 13 of it, and this is the lowest possible cost integration with high performance, near real-time analytics, we can perform as well. That's what we built and launched as part of manufacturing cloud between Inductive Automation, Cirrus Link, Opto 22 as a joint solution offering. Okay. We have made that much better now with Snowflake, with Ignition Cloud Edition as a connected applications available in Snowflake, and along with that, in addition to OT data, you got IT data, you got third party data like weather, traffic information, supply chain information already being managed in Snowflake, you have an opportunity to build applications on top of Cloud Edition and take it to your customers. And every applications you have built and launched at Edge seamlessly will work in cloud, with this edition. I think again, this is a cloud vendor perspective. With that, I'm going to give it to Travis to talk about from Ignition point of view.
20:11
TC: Alright. Thank you.
20:19
TC: Alright. So everything that we are showing on this slide here is something that's available today. And we're gonna show a full example of how, with a demo with Arlen and myself, how we go from Edge to Cloud going into Snowflake, back into Ignition Cloud Edition so we can show some dashboards, get information out there. And what we're talking about is what Snowflake's calling Connected Apps, right? We're simply gonna be deploying Ignition Cloud Edition to our Azure AWS account, and we're gonna connect to Snowflake through JDBC, and be able to be able to get that data from there and put it onto dashboards. So we're gonna show you what that looks like. However, we're thinking future and how this can even grow and get even bigger as we go forward.
21:01
TC: And there is a potential future landscape where... Whoops. All of that can be simply running all within Snowflake's cloud environment, so that you could spin it up really, really fast and get these solutions going quickly. So, but the idea is really simple, right? The focus of this is being able to get data that is modeled, customers need to... Basically it's a culture shift, right? Where they have to think about how they're gonna standardize on data and their data models across their entire organization, and the idea of this is to get it into a storage where that data is stored with its context, so we can go a lot further. So, what's really funny about this whole thing, when we got introduced to Snowflake is, at the end of the day, it's a database and we can connect to it just like we connect to every other database within Ignition through JDBC. And you can install that JDBC driver really easily in Ignition and you can issue queries just like we do with any other database.
21:54
TC: And so, we're gonna show that here today. It's very, very easy to get connected, very easy to issue those queries. We can issue anywhere within Ignition and they also do provide REST API so you can actually go a little bit further as well with that. There was nothing we had to do in day one. We just had to install the JDBC driver and get started. And from the very beginning of our company, we've been centered around SQL databases. This is just now a database that's highly scalable, it's in the cloud that allows for a lot more opportunity that we can... Where we can... For what we can do with that data. And a lot of that is around AI and ML, as Pugal was saying, there's anomaly detection and forecasting services that are built into Snowflake, and you basically train models and you can can do the detection on those just by running simple SQL queries against Snowflake.
22:45
TC: So it's very easy to work with this. However, it doesn't have to be within that. Any other service or tool that's out there that wants to be able to do that same thing, you can connect to the database the same way and you have all that data, you have all the context, you can go and learn everything that's there and go a lot further, right? And with this, what we're talking about too is not only you get the storage, you get these kind of services, but you get those results back into Ignition so that we can provide that information back to our operators, can provide alarms, whatever it might be. So it's kinda that full circle kind of integrated solution. So that's all I wanted to say really, in terms of Ignition and Snowflake. We're gonna get into the demo a lot more, but I did wanna bring up the Community-Powered Sparkplug Data Dash, because we thought for the conference here, we wanted to show this whole thing in action.
23:31
TC: And well, we got all the community to participate, where they're basically leveraging Ignition or Ignition Edge or potentially have a smart device that speaks MQTT Sparkplug and they're gonna build a data model, publish that up to a Chariot broker that's in the cloud. Real simple. Then we can use the IoT bridge for Snowflake by Cirrus Link and all that data from Sparkplug goes directly into the Snowflake database. We're showing it on a dashboard within Ignition, but it's going to Snowflake database as well. And we can easily go and query that data. And we went one step further and we're actually showing the anomaly detection within the Data Dash. So we'll do a demonstration of this in just a moment, but wanna show you just how easy it is for this solution. And it's all something we could do right now. It's very, very simple to get started with this whole thing. So with that, Arlen, I'll bring it over to you for the demo... Start at the demo here.
24:23
AN: Alright. Cool. Thank you. All right. Real quick, the topology is, I've got some simulated devices. Some of the devices are in Stillwater, Oklahoma that I'm actually talking to publishing those up to distributor running on Ignition on an EC2 instance in the Cloud. And so what we're gonna do is we're gonna go into Ignition, we're gonna build our "digital twins," but they're much more than digital twins. We're gonna show all that context and then we're gonna say, "Okay. Well now we've got this single source of truth. How much code are we gonna have to write to get it into a highly scalable Ignition or into a highly scalable cloud database?" And then from there, Travis is gonna go, "Oh. Well I've got that data in there. Let's see what I can do with Ignition Cloud Edition."
25:13
AN: So we're going to do the live demo, which we always love doing. All right. So, I know it's a bit of an eye chart, but it's hard to zoom in on the Tag provider. But I've got a Tag provider, Smart Factory and Smart Factory, underneath that I've kind of got the whole unified namespace of, I've got Smart Factory one and under Smart Factory one, I might have some building management systems because we've got BACnet/IP with Ignition now, I might have some Opto 22 KYZ meters and I've got my equipment in the factory, right? I've got CNC, a lathe, haul-off machine. And then down here you can see I've got the notion of an extruder. And this extruder has some process variables, some temperatures and some pressures and things like that. And had we... The way that we've been doing this going forward is that executives came to operations, they go, "Hey guys, we heard there's digital transformation. We gotta get all of our data in the cloud."
26:15
AN: "Okay. Well let's put all of our data in the cloud." So they go out and they write a bunch of code and they go in here and they go, "Okay. Let's do this and then let's pretend this is the cloud over here. And boom. Okay. We're done." We've got all of our data going into the cloud. It's all going into a data lake. But wait a minute, without some context, how can I use this? So I come into my data lake and I wanna look at something, and I've got 148 degrees, 148.85 degrees, where'd that come from? What machine was it attached to? What plant did it come from? I don't know. Oh. That's over another database. So I need to write some code. And then maybe there was some other asset information, now I've gotta get some code. And what happens is we've got terabytes of data hitting data lakes in the cloud and nobody's doing anything with it because it's too hard and you can't get any context from the data. So, let's drain the swamp. And before we do that, let's go into that extruder and actually give it some context.
27:34
AN: So I wanna build a UDT of an extruder model. And every time that extruder shows up, the first thing that I want to do is I probably want to give it some asset information. Asset ID, asset serial number, location, anything else that you want to be available to you on each instance of that extruder in Snowflake that you want to be up there, you can define in your UDT and it'll be automatically published up there. And now that I've got my asset information, I can go back to that melt temperature and say, "Look, for that machine when melt temperature shows up, I don't care if it came from Allen-Bradley PLC or a Modbus or Rockwell, I want to know that it represents melt temperature, it's 0 to 225 somethings. Those are in degrees C, it's using absolute deadband.
28:22
AN: There's my deadband percentage and my scale mode and anything else again that I want available to me in Snowflake when I'm done with this demo, I can define in this UDT. So now that I've defined my machine, very, very simply using tools on platforms and I can go in and define a dryer and a bunker, and now I can come back and take those nebulous tags and look at the fact that this extruder actually was, extruder seven, was a model of an extruder. And you can see here I've got my asset ID Wile E. Coyote, asset serial number B549 courtesy of Hee Haw, location in Oklahoma and all my process variables. And since it is a UDT, I can use the Power Perspective or Vision to be able to start taking that and maybe when the extruder feeds into a bunker, and the bunker feeds parts when it comes out into a CO2 dryer, and maybe I've got an Opto 22 EMU and it's measuring the three-phase power on that extruder. But my point is, is that at 3:14 on September 27th, this is the single source of truth of my factory.
29:48
AN: This is the single source of truth. I didn't define it in the cloud and then try to bring it back down and iterate back and forth, I know this is my factory. So I just came off of a really cool demo from Snowflake and I go, "Wow. What if I could get that single source of truth into Snowflake? How hard would that be?" So what I'm gonna do is I'm gonna go to the Azure or AWS marketplace and I'm gonna download the IoT Bridge for Snowflake. I'm gonna install it. And when I install it, it's going to go in to my Snowflake console here and it's gonna create two very simple databases, a node database and a staging database. And in here, I have a very simple Sparkplug device message table that you can see right now is empty. And when we installed it, we also added some convenience and I could get a view, and since it's all going up from UDTs, I've got a view that says, "Hey, tell me about all the UDTs that are in that factory or all the factories." Oh, well, I don't have any factories yet. So I need to fix that. Let's go back into our Ignition configuration. And you can see here that I demo a lot. I've got a lot of tag providers and if you look at Smart Factory, it's pointing to the Snowflake MQTT server. So that's great. I'm gonna come over here and I'm gonna enable my MQTT transmission. Okay? And when I did that, what happened?
31:36
AN: When I did that, MQTT transmission looked into the Smart Factory Tag provider and it says, "Hey Arlie. You've got all these models, you got dryers and extruders and conveyors." And so we're gonna publish those using Sparkplug. And the Snowflake Bridge was sitting there listening to an MQTT server. It was a very... It wasn't doing anything. All of a sudden, messages started showing up. Remember that advantage, auto discovery. "Oh. We got an extruder." Now I'm gonna put that into Snowflake using Snowpipe Streaming. So 15 seconds ago, I didn't know anything. Let's go back to our Snowflake console and let's hit Refresh. And lo and behold, we now have a Smart Factory 1 with views of every machine that we've got in that factory.
32:32
AN: Before I go look at one of those, let's ask the SQL database, what models do I have? Let's ask it again. "Oh. Arlen, you've got an extruder, a chiller, a dryer." So now I literally know everything that was in that UDT on Ignition. Now that I know all of the models, I can go back over here and say, "Well, now that I know that, let's go to that extruder and let's do an SQL query, which everybody knows SQL and single, this unified namespace, Smart Factory, Smart Factory 1, line seven, extruder seven, when did the message arrive? What was its sequence number, and all of my process variables in real-time, all hydrated, no holes in the database. I literally could start using this today. So if I know SQL, it took me five minutes to get all my machines defined, get everything up there in real-time. And now for every machine I had in that Smart Factory, I now have a single source of truth of all the real-time data is showing up in Snowflake. Pretty cool. Now, once it's in Snowflake, what can we do with it from there? And with that, I'll turn it back over to Travis.
33:55
TC: Sweet. Alright. So, again, once it's in the Snowflake database, it's just a matter of going and doing, issuing queries against that. So, I'm going to switch over and show you the Sparkplug Data Dash here. And so this is our server that we have that's running in the cloud. And you can see that we've got a Snowflake database connection here that is connected and valid. So what we did first though is we went to the driver's part here in Ignition and then JDBC drivers, we had a bunch of pre-built ones that come with it. Now we're working on getting the Snowflake one built into Ignition, in a new build. But for now, you can go download the JDBC driver and simply just go ahead and install it.
34:37
TC: And we have some instructions on that, a little Read Me on how to do that. Real simple. Get that installed. Once we have that installed, we can go and make a connection like we have here. And so just like any other databases, of course, once I have that valid connection, I can go anywhere in Ignition, and I can use it. So I'm gonna open up the designer here and what we've done for the Data Dash, and I'll go and show you the application in a minute. But we just basically, if I go to the Snowflake, we have a bunch of predefined name queries that basically go and query certain tables. So, he was showing that, that Sparkplug device messages table, and so if I go and look at this, you can see that we're just doing a standard select query against that Sparkplug device messages table.
35:21
TC: And we're looking for... And this one I'm filtering for specific group ID, Edge node ID, and a specific data model that I wanna look for, that we're using for the actual dashboard itself. So it's incredibly easy for me to go into Ignition. In fact, we can go into the database query browser against the Snowflake database and we can easily start saying, "Select star from stage DB, sparkplug device messages." And so we can just bring that data back and anywhere in Ignition within that. And in those queries, we can have... There could be millions of rows. In fact, with the Data Dash, we've got over 120 million rows at this point that we've been logging with that and it's very, very high performance to get that information back.
36:12
TC: So as you can see, that's how we have developed it with the Data Dash. Let's actually go and show the outcome of what we built. So we're gonna go to tryignitioniot.com. So if you haven't checked out Data Dash, simply go to tryignitioniot.com on your phone. You can go... There's the... On the tech lounge, there's a TV up there that has this application open. So here's what we did. We asked participants to go and do exactly what Arlen just showed. He built an extruder machine, a data model. Build any kind of data model that you want, right? Provide that context, provide those parameters that you wanna associate, provide the engineering units and the engineering ranges of the values. Basically create a UDT within Ignition or any other device that speaks Sparkplug, and have that published up to a cloud MQTT broker. With IoT Bridge, everything he showed, that all came into Snowflake and it's all ready to be discovered. So, this dashboard, you can go and you can actually go and see these data models. So if I go look at, for example, I'll use Opto 22's EPIC c-store. We're just showing a visualization of this. Let's go to a different c-store.
37:20
TC: So, we're just showing a visualization of that data model. So you can see the information up here. So there's a perspective template that corresponds to that data model, so that we can easily look at that live data. But again, that history is all going into Snowflake and it's accessible so that we can query that. So let's go over here to the Snowflake tab. And the first overview of this is basically just a discovery of all the data models that happen to exist within Snowflake. So much like he just showed how all those views got created, well now we can actually go and query those, and we can discover information about this. So for example, let's go in. Since I was using the Opto 22 c-store, I'll go into the Stillwater and look at that particular data model. So there, on the right-hand side, we can see all of the parameters that are gonna be... That are part of this is like the UDT definition. All the parameters that are there, what the data model is, here are all of the process variables that are in there.
38:17
TC: For the process variables, like, for example, if I look at this freezer compressor, I'm gonna get, of course, that it's KW and I get the range, 0 to 1500. So this is all... I can have Ignition completely independent from all of the... Not even connected to the MQTT broker, and I can see all the data models that happen to exist within Snowflake, because again, using Sparkplug, those templates were sent to a broker and into Snowflake, again, it's that same exact context. So very, very easy to see that. So this overview is kinda just showing all the data models that are in there, and we've got a whole slew of them with this, so let's see if I can clear this out or there's no exit on that, but we have a whole slew of different data models that are there. At the end of the day, then we can go and query the history very, very easily, and build dashboards and we can go a lot further.
39:06
TC: So I'm gonna show you two kind of demos, one is we're just gonna go and query the history, bring it back into trends, so we're gonna go and select... I'll need to go down to one of those instances, those data models that we have, I don't wanna look at that data, so we'll go... Again, we'll look at the Opto 22, since we're on there, we'll go to Stillwater, look at the EPIC c-store, and because we have the data model stored, you can see here's all the tags, all the process variables associated with it. We already know what those are, and I'll go and select a particular instance. So here's our c-store 405, here's my date range that I'd wanna query the history on, and we'll just select some process variables. I'm not gonna select all of them, we'll just do, let's say, the compressor, all the freezer system, we'll bring those back. I'll apply. And basically, at this point, we're gonna go and issue the... For that time period that we have up here, we're gonna issue a query to get back that history. The idea is that we can simply just go and query all that data. We can bring it back on trends... Hey, there we go, just took a few for that information to come back.
40:03
TC: So, not only is all that data stored there, we can discover that, we can understand what it is, we can query it, put it back onto a dashboard very, very easily. So that's kind of one demonstration of what we're using with Snowflake. The other, of course, is going to the ML/AI side. We're talking about anomaly detection. And so if I go back over here to the map and we look at a particular location, let me go back to that, that Stillwater one, on that freezer, where we have that Compressor KW, we do have the Anomaly Detection turned on in Snowflake. We trained the model based on good data already and just basically ran a SQL query to train the model. And once it's trained, then we continuously, since that data is piping through the bridge into Snowflake all the time, on the Snowflake side of the task that's running, very, very quickly, that is basically looking at the last bit of data we brought in and we're gonna run it through that model to see if it detects any anomalies. Now we're kind of manufacturing this by clicking a button that says Trigger Anomaly, but it is going through that whole system, kinda coming back, where we're getting that feedback back in Ignition. So if I go ahead and do that, what we're doing is gonna...
41:08
TC: We're gonna spike that Compressor KW, which of course, is gonna cause that anomaly to happen, but as you can see, that came back extremely fast, running that model very, very quickly on the Snowflake side. We got the anomaly that's an alarm within Ignition, we could do something about that, but those can be running all the time. And because we trained the model off of that UDT, any new site that has that same data model can take advantage of that same... The same thing that we've built, so we can easily do anomaly detection across the entire enterprise on those data models.
41:41
TC: So it's very, very easy to get these things going, to go further with all of this, not only are we showing how we can get the data into... Get it into Snowflake and how we can leverage those UDT models, we can easily bring it back into dashboards and show that data very effectively. So with that, I think we'll just be opening up to questions.
42:11
TC: So anybody have questions out there? Yes? We have one down here...
42:14
Speaker 4: I know it's hard to say, but what's the rough startup cost of getting the MQTT,
42:22
And then the Snowflake?
42:26
AN: Free. It's one of the rough startup costs... Everything that you're seeing there, you can run in trial mode, right? So you'd probably have to get a test account, and you can get a test account from Snowflake. For the IoT Bridge, that's 30 days free. So you can do it for 30 days, basically for free.
42:47
TC: The whole thing would be, so you got... You've got Ignition you could do in trial period, no problem, in trial period, we can also provide longer trial licenses if required. The IoT Bridge is 30 days free, easy to work with, and with Ignition Cloud Edition, that would be the broker, that would be in the cloud, you'd wanna have some broker up there, it could be that, it could be something else, so you can run that for a couple of hours or a few hours. It's pretty low cost, maybe a dollar per hour. And then with Snowflake, I believe, when you create the account, there's a... I think credits you already get.
43:17
PJ: Yeah, they are some credit options, we can work with you on that. I would say it's pretty much everything is... When you do the compute, you do the reporting, it's pay-as-you-go... It's like electricity bill. When you use it, you get the bill; otherwise, we're not going to charge you. So, pay-as-you-go model. That's what it does. And again, I think having done those kind of Industry 4.0 initiatives,
43:38
AN: Multiple effort, I would say this is the lowest cost possible startup cost around Industry 4.0 because even four years back around what the initiatives which used to happen, a few hundred thousand dollars, we can connect three machines and we can do a business outcome. That was the pitch. It's no longer there. It'll be hardly a few thousand dollars to get it started. At pilot level, I don't see that as a challenge.
44:06
TC: And yeah, and one thing to mention is that... Oh, I lost my train of thought... Oh, well, we'll come back to that.
44:13
AN: Well, no, I think... What I was gonna mention is that, the other thing that's really different here, it was an advantage, Snowflake didn't have an IoT service when we started this project, so they had no notion of charging by the measurement. So it doesn't matter if you're publishing a 1000 tags or 50,000 tags, you're running in a compute warehouse, so you're not charged by the measurement like you are on all the other data services, you're just running in a compute warehouse; as long as you stay within that warehouse, you know your cost.
44:47
PJ: In fact, there are two advantages which came with that. When Arlen mentioned there is no IoT service, [0:44:53.8] ____ but last year when I took this role, I told Arlen that this time, when we do the integration between Snowflake and at the edge, for edge-to-cloud business outcome through Inductive Automation, they should be the best-in-class integration ever built on this planet, so far. Again, I think there, we had an advantage because we didn't have an IoT service. There are two major advantages which came with it; one, there is no additional cost factor. We are not gonna charge you for an IoT service which other cloud vendors are going to do.
45:26
PJ: The other one, pretty much every IoT service as a sub-optimal view of the manufacturing asset world, and they have done the modeling, that always comes to the challenge when you try to move that edge data to the cloud, there is always a compromise made on the data model. When you try to change the data model, you've got a bigger problem associated with it. So these are all the challenges we never had, so we made sure that we can handle every possible data types. And data ingestion, in our viewpoint, should be a commodity, because either way, we don't make a lot of money in data ingestions, it's pretty much nickel and dime to move the data from edge to the cloud, it's really around compute, that's how we charge you. So we are trying to keep it as easy as possible to move the data into the cloud.
46:09
TC: I remembered my train of thought real quick, which is for existing customers who already have Ignition, it's incredibly easy to take advantage of this. We're talking about simply just getting MQTT transmission, just plopping it in, if you have models already built, it'll be that quick to get integrated again.
46:24
AN: Exactly. If you already have Ignition, we're probably talking less than a day.
46:27
TC: We're talking, for new customers though, for people that maybe have a new site or a new facility or something, or they haven't had Ignition at all, it's going with Ignition Edge or your full Ignition, putting it in to connect to PLCs, bringing those... Building the models is super easy. In fact, we've also built a kit with Opto 22, where they have their EPIC controller with Ignition Edge on it already ready to go; especially for energy, with the energy monitoring units to basically pump those energy UDTs in the cloud, so there's a lot of easy ways to get started. Other questions? There's one in the back up there.
47:07
Speaker 5: So, for the piece that you were speaking about, in terms of ML or the pre-trained models, can you go into a little more detail about A, the training that goes into those pre-built models and B, the explainability behind those models?
47:21
TC: Yeah, so for the Anomaly Detection Service, the way that that works is, you're basically kinda like calling a stored procedure almost. You're specifying, you're doing a train model call and you're specifying the data set that you'd wanna train it on. And so in our particular case, we're doing one of those [0:47:37.1] ____ as of use that Arlen showed, for a particular...
47:39
TC: So we did it for this, the c-store, we did it on that, on that freezer compressor, we basically brought back the data from the time period that we'd wanna train in... We trained it on, I think, a few thousand rows of data that was good. So we call that function once and it creates an object in Snowflake, that is the anomaly detection object. And much like you're creating a table or a view or a task screen like that, you're creating one that you can then run again later. So then next time, when you want to do a detect anomaly, you just run another SQL query that is saying... Basically, call this anomaly detection name, you say detect anomaly, so you give it a new query or a new set of data you'd wanna run through, and it will give you back a result, a table that's gonna show you, if all the data, if there's anomalies or not, what the variation is, all of that. And so we just basically take that, that result and if we see anomalies, we then trigger that alarm to come back to Ignition. So as simple as that, two queries: One to train and one to detect. It's as simple as that.
48:40
Speaker 6: Okay. Is there any plans to add discovery tools for engineers who like to look at trends initially to build out some ideas before they run it through the model?
48:54
PJ: If you can swing by the Snowflake booth, we can go deeper into that. That's a longer conversation, if you don't mind.
49:02
AN: Alright.
49:02
TC: Alright. Thanks, everybody. Awesome.
49:03
AN: Thanks, everybody, appreciate it.
Speakers
Arlen Nipper
President & CTO
Cirrus Link Solutions
Travis Cox
Chief Technology Evangelist
Inductive Automation
Pugal Janakiraman
Industry Field CTO - Manufacturing
Snowflake