首页 > 范文大全 > 正文

一种智能数据采集模块的设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种智能数据采集模块的设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:介绍了一种用于计算机控制系统中的智能数据采集和控制模块设计,该模块能够采集8路1~5V或4~20mA的工业标准信号,同时能够控制8路开关量输出,模块采用Modbus现场总线协议与上位机通信。

关键词:计算机控制;数据采集;模块;现场总线

中图分类号:TP18文献标识码:A文章编号:1009-3044(2008)22-770-02

The Design of an Intelligent Data Acquisition Module

TANG Kai-wei1,HU Rong2

(1.Zhuhai Branch of South Communication Building Co., Ltd. Zhuhai 519000,China;2.Zhongyuan University of Technology,Zhengzhou 450007,China)

Abstract:The design of an intelligent data acquisition and control module which is used for the computer control system is introduced.The module has 8 channels to input 1~5V or 4~20mA industry standard signal and 8 channels for digital signal output.The module communicates with the main computer by means of Modbus protocol.

Key words: computer control; data acquisition; module; Fieldbus

1 引言

在目前的各种计算机控制系统中,普遍采用PLC和各种智能模块作为它的底层采集和控制设备。各类智能模块以其种类繁多、配置齐全、支持现场总线、系统容易升级扩展、功能齐全、可靠性高等优点而被广泛采用。

这里设计的数据采集和控制模块是一种支持Modbus现场总线协议,可以做模块级组态的智能模块。这个模块的功能配置齐全、使用灵活,具有应用广泛和性能价格比高等特点。它具有8路AI和8路DO。AI支持1~5V或4~20mA 的工业标准信号输入,分辨率为14位。DO为常开继电器触点输出。通过模块组态软件,能够设定任一路AI的输入信号为电压或者电流,不需要硬件跳线。同时,通过组态软件还可以设置8路DO的功能,可以把它们任何一路配置成手动或者自动输出。所谓手动功能就是它们直接受主机控制,自动功能就是把它们配置给8路AI做报警或控制输出,能够配置成单限或者双限控制输出。本模块与同类其他功能模块一起可以灵活组成各种计算机检测控制系统。

Modbus协议是美国Modbus公司推出的开放式现场总线通信协议,由于其功能比较完善、使用简单、协议开放而得到众多仪表厂商的支持,已成为事实上的工业级标准,目前大多数智能仪表都支持该协议以向用户提供通信接口。

2 Modbus 通信协议

Modbus协议采用主从工作方式,允许一台主机和多台从机通信,每台从机地址由用户设定,地址范围为1~255。通信采用命令/应答方式,每一种命令帧都对应一个应答帧。命令帧由主机发出,所有从机都将收到报文,但只有被寻址的从机才会相应命令返回相应的应签帧。如果报文中寻址地址为0则视为全局广播,所有主机把它当一条命令执行不返回应答帧。

2.1 传输模式

标准Modbus协议有两种通信模式: ASCII和RTU(remote terminal unit)。当以RTU模式进行通信时,数据以8位二进制方式编码。这种模式的优点是在同等波特率下比ASCII 模式传输的信息要多,因此该模式普遍应用于智能仪表。ASCII模式采用ASCII编码,表达同样信息时需要更多的字节,但表示方便,可读性好,用于需要打印或是直接显示的场合。读性好,用于需要打印或是直接显示的场合。

2.2 报文帧格式

依据Modbus通信协议的要求,帧格式由从机地址、功能码、数据段和校验码组成,格式如表1所示:

表1 帧格式组成

从机地址是一帧数据序列的第一字节,表示要接受信息的从机地址,每个从机被分配一个唯一的地址,只有已被分配地址的从机才会响应与其地址相应的数据信息。若主机以0作为地址向从机发送数据,则表示广播命令,网络上每个从机都响应,但不回送响应帧。功能码字段通知从机应执行何种功能。Modbus功能码是专门设计应用于Modbus工业通信系统中的可编程控制器。通信协议规定功能码为1~127,从机返回的应答帧中含有相同的功能码,如01读取线圈状态,03读取保持寄存器,05强置单线圈等等。

3 硬件设计

所设计的数据采集模块在硬件上大体分为AI、CPU、DO、通信和电源等共5个部分。

图1所示为AI部分原理图。它由8路输入VPI切换电路、模拟开关和APD转换器组成。图中只画出了第一路信号的VPI切换电路。VPI切换电路由P2口控制8个MOS管IRF540构成的电子开关组成,当信号为1~5V电压输入时,低电平开关关闭,当信号为4~20mA输入时,开关打开,通过250Ω精密电阻采样。需要指出的是,模块在出厂前需要对电压和电流信号分别进行量程校准,校准后的参数存入X25045供正常运行时使用。考虑到输入信号,有可能因为意外因素超出正常范围,模拟开关选择了DG508,它具有过压自保护功能和低漏电的特性。APD转换器选择的是典型的四位半双积分型APD转换器ICL7135 ,它稳定性好,价格低廉,可以获得14位的转换精度,转换速率为12SPs,能够保证对8路信号的整体采样周期小于1S。对它的接口设计具有一定技巧,这里没有采用常规的直接读取输出转换码的接口方式,而是利用它自身提供积分过程指示输出的特点,使用指示信号BUSY做计数器门控的方法,对时钟进行串行计数来获得转换结果。这种方法的软硬件设计非常简洁。

