西门子HMI和PLC中文字符串的显示与输入

西门子HMI和PLC中文字符串的显示与输入

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

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

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

6370182907977941187244453.jpg(69.06 KB, 下载次数: 81)

下载附件

2019-8-21 12:21 上传

Fig1 中文编码对照表

同一个汉字,不同的编码方式,变量地址中存储的值是不同的如上图Fig1所示。中文:“中“字GBK编码:D6D016位UNICODE:4E2D。

6370182911520579864619011.jpg(28.41 KB, 下载次数: 78)

下载附件

2019-8-21 12:21 上传

Fig2 PLC添加两种类型的字符串

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

6370182914196302992040819.jpg(16.53 KB, 下载次数: 82)

下载附件

2019-8-21 12:21 上传

Fig3 String类型变量的结构

6370182917231288429533668.jpg(35.66 KB, 下载次数: 82)

下载附件

2019-8-21 12:21 上传

Fig4 String类型的字符串在状态表中监控

如上图Fig4所示,在PLC中,16位UNICODE编码是定义在WString类型中,结构与含义如下图Fig5所示,例如S7-1200,S7-1500的PLC。容量为30的WString字符串占地址64Byte,首字为最大长度,第二个字有效长度。一个中文字符占用2个Byte,能写30个字。

6370182919499330442901596.jpg(27.27 KB, 下载次数: 81)

下载附件

2019-8-21 12:21 上传

Fig5 WString类型的字符串的结构

6370182922271915947096397.jpg(35.66 KB, 下载次数: 81)

下载附件

2019-8-21 12:21 上传

Fig6 WString类型的字符串在状态表中监控

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

6370182927143856325973752.jpg(69.34 KB, 下载次数: 81)

下载附件

2019-8-21 12:21 上传

表格说明:1. 红色表示设备不支持这种编码方式2. 绿色表示设备支持这种编码方式3. “显示“表示PLC传递中文字符串到触摸屏,可以在IO域中进行显示4. 空白表示“显示“表示PLC传递中文字符串到触摸屏,在IO域中不能正常显示5. Basic和Comfort触摸屏必须是TIA V14以上版本,在Proave中安装中文字体选件,支持16位Unicoder字符,不然会缺字,如下图所示。6. Comfort触摸屏显示String类型的(GBK编码)中文字符串的时候需要修改区域:Chinese(PRC),如下图设置。

6370182931436295455057018.jpg(34.92 KB, 下载次数: 81)

下载附件

2019-8-21 12:21 上传

6370182932556270962634172.jpg(79.14 KB, 下载次数: 76)

下载附件

2019-8-21 12:21 上传

如上边表格所示,只有PLC和HMI支持同一种编码方式的时候,PLC传递的中文字符的字符串可以显示。使用工况举例:一.S7-300/400 和Smart200 PLC仅支持GBK编码(String类型字符串),传递的字符串只能在同样支持GBK编码的Comfort屏(需要Chinese(PRC)区域)和经典Wincc上显示,在精简屏和Smart屏上无法显示。

6370182941217727311997164.jpg(41.19 KB, 下载次数: 81)

下载附件

2019-8-21 12:21 上传

Fig7 S7-300中Sting类型的GBK编码中文字符在Basic屏显示状态

6370182948057899515460791.jpg(58.28 KB, 下载次数: 82)

下载附件

2019-8-21 12:21 上传

Fig8 S7-300中Sting类型的GBK编码中文字符在Comfort屏显示状态

说明:经典Step7中的S7-300/400的PLC的状态表不能监控字符串,但是监控Byte能看到中文字符串转换的GBK编码。TIA Step7的状态表能监控中文字符串。二.S7-1200,1500建立WString类型的字符串,就是16位UNICODE的编码,可以在Basic,Comfort(两种屏需要安装字体库)和经典wincc上显示。String类型的字符串,就是GBK编码,可以在Comfort屏(需要Chinese(PRC)区域)和经典Wincc上进行显示。

6370182979928451152066779.jpg(55.16 KB, 下载次数: 83)

下载附件

2019-8-21 12:21 上传

Fig9 S7-1200两种中文字符分别在Basic和Comfort屏显示状态

3. 中文输入_那些设置支持汉语输入触摸屏不能安装输入法,所以不能输入中文字符。但是上位机上的经典Wincc是可以安装中文输入法,并且输入中文字符的,如图Fig10所示。

6370183018624301296651253.jpg(28.44 KB, 下载次数: 78)

下载附件

2019-8-21 12:21 上传

Fig10 经典Wincc7.3中输入中文字符

经典Wincc中数据类型,文本变量8位字符串对应PLC中的String类型,即GBK编码。文本变量16位字符串对应PLC中的WString类型,即16位Unicode编码。在PLC中建好字符串类型的变量后,Wincc中组态过程参考,Fig11和Fig12。

6370183022821656792190771.jpg(143.74 KB, 下载次数: 81)

下载附件

2019-8-21 12:21 上传

Fig11 经典Wincc7.3中文字符变量组态

6370183023997918099896992.jpg(78.26 KB, 下载次数: 80)

下载附件

2019-8-21 12:21 上传

Fig12 经典Wincc7.3 IO域显示中文字符串组态

4.总结

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

6370183029749570296753747.jpg(35.23 KB, 下载次数: 77)

下载附件

2019-8-21 12:21 上传

Fig13 中文字符关系显示图

来源:西门子工业技术论坛

相关推荐

特朗普2.0反映什么样的时代?
bet28365体育

特朗普2.0反映什么样的时代?

📅 10-31 👁️ 1827
陈晓的年龄,今年多少岁,生日是哪天
GBT36507-2018

陈晓的年龄,今年多少岁,生日是哪天

📅 01-05 👁️ 5496
苹果怎么看总共用了多少流量
365网站取款不给怎么办

苹果怎么看总共用了多少流量

📅 10-04 👁️ 450
震撼!52岁张惠妹鸟巢演唱会,91,000人见证流行女王归来
lol如何到3级
365网站取款不给怎么办

lol如何到3级

📅 07-01 👁️ 9173
文化观察:在今天,我们为什么要读经典?
bet28365体育

文化观察:在今天,我们为什么要读经典?

📅 01-04 👁️ 3729