Demystifying The Unified Namespace with Ignition Rachel Bano Thu, 12/05/2024 - 12:54

Unified Namespaces (UNS) have the power to streamline OT data by breaking through communication barriers between devices and applications. By leveraging the Ignition platform and MQTT, UNS can open the door to transformative potential for operational and enterprise applications. But what even is a UNS? Join Cirrus Link as they leverage Ignition and MQTT to implement UNS and their transformative potential for applications, and share details about the core functionalities of UNS. By the end of the session you'll be equipped with the knowledge to harness the power of unified data and unlock new possibilities for your industrial operations.

Transcript:

00:04
Susan Shamgar: Hello, welcome to today's session, "Demystifying the Unified Namespace with Ignition." My name is Susan Shamgar. I'm a member of the technical writing team here at Inductive Automation, and I'll be your moderator for today. To start things off, I'd like to introduce our speakers. Arlen Nipper has been designing embedded computer hardware, software, and SCADA infrastructure solutions for 47 years. He was one of the early architects of pervasive computing and the Internet of Things, and in 1998 co-invented MQTT, a publish-subscribe network protocol that has become the dominant messaging standard in IoT, designed to optimize and make use of data for both OT and IT. Throughout his career, he's been an industry leader advancing SCADA technology. Nathan Davenport has more than 18 years of experience in the software industry. He graduated from Portland State University with a Bachelor of Science in Computer Engineering and worked for the first 13 years of his career at Microsoft. In 2019, he joined Cirrus Link Solutions as a Senior Software Engineer to focus on IIoT and the challenges and opportunities it presents. In 2023, he took on the role of Director of Sales Engineering at Cirrus Link as a technical leader and strategist for the company's sales engineering team. Please help me welcome Arlen and Nathan.

01:29
Arlen Nipper: Thank you very much. Appreciate it. Hello, everybody. Welcome to ICC. This will be my ninth presentation here at ICC. And first of all, thank Inductive Automation for all the cool stuff that you guys do. It's awesome. I mean, this show, we get to meet all of our customers, talk to them about new ideas. And a lot of what we've got in the Cirrus Link product line actually came from talking to customers here at ICC. So, really enjoy it. So today we're going to be talking about demystifying the Unified Namespace with Ignition. So, before that, real quick introduction to myself, Arlen Nipper, and Nathan Davenport. Nathan will be out here in a little bit helping me with the demo. So, Cirrus Link, we were founded in 2012. Right after that, we became a Strategic Partner with Inductive Automation. So, that has been great. So, really, when you think about it, when we started Cirrus Link, we needed a platform. We had a good idea. We wanted to leverage MQTT for industrial computing. All we needed was a platform. So, with that, really what we do is our development team works on the Ignition platform, developing MQTT technology modules to run on the Ignition platform.

03:03
Arlen Nipper: Now with that, we have a few standalone products that we do. One is the Chariot Sparkplug-aware MQTT broker, and the other is the new product we're going to introduce today, is a free MQTT client. So, we work with this all the time, and I'll go through this in a little more detail, but finally having a first-class MQTT client that we can all use as these MQTT networks get bigger and more complex and bigger and more complex going forward. Also, this is the 25th anniversary of MQTT being published into open source. So, I was thinking about that, I was...

04:00
Arlen Nipper: Yeah, it's pretty wild when I think about it, I mean, Andy and I were trying to solve a problem for Phillips 66. There was no cloud, nobody was... There was no security. Security was security by obscurity. But as I was thinking through this now, 25 years later, if Andy and I would have built a kill switch into MQTT, I figure right now there's anywhere from three to five billion clients running right now as we're talking. A billion of them. So, if we turned it off, that means there was a billion Facebook Messenger applications that would quit working, car telemetry would quit working.

04:44
Arlen Nipper: You wouldn't be able to talk to your Alexa to turn your lights on and off. You wouldn't be able to open and close your Genie garage door. So, it's pretty incredible when you think about an open technology, very understandable, very simple, and how it scaled to all of the different applications that it's in today. So, we... Kind of who's using the MQTT Sparkplug technology today. So, at this point, we, Cirrus Link, have over 2,000 discrete companies that are using MQTT Sparkplug. And if I were to put this slide up six years ago, that would have probably been 60%, 70% oil and gas. That's where we came from, that's where our customer base was at the time. But if you'll notice, where the growth is, is in manufacturing, and manufacturing really, with SCADA in oil and gas, where we have remote telemetry, we almost had to have a UNS. We had to name at least our stations and our polling where we could have everything at least on a network when we're polling down that network to have it organized in somewhat of a hierarchy. But in manufacturing, basically, it was the wild west. I mean, they were everywhere with that. And really, I think that's one of the driving factors around the whole notion of the UNS and the popularity that it's gaining today.

06:22
Arlen Nipper: So, with MQTT as an enabling technology, it's interesting that something so simple that customers start using it immediately. So, I demoed in, I think, 2015, the first MQTT module, and immediately customers started using it. But more interesting to me is what they were doing with it and how they could innovate with it. And so as we proceeded, we went from, again, the first demo that we ever did was we kind of proposed the notion of, "What's the problem?" Well, the problem is that we have devices connected to applications, i.e., protocols are evil. If I have a protocol, I have to have a driver. The driver talks to the device, brings back the data. Well, the data sets within that application. Now I want to use it somewhere else, so I have to write something else to get it out of that polling engine into something else. So, that was the problem. And what we said is that really what we're proposing, at least in year one of this journey was, hey, we should look at connecting devices to infrastructure, not to application.

07:42
Arlen Nipper: And with that, we could start unlocking some of the stranded data that was out in the field. Because, you know, in 2015, we figured that 80% to 90% of the valuable data that the company could use was probably being left stranded out in the field. Now, as we progressed the next year, we said, well, let's put some tenents out there. The first tenent is let's decouple and connect to infrastructure.

08:10
Arlen Nipper: And the second tenent was, well if this is going to expand, if we really are going to explode to the Industrial Internet of Things, we better be able to show that this is a superior OT system to begin with. Because if we couldn't replace conventional legacy poll response systems, there would be no adoption in that. So, as we move forward, we also had just started in 2016, the Sparkplug specification where we could start saying, okay, well, MQTT is pretty cool. You can publish anything you want on any topic and it's got a problem though. You can publish anything you want on any topic. So, Sparkplug came out. We started trying to define what would be the best way to use MQTT in industrial automation architectures. So, by 2017 ICC, I think we had all the ingredients that we needed to kind of, for the emergence, if you will, of a UNS.

09:21
Arlen Nipper: Unified Namespace. So, we have the three tenents now. Connect your devices to infrastructure, not to applications. Be able to demonstrate a superior OT solution, and with that be able to provide a single source of truth. And we came out with this tenent, a single source of truth. And now it's being used everywhere. Oh, we're going to have a single source of truth. We're going to have the single source of truth from the edge, and that's the only way it's going to expand. And here we said the transformation to IIoT, it won't be IT down to OT. It will be enabling OT to put together an infrastructure that's ready for cloud enablement. And I think that's where we're going. That was kind of the evolution, if you will, of UNS. So, we'll go back to the problem that UNS solves. Well, the UNS kind of solves the problem of trying to get rid of data silos and stranded data. Now, if we go back, even go deeper into kind of the origin of the problem is, we had this automation pyramid, call it the Purdue model, you can call it the ISA-95 model, where basically you started with your sensors, your PLCs, you moved up to SCADA from SCADA, you moved up to your manufacturing operations.

10:55
Arlen Nipper: Get the data up to there. Well, we kind of stopped at level three for a little bit, and well, we need to get it up to the enterprise, so we must define a DMZ level. And then we can finally get it to the business networks, and they can start seeing that data. And ultimately now we'd like to get it to the cloud. Now, the problem with this, as you can imagine, is that, we'll start at the SCADA level, is that first, from an operational standpoint, we're only getting the data that operations need. Well, the business looks at it and go well, wait a minute, you're not pulling in this other value, say, from a tank level or this other value from how long a pump's been running. A pump. The pump is there, I'm controlling it, but you're not telling me how long it's running. And operations go, well, we like the way we're polling. We told you when we put in the SCADA system that we would change our polling algorithm.

11:57
Arlen Nipper: But now that you want to, we really don't wanna do that. And then you go up to the next level and you go, well, we finally got our data up to this level we need to go down, and we need to change some other applications. And now we've got it up to the next level. So, as you can imagine, as Travis said this morning, "Dream it, do it." But with this model, you could, it's like, "Dream it, forget about it." It was never going to happen. And then we finally get to the cloud level, and I think we started seeing this about five or six years ago.

12:34
Arlen Nipper: This notion of well, I've got all my process variables down here. If I wanna get them up through this pyramid, I'll finally get them up. And then I'm going to just take my whole, all the process variables that I got and I'm going to put them in a data lake. And this is going to be the most beautiful data lake and we're going to put all of our data in there and everything will be great. And over time we'll be able to use that data and take advantage of it. And then suddenly we figure out after a couple of years that it's turned into a data swamp and nobody uses it. And we have terabytes of data that are landing in data swamps because think about it, I've got a discrete register value, I wanna go look at it, now I've got to do a query of where did it come from? I've got to do another query of, well, what's the engineering units? I've got to do another query of on what was the deadband on that measurement? And by the time they try to get this data, it just becomes without context, without a UNS, data, literally, a data lake turns into a data swamp.

13:51
Arlen Nipper: So, we get to the definition, if you will, of a Unified Namespace. And really, it's all about taking your information and getting it organized in a way that you can use it within your company from the very edge where your single source of truth is up through all of your business systems, through your manufacturing systems, so that ultimately when you get to the enterprise, everything is organized in a way that we've got contextual data. And of course, we're doing that, a lot of that with Ignition, with the ability, you know, originally it was just the tag definitions. We could organize their tags, we could give them properties, we could give them engineering high, engineering low, dampening, or deadbands.

