基于MSP430的智能儀表與組態(tài)王的通訊設(shè)計(jì)
發(fā)布時(shí)間:2007/9/10 0:00:00 訪問次數(shù):942
來源:微計(jì)算機(jī)信息 作者:李傳鋒 沈安文 趙方亮
摘要:本文采用亞當(dāng)模塊的協(xié)議,實(shí)現(xiàn)了組態(tài)王與多MSP430單片機(jī)的直接通信。該方法簡(jiǎn)單、經(jīng)濟(jì)、數(shù)據(jù)傳輸穩(wěn)定,并在實(shí)際設(shè)計(jì)的監(jiān)控系統(tǒng)中獲得了成功運(yùn)用。
關(guān)鍵詞:智能儀表;組態(tài)王;亞當(dāng)模塊;多機(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)。最近,在為九江石化燃運(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所示。現(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采用差分傳輸方式,可以有效地提高抗共模干擾能力,最高傳輸速率可達(dá)10Mb/s,最遠(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,命令
來源:微計(jì)算機(jī)信息 作者:李傳鋒 沈安文 趙方亮
摘要:本文采用亞當(dāng)模塊的協(xié)議,實(shí)現(xiàn)了組態(tài)王與多MSP430單片機(jī)的直接通信。該方法簡(jiǎn)單、經(jīng)濟(jì)、數(shù)據(jù)傳輸穩(wěn)定,并在實(shí)際設(shè)計(jì)的監(jiān)控系統(tǒng)中獲得了成功運(yùn)用。
關(guān)鍵詞:智能儀表;組態(tài)王;亞當(dāng)模塊;多機(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)。最近,在為九江石化燃運(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采用差分傳輸方式,可以有效地提高抗共模干擾能力,最高傳輸速率可達(dá)10Mb/s,最遠(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,命令
熱門點(diǎn)擊
- HFDN-36.0 MAX3740/MAX3
- 雙路CCD高精度線紋位置實(shí)時(shí)監(jiān)控系統(tǒng)
- 基于PIC單片機(jī)的智能IC卡燃?xì)獗黼娍叵到y(tǒng)設(shè)
- 基于MSP430的智能儀表與組態(tài)王的通訊設(shè)計(jì)
- RIGOL DS1000A滿足工業(yè)控制中的高
推薦技術(shù)資料
- 驅(qū)動(dòng)板的原理分析
- 先來看看原理圖。圖8所示為底板及其驅(qū)動(dòng)示意圖,F(xiàn)M08... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究