- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
32通道开关信号采集系统的设计与实现
摘要:针对现代工业控制系统中开关量控制的问题,提出通过上位机与控制板的通讯来实现对开关量控制的方法,以STC89C51单片机为核心,设计了一种带有RS485通讯接口的多路开关量控制板,实现了开关量信号采集、控制、显示、判断及执行相应操作功能。
关键词:开关量;RS485;STC89C51;控制模块
在现代工业控制系统中,各级设备的启动、停止,对整个系统的运行状况有着一定的影响,对这些装置开关量信号的采集、动作时序的记录也显得尤为重要。因此有必要设计一种开关量信号采集卡,来对这些信号进行采集,以便对设备运行状态、生产事故的检测和分析及查询提供依据。本文介绍的32通道开关信号采集卡采用增强型STC89C51单片机为核心,可对32路开关量输入信号进行采集,对开关量的跳变波形及发生时间进行实时测量,并将数据上传至上位机历史数据库。同时,可通过与上位机软件的配合对历史数据进行查询,以分析系统运行情况。
采集卡留有UART通讯接口,与控制器联网,将采集的数据输送到控制器处理后,冉发送到工作站显示状态,并同时记录事件发生的时间和状态,将记录的数据存入工作站历史数据库。
1 信号采集卡总体设计
采集卡在卡件主面板上以32通道LED灯指示通道信号状态,同时在通道与通道之间、通道与底板之间进行隔离,并实现了与现场的电磁屏蔽,以保证测量到的信号不受干扰。采集卡模块指标如表1所示。
同时,采集卡通过UART通讯接口,通讯物理层使用RS-485总线驱动芯片SN65LBC184,通讯协议采用modbus协议,与控制器联网,将所采集的数据发送到控制器中。
2 采集卡硬件设计
32通道开关量信号采集卡硬件电路由信号采集电路、单片机系统、通讯接口电路、外接引脚、人机接口五部分组成,其硬件电路结构示意图如图1所示。
[p]
2.1 开关量信号采集电路
开关量信号采集电路是实现将现场的各路开关量信号采集送入处理芯片内,实际设计中采用增强型STC89C51单片机。现场32路开关量信号接入卡件测量端子,由于考虑到现场信号的波动和干扰,为了保证系统稳定、可靠运行,防止各类现场及电源干扰对系统的影响,通道中采用了光电耦合器,将卡件内部与现场输入信号进行隔离,从而实现信号的准确测量。实际设计中,采用了TLP521—4型光电耦合器,卡件测量通路的结构框图如图2所示。经过光电耦合器隔离转化后的信号,通过双向总线驱动器与处理芯片的数据总线相连接,将数据送入处理芯片STC89C51中进行处理。
2.2 RS-485通讯电路
RS-485通讯电路的主要作用是将开关量输入数据上传给上位机,从上位机接收开关量输出数据,并和上位机保持实时通信。单片机串口信号TXD和RXD以及控制信号P4.2与SN65ALS176D连接。SN65ALS176D是SN5176行业标准范围内的差分数据线收发器。采用这类电路可提供可靠的低成本的直连(不带绝缘变压器)数据线接口,不需要任何外部元件,就可以完成将RS-485总线标准信号发送到Modbus网络中。
2.3 单片机系统
处理芯片选用增强型STC289C51,具有超强抗干扰能力,可抵抗4 kV快速脉冲干扰(EFT),抗静电能力强,超宽工作电压范围可达5.5~3.4 V(5 V单片机)。而且,内部电源供电系统经过特殊处理,大大的降低了电源带来的外部干扰。片上集成大容量的RAM (1280)个字节。趟低功耗,Power Down0.1μA,可外部中断唤醒,中断优先级可设置成4级(IP,IPH,并增加2个外部中断,Int2/P4.3,Int3/P4.2),还集成了8位A/D转换器。STC89C51的较小的封装和极低的功耗使其可理想地用于小型系统中,如访问、控制。同时,由于在系统运行中各种干扰等因素的影响,往往会引起程序运行出现死循环后跑飞现象,系统中还采用了内部的watchdog电路。
2.4 通讯接口电路
为了使测量卡件能够有效的将采集到的数据发送给控制器,卡件设计了UART串口电路。通过串口,卡件可根据上位机的操作命令,完成有关的数据传送、参数渊整和时钟校对等任务。卡件采用RS-485通讯,它是专为串行通讯模式设计的,输出端还接有稳压管保护电路,接口电路如图3所示。卡件模块及其外接电路引脚卡件通过专用引脚与卡件底板相连接,以传输采集到的信号。
2.5 人机接口
卡件采用串口通讯与控制器通讯,再将测量的信号上传到上位机,由上位机的组态画面显示,人机界面友好,数据可用于系统组态、历史数据查询等操作,同时可以实现过程控制SOE查询,通过与其配套使用的SOE软件,可实现去除抖动、削峰、削谷等功能,实现了SOE事故追忆和查询,其精度可达到1 ms级。
2.6 扩展接口
卡件带有扩展接口,可以扩展为64通道开光量信号采集卡或者32通道开关量信号采集和16通道开关量控制卡。
3 采集卡软件设计
卡件软件设计采用模块化结构。全部软件包括主程序、中断服务子程序等。其中主程序用来巡回检测和执行上位机送来的命令。中断服务子程序分为溢出中断子程序和串行口中断子程序,前者用于开关量跳变信号的采集,后者用于接收上位机发来的数据。[p]
3.1 主程序
卡件上电后,进入主程序,流程图如图4所示。首先判断卡件是否为上电复位,如果不是上电复位,则通过死机恢复处理后直接进入巡回检测阶段:如果是上电复位,则先进行卡件自检及初始化,包括设置堆栈指针,清内存,设置时间常数等,然后允许中断,进入正常的巡回处理程序。可以通过参数设置,改变开关量跳变时间、状态采集等功能。如果在主程序中检测到程序中定义的接收数据标志位置位,表明单片机已接收到上位机发出的数据,接收数据过程由串行口中断子程序来完成。根据上位机的数据,测量卡件作出相应的响应,或回送数据,或参数设置。
基于如上所示的超级循环结构的系统既可靠又安全。并且总体结构很简单,易于理解。
3.2 初始化子程序
单片机初始化程序的作用是将单片机初始化到一个已知状态,并且使串口处于接收状态,为进入工作循环做好准备。系统上电复位后,单片机会立即调用初始化子程序,初始化子程序代码包括:
◇初始化单片机内部寄存器、定时器T0和串口并且开中断;
◇初始化单片机内部看门狗奇存器;
◇初始化温度传感器LM73;
◇单片机串口波特率设置,以及将串口设置为接收状态。
◇读取单片机在Modbus总线中的器件地址。
3.3 中断服务子程序
信号采集服务子程序主要完成发生动作的开关量信号的采集,由溢出中断来实现,每0.5 ms中断一次。实现对开关信号的周期采集,为信号的通讯提供准备。
3.4 通讯子程序
通讯服务子程序主要指的是对上位机数据的接收子程序,由串行口中断来实现。而发送回上位机的数据大多为开关量记录信息,数据量较大,主要在主程序中完成。同时,可以设置通讯时波特率的大小,此项在卡件参数设置中可实现。
4 仿真与测试
系统的上位机软件设计用的是太力信息产业有限公司的组态软件EpSynall。EPSynall系统是一个全歼放的电力自动化系统开发平台,它拥有稳定可靠、快速高效、扩展性强、兼容性好的电力专业SCADA功能,可作为各种电力应用的基本SCADA平台使用。
5 结束语
开关虽控制板带有RS485接口,可以方便地接入到RS485网络中,上位机通过与其通讯来实现对开关量输出的控制,与传统的开关量控制方式相比较可有效提高控制系统的自动化程度,拥有较好的扩展性,可将多块控制板接入到同一个控制网络中从而达到扩展更多路开关最输出的目的。且通过改变上位机及控制板程序便可实现不同的控制方法,从而适用于不同的控制场合。目前该卡件已投入使用。各项性能指标皆达到原设计要求,运行可靠,状况良好,可广泛适用于化工、冶金、电力等行业工业过程中,实现开关量的采集,事故追忆等功能。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...
天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...
上一篇:脉搏信号调理电路的设计
下一篇:基于极点配置的400
Hz
逆变电源系统设计