14:40
Arlen Nipper: Then we came along with UDTs, so we could take user data types and define a model, and then that model consisted of the measurements and the measurements had the contextual information along with them. So, with that, if we could take that, imagine if we could have that context all the way at the edge where the engineer defined the equipment and get that all the way up to the enterprise, all the way through the SCADA, then we literally would have a UNS. So, as I think about it, really kind of how this all came evolved, if you will, is that with protocols we got registers and we could define them, but they always were kind of standalone. When MQTT came along, we had to, is the nature of MQTT, we had a topic and a payload, and the topic again, by its very nature became hierarchical. You could use slashes and so you could have, I still remember Phillips 66, 1999. We probably had the first properly named UNS, if you will. If you go by the ISA-95 hierarchy, we had a pipeline. You know Pipeline 1. In Pipeline 1, we had booster stations, Booster Station 1, and booster stations we had PLCs.

16:08
Arlen Nipper: And then PLCs, under that we had flow computers. So, we had this hierarchy by the very nature of how MQTT worked and how we were getting that into an organization. So, from Walker Reynolds, to David Schultz, to Matthew Paris, everybody's had really good ideas now of leveraging what you can do with MQTT, but do it in a way that we can have that UNS go all the way up to the enterprise level. So, here's my Phillips 66, 1999 UNS. Now, one thing that kind of comes up in conversations when I'm on with the customer and go, "Well, Arlen, we've got our broker here. So, that's our UNS database." And remember that an MQTT broker is just for routing messages through your infrastructure. It is not where all of your historical data is. So, I just wanna point out here that if you put all your tags into an MQTT broker and you set the retain flag on all the tags, all you're going to get is last known good. So, within a UNS architecture, we still have to think about where is our UNS database going to be in that whole architecture.

17:35
Arlen Nipper: So, a lot of you, I think I've done about 200 Snowflake demos here since we introduced Snowflake last year at ICC. And this is kind of the architecture drawing that I've used in all 200 of those demonstrations. You can see where we've got this notion of Ignition, Ignition Edge, native devices like Opto 22, like Phoenix Contact, they can do Sparkplug B and being able to take the edge of network and publish that up to an MQTT broker. That engine is subscribed to on an Ignition gateway. And from there we really start using Ignition as the enterprise connectivity platform to create a data model i.e., a UNS, instantiate that, creating our digital twin. Now, I hate that word "digital twin." It has so many connotations you can't...

18:36
Arlen Nipper: But the difference here is we try to do... If you look out there, AWS has digital twin technology. Microsoft Azure has digital twin technology. Google has digital twin technology. But the problem is those digital twins are the way that they thought you should do a digital twin and they probably don't know what you do. And the interesting thing with what we can do with UDTs and Ignition is those are digital twins, the way that we as you, the customers use it. And that's the way that you can start leveraging really a digital twin using Ignition UDTs and then of course still keeping track of our real-time data. So, the digital twin that I create on Ignition Edge out in the field can be published to an Ignition gateway automatically. I don't... It's automatically that UDT is published up. We discover that, now I've got the UDT there. Now I can point that at a transmitter that goes to a broker that's connected to the Snowflake, the IoT bridge for Snowflake. And now going into Snowflake we literally have that UDT recreated where we can take advantage of that.

19:56
Arlen Nipper: So, that becomes really... Snowflake is really the kind of the ultimate UNS database so that you can go back and get all the historical data, but you still have all the real-time contextual data there as well. Now just to go into a little more, we are listening. So, over this year, last year we've had a lot of requests and we've added some features to Engine, Transmission, and Chariot that customers have been asking for. So, first thing is that the UNS enablement of MQTT Engine. Now what we did was as you know, if you can have edge devices again, you could have Ignition Edge and all of the native devices again, the Advantechs, the Opto 22s, the Eurotechs, the Phoenix Contacts, publishing that information into Ignition.

20:56
Arlen Nipper: Now we've got to keep track of that, that's an individual edge node and we've got to keep track of the metrics and that's the namespace that came in. And then you've got another edge node and this could be in a factory, another cell. And when you display that in the MQTT Engine, you've got all that information, but it's not really the UNS that you wanted. You would like to collapse that so that you could truly define that and have it all together by the time you get it to Ignition. So, what we have here is Edge Node 1 and Edge Node 2 and they're both going to connect to a broker, start publishing information and those are going to flow into Ignition in an MQTT Engine. Of course, you're going to have your Sparkplug view of G1, D1, E1, ACME Inc. Stillwater Coyote properties for my Coyote Property for Wile E. Coyote. And then we have our Anvil Production Plant and then down to the actual UDTs. And that's all good. But what I would like to do is have it in a new UNS view. So, now in Engine you can set it up and say, "Okay, I know you're going to have all the Sparkplug metadata there, but what I wanna deal with is a UNS view."

22:21
Arlen Nipper: So, now we can go in and start making really clean view right in Engine. You don't have to do tag copies or anything like that. Is that, that will show up in Engine exactly the way. So, think about it, what we're doing is obfuscating the group Edge Node ID and we're presenting at a hierarchical namespace just the way that you named it. So you can start having all of these edge nodes contributing to a single UNS.

23:03
Arlen Nipper: Okay. The second thing is a lot of customers have, especially in manufacturing, they have it set up where they're familiar with MQTT, but they have small devices, Raspberry Pi's, they've got very simple MQTT clients and they would like to connect their clients to a broker just to get some of the information that we can publish out of Ignition. So, with the Transmitter module now, you've got the ability to point to tag providers, folders, individual tags, and literally publish those one tag per MQTT message. So, in here I'm showing that we've got ACME Inc. Stillwater Coyote, Anvil Angle, JSON payload of a value and a timestamp and those can be published on retain and you can choose to publish the properties as well.

24:02
Arlen Nipper: So, you get the engineering units, engineering high, engineering low, those will be setting there in your broker so that as other MQTT agents come or clients come around and they connect to the broker, they're going to immediately get last known good. And then they can subscribe just to the data that they want. Maybe they just wanna subscribe to the Anvil Angle and that's all they wanna subscribe to. So, they don't have to be aware of Sparkplug and they can get very granular in how they actually use MQTT at that level. Now we've given you a double-barrel shotgun and you can shoot both feet off. So, this is going to create a lot of traffic and a lot of... If you can imagine if you had a million tags and you're going to retain all of those in a broker. That's probably going to blow your broker up. But we do have a lot of customers wanting this feature to be able to start really going out and getting very granular in the way that they can subscribe to topics that are coming out of Ignition. Number four. Oops, I think I skipped over one.

25:19
Arlen Nipper: Got them out of order here. Number four. For the last seven years people have been wanting to do alarms over MQTT. So, now with... And we had to have some infrastructure help from Inductive Automation and Inductive, thank you very much. But now we can generate alarm at the edge, publish that into Engine and then at Engine we can acknowledge that alarm and take it all the way back.

25:54
Arlen Nipper: So, now you can. Thank you. So, now you can use MQTT as your single secure connection into a hub-and-spoke architecture. And finally, I probably should bring Nathan out about this time. Nathan basically isn't all... Gets a lot of the customer calls where we're starting to design something or get into a debug situation where we've got different kinds of brokers, different kinds of clients out there, and we're having to debug them. So, we are announcing here at ICC that we now have the Chariot MQTT Client.

26:37
Arlen Nipper: So, it's free. Uniquely, you can subscribe to multiple MQTT servers. I think all of the other very simple MQTT clients, you can just subscribe to one broker. But when you're trying to solve a complex problem, you wanna subscribe to multiple brokers.

27:00
Arlen Nipper: Of course, it's got a built-in Sparkplug decoder, we can publish messages from it, and again it's free. So, if you download Chariot, which is our MQTT broker, the client is part of that, and you don't have to use Chariot broker at all, but you can run the client, and you can use that for free. You'll be able to download it as of today, I think. Right, Nathan?

27:26
Nathan Davenport: Yes.

27:27
Arlen Nipper: All right. So, with that, we are coming to the demo. So, I figure after eight years of doing live demos and never having a problem, I was probably pushing my luck. So, if we have a problem, I'm going to let Nathan demo it today.

27:57
Arlen Nipper: So, and I know a lot of you know Nathan, the guy is just incredible. He can, man, he can debug anything. So, really, what we're showing here is that we've got... It doesn't show up on the screen, it's being cut off. We've got three actually, hit escape on there. It'll show up. There we go. We've got three edge nodes publishing data. They will be publishing data. They're set up in a Unified Namespace that'll be going to one broker up into Engine to Ignition. From Ignition, we've got Transmission, where we'll be using the new feature of the UNS transmitter to transmit some of these tags out where you can subscribe just to individual tags. And then we've also got another transmitter going to another Chariot broker, going to IoT Bridge for Snowflake. And then ultimately, we'll get the entire UNS into our Snowflake data cloud platform. So, Nathan.

29:00
Nathan Davenport: Thank you, Arlen. Hi, everybody. I feel like every time we do these demos, Arlen makes them more and more complex, as you can see by the topology diagram. So, hopefully, the demo gods will cooperate today. We'll see. We'll see who's pushing their luck. All right, so as Arlen said, you see, we have three Edge gateways here. They're all hot. They're all connected to Chariot MQTT Server 1, and they're waiting for MQTT Engine here on the central gateway. Let me select it here so you can see, to come online, publish a state message on the appropriate topic. And that's the trigger that's gonna tell these gateways and the Sparkplug transmission clients, now is the time to go ahead and publish your birth messages and subsequent data messages. So, let's pivot over here to the Engine gateway. You can see it's disabled right now. And I'm gonna pivot back over to... And somewhere in here in the central gateway is MQTT Engine. Now, I have no UDT definitions here at all. I have no tags in the traditional Edge Nodes folder, and I have no UNS namespace. So, I'm gonna go turn on MQTT Engine, and you're gonna watch all the data flow.

30:23
Nathan Davenport: Let me get back to the topo diagram. From the three Edge gateways single source of truth all the way up to Engine. And we will take that single source of truth, that single stream of data, give you your standard edge nodes view with the Sparkplug overlay. And then we're also gonna give you the UNS hierarchy and topic namespace with that overlay removed. So, we go turn on MQTT Engine. Give it a second or so. That's about all it takes. And here, you can see your traditional... Oh, sorry. Trying to full screen, but that did not work out, so let's try it one more time. And here you can see your traditional Sparkplug nodes laid out much as you would expect them. Your group, your edge node, your device, and then your UNS namespace, right? So, as we drill down through your UNS namespace here, we're gonna go just a little bit deeper so that you can see that these tags here are in fact under the standard Sparkplug edge nodes folder with the Sparkplug overlay, and they're updating now in real time. And within your UNS namespace, you have that Sparkplug overlay removed.

