本文首先介绍了船用阀门控制系统的总体结构,将微控制技术与CAN总线技术相结合应用到船用阀门控制系统中,与工业控制计算机构成控制系统。
1 系统的总体结构
本文提出的船用阀门控制系统采用了集中管理,分散控制的上、下位机两级控制的系统总体结构,如图1所示。
图1 基于CAN总线船用阀门控制系统总体结构图
上位机可对下位机发送命令控制阀门进行相应的操作。另外,上位机提供操作方便的人机操作界面,能够实现系统中各个阀门的信息的采集和管理,便于控制系统的维护。下位机引入了微控制技术,既支持现场的操作,也支持上位机的远程控制。另外,下位机以微控制器为核心控制单元嵌入到船用阀门中。CAN节点主要由微控制器模块、数据采集与检测模块、通信功能模块、阀门电动执行机构模块组成。系统的上、下位机之间通过CAN总线技术进行通信。CAN总线通信协议简单,只包含数据链路层和物理层,信号传输采用短帧结构,每一帧的有效字节数为8,传输时间短,受干扰的概率低。总线通信速率最高可1Mbps/40m,直接传输距离最远可达10km/5Kbps,总线上可挂节点数最多可达110个,完全满足实际需要。
2 硬件设计
由前文所述可知,系统硬件的设计包括上位机硬件和下位机硬件设计。
2.1 上位机系统
上位机硬件系统由工业控制计算机和PCI-CAN总线接口卡组成。PC主机选用PCI7841适配卡,可直接将其安装在主板的PCI卡槽内。PCI7841适配卡集成了1路CAN通道,可以直接通过CAN总线与PC机进行数据通信。
PCI7841适配卡产品提供了CANTools工具软件,可直接进行CAN总线的配置,发送和接收数据。另外还提供了DLL动态连接库、VC/VB例程编写自己的应用程序,方便开发CAN系统应用软件产品。
2.2 下位机系统
下位机系统的硬件设计主要是对单元控制器(即前面介绍的CAN节点)的设计与研究。下位机从结构上分为4个部分:微控制器模块、数据采集与检测模块、阀门电动执行机构、CAN通信模块。下面将一一介绍各个模块。图2给出了CAN节点的硬件框结构图。
图2 CAN节点硬件整体结构图
1)微控器模块是整个下位机的核心部分,通过单片机协调各个模块的工作,完成下位机系统的控制。系统采用89C51型单片机,具有4K的闪烁存储器,128字节的内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串口通信接口,片内振荡器及时钟振荡电路。这里,还包括复位电路、时钟电路和稳压源电路等基本电路的设计。
2)数据采集、检测模块是下位机重要的输入输出模块,主要完成对电机电机电流、阀门开度的采集控制,电机堵转的处理。这里不详细介绍。
3)阀门电动执行机构:船用阀门控制系统中被控对象是电液阀,控制目的要去实现阀门的开启和关闭,逻辑非常简单。因此,在系统中引入固定继电器SSR与电机相连,阀门的动作是通过电机的正反转带动液压流动来实现的。
4)CAN通信模块是系统研究的重点部分,也是与上位机通信的核心部分。CAN通信接口方案有两种:采用带CAN控制器的微控制器和CAN收发器组成通信接口;采用独立CAN控制器和CAN收发器组成通信接口。系统采用第二种方案,使用Philips公司的独立CAN控制器SJA1000和CAN收发器82C250构成通信接口。为了防止干扰,CAN通信模块中加入光电隔离器6N137组成光电隔离电路,如图3所示。
图3 CAN通信结构图
2.3 抗干扰设计
在船用阀门控制系统中,下位机系统需要嵌入到阀门的腔体中,电磁干扰非常严重,系统中采用多种硬件抗干扰设计。
1)在检测电机电流时,信号经过A/D转换连接光电耦合电路再与微控制器相连,目的是增强电路的抗干扰能力。
2)CAN总线的两端加有两个120Ω的电阻,对于总线阻抗的匹配起着相当重要的作用。
3)为了增强总线节点的抗干扰能力,SJA1000并不直接与82C250相接,而是通过光电耦合器6N137与AT82C250相接。实现了总线上各节点间的电气隔离,但是光耦电路用的2个电源必须完全隔离,方法是采用小功率电源隔离模块。虽然增加了接口电路的复杂性,但却提高了节点的稳定性和安全性。
4)为了减少现场环境对CAN节点的干扰,现场安装时使用屏蔽双绞线。
3 软件设计
上面对船用阀门控制系统的硬件进行设计。一个系统能否正常可靠地运行,除了要求硬件电路正确合理地设计之外,很大程度上取决于功能完善的软件设计。这里,软件的设计同样包括上位机系统和下位机系统。
3.1 上位机系统
上位机软件的主要任务是对系统所有下位机控制系统的信息采集、处理与远程监控等。该系统使用VisualBasic6.0实现监控程序设计,它是一种开发图形用户界面的基于Basic的可视化程序设计语言。上位机经过PCI7841接口卡实现与下位机的通信,购买产品时厂家配套提供卡驱动程序、应用程序接口函数库,以及对接口函数库的说明和使用方法等。因此,涉及到通信层软件部分不需要编写,只要通过与接口函数的连接就能实现软件的通信功能。
上位机首先对PCI7841适配卡及自身初始化,然后发送命令通知特定节点向CAN总线上发送数据,经适配卡转换后,再由上位机进行相应的处理。上位机采用定时轮循环方式向各个节点发送命令,采用中断方式接收数据。
3.2 下位机系统
下位机软件的主要任务是现场信息的采集、控制阀门、通信以及报警等。编程采用KeilC51,使程序模块化,容易移植。系统软件的设计思想是在系统上电后首先对AT89C51和SJA1000初始化,以确定工作频率、SJA1000的工作方式、波特率、输出特性等。下位机主程序流程图如图4所示。
图4 下位机主程序流程图
在下位机的软件设计中,难点是CAN总线通信程序的设计。上位机向下位机发出数据请求或命令时,下位机直接进入CAN中断服务程序。下面给出了CAN中断服务程序如图5所示。
图5 CAN中断服务程序
4 结束语
基于CAN总线的船用阀门控制系统的设计,由于采用了微控制器技术和CAN总线技术,克服了传统船用阀门的缺点,实现了船用阀门控制的智能化与网络化。在课题研究过程中,掌握了CAN总线智能节点的设计,并在实践中得到了应用。
参考文献
[1]邵昱,陈棘,唐石青.船用阀门网络控制系统设计[J].上海造船,2006(3):33-36
[2]阳宪惠.现场总线技术及其应用[M].北京:清华大学出版社,2008:61-98
[3]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996
[4]温丹丽.基于CAN的液压驱动阀门智能控制系统[J].微计算机信息,2009(1):50-53
[5]周正干.基于CAN总线的阀门智能控制网络系统[J].自动化仪表,2004(5):8-11
[6]安振东,魏东.CAN总线智能阀门网络控制系统在污水处理中的应用[J].自动化技术与应用,2004(5):37-40
[7]温阳东,唐黎江,黄璐.基于CAN总线的油库阀门控制系统[J].工业控制计算机,2007(4):36-40