上位机首先对PCI7841适配卡及自身初始化,然后发送命令通知特定节点向CAN总线上发送数据,经适配卡转换后,再由上位机进行相应的处理。上位机采用定时轮循环方式向各个节点发送命令,采用中断方式接收数据。
3.2下位机系统
下位机软件的主要任务是现场信息的采集、控制阀门、通信以及报警等。编程采用Keil C51,使程序模块化,容易移植。系统软件的设计思想是在系统上电后首先对AT89C51和SJA1000初始化, 以确定工作频率、SJA1000的工作方式、波特率、输出特性等。下位机主程序流程图如图4所示:
图4 下位机主程序流程图
在下位机的软件设计中,难点是CAN总线通信程序的设计。上位机向下位机发出数据请求或命令时,下位机直接进入CAN中断服务程序。下面给出了CAN中断服务程序如图5所示:
图5CAN中断服务程序
5结论
基于CAN总线的船用阀门控制系统的设计,由于采用了微控制器技术和CAN总线技术,克服了传统船用阀门的缺点,实现了船用阀门控制的智能化与网络化。在课题研究过程中,掌握了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