|

1 ADAM-5000/CAN系统
1.1 ADAM-5000/CAN系统简介
ADAM-5000/CAN设备使用控制器局域网络(CAN)协议,是一开放、广播式的通信系统,主要特点如下:
*单个CAN网络可以支持63个ADAM-5000系统;
*可选数据传输速率,对于DeviceNet协议可选125k、250k和500kbps;
*通流和电压反相保护;
*具有宽电源范围,未经调理的DC电压+10~+30V;
*启动时硬件自检;
*容易安装在DIN导轨或面板上;
*通过插入式镙钉接线端子块容易进行接线。
ADAM-5000/CAN系统使用两种通信协议:Allen-Bradley开发的DeviceNet或CiA(CAN
inAutomation)的CANopen。目前应用较广泛的DeviceNet是一种低成本的通信链接协议,可以连接工业设备,如极限开关、电磁阀、光/电传感器、条形码阅读器、电机启动器、过程传感器、变频器、平板显示和人机界面;可以降低网络和复杂硬件连线的成本;直接连接可以改进设备之间的通信,并能完成不易进行或须连接硬件I/O接口的设备级诊断;当多个复杂设备的互换可能时,还允许简单设备之间进行互换。DeviceNet是一种开放的网络标准。其规格和协议是开放的,任何人都可以通过ODVA(Open
DeviceNet Vendor Association)获得DeviceNet的规格。
1.2 CAN网络系统实现
ADAM-5000是一种基于模块的设备,整修系统作为一个从设备,将工业现场数据采集到PC机,并利用PC机进行控制。CAN网络设计如图1所示。
通过通信接口卡接入CAN总线网络来监控主机,使操作人员可以在上位机上对位于现场的各个测量与控制模块进行设置、管理、监视与维护。在ADAM-5000/CAN中可以挂接4个I/O插槽,挂接在CAN总线网络上的各种I/O模块起到数据采集、监视与控制的作用。ADAM-5000/CAN支持所有的工业I/O模块,包括数字量I/O、模拟量I/O、计数器和特殊用途的I/O模块,如热电偶和热电阻模块。此外,所有这些模块都可提供DC
3000V隔离。
系统中位于现场的检测与控制部分,可以根据实际对象选用研华公司的ADAM-5000/CAN系列功能模块。这样,可以大大缩短系统的设计周期,使设计人员从反复设计常用输入/输出功能电路繁重工作中解脱出来,避免重复劳动。只是对于某些比较特殊的应用场合,需要有特别的数据采集、信号处理或者控制输出电路,这就要求设计人员自行开发针对特殊对象的专用I/O模块了。一些专用的功能模块,只要配置有CAN总线的I/O接口,也可以挂接到CAN总线网络上来,与ADAM-5000/CAN系列功能模块一起实现分布式测控系统的现场测控任务。ADAM-5000/CAN的功能模块如见图2所示。
图2中CAN协议控制器采用PHILIPS公司生产的PCA82C200,CAN接口控制器采用PHILIPS公司生产的PCA82C250芯片。PCA82C250可以提供对总线的差动发送能力和对CAN控制器的差动接收能力。
通信接口卡采用双端口隔离CAN接口卡PCL-841,将其输入主机ISA插槽,其传输速度可达到1Mbps,有4个LED指示灯显示发送和接收的状态。用专用的总线接口装置ADAM-4525将CAN与主机相连,将计算机接入CAN总线网络,实现在主计算机上对位于现场的测量、控制装置进行管理与维护。以此方式能够将计算机强大的功能应用于CAN总线系统及其现场设备,实现控制室与现场、软件与硬件的资源共享及功能互补。
1.3 组态软件
在ADAM-5000/CAN的系统结构与功能特点的基础上,结合CAN总线的通信协议DeviceNet,采用ANSI
C语言编程。下面仅介绍在本系统中的一个输入/输出程序。
Void demo(){
…… //变量的定义与初始化
send_buf=set_ch0_alarm; //设置槽1的0通道发函限值
Dn_SndMsg($send_buf);
Dn_GetResp();
send_buf=get_alarm_stus; //获取槽1的警戒值
canSndMsg(&send_buf);
GetResp();
if (receive_buf[6]&0x01){
//如果槽1的0通道发生发函限输入,槽2所有通道值置为1
send_buf=set_do;
canSndMsg(&send_buf);
}
…… //变量的处理
}
程序功能如下:如果在槽1上,模拟量输入模块(AI)的通道0(ch0)中发生了越限输入,就使槽2上的模拟中所有数字量的输出设定为1。该程序实现了关于CAN总线的DeviceNet通信协议在ADAM-5000/CAN系统上的基本应用,可以由ADAM-5000/CAN系统所提供的一个下载工作DNU,从主计算机上的RS-232串口下载到ADAM-5000/CAN的主单元中,并在其中运行。每个ADAM-5000/CAN主单元都设有一个RS-232接口用于接受主计算机对它的编程。
DNU主要是针对研华公司的硬件产品开发的,因此,可与研华ADAM模块很好地契合。功能主要有:①系统和模块设置;②模块校准;③数据输入和输出;④查找已连接系统;⑤事件监控;⑥协议固件下载;⑦终端仿真。可以根据实际需要编写或更改程序,满足所需的功能。

