sunnike
级别: 正式会员
精华主题: 0
发帖数量: 5 个
工控威望: 95 点
下载积分: 580 分
在线时间: 14(小时)
注册时间: 2015-05-16
最后登录: 2015-09-04
查看sunnike的 主题 / 回贴
楼主  发表于: 2015-05-29 17:00
请问各位,我目前在测试Eview ET100的各元件功能,目前遇到一个 文本输入 元件的编码问题

因为Eview的介面可以输入中文,所以它的ASCII 键盘是Unicode 的编码方式,所以一个字占2个bytes。

我的 [文本输入] 元件设定是10个英文为上限,所以是5个 word(以ascii 编码来看),我让它映射到PLC 的 Dxxx ,所以当我只输入一
个英文字母 "A" 时,PLC 记忆体 Dxxx 照理说应该是为 0x0041 0000 0000 0000   (5个word) ,
但是实际上是 0x2041 2020 2020 2020 ,也就是说Eview会自动把 0x00 补成 0x20 (ascii 的 "空白键" 编码),请问有人有遇到类似的问题吗?

如果在 [文本输入] 元件 里勾选 "使用Unicode编码" 的话,就不会有0x20这问题,但这样我只剩5个字母能输入,因为是16位元的编码方式,所以想请问各位高手,有什么方式可以解决这问题吗?也就是0x00不被 0x20取代,但不要用Unicode编码。

目前是另外写个宏指令做转换,但觉得这样很浪费时间与资源,请各位给点意见,谢谢!
[ 此帖被sunnike在2015-05-30 13:34重新编辑 ]