在生产酸酐的小型控制现场中,需要对各反应釜的温度和压力进行实时的监测,并使它们保持在规定的误差范围内。由于需要控制的设备较多、相互距离又较远,且现场有较强的工业干扰,因此采用体积小、抗干扰能力强的单片机作为上位机与现场控制器来组成分布式数据采集与控制系统。在该系统中,上位机与现场控制器之间采用通信网络连接,各测控单元独立工作,完成参数的测量与控制;而在主控室内,由主机对各现场测控器的工作状态进行监测,向各分机发送控制命令以及对整个生产过程的数据进行统一的显示、储存等。在本系统中采用主从式RS-485串行通信标准。
1单片机通信网络
RS-485串行总线接口标准以差分平衡方式传播信号,在发送端驱动器将TTL电平信号转换成差分信号输出,在接受端接收器将差分信号还原成TTL信号,这样具有很强的抗共模干扰的能力,同时接收灵敏度也很高;在传输数据速度达100 kb/s时通信距离可达1200 m;允许一对双绞线上一个发送器驱动多个负载设备,设备简单、成本低和维护方便。因此,工业现场控制系统中一般都采用该总线标准进行数据传输。
在该通信系统中,在主机的控制下,通过软件协议,主从机间可互相通信。并且在一个多机通信系统中,只有一台单机作为主机,各台从机间不能相互通信,即使有信息交换也必须通过主机转发。各单片机间通过RS-485总线通信,主机通过点名方式给各从机发送命令,实现对系统的主控权。主机在执行任务的同时要对从机不断地轮询,从而监视从机的状况、接收从机的请求或给从机发送命令。
通信系统总体结构如图1所示。发器芯片为MAX481,使用单片机的一个I/O口(P1.7)控制通信收发器MAX481的工作状态。为了提高系统的抗干扰能力,各通信子系统使用了光电隔离器件6N137。
为了保证正常传输信号干净、无毛刺,在总线末端接一个120Ω的匹配电阻吸收总线上的反射信号。电缆使用双芯屏蔽电缆,屏蔽端连接设备机壳。为了避免干扰,每个设备都应接地。
2主控制器设计
主控制器通过串行通信接口实现对各现场控制器的直接控制,主要用于实现人-机对话功能。由于该系统实时性要求不是很高,为了减少线路板的面积和减少占用单片机的口线,选用体积小、管脚少、可以串行输入/输出的芯片。
主机选用8051单片机。因为主机要完成数据储存,并要求具有掉电保护的功能,所以8051需要扩展外存。串行EEPROM以其体积小、功耗低、价格低廉、高可靠性、连线简单等显著优势,逐渐被用于多功能的对速度要求不太高的智能仪器仪表中。在本系统中,选用24系列的串行EEPROM24C64。因P0口内部没有上拉电阻,故作I/O口使用时外加10 kΩ的上拉电阻。
键盘采用中断扫描工作方式。当有键按下时INT0为低电平,向CPU发中断申请,进入键盘中断服务程序进行按键识别及相应功能程序的执行。采用串行口静态驱动方式,使用74LS164串行输入、并行输出8位移位寄存器作为段选码驱动器,每个数码管使用一片74LS164,把4片串联起来,便构成一个4位的LED显示器。
各串行件都用软件编程实现时钟及数据的传递。
主控制器的硬件电路如图2所示。
3现场控制器设计
每台现场控制器是各自独立的系统,接收(温度或压力)传感器输出的模拟信号,和工艺要求的参数相比较,从而得出该路信号修正量的大小。输出的模拟信号作为电磁阀的输入信号来控制流量(气体或水蒸气)的大小,从而达到对温度或压力的控制。图3是它的硬件电路。
单片机选用20脚的AT89C2051。AT89C2051是美国ATMEL公司生产的一种高性能单片机,价格低廉、与Intel公司生产的MCS 51单片机高度兼容。AT89C2051将多功能8位CPU和2 kB闪烁存储器集成在1块芯片上,对输出口进行了简化,形成了一种仅有20个引脚的单片机,在功能上相当于Intel公司的8031最小应用系统。
具有串行输入输出的A/D转换芯片由于接线简单,传输距离远,在工业测控系统中得到广泛应用。ADC0832是带有串行输入输出8位逐次逼近式模数转换器,它的模数转换过程与数据输出过程都是在外部时钟脉冲的控制下进行的,故模数转换速度比较低,但可以满足本系统的要求。在该系统中将DI固定接高电平,这样由DI端输入的控制字为“111”,这样AD0832的CH1为单端输入工作方式,CH0不工作。
同样,对于D/A转换也使用具有串行输入输出的转换芯片。TCL5615为美国德州仪器公司的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的2倍。带有上电复位功能,上电时把DAC寄存器复位至全零。ADC0832和TCL5615的时钟和数据的传递用软件编程来实现。
4通信软件设计
系统通信软件有主控制器(主机)通信软件和现场控制器(从机)通信软件组成。由于现场控制器还要完成信号的监测和控制,所以为了提高工作效率,在主从机发送和接收过程中,都采用中断控制方式。
4.1主机通信软件设计
主机的通信功能主要包括呼叫各从机,并向各从机发送控制命令。当主机要发送数据时,先调用相应的子程序,完成发送数据前的初始化、参数预置以及和从机接通联系的工作,真正的发送数据安排在中断服务程序中。主程序在调用完后,继续干自己的工作,以后只需检查设定的标志位的状态就可知道数据是否发完。
4.2从机通信软件设计
从机平时对监控对象进行数据的采集和控制,当有串行中断时,执行串行中断服务程序,判别是否为本分机的地址信息,若是本机的地址,转为接收控制命令,并执行相应的操作:若不是本机地址,则退出中断。
通信软件的流程图如图4所示。
5结语
分布式的数据采集系统,由各个从机完成参数测量及控制任务,不但能代替模拟仪表完成常规的过程控制,并且能进行复杂算式运算和顺序控制,在现场对输入、输出数据进行处理,减少了信息传输量,降低了对上级计算机的要求;主机通过数据通道,直接与过程相联结,完成生产计划、管理、决策的最优化,从而实现了整个生产过程的最优化自动控制。对该系统进行进一步的完善和扩展,可以应用于多种集散式控制系统,实现多台分布较远设备的低成本、高可靠
参考文献
1李华.MCS-51系列单片机实用接口技术.北京:北京航空航天大学出版社,1999
2李朝青.PC机及单片机数据通信技术.北京:北京航空航天大学出版社,2001
3曹保根.主从式RS485应用系统的设计与调试.电子技术,2000(2)
4张专成.串行A/D与8031单片机的接口技术.电子技术应用,1998(8)