32:01
Nathan Davenport: All right. We start at the enterprise, site, the area, and so on. So, we give you both copies of these tags, the Sparkplug overlay, without the Sparkplug overlay. And these tags very much behave just like you would expect them. If you were to write to this load tag, for example, that's going to send a Sparkplug command message down to the edge. Transmission's going to unpack that, write to the tag, that's gonna create an OPC UA right down to the PLC, and that write is going to bounce back all the way to Engine, and this Engine tag is gonna update. So, let me prove to you that this is actually working. The load's gonna go from 44 to 46 let's say. You see it go all the way down, come all the way back. Now, this is the perfect time, I think, to go ahead and demo alarms across MQTT. So, I'm not gonna show you the alarm at the edge, but Arlen went ahead and put an alarm on this load tag at the edge, and once we cross a set point of 50, I believe.

33:11
Arlen Nipper: 50.

33:13
Nathan Davenport: That alarm's gonna fire. So, let's say all of a sudden our load jumps to 51. This alarm that you see here came all the way from the edge all the way down to Engine, and then we basically via Engine, wrote it into the alarm status table. So, from here, from the Engine side, we can go ahead and acknowledge this alarm, which is then gonna fire another command back down to the edge to acknowledge it at the edge. So, let's do that. So, the alarm's been acknowledged. Now let's say that the load drops back down below our threshold. You'd very much expect this to be cleared. So, we drop down to 40, let's say. Well, 40, let's say. And that alarm has been cleared. You can see it here in the table. We've cleared that alarm. We have alarms across MQTT. You guys have been asking. We finally brought it to you. Thank you.

34:25
Nathan Davenport: Like Arlen said, it took about seven years and a little bit of help from Inductive, but we got it finally. All right, so let's. Oh, and I probably should have showed you as well that of course we have your UDT definitions over here as well. We can't create the instances without the definitions. You get all of that single source of truth. Let me pop back over to the topology diagram. So now, what I'd like to show you guys next is, we're gonna turn on Transmission here on this gateway where we also have Engine. We have a traditional Sparkplug transmitter. It's gonna push your data up through MQTT server number three, through the IoT Bridge for Snowflake into your Snowflake back in that Sparkplug Protobuf. And then we also have another transmitter. I'll show you the transmitters here in a second so we can kind of anchor you in, in reality in the product itself. We have another transmitter, UNS transmitter, specifically configured to consume the Engine UNS tags. So, let me show you what I mean. Pivot back over to Transmission. We're not enabled yet. You guys know what a traditional transmitter looks like. This is the transmitter right here going to Snowflake.

35:44
Nathan Davenport: It too is picking up the UNS tags, but it's Protobuf encoding them, while the UNS transmitter also pointing to exactly the same folder. But what we're gonna do is we're gonna shred these tags. We're gonna publish out one message or a message per tag on a topic that is the full UNS path all the way down to the leaf tag. So, now you have full control for consumers of your data. Maybe one MQTT client wants to simply consume the load tag, maybe another wants to consume the angle tag. And let me also show you that there's no data here in our Snowflake backend as well. I'm gonna refresh it just so you believe me. These three schemas here or folders are sourced by the bridge, produced by the bridge, but we should be seeing our ACME INC. schema folder, all of its views, all of its UDTs, all of that. We don't see it yet. We're gonna go here, we're gonna turn on Transmission, and we are going to publish this data out. So again, let me pop back over to the topo diagram. So, how can I convince you guys that the UNS transmitter publisher, has in fact published all of those tags, one topic per tag? Well, we're going to use the free client that we built for you guys, the free MQTT Chariot Client, to basically view this data at the server.

37:24
Nathan Davenport: Okay. Let me see whether my session has expired yet. So, we're gonna refresh just to be sure. I'm gonna turn this server on. It's not actually accepting connections yet. Now it is. And here is the MQTT Client built into the Chariot server. Looks like we need to connect to localhost, and we do. So, I have the Chariot Client here connected to localhost, this server right here, MQTT server number 2, and the MQTT Server 3, the server that's serving up the tags to Snowflake. Sparkplug data. So let's go back. Real quick we'll pivot through this view. Looks like we have an active QoS 1 subscription on hash. If I go over here into the topic tree viewer, you can see we're connected to both servers. We have the top server and its topics. I'll expand them here in a second, showing you the data coming into Chariot server number 3, the one all the Snowflake data is flowing through. And then all of your UNS data is here on the local box. And you see your UNS reconstructed here. And as we drill down through this topic namespace, you're gonna find exactly the same data that you would be seeing in Ignition right now for these tags.

38:56
Nathan Davenport: So I turn on most recent, just so we can stick on angle. And every time the angle tag updates and the UNS transmitter publishes out a message, we're gonna auto-update the JSON payload down here. So what are we giving you? This payload at the very bottom is updating, I don't know, about once a second. We give you the qualified value. Timestamp, quality, an actual value. We give you the data type, and then we give you the full UNS path all the way down to the tag. You can retain it, publish on QoS 0, 1, 2, whatever you guys want to do. It's completely up to you. Like Arlen said, be a tad bit careful. If you got 20 million messages, it could be a little bit heavy. And now imagine if you also wanted the properties for that tag. So you guys remember possibly that Sparkplug is going to push all of the additional tag metadata. Things like engineering units, engineering high, engineering low, tooltip documentation, all that stuff comes in a birth message. But this is in Sparkplug. So we had to give you a way of retaining these properties. So as you can see here, we will also give you the ability to go cherry-pick out the metadata around a tag as well.

40:06
Nathan Davenport: Here in this example you've got engineering high and you have engineering units. So at this point now you can lock consumers down to topics, and they can consume one tag only if you want, or however many tags that you may want them to consume. Okay, and then as you can see here, the rest of your UNS is here as well. We got a little bit more time here, so I'm gonna show you a couple more things before we pivot over to Snowflake. Along with the connections view and the topic tree viewer, we give you the ability to subscribe to any topic you want and maybe publish out a message. So let's say, hey, we want to publish out a message on, I don't know, how about Arlen/Nipper with "Hello ICC 2024!" Bang. So I'm gonna publish that out there. I think I saw it, but things are streaming so fast. I can't quite tell. There it is, there it is. So we're gonna give you the ability to connect to multiple servers all at once, stream that data through, give you the topic tree viewer, give you the ability to publish out raw messages when you want to.

41:15
Nathan Davenport: I'm hoping here in the near future we'll get you a Sparkplug simulator into the publish side of this as well, so you can kind of simulate your own Sparkplug devices. Not here yet. Coming soon. Now we got to pivot over to Snowflake. I'm gonna refresh this view. Now here is the schema or the folder that contains all the views for ACME Inc. But before I go show you those views, let me show you where you find your UDT definitions, your models within Snowflake. The models are what we use to dynamically create the views such that we can hydrate them properly. So, if you scroll down into the views here, into the Stage_DB schema, there is a node machine registry. And if we preview this data, you'll find every UDT that was on that Engine gateway now up here in Snowflake on the cloud. You have your full context, your full UNS path, and there's all of your machines, your palletizer, your wrapper, your stamper, your drop test, your paint booth, your grinder, and a few other models there that are injected by the bridge themselves. Now, if I drill into the ACME Inc. view here, and let's say we drop into... Oh, how about the grinder, I think, and we preview this data.

42:36
Nathan Davenport: Here is all of your live tag data in Snowflake. Full UNS. It's still here. Yeah, we've stitched through the Sparkplug IDs, but your full UNS has been rehydrated here on the Snowflake side. And if I scroll all the way to the right, you'll find all of your UDT member tags as columns in this particular view. Let's pop back to the topo diagram. Again, a single source of truth. Three Edge gateways. In a couple of seconds, we can go all the way up through Engine, build you out your UNS, unroll that back out into another server via the UNS publisher, send data all the way up into your Snowflake Historian backend database in a couple of seconds.

43:28
Arlen Nipper: Awesome. Thank you, Nathan.

43:30
Nathan Davenport: Thank you.

43:36
Arlen Nipper: You made it through one.

43:37
Nathan Davenport: Woo. Nine more to go. And you can bet they're gonna get more and more complex too.

43:43
Arlen Nipper: That's right. That's right. So, I guess we're just about out of time, so if there are any questions, I think we could take a few and then we can call it a wrap.

43:54
Nathan Davenport: I think so.

43:55
Audience Member 1: I have a question on the Ignition Edge. It looked like you're just publishing the Sparkplug metric at that point. So, I noticed that your group edge node and device were G1, E1, D1.

44:05
Nathan Davenport: Correct.

44:06
Audience Member 1: And that's just getting stripped. So, when I bring it into the Engine in that middle one.

44:10
Nathan Davenport: Yes.

44:11
Audience Member 1: Okay. So, that's what's happening. So, that becomes the UNS piece.

44:14
Nathan Davenport: Exactly.

44:14
Audience Member 1: Okay, perfect.

44:15
Nathan Davenport: We still keep the context of where these particular tags in the UNS layout come from. We actually will have custom properties on those tags that'll tell you what your group ID, your edge node ID, and your device ID are so you don't lose context. But we remove that overlay to give you full UNS flexibility.

44:35
Audience Member 1: Okay, perfect. Just want to make sure I saw what I thought I did.

44:39
Nathan Davenport: You did.

44:40
Audience Member 1: Second one is that UNS transmitter. It looks like that's just using what used to be like the system.transmission component. So, it's flattening things. It's publishing a flat.

44:49
Nathan Davenport: Yes, it is flat, and it is similar to the Transmission, but we leverage the same code, our underlying agent code, that we use in the Sparkplug transmitter within the UNS transmitter.

44:58
Audience Member 1: Okay, perfect. Just want to make sure I understand that. The third thing is a comment. Does Rick Bullotta know what you just did?

45:03
Arlen Nipper: I hope so.

45:04
Audience Member 1: Yeah. There you go.

45:05
Arlen Nipper: Rick if you're watching.

