国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

PLC 項(xiàng)目式教學(xué)編程方法的研究

2021-08-20 10:28吳元?jiǎng)P
電子設(shè)計(jì)工程 2021年16期
關(guān)鍵詞:狀態(tài)機(jī)洗衣機(jī)調(diào)用

周 穎,沈 勇,范 菁,吳元?jiǎng)P

(云南民族大學(xué)云南省高校信息與通信安全災(zāi)備重點(diǎn)實(shí)驗(yàn)室,云南昆明 650500)

可編程邏輯控制器(Programmable Logic Controller,PLC)是用于自動(dòng)控制的數(shù)字運(yùn)算控制器,也是現(xiàn)代工業(yè)自動(dòng)化系統(tǒng)的重要組成部分,被廣泛應(yīng)用于國家重要基礎(chǔ)設(shè)施和各種工業(yè)控制領(lǐng)域[1]。

國內(nèi)各大學(xué)工科專業(yè)均開設(shè)了與PLC 相關(guān)的課程,傳統(tǒng)的PLC 課程教學(xué)采用“先理論講解,后動(dòng)手實(shí)驗(yàn)”的教學(xué)模式[2-3]。傳統(tǒng)PLC 教學(xué)著重傳授學(xué)生理論知識,缺乏對學(xué)生實(shí)踐能力和綜合運(yùn)用知識能力的培養(yǎng),導(dǎo)致學(xué)生PLC 理論與實(shí)踐分離,而且老師講授的教學(xué)內(nèi)容抽象,學(xué)生難以理解,教學(xué)效果并不理想[4-9]。

針對傳統(tǒng)教學(xué)模式的不足,文中采用了項(xiàng)目式教學(xué)方法,將理論教學(xué)和實(shí)踐教學(xué)有機(jī)結(jié)合。以洗衣機(jī)控制系統(tǒng)的項(xiàng)目為例,采用結(jié)構(gòu)化編程進(jìn)行洗衣機(jī)控制系統(tǒng)PLC 程序的設(shè)計(jì),達(dá)到控制3 臺洗衣機(jī)的目的。同時(shí)引入有限狀態(tài)機(jī)的概念,結(jié)合WINCC 組態(tài)軟件,介紹了PLC 結(jié)構(gòu)化編程方法,將PLC 編程化抽象為具體,便于學(xué)生理解,有利于培養(yǎng)學(xué)生對PLC 的綜合應(yīng)用能力。

1 洗衣機(jī)控制系統(tǒng)PLC控制原理

文中的洗衣機(jī)控制系統(tǒng)選用德國西門子S7-1200 系列CPU 1214C 作為控制單元,控制的對象包括電磁閥、電動(dòng)機(jī)、繼電器、蜂鳴器[10]。其中電動(dòng)機(jī)的工作狀況、工作時(shí)間,需要根據(jù)不同的程序來進(jìn)行設(shè)定。洗衣機(jī)控制系統(tǒng)原理圖如圖1 所示。

圖1 洗衣機(jī)控制系統(tǒng)原理圖

電動(dòng)機(jī)的正轉(zhuǎn)、反轉(zhuǎn)以及脫水工序皆由繼電器控制,繼電器與PLC 的輸出端相連,以PLC 的輸出信號控制繼電器。脫水繼電器組與電動(dòng)機(jī)、電源直接相連,當(dāng)洗衣機(jī)脫水時(shí),電動(dòng)機(jī)以額定轉(zhuǎn)速工作[11]。洗衣機(jī)脫水時(shí)的轉(zhuǎn)速與洗滌漂洗時(shí)的轉(zhuǎn)速不同,電動(dòng)機(jī)脫水時(shí)的轉(zhuǎn)速要比洗滌時(shí)的轉(zhuǎn)速大[12]。進(jìn)水電磁閥和排水電磁閥通過水位檢測傳感器進(jìn)行控制,通過按鍵進(jìn)行手動(dòng)啟動(dòng)、手動(dòng)停止、選擇調(diào)試模式、調(diào)試啟動(dòng)和調(diào)試停止操作,蜂鳴器用來報(bào)警。洗衣機(jī)控制系統(tǒng)開關(guān)量所需的輸入點(diǎn)和輸出點(diǎn)數(shù)各為19 個(gè)和18 個(gè),I/O 分配表如表1 所示。

