一种网络化智能温控器的设计与实现
4.3 节点软件设计
本文引用地址:https://www.eepw.com.cn/article/87173.htm对ADR-120智能控制模块的编程可采用Neuron C语言,也可使用OnLon图形化编程语言来实现。节点软件包括系统软件和应用软件两部分,这两部分都必须固化在ADR-120内部的EEPROM 中。系统软件主要用于实现LON 网络的协议,而应用程序则主要实现用户要求的功能,如A/D转换、定时等。在LonWorks系统中,用网络变量数据通信简化了分布式应用的编程,程序员不用关心底层细节,只要对网络变量重新赋值,该网络变量的值将自动发送到指定的节点。节点软件结构流程图如图3所示。下面以数据采集(即A/D转换)程序为例,给出部分Neuron C语言源程序:
IO_0 output bit ADC_CS=1; //定义为位输出对象,作片选信号
IO_8 neurowire master select(IO_0) ADC_IO;//定义神经元I/O对象,用作双向串行接口
unsigned short C[8]={0,4,1,5,2,6,3,7}; //顺序定义ADC的通道选择地址
metimer tmAD="500"; //定义毫秒定时器,以500ms为数据采集间隔
msg_tag mess_out; //定义报文标签
……
when(timer_expires(tmAD)) //定时间隔到时驱动该事件处理
{
int i,temp;
unsigned int adc_info;
unsigned long ADH;
unsigned long ADL
unsigned long ADV[8];
for(i=0;i<8;i++) //依次对8个通道进行数据采集
{
adc_info=(C[i]+8)*16+14; //设置ADC变换控制字TB1
io_out(ADC_IO,&adc_info,8); //发送TB1,忽略第一个字节RB1
adc_info=0x00; //设置全零字节
io_out(ADC_IO, &adc_info,8);//发送全零字节
ADH=adc_info; //接收第二个字节RB2
adc_info=0x00; //设置全零字节
io_out(ADC_IO, &adc_info,8);// 发送全零字节
ADL=adc_info; //接收第三个字节RB3
ADV[i]=ADH*32+ADL/8; //对本次采集数据进行换算
tmAD=500; //设置500ms间隔
}
}
图3 K型热电偶智能温控器节点软件流程图
4.结束语
现场总线技术日益成熟,各厂商开发了越来越多的基于现场总线的模块,其中在LON总线的支持下,诞生了很多智能化、低成本的现场测控产品。为支持LON总线,Echelon公司开发了Lonworks技术,它为LON总线设计、成品化提供了一套完整的开发平台。
本文所设计的智能温控器可同时外接4路K型热电偶测量通道,对应输出驱动4路可控硅调功器进行温度调节。并且根据实际应用的需要,通过编制不同的程序,不仅能够实现对多点温度进行测控,还可以根据不同测温点之间的温差和平均温度来进行相应的控制,相对于传统的温控器来说,使用更加灵活、方便。
本文作者创新点:提出了基于LON总线的网络化智能测控器的设计原理和方法,并以K型热电偶温度测控器为例,给出了具体的硬件电路和软件流程,为进一步开发其它类型的LON网络智能测控器提供了一定的参考作用。
参考文献
[1]凌志浩.从神经元芯片到控制网络[M].北京航空航天大学出版社.2002
[2]支超有,高亚奎.基于CAN网络化智能传感器的设计与实现[J].测控技术,2006,25(3):21-23
[3]鲍吉龙, 叶平. 工业监控系统的网络化发展[J].微计算机信息,2006, 6-1:66-68
上拉电阻相关文章:上拉电阻原理 双绞线传输器相关文章:双绞线传输器原理 热电偶相关文章:热电偶原理
评论