在LabVIEW 中編寫PLC串口調(diào)試程序_第1頁
在LabVIEW 中編寫PLC串口調(diào)試程序_第2頁
在LabVIEW 中編寫PLC串口調(diào)試程序_第3頁
在LabVIEW 中編寫PLC串口調(diào)試程序_第4頁
在LabVIEW 中編寫PLC串口調(diào)試程序_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、在LabVIEW中編寫PLC串口調(diào)試程序評(píng)職稱,發(fā)論文,交給機(jī)電之家,3個(gè)月內(nèi)完成!收藏此信息打印該信息添加:佚名 來源:未知 1.概述虛擬儀器代表了今后測(cè)試儀器的發(fā)展方向,而LabVIEW作為虛擬儀器的一種較為優(yōu)秀 的開發(fā)平臺(tái),因其編程簡(jiǎn)單、功能圖表豐富及開發(fā)環(huán)境開發(fā),而得到日益廣泛的應(yīng)用。在生產(chǎn)型企業(yè)中的典型應(yīng)用是由PLC網(wǎng)絡(luò)和工控機(jī)組成的以LabVIEW為開發(fā)平臺(tái)的 生產(chǎn)監(jiān)控系統(tǒng)。該系統(tǒng)通過PLC、LabVIEW的控制程序和網(wǎng)絡(luò)通訊功能,實(shí)現(xiàn)生產(chǎn)網(wǎng)絡(luò)各 功能的控制和監(jiān)控。因此實(shí)現(xiàn)工控機(jī)與PLC網(wǎng)絡(luò)的通訊和數(shù)據(jù)的解析是實(shí)現(xiàn)整個(gè)監(jiān)控系統(tǒng) 的基礎(chǔ)。此文中,介紹了如何通過LabVIEW的串口節(jié)點(diǎn)

2、和儀器I/O助手實(shí)現(xiàn)讀寫松下FP2系 列的PLC。圖1-1為PLC和工控機(jī)組成的生產(chǎn)網(wǎng)絡(luò)的典型架構(gòu)圖,其中各PLC以PC Li nk網(wǎng)絡(luò)的形式通訊。I號(hào)T.位 PLC模塊也(:VMSD12號(hào)_L世 PLC模塊絹p:FSL?3號(hào)工位PLC模塊期pc pMsD1W1;心L:0UU匚luWLU圖1-1 PC機(jī)與PLC組成的典型網(wǎng)絡(luò)架構(gòu)圖圖中PLC模塊組的各模塊單元分別為:PW:電源模塊CPU:松下FP2系列PLC控制模塊MW:網(wǎng)絡(luò)通訊單元 MEWNET (Multi-wire link unit)SDU:串口通訊單元 Serial data unite) /。:輸入輸出模塊2.串口讀寫程序的編寫2.

3、1. LabVIEW中VISA節(jié)點(diǎn)簡(jiǎn)介在LABVIEW中用于串行通信的節(jié)點(diǎn)實(shí)際上是VISA (Virtual instrument software arc hitecture)節(jié)點(diǎn)。為了方便用戶使用,LabVIEW將這些VISA節(jié)點(diǎn)單獨(dú)組成一個(gè)子模塊, 共包含6個(gè)節(jié)點(diǎn),分別實(shí)現(xiàn)初始化串口、串口寫、串口讀、中斷以及關(guān)閉串口等功能,這 些節(jié)點(diǎn)位于Functions模板/All Functions子模板/Instrument I/O子模板、Serial子模板中, 如下圖2-1所示。圖2-1 VISA節(jié)點(diǎn)選擇路徑圖2-1 VISA節(jié)點(diǎn)選擇路徑在LabVIEW中,VISA串行通信節(jié)點(diǎn)的使用方法比較簡(jiǎn)單

