sfc編程總則
a.三要素:驅(qū)動(dòng)負(fù)載、轉(zhuǎn)移條件、轉(zhuǎn)移目標(biāo)。轉(zhuǎn)移條件、轉(zhuǎn)移目標(biāo)二者不可缺,驅(qū)動(dòng)負(fù)載視具體情況而定。
b.先驅(qū)動(dòng)負(fù)載,后狀態(tài)轉(zhuǎn)移,不可顛倒。
c.順序不連續(xù)的轉(zhuǎn)移用out指令進(jìn)行狀態(tài)轉(zhuǎn)移。
d.對(duì)狀態(tài)的處理必須先使用步進(jìn)接點(diǎn)指令stl。
e.程序最后必須使用步進(jìn)返回指令ret。
f.不同時(shí)啟動(dòng)的雙線圈是允許的,相鄰的狀態(tài)使用的“t、c”不能相同。
g.轉(zhuǎn)移條件可以是多個(gè)元件的邏輯組合。
h.sfc程序內(nèi)不可使用mc、mr指令。
i.初始狀態(tài)可以由其他狀態(tài)驅(qū)動(dòng),運(yùn)行開始必須用其他方法預(yù)先作好初始狀態(tài)的驅(qū)動(dòng)。
j.停電恢復(fù)后需要繼續(xù)的狀態(tài),用停電保持狀態(tài)元件。
k.分支、匯合的組合流程和虛擬狀態(tài)的編程需具體情況,具體分析,具體處理。
選擇性分支狀態(tài)編程法
分支狀態(tài)的編程
①.“取”第一個(gè)分支的轉(zhuǎn)移條件。
②.“set(轉(zhuǎn)移到”)第一個(gè)分支的第一個(gè)狀態(tài)。
③.依據(jù)“①、②”項(xiàng)的方法逐步完成由左到右的其他分支,即告分支狀態(tài)的編程結(jié)束。
匯合狀態(tài)的編程
㈠.“stl”第一個(gè)分支的第一個(gè)狀態(tài),一直到該分支的最后一個(gè)狀態(tài),但僅能進(jìn)行到out驅(qū)動(dòng)。
㈡.依據(jù)“㈠”的方法逐步完成由左到右的相應(yīng)的分支。
㈢.“stl”匯合前的第一支路的最后的狀態(tài),“取向匯合狀態(tài)轉(zhuǎn)移的條件,“set”匯合的第一個(gè)狀態(tài)。
㈣.依據(jù)“㈢”的方法逐步完成其他相應(yīng)由左到右的分支的匯合。
㈤.“stl”匯合后的第一個(gè)狀態(tài),需進(jìn)行輸出。
并行性分支狀態(tài)編程法
分支狀態(tài)的編程
⒈“取”并行分支狀態(tài)前的轉(zhuǎn)移條件,“set”由左到右的每一個(gè)分支的第一個(gè)狀態(tài)。
匯合狀態(tài)的編程
⑴.“stl”第一個(gè)分支的第一個(gè)狀態(tài),直至該分支的最后的狀態(tài)的驅(qū)動(dòng)輸出。
⑵.依據(jù)“⑴”的方法逐步完成其他由左到右的分支。
⑶.“stl”第一個(gè)分支的最后狀態(tài),“stl”第二個(gè)分支的最后狀態(tài),但不能輸出……
⑷.“取”匯合后的第一個(gè)轉(zhuǎn)移條件。
⑸.“set(轉(zhuǎn)移到)”第一個(gè)分支的第一個(gè)狀態(tài)。