cctv197910
級別: 探索解密
|
圖片:
圖片:
圖片:
FX3U的PLC,其中寄存器D600被使用多次,會根據不同導通條件傳送入不同的值,使用一段時間后其它的D600值不會根據當前輸入值改變而變為-64094,更換新的寄存器地址后正常,但使用十幾天時間后又和以前一樣,現在只能每半個月更換一次地址。求大神們幫忙解惑。 |
---|---|
|
zhangqi_1234
級別: 略有小成
|
1、兩個32位字元件的乘積,存四個地址連續的16位字元件(64位)。用DMUL指令,表示用D334-D335這2個16位字元件組成的32位數(D334存低16位,D335存高16位,其中最高位為符號位,最高位為1表示負數,負數以補碼形式存儲),與K100相乘后的乘積,存D600-D603中,D600存最低16位,D603存最高16位。同樣,最高位為符號位。因此,在使用帶D的乘積指令時,要保證相鄰若干的寄存器,不得受到其它指令的影響。32位寄存器的取值范圍:-2147483648~+2147483647。64位的取值范圍:-9223372036854775808 ~+ 9223372036854775807。2、用M8000這個觸頭執行DMUL指令,表示PLC處于RUN狀態時,每一個掃描周期都執行乘法指令。也就是說,是循環不斷地執行。這樣會導致運算結果溢出。3、其它諸如:SUB指令,也是在觸頭條件滿足的每一個掃描周期都執行。也可能導致運算結果溢出。 [ 此帖被zhangqi_1234在2019-07-18 01:37重新編輯 ] |
---|---|
本帖最近評分記錄: |