sunnike
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 5 個(gè)
工控威望: 95 點(diǎn)
下載積分: 580 分
在線(xiàn)時(shí)間: 14(小時(shí))
注冊(cè)時(shí)間: 2015-05-16
最后登錄: 2015-09-04
查看sunnike的 主題 / 回貼
樓主  發(fā)表于: 2015-05-29 17:00
請(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)有人有遇到類(lèi)似的問(wèn)題嗎?

如果在 [文本輸入] 元件 里勾選 "使用Unicode編碼" 的話(huà),就不會(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重新編輯 ]