PLC雙線圈輸出的規(guī)則及在程序設(shè)計(jì)中的應(yīng)用默認(rèn)分類(lèi) 2007-06-20 18:53:40 閱讀65 評(píng)論0 字號(hào):大中小 訂閱
介紹PLC雙線圈輸出的規(guī)則,一般情況下不允許出現(xiàn)雙線圈輸出,在三種特定的條件下允許雙線圈輸出。合理使用雙線圈輸出可以解決程序設(shè)計(jì)中的一些問(wèn)題,還可以減少執(zhí)行程序的時(shí)間。
問(wèn):什么是雙線圈輸出?
答:在用戶(hù)程序中,同一編程元件的線圈使用了兩次或多次,稱(chēng)為雙線圈輸出。
問(wèn):一般情況下為什么不允許雙線圈輸出?
答:圖1a中有輸出繼電器Y0的兩個(gè)線圈,在同一掃描周期,兩個(gè)線圈的邏輯運(yùn)算結(jié)果可能剛好相反,即Y0的線圈一個(gè)“通電”,一個(gè)“斷電”。因?yàn)樵诔绦驁?zhí)行完后才將Y0 的 ON/OFF 狀態(tài)送到輸出模塊,對(duì)于Y0控制的外部負(fù)載來(lái)說(shuō),真正起作用的是最后一個(gè) Y0 的線圈的狀態(tài)。
圖1 雙線圈輸出
由 P L C 的工作原理可知,PLC程序執(zhí)行的結(jié)果(即運(yùn)算得到的線圈的通斷狀態(tài)),馬上就可以被后面的邏輯運(yùn)算使用。Y0的線圈的通斷狀態(tài)除了對(duì)外部負(fù)載起作用外,通過(guò)它的觸點(diǎn),還可能對(duì)程序中別的元件的狀態(tài)產(chǎn)生影響。圖1a中Y0兩個(gè)線圈所在的電路將
梯形圖劃分為3個(gè)區(qū)域。因?yàn)镻LC是循環(huán)執(zhí)行程序的,A區(qū)和C區(qū)中Y0 的狀態(tài)相同。如果兩個(gè)線圈的通斷狀態(tài)相反,不同區(qū)域中Y0的觸點(diǎn)的狀態(tài)也是相反的,可能使程序運(yùn)行異常。作者曾遇到因雙線圈引起的輸出繼電器快速振蕩的異常現(xiàn)象。所以一般應(yīng)避免出現(xiàn)雙線圈輸出現(xiàn)象,例如可以將圖1a改為圖1b。有時(shí)同一元件的線圈分別在不同的程序段中(如自動(dòng)程序和手動(dòng)程序),不能用這種合并控制電路的方法來(lái)處理雙線圈問(wèn)題。
問(wèn):為什么在某些情況下允許雙線圈輸出?
答:雖然同一元件的線圈在程序中出現(xiàn)兩次或多次,只要能保證在同一掃描周期內(nèi)只執(zhí)行其中一個(gè)線圈對(duì)應(yīng)的邏輯運(yùn)算,這樣的雙線圈輸出是允許的。
圖2:手動(dòng)/自動(dòng)程序
問(wèn): 那幾種情況允許雙線圈輸出?
下列三種情況允許雙線圈輸出:
(1)在跳步條件相反的兩個(gè)程序段(如自動(dòng)程序和手動(dòng)程序)中,允許出現(xiàn)雙線圈現(xiàn)象,即同一元件的線圈可以在兩個(gè)程序段中分別出現(xiàn)一次。圖2中的X10是自動(dòng)/手動(dòng)切換開(kāi)關(guān),當(dāng)它為ON 時(shí)將跳過(guò)自動(dòng)程序,執(zhí)行手動(dòng)程序;為OFF時(shí)將跳過(guò)手動(dòng)程序,執(zhí)行自動(dòng)程序。實(shí)際上CPU 只執(zhí)行正在處理的程序段中雙線圈元件的線圈輸出指令。
(2)在調(diào)用條件相反的兩個(gè)子程序中,允許出現(xiàn)雙線圈現(xiàn)象,即同一元件的線圈可以在兩個(gè)子程序中分別出現(xiàn)一次。圖3中X20為ON時(shí)調(diào)用在指針P0 處開(kāi)始的子程序,X20 為 OFF 時(shí)調(diào)用在指針 P1 處開(kāi)始的子程序。圖中的 SRET 為子程序返回指令,F(xiàn)END 為主程序結(jié)束指令。
與跳步指令控制的程序段相同,子程序中的指令只是在該子程序被調(diào)用時(shí)才執(zhí)行,沒(méi)有調(diào)用時(shí)不執(zhí)行,因?yàn)檎{(diào)用它們的條件相反,在一個(gè)掃描周期內(nèi)只能調(diào)用一個(gè)子程序,實(shí)際上只執(zhí)行正在處理的子程序中雙線圈元件的線圈輸出指令。
圖3:子程序調(diào)用
(3)如果使用三菱PLC的STL(步進(jìn)梯形)指令,由于CPU 只執(zhí)行活動(dòng)步對(duì)應(yīng)的STL 觸點(diǎn)驅(qū)動(dòng)的電路塊,使用STL指令時(shí)允許雙線圈輸出,即不同時(shí)閉合的STL觸點(diǎn)可以分別驅(qū)動(dòng)同一編程元件的一個(gè)線圈。
在順序功能圖中,除了與并行序列有關(guān)的步之外,在任何時(shí)候各步對(duì)應(yīng)的狀態(tài)繼電器只有一個(gè)為 ON。以圖4 為例,只有當(dāng)某一STL觸點(diǎn)(圖中的“胖觸點(diǎn)”)接通時(shí),PLC 才執(zhí)行STL 觸點(diǎn)控制的程序。圖3中的狀態(tài)繼電器S21對(duì)應(yīng)的步為活動(dòng)步時(shí),S21的STL觸點(diǎn)閉合,Y1 的第一個(gè)線圈“通電”。此時(shí)S23對(duì)應(yīng)的步為不活動(dòng)步,沒(méi)有執(zhí)行Y1 的第2個(gè)線圈對(duì)應(yīng)的輸出指令。
圖4:STL指令與雙線圈
同一元件的線圈不能在可能同時(shí)為活動(dòng)步的STL區(qū)內(nèi)出現(xiàn)。并行序列中的各條支路是同時(shí)執(zhí)行的,并行序列中兩條不同支路中的某兩步可能同時(shí)為活動(dòng)步,它們的觸點(diǎn)可能同時(shí)閉合,在處理雙線圈輸出時(shí)應(yīng)注意這一問(wèn)題。
在用步進(jìn)梯形指令、轉(zhuǎn)移指令和子程序調(diào)用編制PLC程序時(shí),正確使用雙線圈輸出,可以使程序簡(jiǎn)單、清晰易懂,因?yàn)橛泻芏喑绦蚨螞](méi)有執(zhí)行,還可以縮短程序執(zhí)行的時(shí)間。沒(méi)有并行序列時(shí),同時(shí)只有一個(gè)STL觸點(diǎn)閉合。有并行序列時(shí),同時(shí)閉合的STL觸點(diǎn)的個(gè)數(shù)等于并行序列中的支路條數(shù)。因?yàn)樵趯?shí)際的系統(tǒng)中并行序列并不多見(jiàn),使用TL指令時(shí)可以顯著地縮短程序執(zhí)行的時(shí)間。
問(wèn):怎樣檢查是否有雙線圈輸出?
答:可以用PLC的手持式編程器或在計(jì)算機(jī)上運(yùn)行的編程軟件來(lái)檢查是否有雙線圈輸出。PLC一般并不將雙線圈輸出作為錯(cuò)誤,只是將雙線圈輸出作為警告(Warning)。
有雙線圈輸出時(shí),用戶(hù)程序仍然可以執(zhí)行。
問(wèn):在作雙線圈輸出檢查時(shí),會(huì)提示對(duì)同一編程元件多次使用了OUT(輸出線圈)、SET(置位)和RST(復(fù)位),對(duì)同一編程元件是否可以多次使用了SET和RST指令?
答:SET和RST指令都有保持功能,即控制它們的觸點(diǎn)電路斷開(kāi)后,置位或復(fù)位的效果保持不變,直到下一次執(zhí)行相反的指令。對(duì)同一編程元件可以多次使用了SET和 RST 指令。
在三菱的 S W O P C - F X G P / WIN-C 編程軟件的程序檢查對(duì)話框中,在檢查雙線圈輸出時(shí),可以選擇需要檢查哪些輸出指令被重復(fù)使用。輸出指令包括OUT、SET、RST、PLS(上升沿檢測(cè))、PLF(下降沿檢測(cè))和MC(主控)指令,一般只需要對(duì)OUT 指令作雙線圈檢查。
圖5:多種工作方式的切換
問(wèn):怎樣實(shí)現(xiàn)不同的控制程序切換?
答:有的控制系統(tǒng)因產(chǎn)品、工藝或工作方式的改變,需要分別使用若干個(gè)不同的控制程序,有些編程元件的線圈可能會(huì)在各控制程序中都要出現(xiàn)。為了避免在同一掃描周期執(zhí)行同一元件的多條線圈輸出指令,可在PLC的硬件輸入電路中使用單刀多擲的模式選擇開(kāi)關(guān),來(lái)調(diào)用不同的子程序(見(jiàn)圖5中選擇單步、單周期和連續(xù)工作模式的開(kāi)關(guān)),或用模式選擇開(kāi)關(guān)對(duì)應(yīng)的各輸入繼電器的常開(kāi)觸點(diǎn)作為跳步條件,用跳步指令來(lái)切換不同的程序段。
轉(zhuǎn)自<<電氣時(shí)代>>
另外,本人覺(jué)得,使用線圈雙輸出的時(shí)候一定要互斥使用。最好使用set和reset指令,set和rst指令最好成對(duì),在置位后要在最近的地方復(fù)位,要可靠的復(fù)位,保證在置位條件嚴(yán)格滿(mǎn)足時(shí)才置位。