精品人妻无码一区二区三区软件 ,麻豆亚洲AV成人无码久久精品,成人欧美一区二区三区视频,免费av毛片不卡无码

您現(xiàn)在的位置是:首頁(yè)通信論文

通訊工程師論文單片機(jī)通訊設(shè)計(jì)及應(yīng)用

發(fā)布時(shí)間:2014-12-22 15:17:52更新時(shí)間:2014-12-22 15:18:17 1

  摘 要: 設(shè)計(jì)一種基于單片機(jī)的組態(tài)王KingView液位控制系統(tǒng);描述系統(tǒng)管路設(shè)計(jì)和底層硬件,著重對(duì)組態(tài)王和單片機(jī)之間的ASCII碼型通信協(xié)議,以及單片機(jī)在組態(tài)王中的通信格式設(shè)置進(jìn)行說(shuō)明。將其應(yīng)用到設(shè)計(jì)的以ADμC834為主控芯片的三容水箱液位控制系統(tǒng)中,加入簡(jiǎn)單PID控制算法,進(jìn)行了實(shí)物驗(yàn)證,使系統(tǒng)液位能快準(zhǔn)穩(wěn)的穩(wěn)定在目標(biāo)液位上,顯示該系統(tǒng)具有可靠性高、集成度高和成本低等優(yōu)點(diǎn)。

  關(guān)鍵字: 通訊工程師論文,組態(tài)王,三容水箱液位控制,PID,ASCII碼

  Design and application of KingView communication system based on

  single?chip microcomputer

  FU Zong?ning, JIANG Zhou?shu, HUANG Guo?hui

  (Automation College, Hangzhou Dianzi University, Hangzhou 310018, China)

  Abstract: A sort of KingView liquid level control system based on single?chip microcomputer is designed in this paper. The pipeline design and underlying hardware of the system are described. ASCII code communication protocol between KingView and MCU, and MCU communication format in KingView are elaborated in detail. They are applied to the self?designed three?tank water level control system, in which ADμC834 is taken as its main control chip and a simple PID control algorithm is added. The physical verification result indicates that it can control the water level in the setting level quickly, accurately and steadily, which shows that the system has high reliability, high integration and low cost.

  Keywords: KingView; three?tank liquid level control; PID; ASCII code

  0 引 沿

  隨著工業(yè)自動(dòng)化要求的提高,以及控制設(shè)備和過(guò)程監(jiān)控裝置之間通信的需求,使用組態(tài)軟件設(shè)計(jì)的監(jiān)控系統(tǒng)在逐漸普及。組態(tài)軟件因其工作性能穩(wěn)定可靠、人機(jī)界面良好、硬件配置方便以及編程簡(jiǎn)單等特點(diǎn)而得到了大量使用。常見(jiàn)的組態(tài)軟件有MCGS、King View、WinCC等。這些軟件都支持標(biāo)準(zhǔn)的控制設(shè)備,如PLC等。但在工業(yè)現(xiàn)場(chǎng),使用PLC等模塊的系統(tǒng)成本較高,而且在具有大量模擬量檢測(cè)的工業(yè)現(xiàn)場(chǎng),復(fù)雜的外圍電路也會(huì)影響系統(tǒng)的穩(wěn)定可靠性。單片機(jī)具有體積小、質(zhì)量輕、價(jià)格低、應(yīng)用開發(fā)便利等優(yōu)點(diǎn)。接口功能豐富,可以與前端電路制作在一塊電路板上,提高系統(tǒng)的可靠性。將單片機(jī)運(yùn)用到測(cè)控系統(tǒng)中,能將測(cè)量的靈活性和工控軟件的控制穩(wěn)定性有效的結(jié)合起來(lái),從而優(yōu)化現(xiàn)場(chǎng)測(cè)控系統(tǒng)的總體性能和性價(jià)比 [1]。

  將單片機(jī)的應(yīng)用開發(fā)便利、價(jià)格低、體積小和組態(tài)軟件的穩(wěn)定可靠等優(yōu)點(diǎn)相結(jié)合,必將成為工業(yè)生產(chǎn)的趨勢(shì)。其中,兩者間的數(shù)據(jù)交互是整個(gè)系統(tǒng)采集控制關(guān)鍵。

  1 系統(tǒng)總體架構(gòu)

  為了實(shí)現(xiàn)組態(tài)軟件和單片機(jī)的通信,采用三容水箱實(shí)驗(yàn)平臺(tái)作為物理平臺(tái)進(jìn)行驗(yàn)證,將通信程序運(yùn)用到三容水箱的液位控制系統(tǒng)中。

  三容水箱液位控制系統(tǒng)通過(guò)對(duì)各路水泵和閥門的控制,可以模擬現(xiàn)代工業(yè)生產(chǎn)過(guò)程中對(duì)液位、流量、壓力等參數(shù)的測(cè)量、控制,也可以觀察系統(tǒng)參數(shù)的變化特性,因此在工業(yè)應(yīng)用中具有很強(qiáng)的代表性[2?3]。

  本系統(tǒng)通體由透明有機(jī)玻璃制作而成,主要有2個(gè)小水箱、1個(gè)大水箱、不銹鋼臺(tái)面、電器盒、水槽4部分組成。并裝有6個(gè)進(jìn)水手動(dòng)閥,2個(gè)手動(dòng)溢水閥,2個(gè)手動(dòng)連通閥,3個(gè)電動(dòng)閥作為出水閥;水槽中安裝2個(gè)潛水泵用于打水;一個(gè)潛水泵作循環(huán)泵。如圖1所示。

  硬件系統(tǒng)采用美國(guó)AD公司推出的ADμC834單片機(jī)作為主控芯片,主要由處理器模塊、采集模塊、控制模塊和通信模塊組成,可以實(shí)現(xiàn)對(duì)3個(gè)水箱的液位、 2路流量、1路溫度信號(hào)的采集;2路水泵、1路循環(huán)泵和3個(gè)電動(dòng)球閥的控制;通過(guò)RS 232和RS 485通信模塊和上位機(jī)進(jìn)行通信[4]。如圖2所示。

  在實(shí)驗(yàn)過(guò)程中,用戶通過(guò)改變水泵兩端電壓改變水泵打水功率,水泵從水槽中抽水,經(jīng)過(guò)進(jìn)水手動(dòng)閥使水流入設(shè)定的水箱。液位傳感器、壓力傳感器等將檢測(cè)到的數(shù)據(jù)傳輸?shù)娇刂破,并由控制器根?jù)用戶設(shè)定電動(dòng)閥的出水開口度,可由此控制液位高度。在驗(yàn)證組態(tài)軟件和單片機(jī)通信實(shí)驗(yàn)中,可以采用一階簡(jiǎn)單一階液位控制,即通過(guò)設(shè)置電動(dòng)閥1開口度和控制水泵1打水功率實(shí)現(xiàn)水箱1的液位平衡。   2 系統(tǒng)軟件設(shè)計(jì)

  2.1 通信程序設(shè)計(jì)

  作為工業(yè)采集現(xiàn)場(chǎng)常用的控制器,單片機(jī)和組態(tài)王的數(shù)據(jù)交換是整個(gè)系統(tǒng)采集和控制間聯(lián)系的關(guān)鍵。傳統(tǒng)單片機(jī)和組態(tài)王的通信方式主要有3種:

 、 通過(guò)動(dòng)態(tài)數(shù)據(jù)交換(DDE)進(jìn)行通信,但這種方式操作復(fù)雜,對(duì)開發(fā)人員要求較高,也會(huì)帶來(lái)額外的開銷,如系統(tǒng)的實(shí)時(shí)性較差,增加系統(tǒng)的不可靠性等;

 、 利用組態(tài)王的驅(qū)動(dòng)程序開發(fā)包自己根據(jù)需求開發(fā)通信驅(qū)動(dòng)程序,但這種方法對(duì)開發(fā)人員要求更高,有一定的技術(shù)難度,且增加開發(fā)周期和成本;

 、 利用組態(tài)王提供的單片機(jī)通用通信協(xié)議進(jìn)行通信,該方法操作簡(jiǎn)便且實(shí)時(shí)性好,適用于一般用戶[5]。

  最新版本的組態(tài)王提供HEX型和ASCII型兩種單片機(jī)通用通信協(xié)議,可以通過(guò)串口直接和單片機(jī)進(jìn)行通信。通信方式有RS 232,RS 422,RS 485三種,可進(jìn)行奇偶檢驗(yàn),波特率最高可達(dá)256000bps。因?yàn)锳SCII型通信協(xié)議具有設(shè)計(jì)簡(jiǎn)單、程序易讀易寫等優(yōu)點(diǎn),所以本液位控制系統(tǒng)采用 ASCII型通信協(xié)議進(jìn)行數(shù)據(jù)交互。

  根據(jù)組態(tài)王提供的通用單片機(jī)ASCII型通信協(xié)議,組態(tài)王和單片機(jī)通信的命令格式主要分為讀/寫兩種格式[6],如下:

  除字頭、字尾外所有字節(jié)均為ASCII碼。

  字頭:1個(gè)字節(jié)1個(gè)ASCII碼,組態(tài)王中默認(rèn)為40H。

  設(shè)備地址:1個(gè)字節(jié)由2個(gè)ASCII碼表示,對(duì)應(yīng)組態(tài)王軟件中設(shè)置的0~255(即0~0x0FFH)。

  標(biāo)志位:1個(gè)字節(jié)數(shù)據(jù)由2個(gè)ASCII碼(bit0~bit7)表示,其中低4位有效:

  bit0=0:讀,bit0=1:寫;

  bit1=0:不打包,bit1=1:打包;

  bit3bit2=00:數(shù)據(jù)類型為字節(jié)(BYTE),

  bit3bit2=01:數(shù)據(jù)類型為字(UINT),

  bit3bit2=1x:數(shù)據(jù)類型為浮點(diǎn)數(shù)(FLOAT)。

  數(shù)據(jù)地址:2個(gè)字節(jié)由4個(gè)ASCII碼表示,范圍為0x0000~0xFFFF:

  當(dāng)單片機(jī)中定義的數(shù)據(jù)類型為BYTE型變量時(shí),在組態(tài)王中定義相應(yīng)的變量的從寄存器X0,X1,X2,X3,…開始對(duì)應(yīng)單片機(jī)中開始地址為0,1,2,3,…的占用一個(gè)字節(jié)的變量;

  當(dāng)單片機(jī)中定義的數(shù)據(jù)類型為UINT型變量時(shí),在組態(tài)王中定義相應(yīng)的變量的從寄存器X100,X102,X104,X106,…開始對(duì)應(yīng)單片機(jī)中開始地址為100,102,104,106,…的占用2個(gè)字節(jié)的變量;

  當(dāng)單片機(jī)中定義的數(shù)據(jù)類型為FLOAT型變量時(shí),在組態(tài)王中定義相應(yīng)的變量的從寄存器X200,X204,X208,X212,…開始對(duì)應(yīng)單片機(jī)中開始地址為200,204,208,212,…的占用4個(gè)字節(jié)的變量。

  數(shù)據(jù)字節(jié)數(shù):1個(gè)字節(jié)由2個(gè)ASCII碼表示,范圍在1~100間;

  數(shù)據(jù):實(shí)際傳送的數(shù)據(jù),由ASCII碼表示,個(gè)數(shù)為字節(jié)數(shù)的2倍;

  異或:1個(gè)字節(jié)由2個(gè)ASCII碼表示,用于對(duì)傳輸數(shù)據(jù)的正確與否進(jìn)行校驗(yàn),去除字頭從設(shè)備地址開始逐位進(jìn)行異或校驗(yàn)得到校驗(yàn)碼;

  CR:一個(gè)字節(jié)0x0d,表示一幀數(shù)據(jù)結(jié)束。

  初始化設(shè)定波特率和上位機(jī)標(biāo)準(zhǔn)口中設(shè)置的一致時(shí),上位機(jī)(組態(tài)王)發(fā)出命令幀,下位機(jī)(ADμC834單片機(jī))接受到數(shù)據(jù)后,對(duì)數(shù)據(jù)進(jìn)行解析:

  在接收到幀頭(40H)后,對(duì)上位機(jī)下傳的設(shè)備地址和單片機(jī)程序中定義的設(shè)備號(hào)進(jìn)行匹配,如果相同則進(jìn)一步接收數(shù)據(jù)至該幀數(shù)據(jù)的結(jié)束碼(0x0d),否則退出接收。

  上位機(jī)發(fā)送讀命令,主要用于單片機(jī)對(duì)數(shù)據(jù)的采集,格式為:

  單片機(jī)應(yīng)答,若異或校驗(yàn)正確:

  若錯(cuò)誤:

  在三容水箱液位控制系統(tǒng)中,上位機(jī)發(fā)送該命令向單片機(jī)請(qǐng)求讀取液位傳感器采集的液位值,單片機(jī)將采集到的AD值以ASCII碼格式發(fā)送到上位機(jī)。

  根據(jù)組態(tài)王讀命令的格式要求,設(shè)備地址設(shè)置為01,標(biāo)志位為04(數(shù)據(jù)類型為字,不打包,讀),數(shù)據(jù)地址為104(16進(jìn)制為68,4個(gè)ASCII碼表示為30 30 36 38),數(shù)據(jù)長(zhǎng)度2個(gè)字節(jié),因此上位機(jī)發(fā)送的一幀讀數(shù)據(jù)為:

  40 30 31 30 34 30 30 36 38 30 32 30 39 0d

  單片機(jī)響應(yīng)幀為:

  40 30 31 30 32 35 30 30 44 37 32 0D

  其中“35 30 30 44”即為采集到液位的A/D值(ASCII碼表示,16進(jìn)制為500D,即十進(jìn)制20 493)。

  以上過(guò)程可用串口調(diào)制工具實(shí)現(xiàn)。上位機(jī)發(fā)送寫命令,主要將控制命令發(fā)送給單片機(jī),格式為:

  單片機(jī)應(yīng)答,若校驗(yàn)正確:

  若錯(cuò)誤:

  組態(tài)王通過(guò)寫命令將水泵和球閥的控制命令發(fā)送給單片機(jī),再由單片機(jī)將數(shù)據(jù)進(jìn)行解析后對(duì)水泵打水功率和球閥開口度進(jìn)行控制,并向組態(tài)王反回應(yīng)答響應(yīng)幀。本系統(tǒng)采用控制開關(guān)電源調(diào)節(jié)24 V水泵的打水功率,開關(guān)電源輸出電壓由5 V信號(hào)16位PWM控制。16位PWM控制范圍在0~65 535,對(duì)應(yīng)0~24 V水泵電壓成線性比例關(guān)系。假設(shè)水泵的打水電壓為15 V,根據(jù)對(duì)應(yīng)的線性關(guān)系可以推算出單片機(jī)輸出的PWM值應(yīng)為:15×(65 535/24)=40 959,換算成16進(jìn)制為9FFF。對(duì)同一臺(tái)實(shí)驗(yàn)臺(tái)采用設(shè)采集液位相同的設(shè)備地址(01),標(biāo)志位05(數(shù)據(jù)類型為字,不打包,寫),數(shù)據(jù)地址為 100(16進(jìn)制為64,4個(gè)字節(jié)ASCII碼表示為30 30 36 34),數(shù)據(jù)長(zhǎng)度2個(gè)字節(jié),數(shù)據(jù)為9FFF(ASCII碼39 46 46 46),因此上位機(jī)發(fā)送的一幀讀數(shù)據(jù)為:   40 30 31 30 35 30 30 36 34 30 32 39 46 46 46 37 42 0d

  如校驗(yàn)正確,單片機(jī)返回應(yīng)答幀:

  40 30 31 23 23 30 31 0D

  其中,“23 23”為“##”的ASCII碼。

  同理,球閥開口度可從0~100%間調(diào)節(jié),設(shè)備地址(01),標(biāo)志位05(數(shù)據(jù)類型為字,不打包,寫),數(shù)據(jù)地址為102(16進(jìn)制為66,4個(gè)字節(jié) ASCII碼表示為30 30 36 36),數(shù)據(jù)長(zhǎng)度2個(gè)字節(jié),數(shù)據(jù)為001E(十進(jìn)制為30,ASCII碼30 30 31 45),因此上位機(jī)發(fā)送的一幀讀數(shù)據(jù)為:

  40 30 31 30 35 30 30 36 36 30 32 30 30 31 45 37 32 0d

  若校驗(yàn)錯(cuò)誤,則返回應(yīng)答幀:

  40 30 31 2A 2A 30 31 0D

  其中,“2A 2A”為“**”的ASCII碼。

  2.2 組態(tài)王軟件和算法設(shè)計(jì)

  根據(jù)單片機(jī)程序中對(duì)水泵(100)、球閥(102)和液位傳感器(104)設(shè)定的數(shù)據(jù)地址和數(shù)據(jù)類型,設(shè)置組態(tài)王中的數(shù)據(jù)詞典,并設(shè)定采集液位值的采集頻率(本系統(tǒng)中采用0.1 s發(fā)送一次讀指令)。制作組態(tài)王界面,對(duì)相關(guān)變量進(jìn)行關(guān)聯(lián),其中有關(guān)I/O變量的數(shù)據(jù)詞典如表1所示。

  表1 組態(tài)王數(shù)據(jù)詞典

  在應(yīng)用程序命令語(yǔ)言中寫入程序的運(yùn)行流程,并設(shè)置每1.5 s運(yùn)行一次[7]。在程序命令中,主要寫入命令為對(duì)水泵和球閥的控制,并在此加入PID控制算法,如圖3框圖所示,對(duì)液位平衡進(jìn)行控制。

  根據(jù)PID控制算法的原理,本系統(tǒng)采用水泵主控的方法進(jìn)行控制[8]。

  [u(k)=u(k-1)+Δu(k)=u(k-1)+KP[e(k)-e(k-1)]+ KIe(k)+KD[e(k)-2e(k-1)+e(k-2)]]

  由上式可以得到第k時(shí)刻對(duì)水泵的控制量u(k),將該值賦給水泵即可實(shí)現(xiàn)對(duì)水泵的控制。

  由圖4可以看到,通過(guò)調(diào)節(jié)PID參數(shù),液位能很快穩(wěn)定在150 mm的設(shè)定高度上[9]。

  3 結(jié) 論

  綜上所述,本系統(tǒng)很好地實(shí)現(xiàn)了ADμC834單片機(jī)和組態(tài)王基于ASCII碼的通信,并運(yùn)用到三容水箱液位控制系統(tǒng)中,通過(guò)PID的參數(shù)整定快準(zhǔn)穩(wěn)的將液位穩(wěn)定在目標(biāo)液位上。成功將組態(tài)軟件具有的工作性能穩(wěn)定、人機(jī)界面良好、配置方便以及編程簡(jiǎn)單和單片機(jī)體積小、價(jià)格低、應(yīng)用開發(fā)便利等優(yōu)點(diǎn)相結(jié)合,為實(shí)際工業(yè)控制中運(yùn)用組態(tài)王和單片機(jī)進(jìn)行控制奠定良好的實(shí)際應(yīng)用基礎(chǔ)。

  參考文獻(xiàn)

  [1] 趙學(xué)軍.單片機(jī)與組態(tài)王的通信程序設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2006,19(9):35?37.

  [2] SACO R, PIRES E, GODFRID C. Real time controlled laboratory plant for control education [J]. Frontiers in Education, 2002, 1: 102?112.

  [3] Amira Gmbh. Handbook of laboratory equipment three tank system [M]. Germany: Amira Gmbh, 1998.

  [4] 馮毅萍,樂(lè)嘉華.計(jì)算機(jī)液位控制系統(tǒng)實(shí)驗(yàn)裝置的研制[J].實(shí)驗(yàn)室研究與探索,2000(2):78?81.

  [5] 蔚俊蘭,丁振榮.組態(tài)王6.5與單片機(jī)的通信方法[J].工業(yè)控制計(jì)算機(jī),2004,17(10):58?59.

  [6] 朱小超,徐雪春.單片機(jī)與組態(tài)王基于ASCII型通信程序設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2010,23(12):34?36.


轉(zhuǎn)載請(qǐng)注明來(lái)自:http://www.jinnzone.com/tongxinlw/47500.html