王紹全
級別: *
![]() |
PLC循環(huán)周期問(wèn)題 網(wǎng)絡(luò )1 LD I0.1 AN M0.1 =M0.0 網(wǎng)絡(luò )2 LD I0.1 =M0.1 小弟明白這是一個(gè)邊沿信號產(chǎn)生的程序,但是不明白M0.0為什么保持1個(gè)PLC循環(huán)周期,我可能不明白循環(huán)周期這個(gè)詞,執行完第一條命令后M0.0為1,執行第二條時(shí)就為0了,就這的時(shí)間差交一個(gè)循環(huán)周期嗎?麻煩好心人解釋一下,謝謝! 謝謝cvlsam大俠的回答,PLC程序執行順序為從上往下,自左往右的執行。 當按下I0.0時(shí),在掃描周期1中,程序開(kāi)始由上往下的執行: 網(wǎng)絡(luò )1 LD I0.1 //因為按下,因此狀態(tài)為1 AN M0.1 //M0.1的狀態(tài)也是為1,因為有AN的存在,因此是常閉------這里對嗎?我覺(jué)的M0.1應該是0吧,M0.0 才能為1呀?M0.1為1怎么通呀?小弟愚昧,請教! =M0.0 //此時(shí)M0.0接通 M0.0的狀態(tài)為1 網(wǎng)絡(luò )2 LD I0.1 //因為按下,因此狀態(tài)為1 =M0.1 //M0.1的值由于I0.1的值變?yōu)榱薓0.1=0, 那這里儲存的M0.0到底是1還是0? 此時(shí)掃描周期1結束 接下來(lái)就是掃描周期2的開(kāi)始: 網(wǎng)絡(luò )1 LD I0.1 //此時(shí)不管我們繼續按下還是放開(kāi),I0.1的值根據我們是否按下而決定 AN M0.1 //M0.1的值在上一個(gè)掃描周期結束前已經(jīng)是0了 =M0.0 //因此,由于條件不能滿(mǎn)足,M0.0變?yōu)榱? 如果用戶(hù)此時(shí)重新按I0.0,那么又會(huì )重復上述兩個(gè)掃描周期的執行過(guò)程~~ 以上, [ 此帖被王紹全在2008-12-27 13:19重新編輯 ] |
---|---|
|
hzf647
敏研機電 http://www.minyantech.com
級別: 略有小成
![]() |
1:PLC順序掃描輸入,放在內存, 2:再運行你的程序,輸出放在內存, 3:根據輸出內存對輸出進(jìn)行刷新. 這為一個(gè)周期,西門(mén)子簡(jiǎn)易編程手冊有, http://www.minyantech.com |
|
---|---|---|
|
王紹全
級別: *
![]() |
hzf647這個(gè)我知道,按你這么說(shuō)M0.0.應該是0呀,但為什么輸出一個(gè)循環(huán)周期的1呀? |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專(zhuān)賣(mài)
級別: VIP會(huì )員
![]() ![]() ![]() ![]() |
因為樓主忽略了一個(gè)程序執行的順序…… PLC程序執行順序為從上往下,自左往右的執行。 當按下I0.0時(shí),在掃描周期1中,程序開(kāi)始由上往下的執行: 網(wǎng)絡(luò )1 LD I0.1 //因為按下,因此狀態(tài)為1 AN M0.1 //M0.1的狀態(tài)也是為1,因為有AN的存在,因此是常閉 =M0.0 //此時(shí)M0.0接通 M0.0的狀態(tài)為1 網(wǎng)絡(luò )2 LD I0.1 //因為按下,因此狀態(tài)為1 =M0.1 //M0.1的值由于I0.1的值變?yōu)榱薓0.1=0 此時(shí)掃描周期1結束 接下來(lái)就是掃描周期2的開(kāi)始: 網(wǎng)絡(luò )1 LD I0.1 //此時(shí)不管我們繼續按下還是放開(kāi),I0.1的值根據我們是否按下而決定 AN M0.1 //M0.1的值在上一個(gè)掃描周期結束前已經(jīng)是0了 =M0.0 //因此,由于條件不能滿(mǎn)足,M0.0變?yōu)榱? 如果用戶(hù)此時(shí)重新按I0.0,那么又會(huì )重復上述兩個(gè)掃描周期的執行過(guò)程~~ 以上 |
---|---|
|