恭喜,你发布的帖子
发布于 2019-05-25 18:21:28
14楼
我的理解与您的理解 有点区别。
在PROFINET IO的三个ID中,设备名称、IP地址、MAC地址,各有分工不同。
在网络启动时,PROFINET 控制器(以下简称控制器)首先是用设备名称来寻址各PROFINET IO设备(以下简称IO),并且IO也以设备名称来应答控制器。然后,控制器把IP地址分配给IO,并获得IO的MAC地址。
此时,设备名称完成其任务。IP地址登场,执行通讯任务(主要是rt)。这也是我分析楼主问题的主要理论基础。当然,如果这个基础错了,那就全错了。
但是对于IRT通讯,可能寻址的MAC地址。这个我只是猜想,没有找到相关资料。
以上的流程,好像跟您的描述的流程正好相反。
所以,针对基于以太网的通讯,我在接入一个新网络时,要么用自动IP,要么小心跟业主确认分配给我的IP没问题,我才跟建立物理链接。
如果有条件,可以做个IP冲突的实验,一下子就有结果了。
ProfiNet 是基于以太网通讯的。不管是PN通讯(TCP、ISO on TCP、S7 TCP);还是PN IO通讯,主站(客户端)都是在启动时,按下载的硬件组态,向网络发出“ who is xxx.xxx.xxx.xxx ”广播报文,查找连接对象。连接对象的响应报文中就包括了该IP的端口MAC号。如果是PN IO设备,就还包括设备名称。也就是说,MAC号是与设备名称绑定的,是你组态时,下载到那个IO设备绑定的(换句话说,设备名称就是MAC号的别名)。由此,逐一建立所有的通讯连接。
对于PN IO控制系统,如果网络设备数量较少,建立时间大约几百毫秒;如果数量较多,可能上千毫秒甚至更长。当与所有IO设备建立连接诊断完毕,系统才开始运行。对于多次重试,未能建立连接的。放入报警诊断区。
此后,控制器PLC与IO设备之间的通讯,是以设备名称作为辨识的。不再使用IP地址。这个过程就是PN/IO网络初始化。
因为,控制器与IO设备相互之间都“绑定”对方设备名称,因此,除非通过PG/PC改变配置组态,它们运行时是不受到攻击干扰的。这个通讯是安全的。
也就是说,为了辨识,采用设备名称(设备名称的取名是有规范的)代替MAC号。两者等价。
当使用TIA,STARTER 通过PG/PC连接网络,并采用查找可访问设备功能时,是启用LLDP(底层发现协议)。该协议是仅查找网络所有端口上的MAC号,并列出编程软件包含的西门子MAC号相关字段的设备。如果网络包含有管理型交换机、路由器、WiFi,而且这网络器件不允许LLDP协议在网络上广播时,你就找不到可访问的设备。除非使用西门子的交换机。这种查找仅仅是逐一查询端口的MAC号,即便该端口没有分配IP地址(0.0.0.0)也可以查询到。
精华帖版主置评:这个解释,好像更贴合PROFINET IO的技术文档的描述。谢谢乐工指教。~by老兵
请填写推广理由:
分享
只看
楼主