1 引言
实现现场数据显示的方法较多,有现场PC机、显示屏和数显仪表等等。与PC机、显示屏等相比,数码管显示仪表具有价格低廉的优点,同时也较适应于现场恶劣的生产环境。
我们承担了武钢矿业集团大冶铁矿竖炉球团生产过程自动化改造项目,采用了基于CAN总线的多层DCS控制网络,为了解决一些工段现场的数据显示问题,我们设计了一种基于总线侦听技术的现场智能显示仪表。
2 系统结构
大冶铁矿球团厂造球工段控制系统中,利用研华ADAM-5000系列智能I/O模块实现数据采集和输出功能,共包括3个ADAM-5000机架,分散在现场的3个工序里。3个ADAM-5000系列模块、上位工控机相互之间采取RS485总线连接,组成底层RS485总线网络。在该总线网络内数据通信采用ADAM-5000的通信协议。系统结构图如图1所示。
造球工段现场智能显示仪表的数据来源于对RS485总线上的数据侦听。上位PC机数据传输的工作方式是按照ADAM-5000模块帧格式,将要发送的命令在485总线上发往下位机ADAM-5000各模块。在数据帧中包含应该接收命令
的下位机的正确地址,只有与帧中目标地址一致的下位机才能接收命令帧。总线侦听技术突破了这一限制,它实时地对总线上传输的数据进行动态地把握,它将总线上传输的帧统统接收下来,在从侦听微机的串口侦听到所有通讯数据后,对通讯数据进行分析和破译工作,从而得到需要的数据。
3 现场显示仪表硬件组成
数码管显示仪表的硬件原理图如图2所示,它由AT89C52单片机、数码显示电路和RS485接口电路组成。RS485总线收发器采用了TI出品的SN75176;由于需要显示的数据较多,且现场对数字显示器亮度有较高要求,本方案采用静态显示。为了节约单片机资源,采用了带选通功能的串转并芯片CD4094作为显示驱动器件,这样20多位数码显示只占用了3根单片机I/O线资源,如图3所示。
在现场显示仪表实际工作中,AT89C52单片机首先通过RS485总线收发器SN75176芯片对RS485总线上的数据帧进行接收,接着对数据帧进行分析和选择,得到需要的数据后送往数码管显示。
4 软件实现
由于本系统只需要显示ADAM-5000采集的部分模拟输入数据,故下面只介绍ADAM-5000系列中AI模块的帧格式。它分为命令帧和响应帧两种。
ADAM-5000命令帧格式如表1所示。
命令帧第一个字节为起始符,有$和#两种形式。以$开头的可获取版本信息、校正AI模块等;以#开头的用来读取5017通道值,是我们要用到的命令形式;地址范围是00~FF;槽号i取值范围为0~7;其它,在起始符为$时,有9种形式,这里不予介绍。在起始符为#时,有2种形式,一种为空,命令内容为读取i号槽模块全部通道值;另一种为通道值j,命令内容为读取i号槽模块第j号通道值。
ADAM-5000的响应帧格式如表2所示。对于起始符为#的命令帧,有两种响应帧格式。
起始符为>,表示模块收到的命令有效。其后为全部通道值或某一通道值,随命令帧格式而定;起始符为?,表示5017收到的命令无效。其后地址与收到命令帧的地址相同。
侦听软件的关键在于接收总线上的数据帧,主要分为对命令帧的分析和对响应帧的解析两部分。在PC机与ADAM-5000通讯时,显示仪表不断侦听总线上传输的数据帧,判断是命令帧后,将接收完整的帧地址与要显示参数的帧地址相比较,相符则继续侦听ADAM-5000的响应帧,将其中数据信息分离出来,送数码管显示;不相符则不采取任何动作,等待下一个命令帧的到来。
通讯软件采用C51语言编制,其中中断子程序流程图如图4所示。
5 结束语
本文中设计的基于RS485总线侦听技术的现场智能显示仪表,应用在大冶铁矿竖炉球团厂的造球工段中,确实地解决了其工段现场的数据显示问题,且价格低廉,通用性好,能在其它系统中得到应用。这种总线侦听技术同样适于CAN总线等其它现场总线。