嵌入式人造湿法制革监控系统的设计与实现
2010-06-13孙媛,郭键
孙 媛,郭 键
(北京物资学院,北京101149)
1 引言
湿法聚氨酯合成革是天然皮革的最佳替代品,它是将聚氨酯、树脂的DMF(耳甲基甲酰胺)溶液添加各种助剂,制成浆料,浸渍或涂覆于基材上,然后放入与DMF具有亲和性,而与聚氨酯、树脂不亲和性的水中,DMF被水置换,聚氨酯树脂逐渐凝固,从而形成多孔性的薄膜(微孔聚氨酯粒面)。该薄膜被称为贝斯(Bass),薄膜经表面处理装饰后,如离型纸法工艺贴膜制成不同种类,风格各异的聚氨酯合成革。温湿度及DMF浓度的控制,影响着产品质量,在整个生产过程中需要实时监控,然而如果用人工直接检测,接触或吸入DMF溶剂对人体的肝脏造成急慢性损害,为了减少DMF溶剂会对人体的伤害,提高产品的温湿度和DMF监测精度,在设备改造的基础上引入微机进行自动控制,整个控制由基于AT89C52单片机采集器与控制中心的PC机组成监控网络系统,各采集器完成温湿度和DMF浓度的采集,数据的存储、调整、显示、上传和接收等,从而完成整个生产过程的智能控制,实现远程监控和维护,远离DMF对人体的伤害,提高产品质量。
2 系统总体结构
湿法聚氨酯合成革工艺加工设备有制浆设备、含浸槽、凝固槽、水洗槽、烘箱、冷却、卷取装置、DMF回收装置等,在整个生产工艺中,在重要的环节安装采集器,各采集器位置如图1所示。
将各采集器作为监控网络的节点,与PC主机组成基于RS485的网络系统。标准RS-485作为一种多点、差分数据传输的电气规范现已成为业界应用最为广泛的标准通信接口之一。这种通信接口允许在简单的一对双绞线上进行多点、双向通信,它所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。但是计算机本身不具有专用的RS-485通信口。由于RS-485与RS-232的工作电平不相同,工作方式与控制机理也有差别,利用现成的串口来实现RS-485通信时,还需要对硬件与软件进行相应的设计。在串口采用了RS-232/RS485转换卡,在温度采集器中将MAX487与AT89C52单片机串行接口的TXD(发送)与RXD(接收)相连,可将TTL电压转换成RS485差分电压与PC微机MAX485连接,完成了硬件的电平转换功能。由此可见,接口转换器在单片机和PC机之间起桥梁作用,在硬件上是实现通信的关键所在,系统结构如图2所示。
图1 湿法生产线自动控制采集点
图2 系统总体结构
3 节点采集器
3.1 节点采集器硬件结构
安装在每个采集点的结构是一样的,其原理图如图3所示,主要由温湿度和DMF浓度检测两组信号输入、通信接口电路、键盘、LCD显示器、E2PROM 24C16等组成。
图3 节点采集器结构
(1)本系统中DMF浓度检测是脉冲表,单片机直接对脉冲表的脉冲输出信号进行采集。温湿度传感器通过差分A/D转换为数字信号输入单片机。
(2)采用虚拟串行总线技术,用单片机I/O口线扩展了串行接口器件LCD液晶显示器和8K E2PROM 24C16。LCD用来显示表数据以及显示发布的短信息等,所采用的液晶显示模块,内置显示RAM和驱动控制器,通过串行方法与单片机AT89C52相连。用24C16来存放有关的初始化信息、温湿度和DMF浓度等信息。
(3)通过单片机的P0口线串行扩展了简易键盘,实现人机交互。键盘为4×4结构,其中有功能键和数字键,采用层次结构管理键盘。
(4)通过MAX487完成单片机与RS-485总线连接。
3.2 采集器工作过程
采集器工作过程如下:上电复位自检后,开始运行,指示灯闪烁表示程序开始正常运行,初始化LCD、温湿度传感器、DMF浓度、密码、键盘、串口。然后进入主程序循环,首先记录温湿度,DMF脉冲表数据,然后将上述两种数据存入24C16中,查询键盘,通过串口响应PC机通信命令与主控PC机之间进行数据传输。采集报警(温湿度、DMF超过警戒线)相关情况,有警情发出告警信号。记录温湿度、DMF的数据,并且显示表读数。设置密码,修改密码。与PC机之间接收和发送数据。修改本机地址等。
3.3 采集器的容错与数据安全
采用MAX706作为系统看门狗电路可有效的防止程序跑飞。经过分析,整个程序运行的时间周期为22.5ms,恰好解决了键盘和传感器触点抖动的问题。
但是当系统掉电时并不能保证24C16中的数据安全,这是单片机系统最头痛的问题。读写24C16的时间大约是600us,占整个程序运行时间的3%左右。假设恰好在读写24C16的时候系统掉电,则数据的安全将不能保证。经过对24C16功能的仔细研究最终找到了可行的办法。初始化时,将相同的数据分别存入到24C16的3页存储区同一地址中,以后每次写操作时都分别向这3页写入相同的数据。而读操作时,将3页的数据分别读到RAM区,进行比较。由于系统掉电时只可能影响到其中1页数据。将3个数据比较,如果三者相同,说明数据是安全的。否则启动校正程序,将两个相同的数据拷贝到不同的那一页。这种自我修复功能十分有效。
4 PC机与节点采集器的多机通信控制
4.1 通信原理
PC机与节点采集器(AT89C52单片机)的串行通信程序由两部分组成:一部分是PC机的通信程序,另一部分是单片机的通信程序。这两部分虽然在不同的机器上编写和运行,但它们要做的工作是对应的。一个发送时,另一个一定接收;反之,一个接收时,另一个一定发送,而且对应发送和接收的字符都相等,否则失去通信的意义。因此,为了保证数据通信的可靠性,要制定通信协议,然后各自根据协议分别编制程序。
在PC机与多采集器(AT89C52单片机)通信时,为了识别不同的采集器,一定要识别数据帧和地址帧,PC机和多单片机之间才能进行正确的通信。但PC机的串行通信没有这一功能,其串行口发送的数据可设为与单片机串行格式匹配的11位格式,其中第9位是奇偶位。这11位数据帧由1位起始位、8位数据位、1位奇偶校验位和1位停止位组成,其格式为:
其中,TB8是可编程位,通过使其为0或为1而将数据和地址帧区别开来。
起始位 D0 D1 D2 D3 D4 D5 D6 D7奇偶位 停止位
而AT89C52单片机多机通信的典型数据帧格式为:
起始位 D0 D1 D2 D3 D4 D5 D6 D7 TB8停止位
比较上面两种数据格式可知:它们的数据位长度相同,不同的仅在于奇偶校验位和TB8。如果通过软件的方法可以编程PC机的串口通信的奇偶校验位,使得在发送地址时为“1”,发送数据时为“0”,则PC机的串行口通信的奇偶校验位就可以完全模拟单片机多机通信的TB8位。对于这一点是不难办到的,可以用软件来实现,在本系统中PC机是用VB的通信控件MSComm的Settings属性实现的。
4.2 PC机通信软件设计
PC主机与各采集器的通信方式采用轮询模式,轮询模式是在以一个设备为主机(PC主机)而其他设备为从机(采集器)的拓扑结构中采用的。多点系统必须在多个站点,而不是仅仅两个之间进行协调,因此在这种情况下,要确定哪一个站点有权使用信道。一般认为,VB6.0的通信控件MSComm只能实现双机通信,而无法实现对分布式采集器节点机群的控制,因此在PC机允许的串行通信帧格式中利用奇偶校验来模拟产生多机系统中必须的地址/数据使能位,才能实现对分布式采集器群的控制。通过对VB6.0环境下的串行通信控件MSComm属性以及串行信息帧格式的深入研究,提出了直接利用串行通信控件MSComm的有关属性,保证串行通信帧的奇偶位随传送地址或数据的变化而动态变化。可通过动态设定MSComm控件的Settings属性中的奇偶方式P值,以串行通信帧中奇偶位的变化来模拟多机通信时地址/数据使能位,当发送地址帧时保证奇偶校验位为“1”,发送数据帧时保证奇偶校验位为“0”。
其属性设置为:
(1)MSComm1.Settings=“9600,m,8,1”‘波特率9600bps,MARK状态(地址使能位),8位数据位,1位停止位
(2)MSComm1.Settings=“9600,s,8,1”‘波特率9600bps,SPACE状态(数据使能位),8位数据位,1位停止位
(3)InBufferCount:传回在接收寄存器中的字符,InBufferCount属性设为0,用来清除寄存器。
(4)InputMode:设置或传回Input属性取回数据的形式。
ComInputModeText:0以文字形式取回
ComInputModeBinary:1以二进制形式取回
发送数据过程:
发送端口号 → 发送从机地址 → 发送命令及数据 → 等待 → 接收从机回应 → 判断地址 → 完成
接收数据过程:
发送端口号→发送从机地址→发送命令→等待→接收从机地址及数据→判断地址→判断校验和→完成
4.3 节点采集器通信软件设计
节点采集器采用的是AT89C52单片机,用汇编语言编程,多采集器与主机之间的通信,通过串行口中断来实现。采集器有很多个,采用单片机的多机通信来实现,主要靠主从机之间正确地设置与判断单片机的多机通信控制位SM2和发送接收第9位(地址/数据识别位)来进行。
采用串行口工作方式3的多机通信方式,首先给各从机定义地址编号,主机用此地址识别从机。初始化时置所有从机SM2位为1,使之都处于监听状态。当主机发送一地址帧时,所有从机接收地址帧,与本机地址比较,地址不符维持SM2=1的监听状态。地址相符时置SM2=0,转入接收主机发送的命令,然后再根据该命令类别进行数据的接收或者发送,从而实现主机与被巡从机之间通信,通信完毕SM2=1,恢复监听状态。
采集器单片机串口通信初始化:
(1)串行数据的传送采用串行口中断。中断允许寄存器IE,中断允许,开串口。
(2)串行口控制寄存器SCON为方式3,允许接收。
(3)定时器T1作波特率发生器使用,定时器选用自动重装载方式,即方式2。TL1作计数用,自动重装载值放在TH1内。定时器初始值为:
(4)初始化时串行口处于接收状态,将MAX487的发送接收使能端设为接收状态。
(5)启动定时器。
多机通信的从机中断服务程序如图4所示。
图4 采集器多机通信从机中断服务程序
在没有收到PC机发送的命令之前,所有的采集器都处于监听状态,即接收地址帧状态(SM2=1),对应的PC机是发送地址帧状态(MARK状态),当接收到的地址与本采集器地址相符时,只有本采集器进入接收数据帧状态(SM2=0),相应的PC进入发送或接收数据帧状态(SPACE状态),控制其开始接收命令,命令又分为两大部分,有发送命令和接收命令两大类:①若是发送命令,将采集器的地址回发给PC机,然后根据命令发送给PC机相应的数据;②若是接收命令,同样也将本采集的地址回发给PC机,然后接收PC机发给本采集器的数据,处理完数据之后,例如检验和校验之后,将数据存入24C16中,以备采集器中相应的程序调用。
本采集器完成与PC机的数据交互之后,恢复监听状态(SM2=1),与其他采集器一样等待PC机的巡检。
5 结束语
制革行业污染严重,制革使用的溶剂对人体有伤害,因此为了减少环境污染和对人体的伤害,最好采取密闭生产的方式。我国制革企业一般都是规模小的民营企业,设备大多数是日本进口,也有部分是台湾大陆制造的,由于这些企业资金有限,很多时候明知污染严重,还需要人工直接接触,监控生产。基于以上情况本系统在原有的设备基础上,用较少的资金,进行设备改造,力求生产线在中控室集中控制,达到密闭自动生产的目的,选择RS-485总线方式作为测控系统的网络结构,降低了系统复杂性,减少了成本,采用AT89C52单片机作为采样节点的微处理机,能够完成对采样点数据的控制。该设计方法已经成功调试,并运行良好,实现了高精度、可靠性强,并有效地降低了成本,对类似的数据采集有借鉴作用。
[1]赵建领.51单片机开发与应用技术详解[M].北京:电子工业出版社,2009.
[2]李朝青.单片机原理及串行外设接口技术[M].北京:北京航空航天大学出版社,2008.
[3]沈文斌.嵌入式硬件系统设计与开发实例详解[M].北京:电子工业出版社,2005.
[4]刘乐善.微型计算机接口技术及应用[M].武汉:华中科技大学出版社,2004.
[5]Behrouz Forouzan.数据通信与网络[M].北京:机械工业出版社,2001.
[6]范逸之.利用VB实现串并行通信技术[M].北京:清华大学出版社,2000.