In a nutshell, EtherNet/IP’s Implicit or I/O messaging transfers one block of data
from the PLC to the drive’s Ethernet/IP module which is then forwarded to the drive,
and it transfers a different block of data from the drive’s EtherNet/IP module to the
PLC.
This is all done transparently in the background so all you have to do is mess with these guys.
If you change one of these, then EtherNet/IP automatically changes the drive to match it.
If the drive changes one of these, then EtherNet/IP automatically updates that over here in the
PLC.
Once it’s setup, you don’t have to do anything – it just works.
EtherNet/IP’s Implicit messaging is great for those times when you want your controller
to monitor or update some drive parameters periodically with minimal hassle and effort
on your part.
All we have to do is create an electronic datasheet that lists the parameters that are
in these blocks and also contains the relevant EtherNet/IP stuff that describes the drive.
Then we import that electronic datasheet into the PLC so it knows what’s to expect.
That’s literally all we have to do.
The good news is the Sure Servo 2 Pro software automatically generates a custom Electronic
Data Sheet for you.
Let’s do an example.
For this demo, we’ll setup this AutomationDirect Productivity 1000 PLC to communicate with
this Sure Servo 2 drive via EtherNet/IP Implicit messaging.
We’ll be using this ethernet addressing for this demo because these are the Sure Servo
2 drives default numbers.
You’ll need to use numbers here that are compatible with your network.
I’m assuming you have the EtherNet/IP module connected to the Sure Servo 2 drive, that
it has the most recent firmware and you know how to configure it.
Check out these videos if you need help with any of that.
For this demo I just factory reset the EtherNet/IP module – no other configuration is needed.
I have this drive setup to run a position register mode path that simply rotates this
disk back and forth.
Check out this video to learn how to do that.
To setup the Productivity PLC to control the Sure Servo 2 drive using EtherNet/IP’s Implicit
messaging, we’ll need the PLC to: Enable the servo, specify the path that we want to
trigger, trigger the path, and disable the servo.
And just for fun, let’s also control what shows on the Drive’s LED display.
That’s the data going from the PLC – the Originator in EtherNet/IP lingo - to the Sure
Servo Drive, or the Target in EtherNet/IP lingo.
The drive can support up to 16 of these parameters.
Let’s also have some data go from the drive into to the PLC.
Let’s monitor the status of the currently running path, the Firmware version, the current
drive alarm code, and the Keypad button status.
And we can have up to 16 of these.
We just need to do two things: Generate the Electronic Data sheet for the Sure Servo 2
drive in the Sure Servo2 Pro software, and then import that data sheet into the Productivity
PLC.
In the SureServo2 Pro Software – which you can download for free at Automationdirect.com
- with the drive connected, double click on the EtherNet/IP Electronic Data Sheet Generator.
This list is the target to originator list – the drive to the PLC.
We want to monitor the status of the currently running path in parameter 5.123.
We wanted to monitor the firmware version in parameter 0.000, The current drive alarm
code in parameter 0.001, and the status of the drives keypad keys in parameter 4.008.
Again, we can send up to 16 of these to the originator – or the PLC.
Over here we have the parameters that go from the PLC Originator to the Drive Target.
We want to send stuff to parameter 2.030 to enable and disable the Servo and we want to
trigger our path which we’ll put in parameter 5.112.
We’ll then trigger those paths by writing to parameter 5.122.
And we want to control the drive display via parameter 0.002.
Again, you can control up to 16 parameters.
Click this guy to create the Electronic Data Sheet and save it to disk.
Now we go to the Productivity PLC software which is also a free download from the AutomationDirect
website.
I’ve already started a new project and connected to the PLC.
We need to get this PLC on the same network as the drive, so I’ll go to the hardware
configuration, double click on the CPU, go to the Ethernet ports tab and enter an IP
address that will work with the drive.
Now we go to the EtherNet/IP tab and Import that EDS file we created.
Give it a name and drag that over here.
Give the new device a name, we’re using the ethernet port, and the drive is located
at its default IP address 192.168.1.10.
I like to put all the status in a structure.
That was all the generic stuff.
Click here to add the type of EtherNet/IP messaging you want.
We can add a generic IO or Implicit EtherNet/IP messaging, Explicit Messaging or custom messaging
which will come from this Electronic Data Sheet file we created.
For the inputs to the PLC, we’ll do unicast – that is the message is sent directly to
us, not multi cast to everyone and we’ll have the messaging update every 250 milliseconds
or 4 times a second.
The data sheet filled in the correct instance for us and we can see that it is sending us
sixteen 32-bit words from these parameters.
So, we need to put those in a data array that’s 32-bit integers, with 16 elements.
The data output to the drive is the same thing.
Sixteen 32-bit integers being sent to these parameters.
So, we create an output array, that’s 32-bit integers, with 16 elements.
I forgot to change the poll rate – this is 50 times per second – but it does point
out that the outputs can have a different poll rate from the inputs.
The configuration stuff is all grayed out because the Electronic Data Sheet filled it
in for us.
This 192 bytes of configuration data contains the addresses of the parameters that will
be transferred back and forth between the drive and the PLC and some other odds and
ends the PLC needs to know.
These guys contain the values at those addresses.
So, all we did here was assign the CPU an IP address, imported the EDS file and created
the input and output arrays.
When I hit OK the software asks me if I want to create all of these new tags.
I do, but I like to increase the size of the status strings just to be sure they can handle
anything that comes their way.
Great, this is the drive that the PLC will be talking to in the background via EtherNet/IPs
implicit messaging.
Let’s do one more thing, I’ll double click to go back into that device, and click this
Monitor button to automatically create a dataview with all of this stuff in it.
And I’ll close out of all of these dialogs.
I’ll transfer this configuration to the PLC, and flip it’s switch over to run mode.
Let’s bring up that dataview where we see all the status tags and the input and output
arrays.
You can add some comments in the tag database to remind you what each of these is, bit we’re
gonna cover these up so I’m not going to take the time to add tag comments.
If I click this enable bit and write that to the PLC, then we see the drives vendor
ID, it’s formal name, there’s no error so this is blank, we are connected to the
drive, there is no error flag here, and the message we got back is that we have a successful
connection.
Perfect.
And look!
We can already see the firmware version here and all the other parameters input to the
PLC from the drive via EtherNet/IP.
I’m going to add some notes over here so to remind us what each parameter is.
This guy shows us the status of the drives keypad keys – and sure enough if I press
different keys, we see the result here in real time.
Cool.
Let’s control the servo from the PLC.
Before we do ANY writes using EtherNet/IP’s Implicit mode, let’s go to parameter 2.030
and enter a 5.
That tells the drive not to store any writes to non-volatile memory that come in over coms.
That way, If coms send a lot of writes, you don’t have to worry about using up the non-volatile
memory’s limited number of writes.
The non-volatile memory can take millions of writes, but coms can eat that up pretty
quickly if you aren’t careful, so this is always a good precaution.
The EtherNet/IP module buffers incoming writes and only forwards changes to the drive, so
it’s not the number of writes, it’s the number of writes that change a value that
counts.
I did this via the drives key pad for our quick demo.
You would normally put this in the PLCs startup code because this non-volatile memory protection
doesn’t survive a power cycle of the drive.
Ok, let’s enable the servo.
I’ll check to make sure it’s not currently enabled, yep, and I’ll enter a 1 here and
write it out and sure enough, now it is enabled.
Now we put the path we want to trigger here, and we write that out.
Then the drive needs to see a zero to 1 transition here to trigger the path.
And there it is.
If I had more paths to execute, I would just enter those numbers here and issue a zero
to 1 transition here to trigger each of those.
Enter a -1 back up here and write that out to disable the servo.
And just for fun let’s change the LED display to show the speed in rpm … and how about
the current bus voltage.
There are tons of things you can show on the LED display.
The codes for those are in a table in section 8.4.11 of the user manual.
Of course, normally you would do all of this in ladder code, but the point here is look
– we haven’t written any ladder code at all, yet we have full control of the drive
simply because EtherNet/IP is automagically transferring all of these parameters down
to the drive and bringing these parameters up from the drive for us implicitly in the
background with no effort on our part at all.
Very cool.
And again, all we really did was create an electronic datasheet in the Sureservo2 pro
software that listed all the parameters we wanted EtherNet/IP to transfer for us, and
then imported that into the PLC.
Not bad at all.
Some loose ends: There are a couple parameters EtherNet/IP’s Implicit messaging can’t
control.
For example, you can’t trigger a path using P5.007 like we did on the other videos – As
we just saw, Implicit messaging uses Parameter 112 and 122 for that.
And you can’t change Digital Input and Output assignments via Implicit messaging – you
need to use EtherNet/IP’s explicit messaging for that.
Finally, don’t forget to keep an eye on the EtherNet/IP modules status LEDS.
There’s an awesome chart in the user manual that tells you what all the various blink
rates and colors mean.
Keep in mind this was all the Implicit or I/O messaging Ethernet/IP mode where it automatically
transfers the parameters back and forth for us.
That’s really appropriate for monitoring things in real time or things that will change
often.
If you just need to write to something once, or even just a couple times, like writing
a 5 to parameter P2.030 to disable the non-volatile writes, then you probably want the EtherNet/IP’s
explicit mode where you use a ladder instruction to explicitly send a parameter changes to
the Drive.
We cover Explicit EtherNet/IP messaging in this video.
Well, that should be enough to get you started with EtherNet/IP’s Implicit or I/O messaging
Click here to learn more about Sure Servo 2 and to find more videos like this one.
Click here to subscribe to our YouTube channel so you will be notified when publish new videos
like this and click here to learn about AutomationDirect’s free award-winning support options.