2 ADAM-5000/CAN系统优势
我们在应用中发现该系统具有以下优点。
2.1 实时能力
CAN系统通过使用非破坏性的位总线总裁技术来处理多于一个的节点,同时访问网络的冲突,从而满足实时性的需要。使用这种方法,不会丢失任何数据或损失带宽。CAN的仲裁机制处理冲突并决出一个“优胜者”,给它最高优先级并立即发送数据。系统反应时间不仅依赖于站的多少,更依赖于优先级的级别。
2.2 减少系统维护和故障处理
(1)硬件自检和软件诊断
ADAM-5000系统有两种诊断方式:硬件自检和软件诊断。它们可以帮助用户检查和鉴别各种系统或I/O模块的故障。
(2)看门狗定时器管理
看门狗定时器会对微处理器进行监控并能自动复位系统。这种设计减少了现场的维护工作。
2.3 适合工业环境
(1)3端隔离
ADAM-5000系统提供了I/O模块隔离、电源隔离和通信隔离。3端隔离设计避免了接地环路,并减少了电磁干扰对系统的影响,提供电涌保护以避免电压尖峰对系统造成破坏。
(2)调理电源反相保护
ADAM-5000系统可以接受未调理的DC电压+10~+30V,可以在电源意外反相后对系统进行保护。
(3)宽温工作范围
ADAM-5000模块的工作温度范围可以从-10~+70℃。
2.4 通信的可靠性
ADAM-5000/CAN的一个突出特点是它的高传输可靠性。CAN总线最早用于汽车发动机的控制。汽车的强电磁干扰(如火花塞放电)需要通信系统具有高度的可靠性。CAN具有5种通信校验机制和快速的故障恢复时间。故障发生后,消息在29位时间内重复,汉明距离为HD=6(能辨认任何位置到5位的误差)。没有其它现场总线具有如此高的可靠性,它足以满足对工业现场数据准确性的要求。
结束语
文章以台湾研华公司的ADAM-5000/CAN系统作为平台,给出了一个包括主计算机在内的CAN总线测控系统集成方案。它能实现工业现场数据的快速高可靠性采集和传输,现场应用效果较好,是一套较实用的工作现场总线系统。
ADAM-5000/CAN 系统使用了最流行的现场总线 - CAN(控制器局域网络) -
作为连接工厂设备(控制器、传感器、执行器等)的标准。整个系统作为一个从设备,在 CAN 接口建有 4 个 I/O
插槽。每个系统可以支持 4 个 I/O 模块(64 个 I/O 点)。ADAM-5000/CAN
可以支持所有模拟量 I/O、数字量 I/O 和计数器模块,用户在开放的 CAN 系统中可以支持大量的常规 I/O
点。CAN 作为广播式串行总线系统,它最早应用在汽车工业中,后来在楼宇自动化中也得到了成功的应用。

多主机结构
在 CAN
网络中,任何节点之间都可直接进行数据交换。和常规的主从式总线系统不同,并不是所有数据都需要传送到主站,不同的总线用户之间都可以进行数据交换。即使主站发生故障,其余系统仍可以正常工作,只是功能会受到限制。
事件处理
ADAM-5000/CAN 系统使用 CAN
的中断方法改变状态功能,在改变状态功能下,设备只有在数据发生改变时才产生数据,此数据以广播方式发送到网络中的所有设备。在有事件发生时,主机或控制器几乎同时接收到数据。例如,如果一个输入到
ADAM-5000/CAN 的数字量状态从“运行”状态 (ON) 改变为“关闭”状态 (OFF),则
ADAM-5000/CAN 会自动将这条改变的信息广播发送到包括网络中主机的所有节点。通讯和事件几乎同时发生。
实时能力
CAN
系统通过使用非破坏性的位总线仲裁计数来处理多于一个的节点同时访问网络的冲突,从而满足实时性的需要。使用这种方法,不会丢失任何数据或损失带宽。相比之下,以太网使用冲突检测的方法,所有节点都必须退后并重新发送它们的数据,这样会导致数据丢失和损失带宽。CAN
的仲裁机制处理冲突并决出一个“优胜者”,给它最高优先级并立即发送数据。系统反应时间不仅依赖于站的多少,更依赖于优先级的级别。
选择开放通讯的协议
ADAM-5000/CAN 提供了两种协议:由 Allen-Bradley 开发的
DeviceNet;还有
CANOpen,它基于 CAL,是由 CiA (CAN in Automation) 规定的开放 CAN
通讯网络。开放的通讯协议允许不同厂商提供的产品在同一网络中互操作。互操作性指在不同的系统(如控制系统、运动控制器和
I/O 模块)之间通过常规数据总线来交换信息。在 ADAM-5000/CAN 出货时,已经包括了
DeviceNet 和 CANOpen 磁盘,您可以为您的应用选择合适的协议。
万无一失的通讯
ADAM-5000/CAN 的一个突出特点是它的高传输可靠性。CAN
总线最早用于汽车发动机的控制,汽车的强电磁干扰(如火花塞放电)需要通讯系统具有高度的可靠性。CAN
具有五种通讯校验机制和快速的故障恢复时间:故障发生后,消息在 29 位时间内重复,汉明距离为
HD=6(能辨认任何位置到 5 位的误差)。没有其它现场总线具有如此高的可靠性。
预定义对等通讯(仅 CANopen)
CANOpen 的附加对等通讯能力给用户的应用提供了更大的灵活性。用户可以在任意两个 ADAM-5000U
系统之间建立关联。预定义的关系包括 AI 到 AO 的信号放大、AI 到 DO 的报警输出和 DI 到 DO
的锁时以及延时。
|