本文描述的網絡打印服務器(NPS)可以為工業現場的多個智能裝置提供可靠的打印共享服務,極大地節約了系統成本;并且還可以方便地對NPS的功能進一步擴充,構成一個分布式控制系統。Lonworks網絡技術是由Echelon公司開發的一種現場總線網技術,具有通信可靠、抗干擾能力強的優點,使其在航天控制、工業過程控制、樓宇自動化、通信等領域得到了廣泛的應用。其采用的LonTalk協議完全支持OSI/ISO網絡協議參考模型從物理層直至應用層的全部7層服務。Toshiba公司的TMPN3150/3120神經元芯片內嵌了LonTalk協議,LonTalk協議和一個網絡操作系統作為神經元芯片的固件提供給用戶,方便了用戶開發。神經元芯片支持多種通信介質、多信道和多種通信速率。NPS硬件設計采用Toshiba公司的TMPN3150神經元芯片,應用程序開發和調試工具為Echelon公司的NodeBuilder,其編程語言為Neuron C語言L4,5]。NPS能夠與多達64個其他智能設備(ID—Intelligent Device)構成總線型網絡,通信介質為雙絞線,通信速率在78kbps時最大通信距離為1 200 m。系統結構如圖1所示。 1 NPS硬件設計 如圖2所示,NPS采用1塊TMPN315081AF神經元芯片,配置1片64K×8位Flash存儲器作為程序存儲器和1片128K×8位RAM作為數據存儲器;神經元芯片的CP0~CP4雙向通信接口和78kbps的收發器構成Lon-works網絡接口;TMPN315081AF神經元芯片I/O引腳的功能可通過程序靈活配置。在此,I/00~I/07引腳接打印機接口的8位數據線,I/08引腳接打印機選通線(STRB),I/09接打印機的“Busy”信號線,并要在應用程序中用如下Neuron C語句配置: IO_0 output byte PrintData; IO_8 output bit PrintStb; IO_9 output bit PrintBusy;。 2 NPS應用程序設計 NPS與各個智能節點之間為主從方式,通過查詢完成工作。網絡尋址為domain:subnet:node方式。網絡通信采用顯示報文格式。 2.1 應用程序運行機制 TMPN315081AF神經元芯片固化了LonTalk的全部七層協議,位于應用層的調度程序(Scheduler)負責目標應用程序的啟動、任務調度運行,并且任務運行必須有一個特定的事件來觸發。根據這個調度機制,本文在NPS的應用程序中實現了以下事件(Events)及其對應任務的功能。 (1) reset事件 完成NPS的網絡地址設置,建立Lonworks網絡的域和地址,并完成打印機初始化工作。 (2)timer_expires事件 在程序中定義了3個周期性定時器: stimer repeating sNetUpDTr=12; mtimer repeating mAddrTr=300; mtimer repeating mPollTr=1000;。 秒級定時器sNetUpDTr啟動網絡更新,毫秒級定時器mAddrTr事件對應的任務通過廣播報文查詢網絡上的節點地址,并更新程序中的所有節點列表。節點結構定義如下: typedef struct { unsigned int ID_num;//唯一ID char ID_descrip[32];//描述網絡地址,定義在Neu-ron C的addrdefs.h文件中msg_out_addr ID_dest_addr; }ID_INFO; 毫秒級定時器mPollTr事件激發查詢任務,詢問網絡上的節點是否有打印信息。 (3)msg_arrives事件 當收到報文時,此事件為真,其對應的任務接收報文,根據報文類型字段,可以區分是命令報文還是欲打印數據報文。 (4)iO_in()事件 在程序中對應when(iO_in(Print_Busy)==0){…},就是當打印機一旦空閑,就啟動打印任務,把程序中打印緩沖區的數據輸出到打印機。整個NPS應用程序的運行機制如圖3所示,每個任務在執行時都調用相應的函數來完成預定功能,函數代碼不在此詳述。 2.2 應用程序通信協議 之所以單獨提出這個問題,是因為通訊協議對網絡應用程序至關重要。本文中,NPS和其他智能節點間的應用層通信協議為兩級協議:第一層,顯式報文嚴格按照Neu-ron C定義的格式、填寫報文的個字段;第二層,對顯式報文中的數據段,應該定義自己的用戶數據規約。 最后,應用程序在NodeBuider環境下編譯、連接后生成可執行文件,寫入到Flash存儲器,經變電站現場調試和測試,NPS能夠可靠地完成網絡打印功能。 3 結 論 Lonworks網絡技術是一種高抗干擾性、高性價比的現場總線網技術,本文NPS設計之所以采用這種技術就是考慮到工業現場往往具有很強的電磁干擾。從硬件、編程和開發工具對NPS的設計進行較詳盡地描述,希望對從事Lonworks網絡技術開發應用的讀者能稍有裨益。本裝置與變電站測控單元、保護單元配套,經過現場驗證,工作穩定可靠。 |