plc程序的邏輯設(shè)計(jì)方法的是以邏輯組合或邏輯時(shí)序的方法和形式來設(shè)計(jì)plc程序,可分為組合邏輯設(shè)計(jì)法和時(shí)序邏輯設(shè)計(jì)法兩種。這些設(shè)計(jì)方法既有嚴(yán)密可循的規(guī)律性,明確可行的設(shè)計(jì)步驟,又具有簡便、直觀和十分規(guī)范的特點(diǎn)。
1.邏輯函數(shù)與梯形圖的關(guān)系
組合邏輯設(shè)計(jì)法的理論基礎(chǔ)是邏輯代數(shù)。我們知道,邏輯代數(shù)的三種基本運(yùn)算“與”、“或”、“非”都有著非常明確的物理意義。邏輯函數(shù)表達(dá)式的線路結(jié)構(gòu)與plc梯形圖相互對(duì)應(yīng),可以直接轉(zhuǎn)化。
如圖1所示為邏輯函數(shù)與梯形圖的相關(guān)對(duì)應(yīng)關(guān)系,其中圖1a是多變量的邏輯“與” 運(yùn)算函數(shù)與梯形圖,圖1b為多變量“或”運(yùn)算函數(shù)與梯形圖,圖1c為多變量“或”/“與”運(yùn)算函數(shù)與梯形圖,圖1d為多變量“與”/“或”運(yùn)算函數(shù)與梯形圖。
圖1 邏輯函數(shù)與梯形圖
a)與運(yùn)算 b)或運(yùn)算 c)或/與運(yùn)算 d)與/或運(yùn)算
由圖1可知,當(dāng)一個(gè)邏輯函數(shù)用邏輯變量的基本運(yùn)算式表達(dá)出來后,實(shí)現(xiàn)這個(gè)邏輯函數(shù)的梯形圖也就確定了。
2.組合邏輯設(shè)計(jì)法的編程步驟
組合邏輯設(shè)計(jì)法適合于設(shè)計(jì)開關(guān)量控制程序,它是對(duì)控制任務(wù)進(jìn)行邏輯分析和綜合,將元件的通、斷電狀態(tài)視為以觸點(diǎn)通、斷狀態(tài)為邏輯變量的邏輯函數(shù),對(duì)經(jīng)過化簡的邏輯函數(shù),利用plc邏輯指令可順利地設(shè)計(jì)出滿足要求且較為簡練的程序。這種方法設(shè)計(jì)思路清晰,所編寫的程序易于優(yōu)化,。
用組合邏輯設(shè)計(jì)法進(jìn)行程序設(shè)計(jì)一般可分為以下幾個(gè)步驟:
1)明確控制任務(wù)和控制要求,通過分析工藝過程繪制工作循環(huán)和檢測(cè)元件分布圖,取得電氣執(zhí)行元件功能表。
2)詳細(xì)繪制系統(tǒng)狀態(tài)轉(zhuǎn)換表。通常它由輸出信號(hào)狀態(tài)表、輸入信號(hào)狀態(tài)表、狀態(tài)轉(zhuǎn)換主令表和中間記憶裝置狀態(tài)表四個(gè)部分組成。狀態(tài)轉(zhuǎn)換表全面、完整地展示了系統(tǒng)各部分、各時(shí)刻的狀態(tài)和狀態(tài)之間的聯(lián)系及轉(zhuǎn)換,非常直觀,對(duì)建立控制系統(tǒng)的整體聯(lián)系、動(dòng)態(tài)變化的概念有很大幫助,是進(jìn)行系統(tǒng)的分析和設(shè)計(jì)的有效工具。
3)根據(jù)狀態(tài)轉(zhuǎn)換表進(jìn)行系統(tǒng)的邏輯設(shè)計(jì),包括列寫中間記憶元件的邏輯函數(shù)式和列寫執(zhí)行元件(輸出量)的邏輯函數(shù)式。這兩個(gè)函數(shù)式組,既是生產(chǎn)機(jī)械或生產(chǎn)過程內(nèi)部邏輯關(guān)系和變化規(guī)律的表達(dá)形式,又是構(gòu)成控制系統(tǒng)實(shí)現(xiàn)控制目標(biāo)的具體程序。
4)將邏輯設(shè)計(jì)的結(jié)果轉(zhuǎn)化為plc程序。邏輯設(shè)計(jì)的結(jié)果(邏輯函數(shù)式)能夠很方便的過渡到plc程序,特別是語句表形式,其結(jié)構(gòu)和形式都與邏輯函數(shù)式非常相似,很容易直接由邏輯函數(shù)式轉(zhuǎn)化。當(dāng)然,如果設(shè)計(jì)者需要由梯形圖程序作為一種過渡,或者選用的plc的編程器具有圖形輸入的功能,則也可以首先由邏輯函數(shù)式轉(zhuǎn)化為梯形圖程序。
3.組合邏輯設(shè)計(jì)舉例
下面通過步進(jìn)電機(jī)環(huán)形分配器的plc程序來進(jìn)行說明:
(1)工作原理
步進(jìn)電機(jī)控制主要有三個(gè)重要參數(shù)即轉(zhuǎn)速、轉(zhuǎn)過的角度和轉(zhuǎn)向。由于步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)是由輸入脈沖信號(hào)控制,所以轉(zhuǎn)速是由輸入脈沖信號(hào)的頻率決定,而轉(zhuǎn)過的角度由輸入脈沖信號(hào)的脈沖個(gè)數(shù)決定。轉(zhuǎn)向由環(huán)形分配器的輸出通過步進(jìn)電機(jī)a、b、c相繞組來控制,環(huán)形分配器通過控制各相繞組通電的相序來控制步電機(jī)轉(zhuǎn)向。
如圖2給出了一個(gè)雙向三相六拍環(huán)形分配器的邏輯電路。電路的輸出除決定于復(fù)位信號(hào)reset外,還決定于輸出端qa、qb、qc的歷史狀態(tài)及控制信號(hào)-en使能信號(hào)、con正反轉(zhuǎn)控制信號(hào)和輸入脈沖信號(hào)。其真值表如表1所示。
圖2 步進(jìn)電機(jī)環(huán)形分配器
表1 真值表
con
1
0
z
en
clk
a
b
c
a
b
c
1
φ
φ
1
0
0
1
0
0
0
1
↑
1
0
1
1
1
0
0
1
↑
0
0
1
0
1
0
0
1
↑
0
1
1
0
1
1
0
1
↑
0
1
0
0
0
1
0
1
↑
1
1
0
1
0
1
0
1
↑
1
0
0
1
0
0
(2)程序設(shè)計(jì)
程序設(shè)計(jì)采用組合邏輯設(shè)計(jì)法,由真值表可知:
當(dāng)con=0時(shí),輸出qa、qb、qc的邏輯關(guān)系為:
當(dāng)con=1時(shí),輸出qa、qb、qc的邏輯關(guān)系為:
當(dāng)con=0,正轉(zhuǎn)時(shí)步進(jìn)機(jī)a、b、c相線圈的通電相序?yàn)椋?br>當(dāng)con=1,反轉(zhuǎn)時(shí)各相線圈通電相序?yàn)椋?br>qa、qb、qc的狀態(tài)轉(zhuǎn)換條件為輸入脈沖信號(hào)上升沿到來,狀態(tài)由前一狀態(tài)轉(zhuǎn)為后一狀態(tài),所以在梯形圖中引入了上升沿微分指令。
plc輸入/輸出元件地址分配見表2。
表2 plc輸入/輸出元件地址分配表
plc in
代號(hào)
plc out
代號(hào)
x0
clk
y0
qa
x1
en
y1
qb
x2
reset
y2
qc
x3
con
根據(jù)邏輯關(guān)系畫出步進(jìn)電機(jī)機(jī)環(huán)形分配器的plc梯形圖,如圖3所示。
圖3 環(huán)形分配器的梯形圖
梯形圖工作原理簡單分析如下:設(shè)初始狀態(tài)為reset有效。x2常開觸點(diǎn)閉合,y0輸出為“1”狀態(tài),y1、y2為“0”狀態(tài),reset無效后,上述三輸出狀態(tài)各自保持原狀態(tài)。con=0(x3=0),當(dāng)en(x1=1)有效,且有輸入脈沖信號(hào)clk(x0)輸入,clk(x0)上升沿到來,m0輔助繼電器常開觸點(diǎn)閉合一個(gè)掃描周期。在此期間,各輸出繼電器狀態(tài)自保持失效,y0輸出保持為“1”狀態(tài),y1輸出由“0”變“1”,y2輸出狀態(tài)為“0”。一個(gè)掃描周期過后,m0常開觸點(diǎn)斷開,常閉觸點(diǎn)閉合,各輸出繼電器狀態(tài)恢復(fù)自保持,等待下一個(gè)輸入脈沖信號(hào)上升沿的到來。其它部分請(qǐng)讀者自己分析。