Retriving node IP adress from network when knowing MAC-adress

Billstrom

Member
Join Date
Oct 2014
Location
Holbaek
Posts
1
Hi..

I have a network question..

Platform: AB CompactLogix+Micro800

machine: bloodsample analysis

Setup: I have "receiver" unit (AB CompactLogix) placed at a hospital - the unit recieves bloodsamples via small tubes from smaller nodes (AB Micro800) placed all around the hospital.

The receiver has an static IP adress but the nodes is set to receive IP adresses from DHCP.

How can i get the nodes IP adresses so the communication can start etc.??

I see two options..

1. Getting ip information from the network (i know the MAC-adresses). But i dont know how to do that from an CompactLogix PLC

2. Getting ip information sent from the nodes - but how to do that??

Can any of you guys help me?? :)

Brgds Daniel
 
Always best to have the PLC's IP fixed somehow as rdrast suggests. I fix everything on my personal home networks so I can find it by IP if anything goes wrong. While you can't afford to do this for everything on enterprise networks some devices simply NEED this done for to be reachable in a predictable way.

PLCs just don't have the ability to run an ARP command.
 
It's typically best practice for network servers, which the 800s likely are here, to have fixed addresses so you can actually communicate with them. Where else do you point your data requests to if you don't know the IP? This, of course, is your issue.

Some options, with some repeats:

1. Assign static IPs
2. Use DHCP, but IP can be fixed to a MAC address, so the device gets the same IP each time. Schneider Electric takes this model one step further with their role name/rotary switch config - in this case MAC is not used by DHCP, but role name, as configured with the rotary switch, is used. This makes changeout of devices easy, without having to change DHCP server to change the MAC. I know you don't have this hardware but wanted to describe how others solve this very issue.
3. Change your communication profile. Since the logical master has a fixed IP, make it the server and all the 800s clients. This way, their IP does not matter and they all push data to the logical master - in this case, a network server. I prefer to 'read' data than have it 'written', so this method would break that general preference (for me).
4. Another way people get around this is to use some type of broadcast or multicast naming service which delivers the information you need. It's not a practical solution here with ModbusTCP or EtherNet/IP, but would have to be built-in to the architecture and protocol.
5. Use DNS. If the system supports naming with hostnames vs. IP addresses, and DHCP updates the DNS records, then you would just put hostnames in the logical master and then they would resolve to the updated IPs. I don't know, but I doubt the hardware you list supports this method. This is common in the IT world.

I am not sure about the ARP comment - that PLCs cannot run this command. I would argue nearly all PLCs use the ARP command routinely - this is how layer 2 and layer 3 works together to send packets in general. What I think was meant is that usually at application level, this information is not made available to the program. If the PLCs support SNMP then there is some reasonable chance that it could be available, if the PLC can access SNMP data as a manager (client), but even this is difficult to do. However, I don't see how ARP really solves this anyway - an ARP request goes out to broadcast, usually, asking what the MAC is for a given IP. But here we don't know the IP, so how to address the ARP request?

It's sometimes possible to recover IP address information from a host either on boot or regularly as the device does address conflict detection. How a PLC could capture that information and make use of it is unknown. We as humans use Wireshark/Omnipeek for this and it works well, but automating in a PLC is a whole different challenge.
 
ARP can pull the IP based on making a request of the MAC address. Not useful anyway, why would the requesting PLC know the MAC address any better than the IP? What I meant about ARP in relation to PLCs is that is usually not user accessible to execute that command on the PLC.

Best is to just give those devices a fixed IP either fixed in the PLC or DHCP reserved.
 
If you main PLC has a fixed IP, the clients can simply connect to it and tell it their IP addresses when they come online. Alternatively, the main PLC can run SNMP to detect when the client PLCs come online and read their IP address.

I don't really know if Rockwell gives you access to SNMP calls, so it might be easier to just have a routine on the Micro800s that sends their IP address to the main PLC when they boot up.
 
Maybe just have the remotes write the data to the static.

That might work, MSG WRITE only needs to know the address of the destination, the destination doesn't need the address of the sender.

Problems with this though are if the subnetting is different, that every 'sender' would need a unique program, and there is a serious possibility of flooding the receiver with messages from multiple senders. I know from experience that Micrologix CPU's don't like floods of traffic.
 
DHCP would seem to have the same subnet. And the receiver is a compact logix
DHCP doesn't guarantee any specific subnet. We have a boatload of VLANS here, all isolated from each other, but connectable through the top level routers; but only if the ports are specifically configured to forward between VLANS.
 
That being said if the DHCP is not on the same subnet as the "master", would never work without that routing even from master to remote.
 
DHCP reservations are an option if you can get IT to enter them.

Can this ML800 possess domain info? if you can put a hostname and domain into them as part of their IP config, then you should be able to locate them by name anywhere on the domain.

Update: I just noticed I repeated anothers post. sorry for the duplication.
 
Multiple ways to solve this.

1. Go to any PC on the same subnet as the Micrologix you are trying to find and pull up a command prompt and use arp -a and it will list the IP address and MAC ID.

2. Run a tool on the subnet like Advanced IP Scanner http://www.advanced-ip-scanner.com/ and it will give you the same info.

3. Get the infor from your DHCP server. In your DHCP server you can set the addresses used as reservations and the device will get the same IP each time and it will auto assign if you ever have to replace the device.

If you decide to make them static addresses you will need to add them to the exclusions list in your DHCP server or chnage your DHCP server scope.

Adding them to the exclusions list would be the easy way if you choose to make them static.
 

Similar Topics

Hi all, The company i work for has a couple of PLC units. The had some other company come in about 8 years ago and got the code installed onto...
Replies
28
Views
5,582
Hi everyone, we have a pv+1000 at our facility that was put in by one of our sister plants. we don't have a good relationship with them and i'm...
Replies
4
Views
3,763
Dear all, I am beginer in ifix hmi programming. I have 2 ifix 6.0 pc with license FiX and client.. Can some one tell me how to configure sample...
Replies
0
Views
137
Looking to tery and send some tags from wincc to node red dont have a wincc connectivity license so can use opc. Any suggestions ?
Replies
0
Views
68
Hello All, getting my feet wet currently with Node-red, curious if anyone has experience with the SMB share add-in(or whatever the terminology...
Replies
2
Views
286
Back
Top Bottom