toppic
当前位置: 首页> 玄幻小说> 【收藏】CAN应用层协议详解之DeviceNet协议

【收藏】CAN应用层协议详解之DeviceNet协议

2021-06-12 16:28:41

DeviceNet是基于CAN总线技术并符合全球工业标准的开放型通信网络。定位于工业控制的设备级网络,不仅降低了系统的复杂性,还减少了设备通信的电缆硬件接线,提高系统可靠性,降低安装、维护成本,是分布式控制系统的理想解决方案。


DeviceNet规范定义了一个网络通信标准,以便组成工业控制系统的各个设备之间可以进行数据通信。DeviceNet规范除了提供ISO模型的应用层定义之外,还定义了部分物理层和数据链路层。规范中不仅对DeviceNet节点的物理连接也作了规定,连接器、电缆类型、长度以及与通信相关的指示器、开关、相关的室内铭牌都作了详细规定。


一、DeviceNet基本概念


DeviceNet是建立在CAN协议基础之上,沿用了CAN协议所规定的物理层和数据链路层,并补充了不同的报文格式、总线访问仲裁规则及故障检测和隔离方法。DeviceNet的功能和特点如表1所示。


表1 DeviceNet特点


DeviceNet的应用层协议则采用的是通用工业协议(CIP)。CIP是一个在高层面上严格面向对象的协议。每个CIP对象具有属性(数据),服务(命令),连接和行为(属性值与服务间的关系),其主要功能有两个:一是面向连接的通信;二是定义了标准的工业应用对象。下文详细介绍通信部分。


CIP通信最重要的特点是它用不同的方式传输不同类型的报文,根据报文质量要求将需要发送的报文分为:显式报文和隐式报文。


CIP另一个重要特点是通信基于连接的。因此DeviceNet网络上任意两个节点通信之前必须建立起连接,且连接是可以动态建立和撤销。请注意这里的“连接”是逻辑上的关系,而非物理层的连接。


DeviceNet支持两种类型的连接:显式信息连接和I/O连接。


显式信息连接是点对点的连接方式,报文接收方必须对接到的报文做出相应的响应,通常这类报文对时间要求不高,主要用于上传/下载程序、修改设备参数、趋势分析和诊断等。


I/O连接则用于传送实时性要求较高的I/O报文,可以一对一、一对多的数据传送。DeviceNet支持多种I/O数据触发方式,如位选通(Bit strobe)、轮询(Poll)、状态改变(COS:Change Of State)/循环(Cyclic)等。


位选通:利用8字节的广播报文,每一位分别对应着网络上64个节点,指定要求响应的从节点,响应报文最大为8个字节。


轮询:这种触发方式适用于绝大多数设备,相比位选通的少量I/O数据,轮询命令可传送任意数量的数据。轮询命令依次发送到各从站设备,从站接收到命令后做出应答。


状态改变:此方式多用于离散的设备,当设备状态发生改变时,使用事件触发方式,发生通信,而不是依靠主设备不断查询。为了防止设备掉线,增加了心跳报文,定时获取设备运行状态。


循环:适用于一些模拟设备,可以根据设备信号发生快慢,灵活的设定循环通信的时间间隔,可以降低不必要的网络流量,循环时间设定值应小于模拟量输入发生变化的时间值。每台设备中,循环和状态改变是互斥的,同一时刻只能使用一种连接方式。


下面通过图1介绍DeviceNet网络中两台设备建立通信的一般流程。

 

图1 DeviceNet通信基本流程


DeviceNet网络上最多可有64个节点,节点地址(MAC ID)可为0~63,每一个节点都具有唯一的MAC ID。因此每个节点在上电之后、上线之前必须进行重复MAC ID检测,以确认其MAC ID是否已被网络上其它节点使用。


节点在上电之后,将发送重复MAC ID检测报文,间隔一秒,如果连续两次发送都没有接收到来自其它节点的重复MAC ID响应报文,那么该节点可以使用此MAC ID并转为在线状态,否则表示该MAC ID已被其它节点占用,该节点为离线状态。然后,通过未连接显式信息建立显式信息连接,主从站通过显式信息进行各种配置和信息交换,主站通过显式信息读取从站的标识信息,并与预先保存的配置信息进行对比,只有完全一致时主站才会对从站进行下一步操作,否则主站将会主动释放显式信息连接。最后,建立I/O连接,并通过I/O连接进行实时数据收发。


注:不同的主站模块建立I/O连接的流程有所差别,上文强调的是DeviceNet网络是基于连接的一种通信网络。


DeviceNet是一个基于连接的网络系统一个DeviceNet的连接提供了多个应用之间的路径当建立连接时与连接相关的传送被分配一个连接ID CID 如果连接包含双向交换那么应当分配两个连接ID值见图2。

 

图2 连接及连接ID


二、DeviceNet关于CAN标识区的使用


在DeviceNet有效的11位CAN标识位被分成4个单独的信息组组1组2和组3和组4。

 

图3 DeviceNet的CAN报文定义


信息ID(Message ID):在一特定端点内的信息组中识别一个信息信息ID使得在一特定的端点内单个信息组中可以建立多重连接连接建立时该端点利用信息ID与MAC ID的结合生成一个连接ID该连接ID在与相应传输有关的CAN标识区内指定具体细节在本规范的后续部分中将被描述注意组2和组3预定义了确定信息ID的使用;


源MAC ID(Source MAC ID):此MAC ID分配给发送节点组1和3需要在CAN标识区内指定源MAC ID;


目的MAC ID(Destination MAC ID):此MAC ID分配给接收设备信息组2允许在CAN标识区的MAC ID部分指定源或目的MAC ID。


三、信息组1


DeviceNet并不预定义组1信息ID的使用组1信息ID描述了通过一个特别端点交换的各种组1信息。

 

图4 DeviceNet的信息组1定义


在组1的传输中总线访问优先权被均匀地分配到网络的所有设备上当两个或多个组1信息进行CAN总线访问仲裁时小数字的组1信息ID值的信息将赢得仲裁并获得总线访问权。例如device #20 message_ID = 2将先于 device #5 message_ID = 6赢得仲裁。


如果两个或多个信息ID值相等的组1信息进行总线仲裁那么来自MAC ID值较低的设备的发送将赢得仲裁,例如device #2 message_ID=5将先于 device #3 message_ID=5赢得仲裁。这样在组1中就提供了16个级的优先权均匀分配方案。


四、信息组2


组2信息ID描述了在一个特定端点上交换各种组2,信息组2中的信息ID值为6和7的用法例外。DeviceNet预定义了一组用于主/从应用通讯的连接见第7章这个定义保留组2信息ID值6。组2信息ID值7被保留用作被赋予相同MAC ID节点的检测。

 

图5


在组2内MAC ID可以是发送节点的MAC ID源MAC ID也可以是接收节点的MAC ID目的MAC ID当通过组2建立连接时端点将确定是源MAC ID还是目的MAC ID在组2传输中总线访问优先权是根据标识符的MAC ID部分的MAC ID值来决定的当两个或多个组2传输进行CAN总线仲裁时其 MAC ID数值较小的信息将获得总线访问权。


目前,致远电子的CANScope总线综合分析仪已免费标配CANPRO软件,可以解析主流的DeviceNet协议。

 

图6 协议解析


后台回复关键字【CAN】,查看更多相关技术专题。


公众号介绍


致远电子官方微信公众号,一个汇聚500名工程师的研发测试分享平台,为您提供电子行业领先的产品技术与解决方案


友情链接