CAN总线实现工业网络分布式测控系统(二)

时间:2014-10-09 15:57来源:工控网作者:神仙姐姐 点击:
------分隔线----------------------------

摘要:  3 热电阻智能节点软件设计   3.1概述   单片机程序用mc9s12汇编语言编写。在主程序首先完成各寄存器和存储单元的初始化,再通过调用读取地址子程序,得到i/o板卡的地址和can通信波特率,再完成mscan模块和ads1216初始化。随后调用e2prom中组态信息,对每一路组态通道进行信号转换,数字滤波及温度查表计算等,其主程序流程图如图5所示。   图5 热电阻智能节点主程序

关键字:CAN总线,工业网络,分布式,测控系统

  3 热电阻智能节点软件设计

  3.1概述

  单片机程序用mc9s12汇编语言编写。在主程序首先完成各寄存器和存储单元的初始化,再通过调用读取地址子程序,得到i/o板卡的地址和can通信波特率,再完成mscan模块和ads1216初始化。随后调用e2prom中组态信息,对每一路组态通道进行信号转换,数字滤波及温度查表计算等,其主程序流程图如图5所示。
 热电阻智能节点主程序流程图
  图5 热电阻智能节点主程序流程图

  由于现场的各种干扰很容易使信号失真,从而使a/d转换结果产生比较大的误差。因此在对信号进行有效的硬件滤波后还需进行软件滤波,本节点采用了数字中值滤波、算术平均、加权滤波等方式。

  3.2 节点与上位机的can通信

  智能节点与主控卡或上位机的通信主要基于can通信协议来完成,它的优点是能够实时处理数据、在恶劣环境下正常工作、成本低且拥有比较高的带宽。由于上位机内部无can网络适配器,因此需外接rs-232/can转接卡,实现上位机与智能节点的通信。通过节点上的跳线设置节点地址,当上位机发出命令时,节点进入can接收中断,对数据解包放入接收缓冲区并调用数据处理函数。当上位机发出组态命令时,单片机会将收到的组态通道信息和信号类型写入e2prom保存,并回送一帧数据通知上位机组态信息已成功接收。当接收到上传rtd值命令时,单片机会将内存中的4路rtd温度值以多帧形式发送给上位机。

  3.3 rtd阻值变换算法

  软件设计中关键算法在于rtd电压阻值的转化,刻度点间的线性化及标度变换。以pt100热电阻的温度刻度表为例,

  pt100tab:fcb 04h,00h,07h,39h,08h,0e8h,0ah,94h,0ch,3ch,

  fcb 0dh,0e1h, 0fh,83h,11h,23h,12h,0c0h,14h,5bh,

  fcb 15h,0f3h,17h,89h,19h,1eh,1ah,0b1h,1ch,41h, 
【光粒网综合报道】( 责任编辑:yeyan )
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

凡光粒网注明"来源:光粒网"或"来源:www.diodelaser.com.cn"的作品,包括但不限于本网刊载的所有与光粒网栏目内容相关的文字、图片、图表、视频等网上内容,版权属于光粒网和/或相关权利人所有,任何媒体、网站或个人未经光粒网书面授权不得转载、摘编或利用其它方式使用上述作品;已经书面授权的,应在授权范围内使用,并注明"来源:光粒网"。违反上述声明者,本网将追究其相关法律责任。

【免责申明】本文仅代表作者个人观点,与光粒网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

在线投稿有投稿需求的公司企业请直接在线申请,其他项目合作联系 QQ:1965483967 QQ:2644977628 → 在线申请投稿 >
Copyright  ©  2010-2018 diodelaser.com.cn Inc. All rights reserved.光粒网 版权所有
鄂ICP备11013139号-2

鄂公网安备 42018502002510号

博聚网