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