45:07
Audience Member 2: Great products. You guys are awesome. But I have a question. So, your Unified Namespace. I mean, correct me if I'm wrong. It can filter out a lot of the stuff that's higher up in the tree so users only see the important parts that they want to see. What if I change my structure that I'm transmitting? I change a folder name or whatever, does that break everything or does it still work? How do you handle that?

45:35
Nathan Davenport: If there are no collisions, if you make a tag a folder, or a folder a tag, we have a hard time kind of resolving those types of collisions, if you will. But if you're simply adding other folders and so on, they should just pop in right in the middle of this UNS structure and it should function much like you would expect it to.

45:52
Audience Member 2: What if you delete, though? You change something.

45:55
Nathan Davenport: Worst-case scenario, what you do is you probably come back over to the Engine side, you'd blow all those tags away, you'd refresh from the edge, and we'd recreate that UNS in milliseconds from the ground up.

46:05
Arlen Nipper: And we've talked about this back and forth. 50% of the people we talked to say, "Oh, you should delete it." And the other 50% said, "Hey, just stale it." So, the customer did know it went away, and then he can go and delete it. So, we went with the staling.

46:21
Arlen Nipper: And that's all the time that we have.

46:22
Susan Shamgar: I think we have time for one more question.

46:24
Arlen Nipper: Okay, one more.

46:26
Audience Member 3: So I'm just trying to wrap my head around it a little bit more. Is SPB-V1 still there in the background, or is it like...

46:33
Arlen Nipper: It can be. But once we... In Engine, if you select the fact that you only want a UNS view, then you'll have metrics on G1, E1, D1. But those will only be for debugging. But the actual namespace that we created does start at ACME Inc. And so there's nothing. It's gonna stay that way.

47:01
Audience Member 3: So, then bridging that namespace should be a cakewalk.

47:03
Nathan Davenport: Yep. Should be. And as you can see it here. Just as Arlen said, for the UNS publisher, we strip off those pieces, and we republish on the full UNS topic. So this is the topic that the UNS transmitter's publisher is publishing.

47:14
Arlen Nipper: Well, I think he means the, in Engine, your UNS, the actual UNS tags.

47:20
Nathan Davenport: Ah, got it.

47:22
Arlen Nipper: Yep.

47:23
Audience Member 3: Thanks.

47:25
Nathan Davenport: Good question.

47:26
Susan Shamgar: All right, great. Thank you so much. And can we have another round of applause for Arlen and Nathan?

47:30
Arlen Nipper: Thank you, everybody. Good job.

47:37
Nathan Davenport: Thank you, sir.

Wistia ID
spp7hxn5hz
Hero
Thumbnail
Video Duration
2858

Speakers

Arlen Nipper

President & CTO

Cirrus Link Solutions

Nathan Davenport

Director of Sales Engineering

Cirrus Link Solutions

ICC Year
2024.00
SafetyChain Exhibitor Demo: The SafetyChain Module for Ignition: Leveraging Real Time Data & Driving Productivity Rachel Bano Thu, 12/05/2024 - 12:05

Learn how process manufacturers are leveraging the power of SafetyChain & Ignition to drive meaningful value in their production environments. We’ll cover how manufacturers benefit from seamlessly connected systems and the broader impact that has on various segments of their operations. You’ll hear about a case study where thousands of data points derived from a complex manufacturing process were leveraged to drastically improve quality and production metrics. Finally, we will showcase how easy it is for manufacturers to connect SafetyChain and Ignition with a live demo.

Transcript:

00:01
Geoff Nelson: Glad you're here. Appreciate your time here to talk to us. We are here to talk to you about SafetyChain and our Ignition Module to help capture real-time data for a digital plant management system. My name is Geoff Nelson, I am the VP of Technical Solutions for SafetyChain Software. This is Jonathan.

00:21
Jonathan: Hello, everyone. Welcome. Thank you for joining us today. I've been with SafetyChain a little over three years working as a Solution Engineer. But I primarily come from the food and beverage manufacturing industry. I spent over a decade working in a plant and SafetyChain is a plant management platform. So, I'm really excited to talk to you guys about the value that SafetyChain can bring and how we can leverage the Ignition Module.

00:49
Geoff Nelson: So, let's get into it. So, we will talk about SafetyChain, we'll give you some of our key applications where we kinda hit the plant management, plant floor, talk about digital transformation which I'm sure you're all pretty familiar with, give you a customer success story and then go into a demo. So, we'll try to get through these kinda quick so we can show you a demo and leave time for questions at the end. So, we are a digital plant management platform. We're a SaaS solution hosted in Microsoft Azure, we have native applications for Android, iOS and Windows and we help kinda pull everything together, the glue for the digital plant management platform. We are an alliance partner here with Inductive Automation and we will show you our module that we have.

01:35
Jonathan: All right. So, yeah, as Geoff's kinda said, we bring everything together. I like to think of us as kinda like a one-stop shop when it comes to plant management. And as you can see, everything here listed, these are some of the key use cases and applications that a lot of our customers use as and leverage in manufacturing. I'm not gonna go through the whole list, but we touch your whole process from shipping and receiving all the way to getting your product out the door. And primarily, we've come up in the food and beverage space, but we have had other applications outside of that. Now, as it relates to the Ignition Module, that specifically focuses on how we're capturing data for our customers.

02:13
Jonathan: So, with the Ignition Module, we can capture any data that's already mapped to their Ignition Gateway in SafetyChain. And SafetyChain is already a pre-built solution for you to extrapolate your data. You can aggregate that, graph it, trend it as you need. We could take for an example, temperature logs here listed right here. Instead of having a maintenance tech or operator go in and take hourly required check and write that down and put it away in a folder or binder, SafetyChain helps you digitize that process and take it a step further by automating it. So, with the module, we could set off a trigger where we're capturing that specific data tag on a specific routine or basis, or if there's a condition that needs to be met, we can trigger it as well. We have multiple ways of triggering that data collection point.

03:11
Geoff Nelson: So, like Jonathan said, these are the key areas of impact, what we do, it's pretty customizable. And so, you can build really your own process out within SafetyChain. And then he's highlighted here these blue ones as real-time, maybe ones that resonate more through Ignition. But then you can bring this data in and it can live next to all of these other impact areas as well.

03:36
Jonathan: So, again, I talked about my time in the plant. This slide kind of really illustrates the process around capturing data and using that data to further your continuous improvement efforts. SafetyChain is basically gonna help you do that and then the module's gonna help you also automate that. So, in SafetyChain, primarily you could collect data via a workstation or tablet. So, we're device-agnostic. You can use a Windows workstation, you can use an Android or iOS tablet. Typically, it's operators entering checks or maintenance guys entering their work orders, things of that nature. But you can also trend and track that data and find your opportunities for improvement, find your opportunities to save time and waste and then you gather insights and you act on that data. And as you're acting on that data, as I said, you're pushing your continuous improvement and you're pushing the bottom line so that ultimately you're growing as a company. That's what we try to help our customers and try to generate those success stories from helping them leverage that data.

04:41
Geoff Nelson: So, whether you're coming from paper and we're helping you create a digital process or you already have data being collected and you're just going to multi-site networked cloud solution, we help you come to ask questions that you didn't even realize you had because you're doing that CI, that continuous improvement, on your processes and on your data. So, I'm gonna tell you a little story about Egglife. So, I don't know who here is familiar with Egglife. They make the tortilla alternative out of egg so you can have tortillas that are made from egg. They took the Ignition Modules. They already were using SafetyChain, they had gone from a paper process to a digital process on their tablets. So, they're using tablets to gather information, they're gathering downtime, dwell time, temperatures, all sorts of information within SafetyChain and already performing analytics. Then, they moved to the Ignition Module because all of that data was available within Ignition but they still needed to collect the data for auditability, for compliance and for audits that come in. Now, they took about 12 manual processes. They had people going up to the machines or going up to the HMIs and collecting this data in a tablet.

05:55
Geoff Nelson: They moved it over to the Ignition Module and all this data's still being captured but in an automated way. So, they took 12 processes and automated them. So, that's people, that's time now that people aren't having to go walk up with a tablet and it's all within SafetyChain and they can still perform their analytics. It's all in the cloud and it's all stored long-term. So, an opportunity there for them to save time, save money. And then now, they can use those operators really to do something else more valuable than looking at a screen and collecting data. All right, now we're gonna jump into the demo. So, bear with me just for a second here. Okay. So, I am bringing up the module first and then we'll jump into SafetyChain. So, this is just an Ignition Gateway here which I'm sure you guys are all familiar with. We have a module that can be installed and it puts this SafetyChain piece here at the bottom. It's really easy, I mean, a few clicks to install a module and then you get your connections, your Form Collectors, your OEE Collectors and your Tag Collectors.

07:01
Geoff Nelson: This allows you to really grab any data that Ignition has access to and then put it into SafetyChain in different ways. So, I'm showing a Form Collector here and it'll make more sense when we start showing SafetyChain in a moment because we'll show you our Demo 1 tenant. I'm just gonna go into the kettle temps here and just show it to you real quick. And I am using this connection here at this site and connecting to a VM, so might be a little bit slow here. When this comes up, it gives you a user interface that allows for configuration to create an integration between Ignition and SafetyChain. So, Ignition has view into what SafetyChain data exists. So, we call these Forms. So, a person might be entering, writing on a piece of paper what their kettle temps are and then so we digitize that into a digital form within SafetyChain and then Ignition gets access to that. So, a user could come in here and access all of the forms that exist within SafetyChain, pull it into Ignition, set up a trigger, so when do I wanna send this data to SafetyChain? Do I want to do it time-based, every five minutes, every one minute? Do I wanna do it tag-based? So, if a temperature exceeds a certain value, does the dwell time exceed a certain value?

