zhaotingjie
級別: *
|
我是新手,想問個PLC循環掃描的問題: 比如 掃描周期為10ms 假設:在第2個掃描周期里的第2ms,I0.0閉合,那在本周期內剩余的8ms內M0.0和Q0.0均不置1; 在第3個掃描周期里,Network1中I0.0是“1”,所以M0.0置“1”,并寫入輸出映向存儲區。 向下運行到Network2中,M0.0是讀取Network1中M0.0的值,還是讀第2個掃描周期中M0.0的值? 就是問,在第3個掃描周期中,Q0.0是否置“1”? 另外M的值是寫入輸出映向存儲區嗎? |
---|---|
|
joan
stronger and stronger!!!
級別: 略有小成
|
我也想過類似的問題,我個人認為是Q0.0置1的,M的置是否寫入輸出印象區,我也不清楚了!!!不知道對不對,只憑個人經驗,知道答案了,告訴我一聲啊!!! |
|
---|---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
可以參考這個帖子里的程序:http://sjm213.plcjs.cn/archives/2010/20103813516.html 或者把網絡1的I0,0換成上升沿,看Q0.0能否置位,就可以說明M0.0是第幾個掃描周期導通的。 |
---|---|
|
wlw
級別: 略有小成
|
在當前這個掃描周期如果I0.0閉合了,M0.0就置1,在第2網絡里的M0.0的常開觸點當然也就在當前這個掃描周期里閉合。只要是在當前掃描周期還沒被掃描到的相同原件觸點,都在此次掃描周期變化。但是,在當前掃描周期里I0.0閉合,M0.0置1以前M0.0的觸點,只有等到下一個掃描周期才變化。 |
---|---|
|
zhaotingjie
級別: *
|
M 存儲區本身就可以存儲數據,不需要和輸入輸出存儲區交換數據,因此M存儲區的值是可以隨時調用的。不知道說的對不對?? |
---|---|
|
wlw
級別: 略有小成
|
你說的對,但現在說的是掃描狀態。比如M0.0的第1個觸點在第一網絡,M0.0線圈在第2 網絡,M0.0的第2 個觸點在第3網絡。當掃描到M0.0的線圈,M0.0被置1,這時在這個掃描周期里M0.0的第2個觸點狀態被改變,也就是第3網絡的觸點動作。而第1 網絡里的觸點不動作,第1網絡的觸點要在下一掃描周期才動作。因為是串行掃描,M0.0的第1觸點最先被掃描,而M0.0的線圈是在這后被掃描,所以只有M0.0線圈被掃描以后的觸點狀態才發生變化,這時第3網絡M0.0的觸點反而比第1 網絡M0.0的觸點狀態先變化。如果在編程時不考慮這方面,就會出現程序狀態不對的情況。而看不出來程序錯在哪里。 |
---|---|
|