zhaotingjie
級別: *
![]() |
我是新手,想問個(gè)PLC循環(huán)掃描的問題: 比如 ![]() 掃描周期為10ms 假設(shè):在第2個(gè)掃描周期里的第2ms,I0.0閉合,那在本周期內(nèi)剩余的8ms內(nèi)M0.0和Q0.0均不置1; 在第3個(gè)掃描周期里,Network1中I0.0是“1”,所以M0.0置“1”,并寫入輸出映向存儲區(qū)。 向下運(yùn)行到Network2中,M0.0是讀取Network1中M0.0的值,還是讀第2個(gè)掃描周期中M0.0的值? 就是問,在第3個(gè)掃描周期中,Q0.0是否置“1”? 另外M的值是寫入輸出映向存儲區(qū)嗎? |
---|---|
|
joan
stronger and stronger!。
級別: 略有小成
![]() |
![]() ![]() |
|
---|---|---|
|
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主
![]() ![]() ![]() ![]() |
可以參考這個(gè)帖子里的程序:http://sjm213.plcjs.cn/archives/2010/20103813516.html 或者把網(wǎng)絡(luò)1的I0,0換成上升沿,看Q0.0能否置位,就可以說明M0.0是第幾個(gè)掃描周期導(dǎo)通的。 |
---|---|
|
wlw
級別: 略有小成
![]() |
在當(dāng)前這個(gè)掃描周期如果I0.0閉合了,M0.0就置1,在第2網(wǎng)絡(luò)里的M0.0的常開觸點(diǎn)當(dāng)然也就在當(dāng)前這個(gè)掃描周期里閉合。只要是在當(dāng)前掃描周期還沒被掃描到的相同原件觸點(diǎn),都在此次掃描周期變化。但是,在當(dāng)前掃描周期里I0.0閉合,M0.0置1以前M0.0的觸點(diǎn),只有等到下一個(gè)掃描周期才變化。 |
---|---|
|
zhaotingjie
級別: *
![]() |
M 存儲區(qū)本身就可以存儲數(shù)據(jù),不需要和輸入輸出存儲區(qū)交換數(shù)據(jù),因此M存儲區(qū)的值是可以隨時(shí)調(diào)用的。不知道說的對不對?? |
---|---|
|
wlw
級別: 略有小成
![]() |
你說的對,但現(xiàn)在說的是掃描狀態(tài)。比如M0.0的第1個(gè)觸點(diǎn)在第一網(wǎng)絡(luò),M0.0線圈在第2 網(wǎng)絡(luò),M0.0的第2 個(gè)觸點(diǎn)在第3網(wǎng)絡(luò)。當(dāng)掃描到M0.0的線圈,M0.0被置1,這時(shí)在這個(gè)掃描周期里M0.0的第2個(gè)觸點(diǎn)狀態(tài)被改變,也就是第3網(wǎng)絡(luò)的觸點(diǎn)動(dòng)作。而第1 網(wǎng)絡(luò)里的觸點(diǎn)不動(dòng)作,第1網(wǎng)絡(luò)的觸點(diǎn)要在下一掃描周期才動(dòng)作。因?yàn)槭谴袙呙,M0.0的第1觸點(diǎn)最先被掃描,而M0.0的線圈是在這后被掃描,所以只有M0.0線圈被掃描以后的觸點(diǎn)狀態(tài)才發(fā)生變化,這時(shí)第3網(wǎng)絡(luò)M0.0的觸點(diǎn)反而比第1 網(wǎng)絡(luò)M0.0的觸點(diǎn)狀態(tài)先變化。如果在編程時(shí)不考慮這方面,就會出現(xiàn)程序狀態(tài)不對的情況。而看不出來程序錯(cuò)在哪里。 |
---|---|
|
yinnan81
級別: *
![]() |
一個(gè)掃描周期 輸入采樣 程序處理 輸出刷新處理完 才進(jìn)入下個(gè)掃描周期,是不是這樣的。 |
---|---|
|