08:20
Geoff Nelson: Send this information to SafetyChain, there're different ways to do it. Do I wanna do it manually so you can actually script this execution? You can put it into a button and perspective revision into a screen, and then you map each of the fields. So, I can have my Kettle Temp 1, 2 and 3. I have which line is it coming off of. Average is a calculated value within SafetyChain, so I don't have to send it. The temps, the tags, the fields within SafetyChain have different sources. So, you can choose a tag, a static value, an expression. You can choose a data source which allows you to go to any data source that Ignition has access to. So, if you have a SqlConnection or something, you can then pump that data directly here through configuration. So, it allows you to really take, like we said, any of the data that Ignition has access to, package it and send it to SafetyChain. I'll show you one more. So, what this does is it pulls the SafetyChain context into Ignition. So, Ignition knows how to talk SafetyChain language. The other option that we have are tag and OEE Collectors which really just says, "Hey, give SafetyChain the tag," and then it will deal with it.

09:34
Geoff Nelson: So, here, it's not talking SafetyChain language, we're just sending, okay, this tag goes to SafetyChain and it is your in count or it is your out count so that SafetyChain can then track your downtime, it can track your throughput, your productivity. All we need to know is the tag, just send us the tag and we'll do the rest. So, in this context, all the business logic is in SafetyChain. In the Form Collector, the business logic is basically in Ignition but it allows you to really do the integration in whichever way is needed.

10:02
Jonathan: Yeah. And then we can visualize that. Once we have that data and we've set up all the configuration on the back end on the SafetyChain side, you can then see that visualization and reporting of your OEE and we're going to demonstrate that a little later as well.

10:15
Geoff Nelson: So, that's what we'll jump to now. So, that was the Ignition Module. So now, what does that look like in SafetyChain? So, this is what we call our reporting or our grid screen. It's just one click from the homepage to get here. And now, we can quickly start to see and visualize the data. So, all the data that comes in, whether it's from Ignition, from a user on their tablet or on their phone, on the PC app or even a web-based browser interface, they can put their data within SafetyChain and it all here lives together. So, if you wanna perform analytics, deep dive into the data, you can have your automated data right next to your manually collected data and start to make decisions. Once you come in and start to look at your data, so it looks like I am here looking really at our kettle temps. You can also start to then perform actions. So, you can create tasks to assign to users. So, for follow-up, you can trigger notifications. So, if this is out of compliance, you can also do verifications. So, you can create your own sign-offs and verifications within the system.

11:23
Geoff Nelson: So, if you're doing data verification, pre-shipment review, that all is done within SafetyChain. So, you can have your processes built out and start to see the digital plant management part of it. So, I'll just show here the verify and I don't know, Jonathan, this is your site more than mine. Is this data verifiable?

11:44
Jonathan: Yeah, for sure.

11:45
Geoff Nelson: Well, you see here, so we had Sign-off, Record Review, FS Coordinator and Pre-shipment Review. So, those are verifications that have been built into the system, it's just all configurable and this data then can be verified and it's all tracked historically, so who did what when is not alterable. So, a person would come in here, so I would be here with my user, I would go verify these. So, I'd select the ones that I wanna verify, I'd sign them and I would put my note and then all that's tracked historically and so all these... So, those records have been verified for that verification that I picked. Do you want to jump in here a little more...

12:26
Jonathan: Sure, yeah. While I'm doing that, as I said, I worked prior to SafetyChain in food and beverage space. How many people here have been a part of an audit before? Raise your hand if you've been a part of an audit. Was that fun as far as like getting prepared and...

12:49
Geoff Nelson: No.

12:49
Jonathan: No? Yes?

12:51
Geoff Nelson: Audits and fun.

12:52
Jonathan: I like to do audits on the weekends maybe. Yeah. So, one of SafetyChain's big claim to fame would be having our customers become 24/7 audit-ready. And I'm gonna show you our Programs feature as soon as I remember where the link is. Here we are. And yeah, I've been a part of a few audits myself prior to going through digital transformation. So, we're talking filing cabinets, we're talking binders, we're talking going through old emails and work orders, it can be a headache and it's usually across a few days. So, when I came to SafetyChain, I learned about our Programs feature. It really resonated with me coming from industry and I'm like, "I wish I had this back when I was on the other side of the desk." So, what SafetyChain can do, as Geoff said, is we do a lot of customization of our forms so that you can capture those and you have record and documentation of that for future purposes. You can link those back to your food safety or internal program and be able to be audit-ready at any notice. So, if you have multiple clauses, we'll look at our HACCP one right here.

14:18
Jonathan: I like to think of these as kinda like those binders but in digital form. You can see all of your forms that have been linked to that specific program so that if the auditor was to come in and say, "Hey, I need to see records from this date to this date for this specific clause," it's right there at a few clicks of your fingertips. So, you can see all the records, you can see all of your documentation, so that means any SOPs or work orders and instructions that you have already listed specific to those clauses and that program, you can put that in there and it's customizable. So, we're not just doing food safety, we're not just doing SQF or HACCP in this case, but we can do an internal program that's specific to your specific company guidelines. So, if you have an EHS program or safety program, if you have maybe a GMP audit that you do internally, you can set that all up and have that traceability in there as well.

15:14
Geoff Nelson: You could do, like he said, internal binders or maybe customer or auditor ones. So, if you build one specific to what an auditor might look for, you can do it that way. And instead of having a piece of paper or a single physical drawer or location, these digital binders or programs, you can have multiple assignments. So, that form that we looked at like the kettle temps or any of those ones that we build out can belong to multiple programs and it's just at that form level so then any of the data that comes in will go to all these. So, if you filter for... If it's in Master Sanitation and it's in Food Standard 9, the data will all exist there without further mapping. So, there's nothing you have to do after the initial configuration.

15:54
Jonathan: Right. So, as far as all of the prep work, you do most of the lift up front when you're doing your configuration, setting up your forms, storing your documents and then from there, as you're collecting your data, as you're going through your typical everyday work processes, it's automatically going to its right place as related to your program. So, these are just a couple examples in our demo environment. As you can see, you got your docs, your forms and then your records for a given time. You can go out longer. So, this is the date and time filter at the top. So, if you wanted to go back three months, you could do that and you'd have even more records there. Yeah. So, here we go with the same HACCP one that we were looking at. It's got 492 records and so if an auditor was to come here, walk in today and say, "I need to see your HACCP records," I can pull that up pretty easily. Should I go into OEE now?

17:00
Geoff Nelson: Yeah, let's do it.

17:00
Jonathan: All right. So, another one that's near and dear to my heart would be around line efficiency and OEE tracking. I spent some time as a production manager, so knowing how the lines are running on a given day, basis, knowing where your opportunity is to reduce downtime is a very big deal especially in the manufacturing space. And that's where our OEE module comes into play. So, with the Ignition Module, as Geoff said, we have the OEE collector and we can map those tags back to our OEE solution so that we can generate this right here. This is one of our main screens here, this is live monitoring. So, in real time, we're capturing those tags and the counts from the machines coming from the line and we could tell whether the line is up or down, we could tell how fast it's running and we could tell if we've made our plan for today or where we're at in regards to what we were scheduled to produce. So, very impactful.

18:02
Jonathan: We have different screens, we could look at a more abbreviated version as well where you don't see the graph and you just can see at a high level. It's green, that means it's running. If it's red, it's down. You can see what your current rate is, obviously, what your total downtime is right there and what your current OEE is for that specific run.

18:21
Geoff Nelson: And here, we're looking at a single line but this is made for a multi-line, even multi-site so you can look across locations, built for scalability to look. Yep, here we go. So, he's showing two lines now. And so in the slim view, you might look at multiple... There's different views even to make them even smaller. But you might put it up on a screen down at the plant floor, pull it up in your office, put it up on your phone at a different site to get you visibility into how you're performing. Are you currently down? Why were you down? Why are you not meeting your goals?

18:54
Jonathan: Right. Yeah, this is a lot more lines here now. So, yeah, this view kinda... I'd say like the supervisor, manager/operator view, so you can see specifically what's going on on your production floor from an OEE standpoint. And then from a reporting standpoint, we have some out-of-the-box reporting as well where you can focus in on how you're doing as a plant but also if you were looking at an enterprise view, how you're doing across all of your plants. As Geoff said, we're very scalable. So, if you had multiple plants, you could see how specific SKU was running across your different plants if they shared SKUs. This is the enterprise view right here. I need to go out in more time to skip data.

19:56
Jonathan: Here we are. So, you could see how each location is behaving, you could see how your shifts are trending, if you have one shift that's doing a little better than others, graveyard shift might be taking breaks when they're not supposed to, get your OEE by line and then also by SKU down here. And then another good one is our top five reasons like Pareto. So, figuring out where your biggest opportunities are from a downtime at the source and reason level. And then, we also have some customizable reporting as well in our report builder. So, even if you don't see exactly what you want here, odds are you can use the raw data to build that in SafetyChain as well. So, we have customers that wanna see something specific or specific tables, they're able to build that with the raw data that's being collected via the tags. All right, we are about 20 minutes in. Do you think we should take questions now or is there something else you wanted to show?

21:08
Geoff Nelson: Let's show... Can you show SPC real quick?

21:11
Jonathan: Oh, yeah... I'll let you do it.

21:13
Geoff Nelson: You know the data though, right?

21:15
Jonathan: You talking about the Ignition?

21:17
Geoff Nelson: Yeah.

21:18
Jonathan: Okay. Let me...

21:20
Geoff Nelson: So, like he's saying, this is all out-of-the-box functionality and we do have report builders so you can make customized reports and dashboards. Most of our system, almost everything also can be done through API too, so you can pull your data out into other systems. The Ignition Module allows those screens that we were just showing to be set up really within minutes with a couple of tags per line to get your in count, your out count or even just your in count will drive a lot of those screens. What he's pulling up now is an SPC dashboard just to show a little bit more analytics to the data that we pull in. Was there not one on the main screen?

22:03
Jonathan: I'm not seeing the ones that I built, but I'll probably use one of these other ones.

22:07
Geoff Nelson: This is our demo site like Jonathan said. So, we use... A lot of people use this site for a lot of different reasons and it may look a little different from time to time depending on maybe who we're demoing to. So, he's searching a little bit. I typically don't go in here, Jonathan does a little bit more than I do.

22:23
Jonathan: With my login, though.

22:25
Geoff Nelson: Oh, right, yeah. This is my login.

22:28
Jonathan: Let me change the secure profile.

