Factory I/O with Logix Controller

Home / Factory I/O / Getting Started

Description
This tutorial shows the steps to connect a ControlLogix Studio 5000 project to Factory I/O. This video used Studio 5000 v36, FactoryTalk Logix Echo v3, and Factory I/O to simulate a tank filling application.


Transcript
(00:02) okay this video I’m going to show how we kind of went about the um the studio 5000 project that was used in the uh in the building a simple Factory talk Optics application there was a um a comment shared by one of the viewers uh that had kind of asked could you show the um the studio 5000 project kind of make a video on that I didn’t really show the details of that I just kind of had something already running and uh and then head tied Optics to it so I’m going to put a link to that video um here as well but I had a um basically there was

(00:37) a few things that I kind of did there was a studio 5000 project of course and then I was using the factory IO Software which is a uh kind of a simulation software digital twin type simulation software so Factory IO is not a Rockwell Automation software product it is a uh is a third-party software and been using Factor IO for several years in our classroom environment and it works really well for a um you know a way to kind of visualize stuff you know we don’t can’t always build these Conveyor Systems like you kind of see on

(01:14) the screen here or you know robot systems but we can uh you know simulate and tie real physical controllers to this Factory iio digital twin environment uh so uh if you’re not familiar with Factor iio uh I have some videos on it as well and I’ve seen many other people on YouTube have some videos on it but uh basically you know Factor iio you can download a free trial it’s actually uh not that expensive of a software package for digital twin training uh it comes in several versions uh you could use what’s called ultimate

(01:55) which basically gives you access to all of these controllers or you could just choose one of these controllers um the package for just one controller only for instance if you’re only going to be doing Alan Bradley plc’s then you could use the the alen brle Edition and you can either pay a monthly subscription or bu the year or just a one-time Perpetual type license the Allen Bradley uh Edition does work with the control Logics the compact Logics and the micro 800 family so all the modern controllers you can you can connect to them and what I’ve

(02:36) done in some of these videos is I’ve used the the simulators uh so for instance we have the logic Echo to simulate a control Logics or now the compact logic’s laed controllers and then if you use CCW connected components workbench you can use the micro 800 simulator and those simulators actively connect to this Factory I iio environment so that’s that was part of it um going back to the original video if I just kind of Jump Ahead a little bit kind of here to the end you know what I had inti what I had you know essentially built was a a

(03:14) simple Optics application that kind of mimicked the tank and I had the ability to control the fill and discharge valve and then here in the factor IO scene we were controlling the fill and the discharge valve um to to fill and empty the tank pretty straightforward so I’m going to go ahead and open up uh the factor iio software on my computer and you know so first first part is you know of of doing what I did there was have Factor iio open and we choose the scene so if you’re not familiar with Factory IO there are

(04:00) several pre-built scenes they call them that you could just open up um some of them are just simple conveyors but there are two tank uh scenes scene three is uh filling tank with timers and this one doesn’t necessarily have a scene number to it but it’s called level control and the difference between the two is that this filling tank scene with the timers is going to use a discret uh signal to open and close the fill and discharge valves so it’s like a solenoid valve in that it’s either um full open or full closed so if I could

(04:39) just I just give it a a discrete signal and it opens the valve and I uh drop that signal and it closes the valve the level control scene will use control valves so in that case we we actually have to give it a numerical value to open the valve or close the valve so for instance um you know we we can pretty much reference it as like you know 0 to 100% so you either 100% open you’re 50% open 75% open you or 0% open essentially so we’re going to give it an integer value so that’s the one I used in that project so I’m just going to click on

(05:22) this and that’s going to open up the the scene now I don’t really need to do anything I could customize the scene um and you can you know you could build your own scenes you don’t have to always use the pre-built ones but when you first open up this scene uh you know what’s in this tank is you know we have a fill valve we have the level meter we have a discharge valve and we have a flow meter and that’s pretty much all the the instruments um or actuators that we have here in this scene now they do have the control panel here with push buttons and

(05:59) little digital dis displays so they do have you have the ability to kind of interface with these buttons if you wanted to but uh I I usually don’t do that so the next key to to making this work is we have to go to the drivers so go to file then drivers and we need to choose the driver so I have the ultimate edition so I have access to all of the drivers available but we can see under Alan Bradley we either have a logic 5000 the micro 800 uh they do also offer micr Logics and a slick 505 um drivers as well so since we’re

