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