請(qǐng)問(wèn)各位,我目前在測(cè)試Eview ET100的各元件功能,目前遇到一個(gè) 文本輸入 元件的編碼問(wèn)題
因?yàn)镋view的介面可以輸入中文,所以它的ASCII 鍵盤(pán)是Unicode 的編碼方式,所以一個(gè)字占2個(gè)bytes。
我的 [文本輸入] 元件設(shè)定是10個(gè)英文為上限,所以是5個(gè) word(以ascii 編碼來(lái)看),我讓它映射到PLC 的 Dxxx ,所以當(dāng)我只輸入一
個(gè)英文字母 "A" 時(shí),PLC 記憶體 Dxxx 照理說(shuō)應(yīng)該是為 0x0041 0000 0000 0000 (5個(gè)word) ,
但是實(shí)際上是 0x2041 2020 2020 2020 ,也就是說(shuō)Eview會(huì)自動(dòng)把 0x00 補(bǔ)成 0x20 (ascii 的 "空白鍵" 編碼),請(qǐng)問(wèn)有人有遇到類似的問(wèn)題嗎?
如果在 [文本輸入] 元件 里勾選 "使用Unicode編碼" 的話,就不會(huì)有0x20這問(wèn)題,但這樣我只剩5個(gè)字母能輸入,因?yàn)槭?6位元的編碼方式,所以想請(qǐng)問(wèn)各位高手,有什么方式可以解決這問(wèn)題嗎?也就是0x00不被 0x20取代,但不要用Unicode編碼。
目前是另外寫(xiě)個(gè)宏指令做轉(zhuǎn)換,但覺(jué)得這樣很浪費(fèi)時(shí)間與資源,請(qǐng)各位給點(diǎn)意見(jiàn),謝謝!
[ 此帖被sunnike在2015-05-30 13:34重新編輯 ]