(06:39) going to use logic and that’s what I use in that video we’re going to choose Logix 5000 now when I do that it basically populates uh these tags in here the other thing we need to do mine went ahead and grabbed this IP address only because that’s what I’ve used before but if you haven’t used this software before you need to go to configuration and you need to make sure you type in a um the IP address of what you’re going to communicate to now uh I’m going to use the logic’s echo emulator that’s kind of what I did in
(07:14) that video as well so we have the um the the host IP address which is going to be the 127 0.0.1 for me that’s the the loot back um IP address and then the slot and path now um since I made that original video I might some things have changed perhaps um as well as since the last time I used this fact iio software so I’ve got the logic Echo dashboard up and again Logix Echo is the emulation software or the emulator for the L8 controllers both the control Logics and now in version three the compact Logics so we can actually emulate either

(08:00) controller as long as it’s an L8 family um and then we have this chassis virtual chassis and then I can see here slot 00 I just have a CPU a virtual CPU I’ve called it Optics CPU uh you can call whatever you want and it’s going to be using version 36 and it’s got an IP address of 127 001 and it is switched on so this is in uh in slot zero so when I come back here to factor iio I will need to change this to zero so you will need to set the path or the slot uh even if it’s a virtual CPU uh to where I can find it the other thing about the factor iio

(08:46) by default settings here are these IO points and it creates uh basically tags here in fector iio and they will start with this Bool in or bu out or float in float out um and then you have an offset if you want and then account all right so for the most part we can leave these um as is and then um basically when we we see back here this is what iio factor iio is going to expect to see from the controller it needs to see uh tags in the control Logics that have this exact name so the start reset stop um Factor iio

(09:37) running uh those are just discret Boolean points that were kind of tied to these push buttons here and again we’re probably not going to use those uh then we have the float in uh zero float in one and float in two that’s going to show our flow meter our level meter and our set point so uh basically we’re going to really just monitor these two tags right here and then uh as far as outputs go we have a couple of discrete outputs those were the the lights that were on that control panel in the scene but mainly we want to

(10:13) worry about the fill valve and the discharge valve so we could actually get rid of these tags and not have to create them uh to simplify things but we’ll kind of perhaps leave them as is now let’s go into Studio 5000 so that’s all we got to really do to set up the scene now we need to go ahead and create a new project and I’m using version 36 and I’m going to uh we’re going to go ahead and use a control objects 5580 make sure we pick a 5580 it doesn’t really matter which one of these I choose as far as the Echo
(10:57) goes I’m just going to choose the l81 and then um maybe I will call it something like Optics level and we’ll say next version 36 it doesn’t really matter um as far as the uh this chassis size for our emulation purposes I’m going to go ahead and say it’s in slot zero and we will say finish that’ll build the studio 5000 project okay so the 35,000 project finally got generated and uh now we have a blank project and I don’t need to do anything as far as creating a IO uh here underneath the io configuration I’m

(12:01) going to use the emulator so um you know if you do have a project pre-built and you already have IO cards configured they can stay as is and you can use them in the la8 emulator uh in the logic Echo but to just do what I need to do for this I don’t have to create anything uh but what I do need to do is I need to create controller tags and to make factory iio work with your uh control objects I need to make tags that match exactly what is shown here inside this box so I need to create uh these Bull in 0 one 2 3 the float in

(12:44) 0 one two and then the bull outs 01 uh 0 one and two and the float out 01 and integer out 0 and one and I need to make sure that when I create these tags in the controller that they match the data type so this is a Boolean this is a float or a reel this is an integer so just going to create uh here one real quick we’re going to uh let’s create the Boolean right so we’re going to uh match even case sensitive and we don’t need to create an alias and we just need to change this to a Bo okay and um we could uh could copy paste to kind of speed up

(13:33) our our next but make note that the data type still needs to be changed oops I’m getting a little getting a little ahead of myself there okay so just create tags like that that’s all we got to do I’m going to go ahead and um generate the rest of these tags and then uh pick back up here in just a moment okay and we’re back and I’ve filled out the rest of the tags um just to save all time and not have to uh build all that in the video mainly uh once again we have the bus the floats and they’re all been assigned to the

(14:22) right data type uh and then the bull outs the float outs I went ahead and put a description for the ones that I’m going to be using at least so the flow meter is going to be tied to float in zero level meter tied to float in one and then the fill valve on float out zero and discharge valve on float out one okay now so that’s all we got to do for tags um unless we got to create some other tag inside of here now um again the way how Factory IO works is that um this fill valve and this discharge valve will be looking for for a number between

(15:02) 0 and 10 that’s kind of its range um so actually 0.0 to 10.0 it’s a floating it’s a FL floating Point number so uh so what I need to do is um if I were to just to type a a number into this um if I go to monitor tags if I go online and download this if I just type a number in here then I’ll be able to control the valve okay so before we do that um I’m going to download this project to the uh emulator now in the video I made I’d actually built some logic and all the logic was is I used the move command so that when I uh I had

