林偉杰,黃越雯,王瑞榮
(杭州電子科技大學(xué)自動(dòng)化學(xué)院,浙江杭州310018)
傳統(tǒng)的電機(jī)控制系統(tǒng)體系結(jié)構(gòu)存在較多缺陷,如結(jié)構(gòu)封閉、不支持網(wǎng)絡(luò)通信等,導(dǎo)致不同的控制器或不同的控制系統(tǒng)之間相互孤立,造成系統(tǒng)升級(jí)過(guò)程中大量資源浪費(fèi)。另一方面,隨著工業(yè)產(chǎn)業(yè)的快速發(fā)展,對(duì)生產(chǎn)機(jī)械的性能和產(chǎn)品質(zhì)量的要求不斷提高,僅實(shí)現(xiàn)對(duì)單臺(tái)電機(jī)的控制在某些場(chǎng)合已不適合要求,而是需要同時(shí)控制多臺(tái)電機(jī),保證其協(xié)調(diào)運(yùn)行。LonWorks總線技術(shù)由美國(guó)Echelon公司1991年推出,主要應(yīng)用于樓宇自動(dòng)化、工業(yè)自動(dòng)化、交通運(yùn)輸和電力行業(yè)等。LonWorks總線支持不同類(lèi)型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和通信傳輸介質(zhì)。LonWorks技術(shù)的最大特點(diǎn)是將通信協(xié)議內(nèi)置到神經(jīng)元芯片中,而且,Echelon公司為設(shè)計(jì)和實(shí)現(xiàn)可互操作的LonWorks控制網(wǎng)絡(luò)提供了一套完整、開(kāi)放、成品化的解決途徑,大大方便用戶開(kāi)發(fā)LonWorks控制設(shè)備或設(shè)計(jì)LonWorks控制網(wǎng)絡(luò)[1]。本文主要結(jié)合LonWorks技術(shù)的特點(diǎn),設(shè)計(jì)了LonWorks網(wǎng)絡(luò)電機(jī)控制器的硬件和軟件,并且基于LonWorks網(wǎng)絡(luò)的DDE功能,設(shè)計(jì)了上位機(jī)監(jiān)控軟件,實(shí)現(xiàn)對(duì)多臺(tái)步進(jìn)電機(jī)的運(yùn)行狀態(tài)的監(jiān)控,達(dá)到網(wǎng)絡(luò)化電機(jī)控制的基本功能。
基于LonWorks技術(shù)的網(wǎng)絡(luò)化電機(jī)控制系統(tǒng)如圖1所示,主要由上位機(jī)、iLON600、LonWorks智能節(jié)點(diǎn)、電機(jī)驅(qū)動(dòng)器及電機(jī)組成。iLON600是Echelon公司推出的從LonTalk到IP的路由器,通過(guò)它可以方便地將LonWorks現(xiàn)場(chǎng)總線與Internet網(wǎng)絡(luò)集成。上位機(jī)的主要任務(wù)包括:一方面,集中監(jiān)視與管理整個(gè)LonWorks網(wǎng)絡(luò)控制系統(tǒng),分析與檢測(cè)智能節(jié)點(diǎn)間的通信狀況;另一方面,實(shí)時(shí)進(jìn)行與智能節(jié)點(diǎn)之間的數(shù)據(jù)交換、顯示、報(bào)警、操作、參數(shù)設(shè)定等。LonWorks智能節(jié)點(diǎn)在整個(gè)系統(tǒng)中擔(dān)任非常重要的角色,其主要任務(wù)是控制信號(hào)實(shí)時(shí)輸出、LCD顯示、存儲(chǔ)運(yùn)行數(shù)據(jù)及與上位機(jī)進(jìn)行數(shù)據(jù)交換,并將狀態(tài)與報(bào)警信號(hào)等數(shù)據(jù)傳入上位機(jī)。智能節(jié)點(diǎn)可以根據(jù)控制網(wǎng)絡(luò)的特點(diǎn)進(jìn)行分散布置,每個(gè)節(jié)點(diǎn)一方面輸出其控制指令,另一方面通過(guò)LonWorks總線與其他節(jié)點(diǎn)之間進(jìn)行信息傳輸,實(shí)現(xiàn)分布式控制。
通常,LonWorks智能節(jié)點(diǎn)有兩種結(jié)構(gòu):以神經(jīng)元芯片為核心的控制設(shè)備和基于其他處理器的Host-Base結(jié)構(gòu)。根據(jù)課題的需要,節(jié)點(diǎn)輸出電機(jī)驅(qū)動(dòng)器的指令信號(hào),故采用神經(jīng)元芯片作為主處理器構(gòu)建智能節(jié)點(diǎn)。
圖1 系統(tǒng)組成
智能節(jié)點(diǎn)的硬件組成如圖2所示。神經(jīng)元芯片是節(jié)點(diǎn)的核心,內(nèi)嵌了LonTalk通信協(xié)議,芯片內(nèi)部包含3個(gè)CPU:MAC處理器、網(wǎng)絡(luò)處理器和應(yīng)用處理器。神經(jīng)元芯片采用TMPN3150,芯片內(nèi)部有512kB的EEPROM,2kB的RAM,沒(méi)有片內(nèi)ROM,但有訪問(wèn)外部存儲(chǔ)器的接口,最大尋址空間64kB[2],圖2中的AT29C256即為外部程序存儲(chǔ)器。
FTT-10A收發(fā)器是Echelon公司生產(chǎn)的自由拓?fù)潆p絞線收發(fā)器,神經(jīng)元芯片通過(guò)它與LonWorks總線連接。FTT-10A收發(fā)器內(nèi)部包含一個(gè)隔離變壓器,一個(gè)曼徹斯特編碼通信收發(fā)器,信號(hào)處理器件,采用厚膜電路集成在一個(gè)芯片中。通信速率78kbps,最長(zhǎng)通信距離2 700m。FTT-10A與TMPN3150的連接如圖3所示。
圖2 LonWorks智能節(jié)點(diǎn)硬件組成
圖3 FTT-10A收發(fā)器接口
本文中采用步進(jìn)電機(jī)作為執(zhí)行器件,而電機(jī)驅(qū)動(dòng)器的輸入信號(hào)主要有脈沖CP、方向信號(hào)CW/CCW。TMPN3150的工作電源為+5V,硬件設(shè)計(jì)時(shí)IO6腳輸出CP信號(hào),IO7腳輸出方向信號(hào),可與電機(jī)驅(qū)動(dòng)器的輸入端直接連接,如圖4所示。
圖4 電機(jī)驅(qū)動(dòng)器接口
智能節(jié)點(diǎn)軟件流程如圖5所示。主要包括初始化、IO引腳定義、網(wǎng)絡(luò)變量定義及事件處理程序。Echelon公司為開(kāi)發(fā)LonWorks控制設(shè)備提供了NodeBuilder軟件工具。設(shè)備的應(yīng)用程序采用Neuron C編寫(xiě)[3]。與ANSI C不同,Neuron C中不再使用main()函數(shù)結(jié)構(gòu),而是采用事件驅(qū)動(dòng)方式,即用when()語(yǔ)句和函數(shù)組成可執(zhí)行對(duì)象。
圖5 LonWorks智能節(jié)點(diǎn)軟件流程
上位機(jī)軟件設(shè)計(jì)主要包括兩個(gè)方面:一方面要利用LonWorks組網(wǎng)工具將設(shè)計(jì)好并完成物理連接的LonWorks控制網(wǎng)絡(luò)進(jìn)行邏輯連接,實(shí)現(xiàn)LonWorks網(wǎng)絡(luò)與TCP/IP網(wǎng)絡(luò)的集成;另一方面,利用高級(jí)編程軟件設(shè)計(jì)LonWorks網(wǎng)絡(luò)的監(jiān)控軟件。
Echelon公司為用戶組建和使用LonWorks控制網(wǎng)絡(luò)提供了LonMaker集成工具和LNSDDE Server軟件包。LonMaker以LNS網(wǎng)絡(luò)操作系統(tǒng)為基礎(chǔ),集成功能強(qiáng)大的客戶-服務(wù)器體系結(jié)構(gòu)和方便使用的Microsoft Visio界面,為用戶組建LonWorks控制網(wǎng)絡(luò)的邏輯連接提供便利條件[4]。LNS DDE Server允許任何DDE的Microsoft Windows應(yīng)用程序監(jiān)控LonWorks網(wǎng)絡(luò),如人機(jī)界面應(yīng)用程序、數(shù)據(jù)記錄和趨勢(shì)分析應(yīng)用程序以及圖像處理顯示[5]。通過(guò)建立LNS和Microsoft DDE的連接,Windows應(yīng)用程序可以和Lon-Works控制設(shè)備進(jìn)行交互網(wǎng)絡(luò)變量、配置信息和應(yīng)用程序消息等。
本文中采用組態(tài)王設(shè)計(jì)上位機(jī)監(jiān)控軟件。組態(tài)王是北京亞控自動(dòng)化軟件科技有限公司推出的一款適合工控場(chǎng)合、功能強(qiáng)大的組態(tài)軟件產(chǎn)品,具有組態(tài)和二次開(kāi)發(fā)功能,易使用的圖形畫(huà)面技術(shù),支持與多種I/O設(shè)備的通訊,并提供大量的系統(tǒng)配置及開(kāi)發(fā)工具,非常適合工控場(chǎng)合的現(xiàn)場(chǎng)監(jiān)控應(yīng)用[6]。監(jiān)控軟件主要包括4個(gè)方面:通信連接、建立變量數(shù)據(jù)庫(kù)、界面設(shè)計(jì)、程序編制。
(1)通信連接
組態(tài)軟件通過(guò)DDE方式與LonWorks設(shè)備通信,因此需要對(duì)組態(tài)軟件的DDE設(shè)置服務(wù)程序名和話題名,數(shù)據(jù)交換方式必須選擇標(biāo)準(zhǔn)Windows DDE交換。
(2)變量數(shù)據(jù)庫(kù)
在組態(tài)軟件中定義需要使用的IO變量和內(nèi)存變量。其中,IO變量要與LonWorks智能節(jié)點(diǎn)軟件中定義的輸入輸出網(wǎng)絡(luò)變量一一對(duì)應(yīng)。
(3)界面設(shè)計(jì)
組態(tài)王為界面設(shè)計(jì)提供很多的圖形庫(kù),而且用戶也可以調(diào)入在其他圖形軟件中設(shè)計(jì)完成的位圖來(lái)設(shè)計(jì)人機(jī)界面。根據(jù)系統(tǒng)實(shí)際需要?jiǎng)?chuàng)建靜態(tài)或動(dòng)態(tài)的畫(huà)面,并確定畫(huà)面間的切換流程。
(4)程序編制
主要包括轉(zhuǎn)速調(diào)整子程序、單步執(zhí)行子程序、轉(zhuǎn)向控制子程序、界面動(dòng)畫(huà)的變量處理等。
本文完成了基于LonWorks現(xiàn)場(chǎng)總線技術(shù)的網(wǎng)絡(luò)化電機(jī)控制系統(tǒng),主要設(shè)計(jì)了LonWorks智能節(jié)點(diǎn)的硬件和軟件,并設(shè)計(jì)了上位機(jī)的監(jiān)控軟件,能夠?qū)崿F(xiàn)對(duì)多電機(jī)轉(zhuǎn)向、轉(zhuǎn)速的群控。
[1] 高安邦,孫社文,單洪.LonWorks技術(shù)開(kāi)發(fā)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2009:3-6.
[2] Toshiba Corporation.TMPN3150 NeuronChip for Distributed Intelligent Control Networks[M].New York:TOSHIBA Corporation,2006:1-6.
[3] Echelon Corporation.Neuron C Programmer's Guide[M].California:Echelon Corporation,2003 :2-13.
[4] Echelon Corporation.LonMaker User's Guide[M].California:Echelon Corporation,1995:7-11.
[5] Echelon Corporation.LonManager DDE Server User'sGuide[M].California:Echelon Corporation,1995 :5-7.
[6] 亞控科技.組態(tài)王6.5使用手冊(cè)[M].北京:北京亞控科技發(fā)展有限公司,2004:1-28.