plc編程時新手容易犯錯的一點

發(fā)布時間:2024-02-02
操作定時器,包括使能位、直接賦定時值、r指令復(fù)位等,指令執(zhí)行后立即生效,不是等到系統(tǒng)刷新時。
這和系統(tǒng)對定時器的刷新機制不沖突,也不矛盾的。
讀定時狀態(tài)位、當(dāng)時定時值,讀到的就是最新鮮的值,包括由操作定時器指令立即產(chǎn)生的結(jié)果。但讀指令本身不會改變定時器的狀態(tài)。
前幾天看到一個提問是這樣的
問為什么c0不計數(shù)?而把網(wǎng)絡(luò)1和網(wǎng)絡(luò)2交換就可以了?
這個問題對于新手來說是一個很容易犯的錯誤,我自己也犯過同樣的錯誤。那是因為手冊中有段話把我誤導(dǎo)了,也是自己對它理解不夠。
就是這個程序,我的想法是i0.0是按鈕,按下q0.0接通,在按下q0.0斷開,可實際q0.0根本不會接通。
那么問題來了,手冊中這樣說的
我的程序應(yīng)該i0.0上升沿時q0.0置位,但要等到掃描完時才會輸出q0.0,那么網(wǎng)絡(luò)2的i0.0上升沿后面q0.0就應(yīng)該為off,那么就不會復(fù)位,下次按下i0.0時q0.0復(fù)位。應(yīng)該沒問題啊。
而第一個程序是這樣的,說明書上說
10ms定時器在掃描開始時刷新,那么當(dāng)t98 on的那一個掃描周期計數(shù)器就應(yīng)該計數(shù)啊。難道說明書有問題?
后來自己仔細(xì)研究才明白,cpu執(zhí)行程序時用的是過程映像寄存器中的值,q0.0那個程序就好理解了,置位q0.0后,寄存器中q0.0已經(jīng)on了,掃描網(wǎng)絡(luò)2的時候讀取寄存器中q0.0 ——>on,所以i0.0上升沿——>on,q0.0——>0n,所以q0.0被復(fù)位,q0.0輸出off。
那定時器這個呢?我在想cpu讀取的應(yīng)該也是寄存器中的值而不是定時器的實際地址,所以
實際就是掃描開始
讀取t98實際地址傳送給t98寄存器——>t98寄存器on
網(wǎng)絡(luò)1 掃描到t98時——>t98寄存器off
網(wǎng)絡(luò)2 t98寄存器off,
所以網(wǎng)絡(luò)2的t98永遠(yuǎn)接不通。
這只是我的個人理解,實際是不是這樣運算的也沒找到資料,想到了電腦cpu的緩存,是不是plc的過程映像寄存器是一個道理。
經(jīng)過我的消化,是這樣理解的:
1、與定時器有關(guān)的指令,可以分兩類,一類是使用定時數(shù)據(jù)的,另一類是操作定時器的。就象一個鬧鐘,讀時間就是使用鬧鐘,撥弄鬧鐘就是操作。
2、使用定時器,也就是讀定時器狀態(tài)或定時器當(dāng)前的時間值,對定時器是沒有影響的,而操作定時器,則會影響定時器的狀態(tài)及當(dāng)前值,而且是若有影響,立即生效。所以t38,定時到時,又被立即復(fù)位了,t38=1的狀態(tài)到不了下面的網(wǎng)絡(luò)。
上一個:電機馬達(dá)的節(jié)能優(yōu)勢如何實現(xiàn)節(jié)能?
下一個:windows11精簡版(win11精簡中文版x86版本-官方版大小-850.00mb)

喝茶15個“不可以”,請注意!
白脈椒草如何栽培養(yǎng)護?
彩禮屬于夫妻共同財產(chǎn)嗎
windows11資源管理器重啟(w11資源管理器無響應(yīng))
家電制造業(yè)成為“互聯(lián)網(wǎng)+”最近的入口
手機沒性價比怎么翻譯,性價比高怎么翻譯
苯甲醚
墨蘭的分株繁殖技術(shù)
投入式液位計說明
最頂級的電競電腦配置,頂級游戲電腦的配置
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos