自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

當(dāng)前位置:機(jī)電之家首頁(yè) >> PLC技術(shù)>> PLC文案資料 >> PLC試題庫(kù) >> 在LabVIEW 中編寫(xiě)PLC串口調(diào)試程序
在LabVIEW 中編寫(xiě)PLC串口調(diào)試程序

1. 概述

  虛擬儀器代表了今后測(cè)試儀器的發(fā)展方向,而LabVIEW作為虛擬儀器的一種較為優(yōu)秀的開(kāi)發(fā)平臺(tái),因其編程簡(jiǎn)單、功能圖表豐富及開(kāi)發(fā)環(huán)境開(kāi)發(fā),而得到日益廣泛的應(yīng)用。

  在生產(chǎn)型企業(yè)中的典型應(yīng)用是由PLC網(wǎng)絡(luò)和工控機(jī)組成的以LabVIEW為開(kāi)發(fā)平臺(tái)的生產(chǎn)監(jiān)控系統(tǒng)。該系統(tǒng)通過(guò)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ǔ)。

  此文中,介紹了如何通過(guò)LabVIEW的串口節(jié)點(diǎn)和儀器I/O助手實(shí)現(xiàn)讀寫(xiě)松下FP2 系列的PLC。 圖1-1為PLC和工控機(jī)組成的生產(chǎn)網(wǎng)絡(luò)的典型架構(gòu)圖,其中各PLC以PC bbbb網(wǎng)絡(luò)的形式通訊。

圖1-1
圖1-1 PC機(jī)與PLC組成的典型網(wǎng)絡(luò)架構(gòu)圖



  圖中PLC模塊組的各模塊單元分別為:

  a) PW:電源模塊
  b) CPU:松下FP2系列PLC控制模塊
  c) MW:網(wǎng)絡(luò)通訊單元MEWNET (Multi-wire bbbb unit)
  d) SDU:串口通訊單元Serial data unit
  e) I/O:輸入輸出模塊


  2. 串口讀寫(xiě)程序的編寫(xiě)

  2.1. LabVIEW中VISA節(jié)點(diǎn)簡(jiǎn)介

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

圖2-1
圖2-1 VISA節(jié)點(diǎn)選擇路徑



  在LabVIEW中,VISA串行通信節(jié)點(diǎn)的使用方法比較簡(jiǎn)單,且易于理解。以下試驗(yàn)結(jié)合各節(jié)點(diǎn)的參數(shù)定義、用法及功能,詳細(xì)說(shuō)明了一個(gè)完整的串口讀寫(xiě)過(guò)程。


  2.2. LabVIEW編寫(xiě)串口讀寫(xiě)程序

  圖2-2所示的是LabVIEW 中串口讀寫(xiě)程序的前面板設(shè)計(jì),在此面板中可選擇串口資源,設(shè)置串口參數(shù),包括波特率、數(shù)據(jù)位、校驗(yàn)、停止位與握手控制(流控制)等。按如圖1-2上的參數(shù)設(shè)置好,在發(fā)送區(qū)輸入符合松下PLC通訊協(xié)議格式的讀命令字符串:“#RDD0000000026**\r”,按下運(yùn)行按鈕后,在返回區(qū)會(huì)收到正確返回字串:“RD6F694F496F704F5051576F696F696F696F696F696F
696F696F696F696F696F696F696F696F696F696F696F696F696F696F696F696F6910”。

  依照《松下MEWTOCOL通訊協(xié)議》的解釋?zhuān)俗执颜_的返回?cái)?shù)據(jù)寄存器DT0到DT26的數(shù)據(jù)信息。這樣就輕易地實(shí)現(xiàn)了LabVIEW的一個(gè)讀取PLC數(shù)值的動(dòng)作。

圖2-2
圖2-2 LabVIEW串口程序前面板


  在LabVIEW 中,前面板節(jié)點(diǎn)與后面板節(jié)點(diǎn)成對(duì)應(yīng)前后關(guān)系,程序在后面板執(zhí)行,其結(jié)果在前面板中顯示。打開(kāi)LABVIEW的后面板,程序顯示如下圖2-3,其執(zhí)行順序?yàn)椋旱谝徊剑跏蓟?,設(shè)置串口的通訊參數(shù),使其與PLC的串行通訊參數(shù)一致,此動(dòng)作由“VISA Configuration Serial Port.vi”節(jié)點(diǎn)點(diǎn)完成。如下圖:

