西门子PROFINET:设备名、IP地址、MAC地址解析分别有什么用?
对于PROFINET网络来说,涉及了几个地址参数,设备名、IP地址、MAC地址。
不仅如此,每个PROFINET的设备的MAC地址还有多个。如会存在接口模块的MAC地址和端口MAC地址。若一个接口下有多个端口就会有多个端口MAC地址。
那么我们需要弄明白的一件事是,这些地址都有什么作用,有些地址可以没有吗?
比如我们只设置设备IP地址,不设置设备名可以吗?
或者既然已经有了MAC地址,我们连IP地址也不设置可以吗?
只有我们能够清楚地简答这些问题,我们才能快速且准确地排除PROFINET网络通信不正常的故障现象。
而不是当现场网络通信不上的时候、我们的工程师在现场给出的方案:“MAC地址设置的是不是不对或IP地址设置的不对”。
在这里我们首先要明确的是设备的接口MAC地址、端口的MAC地址都不是由我们工程师设置的,它们是在出厂的时候由设备的生产厂家烧录到硬件中的,且这些MAC地址是唯一的,而对于IP地址和设备名我们是可以设置的。
所以TIA Portal的组态软件中没有MAC地址参数设置项,原因就是MAC是固化在设备上的,不需要工程师来组态配置。在TIA Portal中有IP地址和设备名的设置选项如下图,就没有MAC地址设置的地方。
PROFINET相关地址的参数有:PN设备名、PN设备IP地址和PN的MAC地址。
PN的设备名属于PN通信的OSI参考模型中应用层的地址;
PN设备的IP地址是OSI参考模型中网络层的地址;
PN设备的MAC地址则是OSI参考模型中数据链路层的地址。
TIA博途中组态的设备名和IP地址是离线的地址参数。在线的PN设备名和PN的IP地址是保存在真实硬件设备上的地址参数。PN正常通信关键是通过离线组态的设备名找到在线的设备名与其一致。
我们可以理解为PN的控制拿到了博途下载给它的配置后,PN的控制器会使用离线的组态的设备名去寻找在线的设备名,若寻找到了,在查看组态的离线的IP地址在网上是否存在(此功能通过ARP地址解析协议来完成),若有ARP有响应,则离线和在线的IP地址一致,此过程也实现了IP地址和MAC地址的映射关系。
若没有ARP的响应,在就说明离线组态的IP地址与在线组态的IP地址不一致,此时,会通过PN的DCP协议修改在线的IP地址为离线组态的IP地址,然后再次ARP解析IP地址和MAC地址的对应关系。PN的通信即可正常建立。
总结一下,关键的参数就是设备一致名,只要设备名一致,后续的IP地址和MAC地址都可以让其能够实现离线与在线的参数一致。
也就是可以修改在线的IP为离线配置的IP地址,然后据此IP地址在获得MAC地址。