摘要:介绍一种基于CAN总线的分布式数据采集和控制系统ADAM-5000/CAN及其系统实现方法。给出其在实时能力、减少系统故障、适合工业环境及通信可靠性方面的优势。
关键词:ADAM-5000/CAN 通信 网络
引言
CAN最早是由欧洲一家汽车制造厂BOSCH开发的,用于汽车工业。CAN用低成本的网络电缆代替了车身内昂贵的导线,具有快速响应时间和高可靠性,并适合对实时性要求较高的应用,如刹车装置和气囊。CAN芯片现在可以抗高温和高噪声,并且具有较低的价格。CAN作为广播式串行总线系统,先后功能地应用在汽车工业和楼宇自动化中。这些成功为它在自动化工业中取得同样的成功奠定了良好的基础。
CAN总线采用多主工作方式,节点之间不分主从,有优先级之分。通信方式灵活,可实现点对点、一点对多点及广播方式传输数据,无须调度。采用非破坏性总线仲裁技术,优先级发送,可大大节省总线冲突裁时间,在重负荷下表现出良好的性能。CAN采用短帧结构传输,每帧有效字节为8个,传输时间短,受干扰的概率低。每帧信息都有CRC校验和其它检错措施,保证数据出错率极低。当节点严重错误时,具有自动关闭功能,使总线上其它节点不受影响。可见,CAN是所有总线中最为可靠的。
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总线测控系统集成方案。它能实现工业现场数据的快速高可靠性采集和传输,现场应用效果较好,是一套较实用的工作现场总线系统。
上一篇:用CPLD实现单片机与ISA总线并行通信
下一篇:80C152单片机上HDLC通信规程中的应用
- 热门资源推荐
- 热门放大器推荐
- 应对 AI 时代的云工作负载,开发者正加速向 Arm 架构迁移
- NVIDIA 推出高性价比的生成式 AI 超级计算机
- Gartner发布2025年影响基础设施和运营的重要趋势
- 智谱清言英特尔酷睿Ultra专享版发布,离线模型玩转AIPC
- Quobly与意法半导体建立战略合作, 加快量子处理器制造进程,实现大型量子计算解决方
- RTI Connext Drive参展CES 2025,以领先通信框架加速SDV开发
- 黑莓 1.6 亿美元甩卖网络安全业务 Cylance,远低于其 14 亿美元的收购价
- eIQ® Time Series Studio简介:简化边缘 AI 开发
- 尺寸更小,性能更强:左蓝微电子发布两款PESAW双工器