高钦和,董庭琼,于传强
(第二炮兵工程大学,陕西西安710025)
CAN-bus(Controller Area Network)即控制器局域网,是一种多主方式的串行通讯总线,作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,已被广泛应用到各个自动化控制系统中。同时,在传统的气动系统中大量的电控换向阀和伺服比例阀是通过大量的管道连线以及接插头来实现相互间的连接,如果系统中有一个元件发生故障,往往会引起整个设备的运行不正常甚至引发设备事故,所以,为解决这一问题,FESTO 公司自20世纪80年代后期即致力于研究新一代的电气一体化控制元器件,以大幅度简化设备中各种接口,最先推出了阀岛技术并率先引入现场总线技术,阀岛技术和现场总线技术相结合,大大简化了选型设计和安装调试过程进而提升了设备的功能和质量。
但是目前真正占领市场的两个应用层协议是:DeviceNet 协议和CANOpen 协议,这两个协议规范比较复杂,理解和开发难度比较大,对于机电教学不太合适,为了解决这个问题,提出以周立功公司开发的CAN 高层协议—iCAN 协议来控制FESTO 公司的CPV阀岛,构建实验系统,便于机电教学。
系统的硬件部分主要包含周立功公司开发的PCI9820 通讯接口卡、数字量模块iCAN4050、Sys-Link 接线板和FESTO 公司开发的CPV 阀岛,系统的原理是PC 上的主站程序通过调用iCAN 主站函数库中的相应函数从而控制PCI9820,PCI9820 发送数据到CAN 总线上,iCAN 模块接收到数据后控制相应的I/O 口发出或接收信号,而后通过SysLink 接口控制CPV 阀岛或读取传感器信号,使执行机构按照指令动作,其硬件结构如图1所示。
图1 系统硬件结构图
iCAN4050 功能模块为数字量输入输出模块,用来检测外界状态,采集数字量输入信号,并可以输出数字量信号,控制开关。iCAN4050 功能模块的数字量输入和输出通道并没有采用隔离设计,具有8 路开关量输入通道和8 路开关量输出通道。
PCI-9820 接口卡是一款性能优秀的2 通道CAN通讯接口卡,采用32 位PCI 数据线,兼容PCI2.2 规范,即插即用;接口卡的每一路CAN 通道均集成独立的隔离保护电路。PCI9820 符合CAN2.0A/B 规范,支持5 Kb/s ~1 Mb/s 之间任意波特率。
阀岛技术是由德国FESTO 公司最先发明和应用的,是将多个阀及相应的气控信号接口、电控信号接口甚至电子逻辑器件等集成在一起的一种集合体,通常是一个电子气动单元。CP 阀岛又称紧凑型阀岛,分为CPV 型和CPA 型两种,CPV 型阀岛有独立的接口插座,可根据需要选择多针插头式接口、ASI 型接口、现场总线型接口等接口方式,文中所述系统使用的是多针插头式接口。
SysLink 专用接口,它将8 个输出端和8 个输出端接至接头,同时配有LED 显示。SysLink 接口是iCAN 模块与阀岛连接的桥梁,便于操作,提高了接线效率,可以避免以后的重复布线工作。
传感器采用的是漫射式光电接近开关和磁感应式接近开关两种,用来检测执行机构和工件是否到位。执行机构主要包含1 个扁平气缸,1 个气动抓手和1个导向气缸。
系统软件部分的设计主要是编写主站节点程序。利用VB 编程软件调用PCI9820 提供的iCAN 主站函数库,编写了简单的主站程序,程序通过单次发送数据来控制执行机构进行单动,有利于学生更好地理解CAN 总线的控制原理。
iCAN 协议是广州周立功公司提供了PCI9820 的iCAN 主站函数库icandll.dll,iCAN 主站函数库隐藏了iCAN 协议和对CAN 接口卡操作的细节,是标准的C 语言动态链接库,支持VC、VB 等开发工具,具有良好的开发性,其原理如图2所示。
图2 iCAN 主站库原理
在VB 中使用主站函数库需要把主站函数库中定义的数据结构和函数声明全部转换为VB 可识别的形式,而后将VCI 函数库拷贝到程序的根目录下,再进行编程,不然程序将会出现错误。系统的程序流程如图3所示。
图3 程序流程图
编写的主站程序界面如图4所示,在启动程序后,首先要选择主站设备的类型、设备的索引号、CAN 通道、CAN 波特率、主站ID 以及定时循环周期,而后启动系统,在从站设置中选择要连接的从站ID,点击“建立连接”,最后选择已连接从站ID 和数据类型,输入要发送的数据,点击发送数据即可。在退出程序时,要点击断开连接和停止系统。
图4 程序的界面
系统的实验主要是设计气动抓手将一个工件从预定的托盘上抓取,从而验证所搭建的系统能否正常可靠地工作。按照表1所示连接SysLink 和iCAN4050 的I/O 口,而后给系统上电,启动PC 上的主站程序,选择主站设备类型为PCI9820,设备索引号为0,CAN 通道为0,CAN 波特率为500 K,主站ID 为0,定时循环周期为100 ms。设置好参数后,点击启动按钮,然后选择未连接的从站ID 为0,点击建立连接,此时PC 主站便于从站iCAN4050 模块都上线了,可以发送数据进行通讯。按照表2 规定的数据指令发送,便可以控制相应的执行机构动作。
表1 接线表
表2 执行机构动作对应表
作者在数据框中输入了0xFB,点击发送,返回的DI 数据为0xFB,与表2 中的数据相吻合,实验系统能够正常稳定的工作,如图5所示。
图5 实验数据
iCAN 总线协议由于其技术的先进性、可靠性和低成本,必将在国内得到越来越广泛的应用。特别是iCAN 协议是我国具有完全自主知识产权的现场总线标准,对它的推广工作是很有意义的。作者将iCAN协议与阀岛技术相结合,构建了实验系统,虽然结构简单,但对于未来CAN 总线的教学方面有着非常大的启发和指导作用。
【1】iCAN 协议规范[M].广州致远电子有限公司,2007.
【2】李辉,李征.基于iCAN 协议的分布式机械臂通讯系统研究[J].硅谷,2011(13):11-12.
【3】龚正大,梁全顺,曾维明.基于iCAN 协议分布式超级电容监测系统[J].工业控制计算机,2009,22(2):40-41.
【4】周立功.iCAN 现场总线原理及应用[M].广州致远电子有限公司,2007.