當前位置:福建順昌虹潤精密儀器有限公司>>技術文章>>儀表與組態王通訊設計
1 引言
目前組態王與單片機的通信多是通過動態數據交換或自己開發通訊驅動程序的方式進行的[1]。動態數據交換(DDE)是Windows平臺上一個完整的通訊協議,通過DDE使應用程序之間彼此能交換數據和發送指令。但使用DDE會帶來一些額外的開銷,如會降低系統實時性、增加系統的不可靠性,特別在多參數傳送時不太穩定,易出現數據丟失現象。而自己開發通訊驅動程序又有一定的難度,且開發周期較長。zui近,在為九江石化燃運輸煤皮帶監控系統的設計中,基于 MSP430單片機的智能儀表作為下位機,研華公司的工控機作為上位機,采用ADAM-5000的協議,實現了數據的實時采集、處理和顯示。
2 系統結構
燃運皮帶監控系統整體結構如圖1所示。現場的各種傳感器將測得的電壓、電流、速度信號通過自制的智能儀表傳送給上位機,在組態界面上實時顯示和監控皮帶的運行狀況;外部狀態輸入是通過智能儀表檢測電機接觸器輔助觸點的狀態,當信號是閉合狀態時系統的報警保護才起作用,否則當檢測到是開路信號時,采樣值超出范圍不報警,繼電器不動作;故障輸出是指電機一旦過流或皮帶堵煤、皮帶停轉、柱銷斷裂等故障時候,智能儀表發出脈沖信號送給PLC傳送至1-15#牽引電機接觸器和報警指示燈,從而切斷對應的接觸器,停止相應的電機,同時發出相應的聲光報警信號
圖1 燃運輸煤皮帶監控系統整體結構框圖
3 通信實現
3.1 通信接口
本系統采用RS485串行通信標準。RS485采用差分傳輸方式,可以有效地提高抗共模干擾能力,zui高傳輸速率可達10Mb/s,zui遠傳輸距離可達 1200m,支持與數據通信設備多連接。RS485由于傳輸速率高,傳輸距離遠,已成為工控系統串行通信的普遍形式。當采用RS485實現上位機與下位機串行通信時,由于上位機通常只提供RS232串行接口,因此需要使用RS232/RS485通信接口進行轉接,在本文開發的監控系統中采用了多串口卡來實現轉換的。
3.2 MSP串行通信的特點
MSP430F149有兩個串行通信模塊:USART0和USART1[2]。它的通信功能很強,模塊在發送和接收每一字節數據時都可以觸發中斷,從而使CPU退出低功耗模式。發送和接收中斷由兩個獨立的中斷控制位控制。與傳統的串行通信相比,MSP430單片機用低時鐘頻率實現高速通信的方法是:除了分頻因子外,還有一個分頻因子調整寄存器,它用分頻因子加調整的方法可以實現每一字節內各位有不同的分頻因子,從而保證每位數據的中心三個時鐘狀態都處于有效的數據范圍內,在低時鐘頻率時實現高通信波特率。從機地址位多機模式的通信格式為:起始位+數據位+地址/數據位+停止位。從機通過地址/數據位判別收到的是數據幀還是地址幀,當收到的數據是地址的時候,將收到的字節與本機地址進行對比,如果相等,則表明主機將與本機進行通信,復位寄存器 U0RCTL的URXWIE位。此后收到數據后將觸發接收中斷,在中斷程序中將收到的數據存入接收緩沖區。如果收到的地址與本機地址不符,則說明主機以后發送的數據不是針對本機的,置位寄存器U0RCTL的URXWIE位,此后接收到數據字節將不會觸發中斷。
3.3 通信協議
ADAM5000/485系列采用EIA RS485通訊協議,該協議遵循命令/響應的通訊方式[3]。通訊過程中主局保持主動權,主局通過對子局的呼叫建立通訊連接。并通過向子局發送命令幀來控制數據傳送的方向及內容,子局只能響應主局對自己的呼叫和根據幀的內容進行相應的數據傳輸。ADAM模塊的 RS485口與計算機通訊的方式為串行異步半雙工方式,支持ASCII碼傳輸方式。ADAM-5000系列中AI模塊的幀格式如表1所示。
表1 ADAM-5017命令幀格式
命令幀的*個字節為起始符,有$和#兩種形式。以$開頭的可獲取版本信息、校正AI模塊等;以#開頭的用來讀取ADAM-5017通道值,是我們要用到的命令形式;地址范圍是00-FF;槽號i取值范圍為0-7;其它,在定界符為$時,有9種形式,這里不再介紹。在定界符為#時,有2種形式,一種為空,命令內容為讀取i號槽模塊全部通道值;另一種為通道值j,命令內容為讀取i號槽模塊第j號通道值。ADAM-5000的響應幀格式如表2所示。對于定界符為#的命令幀,有兩種響應幀格式。
表2 ADAM-5017響應幀格式
起始符為>,表示模塊收到的命令有效,其后為到的命令有效,其后為全部通道值或某一通道值,隨命令幀格式而定;起始符為?,表示5017收到的命令無效,其后地址與收到命令幀的地址相同。
燃運輸煤皮帶監控系統中選用1位起始位,8位數據位,1位結束位,0位奇偶校驗位,波特率為9600bps。如組態王要獲取ADAM-5000地址為 01的5017(第1槽)的數據,在串口調試工具中發送#01S1(cr),自制智能儀表首先對串口調試工具發送的命令進行判斷,如果接收的命令符合 ADAM5000/485指令集(如為#01S1(cr)),則按照指令集的響應格式返回(如:>+1.4567,+1.4852,+1.6661,+1.6321,+1.6459,+2.989,+1.7768,+1.1623(cr) ) [3][4]。
3.4 組態王的通信配置
組態王6.51是在上位機上建立工業控制對象人機接口的一種智能軟件包,它以Windows NT4.0(sp6)/Windows 2000 /Windows XP簡體中文版操作系統作為其操作平臺,充分利用了Windows圖形功能完備,界面一致性好,易學易用的特點[5]。組態王把每一臺與之通訊的設備看作是外部設備,目前能連接PLC、智能儀表、智能模塊、板卡、變頻器等幾百種外部設備,為實現和外部設備的通訊,組態王內置了大量設備的驅動作為組態王與外部設備的通訊接口。在運行期間,組態王就可通過驅動接口和外部設備交換數據,包括采集數據和發送數據指令。
本系統插接多串口卡使用了COM3和COM4口,其中COM3口掛接1#-7#儀表,COM4口掛接8#-15#儀表,共采集、傳輸、顯示105 個I/O參數。在組態王的工程瀏覽器中點擊設備\COM3, 在右面窗口中雙擊新建,出現設備配置向導,設置智能模塊\亞當5000系列 \Adam5017\串行,一直點擊下一步,邏輯設備命名為一號儀表AD模塊5017,選擇COM3口,配置設備地址為0011(組態王的設備地址設置格式為四位的整數,前三位為ADAM-5000的網絡地址,第四位為I/O模塊所在的槽號(范圍為0-7),如:地址設置為0011,其中001是 ADAM-5000的網絡地址,1是第2個槽號),設置好通信參數,即完成了設備的通信配置,同理可完成其它14個設備的配置。COM3、COM4的通訊參數設置為9600/8/1/無校驗。此外還要對各I/O變量進行各參數的設置,如圖2所示。
圖2 組態王I/O變量定義
3.5 通信軟件設計
為了保證數據的可靠傳輸,儀表的通信部分采用了研華公司多通道A/D亞當模塊ADAM-5017的協議,避免了開發上位機與儀表之間的驅動程序,大大縮短了系統開發的時間。一旦有字符發送或者接收MSP430單片機就產生中斷,用中斷方式完成通信。MSP430單片機讀寫程序流程如圖3所示。
圖3 通訊軟件流程圖
4 結束語
本文采用ADAM-5000模塊協議,實現了組態王6.51與多MSP430單片機的串行通訊。特別在采集、顯示參數較多的情況下,采用此方法數據傳輸可靠。目前,設計的九江石化燃運輸煤皮帶監控系統已投入使用,運行狀況良好。
本文作者創新點:儀表的通信程序遵循研華公司多通道A/D亞當模塊ADAM-5017的協議編寫,避免了開發上位機與儀表之間的驅動程序,大大縮短了系統開發的時間。
參考文獻:
[1] 蔚俊蘭,丁振榮.組態王6.5與單片機的通信方法[J].工業控制計算機,2004,17(10),58-59.
[2] 張晞,王德銀,張晨.MSP430系列單片機使用C語言程序設計[M].北京,人民郵電出版社,2005.
[3] ADAM-5000 Series RS-485 Based Data Acquisition and Control System User’s Manual.
[4] 呂鵬剛,何承波,劉開培等.基于亞當模塊的火電廠自動加藥系統[J].微計算機信息2001,17(11):19-20.
[5] 北京亞控科技發展有限公司. 組態王6.51使用手冊.2005。
福建順昌虹潤精密儀器有限公司http://www.om600.com/Company/Detail/280126.html
請輸入賬號
請輸入密碼
請輸驗證碼
以上信息由企業自行提供,信息內容的真實性、準確性和合法性由相關企業負責,化工儀器網對此不承擔任何保證責任。
溫馨提示:為規避購買風險,建議您在購買產品前務必確認供應商資質及產品質量。