This version of Internet Explorer is either no longer supported by Microsoft, or is obsolete and some features of our store may no longer be supported.
Please consider upgrading or use a different browser.
Cookies are not enabled on your browser.
Cookies are required for our site. Please enable cookies in your browser preferences to continue.
AutomationDirect's COVID-19 Related Supply Chain Update currently shows we have our normal high levels of product inventory. Considered an essential business as defined by the CISA, we continue to fill customer orders in accordance with current rulings. Click here to read or download our full statement. (Updated: 4/6/2020)
NOTICE: FedEx and UPS have suspended all service guarantees until further notice. More information can be found at each carriers website.
Before placing your order, please ensure you will be available to receive packages (and freight when applicable) at your facility.
Our offices will be closed on Friday, April 10th in observance of Easter.
Orders placed by 6:00PM ET on Thursday, April 9th will ship same day (if paid for by Credit Card or charged to a PO account in good standing). Orders placed after 6:00PM ET on Thursday, April 9th will ship on Monday, April 13th (based on credit approval and stock availability).
Software Version used in this video: Do-more Designer 1.4.3
Using the Do-more to talk to an EtherNet/IP encoder like this one is easy. It really only has one class, one object in that class and the usual services. There is a table of class attributes, but it only support attribute #1 – the rev number. How do I know all of that? It’s in this manual I found on-line. Looks like Appendix B has the Common Industrial Protocol Object definitions – which is what EtherNet/IP uses - so we scroll down to that and here is everything we need. Here are the services that are supported – all the usual suspects. Here is where it tells me the only Class Attribute supported is #1. They define all of their units here – that will be handy in a minute. And here is the one EtherNet/IP position sensor object and all of its attributes. Looks like we can ask it for the total number of attributes, a list of which attributes are supported – notice they go from 1 to 2 then to 10, 11, 12 etc. so not all attributes are used here. We can get the current position and the type of device; specify the counting direction, etc. There are lots of things we can do via EtherNet/IP with an encoder. And remember – ALL Ethernet/IP encoders use this same table of attributes, so code you write for this encoder will work on any vendors EtherNet/IP encoder that supports these same attributes. And that’s one of the main advantages of using EtherNet/IP – code portability and vendor independence. So let’s do an example or two. We have a Do-more at this IP Address going into a Stride Ethernet switch, which goes to the EtherNet/IP encoder at this IP address. As always, we start with the configuration. EtherNet/IP doesn’t affect the CPU, the I/O or the Module configuration. It does create a new device. And while we could use this built in EtherNet/IP device, it is much better to create a separate new device for each piece of EtherNet/IP hardware. Otherwise one device will have to manage multiple TCP/IP connections which can slow things down. Fortunately, it’s easy to create a new device. Click on NEW, select the EtherNet/IP Explicit Client, Give it a name – we’ll call it “AMCI_Encoder.” And we’re done. That’s all there is to creating an EtherNet/IP device. Now we just drag an EtherNet/IP explicit message instruction into our code and fill in the blanks. Select our new AMCI_Encoder Device. Enter the encoder’s IP Address. The default port is fine. This device only has one class and Appendix B tells us its Class 23 hex, so that goes here. There’s only one table so that’s going ot be instance number one. And now we just pick which parameter – or ‘attribute’ – we want – how about the current position, which is attribute 0A hex or 10 decimal. And that goes here. We’ll use these for our status bits and D1 for the result and D2 for the number of bytes received. The value is a DINT which the appendix tells us is 32 bits or 4-bytes of memory, so we put that here. That’s it. Let’s add a contact so we can activate this instruction. Accept everything; write it out to the do-more. Add the contact and the result memory locations to the Data View. Make sure the PLC is running, and toggle the contact. Sure enough, the instruction was successful, we got all 4 of the expected bytes and this is the value we got. I’ll rotate the encoder shaft and toggle another read. And it changes. Perfect. Let’s add the ability to preset the encoder value so we can set the encoders initial output to whatever we want. It’s very similar to what we just did, so we’ll copy that and paste it here. Looks like the preset is attribute 19 – that goes here - and we wat to set the attribute this time. We’ll use these for our status bits and we’ll retrieve the present value from D0, which is 4 bytes long, so that’s fine. Perfect. Let’s toggle that on C101. Accept all; write it out to the Do-more. Let’s add our preset to the Dataview, along with its control bit. Make sure we are running, rotate the encoder a little and read the current value of the encoder. Now let’s set our preset at 100 and toggle its control bit to write it to the encoder. Now toggle the current value bit and its right where we expect it to be. And that’s all there is to talking to an encoder – any EtherNet/IP enabled encoder – from the Do-more. Just pick the attribute you want from the table in the manual, and the service you want and your in business. If you have any questions, please contact AutomationDirect’s FREE award winning tech support during regular business hours – they will be happy to help you with any AutomationDirect parts. The AMCI encoder isn’t an AutomationDirect part so please don’t and ask them about that, but you can ask folks on the forums – they love to share their years of experience! Just don’t post any questions directed at AutomationDirect’s support staff there, they don’t monitor the forums on a regular basis. Spend Less, Do More. With AutomationDrect.