系统配置如下,CPU S7-1513,HMI TP700 comfort,服务器软件使用高级语言开发,整个系统使用以太网联接。PLC与服务器建立TCP连接,收发数据功能都正常。
碰到如下难题,
当服务器发送一串(数字/字母/控制符)给PLC,PLC显示收到相对应的16进制ASCII值,存放在byte类型的数组中,转换后通过HMI显示文本正常。
当服务器发送中文文本时,PLC接会收到unicode值(16进制),存放在word类型数组中。如“啊”在PLC中显示“16#B0A1”。因为直接放入“WSTRING”变量会显示乱码。
问题:我无法在PLC中将“16#B0A1”转换成“啊”,此时如何在HMI中显示中文“啊”?
我知道WSTRING变量支持中文,直接将中文赋值给WSTRING变量后,可以在HMI中显示中文。但服务器发送过来的是unicode值,困扰我几天了……