APP下载

基于CAN 总线和组态软件的柴油机试验和测试系统研究

2011-06-19吴杰长吴雄学陈国钧

关键词:双口适配器组态

吴杰长 吴雄学 陈国钧

(海军工程大学船舶与动力学院 武汉 430033)

柴油机试验和测试过程中,有大量工作参数需要实时监测、记录、保存和绘制图表曲线进行分析,并可随时调阅历史数据,因此在试验测试系统研制中更需关注软件界面人机交互性能和硬件通用性、可维性等方面的设计.根据上述要求,以及从提高开发效率、使用方便性、易推广性和功能易扩充性出发,有必要充分应用工业自动化领域已发展成熟和得到广泛应用的技术成果,如现场总线技术、组态软件技术等.在目前国际上具有广泛影响的几种现场总线[1](CAN-controller area network,LON-local operating network,PROFIBUS-process field bus,FF-foundation field Bus)中,CAN 总线在20世纪80年代以来即得到了Motorola,Intel,Philips,Siemens,NEC 等公司的支持,其支持器件非常丰富,且由于采用了许多新技术和独特的设计手段,其数据通信的可靠性、实时性、灵活性和错误管理能力尤为突出,因而被公认为是适于工业现场、具有良好发展前景的总线标准.此外,考虑到基于微机的虚拟监测平台具有开发容易、可靠性高、移植性好、成本低和界面友好、便于数据记录分析等诸多优点,且开发工具极为丰富,既可以采用各种高级语言(如Visual C++,Dephi,Visual Basic),也可采用工控组态软件开发,而且采用组态软件编程更易于实现友好的人机界面[2]和进行数据分析,满足工程要求.

基于上述考虑,本文特基于CAN 现场总线和Intouch组态软件的柴油机试验和测试系统进行研究.

1 试验测试系统设计与实现

1.1 基本构成

基于CAN 总线的典型网络测控系统[3-7]包括若干个CAN 现场监控节点,用来进行外部输入信号的调理、驱动外部执行器,其特定功能由开发人员根据需求设计与实现;一个或多个PC 机CAN适配器节点,用来将CAN 网上信息与PC机进行交换通信,配置多个此类节点可方便地构成多机、多点备份系统和总线监视器.CAN 节点间的互连网线可采用光缆、同轴电缆、双绞线等物理媒介.

根据实验室测试平台构成情况,本文构建的柴油机试验测试系统总体构成如图1所示,共配置1个上位PC机节点和3个现场CAN 节点,现场节点分别采集以下参数:柴油机转速、柴油机油门位置、测功器进出水阀开度参数;油水温度和排气温度参数;油水压力和排气背压参数.试验平台中,柴油机采用电子调速器进行控制,故转速的电控单元与CAN 总线网络测试系统完全独立.

图1 基于CAN 总线的柴油机试验测试系统

1.2 CAN 节点通信接口电路及通信程序

对于网络中的任意节点,都涉及CAN 总线接口的电路设计问题,这与电路设计时所选用的器件密切相关,可根据元器件生产商所提供技术资料中的参考电路进行设计.本文选用带CAN 控制器的P80C592单片机和82C250型CAN 总线驱动器进行电路设计,具体实现电路参见文献[3].

CAN 节点软件是实现CAN 总线测控系统优良特性的重要保证,在本文所设计的电路中,CAN 控制器对于CPU 来说,是以确保双方独立工作的存储器映象外围设备出现的,因此软件编程工作主要针对CAN寄存器而进行,下文中以CAN报文接收滤波和CAN 中断的编程予以说明.

在P80C592单片机的CAN 寄存器中,接收码寄存器ACR 和接收屏蔽寄存器AMR 是用来进行报文接收滤波、决定CAN 控制器是否接收总线信息的.在CAN 通信中,只有满足式(1)的报文才能被接收,不符合该条件的报文则被忽略,基于这一特点即可实现特定的节点间通信或全局广播通信,文中报文接收滤波编程依据下式进行.ID.10,ID.9,…,ID.3=AC.7,AC.6,…,AC.0或

