wzbarley
好好學習,天天向上。
級別: 探索解密
|
首先了解沿的機制;將當前信號和上一周期信號進行比較;上升沿是檢測0到1的變化,下降沿是檢測1到0的變化。 以上升沿為例,當前信號和上一周期信號閉點串聯(lián)(與運算);待處理程序處理完成后,將當前信號重新賦值給上一周期信號的存儲器中。SCL和梯形圖類似。 |
|
---|---|---|
|
wingwf2000
級別: 探索解密
|
嚴格說來,這種寫法是每執(zhí)行一次代碼就相當于一個上升沿,但是若是在一個掃描周期多次執(zhí)行或好幾個周期才執(zhí)行一次的話,就會出錯! 2樓的也是這樣,甚至于1樓的亦是如此
|
---|---|
|
wzbarley
好好學習,天天向上。
級別: 探索解密
|
你說的這種情況不在沿的使用范疇內(nèi);這種用中斷就行了。 |
|
---|---|---|
|
世界杯之殤
級別: 正式會員
|
你確定?這個應該和這兩個變量是什么變量有關系,只要不是臨時變量這個就不會出錯,我自己的程序中很多都這樣用沒出現(xiàn)過什么異常。 |
---|---|
|
wingwf2000
級別: 探索解密
|
如果你把代碼寫進子程序里,這個子程序是否能保證一個PLC掃描周期只調(diào)用一次?還是能保證每個周期都調(diào)用? 或者這部分代碼在一個循環(huán)里多次被執(zhí)行,或者可能被跳轉(zhuǎn)指令跳過而不執(zhí)行,你可能就會發(fā)現(xiàn)里面的貓膩了。 不過一般來說好多人都沒使用過循環(huán)或跳轉(zhuǎn)指令,而且寫的子程序都是一個掃描周期都被掃描而且一個掃描周期內(nèi)只掃描一次,即使不是在子程序內(nèi),一般的這部分代碼也都是一個掃描周期只掃描一次而且每個掃描周期都被掃描。 所以上面的代碼本質(zhì)上反映的就是本次執(zhí)行代碼和上次執(zhí)行代碼時信號有變化(只能表明這次執(zhí)行代碼時的變量和上次執(zhí)行這次代碼時的變量不同,也可能執(zhí)行兩次代碼之間信號有若干次變化被你捕捉到,亦有可能這兩次代碼之間信號雖有若干次變化,但執(zhí)行本次代碼時信號剛好恢復原狀而不能捕捉到,這樣算你倒霉)! [ 此帖被wingwf2000在2024-08-28 11:49重新編輯 ] |
---|---|
|
donxlr
級別: 正式會員
|
圖片:
源碼應該是這樣的,F(xiàn)B塊 [ 此帖被donxlr在2024-08-28 14:25重新編輯 ] |
---|---|
|
liaogf
級別: 正式會員
|
那個代碼就算執(zhí)行1萬次也不會有問題,只要不是臨時的變量! |
---|---|
|