一种CAN总线通信在PLC系统中应用

2015-10-24 05:45于水英付志超周琰
船电技术 2015年9期
关键词:标识符总线定义

于水英,付志超,2,周琰,2

(1.湖北长海新能源科技有限公司,武汉 430 064;2.武汉船用电力推进装置研究所,武汉 43006 4)

一种CAN总线通信在PLC系统中应用

于水英1,付志超1,2,周琰1,2

(1.湖北长海新能源科技有限公司,武汉 430 064;2.武汉船用电力推进装置研究所,武汉 43006 4)

本文介绍了现场总线技术在工业控制应用中的优点及其影响,特别介绍了CAN总线技术的特点。详细介绍了CAN300 PRO模块的硬件及软件;介绍了CAN总线通信在PLC系统中应用,详细叙述了在西门子PLC 300产品中CAN总线通信的实现方法。

工业控制CAN总线PLC系统

0 引言

现场总线技术是当今自动化领域发展的热点之一,被誉为自动化技术中的计算机局域网,它的出现标志着工业控制技术领域又一个新时代的开始,并对该领域的发展产生重要的影响。由于现场总线适应了工业控制系统向分散化、网络化、智能化方向的发展,导致目前生产的自动化仪表、集散控制系统(DCS)、可编程控制器(PLC)在产品的体系结构、功能结构方面的较大变革。传统的模拟仪表将逐步让位于智能化数字仪表,并具备数字通信功能,出现了一批集检测、运算、控制功能于一体的控制器。

由于CAN总线有传输距离远、速度快、自动重发功能、解决总线竞争功能、总线仲裁技术、自动检查错误、短帧结构受干扰能力强以及具有优先权进行访问总线的机制等优点,常用于工业控制系统中,用于控制器之间通信、智能仪表与控制器通信。

1 CAN总线

CAN总线是局域网控制器的简称,由德国Bosch公司为解决现代汽车中众多控制与测试仪器之间的数据交互而开发的一种串行数据通信协议,执行一种二线传输的串行协议。通信媒介可以是双绞线、同轴电缆、通信速率最高可以达到1 Mbps,通信距离可达10 km。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据帧进行编码,使网络内的节点个数在理论上不受限制。由于CAN总线具有较强的纠错能力,支持差分收发,因而适合高干扰环境,并具有较远的传输距离。

CAN的数据格式有标准格式和扩展格式两种,其主要区别在于标识符(ID)的长度不同。标准格式CAN的标识符长度是11位,而扩展格式CAN标识符长度可达29位。CAN协议分为2.0A版本和2.0B版本,2.0A版本规定CAN控制器必须有一个11位的标识符。同时,CAN2.0B版本规定CAN控制器的标识符长度可以是11位或者29位。遵循2.0B协议的CAN控制器可以发送和接收11位标识符的标准格式数据或29位标识符的扩展格式数据。如果禁止CAN2.0B,则CAN控制器只能发送和接收11位标识符的标准格式数据,而忽略扩展格式的数据结构。值得注意的是,只要没有用到扩展格式,那么,根据2.0A设计的仪器可以和根据2.0B设计的仪器相互进行通信。

CAN总线有两类数据帧本质的不同在于ID的长度,如图1为CAN2.0A的数据帧格式,也是CAN数据的标准格式,它包含44位到108位,其中:起始位1位,仲裁场包含11位标识符+RTR,控制场6位,数据场0到8字节数据(0-64位),CRC校验场16位,应答场2位,帧结束7位。

图1 CAN标准帧格式

图2 CAN扩展帧格式

如图2为CAN2.0B的数据帧格式,又叫做扩展数据帧格式,它有29位标识符,前11位与CAN2.0A数据帧的标识符完全一样,后18位专用于标记CAN2.0B的数据帧。CAN扩展数据帧包含64位到128位,其中:起始位1位,仲裁场包含29位标识符+SRR位+IDE位+RTR,控制场6位,数据场0到8字节数据(0-64位),CRC校验场16位,应答场2位,帧结束7位。

2 CAN总线设备

2.1 CAN300PRO模块硬件

西门子PLC300系列产品本身不支持CAN总线通信,控制系统中需要将CAN总线通信转换成PLC300能接受的通信协议,这就需要第三方产品支持。Helmholz公司的CAN 300 PRO模块主要针对西门子PLC300产品开发的第三方产品,如图3所示,它的硬件结构和安装方式与PLC S7-300的功能模块相同,可以安装中央机架和扩展机架上,并且支持CAN 2.0A、CAN 2.0B、CANOpen、SAE J1939协议。

CAN总线接口方式支持DB9接口,引脚定义如表1所示。