表1 系統(tǒng)I/O分配表

2 洗衣機(jī)控制系統(tǒng)工藝流程

洗衣機(jī)的工作模式包括調(diào)試模式、遙控模式、手動(dòng)模式。洗衣機(jī)控制系統(tǒng)開始啟動(dòng)運(yùn)行前,確保系統(tǒng)處于初始狀態(tài)。選擇洗衣機(jī)模式,按下啟動(dòng)按鈕,進(jìn)水電磁閥打開,當(dāng)?shù)竭_(dá)高水位時(shí),停止進(jìn)水,并開始進(jìn)行正轉(zhuǎn)洗滌30 s,再暫停2 s 后開始進(jìn)行反轉(zhuǎn)洗滌30 s,再暫停2 s 后重新開始正轉(zhuǎn)洗滌,如此反復(fù)循環(huán)5 次[13]。洗滌結(jié)束后,排水電磁閥打開,開始排水,當(dāng)?shù)竭_(dá)低水位時(shí),脫水電磁閥打開,開始脫水,脫水時(shí)間為30 s,30 s 后報(bào)警,預(yù)示洗衣完成,按下停止按鈕,洗衣機(jī)停機(jī)。洗衣機(jī)控制系統(tǒng)的工藝流程圖如圖2 所示。

圖2 工藝流程圖

3 有限狀態(tài)機(jī)的設(shè)計(jì)

在系統(tǒng)程序設(shè)計(jì)的過程中,不僅涉及到PLC 控制系統(tǒng)的程序現(xiàn)態(tài),還涉及到它的歷史狀態(tài),故將此抽象成有限狀態(tài)機(jī)(Finite-State Machine,F(xiàn)SM),有限狀態(tài)機(jī)是有限個(gè)狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動(dòng)作等行為的數(shù)學(xué)模型,由一組狀態(tài)、一個(gè)初始狀態(tài)、輸入和根據(jù)輸入及現(xiàn)有狀態(tài)轉(zhuǎn)換為下一個(gè)狀態(tài)的轉(zhuǎn)換函數(shù)組成[14]?,F(xiàn)實(shí)世界中存在大量具有有限個(gè)狀態(tài)的系統(tǒng):通信協(xié)議系統(tǒng)、編譯器、硬件電路系統(tǒng)等。有限狀態(tài)機(jī)的概念就是來自于現(xiàn)實(shí)世界中的這些有限系統(tǒng)。

設(shè)計(jì)洗衣機(jī)控制系統(tǒng)狀態(tài)轉(zhuǎn)移圖時(shí),首先確定狀態(tài)轉(zhuǎn)移圖中具體包括幾個(gè)狀態(tài)以及狀態(tài)轉(zhuǎn)換關(guān)系。洗衣機(jī)控制系統(tǒng)涉及的狀態(tài)較多,為了便于分析程序,故將洗衣機(jī)控制系統(tǒng)的程序進(jìn)行拆分,將狀態(tài)轉(zhuǎn)移圖劃分成主狀態(tài)轉(zhuǎn)移圖和子狀態(tài)轉(zhuǎn)移圖兩個(gè)部分,繪制兩個(gè)狀態(tài)轉(zhuǎn)移圖。主狀態(tài)轉(zhuǎn)移圖中包括6個(gè)狀態(tài),分別是0 狀態(tài)停止、1 狀態(tài)進(jìn)水、2 狀態(tài)運(yùn)行、3 狀態(tài)排水、4 狀態(tài)脫水、5 狀態(tài)報(bào)警,如圖3(a)所示;子狀態(tài)轉(zhuǎn)移圖中包括6 個(gè)狀態(tài),分別是9 狀態(tài)結(jié)束、10 狀態(tài)正洗、11 狀態(tài)正暫、12 狀態(tài)反洗、13 狀態(tài)反暫、14 狀態(tài)空閑,如圖3(b)所示。洗衣機(jī)控制系統(tǒng)狀態(tài)轉(zhuǎn)移圖如圖3 所示。

