摘 要: 介紹了基于Neuron芯片的LonWorks 網絡PID控制節(jié)點的設計及開發(fā)。具體包括節(jié)點的硬件電路及軟件設計方案。本設計方案經過實驗驗證是切實可行的。
關鍵詞: 現場總線控制系統(tǒng)(FCS) LonWorks技術 PID Neuron芯片
現代工業(yè)過程控制領域對測控系統(tǒng)的速度、精度、成本等方面提出了更高的要求,全數字、雙向、多節(jié)點的現場總線應運而生。現場總線是一種串行的數字通信鏈路,它溝通了生產領域的現場設備之間以及與更高層次控制過程設備之間的聯系。
LonWorks技術是Echelon公司于90年代推出的一種主要用于設備聯網的局域操作網絡技術LON(Local Operating Network)。LonWorks技術的優(yōu)勢是將通訊協議固化于Neuron芯片中,并且提供一套完整的開發(fā)與建網工具——LonBuilder和NodeBuilder。這樣使得用戶可以較少關心網絡的通訊,而集中于節(jié)點的具體應用開發(fā)。LonWorks技術極大地方便了用戶,也促進了該技術的推廣應用。
現場總線控制系統(tǒng)(FCS)是工業(yè)控制系統(tǒng)發(fā)展的必然趨勢,然而在短時期內它無法完全取代DCS系統(tǒng),因此現有的4~20mA模擬儀表到現場總線的接口開發(fā)具有較強的可行性及現實意義。本文擬對基于LonWorks 網絡的PID控制節(jié)點的設計與開發(fā)作一論述。
1 整體設計思想
現場儀表,如測量變送器、執(zhí)行器、調節(jié)閥等的輸入/輸出信號多為4~20mA模擬信號。本節(jié)點的任務是在完成現場模擬儀表與LonWorks網絡連接的基礎上,實現對被控對象的控制,即對現場儀表進行測量信號采集,控制運算及控制信號輸出。整體節(jié)點設計分為三部分:信號采集、控制運算及信號輸出。
Neuron芯片能夠完成信息的輸入、處理、輸出,并可通過不同的收發(fā)器與不同的通訊介質相連接,方便地實現網絡通訊。以其為中心器件,配以相關外圍電路構成的節(jié)點,實現了用戶應用程序與組網通訊的統(tǒng)一。
本文設計的PID控制節(jié)點的結構示意圖如圖1所示。
考慮到工業(yè)現場的電氣工作情況,為保護節(jié)點核心部分免受損壞,在模擬輸入/輸出與Neuron芯片之間加入光電耦合器件,從而提高了節(jié)點的抗干擾性能。
2 節(jié)點實現
2.1 關鍵技術
LonWorks技術的核心是Neuron芯片。它是由美國Motorola和日本東芝兩大芯片制造商生產的,共有兩個系列MC143150和MC143120。本設計采用的是MC143150,可帶片外存儲器類型。該類型專門用于需要較大應用程序的傳感器控制系統(tǒng)。
MC143150芯片內部有三個CPU,即:介質訪問CPU,網絡CPU,應用CPU。它們與片內存儲器、網絡通訊接口、定時/計數器、I/O口驅動電路通過16位地址總線和8位數據總線相連。芯片內部結構示意圖如2所示。
Neuron芯片有11個可編程的I/O引腳,并提供四類共34種I/O對象。通過引腳的不同配置,為外部硬件提供靈活的接口,實現不同的I/O對象。這四類I/O對象為:直接I/O、并行I/O、串行I/O和計時器/計數器I/O對象。
本設計選用串行I/O對象中的Neuronware對象。該對象通過Neuron芯片11個引腳中的IO.8~IO.10進行三線串行傳輸,IO.0~IO.7可作為片選信號輸出。數據傳輸以8位為單位,一次最多可傳輸255位。對于10MHz晶振輸入的Neuron芯片,其串行時鐘頻率為20kHz,串行數據傳輸速率滿足現場控制要求。
Neuron芯片的輸入/輸出對象中有parallel并行I/O對象。該對象有3.3Mbps的高傳輸速率,但由于其適用于8位并行數據,而且占用I/O引腳較多,功能擴展較復雜。所以不采用并行I/O對象。
2.2 節(jié)點硬件/軟件設計
信號采集部分,采用高速、串行12位、8通道模數轉換器MAX186。現場4~20mA測量信號經過200Ω精密電阻變?yōu)?.8~4V電壓,進入MAX186的輸入通道。MAX186具有一個內部4.096V基準源,每一通道帶跟蹤/保持(T/H)電路,最高采樣頻率可達133kHz。其SCLK、Din、Dout引腳分別與Neuron芯片的IO.8、IO.9、IO.10相連。IO.1作為MAX186的片選信號(/CS)。MAX186的控制字的寫入與轉換數據的輸出通過串行數據線完成。其各個輸入通道由控制字進行選擇。MAX186外部接線簡潔。
信號采集電路如圖3所示。
MAX186接口程序為:
IO_8 neuroware master select(IO_1) MAX186;
//定義I/O對象為neuroware,IO_8為時鐘輸出引腳;IO_9為串行數據輸出引腳;IO_10為串行數據輸入引腳;選擇主模式,MAX186片選信號由IO_1輸出;數據在時鐘上升沿被傳輸//
IO_1 output bit MAX186_CS=1;
//定義IO_1為位輸出,作MAX186的片選信號//
When(timer_expires(clock_1))
// 定時/計數器clock_1滿事件驅動//
Io_out(MAX186_CS,0);
//選中MAX186//
Io_out(MAX186,10001111);
//向MAX186送控制字:選擇通道0,單極性,單端輸入,外部時鐘模式//
Input=io_in(MAX186,&input,16);
//輸入轉換結果//
Input=input>>4;
Io_out(MAX186_CS,1);
//不選中MAX186,結束信號采集//
控制運算部分主要通過對Neuron芯片編程完成。Neuron芯片的編程語言為由ANSI C發(fā)展而來的Neuron C語言。它包括對ANSI C的擴展,并增添了一些較強的功能,如:網絡變量類型,事件調度when語句。網絡變量簡化了節(jié)點間的數據共享。本設計中PID控制運算的設定值、比例放大系數、積分/微分時間等數值均通過網絡變量的形式傳送。
PID控制運算的流程圖如圖4所示。
信號輸出部分選用串行12位數模轉換器MAX538。由于現場執(zhí)行機構多接收4~20mA信號,所以需要將MAX538的電壓輸出轉換成電流信號,為此選用AD694完成電壓/電流轉換。AD694具有內部電壓基準,可輸出作為MAX538的D/A轉換基準,簡化了電路設計,節(jié)省了空間。另外,AD694有較強的驅動能力,對于需要免除噪聲的4~20mA信號傳遞以驅動操作電子管、傳動裝置和其他控制器件,它是理想的選擇。
本PID控制節(jié)點設計為兩路輸出,片選信號分別由IO.2、IO.3給出,具體電路如圖5所示。
信號輸出部分接口程序為:
IO_8 neuroware master select(IO_2)
MAX538;
IO_2 output bit MAX538_CS=1;
Io_out(MAX538_CS,0);
Io_out(MAX538,&output,16);
Io_out(MAX538_CS,1);
總之,本文設計的基于LonWorks 網絡的PID控制節(jié)點, 經過實驗驗證是切實可行的。它具有組網方便、集成度高、成本低等特點。利用它與其它種類的測控節(jié)點配合,加上上位操作管理計算機,可以容易地構成徹底分散的、地域分布的網絡測控系統(tǒng)。這種系統(tǒng)可用于污水處理、過程控制、樓宇自動化等場合。
參考文獻
1 Echelon公司.Neuron C參考手冊.1995
2 Echelon公司.Neuron C程序員指南.1995
3 MOTOROLA公司.LonWorks Technology Device Data 1996