北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章545 浏览8636226

PROFINET工业以太网教程(8)——发现与基本配置协议

今天这篇文章,我们来详细介绍下PROFINET的发现与基本配置协议(DCP)。

cover.png

发现与基本配置协议(Discovery and basic Configuration Protocol,简称DCP)是PROFINET的基本协议,它集成在PROFINET IO控制器、IO设备及组态/诊断工具中。有了这个协议,就可以实现扫描网络中的PROFINET节点、分配设备名、闪烁LED灯等功能。我之前介绍的Primary Setup Tool(推荐一个免费好用的西门子PLC调试工具)、PRONETA(西门子网络工具PRONETA使用介绍)等工具都是基于这个协议工作的。

具体来说,发现与基本配置协议包括如下一些功能:

  1. 识别全部(Identify All);

  2. 识别(Identify);

  3. 设置(Set);

  4. 闪烁LED(Flash LED);

  5. 获取(Get);

  6. 问候(Hello);

1、识别全部(Identify All)

DCP协议的"识别全部(Identify All)"功能以广播的方式向整个网络发送信号,任何节点收到其信号都会做出应答,所有可识别的节点会形成一个列表。通过该功能,可以查找网络中所有可连接的节点,并能获取节点的设备名、IP地址、子网掩码、网关地址、MAC地址、设备类型、供应商等信息;

通常网络组态/诊断工具会使用该功能。比如PST(Primary Setup Tool)的【网络】-【浏览】就是该功能的具体应用,如下图所示:

PST_browse.png

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设备的时间。

我的微信视频号分享一些工控小知识,欢迎扫描下方的二维码关注:

founderchip.png

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论