圖3 洗衣機(jī)控制系統(tǒng)狀態(tài)轉(zhuǎn)移圖

4 洗衣機(jī)控制系統(tǒng)結(jié)構(gòu)化編程

傳統(tǒng)的小型系統(tǒng)可在程序循環(huán)OB中進(jìn)行線性化編程,但這種編程方式僅適用于簡單程序。文中使用TIA Portal V15.1 軟件對洗衣機(jī)控制系統(tǒng)進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì),系統(tǒng)結(jié)構(gòu)由程序組織塊、函數(shù)塊、函數(shù)、數(shù)據(jù)塊4 個(gè)部分組成。將系統(tǒng)分割成與工藝流程相對應(yīng)或可重復(fù)使用的更小的子任務(wù),這些子任務(wù)以獨(dú)立的塊來表示,更易于系統(tǒng)的處理和管理。通過結(jié)構(gòu)化更容易進(jìn)行復(fù)雜程序的編程,通過更改參數(shù)可以反復(fù)使用,使得程序結(jié)構(gòu)更簡單,更改程序更容易,簡化了調(diào)試工作。結(jié)構(gòu)化程序示意圖如圖4所示。

圖4 結(jié)構(gòu)化程序示意圖

建立用戶自定義數(shù)據(jù)類型“washing machine interface”,在用戶自定義數(shù)據(jù)類型中定義3 臺洗衣機(jī)的輸入接口、輸出接口,如圖5 所示。

圖5 用戶自定義數(shù)據(jù)類型

數(shù)據(jù)塊(Data Block,DB)用于存儲用戶程序數(shù)據(jù)及程序的中間變量數(shù)據(jù),數(shù)據(jù)塊與臨時(shí)數(shù)據(jù)不同,當(dāng)數(shù)據(jù)塊工作結(jié)束時(shí),數(shù)據(jù)塊中的數(shù)據(jù)會被保留下來。建立“equipment”DB 塊,添加3 臺洗衣機(jī)“M1、M2、M3”,數(shù)據(jù)類型為“washing machine interface”,如圖6 所示。

圖6 “equipment”DB塊

函數(shù)塊(Function Block,F(xiàn)B)是含有DB 塊的FC函數(shù),具有“存儲器”功能。它將輸入、輸出和輸入/輸出參數(shù)永久地存儲在背景數(shù)據(jù)塊中,從而在執(zhí)行塊之后,這些值仍然有效。函數(shù)塊(FB)易于移植,對于相同控制邏輯不同參數(shù)的被控對象,只要使用不同的背景DB,同一個(gè)FB 塊就可以實(shí)現(xiàn)控制,減少了重復(fù)工作,提高了工作效率[15]。文中通過建立“washing machine advanced”、“washing process advanced”、“master control”3 個(gè)FB 函數(shù)塊,分別在各自FB 函數(shù)塊的局部變量聲明表中進(jìn)行定義,包括輸入接口、輸出接口、輸入/輸出接口以及靜態(tài)變量。

洗衣機(jī)控制系統(tǒng)函數(shù)塊里涉及的定時(shí)器、計(jì)數(shù)器皆為多重背景數(shù)據(jù)塊,可以把某一個(gè)FB 塊作為一個(gè)FB 類型的變量,方便多重?cái)?shù)據(jù)塊多次、重復(fù)地按FB 接口參數(shù)建立FB 數(shù)據(jù)區(qū),即多重?cái)?shù)據(jù)塊包含多個(gè)背景數(shù)據(jù)塊的數(shù)據(jù)[16],使得3臺洗衣機(jī)工作時(shí),彼此之間不會發(fā)生沖突。系統(tǒng)FB塊如圖7所示。

圖7 洗衣機(jī)控制系統(tǒng)的FB塊

