山東德州西門(mén)子PLC模塊代理商
安徽蕪湖西門(mén)子PLC模塊代理商
對(duì)于各組織塊中的程序,可以根據(jù)其復(fù)雜程度分別選用線性、分部或結(jié)構(gòu)化等三種形式中的一種程序結(jié)構(gòu)。由于組織塊OB1(主程序循環(huán))中的程序是應(yīng)用程序中主要的也是復(fù)雜的部分,因此,對(duì)OB1中的程序設(shè)計(jì)合理的結(jié)構(gòu)是十分重要的。下面分別說(shuō)明三種典型結(jié)構(gòu)的特點(diǎn)及選用原則。
1. 線性程序結(jié)構(gòu)
用“線性"結(jié)構(gòu)設(shè)計(jì)的程序連續(xù)放置在一個(gè)塊內(nèi)(通常為OB1),塊中的程序按順序執(zhí)行。這一結(jié)構(gòu)是初的PLC模擬的繼電器梯形邏輯的模型。線性程序具有簡(jiǎn)單、直接的特點(diǎn)。編程時(shí),不必考慮功能塊如何編程及如何調(diào)用,也不必考慮如何定義局部變量及如何使用背景數(shù)據(jù)塊。由于所有的指令在一個(gè)塊內(nèi),因此它適用于只需一個(gè)人編寫(xiě)的、相對(duì)簡(jiǎn)單的控制程序。
這是一種部分模塊化的程序結(jié)構(gòu),也稱為部分結(jié)構(gòu)化。程序被分成各部分放在若干功能塊中,每個(gè)功能塊含有用于一種設(shè)備的一系列控制邏輯。放置在組織塊OB1中的指令決定控制程序的各功能塊的執(zhí)行。比如說(shuō),一個(gè)分部程序可能包含以下內(nèi)容:
(1) 用于控制設(shè)備每一部分的FC;
(2) 用于控制設(shè)備每一工作狀態(tài)的FC;
(3) 用于控制操作員接口的FC;
(4) 用于進(jìn)行PLC自診斷的FC。
在分部程序中,既無(wú)數(shù)據(jù)交換也沒(méi)有重復(fù)利用的程序代碼。各功能塊收集并使用自己的數(shù)據(jù),功能塊不傳遞也不接收參數(shù),功能塊的編程與調(diào)用比較簡(jiǎn)單。由于每個(gè)功能區(qū)分為不同的塊,因而使得多個(gè)程序員能夠同時(shí)編程而不發(fā)生沖突。分部程序結(jié)構(gòu)的編程效率比線性程序有所提高,程序測(cè)試也較方便,對(duì)程序員的要求也不太高。對(duì)不太復(fù)雜的控制程序可考慮采用這種程序結(jié)構(gòu)。
3. 結(jié)構(gòu)化程序結(jié)構(gòu)
*結(jié)構(gòu)化(模塊化)的程序結(jié)構(gòu)是PLC程序設(shè)計(jì)和編程較有效的結(jié)構(gòu)形式,它可用于復(fù)雜程度高、程序規(guī)模大的控制應(yīng)用程序設(shè)計(jì)。結(jié)構(gòu)化程序可以重復(fù)使用某些功能塊,只需要在使用功能塊時(shí)為其提供不同的環(huán)境變量(實(shí)參),就能完成對(duì)不同設(shè)備的控制。例如,在工業(yè)攪拌控制過(guò)程中有三臺(tái)泵,對(duì)它們的控制功能相似,可以編寫(xiě)一個(gè)用于對(duì)泵進(jìn)行控制的功能塊,編程時(shí)先定義泵控制所需的變量(形參),并使用這些變量構(gòu)成一個(gè)稱為“泵控制"的一般功能塊。在調(diào)用該功能塊時(shí),通過(guò)改變傳入功能塊中的參數(shù)(實(shí)參),可以分別對(duì)成分A、成分B和攪拌桶中的三臺(tái)泵進(jìn)行控制。
結(jié)構(gòu)化程序有高的編程和程序調(diào)試效率,應(yīng)用程序代碼量也小。結(jié)構(gòu)化程序也支持多個(gè)程序員協(xié)同編程。這種程序結(jié)構(gòu)建立在對(duì)PLC系統(tǒng)功能的合理分析、分解及綜合的基礎(chǔ)之上,程序具體結(jié)構(gòu)形式的確定與程序設(shè)計(jì)人員的水平及經(jīng)驗(yàn)關(guān)系很大,對(duì)程序員的要求也較前兩種高。
1. 將過(guò)程分割為任務(wù)和區(qū)域
一個(gè)自動(dòng)化過(guò)程包括許多單個(gè)的任務(wù),通過(guò)識(shí)別一個(gè)過(guò)程內(nèi)的相關(guān)任務(wù)組,然后將這些組再分解為更小的任務(wù),即使復(fù)雜的過(guò)程也能夠被定義。下面將這個(gè)工業(yè)攪拌過(guò)程構(gòu)造為四個(gè)功能區(qū)域:配料A區(qū)域、配料B區(qū)域、混合罐區(qū)域和排料區(qū)域。
2. 說(shuō)明各個(gè)功能區(qū)域
1) 配料A和配料B區(qū)域
(1) 每種配料的管道都配備有一個(gè)入口和一個(gè)進(jìn)料閥以及進(jìn)料泵。
(2) 進(jìn)料管還有流量傳感器。
(3) 當(dāng)罐的液面?zhèn)鞲衅髦甘竟逎M時(shí),進(jìn)料泵的接通必須被鎖定。
(4) 當(dāng)排料閥打開(kāi)時(shí),進(jìn)料泵的啟動(dòng)必須被鎖定。
(5) 在啟動(dòng)進(jìn)料泵后1 s內(nèi)必須打開(kāi)入口閥和進(jìn)料閥。
(6) 在進(jìn)料泵停止后(來(lái)自流量傳感器的信號(hào))閥門(mén)必須立即被關(guān)閉以防止配料從泵中泄露。
(7) 進(jìn)料泵的啟動(dòng)與一個(gè)時(shí)間監(jiān)控功能相結(jié)合,換句話說(shuō),在泵啟動(dòng)后的7 s之內(nèi),流量傳感器會(huì)報(bào)告溢出。
(8) 當(dāng)進(jìn)料泵運(yùn)行時(shí),如果流量傳感器沒(méi)有流量信號(hào),進(jìn)料泵必須盡可能快地?cái)嚅_(kāi)。
(9) 必須對(duì)進(jìn)料泵啟動(dòng)的次數(shù)進(jìn)行計(jì)數(shù)(維護(hù)間隔)。
2) 混合罐區(qū)域
(1) 當(dāng)罐的液面?zhèn)鞲衅髦甘尽耙好娴陀诘拖?或排料閥打開(kāi)時(shí),攪拌電機(jī)的啟動(dòng)必須被鎖定。
(2) 攪拌電機(jī)在達(dá)到額定速度時(shí)要發(fā)出一個(gè)響應(yīng)信號(hào)。如果在電機(jī)啟動(dòng)后10 s內(nèi)還未接收到該信號(hào),則電機(jī)必須被斷開(kāi)。
(3) 必須對(duì)攪拌電機(jī)的啟動(dòng)次數(shù)進(jìn)行計(jì)數(shù)(維護(hù)間隔)。
(4) 在混合罐中必須安裝三個(gè)傳感器。① 罐裝滿:一個(gè)常閉觸點(diǎn)。當(dāng)達(dá)到罐的高液面時(shí),該觸點(diǎn)斷開(kāi)。② 罐中液面高于低限:一個(gè)常開(kāi)觸點(diǎn)。如果達(dá)到低限,該觸點(diǎn)關(guān)閉。③ 罐非空:一個(gè)常開(kāi)觸點(diǎn),如果罐不空,該觸點(diǎn)閉合。