qlin
學過一點FX型PLC基本知識
級別: 家園?
![]() |
臺達對于FOR指令和PLS指令,應(yīng)當可以仿真,可以先試簡單一點的程序。 |
|
---|---|---|
|
qlin
學過一點FX型PLC基本知識
級別: 家園?
![]() |
剛剛以樓主的程序為樣本,就PLS指令作了一個簡單的觀察,貼出在另一個論壇; 樓主可以去看看,標題:從PLS指令的一個問題說開去(臺達PLC) http://bbs.gkong.com/dispbbs.asp?Boardid=2&id=300738&star=#1582790 |
|
---|---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
![]() ![]() ![]() ![]() |
我考慮了一下這個程序,實際上影響該結(jié)果的還是我們經(jīng)常討論的一些內(nèi)容:PLC的掃描方式,PLC的雙線圈問題。 對于臺達PLC而言,每次掃描到PLS指令時,它只判斷PLS前面的條件是否有OFF-->ON的過程,有則會將線圈導通一個掃描周期;當然因為雙線圈的存在,之后遇到新的線圈觸點后它就又判斷后一個PLS的條件,有OFF-->ON的過程則繼續(xù)導通,否則斷開。在這種情況下線圈當然無法再保持一個掃描周期了。。(可以理解為,第一個PLS后線圈的結(jié)果不會帶到下一個PLS中去。) 再回到這段程序,如果沒有FOR K100……NEXT的循環(huán),那么在C1=K44的時候,最后邊的這個M120是有可能導通的,但因為有了循環(huán)程序,在第二次循環(huán)時C1=K44的條件仍然滿足著,所以沒有了OFF-->ON的過程,PLS M120指令執(zhí)行后M120就被斷開,最終跳出循環(huán)程序的結(jié)果就是M120無法被導通。那么在C1等于其他值的時候,M120也只是在執(zhí)行第一次循環(huán)時能夠被導通一下,再掃描到下一個PLS M120的時候就會立即被斷開,最終的結(jié)果也是M120無法被導通。 ---------------------- 而對于三菱的PLC,它不僅看PLS前面的條件是否有OFF-->ON的過程,還要看上一行程序中線圈觸點的條件是否為ON,可以理解為上一個PLS的結(jié)果會帶到下一個PLS上來。所以連續(xù)的幾個PLS條件都滿足的話,它只有第一個PLS指令會將線圈導通。而如果這幾個連續(xù)的PLS中間有一個條件是OFF的,那么該指令執(zhí)行后會將線圈的狀態(tài)刷新為OFF,在之后緊接著的一個PLS指令后又能導通一個線圈。。。如此循環(huán)。 所以如果這段程序是用于三菱的PLC,那么結(jié)果就會變成這樣: 1.無視循環(huán)程序的存在,循環(huán)程序不會影響到最終M120的結(jié)果; 2.如果C1=K7、M607為ON,則第一個PLS是能夠?qū)120導通的,直到第二個PLS指令執(zhí)行后將M120斷開; 3.在C1=K7、M607為ON時,即使將C1=...的條件去掉,強行置位其他各PLS指令的導通條件,其他的PLS指令也不能導通M120; 4.如果C1=K44、M660為ON,其他的PLS指令的條件都不能滿足,則執(zhí)行完C1=K44這行的PLS指令后M120會被導通;即使有FOR……NEXT的循環(huán)程序,在最后一個循環(huán)執(zhí)行完C1=K44這行的PLS指令后,M120也是導通的,一直維持到本次掃描到END指令。 |
---|---|
本帖最近評分記錄: |
hunanwqy
王岐英
級別: 探索解密
![]() |
PLS 意思:上升沿檢測命令,它只檢測一個上升沿的瞬間,而且只是一個掃描周期,而且如果 吧ld m120 的指令寫在PLS m120 之前的話,哪怕pls m120 滿足條件,上面的那個 ld m120 也不會執(zhí)行的。所以只能寫在pls m120 之下。 |
---|---|
|
qlin
學過一點FX型PLC基本知識
級別: 家園?
![]() |
特將15樓提到的“簡單觀察”摘來貼出,可作為16樓的一個解釋。 1)在樓主程序(附圖1、略)的基礎(chǔ)上,可補充C1的計數(shù)程序、再加上對M120的觀察來進行試驗,增加部分的程序見附圖2。PLC為臺達ES2,編程軟件WPLSoft。 ![]() 運行程序,強制M607接通,通斷X0使C1計數(shù)到K7時,Y0、Y1均未接通;至K23、K27、K29、K44時,Y0、Y1亦未接通。 從試驗可看出,在FOR指令的循環(huán)體之外,M120是沒有接通過的;那么,我們可以再來看看循環(huán)體內(nèi)的情況。 2)在PLS指令之后,插入OUT M200、SET M300等進行觀察,變動部分見附圖3。 ![]() 運行程序,強制M607接通,通斷X0使C1計數(shù)到K7時,M200顯示斷開、M300接通,但M301、M302均未接通(當然M201、M202也未接通)。 M300的接通,說明M120曾接通過;但執(zhí)行到下一條PLS M120指令時,由于其執(zhí)行條件是斷開的,故又使M120復(fù)位——這類同于《自學自會PLC指令——三菱FX2N編程技術(shù)及應(yīng)用》所介紹的現(xiàn)象。 3)可以來看一個更簡單的示例,參見附圖4。 ![]() 運行程序,接通X0一次,C10、D0的值各增加1,而M201、M301不接通;這與上面的結(jié)論是一致的,即:由于兩次編程了PLS M120,M120未能接通一個掃描周期,而只是接通到下一個PLS M12指令為止。 因此,通過觀察可知,臺達ES2與三菱FX2N的PLS指令,情況有所不同;進一步試驗可知,臺達ES2多處編程的、同一軟元件的PLS指令,能夠單獨輸出,只與各自的執(zhí)行條件有關(guān)。 |
|
---|---|---|
|