4、,且易于理解。以下試驗(yàn)結(jié) 合各節(jié)點(diǎn)的參數(shù)定義、用法及功能,詳細(xì)說明了一個(gè)完整的串口讀寫過程。圖2-2所示的是LabVIEW中串口讀寫程序的前面板設(shè)計(jì),在此面板中可選擇串口資源, 設(shè)置串口參數(shù),包括波特率、數(shù)據(jù)位、校驗(yàn)、停止位與握手控制(流控制)等。按如圖1-2 上的參數(shù)設(shè)置好,在發(fā)送區(qū)輸入符合松下PLC通訊協(xié)議格式的讀命令字符串:01#RDD 0000000026*r”,按下運(yùn)行按鈕后,在返回區(qū)會(huì)收到正確返回字串:01RD6F694F496F704F 5051576F696F696F696F696F696F696F696F696F696F696F696F696F696F696F696F696F

5、696F696F696F696F696F6910”。依照松下MEWTOCOL通訊協(xié)議的解釋,此字串已正確的返回?cái)?shù)據(jù)寄存器DT0到DT26的數(shù)據(jù)信息。這樣就輕易地實(shí)現(xiàn)了 LabVIEW的一個(gè)讀取PLC數(shù)值的動(dòng)作。!昌FL匚通vi Front Panel *E0KE.il EditBrwst Vindn tftlp今 雪 )II gt將隊(duì)恥 I墨b|石一|坐卻登1州送區(qū)(寫入)圖2-2 LabVIEW串口程序前面根圖2-2 LabVIEW串口程序前面板在LabVIEW中,前面板節(jié)點(diǎn)與后面板節(jié)點(diǎn)成對(duì)應(yīng)前后關(guān)系,程序在后面板執(zhí)行,其結(jié) 果在前面板中顯示。打開LABVIEW的后面板,程序顯示如下圖2-3

