一、狀態(tài)編程思想引入
使用經(jīng)驗(yàn)法及基本指令編制的程序存在以下一些問題。
(1)工藝動(dòng)作表達(dá)繁瑣。
(2)梯形圖涉及的聯(lián)鎖關(guān)系較復(fù)雜,處理起來較麻煩。
(3)梯形圖可讀性差,很難從梯形圖看出具體控制工藝過程。
思考:尋求一種易于構(gòu)思,易于理解的圖形程序設(shè)計(jì)工具。它應(yīng)有流程圖的直觀,又有利于復(fù)雜控制邏輯關(guān)系的分解與綜合,這種圖就是狀態(tài)轉(zhuǎn)移圖。
引出:狀態(tài)編程思想即將一個(gè)復(fù)雜的控制過程分解為若干個(gè)工作狀態(tài),弄清各個(gè)狀態(tài)的工作細(xì)節(jié)(狀態(tài)的功能、轉(zhuǎn)移條件和轉(zhuǎn)移方向),再依據(jù)總的控制順序要求,將這些狀態(tài)聯(lián)系起來,形成狀態(tài)轉(zhuǎn)移圖,進(jìn)而編繪梯形程序。狀態(tài)轉(zhuǎn)移圖是狀態(tài)編程的重要工具,圖中以“s□□”標(biāo)志的方框表示“狀態(tài)”,方框間的連線表示狀態(tài)間的聯(lián)系,方框間連線上的短橫線表示狀態(tài)轉(zhuǎn)移的條件,方框上橫向引出的類似于梯形圖支路的符號(hào)組合表示該狀態(tài)的任務(wù)。
臺(tái)車自動(dòng)往返控制的流程圖
臺(tái)車自動(dòng)往返控制的狀態(tài)轉(zhuǎn)移圖
二、三菱fx2n系列plc的狀態(tài)元件
三菱plc的狀態(tài)元件即狀態(tài)繼電器,它是構(gòu)成狀態(tài)轉(zhuǎn)移圖的重要元件。
三、fx2n系列plc的步進(jìn)順控指令
plc的步進(jìn)順控指令有兩條:步進(jìn)接點(diǎn)指令stl和步進(jìn)返回指令ret。
1.步進(jìn)接點(diǎn)指令stl
從下圖不難看出,轉(zhuǎn)移圖中的一個(gè)狀態(tài)在梯形圖中用一條步進(jìn)接點(diǎn)指令表示。stl指令的意義為“激活”某個(gè)狀態(tài),在梯形圖上體現(xiàn)為從主母線上引出的狀態(tài)接點(diǎn),有建立子母線的功能,使該狀態(tài)的所有操作均在子母線上進(jìn)行。其梯形圖符號(hào)也可用空心粗線繪出,以與普通常開觸點(diǎn)區(qū)別?!凹せ睢钡牡诙右馑际遣捎胹tl指令編程的梯形圖區(qū)間,只有被激活的程序段才被掃描執(zhí)行,而且在狀態(tài)轉(zhuǎn)移圖的一個(gè)單流程中,一次只有一個(gè)狀態(tài)被激活,被激活的狀態(tài)有自動(dòng)關(guān)閉激活它的前個(gè)狀態(tài)的能力。這樣就形成了狀態(tài)間的隔離,使編程者在考慮某個(gè)狀態(tài)的工作任務(wù)時(shí),不必考慮狀態(tài)間的聯(lián)鎖。
圖7-3狀態(tài)轉(zhuǎn)移圖與狀態(tài)梯形圖對(duì)照
2.步進(jìn)返回指令ret
ret的意義用于返回主母線。梯形圖符號(hào)為,使步進(jìn)順控程序執(zhí)行完畢后,非狀態(tài)程序的操作在主母線上完成,防止出現(xiàn)邏輯錯(cuò)誤。狀態(tài)轉(zhuǎn)移程序的結(jié)尾必須使用ret指令。
四、運(yùn)用狀態(tài)編程思想解決順控問題的方法步驟
運(yùn)用狀態(tài)編程思想設(shè)計(jì)狀態(tài)轉(zhuǎn)移圖的方法和步驟:
步驟1:狀態(tài)分解,分配狀態(tài)元件
步驟2:標(biāo)明狀態(tài)的功能
步驟3:標(biāo)明狀態(tài)的轉(zhuǎn)移條件
臺(tái)車自動(dòng)往返控制狀態(tài)轉(zhuǎn)移圖
步驟1:狀態(tài)分解,分配狀態(tài)元件。即將整個(gè)過程按任務(wù)要求分解,其中的每個(gè)工序均對(duì)應(yīng)一個(gè)狀態(tài),并分配狀態(tài)元件。
每個(gè)工序(或稱步)用一矩形方框表示,方框中用文字表示該工序的動(dòng)作內(nèi)容或用數(shù)字表示該工序的標(biāo)號(hào)。與控制過程的初始狀態(tài)相對(duì)應(yīng)的步稱為初始步,用雙線框表示。方框之間用線段連接表示狀態(tài)間的聯(lián)系。
例如臺(tái)車自動(dòng)往返控制實(shí)例中:
(1)初始狀態(tài)s0
(2)第一次前進(jìn)s20
(3)第一次后退s21
(4)延時(shí)s22
(5)第二次前進(jìn)s23
(6)第二次后退s24
步驟1:狀態(tài)分解,分配狀態(tài)元件
步驟2:弄清每個(gè)狀態(tài)的功能、作用
在狀態(tài)轉(zhuǎn)移圖中標(biāo)明狀態(tài)功能,例如在臺(tái)車自動(dòng)往返控制實(shí)例中:
s0plc上電作好工作準(zhǔn)備
s20第一次前進(jìn)(輸出y1,驅(qū)動(dòng)電動(dòng)機(jī)正轉(zhuǎn))
s21第一次后退(輸出y2,驅(qū)動(dòng)電動(dòng)機(jī)反轉(zhuǎn))
s22延時(shí)(定時(shí)器t0延時(shí)到t0動(dòng)作)
s23第二次前進(jìn)(輸出y1,驅(qū)動(dòng)電動(dòng)機(jī)正轉(zhuǎn))
s24第二次后退(輸出y2,驅(qū)動(dòng)電動(dòng)機(jī)反轉(zhuǎn))
各狀態(tài)的功能是通過plc驅(qū)動(dòng)其各種負(fù)載來完成的。負(fù)載可由狀態(tài)元件直接驅(qū)動(dòng),也可由其他軟元件觸點(diǎn)的邏輯組合驅(qū)動(dòng)。
步驟2:標(biāo)明狀態(tài)功能
步驟3:找出每個(gè)狀態(tài)的轉(zhuǎn)移條件
在狀態(tài)轉(zhuǎn)移圖中標(biāo)明每個(gè)狀態(tài)的轉(zhuǎn)移條件,方框之間線段上的短橫線表示狀態(tài)轉(zhuǎn)移條件。例如臺(tái)車自動(dòng)往返控制實(shí)例中:
s20轉(zhuǎn)移條件sb
s21轉(zhuǎn)移條件sq1
s22轉(zhuǎn)移條件sq2
s23轉(zhuǎn)移條件t0
s24轉(zhuǎn)移條件sq3
狀態(tài)的轉(zhuǎn)移條件可以是單一的,也可以是多個(gè)元件的串、并聯(lián)組合。
步驟3:標(biāo)明轉(zhuǎn)移條件
通過以上三步,可得到臺(tái)車自動(dòng)往返控制狀態(tài)轉(zhuǎn)移圖,每步所驅(qū)動(dòng)的負(fù)載(線圈)用線段與方框連接。
臺(tái)車自動(dòng)往返控制狀態(tài)轉(zhuǎn)移圖