Change device IP via Kepware

Suppose you have a groov page which includes gadgets connected to one device, and you have several other devices that are identical except for their IP Addresses. You could copy/paste that page and change all the tag references to the other devices. However, if you have several of those identical devices, that could get tedious. Here’s a handy tip one of our sharp application engineers cooked up to address this situation by leveraging some Kepware capabilities.

For his situation, he had several identical CompactLogix PLCs. He created a button on that already-connected and built groov page to change the one device’s IP address on the fly – so groov could connect to the multiple his PLCs through a single Kepware device, reducing the number of screens and connection required for the system.

Here’s how:

The idea for the groov is to have a command button for each PLC. Each button sends the IP Address (actually the DeviceId) to Kepware instructing which PLC to communicate to. (Kepware should be installed and communicating to groov before you begin this setup.)

STEP 1. Change the Kepware Setting to Allow Device Changes

  • Click-Right on the Kepware icon in the system tray and select “Settings…”
  • Select the “User Manager” tab.
  • Double-Click Anonymous Clients.
  • In the “Project Modification” section, set the “Edit Device” to Allow.
  • Click OK to close the window and Apply to save the change.


STEP 2. Display and Change the IP Address of the PLC in groov

The tag for the IP address of the PLC is plcchannelname.plcdevicename._System._DeviceId
This tag is a string.

To display the current DeviceId you can use a TextArea gadget.
In the example below, the actual tagname for this PLCs deviceID is
CompactLogix.DemoUnit._System._DeviceId


To change the DeviceId you can create several CommandButton gadgets that send the proper string value to the DeviceId tag.


Repeat for however many different devices you need to connect. Super easy!

groov on…
-OptoMary

This is an excellent tool! Thanks to everyone!