前面的文章我们介绍了PROFINET IO系统包括IO控制器和IO设备,它们之间通常是通过交换机用PN网线相连。IO控制器(CPU)在冷启动/暖启动时,会根据其内部的硬件组态,查找相应的IO设备。那么它是通过怎样一种方式来查找IO设备呢?有经验的小伙伴可能知道,它是通过设备名(device name)的方式来查找IO设备的。那么设备名又是基于一种怎样的规则或者协议呢?为什么使用设备名就能找到相应的IO设备呢?今天这篇文章,我们就由浅入深,来聊聊查找IO设备的话题。本文包括如下几个部分:
什么是设备名?
怎样分配设备名?
PROFINET发现与基本配置协议(DCP)
1、什么是设备名?
设备名(device name)是IO设备的标识,它是IO控制器查找IO设备的依据,在整个网络中是唯一的。每一个IO设备在组态时,系统(硬件组态环境)会为其分配一个默认的设备名,比如下面这张图:
我之前曾写过一篇文章,介绍PROFINET的设备名,这里不再赘述,感兴趣的小伙伴点击下面的链接看下:
2、怎样分配设备名?
我们在硬件组态中配置好设备名,然后下载到CPU(IO控制器)中。此时,IO控制器已经知道自己要寻找的目标了。但是对于IO设备来说,它还不知道自己的名字。所以,我们要想办法告诉IO设备它叫什么名字。比如告诉某个设备它的名字是"张三",那么当IO控制器喊"张三"的时候,它就知道在喊它,因此,也就会做出应答。
那么怎么告诉IO设备它叫什么名字呢?
我们需要一些软件工具的。
比如,博途开发环境,或者PRONETA,或者PST(Primary Setup Tool)。
先来介绍下博途环境下如何分配设备名。
双击博途开发环境左侧项目树的【在线访问】节点,找到你使用的网卡,
双击【更新可访问的设备】,可以找到所有的PROFINET节点,如下图所示:
选中要分配设备名的节点,在其右侧的【功能】-【分配PROFINET设备名称】中设置新的设备名称,如下图所示:
关于PRONETA和PST工具,请看下面的视频和文章介绍:
3、PROFINET发现与基本配置协议(DCP)
PROFINET DCP协议是一种集成于PROFINET软件工具、IO控制器和IO设备内部的一种协议,DCP是英文"Discovery and basic Configuration Protocol"的缩写,中文翻译为"发现与基本配置协议"。
通过DCP协议,IO控制器或者软件工具能够发现IO设备,分配IO设备的名称和IP地址。我们在使用软件工具发现IO设备后,可以只分配设备名。正确的分配设备名后,IO控制器就能找到该IO设备,随后会为其分配IP地址。
在调试的初期,要打通PROFINET网络,首要的任务就是分配设备名称。
曾经有小伙伴提出问题"为什么IO设备不通过分配IP地址的方式来寻址呢?"
其实,深层次的原因是因为DCP协议是一种位于数据链路层的协议,它在网络层(IP)以下,当然不会使用IP地址的。
PROFINET DCP协议和计算机网络中的DHCP协议很像。DHCP是英文"Dynamic Host Configuration Protocol"的缩写,中文翻译为"动态主机配置协议"。它主要通过IP地址的集中管理与分配,使网络环境中的计算机动态获得IP地址、网关地址、DNS服务器地址等信息。
不过,DHCP协议是传输层协议,它的帧结构与DCP协议帧的结构还是有很大不同。
好了,关于IO设备的查找就先讲到这里。
如果大家感兴趣,本系列下一篇文章将详细介绍下DCP协议。
我的微信视频号以视频的方式分享一些工控小知识,欢迎扫描下面的二维码观看:
发表评论
老师,虚拟机里面pst为什么都读不到,但是TIA软件可以连接
虚拟机我没有试过