贾茹桑国明
(大连海事大学信息科学技术学院大连116026)
基于CAN总线的密集架智能仓储系统设计
贾茹桑国明
(大连海事大学信息科学技术学院大连116026)
论文介绍了一种基于CAN总线的密集架智能仓储系统的软硬件设计方案,该系统由上层PC机和下层密集架系统两部分构成。下层系统采用C8051F系列单片机为主控制器,自定义了应用层通信协议及通信命令格式。用户通过安装在PC机中的管理系统软件,或者下层密集架系统中的按键板和触摸屏,实现对存储物的日常管理和密集架的智能控制。
密集架;CAN总线;C8051F;通信协议
Class NumberTH402
CAN现场总线以其结构简单、稳定性好、抗干扰能力强、扩展性和开放性好、具有良好的故障隔离能力以及成本低廉的卓越性能,在各种现场总线控制系统竞争中占有重要地位,应用广泛[1~2]。将其应用于存储量大、操作简便、节约空间、安全性高的密集架智能仓储系统[3~5]中,不仅可以提供实时可靠的通信支持,而且能够满足现代物流管理的要求,对推动仓储物流行业的发展具有重大现实意义。
密集架智能仓储系统由以下四部分功能组成[6]:
1)数据库管理功能:实现存储物信息的录入、查询、修改、数据库备份和还原;
2)用户管理功能:为不同用户设置不同等级的权限,保障存储物信息安全及存储物实体安全,包括用户管理、用户登录和密码修改功能;
3)密集架控制功能:上位机PC提供友好便捷的用户界面进行人机交互,能与各组密集架的固定列控制器进行通信,由此实现对密集架的打开、关闭、停止、通风、锁定、解锁及状态监控功能,并能对密集架上的各种传感器采集信息进行分析、处理、显示、输出,并能通过动画直观显示系统运动状态;
4)各种辅助功能,如系统基础设置,条码管理,自助打印功能。
根据上述系统功能的分析,将下层密集架系统分成六个部分:信号板、固定列板、移动列板、固定列按键板、移动列按键板、指示灯板。其中,信号板电路和固定列电路、固定列按键板电路和移动列按键板电路在硬件设计上大致相同,只是程序上有所不同。信号板、固定列板处理器芯片采用的是Silicon Labs公司的C8051F系列单片机C8051F040,其他几个电路板部分均采用C8051F020[7~8]。
信息管理系统与密集架系统之间通过信号板完成信息的传输。信号板与上位机通过RS232串口进行通信,与密集架系统固定列通过CAN总线进行通信。固定列与移动列之间、移动列与移动列之间通过CAN总线进行通信,按键板与固定列、移动列和指示灯板之间通过RS232串口通信。系统的总体设计结构图如图1所示。
图1 系统总体设计结构图
密集架系统工作的触发源有以下四个:
1)桌面计算机程序:能够下发操作密集架的所有指令,指令通过RS232串口发出,由信号板接收后,再通过CAN总线分发给固定列和移动列。
2)按键板上的按键或触摸屏:触发指令控制本区各列的打开、关闭、加电、断电、通风、停止、锁定、解锁等动作。
3)同区列间红外感应:同区列间红外感应能使正在移动的密集架进入静止状态。
4)直流电机过载感应:当电机工作出现过载感应时,电机停止动作进入静止状态。
3.1 固定列电路部分
固定列板控制接口图如图2所示。MCU的主要外围芯片包括:温湿度传感器AM2301、独立的CAN控制器SJA1000[9]、高速CAN总线驱动器TJA1040、多通道RS232驱动器/接收器MAX232EPE、继电器等。由于使用的C8051F040内部带有控制器局域网(CAN)控制器,因此,在C8051F040的CANTX和CANRX引脚上连接TJA1040,即可实现与其他固定列板或信号板CAN串行通信。将SJA1000与TJA1040配合使用,连接到MCU的P7.0~P7.7引脚,可与移动列电路板通信,控制本区架体按顺序运动。按键板与固定列板通过MAX232EPE相连,按键板上包括:320240液晶显示屏、按键、指示灯、LED数码管、指示灯板接口。按键板与指示灯板通过MAX232实现串口UART通信。继电器控制移动列220V电源。信号板、各电路板之间用网线进行连接。
图2 固定列板控制接口图
3.2 移动列电路部分
移动列板控制接口图如图3所示,移动列板MCU的主要外设包括:架体之间的电感式接近开关(霍尔开关)、安全保护开关(光电开关)、直流电机、日光灯、与其他移动列或固定列CAN通信接口、移动列按键板。限位开关的闭合信号反馈架体位置信息。系统应用光耦PC817隔离输入I/O信号与数字信号。电机控制电路采用无刷直流电机控制器MC33035作为主控芯片,采用MOC3023和BTA08控制日光灯。
图3 移动列板控制接口图
4.1 系统软件开发环境
系统软件由上层信息管理系统软件和下层密集架系统软件组成。上层人机交互界面采用MFC编写,与下层系统通信需要对串口编程。由于MSCOMM控件依赖于消息循环,需要有对话框作为宿主,使得编写使用串口的后台服务几乎不可能。因此本系统PC机串口通信使用基于Windows API和C++的串口类CSerial类,它的功能均以源代码提供,方便开发[10]。采用ADO数据库访问技术和Microsoft Access 2002关系数据库开发工具。下层密集架系统软件调试环境为Silicon Laboratories IDE,它与Keil C51系列开发工具集成,形成使用C51语言进行单片机开发的强大接口,具有完整的项目管理和开发调试功能。
4.2 应用层通信协议设计
对于应用层通信协议设计,首先要列出系统所有的功能,并为这些功能分配ID号。表1规定了串口命令的格式。命令具体的字节数和各字段含义会随命令不同,在命令头之后略有差别。对于信号板与固定列的CAN通信,在CAN2.0B协议的基础上,采用标准帧格式,在消息对象初始化时,对应信号板与固定列之间CAN通信的消息标识符、ID号和参数长度。
表1 串口命令的命令格式
根据硬件电路设计,在下层系统中使用SJA1000中断、定时器中断、串口UART0中断、C8051F040内部CAN中断这四类中断接收数据。下面以固定列主程序流程为例,说明系统软件编写方法,图4中系统初始化包括配置系统时钟、MCU引脚、CAN消息对象、串口、SJA1000、移动列霍尔状态、自检标记flag触发标记flip初始化为0,/INT0、定时器0、UART0、CAN消息中断使能并初始化,CAN通信初始化、全局使能。其中固定列的/INT0中断负责接收移动列发来的消息,根据消息置相应标志位,或回复移动列,对于移动列的按键或触摸屏消息,固定列对移动列进行命令回复;对于红外阻挡消息,向上位机发送阻挡报警消息,并向移动列发送锁定消息;对于停止、锁定、解锁、打开、关闭、通风消息,向上位机回复消息,并置uart_flag、flag和flip等标记;对于霍尔状态消息,则更新移动列霍尔状态数组。UART0接收中断负责接收按键板发来的按键或触摸屏信息,根据不同的消息,向移动列通过SJA1000发送不同的命令。定时器中断负责定时查看移动列霍尔状态,判断架体处于正在打开、已经打开、正在关闭、已经关闭、正在通风打开、还是已经通风打开状态,根据不同状态向移动列和PC机发送不同的消息。C8051F040内部CAN中断负责接收信号板转发的PC机发送的消息,并根据消息向移动列发送命令。
图4 固定列主程序流程图
本设计采用C8051F系列单片机和CAN总线技术构建了操作简单、管理方便、高效实时、安全可靠的密集架智能仓储管理系统。采用中断模块化的程序设计方法,使程序思路清晰,效率高。该系统有效提高了对仓储物品的日常管理,并能根据查询结果自动控制物品所在的密集柜的移动,开启对应的照明、通风、人员保护系统,实现了对密集架的智能管理和控制,具有一定的理论和实际应用价值。
[1]徐友坚.基于CAN总线的体育馆智能照明控制系统设计[D].大连:大连理工大学,2013.
YU Youjian.The Design of the Stadium Intelligent Lighting Control System Based on CAN Bus[D].Dalian:Dalian University of Technology,2013.
[2]Lihong Z,Lei S,Shufen H,et al.Measurement and control system of soil moisture of large greenhouse group based on double CAN bus[C]//2011 Third International Conferenceon Measuring Technology and Mechatronics Automation. IEEE,2011:518-521.
[3]沈文林.智能化档案密集架网络控制和档案数据库管理系统的研发和应用[J].数字与缩微影像,2011(1):18-21.
SHEN Wenlin.Intelligent file shelves network control and management system development and application of the database file[J].Digital and miniature images,2011(1):18-21.
[4]王爱成.基于单片机的智能型密集架控制系统的设计与实现[D].太原:太原理工大学,2011.
WANG Aicheng.Design and Implementation of Control System of Intelligent Compact Shelves Based on MCU[D]. Taiyuan:Taiyuan university of technology,2011.
[5]张芬.基于密集架的智能仓储管理系统设计及实现[D].南京:南京理工大学,2014:7-10.
ZHANG Fen.Based on the intelligent warehouse management system design and realization of the shelves[D]. Nanjing:Nanjing university of technology,2014:7-10.
[6]裴春梅,王艳秋,杨秀清,等.基于MODBUS协议的密集架智能仓储通信系统设计[J].物流技术,2015,34(4):127-129.
PEI Chunmei,WANG Yanqiu,YANG Xiuqing,et al.Compact shelving storage communication system based on MODBUS protocol design[J].Logistics technology,2015,34(4):127-129.
[7]Silicon Laboratories Com.C8051F Mixed Signal ISP FLASH MCU Family[M].Shanghai:Shanghai Science and Technology Press,2009:197-207.
[8]宋薇,刘晓洁,韩润萍.基于C8051F040 CAN总线的节点通信研究[J].计算机系统应用,2009(5):190-193.
SONG Wei,LIU Xiaojie,HAN Runping.Node based on C8051F040 CAN bus communication research[J].The computer system application,2009(5):190-193.
[9]牛跃听,周立功,方丹.CAN总线嵌入式开发:从入门到实战[M].北京:北京航空航天大学出版社,2012:28-47.
NIU Yueting,ZHOU Ligong,FANG Dan.CAN bus embedded development:from entry to actual combat[M].Beijing:Beijing university of aeronautics and astronautics press,2012:28-47.
[10]周韧研,商斌.Visual C++串口通信开发入门与编程实践[M].北京:电子工业出版社,2009:133-187.
ZHOU Renyan,SHANG Bin.Introduction to Visual c++ serial communication development and programming practice[M].Beijing:Electronic industry press,2009:133-187.
Compact Shelving Intelligent Storage System Based on CAN bus
JIA RuSANG Guoming
(School of Information Science and Technology,Dalian Maritime University,Dalian116026)
In this paper,a software and hardware design of a compact shelving intelligent storage system based on CAN bus is proposed,the system consists of upper PC and the lower compact shelving system.The lower system uses C8051F series MCU as the main controller,and customizing application layer communication protocol and communication command format.By installing management system software in the PC,or the lower shelves in the system by the keypad and touch screen,users can realize to store content of daily management and compact shelving of intelligent control.
compact shelving,CAN bus,C8051F,communication protocol
TH402
10.3969/j.issn.1672-9722.2017.06.046
2016年12月11日,
2017年1月23日
贾茹,女,硕士研究生,研究方向:嵌入式技术。桑国明,男,副教授,研究方向:嵌入式技术。