在本文程序设计中,CAN 通信是在CAN 中断程序中借助DMA 逻辑、在后台实现高速传送完成的.首先应在初始化中设置CAN 允许中断,在满足式(1)条件下,只要CAN 接收器无差错地接收到一则报文,CPU 就进入CAN 中断子程序.在CAN 中断子程序实现DMA 传送的步骤是:首先确定缓冲区地址并写入CANSTA,然后将CANADR.7(DMA)位置“1”,待传送报文即可由指定缓冲区开始传送至RAM.

现场节点所要完成的如信号A/D 转换、软件滤波、LED 显示刷新等常规功能编程与CAN 控制器无关,电路设计及编程方法与通常测控电路相同.

1.3 PC微机CAN 适配器的设计

对图1所示的柴油机试验测试系统,PC微机CAN 适配器的开发是功能实现的关键.通过微机CAN 适配器,上位微机才能访问所有柴油机试验数据.在CAN 总线系统中,CAN 适配器(CAN-adapter)是插于PC 机ISA 总线或其他总线插槽的CAN 通信接口板.要实现PC 机和CAN 控制器之间的数据交换,首先必须在PC 机和适配器之间建立双向的数据交换通道,实现这类数据交换的方式有I/O 端口法和内存映象法.

I/O端口法的基本实现途径是:PC机利用I/O端口“读/写”方式将数据传送到适配器上的微控制器,然后,微控制器再将数据存储在适配器的外部数据存储器中,等待CAN 控制器进行数据通信.PC机中的CPU 采用I/O独立编址方式,在软件实现上采用专门的I/O 指令(如C 语言中的inport()、outport()库函数)来对接口地址进行操作.

采用双口RAM 是以内存映象法实现CAN适配器的关键,其基本原理是:将适配器上双口RAM(Dual-port RAM)的地址配置于PC机的内存高端区,PC机采用“读/写”内存的方式访问适配器的双口RAM,在PC机不访问适配器的双口RAM 时,适配器微控制器可以访问双口RAM;反之,在微控制器访问双口RAM 时,PC 机不能访问双口RAM.内存映象法数据交换的桥梁是双口RAM,“握手”是由双口RAM 内置的接口管理逻辑自动完成.选用IDT7132SA25P 双口RAM 设计的适配器电路原理框图见图2.图中CAN 适配器占用的PC 机地址空间为DA00:0000H~DA00:07FF,不可配置为其他用途.

图2 CAN 适配器电路原理图

1.4 Intouch组态软件及与CAN 适配器的通信

本文采用组态软件作为上位机数据管理和分析软件的开发平台.与其他组态软件[8]一样,Intouch软件对构建虚拟测控人机界面极其快速简便,各种逻辑或数值运算功能依赖于4类脚本(程序模块):按时间间隔循环执行、按是否满足预定条件而执行、由数据变量的更改触发执行、或只对特定窗口起作用的脚本,程序的协调运行可以理解为基于事件驱动调度机制.Intouch与底层硬件的通信主要借助于DDE方式实现.

对于图1所示的系统,对CAN 适配器进行报文接收滤波和DMA 通信编程便可将CAN 现场节点监测的数据根据需要传送至适配器RAM 空间.所以,此处DDE通信程序的任务是:通过编程,确保Intouch与CAN 适配器数据的双向交流.

为了实现对CAN 适配器数据的访问,DDE程序采用C 语言开发,借助C 中的标准库函数MK_FP(segment,offset)实现双口RAM 中segment:offset地址单元数据访问.此外在编程中还必须正确设置DDE 客户端的LinkTopic,以便DDE作为服务器程序知道所服务的对象即客户为Intouch软件,从而建立双向通信.

在Intouch编程环境下,由于其本身提供了Windows环境下的DDE 机制,DDE 通信的实现只在于正确设置以下项目:DDE 访问名、DDE 应用程序/服务程序名称、DDE 主题名,以及进行DDE标记名(变量)定义.

2 软硬件集成调试及试验

