Watch this demo to see how easy it is to set up implicit (connected) EtherNet/IP messaging between a Productivity series controller and an Advantech ADAM-6150EI Remote I/O module.
Correction Note: The Correct Advantech part number is: ADAM-6150EI, not ADAM-6050EI.
Our FREE Practical Guide to Programmable Logic Controllers eBook: https://www.automationdirect.com/ebooks/plc-handbook
The Productivity 3000’s Ethernet IP feature makes using the Advantec ADAM Remote IO a snap. We just want the input data collected by the ADAM module to appear in the Productivity 3000, and we want output data written to a TAG in the Productivity 3000, to appear on the outputs of the ADAM Remote IO device. We’ll that’s just the Implicit – or IO – messaging of the Ethernet IP standard, right? So we just setup the Productivity 3000 as a scanner and connect it to the ADAM Remote IO module via Ethernet and we are done. And the Productivity 3000 software makes it so easy – here we go … Ok, I’ve already opened up a new project, ran an auto-detect on the hardware to configure it and am online with the Productivity 3000. To setup a scanner, you just double click on Hardware Configuration, the Ethernet/IP tab. And drag a generic Client over into this area over here. Now we just fill in the blanks. Let’s give it a name – I’ll call this m ADAM 6050. I need to enter the IP address of the Adam module right here. And I’ll go ahead and fill in these tags here so we can monitor the status of the scanner. We already know we want to use the I/O messaging – not the explicit messaging. So we select that one. And now we have some more blanks to fill in. First we need to create a tag we can use to turn the scanner on and off. Then I’ll go ahead and create some tags so we can monitor the status of this connection. And finally fill in the details of the Adam Device. The first tab is the target to originator –that’s the Adam device to us – our input. We want that to be delivered in a unicast so it only comes to us. We’ll have the Adam device send that four times a second. That’s fine. The connection point for the Adam Device Input Channel is 102. And I need to create a tag for that input data to end up in. So I’ll call that my 6050 input. As soon as I click away, the Productivity 3000 reminds me that I haven’t defined that tag yet and gives me a chance to do so. So let’s see, we know the Adam device is sending us a 16 bit unsigned integer. So let’s change it to that. And it’s only sending one, so one column is all I need. Perfect. Now, normally in these arrays you have multiple elements and you can select how many you want ot send. We only have one so of course it’s going to send us that one. Great, so it’s going to send us a unicast message, four times a second, from this connection point, and it’s going to put this result I this array which is only one element large. Let’s do the same thing for the output data. This is the data sent from us – the originator – to the target which is the Adam device. We’ll send that data four times a second. Note that this rate does not have to be the same as the input data array. The connection point for the out put on the Adam is 101. We need to create a data array to put the data into so we can transfer it down to the Adam, and again when we click away the software reminds us that we haven’t actually created that tag yet. That’s another 16 bit unsigned integer and it’s only one element large. And of course, we’re going to send that one element down the pipe. Some devices require a four byte status header to be sent with the output data. The Adam device is one of those so we definitely want to make sure this box is checked. Under configuration data, that connection point is 100. And again, I just got that from the Adam documentation. We need to create a data array for this. And when we click away the software reminds us we haven’t created that yet. So we’ll make that a 16 bit unsigned integer, one element. Now some EtherNet/IP devices, while they require this configuration data, don’t really us to send any data with it. And that is the case with the Adam I/O device. This is zero length data, but we still need to send this field. So great. We gave it a name and defined some status tags. We tell the Productivity 3000 the name of IP address Adam device. And then we setup the I/O messaging for the Input, output, and configuration data. And that’s it. We’re done. Now since I hit OK, the Productivity 3000 is reminding me that I created a bunch of new tags and that I haven’t defined them yet. It’s recommending these types which all look great. The exception is the string. I really like to make this string kind of long so it can handle anything that might come down the pipe. Give me a second while I change these. And great, now all of our tags are defined. Well, that’s it! We setup a scanner the Adam 6050 Remote IO device. I do want to do one more thing though. Let’s go back into the device and click this monitor button. What that does is it takes all of these tags we created and builds a data view for us. I really love that feature so I don’t have to do that manually myself. We’ll call it the ADAM 6050. Great. Close all of this stuff out. We’re already on-line with the Productivity 3000 so al we have to do is transfer this program o the controller. And we’re good to go. Ok, let’s see what’s going on. Bring up that dataview. And here are all the tags we created. In particular, here’s our input array, output array and our configuration data. To turn this scanner on, all we have to do is toggle that enable bit we created. So I’ll toggle that. Write it out. And look – we’re connected to the Adam Device, and we have a successful connection. So now that we are enabled data is begin transferred back and forth between the Adam Device and the Productivity 3000. Well, let’s try it. The inputs on this ADAM device are pulled up, so if I simply ground the D0 pin, the sure enough, the data is transferred fro the Adam device to the Productivity3000 in the background and it just appears in this input array we just created right here at the D0 bit. If I release that one and ground the D1 bit, then sure enough that information is transferred from the Adam Device up to the Productivity 3000 and drops into this input array we created. Note that on the productivity 3000 it’s easy to change the view of this. Right now we’re viewing it in decimal, let’s change that view to hex and see how that looks. And there it is. It’s a little easier to read that way. Ok, let’s do one more. I’m going to ground pin D7 and see what happens. And sure enough that input data is transferred from the Adam remote IO device, up to the Productivity 3000 and dropped into this input array where our ladder logic can use it how ever it wants. Perfect. And again, keep in mind, this is all automatically happening in the background. Our ladder code doesn’t have to do anything to fetch that data. It’s just there ready to use. How about the output data? Well, it’s the exact same thing. We just modify this array and the EtherNet/IP automatically transfers that down to the ADAM device for us. Let’s try it. I have some LEDs connected to the output pins on this Adam device so we can see the results. Note that on this device, it’s the upper 8 bits of the 16 bit word that drives the outputs. So let’s change this output to hex so it’s easier to see. And let’s turn on that 8th bit – which will be output bit 0 on the device. Write that out and sure enough output bit D0 lights up. Let’s try D1. And sure enough that lights up. Let’s go crazy here. Let’s put alternating bits in. And sure enough those light up. Normally your ladder code would set these bits, of course. We’re just using the dataview here because it’s easy and to show you that no ladder code is required to do the actual transfer of the data down to the ADAM device. So bottom line here is all we did is to setup a scanner to talk to the ADAM IO device, we just went to Hardware Configuration, we dropped a generic client in here and filled in the blanks. Once we were done with that, we brought up our dataview, enabled the device, we checked that we were connected and had a successful connection. Then all we had to do was watch the input values as they changed on the device, and write output values to drive the output pins on the device. That’s it. That’s all there is to setup a Productivity 3000 to work with an Advantec Adam remote IO device. Could we add more devices? Sure! Go back to hardware configuration, grab another generic client, fill in the blanks. You can add as many as you want to. It’s easy. Check out the other videos in this series for more tips on using EtherNet/IP with the Productivity 3000. Performance plus value. That’s productivity. From automation direct.