您当前的位置:五五电子网电子知识变频技术变频器基础基于MODBUS协议的智能变送器的研究 正文
基于MODBUS协议的智能变送器的研究

基于MODBUS协议的智能变送器的研究

点击数:7919 次   录入时间:03-04 11:53:39   整理:http://www.55dianzi.com   变频器基础

  基于MODBUS协议的智能变送器研究郑贵林,黄雄辉(武汉大学自动化系,湖北武汉430072)造和软件设计思想,并说明使用FIX组态软件和API函数实现MODBUS主站通信的两种方法,该网络结构可以实现512个从节点与主站间的MODBUS通信。应用表明:该设计简单实用,发挥了MODBUS的主要性能优点,对其他同类型智能仪器及系统的设计开发有一定的借鉴作用。

  1基于MODBUS智能变送器设计的智能变送器是在分体式液位压力模拟变送器的基础上改造而成,主要功能是采集和处理单路液位压力信号、解析和封装通信报文并实现MODBUS协议。智能压力变送器通过RS― 485通信总线接口连接主站(PLC或IPC)和其他从站设备,构建MOD-BUS网络,完成开放式远程数据采集和监控功能。

  1.1硬件设计硬件电路部分以AT89C2051单片机为核心,使用12位串行A/D转换器ADS7816采集前端压力模拟信号,采集数据经半双工RS*485芯片SN65HVD3082E向MODBUS网络其他设备传输。硬件各部分大多选用尺寸小、功耗低、外围电路简单的新型工业级贴片元件,设计电路的结构简洁、紧凑。

  硬件电路原理框图如所示。

  1.1.1前端压敏元件及信号调理电路硬件电路原理框图0592MHz晶振,采用软件复位。

  设计电路使用了AT89C2051的15根可编程I/O引线,其中P1口和P3口有8根引脚与8位DIP开关连接,用于设定MODBUS地址;P1.7~P1.5用作串行A/D转换器的片选、串行数据输出和时钟信号;P3.0、P31和P1.4接入SN65HVD3082E的接收输入、发射输出和收发使能端;P3.7用作,叩监控芯片IMP813L的看门狗输入信号。

  电路使用的+5V电源采用BB公司的DC―DC芯片DCP012405BP.DCP012405BP是一种小型化、隔离型的DC*DC电源芯片,输入和输出电压分别是+ 24V和+5V,它的外围电路极少,仅在输入、输出与收稿曰期:2004-04- 30修改稿日期:2005*01*20地之间加入47呷电容改善纹波和荷载瞬态响应,且前端压敏元件及信号调理电路用于采集液位压力信号,进行滤波放大、零点校正、线性化、温度及灵敏补偿等信号处理,输出一路标准的4~20mA信号。这部分由模拟变送器组成,作为整个分体式压力变送器的前端,硬件的其他部分则置于接线盒内。

  1.1.2单片机及附属电路AT89C2051是ATMEL公司生产的高性价比单片机,其引脚功能和指令系统与MCS― 51完全兼容,只减少P0和P1口。电路中,AT89C2051不扩展片外存具有内部过热保护及输出短路保护等功能,用作供电电源非常适合。

  1.1.3串行数据采集电路串行数据采集电路由八变换单元、电压基准源和串行A/D转换器组成。VA变换单元应用精度为0.1%,温度系数为*5X16/*C的高精密电阻,把前端输入的4~20mA信号变换成直流小电压信号作为串行A/D转换器的输入。A/D转换器的电压基准源1.2.2A/D采样子程序A/D采样子程序由通信子程序调用,完成接收和处理ADS7a6输出数据的功能。

  如所示,当ADS7a6的CS接收下降沿信号时,A/D转换和数据串行输出过程完成初始化。ADS7816在DCLK接收的最初的1.5到来时,Dout输出信号有效,首先输出1个时钟周期的采用精密电压基准芯片REF02. A/D转换器采用12位的串行模数转换器ADS7816.其内部集成了大带宽跟踪/保持电路和串行接口,结构简单,转换速率高且功耗低,在体积、功耗和精度上都能满足智能变送器的要求。

  1.1.4通信接口电路通信总线接口电路采用TI公司的RS*485接口芯片SN65HVD3082E.它将RS*485通信中各种故障(包括瞬变电压、ESD、电磁干扰、总线开路、总线短路、总线休闲、热故障等)的防范措施集成到一个芯片内,较好地解决了RS―485通信中常见故障。该芯片功耗极低,除负载外供电电流一般小于0.6mA,关闭模式下降到几nA.但它负载能力很强,可以支持256个收发器,强噪声环境中波特率最大可达200kbit/s. 485串行通信,SN65HVD3082E的收、发使能端共同连接AT89C2051 1.2软件设计软件设计主要由主程序、通信子程序和A/D采样子程序组成,采用查询方式实现与外部MODBUS网络的通信。

  1.2.1主程序主程序由初始化、看门狗置位/清零、通信子程序组成。除通信子程序外,主程序主要进行本站内存单元分配、MODBUS地址读取、串行口等器件的工作方式和参数设置等任务,为系统正常工作创造条件。主程序框图如所示。

  初始化部分完成AT89C2051的串行口、定时计数器1的参数的初值设定,分配各种数据所需的内存存储空间。其中定时器1运行在工作方式2,串口工作方式定为波特率可变的11位异步接收和发送方式(方式3),不允许多机通信,接收和发送的第9位数据位都为1,波特率为9600bit/s.通讯循环子程序的前后写入看门狗置位/清零语句,不断监视其循环运行。

  低电平,然后依次输出12位模数转换数据,最先输出MSB位B11,最后输出B0.输出的每位串行数据在时钟的上升沿输出,在下降沿有效。在最后一位输出数据的同步时钟脉冲的下降沿到达时,当高电平信号输入CS引脚,Dout的输出将呈高阻态,同时结束一次完整的模数转换及数据串行输出过程。

[1] [2]  下一页


本文关键字:变送器  智能  变频器基础变频技术 - 变频器基础