6、,其執(zhí)行順序?yàn)椋旱谝?步,初始化串口,設(shè)置串口的通訊參數(shù),使其與PLC的串行通訊參數(shù)一致,此動(dòng)作由“VIS A Configuration Serial Port.vi”節(jié)點(diǎn)點(diǎn)完成。如下圖:VESA Configure Serial PortEnatla I eiminalitri Ckiar T iw引Idlijplicsie VISA leource rwnirara oUleiFTindtion ctiar(0iA = Vi. timewUlOsec) VISA re殉name baud rate 9SCO data bits (B Kiity 0:nqnejwicr in iw - 牡

7、op bih 10:1 bij- flow corirol (0:norie)-圖2-3 LabVIEW串口設(shè)置節(jié)點(diǎn)后面根圖2-3 LabVIEW串口設(shè)置節(jié)點(diǎn)后面板該節(jié)點(diǎn)的主要功能是初始化、配置串口。用該節(jié)點(diǎn)設(shè)置串口的波特率為:115200bps、 數(shù)據(jù)位為:8位;停止位為:1位;奇偶校驗(yàn)為:奇校驗(yàn);流量控制為:不使用。其中波特 率可設(shè)為115200 bps、19200 bps、9600 bps等;數(shù)據(jù)位一般可設(shè)為:7或8位;而校驗(yàn) 位可設(shè)為:無校驗(yàn)、奇校驗(yàn)與偶校驗(yàn)等。根據(jù)此節(jié)點(diǎn)的特征:輸入數(shù)字“0”代表為無校驗(yàn), 輸入數(shù)字“1”為奇校驗(yàn),輸入數(shù)字“2”為偶校驗(yàn)。對(duì)于停止位則輸入數(shù)字“10”代

8、表選擇的停止 位為1位,輸入數(shù)字“15”代表選擇停止位為1.5位,輸入數(shù)字20”代表選擇停止位為2位。 握手控制(流控制)一般設(shè)為不使用,即輸入數(shù)字“0”(握手控制只在串口緩存不足時(shí)才使用)。完成了第一步串口設(shè)置后,程序就執(zhí)行第二步動(dòng)作,向串口寫入字符。這一步動(dòng)作由VISA節(jié)點(diǎn)“VISA Write”完成。圖標(biāo)及端口見圖2-4。IVJSA resource n-gnne心dup VISA rescurqewrite buffer J l ifitbrn COKIterror in (rw error)心圖2-4 VISA的串口寫節(jié)點(diǎn)圖2-4 VISA的串口寫節(jié)點(diǎn)該節(jié)點(diǎn)的主要功能:將把write

9、 buffer端口輸入的數(shù)據(jù)寫入由VISA resource name端口指定的設(shè)備中??捎糜趯⒆址畬懭氪诘妮敵鼍彺妫瑢⒆址畯拇诎l(fā)送出去。第三步動(dòng)作為等待動(dòng)作。串口將數(shù)據(jù)發(fā)送給PLC后,串口與PLC都需要時(shí)間執(zhí)行程序。如圖2-5所示的,由一個(gè)毫秒等待計(jì)時(shí)器與一個(gè)順序結(jié)構(gòu)框架表示此程序需要等待50ms, 然后才可以執(zhí)行下一步程序。圖2-5串口等待50ms圖2-5串口等待50ms第四步為讀取串口緩存動(dòng)作,這一步動(dòng)作由VISA節(jié)點(diǎn)“VISA Read”完成。圖標(biāo)及端口見圖2-6。1V1SA resource name byte count error 尚(rw error)圖2-6 VISA

10、的串口讀節(jié)點(diǎn)圖2-6 VISA的串口讀節(jié)點(diǎn)該節(jié)點(diǎn)的主要功能:從由VISA resource name端口指定的設(shè)備中讀取由byte count 端口指定長(zhǎng)度的數(shù)據(jù)。可用于從串口緩存中讀出指定長(zhǎng)度的數(shù)據(jù)。而檢測(cè)當(dāng)前串口輸入字節(jié)數(shù)可由屬性節(jié)點(diǎn)“Property Node”中完成,圖標(biāo)及端口見圖2- 7。IE*壇汕:ftytes at Fortl圖2-7串口屬性節(jié)點(diǎn)圖2-7串口屬性節(jié)點(diǎn)該節(jié)點(diǎn)的主要功能:返回串口的輸入緩存中數(shù)據(jù)的字節(jié)數(shù)。在使用VISA Read節(jié)點(diǎn)讀 取串口前,可以先用VISA Bytes at Serial Port節(jié)點(diǎn)檢測(cè)當(dāng)前串口輸入緩存中存在的字節(jié) 數(shù),然后由此指定VISA R

11、ead節(jié)點(diǎn)從串口輸入緩存中讀取的字節(jié)數(shù),可以保證一次將串口 輸入緩存中的數(shù)據(jù)全部讀出。此節(jié)點(diǎn)功能可設(shè)為其它VIS節(jié)點(diǎn)的屬性如:TCP/IP或USB。第五步動(dòng)作就是在完成發(fā)送與讀取后關(guān)閉占用的串口資源。這一步動(dòng)作由VISA節(jié)點(diǎn)“VISA Close”完成。圖標(biāo)及端口見圖2-8VISA refoufceerror in (nobhe out圖2-8串口關(guān)閉節(jié)點(diǎn)圖2-8串口關(guān)閉節(jié)點(diǎn)該節(jié)點(diǎn)的主要功能:關(guān)閉由VISA resource name端口指定的設(shè)備連接??捎糜陉P(guān)閉 一個(gè)已經(jīng)打開的串口,從而釋放LabVIEW對(duì)這個(gè)串口資源的占用。整個(gè)動(dòng)作在LabVIEW中的寫法如圖2-9:圖2-9串口讀寫程序的

12、后面板以上是一個(gè)較為簡(jiǎn)單的串口讀寫程序。由于在整個(gè)PC link網(wǎng)絡(luò)中連接了多個(gè)站點(diǎn)的松 下PLC,而PLC 一次最多只能被讀取連續(xù)的27個(gè)數(shù)據(jù)寄存器的數(shù)值,所以,要完成整個(gè) 生產(chǎn)系統(tǒng)的數(shù)據(jù)讀取,必須要分開執(zhí)行多次讀和寫的動(dòng)作。在這種情況下,就需要考慮讀寫 的時(shí)序問題。要完成連續(xù)的周期性的多點(diǎn)讀寫操作,在LabVIEW中可以使用順序結(jié)構(gòu)。順 序結(jié)構(gòu)的功能是強(qiáng)制程序按一定的順序執(zhí)行。順序結(jié)構(gòu)可分為層疊式與平鋪式。不過這兩種 結(jié)構(gòu)執(zhí)行相同的讀寫操作,時(shí)間和順序都相同,都可以實(shí)現(xiàn)對(duì)于串口的連續(xù)多點(diǎn)讀寫。由于讀寫數(shù)據(jù)時(shí)每個(gè)數(shù)據(jù)長(zhǎng)度不一定都一樣,數(shù)據(jù)較多的,要等待較長(zhǎng)的時(shí)間,這樣才 能保證在等待時(shí)間內(nèi)將

13、所有數(shù)據(jù)讀取完畢;數(shù)據(jù)較少的,就不需等待同樣的時(shí)間。然而等待 的時(shí)間一般較難確定,時(shí)間設(shè)得太長(zhǎng),占用串口的時(shí)間就會(huì)較長(zhǎng),會(huì)降低通訊效率,造成數(shù) 據(jù)延時(shí);時(shí)間太短,數(shù)據(jù)沒有完全返回時(shí)就執(zhí)行下一步程序,可能會(huì)造成數(shù)據(jù)的丟失。在 LabVIEW 7.0 中新增了一個(gè)儀器 I/O 助手Instrument I/O Assistant Express VI”,此VI可以較好地解決串口等待時(shí)間的問題。節(jié)點(diǎn)的圖標(biāo)如下圖2-10:I&=VrwneBt I/O電廿和*in圖 2-10 Instrument I/O Assistant Express VI 的圖標(biāo)圖 2-10 Instrument I/O Ass

14、istant Express VI 的圖標(biāo)儀器I/O助手提供了與GPIB、USB、串口、VXI等及其他傳統(tǒng)儀器的直接I/O連接,使用這種代碼生成助手(code-generating assistant),可以輕松地實(shí)現(xiàn)多點(diǎn)連續(xù)讀寫串口功 能。以下只選擇讀串口的功能作解說。圖2-11儀器I/O助手操作界面此操作界面可選擇串口,并設(shè)置串口特性。點(diǎn)擊如圖”按鈕,會(huì)彈出如圖2-12的串口 設(shè)置界面。餐 Edit VISA ource S&tt廈VISA Snlii-aD Q fjjjk!倔1Shci Kfel字n? asklit*Ft時(shí)h4HEHJpSiRe,MlMlxJ13fl*| Nits*3圖2

15、-12 W器I們助手下的串口設(shè)置界面|此操作界面設(shè)置串口參數(shù)的功能與“VISA Configuration Serial Port.vi”節(jié)點(diǎn)相同,參數(shù)是被固化的,也就是說一旦完成了設(shè)置,串口的參數(shù)就不會(huì)隨意地改動(dòng),除非重新進(jìn)入此界 面再設(shè)置。設(shè)置好參數(shù)后,可以點(diǎn)擊“Add step”操作,跟隨其指示操作可以完成其他設(shè)置。如下圖:圖2-13 I/O助手下的串口其他設(shè)置的界面在此操作界面上可以測(cè)試串口數(shù)據(jù),寫入要發(fā)送的字符串,并進(jìn)行單步操作,也可添加 讀寫命令等操作,還可以查詢幫助文件,獲得更詳細(xì)操作說明。完成任務(wù)的輸出端口 “Take n1”和“Taken2,以字符串形式直接輸出。但如果輸出口大于5個(gè)時(shí),其會(huì)將輸出口變成字符簇”輸出,此時(shí)只要選擇節(jié)點(diǎn)“Unbundle”將其解包就可以得出其相應(yīng)的字符串。通過以上設(shè)置,就可以實(shí)現(xiàn)不間斷地讀取PLC數(shù)據(jù)寄存器“DT0”到“DT26”與“D100”到“DT126”中的數(shù)據(jù)。實(shí)踐證明,用此程序讀取相同數(shù)量與數(shù)值PL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論