PROFINET工业以太网教程(8)——发现与基本配置协议
今天这篇文章,我们来详细介绍下PROFINET的发现与基本配置协议(DCP)。
发现与基本配置协议(Discovery and basic Configuration Protocol,简称DCP)是PROFINET的基本协议,它集成在PROFINET IO控制器、IO设备及组态/诊断工具中。有了这个协议,就可以实现扫描网络中的PROFINET节点、分配设备名、闪烁LED灯等功能。我之前介绍的Primary Setup Tool(推荐一个免费好用的西门子PLC调试工具)、PRONETA(西门子网络工具PRONETA使用介绍)等工具都是基于这个协议工作的。
具体来说,发现与基本配置协议包括如下一些功能:
识别全部(Identify All);
识别(Identify);
设置(Set);
闪烁LED(Flash LED);
获取(Get);
问候(Hello);
1、识别全部(Identify All)
DCP协议的'识别全部(Identify All)'功能以广播的方式向整个网络发送信号,任何节点收到其信号都会做出应答,所有可识别的节点会形成一个列表。通过该功能,可以查找网络中所有可连接的节点,并能获取节点的设备名、IP地址、子网掩码、网关地址、MAC地址、设备类型、供应商等信息;
通常网络组态/诊断工具会使用该功能。比如PST(Primary Setup Tool)的【网络】-【浏览】就是该功能的具体应用,如下图所示:
2、识别(Identify)
DCP协议的'识别(Identify)'功能是通过设备名来查找某个具体的IO设备。通常情况下,PROFINET IO控制器在启动初期会使用该功能去查找网络中的IO设备是否与硬件组态中的一致。假设IO控制器的组态中有个IO设备的名称是'sky-walker',那么IO控制器就会发出识别'sky-walker'的请求,好像说'sky-walker你在吗?听到请回答'。如果某个IO设备的名称正好是'sky-walker',它就会做出应答,这样就识别成功;如果没有任何设备具有该名称,则识别失败;
3、设置(Set)
当IO控制器没有识别到指定名称的IO设备时,我们需要为该设备分配指定的名称。所谓'指定的名称',是指该设备在硬件组态时被分配的名称。
为IO设备分配名称需要使用DCP协议的'设置(Set)'功能。
分配设备名称可以是永久的(默认),也可以是临时的。永久性设备名称存储在IO设备的可保持存储区,断电重启后仍有效;临时性设备名称仅临时保存,断电后丢失;
当分配好设备名称后,IO控制器就能成功识别IO设备,接下来它会查看该IO设备的IP地址是否与组态相同。如果不同,IO控制器会使用'设置(Set)'功能来设置IO设备的IP地址。当然,如果网络中已经存在某个节点使用了该IP地址,则会导致IP地址分配失败,此时会显示相应的错误信息;
与设备名称类似,设备的IP地址也可以是永久的或临时的;
4、闪烁LED(Flash LED)
DCP协议的'闪烁LED'功能其实是'设置(Set)'功能的子功能,也被称为'设置信号(Set Signal)',通过该功能可以让指定的IO设备的LED灯进行闪烁。
它有什么作用呢?
当现场项目中有多个同类的PROFINET节点时,可以通过闪烁LED的方式确定你要操作的对象。比如,我有时候会将同一个触摸屏程序下载到多个触摸屏中,就可以通过闪烁LED灯的方式判断当前IP是否是我要下载的触摸屏。
5、获取(Get)
DCP协议的'获取(Get)'功能获取设备的信息,比如:设备名称、IP地址、制造商信息、设备ID、类型等等。
6、问候(Hello)
DCP协议的'问候(Hello)'功能允许IO设备主动给IO控制器发送在线信息,表示它已经准备就绪,从而缩短IO控制器在重启后查找IO设备的时间。
我的书《西门子S7-200 SMART PLC应用技术——编程、通信、装调、案例》也有关于PROFINET功能的介绍,欢迎点击下面的链接查看: