在仓库的货物的管理中,需要对温度、湿度等环境参数进行监控,以保证仓库的安全。随着库区的面积逐渐扩大,需要传输能力强和通信距离远的监控系统来有效地对仓库货物进行监管。
CAN(Controller Area Network,控制器局域网)总线技术具有先进的多主网络结构、通讯距离远、价位低、可靠性高、系统容量大、安装方便、维护费用低、性价比高等优点。特别对库区较大、仓库分布较分散的大型仓库的监控非常适用。
2系统硬件设计
本系统采用分布式监控网络,主要分为上位机和下位机两部分,而上位机硬件包括CAN通讯适配器和上位监控管理机组成;下位机则由CAN节点和现场传感器组和温度湿度参数控制器组成,如图1所示。
其工作原理是下位机节点通过一定时间间隔把含有地址、温度、湿度等数据量的报文向CAN总线发送,总线通过自身仲裁确定先把优先级最高的数据放到总线上,然后自动仲裁依次发送优先级相对较低的报文到CAN总线。由于CAN总线的信息存取利用了广播式的存取工作方式,报文可以在任何时候由任何节点发送到空闲的总线上,每个CAN总线节点都接收到了总线上出现的报文信息,通过每个节点的报文滤波和地址设置,上位机CAN节点能实现上传报文的接收。上位机接收到报文信息后通过组态王软件实现仓库温度等参数实时监视和记录。同时上位机通过仓库人机界面可随时发送控制信息到CAN总线上,地址匹配的CAN总线节点能收到信息。通过这种方式即可实现仓库的温度等参数的反馈控制。
2.1上位机系统的硬件设计
CAN通讯适配器承担上位计算机和CAN节点之间的数据转发任务,实现上位机与下位机的通讯。利用EPP并行口实现PC机与SJA1000的通信,关键在于实现SJA1000的读写时序,实现的方法有两种:软件产生读写时序电路和硬件产生读写时序电路。该系统用硬件产生读写时序电路,通过逻辑门的时间延迟来产生SJA1000握手等信号。设计电路如图2所示。
2.2下位机系统的硬件设计
下位机包括CAN节点、现场传感器组和温度湿度参数控制器。CAN节点主要是完成CAN总线信号和CAN网络通讯的配置。现场传感器组和参数控制器部分主要是和CAN节点完成实时监测仓库内各个测试点的温度、湿度情况,还要负责接收上位管理机的命令,根据上位管理机的要求传输数据和反馈控制。下位机结构组成如图3所示。
2.2.1 CAN节点
CAN节点器件主要包括:微处理器AT89S52单片机、CAN控制器SJA1000和CAN总线收发器PCA82C250。
(1)CAN控制器SJA1000
SJA1000的工作模式通过其内部的时钟分频寄存器CDR中的CAN模式位来选择。硬件复位时默认模式是BasicCAN工作模式。SJA1000相对于微控制器相当于是一存储映象I/O设备,他的地址域由控制段和信息缓冲区段组成,在向下加载初始化期间,控制器可被编程以设定通信参数,CAN总线上的通信可通过此段由微控制器控制。
SJA1000内部寄存器有的是只能写的,有的是既可读又可写的。系统正常工作之前,微控制器要对某些寄存器进行初始化,以保证系统的各部分之间能进行正确的数据交换。CAN控制器的内容都是通过微控制器写入的,其读写时序如图4所示。
从读/写时序图来看,微控制器对SJA1000进行操作,由于SJA1000内可存储数据的地址信息。现场数据采集与控制层负责从现场采集数据以CAN协议的格式发送到总线上,根据需要对现场设备进行实时控制和监视。系统上电后微处理器先对自身和SJA1000进行初始化,以SJA1000传送到CAN总线上或直接现场显示、控制;对从CAN总线上来的信息则采用中断方式,系统每接收到一帧信息,便产生一次中断,引发微处理机进入中断,在中断服务程序中读取该帧信息并传送到现场。
(2)CAN收发器PCA82C250
PCA82C250为CAN收发器,是CAN控制器和物理总线间的接口,提供对总线的驱动发送能力,CAN控制器的差动发送能力和CAN控制器的差动接收能力。他有很强的抗瞬间干扰和保护总线的能力,具有3种不同的工作模式即高速、斜率控制和待机。总线上的某节点掉电不会影响总线,在40 m内实现高速应用可达1 Mb/s,最多可挂110个节点。管脚8(RS)允许PCA82C250选择3种不同的工作模式,如表1所示。
通过上面的结构框图绘制出了如图5所示的CAN节点具体的电路。
2.2.2 温度检测部分
系统采用由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,该传感器属于新一代适配微处理器的智能温度传感器。DS18B20主要有两种工作方式:寄生电源工作方式和外接电源工作方式。本系统采用外接电源方式(如图6)。
2.2.3 湿度检测部分
湿度检测采用HS1101型湿度传感器,HS1101是HUMIREL公司生产的变容式相对湿度传感器,采用独特的工艺设计。
HS1101测量湿度采用将HS1101置于555振荡电路中,将电容值的变化砖换成电压频率信号,可以直接被微处理器采集。
设计的电路如图7所示。
555芯片外接电阻R20,R19与HS1101,构成对HS1101的充电回路。7端通过芯片内部的晶体管对地短路实现对HS1101的放电回路,并将引脚2,6端相连引入到片内比较器,构成一个多谐波振荡器,其中,R20相对于R19必须非常的小,但决不能低于一个最小值。R18是防止短路的保护电阻。
HS1101作为一个变化的电容器,连接2和6引脚。引脚作为R20的短路引脚。HS1101的等效电容通过R19和R20充电达到上限电压(近似于0.67 VCC,时间记为T1),这时555的引脚3由高电平变为低电平,然后通过R19开始放电,由于R20被7引脚短路接地,所以只放电到触发界线(近似于0.33 VCC,时间记为T2),这时555芯片的引脚3变为高电平。通过不同的两个电阻R19,R20进行传感器的不停充放电,产生方波输出。可以得出:
由此可以看出,空气相对湿度与555芯片输出频率存在一定线性关系。表2给出了典型频率湿度关系(参考点:25℃,相对湿度:55%,输出频率:6.660 kHz)。可以通过微处理器采集555芯片的频率,然后查表即可得出相对湿度值。为了更好提高测量精度,将采用下位机负责采集频率,将频率值送入上位机进行分段处理。
2.2.4 温湿度控制部分
在监控系统中,除了实时检测温度湿度等参数外,还需要对这些参数进行控制。在温度等测量参数超过用户设定值范围时,启动相关控制设备,否则关闭控制设备。系统采用继电器控制通风,除湿等设备的启动,具体电路设计如图8所示,其中J1用于控制通风设备,J2,J3用于控制湿度。
3 系统软件设计
监控系统软件设计分为上位机系统的软件设计和下位机系统的软件设计。
上位机系统的软件包括监控管理部分软件和CAN适配器软件。现场监控管理部分主要利用组态王软件完成仓库的现场测量点模拟,对仓库的现场数据进行采集,并对采集数据进行分析,自动计算仓内的最高、最低和平均温度值,还可计算出每层的最高、最低和平均温度值,完成超限实时报警,同时实现对现场设备进行操作控制。例如启动通风、除湿、喷洒及安全保护装置,报警、切断电源等。并自动生成各种报表和图表,建立和存储仓库的仓储历史档案和打印功能。而远程监控管理部分主要完成仓库状态远程查询,报表打印和远程控制等功能。
对于CAN适配器的软件设计采用Windows环境下的VB语言进行开发,由于Windows的保护,VB无法直接读写并行端口,需要另外的程序模块来实现并行端口的直接读写,使用WINIO模块来解决VB对并口的读写。同时,由于WINIO模块不支持系统中断,还需要利用VB编写线程来查询SJA1000的中断状态。
下位机系统的软件包括CAN节点的软件和温湿度检测控制软件。软件设计采用模块化设计方式。软件中主要程序有SJA1000的初始化,报文的发送程序,报文的接收程序,CAN总线错误处理程序,以及和传感器配合实现现场参数的采集。
4 结 语
该设计在仓库的总体结构设计中,成功引入CAN总线作为通讯网络,其中下位机利用AT89S52单片机和SJA1000完成CAN节点设计,上位机完成了对CAN通讯适配器的设计,采用上位机高级语言VB和EPP协议实现SJA1000的控制,大大地提高了系统内部的速率和实时性,具有处理速度快,成本较低的优点。