22:30
Geoff Nelson: I don't know why my browser's doing that, that's weird. So, as you can tell, this is a part we didn't rehearse, guys. But you saw that chart before. We have a lot of out-of-the-box charts for your data to start populating. Is there one here? Hold on a second, this mouse works. Does this one work?

23:01
Jonathan: I haven't seen that one...

23:05
Geoff Nelson: Well, this is what I get for doing this. But you can build SPC charts that will show up on a dashboard. You can also have ones that will show up on the tablets. So, when a user's entering their data, as soon as they hit submit on the form, it'll pop up the SPC chart to show you how data has been doing across the line or the shift or the day and it could be paired with the Ignition data too. So, if you wanted them to be paired, they could be paired. And then what we're trying to show here too is kinda the plant management piece. We showed you verifications on your data, we show all the data that exists, the forms you can create. Those are all customizable. We also have ones that are kind of what you see over and over again like our OEE and production ones. Those are pretty basic. I mean, they're kind of a template or standard that we do over and over again. We showed you programs so you can collect your data and be audit-ready. We showed you the OEE and productivity screens and... Oh, here we go.

24:09
Jonathan: This is what I was looking for. Okay.

24:10
Geoff Nelson: This is what he was looking for and some SPC charts so the data can come in, you can be looking at your control limits. So, we have compliance, whether a value is in or out of compliance, so pass or fail and then we also have SPC control limits which are different. Are you in control for your process? We have alarming and alerting for different rule violations. So, you can see here the different rules you might violate. This data looks pretty good, so it's not really violating anything. A little bit crazy stuff. But a lot of out-of-the-box SPC charts, some reports and then you can build your own, customize like Jonathan said. So, with that, I think we will turn over for any questions. Yeah, back there.

24:51
Audience Member 1: First question, how does the licensing work on the module?

25:00
Geoff Nelson: Good question. Adam, do you wanna answer that? No. The module itself in the showcase is free. So, the module itself is free. And then in SafetyChain, we build into the licensing. We license by location, not by user. So, a specific location can have as many users. And then whatever you're purchasing is kinda how we do the cost. So, integrations typically has a cost to it. I think right now we're doing a deal on the IoT piece. Is that right, Adam?

25:27
Adam: Yep. Correct.

25:28
Geoff Nelson: So, if you... Till the end of the year, for now, I think it's a year free on the IoT piece. So, you would just be paying for SafetyChain on a per-location basis.

25:38
Geoff Nelson: Right now, our Ignition Module is sending data from Ignition to SafetyChain. We are frequently enhancing it, but we do not do bidirectional in the module. However, we do have APIs that can do just about anything. So, if you wanted to customize some work, you could pull any data down, record data, you could do tasks, really just anything. Not native embedding of a specific chart but this is all web-based. So, if you could embed a web page or like a browser framed, you could do that. But otherwise, the charts won't embed themselves. No. Was there a question over here? Yeah.

26:15
Geoff Nelson: So, your question was, basically can another system trigger events within SafetyChain? Is that right? The answer is yes, it can. And there are two ways really to do that. One, like I said, we have APIs that can do just about anything and you could call our either Task or Record API to create actions in SafetyChain. So, you could assign a task to a person to go do some work based on whatever other system was doing. The second one is, through Ignition, you could create a record in SafetyChain and that record could be tied to what we call a dynamic flow that says, "Hey, go do another thing." So, based on whatever you send us, we configure in SafetyChain somebody else to do whatever the work is. So, depending on whatever your use case is. So, yeah, you could definitely do that.

26:57
Geoff Nelson: Are the forms dynamic? Absolutely. Yeah, they're dynamic, customizable. So, you create your own from scratch. You can have fields that are hidden and dependent on values of previous fields. So, it's very customizable and dynamic. Yeah. Are the forms developed by a developer? No. So, it is a user interface where a power user would go in and create their form. Really the requirement there would be on change management, so deciding who has the power to go create forms. Because once you release it, that's it, everybody gets it. So, if you cause a problem or something that users didn't expect, then you'll hear about it. But yeah, it's a user interface for you to drag and drop fields and configure them. Yeah.

27:36
Geoff Nelson: Is there an enterprise piece? Yeah. So, that goes with how you wanna do your roles and permissions. So, you can choose a certain level of user that has access to edit and create forms and then nobody else has access. So, at an enterprise level, you could say, yeah, this is a group that we've created, maybe you pick a person per site or a region or however you wanna manage it and then... Yes, then they would be able to edit. And then you could even have a different set that can release them which means now that people can go use them.

28:02
Geoff Nelson: Good question. So, in the downtime, reasons are configurable. So, you would configure them in SafetyChain, so which options you have available to you and then users can come into that screen that we showed and just select the reason for it. So, you can do a category, you can do a source then you can do a reason.

28:17
Jonathan: Right. And there's a free text portion as well if you need to add more information and detail.

28:22
Audience Member 2: You said you were getting that... Does your tag fill that out?

28:26
Geoff Nelson: You can in our downtime tracking with our automated downtime tracking, you can do that. Yeah. And I think we're just about out of time here. Was there one more back there? Yeah.

28:35
Audience Member 3: Does it have access to if a user enroll info from like Azure Active Directory or Ignition?

28:44
Geoff Nelson: We do have SSO available. It's SAML 2 or OpenID Connect is what we support. So, yeah, Azure, Okta. I mean, just about any of them. Yeah. Last one here. Last one.

28:55
Audience Member 4: So, you said you have these apps, mobile app as well. So, if we are performing audits and on the shop floor, there's no internet connectivity, do we have like saving in offline...

29:04
Geoff Nelson: We do have offline mode and then when connection's restored, it will push back up. Yeah. So, on those native apps, it's offline mode. So, when you go down, it'll store it. Okay. I think that's all the time we have here. Thanks, everybody.

29:14
Jonathan: Thank you, everyone.

Wistia ID
ukx21s573v
Hero
Thumbnail
Video Duration
1758
ICC Year
2024.00
Sepasoft Exhibitor Demo: Sepasoft’s Workflow Solution: Building Bobbles With Batch Rachel Bano Thu, 12/05/2024 - 11:06

Sepasoft’s workflow solution can map out and execute the production process for almost anything – including made-to-order bobbleheads! Our demo will showcase how simple it is to manage production workflows, collect real-time data, and utilize document management with 3D models and form entry. We’ll also highlight how to authenticate and verify every action during production for compliance and accountability using Electronic Batch Records (EBR) and electronic signatures. Join us to see the latest Batch Procedure technology in action.

Transcript:

00:00
Tony Nevshemal: Hey everybody. Welcome and thank you for coming to our session today. I'm really excited to be here at ICC. It's actually my first ICC. But when I started... Well, today, my colleague Doug and I, sorry about that, are gonna be presenting "Sepasoft's Workflow Solution: Building Bobbles with Batch." We're gonna be building these really cool bobbleheads today using Sepasoft's Batch [Procedure] Module. And within Sepasoft, there's often been some controversy about how we start... How we named our module "Batch" because it's, some people think it's a misnomer. That it only applies to batch manufacturing. However, it truly is a workflow solution. It'll handle any workflow that's incorporated or associated with your manufacturing, and we intend to show you something of that today.

00:55
Tony Nevshemal: My name is Tony Nevshemal. I'm the CEO of Sepasoft, and I'm also the new guy, having joined just recently. Many of you know Tom, Tom Hechtman was the prior CEO of Sepasoft, and he has transitioned to the CTO role where he's in charge of the product roadmap, product innovation, and thought leadership. Prior to joining Sepasoft, I was actually at, a CEO of an ERP, a manufacturing ERP. And prior to that, I was an operations director at a large manufacturer. I'm very happy today to come down the Purdue pyramid to level three where all the cool kids are and one of them is Doug. So Doug, introduce yourself.

01:38
Doug Brandl: Yeah, thank you. My name is Doug Brandl. I'm an MES Solutions Engineer with Sepasoft. My background is, I've got 10 years of experience in pharma as an automation engineer and consultant, and then application development before then. But I grew up around the MES space, I grew up around the standards. My father was really involved in them, and our dinner table conversations with me and my brothers and my family often involved talking about operations, responses, and all the different object models. It was a bit nerdy, a bit geeky, push the glasses right up your face. But I've got an ingrained, internalized understanding of the space and I've been with Sepasoft for a little over a year and thank you to everybody who went to our session last year, and thank you for coming to this one today.

02:36
Tony Nevshemal: Well, and before I joined, I endeavored to take all the training classes at Sepasoft for all of our modules. But one of the training classes I have not taken yet is our Batch [Procedure] Module. So Doug is in the unenviable position of walking me through our Batch [Procedure] Module, the unit procedures, changing up a recipe, and you guys get to see it all in real time today. A quick word about Sepasoft before we proceed. Sepasoft is of course an Inductive [Automation] Solutions Partner. We have the broadest and deepest MES solution on the platform. We have batch processing production workflows, we'll be showing some of that today. We have genealogy and WIP inventory with our Track & Trace Module. ERP connectivity, we can hook up to pretty much any ERP, and we have a direct connector with SAP.

03:31
Tony Nevshemal: We're well known for our production efficiency and scheduling with our OEE and downtime, quality tracking is handled with SPC. We have a bunch of ancillary modules such as settings and changeover, document management, barcode, those types of things. And you can control it all at the enterprise level with our multi-sync management, multi-site management, not sync. I'm very happy to tell you that this week we're announcing another bullet point added to this list, and that's SepaIQ. So please come to our session on Thursday. SepaIQ is really an exciting breakthrough that we've made, that Tom's made, and it relates to our manufacturing, machine learning, AI, data contextualization, all of those topics. So please come to our session on Thursday to learn more about that.

04:21
Tony Nevshemal: And finally, a quick word about a change we've made regarding our Quick Start program at Sepasoft. Our Quick Start program is effectively access to our design consultation engineers. We've opened up that access to be universal to any and all Sepasoft customers. So to the extent that you need expertise with your MES project, whether that's at architecture, design, implementation, rollout, consider us part of the team because when you succeed, we succeed. So I think that's enough of that. Let's get into the presentation.