图1 AI 输入部分原理图

3.2 CPU 部分

系统的控制CPU选择了Philips的51兼容产品P8951RD2,主要考虑它具有较高的运行速度、64KB 的Flash、内置1KB 的附加RAM、全双工串行口等特点,这些特点使它能够胜任本设计所要求的工作,能够构成简洁的单片系统。同时还为它配置了一片X25045作为电源监控和看门狗, X25045芯片还提供了512B的E2PROM,能够存储系统需要掉电保护的参数,包括本机站号、波特率、模拟输入校准参数、输入信号类型、DO配置等。

3.3 DO部分

DO输出部分由P0口启动8个PNP三极管9012控制8个5V继电器,选择了低电平控制有效,主要是为了保证系统上电和正常停电退出的时候不会产生继电器的误动作,避免影响系统正常运行。为防止继电器在吸合和关断时产生反压和干扰,电路中采用了二极管和电容进行保护。

3.4 通信部分

如图2,系统的通信部分采用了隔离的RS2485通信方式,它提供了对Modbus的硬件支持。为适应工业场合的恶劣环境,485芯片选择了TI公司新型抗雷击的75LBC184芯片。光隔离芯片则选择了高速的6N137芯片,它能够充分保障通信速率最高达到115.2 kbPs。电路中还设置了一个通信状态指示LED,用来给用户指示模块的通信状态。

4 软件设计

软件选择使用Keil C51编写,程序的设计是和硬件相关联的,实际上在硬件的构思当中就已经为软件的设计划分好了具体结构并且分配好了任务,具体的工作分配如下:串口设置为工作方式1,开中断,用来接收上位机数据和发送本机的应答数据;T1设置为定时方式,工作在方式1,由串口控制开中断检测上位机的数据流结束时刻并完成数据收发任务;T2设置为波特率发生器;T0设置成门控计数方式,对APD转换的积分过程进行时钟计数;INTO设置为后沿中断,配合T0采的积分过程进行时钟计数;INTO设置为后沿中断,配合T0采集APD转换结果;主程序则在完成系统初始化后,循环处理APD转换结果和DO输出控制任务。

模块的控制软件整体看起来比较冗长复杂,但经过细致分工后,每部分的具体编程则相对简单并且容易完成。这里略去了烦琐的程序框图,仅就本设计中比较有特色的APD转换和通信两个软件设计部分用具体的程序进行软件设计介绍。

4.1 APD 转换部分软件设计

这部分软件是根据ICL7135的信号输出特点设计的,7135的输出端BUSY是做芯片积分周期指示的,它在芯片对测量信号积分及对基准反积分过程中置高电平,而这个期间对应的是芯片对测量信号进行的10 000个时钟的计数和对校准放电的计数个数,而后者就是APD转换结果。本设计采用的方法就是用T0来做门控计数,INTO做门控的同时,用BUSY的后沿产生中断,读取计数值,扣除10 000后即为APD转换结果。

4.2 通信部分软件设计

这部分软件是以二进制的Modbus协议为例的,本模块支持协议的功能0、3、6,主机呼叫的字节长度都为8B。模块在接收数据流中断达到1. 5B时T1中断进行接收处理,这个过程由串口中断控制,串行口和定时器T1的中断函数共同完成了通信过程的数据交换控制。需要指出的是,这两个中断在系统中被设置为最高优先级,同时为保证系统通信实时性,CRC校验程序应该采用查表法设计,以保证尽可能快的计算速度。

5 结束语

总之,Modbus协议具有开放性、用户范围广、易实现、扩展性好、可靠性强等优点。目前本设计的模块已经与温度模块、调节模块、计数模块、开关量模块、通信模块等形成了系列产品,且成功运用于石化、铁路、供热及淀粉加工等工程项目中。本设计在硬件设计与软硬件结合分工设计方面有一些技巧,使整体设计简洁明了,对于类似智能仪器仪表的开发设计及现场总线应用有一定借鉴作用。

参考文献:

[1] 曹祁,王晓萍.Modbus协议在数据采集仪中的实现[J].机电工程报,2004,21(6):49-50.

[2] 钟鸣,马龙华.Modbus协议的ACTIVEX组件实现[J].自动化仪表,2005,26(2):64-66.

[3] 陈善林,杨承志.基于Modbus协议的无线远程数据采集系统[J].昆明理工大学学报,2004,29(2):53-56.