為什么存入VW10,卻用的是VB11?
為什么取VB11的高四位的時候,先用了一個除法,除法的作用是什么?就算VW10除以16出來VB20,怎么后面又用VB21了?
為什么存入VW10,卻用的是VB11?
VW 中的W表示WORD VB中的B表示BYTE 一個WORD由兩個BYTE組成。
VW10 的低 8 位是 VB11,高 8 位是 VB10。這是西門子 PLC 地址的規定,也是俗稱的地址大端設計。
例 如十進制的9999這個數,用16進制表示是270F VW10=270F
VW10=270F VB10=27 VB11=0F
270F
9999=39(16進制27)*16*16 + 0*16+F(10進的15)
VW10 VB10 VB11
為什么取VB11的高四位的時候,先用了一個除法,除法的作用是什么?
高4位的表示已經乘過兩個16 比如 100 這個十進數 可以理解這個1是 1*10*10
就算VW10除以16出來VB20,怎么后面又用VB21了?完全不懂這里面VW,VB的前后關系
VW10除以16以后的值不僅是VB20,而是VW20, VW20包含VB20 和VB21。
1、數據保持功能可以在系統塊中進行設置,需要注意的是系統塊編輯之后只有下載到PLC之后才會生效。
2、V區的保持特性與數據類型無關,無論VB、VW還是VD都一樣。
3、“斷電之后再上電數據就會改變”這更像是程序自身的問題,請檢查數據內,程序里是否有相應的初始化,以及程序里有沒有開機就會執行的程序給數據位賦值了。
4、C可以在系統塊里設置保持功能。
5、應用S7-200時,可以選用以下幾種數據保持方法:、CPU的內置超級電容,斷電時間不太長時,可以為數據和時鐘的保持提供電源緩沖、CPU上可以附加電池卡,與內置電容配合,長期為時鐘和數據保持提供電源、設置系統塊,在CPU斷電時自動保存M區中的14個字節數據、在數據塊中定義不需要更改的數據,下載到CPU內可以永久保存、用戶編程使用相應的特殊寄存器功能,將數據寫入EEPROM永久保存、上述前三個數據保持功能都是在“系統塊-數據保持”中設置。