函數(shù)(Function,F(xiàn)C)是不帶存儲器的代碼塊。由于沒有可以存儲塊參數(shù)值的數(shù)據(jù)存儲器,調(diào)用函數(shù)時(shí),必須給所有形參分配實(shí)參,可以使用全局?jǐn)?shù)據(jù)永久性存儲數(shù)據(jù)。常常在FC 函數(shù)中寫一些需要重復(fù)執(zhí)行的代碼,可以在程序的不同地方調(diào)用,可以被OB 塊、FC 塊、FB 塊調(diào)用,也可以調(diào)用其他FB 塊、FC塊。使用FC 可以簡化需要重復(fù)執(zhí)行的任務(wù),提高代碼的運(yùn)行效率,不占用額外的存儲資源。在洗衣機(jī)控制系統(tǒng)中建立"enter"、"out"兩個(gè)FC 塊,將信號傳送到每一臺設(shè)備對應(yīng)的接口上。

組織塊(Organization Block,OB)是CPU 操作系統(tǒng)和用戶程序之間的接口,由操作系統(tǒng)調(diào)用,當(dāng)建立一個(gè)程序時(shí),系統(tǒng)會自動(dòng)建立一個(gè)Main[OB1]程序,負(fù)責(zé)調(diào)用其他模塊[17]。如果程序簡單,只需要OB 塊就可以實(shí)現(xiàn)。該程序會在PLC 的每個(gè)掃描周期被調(diào)用,可以在CPU 上啟動(dòng)時(shí)調(diào)用,可以循環(huán)調(diào)用,也可以在PLC 發(fā)生錯(cuò)誤時(shí)調(diào)用。Main[OB1]程序類似于C語言里面的Main 函數(shù),即為函數(shù)的入口點(diǎn),可以在Main 程序里面調(diào)用各種函數(shù)塊[18]。

在"master control" FB 塊中進(jìn)行調(diào)用"washing machine advanced"FB 塊,實(shí)現(xiàn)對3 臺洗衣機(jī)的控制,在"washing machine advanced" FB 塊中進(jìn)行調(diào)用"washing process advanced" FB 塊,其中,每個(gè)被調(diào)用的FB 塊皆為多重背景數(shù)據(jù)塊。在Main[OB1]中調(diào)用"enter"FC 塊、"master control"FB 塊、"out"FC 塊。

5 WINCC畫面

在WINCC 組態(tài)軟件的項(xiàng)目視圖中新建一個(gè)洗衣機(jī)控制系統(tǒng)的畫面。畫面中能直觀地看到洗衣機(jī)的整個(gè)工藝流程。主畫面進(jìn)行洗衣機(jī)臺號的選擇,子畫面為每一臺洗衣機(jī)的畫面,子畫面與主畫面可以進(jìn)行切換,如圖8 所示。

圖8 洗衣機(jī)控制系統(tǒng)仿真畫面圖

6 結(jié)束語

通過教學(xué)實(shí)踐證明,與傳統(tǒng)的PLC 教學(xué)方法相比,文中采取的項(xiàng)目式教學(xué)PLC 編程方法從實(shí)際應(yīng)用出發(fā),使得編程方法通俗易懂,逐步引導(dǎo)學(xué)生進(jìn)行控制系統(tǒng)的設(shè)計(jì),既培養(yǎng)了學(xué)生的專業(yè)綜合素質(zhì),又能夠讓學(xué)生在今后的PLC 技術(shù)應(yīng)用領(lǐng)域有一定的工程設(shè)計(jì)能力。

猜你喜歡
狀態(tài)機(jī)洗衣機(jī)調(diào)用
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
基于有限狀態(tài)機(jī)的交會對接飛行任務(wù)規(guī)劃方法
洗衣機(jī)里不能藏
全自動(dòng)洗衣機(jī)
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
糊涂的洗衣機(jī)
使用洗衣機(jī)
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
雙口RAM讀寫正確性自動(dòng)測試的有限狀態(tài)機(jī)控制器設(shè)計(jì)方法
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信