sunnike
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 5 個
工控威望: 95 點
下載積分: 580 分
在線時間: 14(小時)
注冊時間: 2015-05-16
最后登錄: 2015-09-04
查看sunnike的 主題 / 回貼
樓主  發(fā)表于: 2015-05-29 17:00
請問各位,我目前在測試Eview ET100的各元件功能,目前遇到一個 文本輸入 元件的編碼問題

因為Eview的介面可以輸入中文,所以它的ASCII 鍵盤是Unicode 的編碼方式,所以一個字占2個bytes。

我的 [文本輸入] 元件設(shè)定是10個英文為上限,所以是5個 word(以ascii 編碼來看),我讓它映射到PLC 的 Dxxx ,所以當(dāng)我只輸入一
個英文字母 "A" 時,PLC 記憶體 Dxxx 照理說應(yīng)該是為 0x0041 0000 0000 0000   (5個word) ,
但是實際上是 0x2041 2020 2020 2020 ,也就是說Eview會自動把 0x00 補成 0x20 (ascii 的 "空白鍵" 編碼),請問有人有遇到類似的問題嗎?

如果在 [文本輸入] 元件 里勾選 "使用Unicode編碼" 的話,就不會有0x20這問題,但這樣我只剩5個字母能輸入,因為是16位元的編碼方式,所以想請問各位高手,有什么方式可以解決這問題嗎?也就是0x00不被 0x20取代,但不要用Unicode編碼。

目前是另外寫個宏指令做轉(zhuǎn)換,但覺得這樣很浪費時間與資源,請各位給點意見,謝謝!
[ 此帖被sunnike在2015-05-30 13:34重新編輯 ]