龙空技术网

博途S7精智屏与PLC的中文字符串的输入和显示问题

跟我动手学电气 1170

前言:

目前大家对“c语言输出字符串后出现问号”可能比较关切,大家都需要了解一些“c语言输出字符串后出现问号”的相关文章。那么小编同时在网摘上搜集了一些关于“c语言输出字符串后出现问号””的相关内容,希望姐妹们能喜欢,咱们快快来学习一下吧!

自动化项目中,HMI部分会经常涉及到使用字符串显示汉语部分。本文主要讲述西门子常用的触摸屏如何显示汉语字符。触摸屏和PLC能正确显示汉语的条件:PLC和HMI都必须支持同一种汉语编码方式。

1. 西门子产品的两种汉语编码方式

要了解汉语显示,要了解汉语的编码模式。西门子的PLC和HMI主要使用两种编码方式:GBK编码和16位UNICODE编码。

图1 中文编码对照表

同一个汉字,不同的编码方式,变量地址中存储的值是不同的如上图1所示。

中文:“中“字

GBK编码:D6D0

16位UNICODE:4E2D。

如上图2所示,在PLC中定义可以存放字符串的汉字。在PLC中,GBK编码是定义在String类型中,结构与含义如下图3所示,例如S7-1200/1500(支持两种编码)等。容量为30的String字符串占地址32Byte,除了首字节和第二字节分别是最大长度和有限长度。一个中文字符占用2个Byte,一个30个字节的String字符串,能写15个中文字。

2. 中文显示_西门子主要HMI和PLC支持的汉语编码列表

表格说明:

1. 红色表示设备不支持这种编码方式

2. 绿色表示设备支持这种编码方式

3. “显示“表示PLC传递中文字符串到触摸屏,可以在IO域中进行显示

4. 空白表示“显示“表示PLC传递中文字符串到触摸屏,在IO域中不能正常显示

5. Basic和Comfort触摸屏必须是TIA V14以上版本,在Proave中安装中文字体选件,支持16位Unicoder字符,不然会缺字,

6. Comfort触摸屏显示String类型的(GBK编码)中文字符串的时候需要修改区域:Chinese(PRC)。

如上边表格所示,只有PLC和HMI支持同一种编码方式的时候,PLC传递的中文字符的字符串可以显示。

使用举例:

S7-1200,1500建立WString类型的字符串,就是16位UNICODE的编码,可以在Basic,Comfort(两种屏需要安装字体库)上显示。String类型的字符串,就是GBK编码,可以在Comfort屏(需要Chinese(PRC)区域)上进行显示。如下图所示:

西门子中主要触摸屏和PLC的中文字符串的传递关系如下图所示。

标签: #c语言输出字符串后出现问号 #c语言输出字符串后出现问号怎么回事 #c语言输出字符串后出现问号怎么回事儿