Siemens 西门子PROFINET:设备名、IP地址、MAC地址解析分别有什么用?

发布时间 2023-08-07 15:03:37作者: 一杯清酒邀明月

  对于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地址。