perfect we're recording now so whenever you're ready tyler you could take it away sure absolutely uh thanks everybody for joining us this morning my name is tyler phillips i'm the emulate 3d account manager for rockwell automation prior to joining rockwell i was with amulet 3d and we were acquired by rockwell about two years ago so what we'd like to do today is give you an introduction to the emulate 3d software we'll we'll kind of follow this format and we'll see how it goes so what we'd like to do is we're going to spend about 10 or 15 minutes reviewing a few powerpoint slides just as talking points uh to discuss the software and level set where we are what emulate3d does what it doesn't do what it's used for what it's not used for so that all of you can understand uh exactly where we fit in the market what the software is used for the different applications uh and those types of things and then once we complete that we'll give you a demo of the software and we'll spend you know 30 or 40 minutes doing that um and we'll wait around maybe uh ankle deep in the software and show you uh the different functionality uh during this time either while we're looking at powerpoint slides or while we're demoing the software feel free at any time if you'd like to just uh you know unmute yourself and say hey tyler hey mike i've got a question joining us shortly will be mike sarvo mike's a commercial engineer with rockwell automation and mike also came to rockwell from emulat3d mike and i have worked together for many years at emulate 3d and so you know a little bit about our background i've spent most of my career in nearly 30 years now in discrete event simulation software discrete event industrial simulation software and hmi uh and uh mike has been with emulate 3d for about eight years now and uh prior to that was user of our software almost since uh the very beginning which was back in 2005 so mike's a real expert with the software and you'll enjoy uh watching him him uh demonstrate that to you so i'm going to use a few slides here uh as talking points like i mentioned and let's go through those and again there are no interruptions here feel free at any time to unmute yourself or use a little uh raise your hand or even uh dump something into the chat and we'll we'll be happy to help and if if you put something in chat we don't see it for some reason don't be shy just unmute yourself and say hey i have a question so um using these slides here as i mentioned emulate3d was acquired by rockwell automation about two years ago it was actually january of 2019 so we'll be coming up here in a month or two uh on a two-year anniversary as being part of rockwell automation prior to the acquisition we bring compass partner with rockwell um and uh we we have continuing partnerships with many companies um our partnership with rockwell was like many of ours specifically because our emulate 3d software communicates with rockwell hardware and we'll we'll show you how that works but specifically for the purpose of testing controls that have been written for machines that don't exist yet so either for systems or uh or machines that are being designed and are not yet deployed and we give you the ability to test controls against a virtual machine um let me talk about the the different things that emulate 3d is used for you know when we were founded in 2005 we were founded specifically to develop a software for controls testing we saw a huge need in the market for a high fidelity tool that could do that and in the development of emulate 3d also kind of came with that this very rich discrete event simulation 3d environment that allows us not only to do controls testing but also to create um very powerful visual models of systems and also perform simulations with those models that is kind of testing the system for things like throughput or time and state or utilization or demand or loading and so the software gets used across a fairly range a fairly large range of applications in a very large range of industries for those three things demonstration modeling simulation modeling and emulation modeling if we were to take a look at the industries that were used in we would find out two things really quickly one is that it's a very big list and two that as the developers of the software we may not even be able to give you a definitive list because a large number of our customers are systems integrators engineering firms and oems builders oems and machine builders and because of that we're not always in touch with the application that the software is being used for as it applies to the industry for those things so we're we're sometimes surprised when we hear about a specific use case in a specific industry that we hadn't really imagined before but if we were to kind of group these applications into large areas they would look something like this warehousing distribution of fulfillment baggage handling manufacturing packaging and all types of consumer packaged goods as well as i mentioned earlier machine builders and equipment oems and what those all have in common as it applies to emulate 3d is they are discreet inside the four walls um so we focus on discrete processes discrete equipment discrete handling discrete packaging emulate 3d does not get used for continuous process for things like water flow oh what else mining gas and energy those types of things are really a different type of simulation a different type of of modeling a different type of physics than what we deal with we're really concerned with discrete systems and the parts that flow through them what we call the loads those would be things like boxes or car bodies or bottles of coke or vials of insulin or you know anything that you can imagine going through that type of system uh and the not only how they interact with each other but how they interact with the equipment that's handling them whether that's a robot or conveyor or packaging uh equipment or piece of process machinery so you can see some images there of some from taken from models from some of our users in different applications when we talk about the software today we're going to use three terms we don't do that to confuse you often people believe that we sell three different pieces of software we don't emulate 3d is a single framework in single application but we do use three different terms to discuss the software and those terms are essentially used to discuss different uh different licensing levels or different licensed functionality within the software so the software can be licensed at a variety of levels in order to support the youth specific use cases and needs of the customer at the most economic entry point for the license so we're going to talk today uh for the next few minutes about demo 3d sim 3d and emulate 3d and then when mike's demoing the software he'll say hey i'm working right now in demo 3d or now the functionality i'm going to show you is actually part of the sim 3d license so that you can understand that and and if any if you were to dig deeper in this we'd be happy to explain it further but um so demo 3d is the heart of the tool it is the core modeling environment it's this 3d world where you can set up equipment and load it up and get it to flow it's all true to time and scale you can create beautiful visual experiences including ar and vr to communicate ideas this might be used with internal stakeholders or a combination of internal and external stakeholders many people use the core demo 3t technology and software uh features for sales opportunities so creating models that go along with proposals but it is the core and the heart of the emulate 3d framework in addition to demo 3d or sitting on top of demo 3d you can open up this functionality we call sim 3d which allows you to take the models that you've built and begin to experiment with them in a multi variable kind of environment where you're able to set up as many variables as you like within a model and change the values of those variables and run experiments back to back to back in order to get a view of how those variables or the change of those variables impact certain aspects of the model in the case you're viewing here you've taken a very simple example we have a storage and retrieval system where we're changing the number of bays the number of shelves and the number of vehicles you can see there in that spreadsheet like table at the top and we're running five different runs of the model and we're looking at how throughput is impacted based on those variable models so you're able to start to analyze the system and determine uh the best design for those systems that's sim 3d and then emulate 3d or what we sometimes call controls testing is that functionality that sits at the top of the emulate 3d core uh that allows uh dynamical twins of machines and systems so using that base demo 3d package you're able to in uh bring in your cad import your cad assign all the i os and then with the emulate 3d or the controls testing part of it connect to the controllers or to the controls emulator and run the system uh using that hardware software as if it were a real piece of hardware in fact i always say if you could inquire of the controller when it's connected to emulate3d and ask it what it's doing it would just say that's a dumb question i'm running a piece of hardware it's what i do even though it's not it's running a digital twin and it's because we don't we don't do anything different with the controller than it does when it's running a piece of hardware uh it it we don't in uh we don't import the code or or recompile it or interpolate it or anything like that so that's the three areas and if you were to look at it from say a project progression view they might look like this it's just one other way to kind of understand these levels of functionality the demo 3d core uh used often to build prototypical systems or prototypical models for understanding sim 3d to analyze those models and to improve and finalize layout and design and once that design is hardened to emulate 3d controls testing in order to move the commissioning off of the critical path and the goal of saving time and money and risk for that commissioning process so you can probably already see that because there are many levels of functionality within the rock of the uh emulat3d software and because it can be used in a wide range of applications that the value propositions could be highly variable and they are indeed highly variable they can range from a customer who simply says if i can win one more project a year by modeling uh creating models for my sales proposals than i do otherwise then that's my value proposition other users at the other end would be saying i on any given project i need to realize a you know 75 savings in time on my commissioning uh than i was doing it without it and that's my value proposition but if we were to kind of condense those as they're expressed by our customers over the years and continually through our interactions with them uh at things like user group meeting and through support and through our commission commercial engineering function they would look something like this right demo 3d ensures that everybody's on the same page that you're reducing your risk that everybody has understanding sim 3d allows you to make impartial decisions about the systems that are being designed and therefore reduce the uh reduce the investment risk by making sure you're investing in the right material handling and the right system uh and the right production equipment and then emulate 3d is really about saving time and money and commissioning about taking away not only the risk but the amount of time that's spent in that risky position at the end of a project when the commissioning is occurring and again if you have any questions feel free to jump in here if anybody has any questions so let's talk for a few minutes about the software itself and kind of how it's uh built or how what it looks like and what it feels like and then mike's going to come in and give you a really good idea and give you kind of a shallow view throughout the different functionality we'll probably have about 30 or 35 minutes to do that so um emulate 3d at its core is a dynamic 3d modeling environment it consists of a discrete event simulation engine it's a fully featured discrete event simulation you can do anything with that engine that you could do with any discrete event simulation engine but we essentially have wrapped it with the functionality for the for uh the way we the way we view the world and the way we uh create models in this 3d environment it also has active and switchable physics engines and these engines all work together to create this 3d environment we are an open development environment we provide a fully documented api to all our customers and you can work at a very low level if you choose to in fact we're a dot net application and essentially anything you could do in dot net you could do inside emulate 3d if you chose to do so that's certainly not required but we have many customers that choose to work at that level for various reasons we are integrated with visual studio for that purpose and in addition we have a wide range of options for connecting to things like cad and two controllers into different types of data input output and creation of video output those types of things the concept uh one of the concept that's important within emulat3d is we are catalog based application and when we say that what we mean is you will create uh the systems in your uh model uh you will create the machines in your model and the systems in your model by using catalog components and we provide many catalog components when you install the software these are things like generic material handling components that can be modified and changed the way they look and the way they act but also most of our customers if not all end up creating their own catalog items by importing cad of their equipment and their systems and turning those into catalog objects that they will use over and over again so um most uh users of english 3d will be using combination of standard catalog items that we provide and custom catalog items that they provide some leaning more towards the former and some towards the latter depending on the application but in essence a catalog object is an object that lives independently of a model it can be emailed around it can be saved in different folders it can be modified and re-saved the example here on the right-hand side is a piece of single zone carton roller it has a visual representation that you see there that looks like a roller conveyor but it also has some uh smart equipment it has motors it has photo eye it has direction of travel the rollers move they have coefficients of friction there's acceleration and deceleration and speed and in addition to that it has a logical representation in the script that's attached to it and that script does all kinds of things uh some examples would be it tells the uh tells the graphics how to change if the user modifies them so if the user wants to make this section longer by grabbing the handle and making it longer it tells the object how to populate the rollers and the support legs it also tells it how to work when it's attached to other objects uh does it transfer load does it not transfer load when does it start to stop its motor etc so uh as you'll see when when mike's creating some simple models to show you he'll be pulling some items out of catalogs that already exist in emulate 3d and i think you guys will be able to imagine how those could be custom objects from bringing in your cad your own cad there's many ways to define the way a model works from from very simple drag and drop objects to different types of programming and will probably won't get much time to touch on many of those but it probably suffices to say that regardless of the level of detail required within the model we have the components that you require to do that from something quite simple to something very complex and lastly and we'll finish up with this before we look at the software we have a wide range of connectivity to not only cad but to different controllers we have plugins for solidworks and for autodesk inventor that initiate uh or instantiate our cad is the model functionality within the cad tool that is the tool the functionality is used to markup the cad with the aspects that are required to make it a smart machine we also have exporter tools for a variety of other cad packages and we continue to expand our our integrations with cad in addition to integrating with solidworks in adventure you can import a lot of different cad files into emulate3d and the same ability to mark those up exists inside the software as it does in the plugins we also communicate with the most name brand controllers on the market today not just allen bradley equipment but a wide range from mitsubishi all the way down through b r and beckhoff and omron and siemens and schneider and others and that's all done with a native sip protocol that we maintain in our tag browser we also allow you to invoke different protocols if required like tcp or udp or opc or opc ua to communicate with other hardware other software is required to populate the model so so that gives you a quick overview of the emulate 3d solution but i think it will all this will come together as mike demonstrates that software for you so mike if you want to bring up your screen we'll let you take it away i think uh probably we've got about 30 minutes or so so we don't need to wait too deeply into anything like uh you know flow control or anything like that if we give an idea of demo 3d and sim 3d and emulate 3d i think we'll be in a good place all right thanks mike okay can everybody see my screen yeah it looks good excellent thank you okay so uh as as tyler explained right it's uh you might hear some different terms the different licenses uh demo 3d sim 3d emulate 3d and controls testing and ultimate all these different terms but it's always this one piece of software so this this is this is the software and while we're not cad we are a 3d modeling space and we do have our own objects that we can create things with in lieu of having cad or in addition to having cad things you know representations of your machinery and then some of these things are machinery straight away so for example the straight bell conveyor right that is a it's our most basic conveyor object and we'll see when we get into catalogs there are lots of other structures that are built on these same kinds of building blocks and everything is is parametric meaning i can resize it dynamically using these control points or using the properties if we go over to the properties grid and type in some exact value you know the um the parameters the the properties that i have here describe what that machine looks like and on the colors that it is and um you know the dimensional characteristics but then more importantly for something that is a piece of machinery like this conveyor there are deeper properties that have to do with the way that it behaves how it how it is a machine and how we how we interface to it so if i dig up the motor property here right and expand that further that's got places for us to set the speed xl d cell the state of the motor whether it's on or off uh the direction and then all of these other pieces of information between have to do with the feedback that we would get back from this conveyor motor object right so so um different ways to get positional feedback like a pulse encoder or gray code pulse counts things like that or motor position and so wherever we have a property that's a place that not only can we see the value but we can change the value and i can change it dynamically in this properties grid but we can also connect up other simulation logic control to these properties within the model or we can connect up plc tags to these values on any of the pieces of machinery in emulate3d and so these are these are essentially like contacts on the machine that i can i can talk to with my real controls or simulated controls now when i start up the model the physics engine turns on and um and time starts ticking away you can see the time down here on our on our clock and this load creator starts dropping boxes onto the conveyor and the conveyor motor is running right if we look at that motor again the state is on it's running at that speed when we first started it would have accelerated up according to this rate of acceleration and the boxes go to the end and they tumble on the ground because we're not doing anything smart here right it's it's a piece of hardware and it's running and this is the way that we need to think about it so that we can do a good job of building controls testing or you know virtual commissioning models with emulated 3d software we need things to go wrong when we don't tell them to do something right and so we have this kind of chaotic situation uh if i turn the motor off you know it decelerates to a halt and everything comes to a rest here we go we can clean this up a little bit let me select that again and we'll turn the motor back on turn it off we got a nice controlled stop right so how this happens how this all works i'm going to turn on the physics rendering view and we'll run this just a little bit more there we go and i'll bring it to a halt and pause so um right now right if we look with the with the physics rendering view on this is showing us why things the physics is happening why things are doing what they're doing right now and so we see some extra information around the load creator is a is a sphere and that's a congestion zone so it's a it's a thing that has a physics body type called sensor and these boxes have a physics body type called load and loads can block sensors and so this load creator is um it's examining its load congestion sphere here and notices that there's something blocking it so it can't make another box until that's cleared now when we examine the boxes we see some more information these little red dots those are the points of contact that we calculate between the box and the work surface of the conveyor and these blue lines coming down represent the force of gravity on that point now i'm going to run the motor for just a moment more here let me turn this back on and then i'll pause it again and now we see a little bit more right so now where these red dots are there's also now a yellow line coming away from that and that's because the conveyor motor is on and the conveyor is is pushing on that point on that contact point and so that yellow line represents the force in the direction that the conveyor is applying on each one of those points and that that value here this number is the coefficient of friction between the material of the box if i look for friction material there it is friction material the box called corrugated and the friction material of the conveyor belt called rubber and those terms they don't mean anything they don't relate to any real world substances or or standards but in our model we have a matrix that lets us describe what happens when any two materials meet so these are all the built-in materials and you can remove them and add new ones or replace them or rename them and you can re um realign all of the different values and and define your whole friction matrix based on the modeling that you're doing and so the reason that you might do that is just to create some different scenarios some different variation in the model when you're running it so that when you are you're doing your control assessing activities that it's you're testing against an imperfect world a world with variation because if if everything's perfectly repeatable uh it's it's not that interesting of a of a task to to validate it right it's pretty easy to validate something that does exactly the same the same thing every cycle but when you get some variation it's a much more interesting experiment and so our emulate 3d volumetric physics environment allows us to do that and allows us to treat machinery like hardware and i'm going to give you one more example of treating it like hardware and then i'll go into catalogs so here's a new new basic box and this could be this could be any 3d object from from imported cad or you know it's a box from from our new library it could be something from a catalog it doesn't matter it's a piece of geometry and what i want to do with this geometry is again treat it like a piece of hardware i want to put in a mechanical guide here and move my boxes across to the left and you can see that right now that's not happening right and and that's another a power of our parametric behavior our parameters our properties that drive everything right right now this box if i look at its body type property and everything has a body type like if i look at the load its body type is load the conveyors deflector and this box that we added is just visual only so there are these different fundamental body types and so sensors can detect the presence of loads and deflectors and vehicles loads are these transient objects that we pass around in the model and they can be pushed around by deflectors and detected by sensors and deflectors are like the immovable object and so while they can push loads around the loads can't push them back and so these are very ideal for things that mechanically guide loads let me turn the physics view off right and so again here it's just like hardware i've got a piece of metal or plastic or something and if i introduce it to some loads i can move those loads around i can guide them with a static kind of fixture or if i motorize it right i can use it as a plow or a lift or a shuttle or or anything that i want to build so the ability to treat this stuff like hardware is what makes emulate 3d uh the ideal testing tool for controls validation any questions before i jump into the catalogs no just a comment very cool very cool all right thank you so so as we get into catalyst here i just i'm going to wipe this out do a brand new model and i will start in the quick start catalog so this is the same catalog that was in tyler's presentation and i'm going to zero in on that same piece of conveyor that that he had there so this is a roller conveyor and you know we were just looking at a belt conveyor and roller conveyor belt conveyor only different that they one has belt one has rollers but the other functionality it's common right they have it has a motor it's got friction material um speed xld cell uh positional feedback all of this kind of stuff at all it's the same it's common this particular conveyor component from the carton systems folder is a single zone module it's a single zone roller conveyor and it has it's an assembly right so we see this photo eye and that photo eye is not just for looks that is that's a functional photo eye for this piece of machinery and furthermore this conveyor has a script on it and so every every one of these instances that i make of this conveyor it has its own local programming and so it does an intelligent job of material handling not not just like the raw conveyor hardware that we're just looking at so it's built out of that stuff still uses all that same physics still it switches the motor on and off and everything automatically and i don't have to think about those low-level operations but as i snap together segments of this conveyor i'm building an intelligent system of machines and now when i start the model up i get this perfect controlled non-contact accumulation the the motors are switching on and off the photo eyes are detecting the presence of the boxes and so on and it's it's doing all of that same low level physics right all of that's in there but i don't have to think about switching the motor on and off i don't have to think about what's happening with the photo eye i'm thinking about this at a high level so this is this is where the demo 3d the demonstration engine comes into play i've got catalogs of of smart components that i can just snap together and build up a system with even things like robots right so i put in a robot here and we'll put on a tool and get a controller that's my robot this is my robot's home location and we'll grab a couple of these put them here put them here and then so i didn't really explain this too well but these these little triangles sticking out of the conveyor those are the connectors and that's when when i get these segments close together you see those red boxes and the green boxes light up it's like a magnet it snaps it together and gives me a physical alignment it's giving me that communication network through the system that i've been building up here right and while the robot doesn't i don't want to necessarily physically snap it to the conveyor because i'm going to position that differently it doesn't have to be in line in order to work i can use these connectors to also just logically wire up so there i've just field wired that that conveyor to the robot controller and then out from the robot controller to both of these little sections of conveyor and with that done we can run the model again and now when the box gets to the end of this conveyor the signal goes to the robot and the robot does a whole transfer process and because we're running in the demo 3d engine and i've not given it any um you know any explicit decision on where to put things it's going to do round robin dispatching automatically so that i can quickly put together a concept model without doing any kind of programming without you know having to think a whole lot about i'm just laying out equipment press the play button and everything goes everything from these catalogs works this way so we can put together systems with with robots and asrs elevators lifts and shuttles vehicles and all of these kinds of things and they all work under the same premise now i'm not going to show you the code behind this next idea this other idea but i'll explain it quickly so these systems of of equipment that were laying down think about this as the mechanical layer this is all of the bits of machinery and every single one of these has its own low level operation that it's doing just like when uh when the box hits the photo eye there's a signal it goes to the conveyor it processes the signal it says hey do i have a place to send that box yes or no if i don't stop if i do send it along the robot has the same kind of fundamentals about it right i don't have to think about those things but if i'm doing a simulation model and there's some kind of trafficking that i want to consider i want i want things to come from a particular place and go to a particular place there's a high level simulation logic that we use that's drag and drop programming almost just like drag and drop of the equipment and the the core of that is i i get something from somewhere and i tell it where to end up and all of these intelligent pieces of equipment in between respect those high level commands so it's almost just like putting a very high level layer of of command structure over top of the mechanical layer and the mechanical layer all just automatically handles itself we don't have to go back in and ever tell the motors what to do or look at the photo eyes now when i'm doing a controls testing model as we see later on i would be more interested in you know what a what a photo eyes signal is and i'll be more interested in driving um you know some motion axes to particular positions and things like that and we'll get into that but for now we're just doing very simple demonstration level modeling and in fact i'm going to switch over next to get into some sim 3d um features so far everything we've looked at again is demo 3d professional and it is demo 3d professional even if i'm importing cad um or using that drag and drop programming language it's all that's all demo 3d professional level stuff the sim 3d features are going to be design of experiments and execution of of lists of experiments and collecting data about those models but before i go there any questions about what we're seeing here okay moving on so i'm going to open up another model sorry was there a question yeah can you hear me yes jeff um in the demo is the other i'm going to call them the blocks of the rollers and the loads that's being created are the uh physical properties of the box being considered um i think i heard you say yes like the weight of the box um and the is is the weight of the box gonna dictate the horsepower on the rollers and and you know the size of the motor and that kind of thing or is this just no so so our physics engine is um it's rigid body physics and all of our motions are kinematically driven so the loads will collide with each other if i'm doing a pressure accumulation kind of system i could squeeze boxes and they might pop off of the conveyor and fall on the ground or i might overrun a stop belt or something like that that's possible but we don't do motor sizing the the motors of the conveyors actually do not are not affected by the loading conditions the same with the robot not not inherently you can do things to override or you write your own control logic with with scripting with our scripting engine and artificially introduce these kinds of situations to the motors or to the robot so so one example is something that i've seen a lot of our users do is they will examine the mask because the boxes or whatever the loads happen to be they do have a mass property and the robot control right there's this drag-and-drop programming language and if i just open up one of these this is the first signal that goes to the robot execute that executes this little bit of code and i know everything about the load that we're picking up because it's an argument that comes into this coding environment and i can say hey load how much do you weigh and based on that weight i could tell the robot joints to all run at a different speed if it's a very light load i could i could move the speed to to one particular amount and if it's a you know between this mass and this mass may be a different speed and if it's heavier than this mess maybe it's a full stop and the robot just won't do it so you can do that thing that kind of thing but the physics engine isn't managing that for you that's more of an abstraction an abstract kind of process that you impose over the system using the logic uh quick question when you're using the full emulate 3d would loads then be taken in into consideration so at that point you're testing the machine to see if you have everything sized properly no no the the physics engine still doesn't manage that we do have dynamic joint mechanisms which use uh force rather than kinematic um animation but it's it's um it takes a lot of tuning to get that right and it doesn't really relate to um the real world conditions inherently it's it's something you kind of have to backfill in tune and get right by matching it up against behaviors that you find in in the real world situations and so it you know our tools just not designed for that kind of analysis it's more about the logical operation of the controls than it is testing the mechanical um capabilities of the of the equipment thank you yep so i'm gonna grab another model here and uh this is it's a very it's a very simple model it looks like there's maybe a lot going on here there's some racks um in this weird box and some conveyor segments and stuff like that so what this represents is imagine this is a truck dock and there's trucks backed up to here and uh every so often another truck comes along and it's unloading um some pallets of of something and over here i've got uh storage racks and in between i've got a vehicle uh in this case it's a forklift and that forklift is being controlled by a vehicle manager and so what that what that means right is this vehicle manager can take any vehicle and say well now you're a managed fleet of vehicles and and i get however many i put in this number field so if i say one i get one if i put five i get five of them and i'll dispatch my work um you see these connections this is just like when i connected up that robot to outfeed to to two of the um the conveyor segments and in feed from one and so we see that we are we're taking product from all three of these um truck docks and we're gonna we're gonna service them with our fleet of managed vehicles that is going to feed the storage retrieval manager which is just a controller for rack systems kind of like the robot controller is to a robot so that that's the system that we've got here and i'm going to move into sim 3d experiments and when i do i'm going to want to collect some data about what's happening in the model so more than just watching the model run i'm actually collecting throughput and so this throughput collector it's just a component from this from the catalogs here data collection throughput and so it's going to measure the throughput on my storage retrieval process now when i get into the sim 3d tools right that's when i the first time i touch a sim 3d tool is when i hit this button on the experiments button and that launches my experiment manager and what this does is allows us to design a list of experiments that we can then execute in batch form so you know if i if i just make several experiments and run them it'll run them on they're all running for this duration and that's great i'll probably get the exact same results every single time i run those but if i want to um here we go delete those if a more interesting thing to do is to change some kind of variable about the model for each experiment and measure the impact that that variable had on the results that i'm collecting and it could be it can be one variable or many variables in this case what i want to do is test the number of fork trucks in service to see how that impacts my system throughput given that this is constrained and this is constrained right and so i can add any property to the experiment manager so i click i click on a property and hit this little button here exp add to experiment properties and so now that's a variable here and i can change that number and now when i create more experiments in my list right each one of those is a position i can change and so what's going to happen now when i run run all of the selected experiments is it'll reset the model set up whatever property values i've i've put in here and then run it and it's going to run it and collect the data that we're collecting and when it gets off finish it'll dump the data to the analysis tool which is embedded excel so it'll dump the data here move on to the next experiment reset the model get you know delete all the loads all the transient stuff reset our positions back to zero and set up then our model with two vehicles with two fork trucks run it and so on so it runs through this list and so when i hit run selected we'll let it start up there there we go our first experiment completed uh second third and so on and as we you know we can watch the model run but we're also collecting this data and we're just putting it into this embedded excel environment and so we can do things that we do with excel to present and examine the data and again because it is just excel we can save this out you know as just excel file so very portable portable results and you can understand what's going on here very clearly now you can have multiple different kinds of data collectors and each data collector will add another tab in the excel workbook and put a state of there so if we also put in like a utilization report or something like that it'll just populate this workbook and it'll collect all those stats simultaneously so those that's the sim 3d features right that's that's what you get for that so that's the analysis and the design and execution of the experiments any questions about sim 3d all right so next i want to move into i'm showing you the cad is the model tools and we'll we'll build a piece of machinery and connect it up to a plc that i've got sitting here and control this machinery with the plc so let me do a new model and i'll import some cad there we go right and so this is some solidworks cad and it is a just a simple gantry machine and if i go to my hierarchy view and expand you can see right that the whole cad structure comes over the main assembly the sub assemblies the features all of the information's here and as i move my cursor through this hierarchy you can see the different pieces highlighting out in the model space right so i can select the carriage there and the z beam there and those are the two different objects that i want to add add functionality add mo and motion and motors to so right now it's just cad there are these groups of collections of triangles they they have no value as machinery but i have the graphics of them so this cad is the model toolbar is a way to add the emulate 3d machinery characteristics directly to the cad graphics so classic classically you know 10 years ago users would have imported their cad and restructured it restructured the hierarchy mapping the cad graphics over demo 3d emulate 3d functional objects like these skeletons of objects and so then it you know it's it's our stuff it's emulate 3ds catalog components but with the cad graphics superimposed over them so now this toolbar is like if we took all of the emulate 3d behavioral characteristics and physics characteristics and put them into a toolbar and you can just directly apply them to the cad graphics and now what's really cool about this is this toolbar while it exists in emulate3d it also installs into solidworks directly or or inventor or it's going to be in ptc creo and on shape and and we're going to continue to expand that list and so that same tool set goes into those cad platforms and this information this machinery markup that we're adding to the geometry saves with those cad files so that cad file can can remain the source of truth we add the emulate 3d behaviors to the directly to the cad now once we push the cad geometry into emulate 3d if we change these machinery characteristics we can also suck that information back into the native cad platform to keep the cad model the original cad model updated as well so now i'll actually do some of this work right so i'll take this carriage and i want to add a joint to it so i need to describe a degree of freedom and so that's a joint and i'll use a kinematic prismatic joint and that says hey you owe me some more information so it wants me to tell it which direction of travel it's going to have and i just need to find a feature that gives me an arrow pointing the right way and i'll set that to inverse kinematic at first just so i can drag it around and test it and i'll set up some limits 59 inches there we go and then i'll do the same thing to the z beam so the z beam uh gets a kinematic prismatic joint i want it to go down um set it to inverse kinematic and that gets 32 inches run and now right i can drag my carriage and i can drag my z beam but i forgot to do one thing and that's relate them so you know the hierarchy of the cad shows me that the carriage and the z beam are siblings and so right now i've added an individual joint to each one of those and so that's why i can move them individually now they're both constrained by their the constraints that we designed but they're not they're not a compound system yet so i'll go back to that z beam and say actually i'm meant to relate you to the carriage mechanism there and so now when i test it again right it's one single solving system now the same thing that i'm doing here the same kind of markup that i'm applying and making this single solution is exactly how you can build robots too so while we're gonna provide a lot of of robot cad models that already have this information if you invent your own robot or you get some obscure one from somewhere you can use this to add joints to the robot joints and our controller will still control it it's still it's still a valid mechanism and emulate 3d so you can invent your own compound complex mechanisms like robots or anything else linkages and everything and our solver will drive it for you so now so far right we've described the degrees of freedom but there's no way to drive these things yet i'm just dragging them around it's like mechanical things out on my shop floor and the next thing i want to do though is motorize these so my kinematic prismatic joint i'm going to set it to forward kinematic now i mean i can't drag it anymore i'm going to explicitly drive its value with something like a motor and then we'll go back to cat as the model and we'll stack a motor onto this joint so there's my motor and my motor is where i describe the performance there we go and now i can i can motor drive that but furthermore what i want to do is add a particular kind of interface motor and so i want to be able to drive it to position so i apply a position controller right that stacks on and i relate that to the motor and what that gives me is a place where i can drive that motor to position according to this performance curve okay so it's always going to just chase this position whatever this position is and so this is the property that we've now defined we've added we've endowed this cad with this functionality and now i can connect up my plc control to that point on this machine and drive that position with my plc controls so i'm going to go to one more model which is a little bit further along version of this one where only do i have the motor i've added the motor to the z beam as well um and then i add a gripper to it and then put in some simulated conveyor and interface it all together and while that's loading up i'm going to grab my plc uh so here i've got um you may have even seen one of these before this is uh this is a rockwell um mrs z demo box and so what that is it's a nice little rig with um compact guard logix 5380 and a panel view 5510 hmi um all connected up together and i've got this plugged into my computer um with an ethernet cable and so we know that we've got those properties we've defined on the gantry explain that the the photo eye down here on this conveyor has a property called is blocked and one called is cleared and those are those are contacts right so is blocked is like a normally open contact and is cleared as a normally closed contact and i'm going to wire that up to my plc to tell my gantry when there's a part present to go pick so let's wire it up so i want to choose the kind of plc i want to connect to choose the protocol i'm going to use that's going to be ethernet over ip and now i search my network to find any connected controllers i have one here at this address running this program i say okay and when we do that it interrogates the plc and pulls in all of the tags that we can talk to now of those tags i'm just interested in these ones and i've already loaded them over here but to load them up right you just right click on a tag and say load tag and it creates a new row based on that tag and so like this gantry currentposition.x that is the the value from the plc that i want to drive the position of my carriage and so it is mapped mapped to the carriage target position so remember that target position that we added by adding that joint adding the motor on top of the joint adding the position controller on top of the motor that's what defined that and so that just appears here and we bind that to the plc tag and the rest are like that as well you'll notice that three of them are read from plc so these are outputs from the plc and one is a write to plc so it's an input to the plc and that is the input is that pe2 that photo eye dot is blocked the normally open contact and then we've got our gripper of course that has a open and close and it's another motor but with a instead of a target position that mode that uh gripper has a type of controller actuation controller which gives it an activate feature so that's i turn that true or false and it'll activate and run its run its course so with all of that done right i hit connect that bind them creates all the bindings between the plc and the model and then i turn on the the model that'll start up the physics and the time and that machine's running and so this is this is the plc the actual plc running this model and i can go over to my hmi and let me hit the stop button here it'll stop at its next position there we go and i can jog the axes right so i'm just i'm just tapping on my hmi screen now the the real hardware hmi uh open the gripper close the gripper and so on i'll put it back and run and now it'll go back to running again so this is this is real plc controlling virtual machinery and interfacing with not so not just you know the machinery that's in the scope of my control logic but i'm interfacing with simulated conveyor and this is where you know the this emulate 3ds simulation engine demonstration engine all of that comes into play it can it can blend and mix with emulated equipment or plc controlled equipment and that lets me you know build up my mechanical system that i can and i'm going to control with my real plc controls and not just poke and prod the i o and see things move but drop it into the context of a system that interfaces with other content that maybe isn't in my scope or maybe it's something i built last year and now i'm adding another piece to it in a brownfield application or or something like that right so you can blend these models and simulate different parts and emulate different parts and it all works together in one environment um so any questions well mike i think that's a perfect place to uh stop so if we don't have any questions i think we'll uh turn it back over to anthony i've got a question sure so um mike this is jeff curious on what the i guess i'll call it the learning curve is for automation engineer that normally programs a plc is it the same person that's going to be using this software or is it a different or is it a different person might be the same i mean what's your experience um [Music] so there's yeah you know what that's a really interesting question and it in its different companies different customers that we have view that in in different ways we don't really um prescribe necessarily who can and can't do this modeling but i can tell you from from one experience we have one customer that um explicitly says no the controls engineers not allowed to do this model because they might cheat they might they might make the model bend to the will so that their control logic the way it is is just going to work right whereas you know instead they say no no no the emulation model is is the model and if your control logic isn't running it right then your control logic needs to be fixed and so the controls engineer isn't allowed to tweak um you know the way that the model works they might get to to change like the positions of the photo eyes and things like that but they lock them out of doing certain fundamental changes and that that's just to keep the fidelity um you know clear and clean others um you know this it is the same person they do that and and the tools that we've implemented especially the cad as the model toolbar this is this is some of our newer tech this was designed to really uh you know clean up and remove barriers to entry so that a wider range of user types user profiles can make functional machinery to do their testing with very quickly so you know classic old old way to do things before we had this technology to take that same kind of machinery and transform it into something that's functional for controls testing is a completely different workflow and it took a deeper understanding of emulate 3d where to get things from the library how to change the structures and and re-parent things to other objects and and and script programming and things like that and this tool set has removed the need to do a lot of that work so that again so the controls engineers and and many other disciplines that don't really have an interest to learn emulate 3d in and of itself are able to get in and get right to this kind of work so it looks um from you know from a lay person's perspective it looks pretty complicated so when you buy the software what type of training is is out there to get somebody as proficient as you are sure so we we have standard um a standard training package right so so to get started uh it's um i don't know it's i think it's like nine hundred dollars or something like that for up to six people and uh this walks you through using these tools using the catalogs lots of concepts the drag and drop programming it's it's it's pretty uh pretty complete and once you get done with that um there is a whole big online repository and i'll just give you a glimpse of this so everybody creates their own login to the web store and it's called store but everything in there's free training materials area here so this is all training and there are the last i counted uh 400 plus step-by-step walk-through tutorials on all kinds of different topics and so you know like those cad is the model tools that take that cat and turn it into machinery there's a whole um you know top level series of stuff there and if you expand it there's specific ones for using emulate 3d if you're using inventor if you're using solidworks and so on and then furthermore you'll you'll find other tutorials that just happen to use this technology to do more meaningful things so this is all it's all categorized but it's also searchable so if i wanted to do something with a robot i might type in robot and i'll find lots of different tutorials about using robots using them for all of these different purposes and concepts and there there's and when if i start up one of these um tutorials so let's go to this one for example and i'll make sure i'm on the beginning so the tutorials all will tell you at the beginning what you're going to do and list out any materials that you need to complete it and the materials that you need will always be attachments to them or or maybe if there's no materials needed it starts from the base level uh there's always going to be a solution model attached as well so if you're just looking for example models to to take parts a lot of people like to learn from example too there's a that finished completed model is also a test release so you you read through and you walk through the steps uh hit the next button to go to the next page some of them include video clips like this has a video clip here and you just process through and learn um all of these different things uh self self-based learning so that's all as a as a customer thank you i've run into megatronics in our area and i was wondering if you guys might have a listing that would go through uh competitive advantages of emulate 3d versus similar products that are on the market no we generally don't do that uh for a couple reasons one is we're not really expert in the other products and two those comparison sheets are worth the paper they're on because whoever prints them always makes their product look like it's advantageous we can certainly tell you what our customers tell us that worked with both products um the siemens product is generally more expensive and more complex and it is very siemens centric where we're kind of agnostic less expensive and a single piece of software as opposed to multi-pieces okay great i'll get you guys involved when i run into these situations sure absolutely okay we're a little bit past the hour here i'm sure we have people with hard stops uh any other questions