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