CAN-bus现场总线基础教程【第7章】CAN总线应用层协议(DeviceNet)-DeviceNet主站设备的实现(30)
- 格式:pdf
- 大小:323.05 KB
- 文档页数:4
现场总线概述一、现场总线简介随着操纵、运算机、通信、网络等技术的进展,信息互换沟通的领域正在迅速覆盖从工厂的现场设备层到操纵、治理的各个层次、覆盖从工段、车间、工厂、企业乃至世界各地的市场。
信息技术的飞速进展,引发了自动化系统结构的变革,慢慢形成以网络集成自动化系统为基础的企业信息系统。
现场总线确实是顺应这一形势进展起来的新技术。
现场总线是现今自动化领域技术进展的热点之一,被誉为自动化领域的运算机局域网。
它的显现,标志着工业操纵领域又一个新时期的开始,并将对该领域的进展产生重要阻碍。
现场总线是应用在生产现场、在微型运算机化测量操纵设备之间实现双向串行多节点数字通信的系统,也被称为开放式、数字化、多点通信的底层操纵网络。
它在制造业、流程工业、交通、楼宇等方面的自动化系统中具有普遍的应用背景。
现场总线技术将专用于微处置器置入传统的测量操纵仪表,使它们各自具有数字计算和通信能力,采纳可进行简单连接的双绞线等作为总线,把多个测量操纵仪表连接成的网络系统,并按公布、标准的通信协议,在位于现场的多个微型运算机化测量操纵设备之间和现场仪表与远程监控运算机之间,实现数据传输与信息互换,形成各类适应实际需要的自动操纵系统。
简而言之,它把单个分散的测量操纵设备变成网络节点,以现场总线为纽带,连接成能够彼此沟通信息、一起完成自控任务的网络系统与操纵系统。
它给自动化领域带来的转变正如众多分散的运算机被网络连接在一路,使运算机的功能、加入到信息网络的行列。
因此把现场总线技术说成是一个操纵技术新时期的开端并只是分。
利用现场总线技术给用户带来的益处:1节省硬件本钱2设计组态安装调试简便3系统的平安靠得住性好4减少故障停机时刻5用户对系统配置设备选型有最大的自主权6系统保护设备改换和系统扩充方便7完善了企业信息系统为实现企业综合自动化提供了基础二、现场总线的种类在过去的10年内,显现了许多的总线产品,较流行的有:德国Bosch公司设计的CAN 网络(Controller Area Network),美国Echelon公司设计的LonWorks网络(Local Operation Network),按德国标准生产的Profibus(Profess FieldBus)总线,Rosemount公司设计的Hart (Highway Addressable Remote Transducer)总线,罗克韦尔自动化公司的DeviceNet 和ControlNet等。
CAN总线§1 CAN总线的性能特点§2 CAN总线的技术规范§3 CAN器件及开发
CAN(Controllor Area Network)总线技术,由于其高性能、高可靠性以及独特的设计,越来越受到人们的重视。
已被列入ISO国际标准,称为ISO11898。
CAN最初是由BOSCH公司为汽车监测、控制系统而设计的。
由于CAN总线本身的特点,其应用范围已不再局限于汽车工业,而向过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械等领域发展。
主要特点如下:
1、多主方式工作;
2、具有不同的优先级;
3、采用非破坏性总线仲裁技术
4、CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”;
5、节点数主要取决于总线驱动电路;
6、采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。
7、CAN的每帧信息都有CRC校验及其他检错措施,保证了数据出错率极低。
8、CAN节点在错误严重的情况下具有自动关闭输
出的功能,以使总线上其他节点的操作不受影响。
9、直接通讯距离最远可达10km(速率在5Kbps以下);通信速率可达1Mbps(通信距离最长为
40m);
§2 CAN总线的技术规范§2.1 CAN的通信参考模型
§2.2 CAN总线介质装置
§2.3 报文传送与帧结构
§2.4 错误类型和界定
§2.5 位仲裁技术。
汽车CAN总线详解概述CAN(Controller Area Network)总线协议是由 BOSCH 发明的⼀种基于消息⼴播模式的串⾏通信总线,它起初⽤于实现汽车内ECU之间可靠的通信,后因其简单实⽤可靠等特点,⽽⼴泛应⽤于⼯业⾃动化、船舶、医疗等其它领域。
相⽐于其它⽹络类型,如局域⽹(LAN, Local Area Network)、⼴域⽹(WAN, Wide Area Network)和个⼈⽹(PAN, Personal Area Network)等,CAN 更加适合应⽤于现场控制领域,因此得名。
CAN总线是⼀种多主控(Multi-Master)的总线系统,它不同于USB或以太⽹等传统总线系统是在总线控制器的协调下,实现A节点到B节点⼤量数据的传输,CAN⽹络的消息是⼴播式的,亦即在同⼀时刻⽹络上所有节点侦测的数据是⼀致的,因此⽐较适合传输诸如控制、温度、转速等短消息。
CAN起初由BOSCH提出,后经ISO组织确认为国际标准,根据特性差异⼜分不同⼦标准。
CAN国际标准只涉及到 OSI(开放式通信系统参考模型)的物理层和数据链路层。
上层协议是在CAN标准基础上定义的应⽤层,市场上有不同的应⽤层标准。
发展历史1983年,BOSCH开始着⼿开发CAN总线;1986年,在SAE会议上,CAN总线正式发布;1987年,Intel和Philips推出第⼀款CAN控制器芯⽚;1991年,奔驰 500E 是世界上第⼀款基于CAN总线系统的量产车型;1991年,Bosch发布CAN 2.0标准,分 CAN 2.0A (11位标识符)和 CAN 2.0B (29位标识符);1993年,ISO发布CAN总线标准(ISO 11898),随后该标准主要有三部分:ISO 11898-1:数据链路层协议ISO 11898-2:⾼速CAN总线物理层协议ISO 11898-3:低速CAN总线物理层协议注意:ISO 11898-2和ISO 11898-3物理层协议不属于 BOSCH CAN 2.0标准。
现场总线简介现场总线的产生【1】随着信息与科学技术的迅猛发展,信息交换方式日新月异,并朝着全球化与数字化的方向发展,自动控制系统作为信息与科学技术发展的融合产物,自19世纪以来的近两百年里也发生了巨大变革。
总的来说,一般可将其划分为5代:(1)气动信号控制系统(PCS )气动信号控制系统是于19世纪中期出现的基于5-13psi的第一代控制系统(2)电动模拟仪表过程控制系统(ACS)电动模拟过程控制系统出现于20世纪50年代,一出现便很快占据控制领域的主导地位它利用0-10mA或4-20mA的电流模拟信号进行现场级设备信号的采集与控制,是第二代控制系统但由于模拟信号精度较低并易受干扰,所以很快便被新的控制系统取代(3)集中式数字控制系统(CCS)随着数字计算机技术的发展和应用,20世纪70年代左右集中式数字控制系统(CCS)出现并占据主导地位,称为第三代控制系统。
集中式数字控制系统能够根据现场情况进行及时控制和计算判断,并且在控制方式和时机的选择上能进行统一调度和统筹安排。
另外,由于采用单片机等作控制器,数字信号的传输在控制器内部进行,这样不仅克服了ACS系统中模拟信号精度低的缺点,而且也提高了系统的抗干扰能力。
但由于该系统对控制器本身有很高的要求,而当任务增加时,控制器的效率将明显下降,很难保证满足对控制器足够的处理能力和极高的可靠性的要求(4)分散式控制系统(DCS)20世纪80年代初,微处理机的出现和应用促使了第四代控制系统——分散式控制系统(DCS)的产生。
DCS系统采用集中管理、分散控制,即将管理与控制相分离:上位机执行集中监视管理,下位机在现场进行分散控制,它们之间用控制网络相连实现信息传递。
与之前几代控制系统不同,分散式的控制系统降低了系统中对控制器处理能力和可靠性的要求。
(5)现场总线控制系统(FCS)20世纪80年代中后期,随着微电子技术和大规模以及超大规模集成电路的快速发展,顺应以上需求,国际上发展起来一种以微处理器为核心,使用集成电路实现现场设备信息的采集传输处理以及控制等功能的智能信号传输技术——现场总线,并利用这一开放的、具有可互操作性的网络技术将各控制器和现场仪表设备实现互连,构成了现场总线控制系统。
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.
第7章 CAN 总线应用层协议——DeviceNet
1.1 DeviceNet 主站设备的实现
在整个DeviceNet 网络中主站扮演着最重要的角色,它负责整个网络的通信和管理,功能强大和复杂,但是DeviceNet 2.0版本的规范中又未对主站进行详细描述,使其设计起来更加困难。
上节我们介绍了如何快速实现DeviceNet 从站,本小节我们将介绍如何基于PCI-5010-D 接口卡快速实现DeviceNet 主站设备。
1.1.1 DeviceNet 典型网络拓扑结构
DeviceNet 网络大都采用主干-分支网络拓扑结构,以主/从连接方式通信。
实际应用中一个网络通常有一个主站设备和最多63个从站设备,从站设备需要依靠主站的管理来完成数据交换。
图7.1所示为PCI-5010-D 在DeviceNet 网络中的典型应用形式。
1.1.2 PCI-5010-D DeviceNet 主站卡简介
PCI-5010-D 是广州致远电子股份有限公司研发的新一代PCI 接口DeviceNet 主站卡,它可以使计算机快速连接到DeviceNet 网络,不但可以在最短时间内应用DeviceNet 从站设备,实现可视化、参数化的网络分析及控制,而且更能减少开发DeviceNet 系统的时间,组建稳定、健硕的DeviceNet 网络。
它提供多种操作系统的设备驱动、工具软件等,能真正的满足客户的各种应用需求,为工业通信DeviceNet 网络提供了可靠性、高效率的解决方案。
在计算机中的硬件与软件结构如图7.2所示。
图7.1 PCI-5010-D 典型应用
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.
图7.2 PCI-5010-D 在计算机中的硬件与软件结构
PCI-5010-D 具有如下特性: ● 支持ODVA 一致性测试软件(A21 DeviceNet Conform );
● 带有微处理器的DeviceNet 主站卡,完全遵循DeviceNet 2.0协议规范; ● 支持最多63个从站节点;
● 支持自动检测失效节点位、空闲节点位、错误节点位映射; ● 支持标准波特率: 125 kbps 、250 kbps 、500 kbps ; ● 支持用户自设定的MAC ID ,范围:0~63; ● 支持无需断开网络,在线移除/安装从站设备; ● 自供电DeviceNet 设备兼容网络的连接; ●
PCI 板卡所有元器件均符合工业级要求。
1.1.3 PCI-5010-D 驱动安装
PCI-5010-D 通信卡没有任何开关和跳线用于分配中断和I/O 地址,这些都是由BIOS 自动分配。
因此在安装驱动程序之前板卡必须事先安装到PCI 槽上,以下是安装步骤。
通常在新安装PCI
板卡后,启动计算机之后会弹出“找到新硬件”的界面后,这时需要手动的把PCI-5010-D 的驱动所在的文件夹添加到搜索的位置,这样直接点击下一步,系统会自动的把驱动程序安装完成。
1.1.4 基于PCI-5010-D 的PC 机端软件设计 图7.3所示为PCI-5010-D 的操作流程,其概括性的描述了PCI-5010-D 的所有功能及相应的API 函数调用结构。
以下将详细介绍常用的API 函数功能及使用。
1. 初始化PCI-5010-D
PCI-5010-D 被打开时,必须按照图7.3所示的顺序来操作,即需要经历打开、初始化参数、添加节点、保存配置、主站上线、扫描等步骤。
在关闭PCI-5010-D 时,其操作与初始化
图7.3 PCI-5010-D API 函数操作流程图
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.
的流程相反,操作代码如程序清单7.1所示。
程序清单7.1 启动PCI-5010-D 代码
1 void OnStartDeviceNet(void){
2 ......
3 ZDNMA _Open(1,0,0);
// 打开PCI-5010-D 4 ZDNMA_Init(1, 0, 0, (ZDNMA_INITCFG *)&Config, 0);
// 初始化协议及配置主站 5 ZDNMA_AddSlave(0, (ZDNMA_SLA VECONFIG *)&SlaveConfig);// 添加节点 6 ZDNMA_SaveCfg(0);
// 保存当前通道的配置 7 ZDNMA_Online(0);
// 主站上线
8
ZDNMA_StartScan(0); } // 开始扫描从站节点
9 void CloseDevice(void){ 10 .....
11 ZDNMA_StopScan(0); // 停止扫描从站节点 12 ZDNMA_Offline(0); // 主站下线 13 ZDNMA_Uninit(0); // 关闭通道 14
ZDNMA_Close(1,0);}
// 关闭设备
2. 接收发送从站节点I/O 数据
DeviceNet 主站设备能接收和发送网络中所有从站节点不同连接的I/O 数据,只需要简单的调用读写从站函数即可,其实现代码可参考程序清单7.2。
程序清单7.2 读写从站节点I/O 数据
15 void I ODataTranstmit(void){ 16 .....
17
ZDNMA_ReadSlaveIO(0, NodeID, POLL, pBuffer, datalen, 1000); // 读NodeID 的轮询数据,长度
为datalen ,超时1S
18 ZDNMA_WriteSlaveIO(0, NodeID, POLL, pBuffer, datalen, 1000); // 写NodeID 的轮询数据,长度为datalen ,超时1S 19
}
3. 显示报文发送和接收
作为一个DeviceNet 主站设备应该具备UCMM 服务器、客服端的功能,这样就可以通过显式报文来访问网络中各个节点的任意对象数据,其中包括下载和上传数据,其操作可参考程序清单7.3。
程序清单7.3 显式报文传输示例
20 void SDOTranstmit(void){ 21 .....
22 ZDNMA_EMRequest(0, dwSlaveID, dwService, dwClassID, dwInstanceID, pServiceData, dwSize,
pReceiveData, dwRecSize, dwWaitTime);
// 填写相应的参数,读取或修改网络上对象属性
23
}
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.
4. 其它功能
PCI-5010-D 不仅具有如上所述的基本功能之外,还具有其它一些DeviceNet 相关的功能特性,例如获取指定从站的当前工作状态、获取设备信息功能、支持ODVA 一致性测试软件等等(具体操作可参考API 函数库手册)。
这些功能都为开发一个完整的DeviceNet 主站设备提供了必备条件。
经过以上步骤,通过调用PCI-5010-D 的API 函数库实现一个特定功能的DeviceNet 主站设备。
PCI-5010-D 的DeviceNet 协议栈经过严格的测试,能兼容其它的DeviceNet 设备,同时还可利用测试软件对DeviceNet 网络进行配置并检测运行状态。