圖2-3
圖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è)為:無(wú)校驗(yàn)、奇校驗(yàn)與偶校驗(yàn)等。根據(jù)此節(jié)點(diǎn)的特征:輸入數(shù)字“0”代表為無(wú)校驗(yàn),輸入數(shù)字“1”為奇校驗(yàn),輸入數(shù)字“2”為偶校驗(yàn)。對(duì)于停止位則輸入數(shù)字“10”代表選擇的停止位為1位,輸入數(shù)字“15”代表選擇停止位為1.5位,輸入數(shù)字“20”代表選擇停止位為2位。握手控制(流控制)一般設(shè)為不使用,即輸入數(shù)字“0”(握手控制只在串口緩存不足時(shí)才使用)。

  完成了第一步串口設(shè)置后,程序就執(zhí)行第二步動(dòng)作,向串口寫(xiě)入字符。這一步動(dòng)作由VISA節(jié)點(diǎn)“VISA Write”完成。圖標(biāo)及端口見(jiàn)圖2-4。

圖2-4
圖2-4 VISA 的串口寫(xiě)節(jié)點(diǎn)


  該節(jié)點(diǎn)的主要功能:將把write buffer端口輸入的數(shù)據(jù)寫(xiě)入由VISA resource name端口指定的設(shè)備中??捎糜趯⒆址畬?xiě)入串口的輸出緩存,將字符串從串口發(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
圖2-5 串口等待50ms



  第四步為讀取串口緩存動(dòng)作,這一步動(dòng)作由VISA節(jié)點(diǎn)“VISA Read”完成。圖標(biāo)及端口見(jiàn)圖2-6。

圖2-6
圖2-6 VISA 的串口讀節(jié)點(diǎn)


  該節(jié)點(diǎn)的主要功能:從由 VISA resource name端口指定的設(shè)備中讀取由byte count端口指定長(zhǎng)度的數(shù)據(jù)??捎糜趶拇诰彺嬷凶x出指定長(zhǎng)度的數(shù)據(jù)。

  而檢測(cè)當(dāng)前串口輸入字節(jié)數(shù)可由屬性節(jié)點(diǎn)“Property Node”中完成,圖標(biāo)及端口見(jiàn)圖2-7。

圖2-7
圖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 Read節(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)及端口見(jiàn)圖2-8

圖2-8
圖2-8 串口關(guān)閉節(jié)點(diǎn)



  該節(jié)點(diǎn)的主要功能:關(guān)閉由VISA resource name端口指定的設(shè)備連接??捎糜陉P(guān)閉一個(gè)已經(jīng)打開(kāi)的串口,從而釋放LabVIEW對(duì)這個(gè)串口資源的占用。
整個(gè)動(dòng)作在LabVIEW中的寫(xiě)法如圖2-9:

圖2-9
圖2-9 串口讀寫(xiě)程序的后面板



  以上是一個(gè)較為簡(jiǎn)單的串口讀寫(xiě)程序。由于在整個(gè)PC bbbb網(wǎng)絡(luò)中連接了多個(gè)站點(diǎn)的松下PLC,而PLC一次最多只能被讀取連續(xù)的27個(gè)數(shù)據(jù)寄存器的數(shù)值,所以,要完成整個(gè)生產(chǎn)系統(tǒng)的數(shù)據(jù)讀取,必須要分開(kāi)執(zhí)行多次讀和寫(xiě)的動(dòng)作。在這種情況下,就需要考慮讀寫(xiě)的時(shí)序問(wèn)題。要完成連續(xù)的周期性的多點(diǎn)讀寫(xiě)操作,在LabVIEW中可以使用順序結(jié)構(gòu)。順序結(jié)構(gòu)的功能是強(qiáng)制程序按一定的順序執(zhí)行。順序結(jié)構(gòu)可分為層疊式與平鋪式。不過(guò)這兩種結(jié)構(gòu)執(zhí)行相同的讀寫(xiě)操作,時(shí)間和順序都相同,都可以實(shí)現(xiàn)對(duì)于串口的連續(xù)多點(diǎn)讀寫(xiě)?!∮捎谧x寫(xiě)數(shù)據(jù)時(shí)每個(gè)數(shù)據(jù)長(zhǎng)度不一定都一樣,數(shù)據(jù)較多的,要等待較長(zhǎng)的時(shí)間,這樣才能保證在等待時(shí)間內(nèi)將所有數(shù)據(jù)讀取完畢;數(shù)據(jù)較少的,就不需等待同樣的時(shí)間。然而等待的時(shí)間一般較難確定,時(shí)間設(shè)得太長(zhǎng),占用串口的時(shí)間就會(huì)較長(zhǎng),會(huì)降低通訊效率,造成數(shù)據(jù)延時(shí);時(shí)間太短,數(shù)據(jù)沒(méi)有完全返回時(shí)就執(zhí)行下一步程序,可能會(huì)造成數(shù)據(jù)的丟失。

  在LabVIEW 7.0中新增了一個(gè)儀器I/O助手“Instrument I/O Assistant Express VI”,此VI可以較好地解決串口等待時(shí)間的問(wèn)題。節(jié)點(diǎn)的圖標(biāo)如下圖2-10:

圖2-10
圖2-10 Instrument I/O Assistant Express VI的圖標(biāo)



  儀器I/O助手提供了與GPIB、USB、串口、VXI等及其他傳統(tǒng)儀器的直接I/O連接,使用這種代碼生成助手(code-generating assistant),可以輕松地實(shí)現(xiàn)多點(diǎn)連續(xù)讀寫(xiě)串口功能。以下只選擇讀串口的功能作解說(shuō)。


  首先,雙擊此節(jié)點(diǎn),會(huì)彈出其操作界面,如下圖2-11:

圖2-11儀器I/O助手操作界面
圖2-11儀器I/O助手操作界面


  此操作界面可選擇串口,并設(shè)置串口特性。點(diǎn)擊如圖“ ”按鈕,會(huì)彈出如圖2-12的串口設(shè)置界面。

圖2-12
圖2-12 儀器I/O助手下的串口設(shè)置界面


  此操作界面設(shè)置串口參數(shù)的功能與“VISA Configuration Serial Port.vi”節(jié)點(diǎn)相同,參數(shù)是被固化的,也就是說(shuō)一旦完成了設(shè)置,串口的參數(shù)就不會(huì)隨意地改動(dòng),除非重新進(jìn)入此界面再設(shè)置。

  設(shè)置好參數(shù)后,可以點(diǎn)擊“Add step”操作,跟隨其指示操作可以完成其他設(shè)置。如下圖:

圖2-13
圖2-13 I/O助手下的串口其他設(shè)置的界面


  在此操作界面上可以測(cè)試串口數(shù)據(jù),寫(xiě)入要發(fā)送的字符串,并進(jìn)行單步操作,也可添加讀寫(xiě)命令等操作,還可以查詢幫助文件,獲得更詳細(xì)操作說(shuō)明。完成任務(wù)的輸出端口“Taken1”和“Taken2”,以字符串形式直接輸出。但如果輸出口大于5個(gè)時(shí),其會(huì)將輸出口變成“字符簇”輸出,此時(shí)只要選擇節(jié)點(diǎn)“Unbundle”將其解包就可以得出其相應(yīng)的字符串?!⊥ㄟ^(guò)以上設(shè)置,就可以實(shí)現(xiàn)不間斷地讀取PLC數(shù)據(jù)寄存器“DT0”到“DT26”與“D100”到“DT126”中的數(shù)據(jù)。實(shí)踐證明,用此程序讀取相同數(shù)量與數(shù)值PLC寄存器時(shí),此功能節(jié)點(diǎn)要比用VISA節(jié)點(diǎn)寫(xiě)的程序要快很多,基本上是個(gè)無(wú)等待、不間斷的讀取過(guò)程。



  2.3. 結(jié)論

  結(jié)合VISA各功能節(jié)點(diǎn)與儀器I/O助手“Instrument I/O Assistant Express VI”這兩種串口讀寫(xiě)方法,依照《松下MEWTOCOL協(xié)議》,就可以輕松地實(shí)現(xiàn)對(duì)FP2系列PLC中各種狀態(tài)的讀寫(xiě):包括改變輸入、輸出點(diǎn)的狀態(tài),對(duì)數(shù)據(jù)寄存器的數(shù)值進(jìn)行讀寫(xiě),讀取PLC的系統(tǒng)數(shù)據(jù)等操作,還能輕易地讀寫(xiě)PC-bbbb網(wǎng)絡(luò)上各站點(diǎn)的數(shù)據(jù)與監(jiān)控各站點(diǎn)的PLC狀態(tài)。


  3. 參考資料

  [1> 電子文檔, 《松下MEWTOCOL協(xié)議》

   [2> 楊樂(lè)平、李海濤、楊磊.LabVIEW程序設(shè)計(jì)與應(yīng)用[M>.第2版,電子工業(yè)出版社,2005:431-433頁(yè)
作者:未知 點(diǎn)擊:610次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:在LabVIEW 中編寫(xiě)PLC串口調(diào)試程序
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《在LabVIEW 中編寫(xiě)PLC串口調(diào)試程序》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊(cè)
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購(gòu)

宋磊 【求購(gòu)】  氮化硅套管  2026-4-3
黃經(jīng)理 【求購(gòu)】  LS母線槽  2026-4-3
陳先生 【求購(gòu)】  施耐德塑殼...  2026-4-2
譚經(jīng)理 【求購(gòu)】  工業(yè)溫度計(jì)  2026-4-2
焦經(jīng)理 【求購(gòu)】  液壓馬達(dá)  2026-4-2
周先生 【求購(gòu)】  36號(hào)白油  2026-4-2
王經(jīng)理 【求購(gòu)】  萊克斯洛面...  2026-4-2
柯經(jīng)理 【求購(gòu)】  西奧電梯  2026-4-2
VIP公司推薦