0、引言
现场总线(Field Bus)是90年代兴起的一种先进的工业测控技术,是市场对现场仪表智能化及全数字化测控系统要求驱动的产物,它将通讯网络与管理的概念带入工业测控领域。从本质上说,它是一种数字通讯协议,是连接智能现场设备和自动化系统的数字式、双向传输、全分散、多分支结构的通讯网络,是测控技术、仪表工业技术和计算机网络技术三者的结合,代表了今后工业测控结构发展的方向。
尽管现场总线(CANBUS、LONWORKS、FF、PROFIBUS、DUPLINE、HART)已取得了一些成就,但目前尚无统一的国际标准,由于它们有各自的优点和各自的适应领域,加上商业技术的原因,还不可能立即把它们统一起来。目前有很多做法是把现场总线技术应用到DCS系统,或者把两种总线技术结合起来使用,但现场总线终将代替DCS的历史趋势是不可阻挡的。
1、现场总线的主要特点
(1)在分级测控系统中,采用现场总线的系统虽然可能具备足够的智能(数字计算能力),但只能执行简单的节点顺序或一种测控方式等较低级功能。
(2)现场总线经常只负责发送或接收较小的数据报文,并且以这种数据报文作为较高一级的测控系统实现设备数据往返传送的有效手段。
(3)采用现场总线的系统通常费用较低,可以用低廉的造价组成一个系统,而且与上层网络连接的费用也不高。
现场总线与其他分布式系统的主要特征比较见表1。
表1 现场总线与其他分布式系统的主要特征比较
| 主要牲 | 分布式系统的形式 | | | | 现场总线 | 较高级通讯网络 | | 监视与测控能力 | 强 | 弱 | | 可靠性与故障容限 | 高 | 高 | | 实时响应性 | 好 | 中 | | 报文长度 | 小 | 中,大 | | 实现成本 | 极低 | 中,高 | | 与OSI的一致性 | 差 | 中,好 | | 体系结构与协议的复杂性 | 简单 | 中,复杂 | | 与其他网络的互联能力 | 差,中 | 强 | | 通讯功能的完备程度 | 中 | 可扩展 | | 通讯速率 | 中 | 高 | | 对环境的要求 | 低 | 高 |
近年来,现场总线标准及其技术日益成为国际自动测控领域关注的一个焦点。对于工业领域,采用现场总线的最大优点是可大大节约连接导线、维护和安装费用。同时,现场总线能够传送多个过程变量。传统的4mA-20mA测控回路一般只能携带一个信号,通常为过程变量。而采用现场总线后,在传输变量过程的同时,仪表的标识符和简单的诊断信息也可一并传送。数字信号的精确性是现场总线的又一个优点,数字信号比4mA-20mA模拟信号分辨率高,因此,可排除过去在摸/数转换中所产生的误差。远程维护在采用数字通讯和现场智能仪表后也将成为可能。由于现场总线是双向的,因此能够从中心测控室对现场智能仪表进行标定、调整及运行诊断,甚至能够在故障发生前进行预测。一个更为重要的方面是仪表的兼容性可以使用户大大受益。由于CAN总线具有通讯速率高、可靠性高、连接方便和性能价格比高等诸多特点,推动了其应用开发的迅速发展、推广应用;反过来,又促使器件生产厂商不断提出新的CAN总线产品,并正逐步形成系列。目前,CAN总线芯片常用的有PHILIPS 82C2000、INTEL82526、INTEL 82527 CAN测控器。我们采用的是PHILIPS 82C200 CAN测控器。
2、PHILIPS 82C200 CAN测控器简介
PCA82C200是一种适用于一般工业环境的测控器局域网的高集成度独立测控器,具有完成高性能通讯协议所要求的全部必要特性。我们所采用的PCA82C200其封装采用28脚DIP双列直插形式。
2.1管脚功能
PCA82C200的管脚功能如表2。
表2 PCX82C200管脚功能
符号 | 管脚 | 功能 | AD0-AD7 | 1,23-28,2 | 分时复用地址/数据总线 | ALE | 3 | ALE信号(INTEL方式)或AS输入信号(MOTOROLA方式) | —/CS | 4 | 片选输入,低电平允许访问PCA82C200 | —/RD | 5 | 来自微测控器的—/RD信号或E开放信号 | —/WR | 6 | 来自微测控器的—/WR信号(INTEL)方式或RD/—/WR信号(Motorola方式) | CLKOUT | 7 | 由PCA82C200为微测控器产生的时钟输出信号 | VSS1 | 8 | 逻辑电路地电位 | XTAL1 | 9 | 输至振荡器放大器;外部振荡器信号经此管 | XTAL2 | 10 | 振荡器放大器输出;使用外部振荡器信号时,此管脚必须开路 | MODE | 11 | 方式选择输入端;接VDD选为INTEL方式;接VSS选为MOTOROLA方式 | TX0 | 13 | 由输出驱动器0至物理总线的输出端 | TX1 | 14 | 由输出驱动器1至物理总线的输出端 | VSS3 | 15 | 输出驱动器的地电位 | INT | 16 | 中断输出端。 | RST | 17 | Reset输入端 | VDD2 | 18 | 输入比较器的5V电源 | RX0,RX1 | 19,20 | 由物理总线至PCA82C200输入比较器的输入端。显性电平将唤醒PCA82C200; 若RX0高于RX1,读出为隐性电平;否则为显性电平 | VSS2 | 21 | 输入比较器地电位 | VDD1 | 22 | 逻辑电路的5V电源 |
2.2寄存器配置及地址分配
寄存器配置及地址分配如表3。
3、通讯协议
在我们所承担的省科技项目“分布式橡胶等效硫化微机监控系统”中,采用了CAN BUS技术,目前已完成。在编制通讯程序及实验的过程中,我们采用HiLon协议A,该协议是一个通用协议。该协议基于非对称型主从式网络结构,支持广播和点对点传送命令数据。命令数据包可长达256字节。
该协议以CAN帧结构为基础,定义如下:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | DIRA | Address(0…………125) | | TYPE | 0 | DLC(0-8) | Data
or index(1 byte) | | Data(7bytes) |
3.1DIR——方向位
方向位决定一半的优先级,而剩余的优先级由节点地址决定,低地址优先级为高。当方向位为“1”时,地址域是源节点地址(从节点到主节点),优先级由地址决定;当方向位为“0”时,地址域是目标节点地址(主节点到从节点),优先级由地址决定。
3.2Address——地址(0-125)单帧(点对点)
3.3TYPE——帧类型
7 | 6 | 5 | | 1 | 0 | × | 单帧(广播) | 1 | 1 | 1 | 非结束多帧(广播) | 1 | 1 | 0 | 结束多帧(广播) | 0 | 0 | × | 单帧(点对点 | 0 | 1 | 1 | 非结束多帧(点对点) | 0 | 1 | 0 | 结束多帧(点对点) |
3.4DLC——每帧字节数(0-8)
3.5Data or index——数据或索引字节(1字节)
3.6Data——数据(7字节)
该协议点对点传送实例。
CAN网络结构(非对称型主从式网络结构)。
注:(1)MASTER初始化为M模式,站号为00H,波特率为10K,初始化命令为:CAN_Init('M',0X00,0X01);
(2)各SLAVER站点00H-0NNH,初始化为S模式,例如:初始化01号站点,为S模式,波特率为10K,初始化命令为:CAN_Init('S',0X00,0X01)。
例1:
0号站传送单帧数据(信息内容为DATA[8]=({DATA0,DATA1,DATA,…,DATA7})给1号站,点对点传送,单帧数据,按照协议,主节点00H发送信息到从节点01H,方向位DIR=0,地址域是目标节点地址,address=01H,单帧点对点发送,TYPE=0H,共8个字节,DLC=8H,单帧没有索引字节index,该字节内容为DATA0,Data为DATA1-DATA7,帧信息结构为站点00H调用发送函数:
CAN_Trans(0X01,0X08,DATA);
返回:1——成功,0——失败;
站点01H调用接收函数:CAN_Rece(0X0,0X01,data);返回:接收数据包字节数(0-256),0Xff00为无数据包收到,0Xffff为数据包错。
4 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | Data0 | Data1 | Data2 | Data3 | Data4 | Data5 | Data6 | Data7 |
4、存在的问题和解决的方法
(1)我们发现表面上实现点对点通讯,在实际应用中却有广播性质的通讯现象,甚至出现自发自收现象,如果不注意,会发生数据接收错误。为了避免数据传送错误,应在接收期间进行站号判断,看是不是发送给自己的数据,以便决定是否接纳。
(2)在基于CAN总线的分布式计算机测控系统中,进行数据发送时,会发生DIR所决定的数据传送方向不是很严格,应该是从节点到主节点或主节点到从节点进行的数据发送,从理论上是很清楚的,但是,在执行过程中,往往会出现二者混淆,应引起注意,并在编写数据发送、数据接收程序时,注意加入针对各个节点的识别信息。
以上是我们在基于CAN总线的分布式计算机测控系统开发应用中所遇到的问题及个人的处理方法,正确与否请同行专家批评指正。
摘自《电测与仪表》2001年第1期 产品配置: PHILIPS 82C200 CAN测控器 适用领域及情况: 通讯应用领域 |