![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/bb20351b-4baf-454f-96dc-401bb9ab4ad9/bb20351b-4baf-454f-96dc-401bb9ab4ad9pic.jpg)
![基于labview的plc與上位機(jī)通訊系統(tǒng)設(shè)計(jì)畢業(yè)論文_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/bb20351b-4baf-454f-96dc-401bb9ab4ad9/bb20351b-4baf-454f-96dc-401bb9ab4ad91.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘要</b></p><p> 論文以松下FP1系列PLC為研究對(duì)象,對(duì)其MEWTOCOL-COM協(xié)議,有關(guān)遠(yuǎn)程測(cè)控系統(tǒng)開發(fā),以及PLC指令的機(jī)器代碼進(jìn)行系統(tǒng)研究,并在此基礎(chǔ)上開發(fā)B/S 模式的Web遠(yuǎn)程測(cè)控系統(tǒng)。</p><p> 論文首先介紹了PLC的運(yùn)用領(lǐng)域和發(fā)展前景;其次對(duì)MEWTOCOL-COM協(xié)議進(jìn)行了系統(tǒng)的研究分析,以實(shí)
2、驗(yàn)統(tǒng)計(jì)的方式,得出了PLC基本指令的機(jī)器代碼表;接著基于LABVIEW10.0,開發(fā)了PLC與上位機(jī)的人機(jī)界面,簡(jiǎn)單實(shí)現(xiàn)了上位機(jī)對(duì)PLC端口,寄存器,定時(shí)器以及布爾命令的讀寫功能。接下來又介紹了通訊原理和通訊模式,描述了LABVIEW10.0中的通訊函數(shù),然后以16盞流水燈為例子,先在向PLC輸入梯形圖,然后在通訊系統(tǒng)上對(duì)PLC的進(jìn)行監(jiān)控,以16盞布爾燈顯示其運(yùn)行過程。接著比較分析了Date Socket 通訊,TCP通訊和Web通訊的
3、優(yōu)缺點(diǎn),并解釋了最終通訊方案選擇的原因。最后基于Web通訊技術(shù)實(shí)現(xiàn)了PLC與上位機(jī)的遠(yuǎn)程通訊。</p><p> 本文技術(shù)對(duì)進(jìn)一步研發(fā)PLC與上位機(jī)通訊系統(tǒng)提供了一定的借鑒作用,尤其機(jī)代碼的測(cè)定在后續(xù)進(jìn)一步開發(fā)通訊界面提供了新的方向。</p><p> 關(guān)鍵字:松下PLC 上位機(jī) 串口通訊 指令機(jī)代碼 LABVIEW10.0 Web服務(wù)器</p><p&g
4、t; Design a Communication System Between PLC and Computer</p><p><b> ABSTRCT</b></p><p> The paper see the PLC of FP1 series made by Panasonic as the research object, studying fo
5、r the MEWTOCOL-COM protocol, the development of remote monitoring and control system, as well as the machine code represented the PLC command ,and finally build a remote measurement and control system based on the Web in
6、 the model of B/S.</p><p> Firstly, the application fields and development prospects are introduced in this paper. Secondly, the MEWTOCOL-COM protocol is studied in a systematic way. Meanwhile, the machine
7、code table of the PLC basic command was found in statistical methods by conducting serious experiments. Thirdly, a PC interface lining to PLC was constructed based on LABVIEW10.0,and it can implement some function simply
8、 ,such as read or write the PLC ports ,registers, timers, or the Boolean command and so on. Then the </p><p> The technology studied in this thesis provides some reference function for the development of co
9、mmunications system between PLC and host PC.</p><p> Keywords:Panasonic PLC Host PC Serial Communication Machine Code LABVIEW10.0 Web Server</p><p><b> 目錄</b></p><p
10、><b> 摘要I</b></p><p> ABSTRCTII</p><p><b> 目錄III</b></p><p><b> 第一章 緒論1</b></p><p><b> 1.1 引言1</b></p>
11、;<p> 1.1.1PLC概述1</p><p> 1.1.2 PLC在控制領(lǐng)域的發(fā)展前景2</p><p> 1.2 PLC與上位機(jī)通訊概述3</p><p> 1.3 通訊系統(tǒng)設(shè)計(jì)方案3</p><p> 1.3.1通訊系統(tǒng)的可行性分析3</p><p> 1.3.2 軟件
12、系統(tǒng)的需求分析4</p><p> 1.3.3 軟件系統(tǒng)的總體設(shè)計(jì)4</p><p> 第二章 PLC的通訊協(xié)議8</p><p><b> 2.1 引言8</b></p><p> 2.2 Labview與上位機(jī)通訊8</p><p> 2.2.1 通訊概述8</p&
13、gt;<p> 2.2.3PLC與上位機(jī)的串口通訊原理9</p><p> 2.3PLC 與上位機(jī)的硬件連接11</p><p> 2.4松下FP系列的通訊協(xié)議11</p><p> 2.4.1 MEWTOCOL-COM的說明11</p><p> 2.4.2與通訊界面有關(guān)通訊指令說明14</p&g
14、t;<p> 第三章 labview與PLC的串口通信21</p><p> 3.1 labview 實(shí)現(xiàn)串口通信關(guān)鍵控件介紹21</p><p> 3.2 與PLC的通訊的程序設(shè)計(jì)24</p><p> 3.2.1. 通訊原理圖24</p><p> 3.2.2 設(shè)計(jì)系統(tǒng)的通訊模型25</p>
15、<p> 3.2.3 典型模塊通訊28</p><p> 3.3 Labview 實(shí)時(shí)監(jiān)控PLC實(shí)例:流水燈監(jiān)控31</p><p> 3.3.1 流水燈梯形圖設(shè)計(jì)31</p><p> 3.3.2 labview的監(jiān)控的程序設(shè)計(jì)35</p><p> 3.3.3 系統(tǒng)的監(jiān)控運(yùn)行調(diào)試37</p>
16、<p> 3.5 本章小結(jié)38</p><p> 第四章網(wǎng)絡(luò)遠(yuǎn)程虛擬儀器開發(fā)39</p><p> 4.1 通信模式39</p><p> 4.1.1 C/S(Client/Server)模式39</p><p> 4.1.2 B/S (Browser/ Server)模式40</p><
17、p> 4.1.3 C/S 和B/S 的比較選擇40</p><p> 4.2 開發(fā)遠(yuǎn)程虛擬儀器的技術(shù)42</p><p> 4.2.1 Date Socket 技術(shù)42</p><p> 4.2.2 TCP技術(shù)44</p><p> 4.2.3 Web技術(shù)46</p><p> 4.
18、3基于Web技術(shù)的網(wǎng)絡(luò)化開發(fā)46</p><p> 4.3.1配置LabVIEW Web服務(wù)器47</p><p> 4.3.2配置Web發(fā)布工具HTML文件48</p><p> 第五章 總結(jié)與展望50</p><p><b> 5.1 總結(jié)50</b></p><p><
19、;b> 5.2 展望51</b></p><p><b> 參考文獻(xiàn)52</b></p><p><b> 附錄53</b></p><p><b> 致謝63</b></p><p><b> 第一章 緒論</b>&l
20、t;/p><p><b> 1.1 引言</b></p><p> 可編程邏輯控制器(PLC)是以微處理器為核心的一種T業(yè)控制裝置,它綜合了計(jì)算機(jī)技術(shù)、自動(dòng)控制技術(shù)和網(wǎng)絡(luò)通信技術(shù),逐漸成為當(dāng)代工業(yè)控制領(lǐng)域的支柱產(chǎn)品。隨著現(xiàn)代工業(yè)生產(chǎn)自動(dòng)化水平的日益提高和微電子技術(shù)的飛速發(fā)展,PLC已成為功能完備的自動(dòng)化系統(tǒng),并且在相關(guān)行業(yè)得到了廣泛的應(yīng)用。</p>&
21、lt;p><b> PLC概述</b></p><p> PLC采用可編程的存儲(chǔ)器,用來在其內(nèi)部存儲(chǔ)程序,執(zhí)行邏輯運(yùn)算、順序控制、定時(shí)、計(jì)數(shù)和算術(shù)運(yùn)算等功能的面向用戶的指令,并通過數(shù)字式或模擬式的輸入和輸出,控制各種類型的機(jī)械或生產(chǎn)過程。PLC及其相關(guān)外部設(shè)備,都應(yīng)按照易于與工業(yè)控制系統(tǒng)聯(lián)成一個(gè)整體、易于擴(kuò)展其功能的原則而設(shè)計(jì)。從該定義可以看出,PLC可完成程序存儲(chǔ)和指令執(zhí)行,進(jìn)行
22、信息的處理,從而實(shí)現(xiàn)從輸入信號(hào)到輸出信號(hào)的變換。</p><p> PLC的主要使用特點(diǎn):①功能性強(qiáng)。C具有邏輯運(yùn)算、計(jì)數(shù)、順序控制、計(jì)時(shí)、A/D和D/A轉(zhuǎn)換、數(shù)值運(yùn)算、數(shù)據(jù)處理等功能。它可對(duì)開關(guān)量進(jìn)行控制,也可對(duì)模擬量進(jìn)行控制,既可控制一臺(tái)生產(chǎn)設(shè)備,也可控制一條生產(chǎn)線。PLC還具有通訊功能,可與上位計(jì)算機(jī)構(gòu)成分布式控制系統(tǒng),實(shí)現(xiàn)遙控功能。②通用性強(qiáng)由于PLC產(chǎn)品的系列化和模塊化,PLC配備有品種齊全的各種硬件
23、裝置供用戶選用。當(dāng)控制對(duì)象的硬件配置確定以后,可通過修改用戶程序,方便快速地適應(yīng)應(yīng)用條件的變化。③可靠性高。工業(yè)生產(chǎn)對(duì)電氣控制設(shè)備可靠性的要求非常高,其應(yīng)當(dāng)具有很強(qiáng)的抗干擾能力,能夠在惡劣的環(huán)境下長(zhǎng)期連續(xù)可靠地工作,平均無故障時(shí)間長(zhǎng),故障修復(fù)時(shí)間短。而PLC是專為工業(yè)控制設(shè)計(jì)的,能夠適應(yīng)工業(yè)現(xiàn)場(chǎng)的惡劣環(huán)境。在PLC的設(shè)計(jì)和制造過程中,采取了一系列提高可靠性的措施,使PLC的平均無故障時(shí)間可達(dá)數(shù)萬小時(shí),有些優(yōu)質(zhì)品牌的產(chǎn)品更高達(dá)幾十萬小時(shí)。
24、④編程簡(jiǎn)單。⑤控制系統(tǒng)的設(shè)計(jì)、安裝、調(diào)試、維修方便[1]。</p><p> 1.1.2 PLC在控制領(lǐng)域的發(fā)展前景</p><p> 應(yīng)用領(lǐng)域:(1)環(huán)過程控制 閉環(huán)過程控制是指對(duì)溫度、壓力、流量等連續(xù)變化的模擬量的閉環(huán)控制。PLC通過模擬量I/O模塊實(shí)現(xiàn)模擬量與數(shù)字量之間的A/D、D/A轉(zhuǎn)換,并對(duì)模擬量進(jìn)行閉環(huán)PID控制,可用PID子程序來實(shí)現(xiàn),也可使用專用的PID模塊。PLC的
25、模擬量控制功能已經(jīng)廣泛應(yīng)用于塑料擠壓成型機(jī)、加熱爐、熱處理爐、鍋爐等設(shè)備。還廣泛地應(yīng)用于輕工、機(jī)械、冶金、電力等行業(yè)。 </p><p> ?。?)運(yùn)動(dòng)控制 PLC可用于對(duì)直線運(yùn)動(dòng)或圓周運(yùn)動(dòng)的控制。早期直接用開關(guān)量I/O模塊連接位置傳感器與執(zhí)行機(jī)構(gòu),現(xiàn)在一般使用專用的運(yùn)動(dòng)控制模塊。世界上各主要PLC廠家生產(chǎn)的PLC幾乎都有運(yùn)動(dòng)控制功能。PLC的運(yùn)動(dòng)控制功能廣泛地用于各種機(jī)械。</p><
26、p> ?。?)關(guān)量的邏輯控制 PLC最基本最廣泛的應(yīng)用領(lǐng)域是開關(guān)量的邏輯控制。PLC取代繼電器控制系統(tǒng),實(shí)現(xiàn)邏輯控制。例如,機(jī)床電氣控制;運(yùn)輸帶、包裝機(jī)械的控制;注塑機(jī)的控制;化工系統(tǒng)中各種泵和電磁閥的控制;冶金企業(yè)的高爐上料系統(tǒng)的控制;汽車配裝線、家電的生產(chǎn)線控制等各方面。</p><p> ?。?)能設(shè)備控制 智能設(shè)備作為工業(yè)過程自動(dòng)生產(chǎn)線中的重要設(shè)備,已成為未來工業(yè)生產(chǎn)自動(dòng)化的3大支柱之一?,F(xiàn)在
27、許多智能設(shè)備制造公司,選用PLC作為智能設(shè)備控制器來控制各種機(jī)械動(dòng)作。隨著PLC體積進(jìn)一步縮小,功能進(jìn)一步增強(qiáng),PLC在智能設(shè)備控制中的應(yīng)用將更加普遍。</p><p><b> 發(fā)展趨勢(shì):</b></p><p> ?。?)向高速度、大存儲(chǔ)容量方向發(fā)展(CPU處理速度nS級(jí);內(nèi)存2M字節(jié));(2)向多品種方向發(fā)展和提高可靠性(超大型和超小型);(3)產(chǎn)品更加規(guī)范化
28、、標(biāo)準(zhǔn)化(硬件、軟件兼容的PLC);(4)產(chǎn)品更加規(guī)范化、標(biāo)準(zhǔn)化(硬件、軟件兼容的PLC); (5)加強(qiáng)聯(lián)網(wǎng)和通信的能力;(6) 可放置在一個(gè)溫度,電噪聲,電磁干擾,機(jī)械振動(dòng),和濕度變化范圍很大的惡劣環(huán)境中[2]。</p><p> 1.2 PLC與上位機(jī)通訊概述</p><p> PLC作為新一代工業(yè)控制器 ,以其高性能價(jià)格比在工業(yè)測(cè)控系統(tǒng)中獲得了廣泛應(yīng)用. 隨著微電子及控制技術(shù)的不
29、斷發(fā)展 , PLC已逐漸成為一種智能型、 綜合型控制器 ,由PLC構(gòu)成的集散控制是現(xiàn)代工業(yè)控制的一個(gè)重要組成部分 [2],隨著計(jì)算機(jī)技術(shù)是快速發(fā)展,PLC在自動(dòng)控制方面發(fā)揮的重要作用也日益增強(qiáng),兩者是結(jié)合是自動(dòng)控制發(fā)展的必然。通訊接口是PLC與上位機(jī)連接的橋梁,通過連接可以把PLC的現(xiàn)場(chǎng)執(zhí)行功能和計(jì)算機(jī)是快速運(yùn)算功能很好融為一體,以實(shí)現(xiàn)自動(dòng)化控制,甚至是遠(yuǎn)程控制。目前不同廠家生產(chǎn)的PLC都提供了通訊接口,并提供了完善是通訊協(xié)議,如西門子
30、S7 200的PPI ,MPI ,以及自由通訊協(xié)議等,本文主要研究松下FP1系列PLC與上位機(jī)通訊。</p><p> 1.3 通訊系統(tǒng)設(shè)計(jì)方案</p><p> 1.3.1通訊系統(tǒng)的可行性分析</p><p><b> ?、儆布矫?</b></p><p> 目前的PLC都有一個(gè)或者幾個(gè)通訊通訊接口以供用戶或
31、者與其他設(shè)備連接使用,松下的PLC FP1系列中有一個(gè)RS-422串口,主要用于松下開發(fā)的FPWIN GR2 軟件相連,或者與手持式編程器相連。通過這個(gè)串口,我們可以實(shí)現(xiàn)與上位機(jī)的連接,通過RS-422轉(zhuǎn)RS-232/USB即可。在硬件方面需要配置的就是串口轉(zhuǎn)換器就可實(shí)現(xiàn)PLC與上位機(jī)的通訊,當(dāng)然使用的串口轉(zhuǎn)化器要有配套的串口安裝程序,如果是自己開發(fā)的硬件則需要自己寫串口程序,這不是本文的研究重點(diǎn)。本設(shè)計(jì)使用的是從市場(chǎng)購(gòu)買的RS-232
32、轉(zhuǎn)USB串口(實(shí)驗(yàn)室提供的PLC已提過了RS-422轉(zhuǎn)RS-232),在硬件方面的問題已經(jīng)得到解決。</p><p><b> ?、谲浖矫?lt;/b></p><p> 通訊系統(tǒng)的開發(fā),目前有能開發(fā)軟件的應(yīng)用軟件很多,例如常用的VB,組態(tài)王以及本文使用的Labview,其中Labview是圖形化編程,便于理解,操作性強(qiáng),功能強(qiáng)大,在串口通訊方面提供了幾個(gè)關(guān)鍵的通訊模塊
33、,使用時(shí)只需要把控件拖到面板上,用線進(jìn)行連接即可。總之Labview 為系統(tǒng)設(shè)計(jì)提供了方便的編程環(huán)境,詳情見第三章。</p><p><b> ?、弁ㄓ崊f(xié)議</b></p><p> 每種PLC都提供了一種或者多種通訊協(xié)議,松下PLC FP1 系列遵循的MEWTOCOL-COM協(xié)議,該協(xié)議可以進(jìn)行程序交換,由上位機(jī)主動(dòng)通訊,PLC根據(jù)命令相應(yīng)地做出響應(yīng),通過響應(yīng)的信
34、息可以提取想要的數(shù)據(jù)信息,這是整個(gè)系統(tǒng)的根基,這個(gè)協(xié)議是系統(tǒng)筋脈,系統(tǒng)的一切開發(fā)都得遵循這個(gè)協(xié)議。</p><p> 1.3.2 軟件系統(tǒng)的需求分析</p><p> 開發(fā)軟件的最初一步就是需求分析。根據(jù)老師提供的題目,以及自身對(duì)該題目的分析研究,作者站在是用戶的角度對(duì)軟件系統(tǒng)的需求功能進(jìn)行了概況如下:</p><p> 通訊系統(tǒng)要能控制反映PLC的輸入輸出端
35、口狀態(tài)值。</p><p> 通訊系統(tǒng)要能實(shí)現(xiàn)程序的下載,即離開松下PLC提供的軟件能夠通過界面實(shí)現(xiàn)程序的下載控制。</p><p> 通訊系統(tǒng)能實(shí)現(xiàn)一些基本的寄存器是操作,以及命令的發(fā)送,數(shù)據(jù) 的提取。</p><p> 有錯(cuò)誤提醒功能,并生成錯(cuò)誤報(bào)告。</p><p> 能夠?qū)崿F(xiàn)遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控。</p><p&g
36、t; 1.3.3 軟件系統(tǒng)的總體設(shè)計(jì)</p><p><b> 1) 通訊方式選擇</b></p><p> 由于不同廠家生產(chǎn)的PLC品牌不同,通訊實(shí)現(xiàn)是方式也不僅相同,總計(jì)起來可以歸為兩大類,一種是專用通訊方式,另外一種是自由通訊。其中專用通訊是由生產(chǎn)廠家生產(chǎn)開發(fā)的軟硬件,其功能強(qiáng)可靠性高,一般用于大型控制或者要求高的場(chǎng)合,成本高。自由通訊是開放式的,用戶可以
37、根據(jù)自己的需求,依照一定的通訊協(xié)議,可以自行開發(fā)軟件,其經(jīng)濟(jì)性較好,且可以基本滿足客戶的一般控制需求,故自由通訊方式受到廣大消費(fèi)者是歡迎。本設(shè)計(jì)用于一般場(chǎng)合,故選擇自由通訊方式。</p><p> 2) 通訊軟件設(shè)計(jì)方式選擇</p><p> 方法一:基于VB軟件是開發(fā)。應(yīng)用VC++開發(fā)串行通信通常采用以下幾種方法m1:①利用windowsAPI通信函數(shù);②利用VC的端口操作函數(shù).in
38、p,.inpw,.inpd,一outp,一outpw,outpd等直接對(duì)串口進(jìn)行操作;③使if]MicrosoftVisualc++的通信控件(MSComm)。[3] MSComm在串口編程時(shí)相對(duì)方便,程序不必花費(fèi)時(shí)間去了解較為復(fù)雜的API數(shù),就能通過串行端口傳輸和接收數(shù)據(jù)。</p><p> 方法二:基于labview軟件的開發(fā)。LABVIEW 是美國(guó)NI (National Instrument)公司的軟件
39、產(chǎn)品,是虛擬儀器編程語言的典型代表。虛擬儀器(Virtual Instrument,VI)是儀器儀表歷史發(fā)展上的一次重大變革,是對(duì)傳統(tǒng)儀器的重大突破,代表著儀器儀表發(fā)展的最新方向和潮流。與傳統(tǒng)儀器相比,虛擬儀器的靈活性、性價(jià)比高、用戶化設(shè)計(jì)等特點(diǎn),使它在工業(yè)和院校領(lǐng)域得到廣泛的應(yīng)用。LABVIEW 編程高效、靈活、面向?qū)ο?,其?qiáng)大的圖形編程能力及可視化編程環(huán)境得到很多軟件開發(fā)人員的青睞[4]。</p><p>&
40、lt;b> 3) 網(wǎng)絡(luò)通訊選擇</b></p><p> 在網(wǎng)絡(luò)不斷發(fā)展成熟的今天,實(shí)現(xiàn)網(wǎng)絡(luò)化的遠(yuǎn)程控制是現(xiàn)代工業(yè)發(fā)展的必然方向,本論文本著解決實(shí)際問題的理念,以及方便后來者的進(jìn)一步開發(fā)研究提供參考,設(shè)計(jì)系統(tǒng)的時(shí)候把網(wǎng)絡(luò)通信的問題考慮進(jìn)去。</p><p> Labview的網(wǎng)絡(luò)通訊有4種方式:①無須具體協(xié)議的遠(yuǎn)程桌面連接(UDP);②使用DataSocket技術(shù)進(jìn)
41、行網(wǎng)絡(luò)通信;③現(xiàn)成實(shí)時(shí)發(fā)布測(cè)控程序的網(wǎng)頁,異地使用瀏覽器(如Internet Explorer,Netscape Communicator等)進(jìn)行監(jiān)控(Web);④使用TCP、DDP等傳輸控制協(xié)議編程進(jìn)行網(wǎng)絡(luò)通信。</p><p> 各通訊比較如下表。 </p><p> 通過表1-1LabVIEW的網(wǎng)絡(luò)通信功能及其特性分析可知表中的5種通訊方式都可以實(shí)現(xiàn)網(wǎng)絡(luò)遠(yuǎn)程通訊,但功能和效果不
42、一樣,TCP是使用TCP/IP協(xié)議進(jìn)行通訊,網(wǎng)絡(luò)傳輸數(shù)率高,但卻一對(duì)一對(duì)方式,節(jié)省了網(wǎng)絡(luò)傳輸時(shí)間,卻要開發(fā)兩個(gè)界面,對(duì)開發(fā)者要求較高。DateSocket技術(shù)可以達(dá)到很高的數(shù)據(jù)傳輸速率,實(shí)時(shí)性能相當(dāng)好,同時(shí)實(shí)時(shí)性能也能到達(dá)要求,這是網(wǎng)絡(luò)通信需要所不具有的,但由于訪問權(quán)限的限制,客戶端的控制功能太弱。相比使用Labview 的Web服務(wù)器上的遠(yuǎn)程面板,是無需另外編程的,以B/S 模式運(yùn)行,允許多個(gè)客戶端同時(shí)訪問,并且可以申請(qǐng)控制權(quán),但數(shù)據(jù)
43、傳輸速率低。本文基于一般通訊要求,故選擇了Web 服務(wù)器上的遠(yuǎn)程面板。</p><p> 表1-1LabVIEW的網(wǎng)絡(luò)通信功能及其特性</p><p> 4)通訊系統(tǒng)總體設(shè)計(jì)運(yùn)行框圖</p><p> 圖 1.1 總體設(shè)計(jì)圖</p><p> 方案說明:邏輯上來講,上面是功能的簡(jiǎn)單的,但實(shí)際運(yùn)用當(dāng)中,會(huì)有很多子程序服務(wù)于這個(gè)主程序,因
44、此造成的結(jié)果就是程序很大塊,不方便修改維護(hù)。為了開發(fā)方便,本文使用了兩個(gè)程序面板,一個(gè)面板是主面板,用于監(jiān)控以及遙控,另一方面就是對(duì)另外一個(gè)面板的調(diào)用;子面板用于PLC指令代碼的輸入顯示,即鍵盤面板,通過這個(gè)界面可以向PLC發(fā)送梯形圖代碼,在PLC中形成梯形圖。</p><p> 第二章 PLC的通訊協(xié)議</p><p><b> 2.1 引言</b></p
45、><p> 在工業(yè)過程控制中,采用電磁繼電器構(gòu)成的繼電器控制系統(tǒng)已暴露出許多弊端,如沒有運(yùn)算、處理、通信等功能,所以它不能完成復(fù)雜的控制方式,與工業(yè)現(xiàn)場(chǎng)的集中管理、分散控制的現(xiàn)代管理體系要求不相適應(yīng)。目前,PLC己被廣泛的應(yīng)用于工業(yè)生產(chǎn)的各個(gè)領(lǐng)域。因?yàn)镻LC具有運(yùn)行速度快、性能價(jià)格比高、通過編程能完成復(fù)雜的控制邏輯、通常自帶RS一232或RS一422或RS一485等通信口,不僅能實(shí)現(xiàn)點(diǎn)到點(diǎn)通信,而且還能夠組建網(wǎng)絡(luò)。
46、PLC的廣泛應(yīng)用和PLC網(wǎng)絡(luò)化功能的日益完善大大加速了PLC的網(wǎng)絡(luò)化發(fā)展[5]另外,在過程控制中,由于工業(yè)現(xiàn)場(chǎng)非常分散,由于FO點(diǎn)數(shù)眾多,各種儀表的工作環(huán)境非常惡劣,采用數(shù)據(jù)采集卡和LabVIEW開發(fā)平臺(tái)來完成現(xiàn)場(chǎng)的數(shù)據(jù)采集和控制顯然不可取。考慮到過程控制中的過程參數(shù)變化不是很快,而PLC恰恰可以克服數(shù)據(jù)采集卡在過程控制中的不足,并且具有較高的性能比,因而采取以PLC為下位機(jī),以裝有Labview軟件的工控機(jī)為上位機(jī)開發(fā)平臺(tái),通過RS一
47、232或RS一485串口與PLC通訊,實(shí)現(xiàn)對(duì)工業(yè)現(xiàn)場(chǎng)的監(jiān)控與現(xiàn)場(chǎng)數(shù)據(jù)的分析。這樣可以利用Labview軟件強(qiáng)大的數(shù)據(jù)處理功能和良好的人機(jī)交互環(huán)境通過簡(jiǎn)單的</p><p> 2.2 Labview與上位機(jī)通訊</p><p> 2.2.1 通訊概述</p><p> 硬件之間要實(shí)現(xiàn)通訊必須要有硬件連接和通訊協(xié)議。 所謂通信協(xié)議是指通信雙方的一種約定。約定包括對(duì)
48、數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、檢糾錯(cuò)方式以及控制字符定義等問題做出統(tǒng)一規(guī)定,通信雙方必須共同遵守。因此,也叫做通信控制規(guī)程,或稱傳輸控制規(guī)程,它屬于ISO'S OSI七層參考模型中的數(shù)據(jù)鏈路層。</p><p> 通訊方式有兩種:并行通訊和串行通訊。通常根據(jù)信息傳輸?shù)木嚯x決定采用哪種傳輸方式,例如,在IBM-PC與外部設(shè)備(打印機(jī))通訊時(shí),如果距離小于30m,則采用并行通訊,當(dāng)大于30m時(shí),則
49、要采用串行通訊方式[7]。</p><p> PLC與上位機(jī)的串口通訊原理</p><p> 使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別使用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信,這種通訊方式叫串行通信。原理圖如下</p><p> 圖2-1串行通訊原理圖</p>
50、;<p> 串行通信中,數(shù)據(jù)通常是在兩個(gè)站之間傳送,按照數(shù)據(jù)在通信線路上的傳送方向可分為3種基本的傳送方式:?jiǎn)喂ぁ腚p工和全雙工。</p><p> 圖2-2 三種通訊方式</p><p> 單工通信使用一根導(dǎo)線,信號(hào)的傳送方和接收方有明確的方向性。也就是說,通信只在一個(gè)方向上進(jìn)行。</p><p> 若使用同一根傳輸線既作為接收線路又作為發(fā)送
51、線路,雖然數(shù)據(jù)可以在兩個(gè)方向上傳送,但通信雙方不能同時(shí)收發(fā)數(shù)據(jù),這樣的傳送方式稱為半雙工。采用半雙工方式時(shí),通信系統(tǒng)每一端的發(fā)送器和接收器,通過收發(fā)開關(guān)分時(shí)轉(zhuǎn)接到通信線上,進(jìn)行方向的切換。</p><p> 串行通信可分為兩種類型,一種是同步通信,另一種是異步通信。采用同步通信時(shí),將所有字符組成一個(gè)組,這樣,字符可以一個(gè)接一個(gè)地傳輸,但是,在每組信息的開始要加上同步字符,在沒有信息要傳輸時(shí),填上空字符,因?yàn)橥?/p>
52、傳輸不允許有空隙。采用異步通信時(shí),兩個(gè)字符之間的傳輸間隔是任意的,所以,每個(gè)字符的前后都要用一些數(shù)據(jù)位來作為分隔位。比較起來,在傳輸率相同時(shí),同步通信方式下的信息有效率要比異步方式高,因?yàn)橥椒绞降姆菙?shù)據(jù)信息比例比較小。但是,從另一方面看,同步方式要求進(jìn)行信息傳輸?shù)碾p方必須用同一個(gè)時(shí)鐘進(jìn)行協(xié)調(diào),正是這個(gè)時(shí)鐘確定了同步串行傳輸過程中每一個(gè)信息位的位置。這樣一來,如果采用同步方式,那么,在傳輸數(shù)據(jù)的同時(shí),還必須傳輸時(shí)鐘信號(hào)。而在異步方式下,
53、接收方的時(shí)鐘頻率和發(fā)送方的時(shí)鐘頻率不必完全一樣,而只要比較相近,即不超過一定的允許范圍就行了。在數(shù)據(jù)傳輸中,較為廣泛采用的是異步通信,異步通信中,在異步通行中有兩個(gè)比較重要的指標(biāo):字符幀格式和波特率。異步通信的標(biāo)準(zhǔn)數(shù)據(jù)格式如圖。</p><p> 圖2-3 異步通信格式</p><p> 從圖所列格式可以看出,異步通信的特點(diǎn)是一個(gè)字符一個(gè)字符地傳輸,并且每個(gè)字符的傳送總是以起始位開始,
54、以停止位結(jié)束,字符之間沒有固定的時(shí)間間隔要求。每一次有一個(gè)起始位,緊接著是5~8個(gè)的數(shù)據(jù)位,再后為校驗(yàn)位,可以是奇檢驗(yàn),也可以是偶校驗(yàn),也可不設(shè)置,最后是1比特,或1比特半,或2比特的停止位,停止位后面是不定長(zhǎng)度的空閑位。停止位和空閑位都規(guī)定為高電平,這樣就保證起始位開始處一定有一個(gè)下降沿,以此標(biāo)識(shí)開始傳送數(shù)據(jù)。</p><p> PLC 與上位機(jī)的硬件連接</p><p> 松下FP
55、1系列提供的外部通訊接口是RS422,而一般計(jì)算機(jī)使用的RS232或者USB。為實(shí)現(xiàn)PLC 與上位機(jī)的連接,需要對(duì)接口進(jìn)行轉(zhuǎn)換,先由RS422轉(zhuǎn)為RS485,然后由RS485 轉(zhuǎn)為RS232。RS 232 在外部設(shè)備用運(yùn)用廣泛,但隨著便攜式電腦的出現(xiàn),RS 232 顯然順應(yīng)電腦微型化的發(fā)展趨勢(shì),目前USB 發(fā)展成熟,運(yùn)用廣泛,本文使用的串口是USB ,實(shí)現(xiàn)PLC與上位機(jī)的通訊連接。</p><p> 圖2-4
56、 PLC 與上位機(jī)硬件連接原理圖</p><p> 2.4松下FP系列的通訊協(xié)議</p><p> 2.4.1 MEWTOCOL-COM的說明</p><p><b> 1)協(xié)議特點(diǎn)</b></p><p> 松下PLC FP系列通訊協(xié)議主要為MEWTOCOL-COM,該協(xié)議的主要特點(diǎn):</p>&
57、lt;p> 1. 用于程序處理和交互式操作。 2. 數(shù)據(jù)傳輸采用 ASCII 碼的形式。</p><p> 3. 首先由計(jì)算機(jī)發(fā)送指令。 4. 由 PLC對(duì)指令自動(dòng)進(jìn)行相應(yīng)響應(yīng)[8]。</p><p><b> 2)協(xié)議格式</b></p><p> MEWTOCOL-COM的指令格式如下</p><p&g
58、t; 應(yīng)答信息(正常時(shí)):</p><p> 應(yīng)答信息(發(fā)送錯(cuò)誤時(shí)):</p><p><b> 圖2-5指令格式</b></p><p> ?、俑袷秸f明?!?”為起始符號(hào),標(biāo)記每一幀報(bào)文的開始?!?CR ”為結(jié)束符號(hào),標(biāo)記每一幀報(bào)文的結(jié)束. “AD”為每一站PLC的地址,用兩位十六進(jìn)制數(shù)表示,如 01 則代表第一臺(tái)PLC. “#”, “
59、 $ ”, “!”標(biāo)記該幀報(bào)文為何種類型,其分別對(duì)應(yīng)為:指令信息,應(yīng)答信息(正常),應(yīng)答信息(錯(cuò)誤)。 “BCC”為校驗(yàn)碼,為兩位十六進(jìn)制數(shù),其初值為“ 0 ”,然后從起始符開始與該幀報(bào)文中每一字節(jié)按位進(jìn)行異或運(yùn)算得到的[9]。</p><p> 其中指令代碼和錯(cuò)誤代碼分別見附錄一,附錄二。</p><p><b> ②觸點(diǎn)代碼</b></p>&l
60、t;p><b> 表 2-1觸點(diǎn)說明</b></p><p> 注:上述觸點(diǎn)當(dāng)中,F(xiàn)P1系列有些型號(hào)是沒有L的,使用的時(shí)候要注意查看手冊(cè),例如本設(shè)計(jì)使用的FP1 C24是沒有L的,不能使用TML的指令,其具體使用情況應(yīng)按說明進(jìn)行,以免發(fā)生錯(cuò)誤。</p><p><b> ?、蹟?shù)據(jù)說明</b></p><p>
61、表 2-3 數(shù)據(jù)說明</p><p> ?、?校驗(yàn)碼 BCC(H)(L)的說明</p><p> 校驗(yàn)碼是將指令中的各個(gè) ASCII 字符的 16 進(jìn)制(00~FF)進(jìn)行異或求和后生成的. 該校驗(yàn)碼也以兩個(gè)ASCII 碼表示。</p><p> 例)% 01 # RC S X 0000 1D <CR></p><p> BC
62、C (H)= “1”</p><p> BCC (H)= “D”</p><p> 圖2.6 BCC 碼</p><p> 注:如果BBC碼處用 ** 代替,則表示忽略校驗(yàn)碼。</p><p> 2.4.2與通訊界面有關(guān)通訊指令說明</p><p> MEWTOCOL-COM 中共有24條通訊指令,鑒于界面開
63、發(fā)和運(yùn)用涉及的程度,從其中抽出幾條使用頻繁,能基本滿足通訊要求的指令組成了一個(gè)通訊系統(tǒng)的開發(fā)界面,其界面如下圖所示:</p><p> 圖2.7 通訊系統(tǒng)前面板</p><p> 1)讀取單觸點(diǎn)狀態(tài)(指令代碼: RCS)</p><p> 說明: 字符"$"表示正常的應(yīng)答,“!”說明發(fā)生錯(cuò)誤,從返回的錯(cuò)誤代碼中可以參看具體錯(cuò)誤原因,詳情可
64、以參看附錄二 錯(cuò)誤代碼。</p><p><b> 觸點(diǎn)數(shù)據(jù)</b></p><p><b> 表2-4數(shù)據(jù)說明</b></p><p> 說明:在讀單點(diǎn)數(shù)據(jù)的時(shí)候,如果返回的是數(shù)據(jù)是“1”則表明該觸點(diǎn)屬于ON狀態(tài),反之,是“0”則表示OFF或者斷開。</p><p> 2) 寫入單觸點(diǎn)狀態(tài)
65、(指令代碼: WCS )</p><p><b> 應(yīng)答</b></p><p><b> 讀取正常</b></p><p> 圖 2-9 WCS 代碼說明</p><p><b> 錯(cuò)誤反應(yīng)不贅述。</b></p><p> 觸點(diǎn)數(shù)據(jù)如表2-
66、4所示。</p><p> 3) 讀取多觸點(diǎn)狀態(tài)(指令代碼: RCP )</p><p> 圖2-10 RCP 指令代碼</p><p> 說明:RCP指令最多只能讀8個(gè)觸點(diǎn)的狀態(tài)信息,該指令的格式要求每一個(gè)觸點(diǎn)后接一個(gè)編號(hào),依次累積到8個(gè)觸點(diǎn),最后組成命令幀發(fā)送出去。</p><p><b> 應(yīng)答</b>&l
67、t;/p><p><b> 讀取正常</b></p><p> 圖2-11 RCP 讀取正常</p><p><b> 錯(cuò)誤反應(yīng)不贅述</b></p><p> 4)按字單元讀取觸點(diǎn)(指令代碼:RCC)</p><p><b> 應(yīng)答</b>&l
68、t;/p><p><b> 讀取正常</b></p><p> 圖2-12 RCC 指令說明</p><p><b> 說明: </b></p><p> 觸點(diǎn)代碼與單觸點(diǎn)讀取相同。 </p><p><b> 觸點(diǎn)數(shù)據(jù)順序</b></p&g
69、t;<p> 圖2-13 觸點(diǎn)數(shù)據(jù) 1</p><p><b> 觸點(diǎn)數(shù)據(jù) </b></p><p> 圖2-14 觸點(diǎn)數(shù)據(jù)2</p><p> 注:①寫入數(shù)據(jù)寄存器值(指令代碼:WD).讀取數(shù)據(jù)寄存器值(指令代碼:RD)中起始數(shù)據(jù)編碼和結(jié)束數(shù)據(jù)編碼都是5 字符。</p><p> ?、诜祷氐臄?shù)據(jù)為
70、16進(jìn)制數(shù)。例如第3位 的數(shù)據(jù)為1,則值為:00 08 ,返回的數(shù)據(jù)顯示為:08(低位) 00(高位)。</p><p> ?、燮溥\(yùn)算規(guī)則是2的對(duì)應(yīng)位次方的累加。例如第1和第3位是1,其他位是0,則數(shù)值為2^1+2^3 =2+8=A(hex);則返回的數(shù)據(jù)為0A 00 。</p><p> 5) 讀取可編程控制器(PLC)狀態(tài) (指令代碼:RT)</p><p>
71、 圖2-15 RT指令</p><p><b> 應(yīng)答 </b></p><p><b> 讀取正常</b></p><p> 圖2-16 RT 讀取正常</p><p> 說明 : 型號(hào)代碼</p><p><b> 表2-5型號(hào)代碼</b&
72、gt;</p><p><b> 操作模式:</b></p><p><b> 圖2-17操作模式</b></p><p><b> 錯(cuò)誤標(biāo)記</b></p><p> 圖2-18 錯(cuò)誤標(biāo)志</p><p><b> 程序容量:<
73、;/b></p><p><b> 表2-5程序容量</b></p><p><b> 說明:</b></p><p> 1)起始步和結(jié)束步是從00000—02719,用BBC碼表示;</p><p> 程序步實(shí)際是機(jī)代碼,即各個(gè)命令在PLC中存儲(chǔ)代碼。</p><
74、p> 2)例如 ST X 1,OT Y 2;這兩個(gè)命令的步長(zhǎng)都是一步,一步用4位16進(jìn)制字符表示為:01B8 02D0 ,整個(gè)發(fā)送命令為:</p><p> % 01 # WP 00000 00001 01B8 02D0 +BCC + CR</p><p> 把上述命令代碼發(fā)送下去就可以得到對(duì)應(yīng)的梯形圖。</p><p> 3)這些機(jī)代碼是作者本人用
75、試驗(yàn)分析的方法提取的,由于時(shí)間的問題,目前只把一些基本指令分析出來,詳情見附錄 4。</p><p> 4)這些代碼的統(tǒng)計(jì)可以采用監(jiān)聽的方法獲得。首先用FPGWIN軟件畫好梯形圖,然后打開監(jiān)聽軟件,接著下載程序,此時(shí)監(jiān)聽軟件會(huì)讀取大量的有規(guī)律的數(shù)據(jù),在 “%EE********+BCC+CR”其中“**”里面的信息就是梯形圖轉(zhuǎn)換為的16進(jìn)制機(jī)器代碼;另外讀取機(jī)代碼的還可以用“RP”讀取程序指令,這種在知道程序步
76、的情況下準(zhǔn)確地讀取信息。</p><p> 5)在測(cè)試機(jī)代碼的時(shí)候,</p><p> 第三章 labview與PLC的串口通信</p><p> LABVlEW是美國(guó)國(guó)家儀器公司開發(fā)的虛擬儀器開發(fā)平臺(tái)軟件,它的功能強(qiáng)大靈活,可以廣泛應(yīng)用于自動(dòng)測(cè)量系統(tǒng)、工業(yè)過程自動(dòng)化、實(shí)驗(yàn)室仿真等各個(gè)領(lǐng)域.在LabVIEW編程語言中串口通信采用VISA標(biāo)準(zhǔn)編程.VISA是虛擬
77、儀器體系結(jié)構(gòu)Virtual Instrument Software Architecture的簡(jiǎn)稱,是儀器驅(qū)動(dòng)發(fā)展的一個(gè)工業(yè)標(biāo)準(zhǔn).VISA的內(nèi)部結(jié)構(gòu)是一個(gè)先進(jìn)的、面向?qū)ο竦慕Y(jié)構(gòu),這一結(jié)構(gòu)使得VISA和在它之前的I/O控制軟件相比,在接口無關(guān)性、可擴(kuò)展性方面都有很大提高.VISA的可擴(kuò)展性遠(yuǎn)遠(yuǎn)超出了I/O控制軟件的范疇,而且由于VISA內(nèi)部結(jié)構(gòu)的靈活性,使得VISA在功能和靈活性上超過了其他的I/O控制庫.VISA標(biāo)準(zhǔn)的推出,統(tǒng)一了儀器工
78、業(yè)的軟件接口標(biāo)準(zhǔn),使得儀器驅(qū)動(dòng)程序兼容性強(qiáng)并且可適應(yīng)未來軟硬件的發(fā)展需要[10] 。 </p><p> 3.1 labview 實(shí)現(xiàn)串口通信關(guān)鍵控件介紹</p><p> 在作者使用的labview10.0 版本中,用于通訊的子VI主要由5個(gè):VISA Configure Serial Port 、VISA Read 、VISA Write 、VISA Bites of Serial
79、 Port VISA Close通過對(duì)這幾個(gè)功能模塊進(jìn)行配置和連接,就能開發(fā)出符合要求的labview串口通信軟件,其界面如下</p><p> 圖3-1串口通信函數(shù)</p><p> 1)VISA Configure Serial Port</p><p> 該節(jié)點(diǎn)主要用于串口的初始化,主要參數(shù)如圖所示。</p><p> 圖3-
80、2 VISA串口配置</p><p> VISA resource name:端口號(hào)選擇與計(jì)算機(jī)連接的串口有關(guān),可以通過“我的電腦”右鍵 選擇“管理”->“設(shè)備管理器” –>“端口”查看。</p><p> baud rate:波特率,默認(rèn)為9 600bps,最高為115 200 bps。</p><p> data bits:一幀信息中的有效數(shù)據(jù)
81、的位數(shù),Labview中允許4—8位數(shù)據(jù),默認(rèn)值為8位。</p><p> stop bits:一幀信息中的停止位的位數(shù),可選的值為0~2,分別對(duì)應(yīng)1位、1位半或2位,默認(rèn)值為0。</p><p> pafity:奇偶校驗(yàn)設(shè)置.可選的值為0—4,可為無校驗(yàn)、奇或偶校驗(yàn)、標(biāo)記或空,默認(rèn)值為0即無校驗(yàn)。</p><p> flow control:該參數(shù)的數(shù)據(jù)類型
82、為簇,用于串行通信中的握手方式。</p><p> 2) VISA Read. VI</p><p> VISA 資源名在整個(gè)通訊過程中是一樣的,故用一根線把上面提到的5個(gè)VI連接起來。</p><p> 圖3-3 VISA讀取</p><p> 字節(jié)數(shù)可以自行設(shè)定,也可以VISA Bites of Serial Port 測(cè)量出來
83、。如果是自行設(shè)定,那讀的操作是在緩存達(dá)到設(shè)定值才開始讀,否則一直是等待;如果通過VISA Bites of Serial Port測(cè)定的字節(jié)數(shù)則是不等于零開始讀。</p><p> 3)VISA Write. VI</p><p> 該節(jié)點(diǎn)節(jié)點(diǎn)為串口寫子VI,用于對(duì)串口設(shè)備進(jìn)行寫操作。</p><p> 圖3-4 VISA 寫</p><p
84、> 4) VISA Close. VI</p><p> 該節(jié)點(diǎn)為串口關(guān)閉子VI,用于關(guān)閉串行設(shè)備的任務(wù)或事件,如圖。</p><p> 圖3-5 VISA 資源名稱</p><p> 說明:在使用端口結(jié)束的時(shí)候,要在程序的最后用上此控件,該控件的作用是關(guān)閉端口,釋放資源,便于其他程序使用。如果不關(guān)閉串口,程序會(huì)一直占有,無法釋放。</p>
85、<p> 5)VISA Bytes at Serial Port. VI</p><p> 該節(jié)點(diǎn)為串行口字節(jié)數(shù)子VI,用于讀取串口緩存區(qū)中的數(shù)據(jù)字節(jié)如圖。</p><p><b> 圖3-6 串口字節(jié)</b></p><p> 說明:在“reference”的輸入端中,是接入VISA資源名稱,和前面的控件一樣,這是串口通
86、信的主線。從這個(gè)函數(shù)可以測(cè)出緩存中的字節(jié),在讀函數(shù)時(shí)輸入數(shù)值,如果緩存中有數(shù)據(jù),則會(huì)按所設(shè)定的數(shù)據(jù)位進(jìn)行讀取,如果緩存的數(shù)少于設(shè)定值,則會(huì)等待,直到數(shù)據(jù)數(shù)量達(dá)到設(shè)定值。</p><p> 3.2 與PLC的通訊的程序設(shè)計(jì)</p><p> 3.2.1. 通訊原理圖</p><p><b> 圖3.7通訊原理圖</b></p>
87、<p> 說明:①在VISA Configure Serial Port中分別對(duì)其進(jìn)行端口名的配置,對(duì)波特率,奇偶校驗(yàn)位,數(shù)據(jù)位,停止位進(jìn)行設(shè)定,且與PLC的內(nèi)部設(shè)定一致,否則數(shù)據(jù)無法傳輸錯(cuò)誤或者無法傳輸。</p><p> ②由軟件程序生產(chǎn)的命令代碼通過一個(gè)發(fā)送按鈕把命令發(fā)送出去。</p><p> ?、塾捎诰€路傳輸和程序運(yùn)行要一定的時(shí)間,故需延長(zhǎng)才能保障命令的發(fā)送接收成
88、功的率。</p><p> ④命令接收以后,按命令的格式對(duì)其進(jìn)行分解。如果包含“$”字符說明命令發(fā)送是正確且成功的;相反,如果命令包含“!”說明的命令發(fā)送錯(cuò)誤,并返回錯(cuò)誤碼,對(duì)錯(cuò)誤碼進(jìn)行讀取,并在錯(cuò)誤數(shù)組常量中檢索,最后顯示錯(cuò)誤原因和錯(cuò)誤代碼,以供操作者參考修正。</p><p> 圖3-8 串口通信實(shí)現(xiàn)圖</p><p> 3.2.2 設(shè)計(jì)系統(tǒng)的通訊模型&l
89、t;/p><p><b> 1) 端口初始化</b></p><p> 前面板設(shè)計(jì)和程序框圖如下圖所示</p><p> 圖3-8端口初始化前后面板</p><p><b> BCC碼的生成</b></p><p> BCC碼的的計(jì)算是通訊的一個(gè)基本元素,起到關(guān)鍵作用。
90、在該通訊協(xié)議當(dāng)中BCC碼是用與校驗(yàn)通訊數(shù)據(jù)的正確與否,使用頻繁,為減少編程工作量,特地編寫了一個(gè)子程序,方便調(diào)用。BCC碼的生成原理見第2章說明,在LABVIEW 中的實(shí)現(xiàn)如下所示:</p><p> 圖3-9 BCC 碼程序圖</p><p> 說明:①操作者把命令明確以后,生成的字符串進(jìn)入一個(gè)for循環(huán),循環(huán)次數(shù)為n=N-1 一次,其中N為字符串的長(zhǎng)度。</p>&l
91、t;p> ?、凇?”字符轉(zhuǎn)換為數(shù)值以后和“字符串”的數(shù)據(jù)一起進(jìn)入for循環(huán),先進(jìn)過一個(gè)一位截取控件,把“字符串”的第二字符截取轉(zhuǎn)換為數(shù)值,然后跟%的數(shù)值進(jìn)行異或,得出一個(gè)數(shù)字,進(jìn)入移位寄存器,供下次循環(huán)使用。</p><p> ?、凵洗窝h(huán)產(chǎn)生的數(shù)據(jù),在第二次循環(huán)中跟第三個(gè)字符進(jìn)行異或得出一個(gè)數(shù)值,其他的以此類推。</p><p> ④循環(huán)結(jié)束后輸出一個(gè)數(shù)值,這個(gè)數(shù)值與15進(jìn)行比較
92、,如果大于15,直接轉(zhuǎn)換為字符輸出;如果小于等于15,如果不經(jīng)過圖3-9的處理就得不出2位BCC碼。</p><p> 整個(gè)程序的流程如下所示</p><p> 圖3-10通訊系統(tǒng)原理圖</p><p> 說明:①程序的前面板如圖2-7所示,上圖顯示的是系統(tǒng)的通訊原理圖,其主要模塊包括剛開始運(yùn)行時(shí)的端口初始化,PLC版本信息讀取,然后是“觸點(diǎn)控制”、“定時(shí)/計(jì)
93、數(shù)器控制”、“寄存器控制”這3打塊是操作者根據(jù)自己的需求選擇其中一項(xiàng)進(jìn)行操作,點(diǎn)擊“確定”按鈕后,命令會(huì)按之前的規(guī)定發(fā)送出去,然后對(duì)返回的數(shù)據(jù)進(jìn)行分離顯示。</p><p> ②如果系統(tǒng)處于“RUN”狀態(tài)時(shí),系統(tǒng)會(huì)對(duì)PLC進(jìn)行監(jiān)控,不斷地發(fā)送指令,對(duì)端口進(jìn)行狀態(tài)的讀取,然后顯示在狀態(tài)燈上。</p><p> 3.2.3 典型模塊通訊</p><p><b&
94、gt; 1)觸點(diǎn)控制</b></p><p> 觸點(diǎn)控制主要對(duì)X 輸入點(diǎn)讀取數(shù)據(jù),讀Y點(diǎn)進(jìn)行讀寫,讀寫包括單點(diǎn)讀(寫),多點(diǎn)讀(寫),以及字的讀(寫)。本文從數(shù)據(jù)出發(fā),只對(duì)X和Y的單點(diǎn)讀取以及字的讀取。</p><p><b> 命令格式:</b></p><p> 圖3-11 觸點(diǎn)控制</p><p&g
95、t;<b> 程序流程圖如下:</b></p><p> 圖3-12 觸點(diǎn)控制流程圖</p><p> 說明:該程序框圖主要實(shí)現(xiàn)對(duì)端口Y/R觸點(diǎn)的寫入讀取控制,其中寫入和讀取有單點(diǎn)和字兩種操作,所以一共有2*2*2=8中命令格式,在這里用到了3個(gè)選擇框圖,如下圖3-13所示,在進(jìn)入最后一層框圖的時(shí)候,會(huì)有對(duì)應(yīng)的命令格式在里面,其中常量已近固定,輸入的變量配合選擇
96、的命令就可以對(duì)PLC進(jìn)行命令操作,例如在前面板“觸點(diǎn)控制”模塊選擇R->讀出數(shù)據(jù)->點(diǎn)控制,則程序模塊會(huì)進(jìn)入RCS讀取但觸點(diǎn)命令模式。</p><p> Labview 中的程序框圖如下所示:</p><p> 圖3-13觸點(diǎn)控制程序圖</p><p> 向PLC中通過設(shè)計(jì)的系統(tǒng)寫布爾邏輯命令</p><p><b&g
97、t; 前面板如下所示</b></p><p> 圖3-14 寫指令前面板</p><p><b> ?、诓僮髡f明</b></p><p> 在軟鍵盤中點(diǎn)擊各個(gè)鍵組成命令,每一步為一個(gè)記錄,也可以在左上角的輸入框中鍵盤輸入指令;輸入完畢后點(diǎn)擊“輸出轉(zhuǎn)換”按鈕,確定無誤后,點(diǎn)擊“下載PLC”按鈕,旁邊的指示燈亮則表明成功,反之查看
98、命令輸入格式是否有誤,在左邊框在修正再?gòu)男罗D(zhuǎn)換。</p><p><b> ?、墼碚f明</b></p><p> 圖 3-15 寫命令程序原理圖</p><p> 說明:從上述輸出的代碼中組成一個(gè)字符串,然后把字符串以68個(gè)字符為單元截取,因?yàn)閭魉兔顣r(shí)字符長(zhǎng)度有限制,68個(gè)代碼組成的命令為:%01# WP +首地址+末地址+CODE+B
99、CC+CR 一共87個(gè)字符,可以傳送。</p><p> ?、馨l(fā)送到PLC后生成的梯形圖如下。</p><p> 圖3-16 命令發(fā)送后PLC生成的梯形圖</p><p> 3.3 Labview 實(shí)時(shí)監(jiān)控PLC實(shí)例:流水燈監(jiān)控</p><p> 前面介紹了Labview 的通訊原理和通訊系統(tǒng)的各種模塊,以及特殊模塊的工作情況,下面作
100、為整個(gè)設(shè)計(jì)系統(tǒng),對(duì)PLC進(jìn)行實(shí)時(shí)監(jiān)控,演示該本通訊系統(tǒng)的工作性能。</p><p> 我們以PLC的16盞輸出的LED為流水燈,使其從左到右依次點(diǎn)亮,沒個(gè)燈亮1S,然后熄滅,熄滅的同時(shí)下一盞燈亮,依次類推,到第16盞燈以后循環(huán)到第一盞燈,不斷地運(yùn)行,直到一個(gè)信號(hào)使其中斷。</p><p> 3.3.1 流水燈梯形圖設(shè)計(jì)</p><p><b> 1)
101、流水燈原理</b></p><p> 按照要求流水燈要依次點(diǎn)亮,并保持1秒,根據(jù)定時(shí)器的原理,可以用來產(chǎn)生該脈沖信號(hào)。其狀態(tài)圖如下所示。</p><p><b> 圖3-17 狀態(tài)圖</b></p><p> 說明:上述狀態(tài)圖可以看出Y0,Y1依次點(diǎn)亮,且當(dāng)T1運(yùn)行的時(shí)候,T0斷開,則Y0也斷開,要實(shí)現(xiàn)這種功能只需把T1常閉串
102、聯(lián)到R0,當(dāng)T1 得電時(shí),R0短開,R0斷開則T0停止,T0停止輸出,則Y0輸出低電平,依次類推就可以得出Y i 依次點(diǎn)亮的效果了。</p><p> 為了讓16盞燈依次點(diǎn)亮,需要兩個(gè)屬于端口,一個(gè)觸發(fā)輸入信號(hào),配置為X1,另一個(gè)停止運(yùn)行的輸入信號(hào),配置為X2;此外需要17個(gè)定時(shí)器和16個(gè)輸出端口以及16個(gè)內(nèi)部寄存器。</p><p> 2)3個(gè)流水燈的梯形圖分析</p>
103、<p> 簡(jiǎn)潔分析起見,下面分析3個(gè)流水燈的梯形圖,完整梯形圖見附錄4</p><p> 圖3-18 3盞流水燈的梯形圖</p><p> 分析:上面的梯形圖在R40的觸發(fā)下可以依次點(diǎn)亮輸出端的LED燈,程序運(yùn)行到最后的時(shí)候,Y3斷開,如果需要從新開始,這里使用了一種特殊的方式,就是想辦法讓R40隔一段時(shí)間產(chǎn)生一個(gè)脈沖,從而驅(qū)動(dòng)整個(gè)程序,只要R40脈沖不斷,就可以周而復(fù)始
104、地運(yùn)行狀態(tài)燈。</p><p> 下面就產(chǎn)生脈沖的R40 進(jìn)行程序分析,梯形圖如下:</p><p> 圖3-19 產(chǎn)生脈沖信號(hào)梯形圖</p><p> 分析說明:輸入端X1 觸發(fā),R39自鎖,R 40輸出“1”,當(dāng)定時(shí)器在R 39接通后0.4秒后,T30接通,T30非斷開,R40輸出“0”;在T 30接通后的TM31 開始計(jì)時(shí),圖中的值大于16盞燈完成一個(gè)
105、點(diǎn)亮過程的時(shí)間,此值要根據(jù)整個(gè)程序的一個(gè)完成周期來設(shè)定,如果小了會(huì)產(chǎn)生混亂,可能會(huì)出現(xiàn)兩個(gè)燈在流動(dòng)的情況,如設(shè)大了,等待的時(shí)間過長(zhǎng),因此TM31的時(shí)間根據(jù)具體梯形圖一個(gè)周期化的時(shí)間而定。</p><p> 圖3-20 脈沖產(chǎn)生狀態(tài)圖</p><p> 分析說明:由于T31產(chǎn)生的是一個(gè)瞬間脈沖,而軟件的采用頻率是100ms,故在T 31得電的瞬間無法讀取,而實(shí)際上是存在的。由此產(chǎn)生的R4
106、0脈沖信號(hào)就就是觸發(fā)流水燈循環(huán)的信號(hào),這個(gè)循環(huán)代替了手工觸發(fā),便于實(shí)驗(yàn)觀察。</p><p> 3)整個(gè)流水燈的梯形圖及狀態(tài)圖</p><p> 把圖3-19的梯形圖放在程序的開頭,然后接上圖3-18的流水燈狀態(tài)產(chǎn)生梯形圖,最終的16盞流水燈的梯形圖見附錄5</p><p> 把程序下載到PLC,運(yùn)行得出的輸出端口狀態(tài)結(jié)果如下所示</p><
107、;p> 圖3-21 輸出端Y的狀態(tài)圖</p><p> 分析說明:16盞狀態(tài)燈在R 40的觸發(fā)下,依次點(diǎn)1亮,然后熄滅,而且銜接得很好,通過元件分析,最后一盞燈滅到R40產(chǎn)生下個(gè)觸發(fā)脈沖的間隔差為200ms,銜接緊湊。特別需要這樣的是如果觸發(fā)信號(hào)在Y F燈滅前觸發(fā),會(huì)出現(xiàn)兩盞燈在流動(dòng)的現(xiàn)象,甚至產(chǎn)生混亂,故TM 31的時(shí)間設(shè)定要注意其值要大于程序運(yùn)行一個(gè)周期的時(shí)間。</p><p&g
108、t; 3.3.2 labview的監(jiān)控的程序設(shè)計(jì)</p><p> 上節(jié)是流水燈的PLC程序,下載完后,可以通過機(jī)子自帶的LED燈直觀的觀察到流水燈運(yùn)動(dòng)順暢,本節(jié)要介紹的是如何設(shè)計(jì)通訊系統(tǒng),實(shí)現(xiàn)狀態(tài)燈的實(shí)時(shí)監(jiān)控。</p><p> 1)讀取流水燈命令流程圖</p><p> 圖3-22流水燈命令流程圖</p><p> 分析說明:①
109、在讀取多點(diǎn)命令中,由于一次傳輸命令長(zhǎng)度的限制,最多只能讀8個(gè)端點(diǎn)的狀態(tài)信息。</p><p> ?、谧x取低八位的命令碼為:%01#RCP8Y0000Y0001Y0002Y0003Y0004Y0005Y0006Y00077E<CR></p><p> ③讀取高8位的命令碼為:%01#RCP8X0008X0009X000AX000BX000CX000DX000EX000F78&l
110、t;CR></p><p> ?、苊畎l(fā)出要延遲一定時(shí)間,否則正確讀取時(shí)間,甚至讀不到數(shù)據(jù),這是因?yàn)閭鬏敽秃瘮?shù)處理是要花一定時(shí)間的。</p><p> ?、葸@是實(shí)時(shí)監(jiān)控程序,是很費(fèi)CPU的,如果不需要,把開關(guān)撥到PROG,或者點(diǎn)擊系統(tǒng)面板的PROG按鈕。其中“讀取分析數(shù)據(jù),顯示”這是一個(gè)子程序,在提取數(shù)據(jù)中起到關(guān)鍵作用,下面要來分析一下其原理。</p><p>
111、;<b> 2)數(shù)據(jù)分析,顯示</b></p><p> 從邏輯上來講,這個(gè)子程序需要兩個(gè)輸入才能得出輸出數(shù)據(jù),這兩個(gè)輸入一個(gè)是發(fā)出的命令,這個(gè)輸入是確定流水燈的顯示范圍;另外一個(gè)就是命令發(fā)出后提取的數(shù)據(jù)信息。這兩個(gè)輸入進(jìn)入子程序后經(jīng)過比較分析,最后輸出結(jié)果,其流程圖如下所示。</p><p> 圖3-23 數(shù)據(jù)分析流程圖</p><p>
112、; 分析說明:這個(gè)子程序其實(shí)是個(gè)for循環(huán)結(jié)構(gòu),輸入的數(shù)據(jù)位8位,故要進(jìn)行8次循環(huán),提取的數(shù)據(jù)是字符型,故要把字符型轉(zhuǎn)化為數(shù)值型,然后把數(shù)值型轉(zhuǎn)化為布爾型,最后把布爾數(shù)據(jù)賦予給布爾顯示燈。</p><p> 3)數(shù)據(jù)分析,顯示子程序在Labview中的設(shè)計(jì)</p><p> 根據(jù)上面的邏輯分析,在Labview中很容易就可以實(shí)現(xiàn),具體設(shè)計(jì)如下圖所示。</p><p
113、> 圖3-24 數(shù)據(jù)分析子程序</p><p> 分析說明:從上圖可以看出,整個(gè)過程出了數(shù)據(jù)提取和轉(zhuǎn)換外,在流水燈的定位上運(yùn)用了類似總線的原理,即總線發(fā)出地址,對(duì)應(yīng)的地址選中響應(yīng),同時(shí)發(fā)出數(shù)據(jù),對(duì)應(yīng)地址的燈獲得狀態(tài)信息。如果地址等沒選中,則處于“假”狀態(tài),不進(jìn)行任何操作。類似地,高位的地址燈出子程序處理也是這樣,只要把地址對(duì)比欄那里該為“8—F”即可。</p><p> 3.3
114、.3 系統(tǒng)的監(jiān)控運(yùn)行調(diào)試</p><p> 前面已近把流水燈的PLC梯形圖設(shè)計(jì)完成,并把梯形圖下載到PLC存儲(chǔ)起來了,在上節(jié)中通過分析流水燈狀態(tài)信息提取后,在labview中的關(guān)鍵處理子函數(shù)也已經(jīng)編輯完成,通過測(cè)試,可以使用。</p><p> 通過組合命令,調(diào)用主程序的方法,把程序圖組合如下圖3-25所示。在這個(gè)程序圖中先對(duì)低8位進(jìn)行操作,后面接的高8位的狀態(tài)操作,這樣設(shè)計(jì)主要考慮到
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上位機(jī)與plc通訊的設(shè)計(jì)及應(yīng)用
- 基于以太網(wǎng)下的plc與上位機(jī)通訊
- 畢業(yè)設(shè)計(jì)(論文)-基于labview的串口通訊系統(tǒng)設(shè)計(jì)
- 基于PC的軟PLC—上位機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于usb協(xié)議的pc機(jī)與430單片機(jī)的通訊系統(tǒng)設(shè)計(jì)-畢業(yè)論文
- 基于智能小車的信息采集系統(tǒng)-上位機(jī)數(shù)據(jù)接收模塊設(shè)計(jì)[畢業(yè)論文]
- 基于arm的上片機(jī)與上位機(jī)通訊的實(shí)現(xiàn)
- 基于51單片機(jī)的串口通訊系統(tǒng)畢業(yè)論文
- 畢業(yè)論文 基于labview的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)
- 基于labview的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)設(shè)計(jì) 畢業(yè)論文
- 基于labview的溫度采集系統(tǒng)研究與設(shè)計(jì)--畢業(yè)論文
- 基于labview的恒溫檢測(cè)系統(tǒng)畢業(yè)論文
- 基于plc的造紙機(jī)控制系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文(設(shè)計(jì))基于labview的交通燈系統(tǒng)設(shè)計(jì)
- 溫度監(jiān)測(cè)系統(tǒng)上位機(jī)通訊接口的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于plc的電梯系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 通訊系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-基于labview的倒立擺控制系統(tǒng)設(shè)計(jì)
- 基于labview的數(shù)字示波器設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文-遠(yuǎn)程糧倉濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)——上位機(jī)系統(tǒng)【精校排版】
評(píng)論
0/150
提交評(píng)論