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