您的位置 首页 系统

根据Modbus协议的智能压力传感器研制

1引言20世纪90年代以来,在传感技术基础上结合微处理器技术发展起来的智能能传感技术成为国际上研究的热点。传感器领域的智能化得到了快速发展,出现了不同种类的智能化传感器产品。但是,单一智能化传感器并不

  1 导言

  20世纪90年代以来,在传感技能基础上结合微处理器技能开展起来的智能能传感技能成为国际上研讨的热门。传感器范畴的智能化得到了快速开展,呈现了不同品种的智能化传感器产品。可是,单一智能化传感器并不能充分发挥智能化的长处,只要将其与计算机联网才干真正将智能化传感器的特色全面发挥出来。本文依据 rs-485总线以差分平衡方法传输信号,具有抗搅扰性好、传输间隔远等特色,经过一对双绞线作为传输介质将现场设备与上位机连起来,使体系结构大为简化,一起这也大大降低了体系装置、调试以及保护的本钱。经过现在国际上遍及选用的modbus通讯协议进行编写,便利操作人员的阅览及运用。

  2 modbus rtu通讯协议

  modbus协议是莫迪康公司1978年创造用于电子操控器进行操控和通讯的协议。

  modbus协议现已被承受转化成为我国国家标准gb/t 19582-2008 《依据modbus协议的工业自动化网络标准》。

  modbus协议选用主从(master-slave)技能,是一种问答方法的通讯协议。modbus通讯协议有两种传送方法:rtu方法和ascii方法,相对于ascii方法,rtu方式表达相同的信息需求较少的位数,且在相同通讯速率下具有更大的数据流量。因而本文选用的是modbus rtu方式[2]。

  运用rtu方式时,音讯发送至少要以3.5个字符时刻的中止间隔开端(如表1中的t1-t2-t3-t4所示)。传输的第一个域是设备地址。能够运用的传输字符是十六进制的0-9,a-f。功用码是每帧通讯信息的第二个字节,依据modbus协议规则 ,不同功用码对应数域格局不尽相同,常用的功用码有 1、2、3、4、5、6、15 和 16 , 别离表明读线圈、读输入状况、读坚持寄存器、读输入寄存器、写单个线圈、写单个输入状况、写多个线圈, 写多个坚持寄存器。本文依据需求首要是用的3、6、16功用码。网络设备不断侦测网络总线,当第一个域(地址域)接纳到,每个设备都进行解码以判别是否发给自己。在最终一个传输字符之后,一个至少3.5个字符时刻的中止标定了音讯的完毕。一个新的音讯可在此中止后开端。

  整个音讯帧有必要作为一接连的流传输。假如在帧完结之前有超越3.5个字符时刻的中止时刻,接纳设备将改写不完整的音讯并假定下一字节是一个新音讯的地址域。同样地,假如一个新音讯在小于3.5个字符时刻内接着前一音讯开端,接纳的设备将以为它是前一音讯的连续。这将导致一个过错,由于在最终的crc 域的值不可能是正确的[3]。一典型的rtu方式的音讯结构如表1所示。

  3 体系硬件规划

  智能传感器(intelligent sensor)是具有信息检测与处理功用的传感器。智能传感器带有微处理机,具有收集、处理、交流信息的才能,是传感器集成化与微处理机相结合的产品。本规划中智能压力传感器的组成如图1所示。

图1 依据c8051f350的智能压力传感器的方框图

  整个体系依照各部分功用可分为电源模块、温度收集模块、模拟信号调度模块、数据通讯模块等部分。本规划运用c8051f350作为数据收集后的微处理器,c8051f350内部有一个全差分24位sigma-delta模/数转换器(adc),该adc具有在片校准功用。两个独立的抽取滤波器可被编程到1khz的采样率[5]。能够运用内部的2.5v电压基准,也能够用差分外部基准进行比率丈量,其间在本规划中运用的是内部电压基准。adc0中包含一个可编程增益放大器,有8种增益设置,最大增益可达128倍,增益调理规模完全符合规划要求。

  规划选用陶瓷资料经特别工艺精制而成的干式陶瓷压阻压力传感器cps181,陶瓷是一种公认的高弹性、抗腐蚀、抗磨损、抗冲击和振荡的资料。陶瓷的热安稳特性及它的厚膜电阻能够使它的作业温度规模高达-40~135℃,并且具有丈量的高精度、高安稳性。电气绝缘程度>2kv,输出信号强,长时间安稳性好[4]。规划运用ds18b20丈量作业环境温度。ds18b20具有以下特性:

  (1) 共同的单线接口,只需一个接口引脚即可通讯;

  (2) 不需求外部元件;

  (3) 可用数据线供电;

  (4) 不需求备份电源等。

  丈量得到的温度信号经过单线接口送入ds18b20或从ds18b20送出,因而从c8051f350到ds18b20仅需衔接一条线。规划的通讯经过rs485完结。由于rs-485的数据最高传输速率为10mbps;rs-485接口是选用平衡驱动器和差分接纳器的组合,抗共模才能强,即抗噪声搅扰性好[6];rs-485接口的最大传输间隔可达3000米;支撑很多常见的操作体系,易于完成不同网络之间的通讯。

  4 体系软件规划

  4.1下位机通讯程序的立异性规划

  体系的下位机程序首要是运用了咱们了解的c言语进行编程,程序选用了模块化思维,结构明晰易读。首要包含体系初始化、更新传感器温度值、更新传感器供电电压值、更新传感器零漂值、更新传感器压力值、由modbus协议对上位机发来的报文进行解说构成使命标志、履行modbus协议的相应功用代码使命、向上位机发送应对报文、毛病诊断、电源办理等模块。

  规划的立异点:自界说了一个寄存器数组,数组里包含地址、量程、增益、波特率、零漂、版本号、温度、供电电压、毛病信息、压力值等,并对他们进行了编号。寄存器分配一览表如表2所示。

  (1)每一寄存器由两个字节构成,高字节在前,低字节在后,高字节寄存数值的高位,低字节寄存数值的低位。例如:量程代码寄存于编号为01h的寄存器中,所占的两个字节规则如下(其间xx为以16进制方式寄存的量程代码):

寄存器编号 字节 高半字节 低半字节
01h 高字节 0 0
低字节 x x

  界说:传感器地址、量程、增益、波特率别离占用一个寄存器(即两个字节),它们的寄存器号别离为00h、01h、02h、03h,在modbus协议功用码03中,开始地址高位、低位能够别离对应传感器地址、量程、增益、波特率的高位、低位。

  (2) 在详细编写程序时,把寄存器数组的一切只写特点放入flash

  然后初始化读出。上位机发信息,下位机解说相应指令,读出或写入相应数据。在编写履行03、06、16使命模块时咱们把要读取的寄存器数组的开始下标和要读取的数据个数别离依据modbus功用码中的开始地址高、低位和寄存器数高、低位设定成一个变量,这样简化了程序,可读性强。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/xitong/229216.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部