04:55
Doug Brandl: Yeah. To give everybody some context on what we're doing, we are receiving orders from our ERP system for made-to-order bobbleheads. And we're going to run through to assembly, and we're going to try and highlight, and I challenge you to think of it this way, the procedural control and workflow of what it takes to go from order to execution of making these bobbleheads. And Tony will have to put them together for us. We're gonna leverage our best procedure tool, we're gonna use our Track & Trace modules. We'll, hopefully, if we have time, be able to see some of the genealogy of lot consumption, and you'll see a handful of our components that we use to do all this and our recipe editor.

05:43
Tony Nevshemal: Yep.

05:45
Doug Brandl: Alright.

05:45
Tony Nevshemal: Alright.

05:46
Doug Brandl: So first things first, you guys are gonna have to excuse me, I've got to turn around to do this. We're gonna refresh our orders off of our ERP system, and I like this bobblehead for the Sepasoft company logo, that's awfully convenient that one's right at the beginning. So we're gonna go ahead and start a batch, and as you can see, we've got our batch ID, proceed to the review page before we can assemble. So what we've got here is, this is just a standard Perspective page, we've got our document viewer, which is an HTML5 WYSIWYG. You can do a lot of things in it, a lot of really cool things. In this case, we're embedding a WebGL model, this we do with the help of the Web Dev Module. And over here on the right side, we've embedded some form entry fields and all of this gets tracked to the batch, this gets tracked to the electronic batch record, the EBR, and I'll show you what all of that looks like here in a minute. But I guess probably before we go, I should give you a quick overview of the recipe so that we can...

07:00
Tony Nevshemal: Yeah. Is there a way to graphically view that?

07:01
Doug Brandl: Yeah. I put a little slide out here. Right over here is a visual representation, and this is also very similar to... Sorry. This is our recipe that we're gonna be executing and we here have "Review Station" which in this case is gonna be my computer where I'm going to do some 3D model review. We're going to do some authentication challenges. This links into the identity provider provided by Inductive [Automation].

07:29
Doug Brandl: And we'll challenge for some electronic signatures. We've got some logic that we can do to that where you can require double signatures, you can set up which roles need to be to gate certain steps. And then after our review, if we're happy with our model, we go through the assembly, so I have an equipment phase here. If you're not familiar with the standards, think of the phase as like a step. In this case, this equipment phase is a simulated PLC where I'm going to send to our printer, our 3D... Our beautiful Amazon printer here. Our 3D models that we're going to print, we're going to e-sign to make sure it didn't turn to spaghetti, and then we're going to measure, record the values to our SPC modules and then assemble our 3D, our little 3D bobblehead. Alright, so Tony.

08:26
Tony Nevshemal: Yes.

08:27
Doug Brandl: Well, I guess this is all me, I'm the reviewer. As far as... This looks appropriate to me. I'm not really seeing any mesh errors.

08:36
Tony Nevshemal: And all components, all three are present.

08:38
Doug Brandl: Yes, all of this is present. So I'm gonna go ahead and click through these and I'm gonna say this is all good, and I'm going to... You can't see it in the bottom right because it's covered by my shadow, but down here, we've got our button to finish this document. Now, when I do this, I'm gonna slide this back out. You can see where you've been and where you're going with our batch monitor. And when I click on this and expand it, I can see all of the relevant metrics that we're capturing as part of this step. I can see, right up here, I can see the model is appropriate. So this is really good for auditing and figuring out what really happened during the execution of a batch. Slide this guy back out, and I can see I've got an e-signature required to complete the review step.

09:28
Doug Brandl: I will go ahead as a reviewer, do this challenge, so here I am Doug, and my password. Alright, I accepted that. I could also reject it, which in our batch, in the recipe that you saw or branches, you can get pretty complex in your conditions that you put in there to do really whatever it is that you need. Next up, I guess we go to our assemble stage. Here, this is just a simple Perspective page that I put up tied to our fake little PLC. You can see I say that the state is running. Our PLC is saying that it is running, but in reality, it is waiting for some filament. So Tony, if you don't mind, could you scan some...

10:21
Tony Nevshemal: Sure. Beep.

10:24
Doug Brandl: Perfect. Alright, there we go. Okay, now we're off to the races. So, while this is running, I'm just capturing a handful of metrics, we're looking at filament consumed, layers printed, extruder speed, etc.

10:35
Tony Nevshemal: How did you build these screens?

10:37
Doug Brandl: Yeah, this is just standard Perspective. All of these are tag-driven, so this, when you install our modules, you get an MES tag provider. And as you configure which phases, which, as you configure the batch module, you can expose each step when it executes for a particular unit, you can expose all of those values as tags. So all of these are just tags, and I just... It's a very simple like plain old Ignition Perspective. And then, again, on this while it executes, I didn't pull it up fast enough, but we are tracking, you see Base_Out at the top, we see filament. These are material transfers, so this is actually piggybacking our Track and Trace Module. It allows us to consume material, track lot usage, and we'll see that hopefully at the end with our trace graph, and then it'll also... You get a file name, you get the extruder speed, all of that gets tracked live, and you can store those values as they change, you can store the last value, so that you can... And you can see all of this in your EBR at the end after execution.

11:56
Tony Nevshemal: And for those that don't know, what's an EBR?

11:58
Doug Brandl: Electronic batch record. Alright, so we'll go over to our measure. I forgot I have a e-signature here. Alright.

12:07
Tony Nevshemal: Well, it looks like they printed.

12:09
Doug Brandl: Okay, they didn't turn to spaghetti.

12:11
Tony Nevshemal: No.

12:11
Doug Brandl: Alright.

12:12
Tony Nevshemal: We got the parts.

12:13
Doug Brandl: So I'll go ahead and sign off. Or would you like to sign off?

12:16
Tony Nevshemal: Sure.

12:17
Doug Brandl: Yeah. And again, this is any identity provider in Ignition that you set up, so you don't need to do anything crazy, it's just part of the platform. Alright. Now we're good, hopefully. Well, I hit the login button. Now we're good to go to our measure. Alright, so we've got some annotations now here on our 3D model. Tony, I need you to take some measurements here.

13:00
Tony Nevshemal: Okay.

13:02
Doug Brandl: So let's look at the head first.

13:04
Tony Nevshemal: Which one?

13:06
Doug Brandl: And I want you to get the diameter of that section on the 3D model.

13:15
Tony Nevshemal: So that is 6.12.

13:17
Doug Brandl: Alright, and then let's go to the base. If I can put that. There we go. Now we're gonna grab that right there, the diameter.

13:32
Tony Nevshemal: Alright, 6.16.

13:37
Doug Brandl: And then finally, let's go for the spring diameter.

13:43
Tony Nevshemal: 6.02.

13:47
Doug Brandl: Perfect. So I'll go ahead and complete this step. Now, I don't know if you guys noticed, but part of our process, we measure, we record the values to SPC, which it popped up while I was looking away, but we record the values to SPC and then we go to assembly. But we may run into a problem in the future, so I think there's an opportunity for us to modify this recipe and for Tony to dabble in the batch recipe editor, so we are good there. Now it's just assemble.

14:19
Tony Nevshemal: Alright.

14:19
Doug Brandl: If you don't mind.

14:22
Tony Nevshemal: So how do I assemble?

14:23
Doug Brandl: No, that's...

14:24
Tony Nevshemal: Okay. So you take...

14:25
Doug Brandl: Yeah. Take the spring, put it in the hole. Now, obviously you use your imagination and your projects, this could obviously be significantly more complex. You don't have to use a 3D model like we are here, you could use documents. We can retrieve these out of controlled document management systems. The world is your oyster when it comes to this. Alright, cool. It is assembled. I'm gonna go ahead and complete the step. Alright, so we have, we've completed our assembly and now we're gonna send the label to the printer and that's that. But we did notice that there are some opportunities. So Tony, if you don't mind, I'd like for you to go ahead and go into the recipe editor and modify the recipe, and let's see if we can account for times where... Let's go with the spring is not gonna fit in the hole. We're not gonna be able to assemble this. So we've got our happy path, we've got our green path through this workflow, but we don't have a red path, we're not handling exceptions appropriately, so this is a great opportunity to show you how easy it is. So Tony, can you open up the assembly unit procedure on the bottom left?

15:39
Tony Nevshemal: Sure.

15:41
Doug Brandl: And scroll on down, and after the "Record Values" and the "Record Transition," we're going to insert a branch into this workflow, so you can delete that line right there. And then I want you on our logic controls here in the editor to drag on "Or Begin." What this is gonna let us do is this is gonna let us say, "When this condition is met, you go down this path. When a different condition is met, you go down another path," etc., etc. And you can change these. So connect that, and then we're going to put in those conditions.

16:16
Tony Nevshemal: Okay.

16:16
Doug Brandl: So if you could drag two transitions in, the transition is where you're going to be able to put in that expression, and we'll have one for our green path and one for our red path. Or happy and sad path. And go ahead and connect those guys. Perfect. And then let's edit. You can connect them to the next one as well.

16:41
Tony Nevshemal: Sure.

16:42
Doug Brandl: And then let's go ahead and edit that transition. Let's give it a name.

16:47
Tony Nevshemal: So this is good measurements, right?

16:49
Doug Brandl: Yes. And then this transition expression, so this transition expression, what we can do is we can look up through the recipe, through what's been executed, and we can pull out some of those metrics. So we had our operator record on that document, we had them record the diameters of the spring and of the head and the base, so what we're gonna do is we can grab those values and apply some rudimentary logic. So Tony, we called it "measure," is the name of that step, of that phase. "Measure" and then you're gonna say ".diameter" and let's go. So in this case, our good one is when the spring is smaller than the head and the spring is smaller than the base.

17:35
Tony Nevshemal: Right, so when the spring...

17:37
Doug Brandl: And, nope, we don't need to...

17:44
Tony Nevshemal: Oh yeah. Just less than...

17:46
Doug Brandl: Yeah, maybe too tight.

17:47
Tony Nevshemal: "Measure.Diameter_Spring" is... "Measure.Diameter_Base" right?

18:19
Doug Brandl: Yes.

18:20
Tony Nevshemal: Okay.

18:21
Doug Brandl: Go ahead and save that. And then let's do the same for... Let's do the inverse, the logic inverse of that for this red path, so let's just call this "rejects."

18:31
Tony Nevshemal: Reject.

