PROFINET工业以太网教程(7)——我要找到你(IO设备)

[复制链接]
查看68714 | 回复0 | 2024-8-10 02:15:04 | 显示全部楼层 |阅读模式
前面的文章我们介绍了PROFINET IO系统包括IO控制器和IO设备,它们之间通常是通过交换机用PN网线相连。IO控制器(CPU)在冷启动/暖启动时,会根据其内部的硬件组态,查找相应的IO设备。那么它是通过怎样一种方式来查找IO设备呢?有经验的小伙伴可能知道,它是通过设备名(device name)的方式来查找IO设备的。那么设备名又是基于一种怎样的规则或者协议呢?为什么使用设备名就能找到相应的IO设备呢?今天这篇文章,我们就由浅入深,来聊聊查找IO设备的话题。本文包括如下几个部分:

    什么是设备名?

    怎样分配设备名?

    PROFINET发现与基本配置协议(DCP)



1、什么是设备名?

设备名(device name)是IO设备的标识,它是IO控制器查找IO设备的依据,在整个网络中是唯一的。每一个IO设备在组态时,系统(硬件组态环境)会为其分配一个默认的设备名,比如下面这张图:



我之前曾写过一篇文章,介绍PROFINET的设备名,这里不再赘述,感兴趣的小伙伴点击下面的链接看下:

为什么Profinet的分布式模块要有设备名?

2、怎样分配设备名?

我们在硬件组态中配置好设备名,然后下载到CPU(IO控制器)中。此时,IO控制器已经知道自己要寻找的目标了。但是对于IO设备来说,它还不知道自己的名字。所以,我们要想办法告诉IO设备它叫什么名字。比如告诉某个设备它的名字是"张三",那么当IO控制器喊"张三"的时候,它就知道在喊它,因此,也就会做出应答。

那么怎么告诉IO设备它叫什么名字呢?

我们需要一些软件工具的。

比如,博途开发环境,或者PRONETA,或者PST(Primary Setup Tool)。

先来介绍下博途环境下如何分配设备名。

双击博途开发环境左侧项目树的【在线访问】节点,找到你使用的网卡,

双击【更新可访问的设备】,可以找到所有的PROFINET节点,如下图所示:



选中要分配设备名的节点,在其右侧的【功能】-【分配PROFINET设备名称】中设置新的设备名称,如下图所示:



关于PRONETA和PST工具,请看下面的视频和文章介绍:

西门子网络工具PRONETA使用介绍

推荐一个免费好用的西门子PLC调试工具

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协议。

我的微信视频号以视频的方式分享一些工控小知识,欢迎点击观看:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则