为实现柴油机动力参数的全面、实时监测和性能考核,在图1 基础上另配置独立于CAN 总线网络的3台湘仪动力测试仪器厂的JC 型转矩测量仪、3块基于ISA 总线的PI900转矩测量卡进行转矩测量,其最小采样间隔为10ms,满足动态转矩实时测量要求.在软件设计中,按板卡I/O通信要求在上位监控微机中将其地址配置为300~31,340~35 和380~39FH,中断号配置为IRQ10,IRQ11 和IRQ12,在VB环境下采用PI900的DLL函数开发专用DDE 服务器程序与Intouch进行通信.综合CAN 总线网络和转矩测量的全试验测试系统软件模块化构成及交互关系如图3所示,包括上位监测数据分析及人机界面程序、DDE通信程序(含CAN 总线通信参数和转矩参数)、CAN 适配器驱动程序,以及现场CAN节点数据采集处理程序,图中的上位监测分析软件借助Intouch的丰富控件、实时及历史曲线向导工具实现,由此提供了完整的数据管理、分析功能和友好的图形化交互界面.

图3 试验测试系统软件模块化构成及交互

图4 柴油机转速、功率试验实时曲线

集成后的全系统主要监测和记录柴油机的转速、油门位置、输出转矩、油水温度和压力,以及齿轮箱滑油压力等参数,同时可通过微机自控方式实现柴油机启停、离合器离合、测功器负载的控制.采集记录的参数用以对柴油机双机或单机运行过程进行试验测试.以上参数全部以虚拟仪表形式实时显示在基于Intouch编程实现的虚拟监测平台上,并自动绘制成以时间为横坐标的实时变化曲线,同时亦可随时调用历史试验数据库绘制历史曲线,便于分析柴油机工作特性.图4即为试验过程中软件自动记录的双机共同工作、在设置多档转速及负荷调节过程中,柴油机转速和功率随时间变化的实时曲线.

3 结 论

本文研究工作和实机试验表明,基于CAN总线和组态软件进行柴油机试验测试系统的开发具有电路设计及调试维护简便、编程快捷、界面友好的特点,适于相关领域工业测控系统开发,总体而言具有如下优点:

1)通过采用CAN 总线、取消传统繁杂线路,使系统硬件设计得以极大简化,安装调试方便,可维性显著改善.

2)按CAN 协议进行程序设计,可实现基于竞争的多主工作方式、通过编程报文数据的优先级实现高实时性、实现非破坏性总线仲裁和报文接收滤波编程、以及暂时错误和永久性故障节点自动判别自动脱离等多项优良特性.

3)易于实现标准化、模块化设计思想,具有更好的扩充性、移植性.

4)软件编程工作量大大减少,人机界面更友好,易实现基于微机的虚拟监测平台.

[1]陈铁军.发展现场总线技术,提高我国过程工业自动化水平[J].仪器仪表与传感器,2000(9):89-92.

[2]张淑红,陶自春.基于组态王的传感器实验台监控系统[J].自动化仪表,2008(5):102-106.

[3]吴杰长,吴家明.基于P80C592的CAN 监控网络设计与应用[J].测控技术,2004(6):55-58.

[4]Anthony P L,Crawley H B,Fischer P A,et al.CANbus and microcontroller use in the BaBar dector at SLAC[J].IEEE Transactions on Nuclear Science,2000,47(2):166-169.

[5]王福友,郝燕玲,袁赣南,等.舰船导航系统CAN 总线网络设计的关键技术[J].中国造船,2008,49(2):81-86.

[6]慎石磊.基于CAN/LIN 总线的即插即用式监控系统[J].机电工程,2009,26(10):15-18.

[7]千承辉,苏 建,潘洪达.基于CAN 总线的汽车检测技术研究[J].武汉理工大学学报:交通科学与工程版,2006,30(3):489-491.

[8]李瑞先.组态软件在监控系统中的应用[J].电气传动自动化,2006(5):112-116.

猜你喜欢

双口适配器组态
基于PLC及组态技术的恒温控制系统开发探讨
双口RAM在航天伺服系统中的应用
Matching mechanism analysis on an adaptive cycle engine
基于3D打印的轻型导弹适配器
基于PLC和组态的智能电动拧紧系统
潜空导弹垂直发射出筒适配器受载变形仿真研究
电源适配器怎么选
PLC组态控制在水箱控制系统的应用
铸造行业三维组态软件的应用
美国麦格普公司新型M—LOK相机三脚架适配器