CAN300 PRO模块硬件支持DIP选择开关,可以通过10个拨码开关来选择本CAN模块的设备节点和波特率,也可以通过软件设置。表2为硬件10个拨码开关的定义及相应的解析,表3是波特率译码对应的固定值。

图3 CAN 300 PRO外形

2.2CAN300 PRO软件

CAN300 PRO模块主要针对西门子PLC300产品开发的第三方产品,存在第三方软件CANParam v4,通过软件建立相应的工程,如图4所示,如CAN300,CAN300 PRO Layer,CANPRO CANopen等支持具体CAN协议标准的工程,选择标准帧(11bit)还是扩展帧(29bit)。通过相关程序机制,在上电、启动、停止不同的阶段编写不同的需求程序,编译好工程文件,通过串口下载到CAN300硬件中。

表1 DB9引脚定义

表2 10-fold DIP定义

表3 波特率对于表

图4 CANParam v4工程界面

2.3PLC 300 中的设置软件

CAN通信在PLC300程序中是占用串口资源,PLC资源配置时选择串口模块,在名称中更该成CAN300 PRO,同时添加更新模块自带的软件资源,如选择基于Layer 2协议通信中,FC65 CANSEND—CAN消息帧发送,FC66 CANRCV—CAN消息帧接收,FC67 CANCTRL—CAN功能管理,具体定义见表4、表5、表6,标识符ID的定义见表7、表8定义了标准帧和扩展帧的位置。

3 CAN总线通信在PLC系统中应用

本控制系统CAN总线网络如图5,PLC1和PLC2通过CAN300 PRO与CAN网络相连,DSP控制器1和DSP控制器2通过自带CAN接口与CAN总线相连。

表4 FC65 CANSEND模块参数定义

3.1CAN300 PRO模块软件设计

在本项目设计中约定CAN通信数据帧采用扩展的形式,即29位CAN2.0B标识符;设定网络通讯速率为250 Kbps,每个消息帧的最大时间128*1/250000=0.52 m s;为系统有足够的时间将整理完的数据发送出来及考虑工程实际需要,采用定时器发送的形式,大约500 s发送一次。如图4。

表5 FC65 CANRCV模块参数定义

3.2PLC软件设计

在PLC S7 300中,软件资源组态配置HW-Config 时,调用CAN 300 PRO功能时,用CP340功能模块代替,即CP340 RS 232C(6ES7 340-1AH00-0AE0),本项目中将CP340 RS23 2C插入中央机架0,第5号插槽中,在属性中将名称更改位CAN 300 PRO,并记住设备开始地址256,以备编程时用。

表6 FC 67 CANCTRL模块参数定义

表7 消息帧ID号低字节

表8 消息帧ID号高字节

图5 基于CAN总线的控制系统网络

4 结束语

CAN总线通信的开发是本项目PLC系统通信的关键环节。本项目利用CAN300 PRO产品实现CAN总线通信,将PLC系统、DSP控制系统等都连接在相同的CAN总线网路。该CAN总线通信方案在实验室装备中得到充分应用,可靠性比较高,通信运行平稳,数据传输误码率低,传输效率高,具有实用价值。

[1] 罗峰,孙泽昌. 汽车CAN总线系统原理、设计与应用[M].北京:电子工业出版社,2009.

[2] 张小鸣. DSP控制器原理及应用[M]. 北京:清华大学出版社,2008.

[3] 顾卫钢.手把手教你学DSP:基于TMS320X281X[M].北京:北京航空航天大学出版社,2011.

[4] CAN300 PRO Manual. 2009.

[5] 陈忠平.西门子S7-300/400系列PLC自学手册[M].北京:人民邮电出版社,2010.

[6] 柳春生.电器控制与PLC[M].北京:机械工业出版社,2010.

Application of CAN Bus Communication to PLC System

Yu Shuiying1,Fu Zhichao1,2, Zhou Yan1,2
(1. Hubei Greatsea new power technology Co.,Ltd,Wuhan 430064,China;2.Wuhan Institute of Marine Electric Propulsion,Wuhan 430064,China)

This paper introduces advantages and influence of the field bus technology in industry control, especially focuses on the characteristics of CAN bus technology and the hardware and software of the CAN300 PRO module. It presents the application of CAN bus in PLC system, and details the implementation of CAN bus communication in SIEMENS PLC300 products.

industrial control; CAN bus; PLC system

TP319

A

1003-4862(2015)09-0072-04

2015-07-09

于水英(1981-),女,硕士研究生,工程师。研究方向:计算机网络及通信技术。

猜你喜欢
标识符总线定义
基于底层虚拟机的标识符混淆方法
基于区块链的持久标识符系统①
一种基于CAN总线的误码测试方法
成功的定义
科研人员唯一标识符的理论研究现状剖析
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计
数字图书馆推广工程唯一标识符体系构建研究*
宝马F02车总线系统
修辞学的重大定义