18:31
Doug Brandl: Reject measurement. And then our transition expression is going to be when the spring is greater than or equal to the base, or the spring is greater than or, and... Is greater than or equal to the head.

19:00
Tony Nevshemal: Spring, is greater than or equal to. What did I do first?

19:11
Doug Brandl: You did the head first.

19:12
Tony Nevshemal: Alright, so this is base. Okay.

19:13
Doug Brandl: Perfect. Save. And then what do we... What do you think we should do?

19:19
Tony Nevshemal: Well, let's say... So if it fails its measurements, that means you're not able to assemble. So we should probably tell the assemblers.

19:27
Doug Brandl: Yeah, probably don't wanna waste their time.

19:28
Tony Nevshemal: Right.

19:28
Doug Brandl: Yeah. So let's throw in a user message. So we have some built in... You have like a whole standard library of phases that you can drop in. And in this case I've configured it so that our assembly station can have a user message. So if you can just click that, drag it over into that unit procedure and connect it. And let's go ahead and configure it.

20:00
Tony Nevshemal: So we'll call this "notify"?

20:02
Doug Brandl: Yeah, like "notify operator" or something.

20:04
Tony Nevshemal: Yeah. Okay.

20:14
Doug Brandl: And then let's just give them a message down at the bottom where it says "parameter value."

20:21
Tony Nevshemal: Yeah. What do we wanna say here?

20:24
Doug Brandl: Let's just say "assembly not possible."

20:25
Tony Nevshemal: Okay.

20:26
Doug Brandl: We'll keep it simple. In your own projects, I'm sure that you'd probably wanna put more in there. And then go ahead and save that.

20:33
Tony Nevshemal: Yep.

20:33
Doug Brandl: So I'm not covering it. But you can also do calculations where you can pull in values. So a lot of our phases have that. Yeah, let's go ahead and require acknowledgement on it.

20:43
Tony Nevshemal: Yeah.

20:44
Doug Brandl: There's a lot of ability to make it dynamic so it's not all static. It's not like you're always gonna say the same thing. Sometimes you want to include values from previous steps or maybe include batch parameters as part of the message or part of any other phase. So we do have also the ability to include that as part of like a calculation. But we're not doing that here. So let's go ahead and hit save.

21:05
Tony Nevshemal: Alright.

21:08
Doug Brandl: And then we're gonna put a transition on this. So every phase needs to have a transition after it's done. And in this case, we're just gonna say "complete." Once the notification has been sent and this phase is... The execution of it is complete, we'll continue on and we'll terminate the batch. So you can go ahead and insert suggested here. And what this does is it's gonna look at the link up and just say whenever that step is complete. And this is good. We'll go ahead and save it, and then put on a terminator in the logic controls on the...

21:39
Tony Nevshemal: Let's try it without a terminator.

21:41
Doug Brandl: We can't do it.

21:42
Tony Nevshemal: Can we validate it?

21:42
Doug Brandl: Yeah, you wanna validate it? So if you don't do this, we do have some validation of our recipes where it'll look at it and it'll tell you what's wrong. And in this case, it's saying the assembly unit procedure, UP5 transition needs to be followed by something.

22:00
Tony Nevshemal: Okay, cool.

22:00
Doug Brandl: Let's go ahead and drag the terminator on and connect it. And then let's validate. Again, make sure that that resolved that issue. Recipe is valid. Cool beans. Let's save it.

22:16
Tony Nevshemal: Alright.

22:21
Doug Brandl: Alright.

22:22
Tony Nevshemal: Right. Let's run it again.

22:23
Doug Brandl: Yeah, so we'll fly through this for the second time so that we can get to questions since we've got four minutes to go. So, alright. This is gonna be the world's fastest 3D printer here. I'm gonna go ahead and kill all of these old orders. These are on the old recipes. So we do version our recipes. So these are using, it's the version 61 of that recipe. We're going to reset this and I'm gonna go retrieve some more orders from our ERP system and that'll be version 62. So refresh orders right here. Alright. So this is the same steps. I'm gonna go fast for the sake of brevity.

23:04
Tony Nevshemal: Let's quickly review them.

23:05
Doug Brandl: Yep. Oh, this looks great. We've seen this one before. Check, check, check. Check. E-sign. I'll go in as an admin. Password.

23:21
Tony Nevshemal: Cool.

23:22
Doug Brandl: Cool, cool, cool. Close those.

23:24
Tony Nevshemal: It's printing.

23:25
Doug Brandl: Yeah, let's go over to our print. Beep boop, scan the lot. We're printing. We are printing at 50 layers a second.

23:36
Tony Nevshemal: Yeah. It's screaming.

23:37
Doug Brandl: This is a fast printer. I can tell who has a 3D printer in here and knows how frustratingly slow that they are. Alright. We're gonna have an e-signature.

23:50
Tony Nevshemal: Okay.

23:51
Doug Brandl: Verify it didn't turn to spaghetti. So I'm gonna go ahead and sign that one as well. Tony, it didn't turn to spaghetti, did it?

24:00
Tony Nevshemal: It did not. We have something.

24:03
Doug Brandl: Alright. So now we're on our measure step. So this is after this step is where we added our transition. So let's go ahead and measure the head outer diameter.

24:16
Tony Nevshemal: Okay, that is 6.2.

24:20
Doug Brandl: 6.2. Let's measure the base.

24:25
Tony Nevshemal: That is 5.9.

24:26
Doug Brandl: Whoa. Now let's do the spring.

24:33
Tony Nevshemal: That is 6.02.

24:35
Doug Brandl: 6.02. Alright. So clearly we are gonna violate our recipe. So when I do that, let's go ahead and take a look and see what happened. So right here, I expand this. Sorry, let me make this a little bit bigger here. I just like watching him walk back and forth with the shadow. So here you can see this transition. So we proceeded down this route here and you can look at this transition and you can see what specifically caused us to go down whatever path it was. And in this case, it was our spring is greater than or equal to our base. Our base was too tiny or our spring is too big. And then we have our notification. So that notification's up on the top right here. And we did require acknowledgement. So I'm gonna go ahead and sign in as an admin. Password.

25:35
Doug Brandl: And here we have our... Just a standard batch message list. This is, again, one of our components where I can click on it. Assembly not possible. I'm gonna acknowledge that. And again, all of this is tracked to the EBR. There's an awful lot that I wanna show you guys as it relates to our EBR, as it relates to our trace graph. I'll hit the trace graph really fast and then I think we're gonna have to go move on to Q&A. And if you want more you can come over to our booth and I would be happy to show this to you. Alright. So here I'm looking at all of the different types of filament, all the different batches. So here what I'll do is I'll slide that over. So right here I can see we have a completed bobblehead. This right here is the assembly unit procedure for that particular batch.

26:24
Doug Brandl: Looks like it was one that I had done on the fourth, I guess. I could see which filament I consumed. I can get the lot number for the base. So I create... As part of this step, I'm also creating that lot. I can see everything in and I can see all of the material that is created as part of it. And then if I click here, I can see all of the five other batches that use this same material. So this is really useful if you're looking, if you're doing any investigations for quality, for recall, any of that stuff. So this is a really good way to visualize, what did I use? I received green filament and I have it on this particular assembly, this batch right here. So I know all of the bobbleheads that came out that used that specific green filament. And this trace, there's not a realistic limit on this. So it does run back. You can chain all of your material transfers back and forth. I think that's all I've got time to show. Does anybody have any questions? I think it's the Q&A time. Yeah, go for it. Oh, she's going to give you a mic. Yeah.

27:39
Audience Member 1: The object model that you have, the recipe, like how accessible is that? Let's say that I've got basically something that's dynamically generating parts from like a pick-and-place machine, right? And I'm not gonna have all that data until it hits the end of the line as a transaction. Can I write all of that at once? Can I then query essentially every transaction I've had for these measurements and get something like capability? Or am I gonna need to layer in other modules like traceability and SPC to do that kind of stuff?

28:07
Doug Brandl: So if you're doing anything with material tracking, you're gonna need the Track and Trace Module. So material transfers as part of the batch. So you could do all the built-in phases, but when it comes to material in and material out and tracking any of that, and suppose you've got 100 different types of dynamic materials, you can set those for the material in property on the phase. So if you want, I can show that to you probably over at our booth. I can show you what that looks like. But yes, you can do that. But it does require the Track and Trace Module.

28:41
Audience Member 1: Okay.

28:42
Doug Brandl: Yeah.

28:43
Audience Member 2: Hi. Is there an array-based entry? I see the graphical method to put all these essentially routes in, but is there an array base or some other way that you could do it in bulk and not all the clicking and dragging?

28:57
Doug Brandl: Yeah, you can script this too. You can script the creation of recipes, of batches. You could pull it, some people even pull it out of their ERP system and dynamically create recipes. So all of this is backed. So we have this frontend here, we have these components. If you don't want to click and drag and you've got some more complicated system, you can script the creation of all of these recipes. And the execution. Yeah.

29:27
Audience Member 3: Does the system have a functionality to do order maintenance to modify existing batches in run to reflect the new recipe?

29:36
Doug Brandl: At the moment, I don't believe we do. Yeah. I'll let Tom answer that.

29:41
Tom Hechtman: To start a recipe, that's a ISA-88 model. So you have your master recipe and you create a control recipe. So once that... Sorry. Once you create that control recipe and you're executing it, it's isolated from the master recipe at that point. Now, if you modify phase or templates, we have templates and different things like that, you do have ways to push those changes down into your recipe and such.

30:13
Audience Member 4: And you can create something... Are there already existing scripts to help facilitate that that you need to customize for your use case?

30:20
Doug Brandl: Yes. So I definitely encourage you to reach out for the Quick Start program, reach out to our design consultation team. They've got a lot of experience doing that.

30:29
Audience Member 4: Awesome, thank you.

30:31
Doug Brandl: Yeah. Any more questions you guys have, please come visit us over at our booth and I really, really, really encourage you come on Thursday to Tom and Mark's presentation. It is very exciting what they're doing. So show up if you can. Alright, thank you guys.

30:47
Tony Nevshemal: Thank you.

Wistia ID
ags36basrq
Hero
Thumbnail
Video Duration
1853
ICC Year
2024.00