nilgns
級(jí)別: 探索解密
![]() |
大家好:幫我看下程序那里出錯(cuò)! 我要實(shí)現(xiàn)的功能是:用三菱PLC的FX1s-30MR,當(dāng)D0 == 0的時(shí)候,X0出現(xiàn)上升沿則將Y0置1,當(dāng)D0==1的時(shí)候,X0出現(xiàn)上升沿則將Y0清0。(程序的case有很多狀態(tài),這里只是簡(jiǎn)化出現(xiàn)的故障) 現(xiàn)在的故障現(xiàn)象:初始上電后,X0的第一次上升沿出現(xiàn)時(shí),Y0不動(dòng)作,然后再出現(xiàn)則Y0正常動(dòng)作。 IF Y0 THEN D0 := 1; ELSE D0:=0; END_IF; CASE D0 OF 0: SET((LDP(TRUE,X0)),Y0); 1: RST((LDP(TRUE,X0)),Y0); END_CASE; 從PLC內(nèi)讀出的梯形圖見(jiàn)附件。 在此先謝謝大俠們~~~~~~~ |
---|---|
|
abcde12345
abcde12345
級(jí)別: 論壇先鋒
![]() |
你牛叉,那么多的跳轉(zhuǎn)被你搞暈了 你直接搞 LD= D0 K0 ANDP X0 SET Y0 LD= D0 K1 ANDP X0 RST Y0 其實(shí)你的那個(gè)跳轉(zhuǎn)和沒(méi)跳一樣,他和子程序不同,跳轉(zhuǎn)其實(shí)M8000還是有電的,但是子程序的M8000沒(méi)有電(沒(méi)有調(diào)用之前) |
---|---|
|
nilgns
級(jí)別: 探索解密
![]() |
謝謝兩位的回答! 其實(shí)我是要用ST語(yǔ)言寫的,case的情況還有很多,不止0、1兩種,還有2、3、4、……,而且D0也不是簡(jiǎn)單的由Y0控制,我的意思是D0受到多個(gè)輸出點(diǎn)Yn的影響。我現(xiàn)在想問(wèn)的是上面的程序?yàn)槭裁丛赬0的第一次上升沿(其實(shí)就是一個(gè)按鍵,我通過(guò)上升沿來(lái)判斷它為一次合法按鍵過(guò)程)Y0不動(dòng)作。(本來(lái)程序的功能就是按下X0,Y0轉(zhuǎn)換下?tīng)顟B(tài)0<->1) 附件里面的梯形圖是我將上面的ST程序燒錄進(jìn)去后讀出來(lái)的。(我不管開(kāi)發(fā)軟件是如何轉(zhuǎn)換編譯的,我只想知道ST程序?yàn)槭裁磿?huì)出錯(cuò)) |
---|---|
|
nilgns
級(jí)別: 探索解密
![]() |
而且每個(gè)case里面也不止簡(jiǎn)單的一句話,里面還有一小段程序。感覺(jué)用梯形圖要畫出好幾層了,看起來(lái)更暈! |
---|---|
|