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