一種網絡化智能溫控器的設計與實現
4.3 節點軟件設計
本文引用地址:http://www.104case.com/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
上拉電阻相關文章:上拉電阻原理 雙絞線傳輸器相關文章:雙絞線傳輸器原理 熱電偶相關文章:熱電偶原理
評論