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