固定货柜库位状态信息采集系统的设计

2016-10-21 01:35段晓曼
电子技术与软件工程 2016年5期

段晓曼

摘 要 本文针对固定货柜库位状态采集问题,开发出以AVR为控制核心的状态采集系统,以实现对文件柜状态的实时采集和监控。本系统具有结构简单,稳定性高,成本较低的特点。本系统包括库位状态采集、数据传送、ModBus通信等各部分组成。

【关键词】AVR 状态检测 ModBus通信

随着信息社会的发展,信息资料的存储呈现出多量化、密集化的发展趋势,信息管理的高效性和实时性越来越引起人们的关注。本发明涉及一种多点状态检测技术,ModBus通讯技术等,设备用于政府工作部门、企事业单位、档案馆等机构的档案管理室和固定库位的小型库房。

1 研究背景

现有产品的状态采集技术多用传感器采集模块直接将数据送入单片机中,在数据档案多量化密集化的今天,这种已经很难满足档案管理的需求。传统产品使用的单片机多为STC52单片机,其通讯速率已经很难完成大量档案柜的实时监测功能。

2 系统总体设计

本系统使用红外传感器检测密集文件柜的状态,利用AVR单片机完成对文件柜状态的采集,然后通过RS485总线实现数据传送,对单一文件柜而言,有档案放置时,相应LED指示灯为绿色;无档案放置时,相应LED为红色。每个文件柜都会根据文件的不同进行命名,并在上位机标明。这样不仅可以在监控室远程查看文件柜的信息,而且可以在现场直接判断文件柜的状态,方便快捷实现文件的管理。

3 系统的硬件设计

3.1 最小系统板的设计

Atmega128是一款高性能、低功耗的新型单片机,具有53个可编程I/O端口,4KB片内SRAM,128KB片内可编程Flash,并内置多种串行通信接口,具有高速的反应速度,丰富的内部资源等特点。最高数速率达1MIPS/M h,能有效减缓系统功耗和处理速度之间的矛盾。满足该系统的设计要求。

3.2 采集电路的设计

本系统设计出矩阵扫描式采集电路,解决了传统设计因状态变量过多而导致的“硬件设计难”的问题。传统设计直接将文件柜的状态输入单片机IO口,一片单片机很难满足大量文件柜的采集,本产品设计矩阵扫描式采集电路,只需16位输入和16位输出共32个IO口就能对256个状态进行采集。

3.3 光电隔离电路设计

在实际工程当中,由于所处的环境的不同,干扰对于系统的影响也有很大的差别。在距离工厂、学校等较近的地方,噪音可能会对系统的准确性产生较大干扰,使单片机采集的数据与实际产生较大差异,甚至会影响单片机系统工作的稳定性。

针对上诉问题本系统在16路io输出端和16路io输入端的每一路都使用光电耦合器进行光电隔离,将外电路与单片机电路彻底隔离,使外电路的干扰在进入单片机之前彻底消除,提高了采集数据的准确性。同时,在io输出端的光耦后增加了一个s8550三极管,有效地提高了电路输出端的驱动能力。

4 系统的软件设计

4.1 单片机主程序设计

AVR单片机上电工作以后首先进行设备的初始化,包括端口初始化、波特率设置、串口初始化、开启接收中断等工作。接着进行循环式扫描,每扫描一行将采集数据按照字节的方式存在SRAM区。直到完成对16行的扫描后,进入协议解析函数。然后在解析函数中会完成主机命令的解析、从机命令的回应、上传采集数据等工作。

4.2 ModBus通信协议

ModBus通讯协议分为RTU协议和ASCII协议,本次设计采用ModBus RTU通讯协议。下面就ModBus RTU协议简要介绍如下:

4.2.1 通讯协议

4.2.2 通讯传送方式

通讯传送分为独立的信息头,和发送的编码数据。地址码:地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。功能码:通讯传送的第二个字节。ModBus通讯规约定义功能号为1到127。本仪表只利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。CRC码:二字节的错误检测码。

4.2.3 通讯规约

当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。如果出错就不发送任何信息。

地址码:地址码是信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。

数据区:数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器的起始地址及读取长度。

5 上位机软件的设计

为了使工作人员在监控界面上直观的查看到各个柜子的状态,上位机采用友好的人机交互界面,本设计中使用KingView对监控界面进行设计。为提高监测系统的可视化程度,监控界面由主界面和16个子界面组成:将256个文件柜进行编号,分成16组,每组有16个文件柜。主界面有16组子界面图标构成,在每个子界面中,文件柜状态由指示灯颜色显示,红色表示有文件,绿色表示无文件。

6 结束语

本文立足于档案馆文件管理实际,自主设计了对大量文件柜的状态采集、数据传输以及实时显示的监测系统,创造性的设计了大量开关量的矩阵式电路采集方式,实现了对密集文件柜的智能化、可视化管理,可广泛应用于档案馆、图书馆、公司资料存储室等场所,具有一定的市场推广潜力。

参考文献

[1]嚴雨,廉洁.AVR单片机C语言应用100例[M].北京:电子工业出版社,2012.

[2]胡汉才.高档AVR单片机原理及应用[M].北京:清华大学出版社,2008.

作者单位

中南民族大学 湖北省武汉市 430074