Ping A Device From CompactLogix

AzCtrlEng

Member
Join Date
Aug 2011
Location
Phoenix
Posts
20
Somewhere in the past I have seen some logic to perform pings to Ethernet devices from a CompactLogix PLC. Of course now I cannot find it anywhere. Does anyone know how to accomplish this? This PLC is running v20 firmware.

Thanks!
 
Are these literal ICMP PING commands that you want to send to a general-purpose Ethernet device, or are you just trying to verify the network presence of a Rockwell Automation or other EtherNet/IP protocol device ?

I use MSG instructions that send the "List Identity" service to verify the presence of devices my controller is otherwise not logically connected to.

Which model of CompactLogix are you using ? The modern 5370-series have the ability to perform some Socket Interface features, but the older 1769-L32E and -L35E and their siblings don't.

The reference manual for the ControlLogix/CompactLogix Socket Interface feature is Publication ENET-AT002, available from the RA Literature Library.
 
Last edited:
This is an L32E.

I believe your MSG instruction might work. How do you use the "List Identity" service?

The problem I am trying to fix is the PLC does not try to initiate any kind of Ethernet communication when it is first powered up. Because of this there is no entry in the ARP table of the Cisco switch it is connected to. Nothing can communicate to the PLC through the network until the ARP table entry exists.

I solved this in a bunch of L33E processors having the same issue by turning on Time Synchronization so they would create network traffic looking for a time master. That works fine. However this particular PLC it still doesn't work.

My thought was to ping a core network switch IP that is always up to generate the needed ARP entry. I know I have seen this done before, although it might have been a ControlLogix.
 
The 1769-L32E won't support a Raw Socket command, so that's out.

It can't hurt to just send a MSG instruction to the core switch with a nonsense "Read CIP Data Table" payload.

Even though you know it will reject the TCP connection to Port 44818, it's still a TCP SYN command and should populate the ARP table.
 
This is an L32E.

Nothing can communicate to the PLC through the network until the ARP table entry exists.

You mention arp table and then switch, where an arp table is for forwarding packets based on IP (routing), so usually we think of arp tables or cache in a router, which maps a MAC address to an IP address.

In a switch we would use a forwarding or CAM table to hold the MAC address and port mapping (with VLAN, if needed). Which are you referring to?

According to 802.1D, unknown frames (as defined by entry in the forwarding table) are forwarded by a switch to all eligible ports so this never happens on my systems. The switch acts like hub until an entry is identified.

With Cisco routers, there is some behavior that the first frame incoming is dropped if an arp table entry does not exist, but an arp request is triggered so the next frame through is good. Is this what you are running into?
 

Similar Topics

Hello Everyone, I am using an Ethernet Driver and have added the IP addresses manually. There are a few IPs that I can ping in command...
Replies
7
Views
334
Hi, folks, So....I'm working on a projection weld cell (ped welders) and configuring the hardware. I've got a lot of it done, but much more...
Replies
14
Views
5,892
Hi all. Long story short, we have a Legacy RTU device that locks up every once in a while. The fix has been to power cycle it. I want to...
Replies
1
Views
1,679
Hello, I'm not that familiar with device net, however I need to add a few analog inputs on a compact logix using point I/O with device net...
Replies
3
Views
2,085
Hi, I'm new here and like most new members, banging my head against a wall for hours/days now. I'm working on a system which has been installed...
Replies
2
Views
4,377
Back
Top Bottom