本文采用亚当模块的协议,实现了
组态王与多MSP430单片机的直接通信。该方法简单、经济、数据传输稳定,并在实际设计的监控系统中获得了成功运用。
1 引言
目前组态王与单片机的通信多是通过动态数据交换或自己开发通讯驱动程序的方式进行的[1]。动态数据交换(DDE)是Windows平台上一个完整的通讯协议,通过DDE使应用程序之间彼此能交换数据和发送指令。但使用DDE会带来一些额外的开销,如会降低系统实时性、增加系统的不可靠性,特别在多参数传送时不太稳定,易出现数据丢失现象。而自己开发通讯驱动程序又有一定的难度,且开发周期较长。最近,在为九江石化燃运输煤皮带监控系统的设计中,基于MSP430单片机的智能仪表作为下位机,研华公司的工控机作为上位机,采用ADAM-5000的协议,实现了数据的实时采集、处理和显示。
2 系统结构
燃运皮带监控系统整体结构如图1所示。现场的各种传感器将测得的电压、电流、速度信号通过自制的智能仪表传送给上位机,在组态界面上实时显示和监控皮带的运行状况;外部状态输入是通过智能仪表检测电机接触器辅助触点的状态,当信号是闭合状态时系统的报警保护才起作用,否则当检测到是开路信号时,采样值超出范围不报警,继电器不动作;故障输出是指电机一旦过流或皮带堵煤、皮带停转、柱销断裂等故障时候,智能仪表发出脉冲信号送给PLC传送至1-15#牵引电机接触器和报警指示灯,从而切断对应的接触器,停止相应的电机,同时发出相应的声光报警信号。
图1 燃运输煤皮带监控系统整体结构框图
ADAM5000/485系列采用EIA RS485通讯协议,该协议遵循命令/响应的通讯方式[3]。通讯过程中主局保持主动权,主局通过对子局的呼叫建立通讯连接。并通过向子局发送命令帧来控制数据传送的方向及内容,子局只能响应主局对自己的呼叫和根据帧的内容进行相应的数据传输。ADAM模块的RS485口与计算机通讯的方式为串行异步半双工方式,支持ASCII码传输方式。ADAM-5000系列中AI模块的帧格式如表1所示。
表1 ADAM-5017命令帧格式
命令帧的第一个字节为起始符,有$和#两种形式。以$开头的可获取版本信息、校正AI模块等;以#开头的用来读取ADAM-5017通道值,是我们要用到的命令形式;地址范围是00-FF;槽号i取值范围为0-7;其它,在定界符为$时,有9种形式,这里不再介绍。在定界符为#时,有2种形式,一种为空,命令内容为读取i号槽模块全部通道值;另一种为通道值j,命令内容为读取i号槽模块第j号通道值。ADAM-5000的响应帧格式如表2所示。对于定界符为#的命令帧,有两种响应帧格式。
表2 ADAM-5017响应帧格式
一周热门 更多>