(15:49) created another tag so that Optics would interface with with a tag in the controller and then I would move that value into this float in zero I’m sorry float out zero or float out one and that’s how I wrote basically a value to the control valve but in this case I’m just going to write it directly into this uh value here in the tag um you know in the controller tags so what we need to do uh is you know one we need to make sure that our logic’s Echo is up and running than it is so our we can close this here just

(16:26) minimize this now um now since this is a new project I don’t have a path so I’m going to go to Communications I’m going to say who active and then it uh popped up over here in the other window I’ll move it here in a second all right so in our who active we see we got this eth1 eth ip1 for ethernet IP we also have this ethernet emulate ethernet that’s the one I want to look at and notice that I have a 127 0.

(17:03) 0.1 and it has the the the name uh that’s actually what’s running in there right now that’s the program that’s running there right now this 9310 wed 300 ENT that’s just basically the catalog number of the logic’s echo um shows up here for some reason but if I try to find this this emulated controller underneath one of these other ethernet uh tabs it’s not going to show up so we should have this emulate I’m just going to simply click highlight here and when I do that I you know these boxes are no longer grayed out so I can either go online I can upload

(17:40) download we don’t need to do any kind of firmware update to the emulator of course so I’m going to say go online and that’ll will of course prompt me to make a download it’s going to say uh you know things are different we going go and say download and say download so even though we’re working with the emulator the the process of downloading is exactly the same and now it says uh do you we’re done downloading do you want to put it back into remote run mode and we’ll say yes all right so we can see now that we

(18:16) are in the Run mode controller light is okay and then we’re in the remote run uh mode now if I go back to Echo there’s really nothing here to telling me that you know anything is running or or whatnot so this you know this is what’s actually running the emulator controller but there’s really no visual indications that U you know that anything is happening right now just again making sure that that this the controller is switch to on that’s all we got to really do all right so we got the the logic um or the program at least created

(18:54) the uh the other part of it was you know coming back to the factory I/O so now um I need to do two things first I need to go back to drivers and I need to connect so I need to connect the scene to the uh to the emulator controller so I’m just going to say connect now if I get a green check uh that’s that means we’re connected and more importantly if if I don’t have any red um uh error like little badges pop up this means that I have all these tags are visible and exist in the controller if you did not you know

(19:36) if one of these tags if you didn’t create one of these tags you’ll get like a red kind of badge right here letting you know that it didn’t find that tag and it will kind of error out basically so got to be connected so right now our Factor IO scene is connected to our emulated controller and the other thing we got to do is we got to make sure that the factor IO is in the Run mode okay so now we’re in the Run mode when we go into the Run mode uh our little editing um window here goes away now to kind of put this side by
(20:13) side as best as possible um so what I can do now is I could come uh come here to my uh Studio 5000 come to my float out zero and this is my fill valve and if I just type in a value such as 5.0 well we can see the fill valve is now open and our tank is filling notice that this went to yellow in in the factor iio scene whereas this is still white so this is being actuated uh and this is has a value as well turn yellow now if I go ahead and put this back to 0.

(20:59) 0 that closes oops that closes the fill valve and uh stops The Fill now if I uh come to the float out zero that is our discharge valve and if I go ahead and maybe type uh like two and a half here say it’s like 25% open we can see that we are uh the discharge valve is uh actuate it and it is slowly emptying we can see that uh we also had real-time indications here for our flow meter and our level meter so we’re seeing our level is 2.

(21:42) 8 and our flow is 1.3 so we can use these tags um basically uh in that you know original Optics video I was just basically reading these values and displaying them on the Optics screen and then I was using Optics to basically interface face with these two tags to control the opening and the closing of the fill valves so that’s all there is to this um you know this particular scene was kind of straightforward there was only a few you know actuator points or feedback points that we could monitor that’s which why it was a a nice and easy kind

(22:21) of scene to work with so if you’re interested you know Factory iio once again um you can uh you can download a trial for this now I should say that you know I used Studio 5000 and I used uh the control Logics and I use the Logics Echo U but as we saw uh before uh we can also use the micro 800 and the micro 800 um you know has an advantage in that you can actually download the connected components workbench software it it runs completely unlicensed and free and you can use the micro 800 simulator so if you don’t have

(23:04) you know a controller and you just want to really do something uh you know for free without having to purchase any additional Rockwell software um you could use a CCW software and use the micro850 simulator and do the exact same thing as a matter of fact I’ll uh I’ll make a separate video that will show exactly that so I hope this was helpful um showing some of the behind the scenes of the studio 5000 and Factor IO uh and U and then the original Optics you know building an Optics um just basically showed you how I was able to take you

(23:43) know build simple objects inside of the Optics HMI and Link them to these tags in the studio 5000 project