技术论坛

能否直接在DB块的String写入汉字?

作者 主题
至圣

经验值: 13749
发帖数: 2032
精华帖: 16
主题:【探讨】能否直接在DB块的String写入汉字?
推荐帖


只看楼主 只看精华 楼主 2017-07-06 08:19:55

我想在DB块的String写入汉字,然后直接在HMI上显示。

但是都出现了乱码,如何解决?这样可以不使用文本列表,在PLC侧解决显示内容。


工控毁我青春!
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1405653&b_id=50&s_id=0&num=13

奇侠

经验值: 6141
发帖数: 879
精华帖: 11
回复:能否直接在DB块的String写入汉字?
推荐帖


只看楼主 只看精华 1楼 2017-07-06 08:59:19

用TIA V14SP1/TIA V13 SP1可以,V14不可以(BUG)


还有触摸屏需要用精致屏,然后设置区域语言为中国,精简屏不可以


 
以下网友喜欢您的帖子:

  
至圣

经验值: 127353
发帖数: 22001
精华帖: 824
回复:能否直接在DB块的String写入汉字?
推荐帖


只看楼主 只看精华 2楼 2017-07-06 09:11:30

是否支持汉字显示的是显示设备HMI 。它必须装有对应的汉字字符集。

PLC 传送的仅仅是 GBK 字符集的 编码。你保存DB中的也应该是 汉字编码。

即便HMI 没有汉字显示功能,你也可以把 提示等做成 JPG 图片,PLC 只发送简单代码,即可显示对应的汉字。



学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
至圣

经验值: 13749
发帖数: 2032
精华帖: 16
回复:能否直接在DB块的String写入汉字?
推荐帖


只看楼主 只看精华 楼主 3楼 2017-07-06 21:18:05
以下是引用pkh2006在2017-07-06 08:59:19的发言 >1楼

用TIA V14SP1/TIA V13 SP1可以,V14不可以(BUG)


还有触摸屏需要用精致屏,然后设置区域语言为中国,精简屏不可以

精简屏不行,哎。


工控毁我青春!
以下网友喜欢您的帖子:

  
奇侠

经验值: 6754
发帖数: 843
精华帖: 46
回复:能否直接在DB块的String写入汉字?
精华帖精华帖星级2级 推荐帖


只看楼主 只看精华 4楼 2017-07-07 15:45:58
以下是引用周杰伦在2017-07-06 21:18:05的发言 >3楼

精简屏不行,哎。

以下是引用pkh2006在2017-07-06 08:59:19的发言 >1楼:用TIA V14SP1/...

引用1楼详细内容:

用TIA V14SP1/TIA V13 SP1可以,V14不可以(BUG)


还有触摸屏需要用精致屏,然后设置区域语言为中国,精简屏不可以

何须如此繁琐。

将S7-1200的DB中的变量定义为WSTRING,即可在DB块中的变量中直接输入中文字符。

可以将此 WSTRING的变量在HMI上通过IO域直接显示。

想该IO域中的汉字字符内容变化?也很简单,在PLC中定义一个WSTRING的数组,比如A[X],将A【X】的内赋给WSTRING B,变量B在HMI上显示。显示的内容通过index索引控制就是了。

精简屏同样支持!!非常简单!


Let's build the automation future!
精华帖版主置评: 这个方法好。 -yming
以下网友喜欢您的帖子:

  
至圣

经验值: 37446
发帖数: 5133
精华帖: 47
回复:能否直接在DB块的String写入汉字?


只看楼主 只看精华 5楼 2017-07-09 19:44:51
以下是引用 westcowboy在2017-07-07 15:45:58的发言 >4楼

何须如此繁琐。

将S7-1200的DB中的变量定义为WSTRING,即可在DB块中的变量中直接输入中文字符。

可以将此 WSTRING的变量在HMI上通过IO域直接显示。

想该IO域中的汉字字符内容变化?也很简单,在PLC中定义一个WSTRING的数组,比如A[X],将A【X】的内赋给WSTRING B,变量B在HMI上显示。显示的内容通过index索引控制就是了。

精简屏同样支持!!非常简单!

以下是引用周杰伦在2017-07-06 21:18:05的发言 >3楼:精简屏不行,哎。

引用3楼详细内容:

精简屏不行,哎。

以下是引用pkh2006在2017-07-06 08:59:19的发言 >1楼:用TIA V14SP1/...

引用1楼详细内容:

用TIA V14SP1/TIA V13 SP1可以,V14不可以(BUG)


还有触摸屏需要用精致屏,然后设置区域语言为中国,精简屏不可以

好方法!谢谢!


工业起重机防摇摆 QQ:404136820 AntiSwayControl
以下网友喜欢您的帖子:

  
至圣

经验值: 15853
发帖数: 1645
精华帖: 39
回复:能否直接在DB块的String写入汉字?
推荐帖


只看楼主 只看精华 6楼 2017-07-09 21:34:45

现在可以这样玩了,我还是一直在用文本列表呢!


天道酬勤
以下网友喜欢您的帖子:

  
至圣

经验值: 37446
发帖数: 5133
精华帖: 47
回复:能否直接在DB块的String写入汉字?


只看楼主 只看精华 7楼 2017-07-10 07:30:52

不知道这样的使用会不会占用了CPU太多的资源?我原来也是用屏的文本列表来实现的


工业起重机防摇摆 QQ:404136820 AntiSwayControl
以下网友喜欢您的帖子:

  
至圣

经验值: 13749
发帖数: 2032
精华帖: 16
回复:能否直接在DB块的String写入汉字?
推荐帖


只看楼主 只看精华 楼主 8楼 2017-07-10 09:22:27
以下是引用 westcowboy在2017-07-07 15:45:58的发言 >4楼

何须如此繁琐。

将S7-1200的DB中的变量定义为WSTRING,即可在DB块中的变量中直接输入中文字符。

可以将此 WSTRING的变量在HMI上通过IO域直接显示。

想该IO域中的汉字字符内容变化?也很简单,在PLC中定义一个WSTRING的数组,比如A[X],将A【X】的内赋给WSTRING B,变量B在HMI上显示。显示的内容通过index索引控制就是了。

精简屏同样支持!!非常简单!

以下是引用周杰伦在2017-07-06 21:18:05的发言 >3楼:精简屏不行,哎。

引用3楼详细内容:

精简屏不行,哎。

以下是引用pkh2006在2017-07-06 08:59:19的发言 >1楼:用TIA V14SP1/...

引用1楼详细内容:

用TIA V14SP1/TIA V13 SP1可以,V14不可以(BUG)


还有触摸屏需要用精致屏,然后设置区域语言为中国,精简屏不可以

现在的问题是不能显示汉字,Wstring我直接在程序中赋值常量,不需要使用数组的。


工控毁我青春!
以下网友喜欢您的帖子:

  
奇侠

经验值: 6754
发帖数: 843
精华帖: 46
回复:能否直接在DB块的String写入汉字?


只看楼主 只看精华 9楼 2017-07-10 10:21:41
以下是引用周杰伦在2017-07-10 09:22:27的发言 >8楼

现在的问题是不能显示汉字,Wstring我直接在程序中赋值常量,不需要使用数组的。

以下是引用 westcowboy在2017-07-07 15:45:58的发言 >4楼:何须如此繁琐。将S7...

引用4楼详细内容:

何须如此繁琐。

将S7-1200的DB中的变量定义为WSTRING,即可在DB块中的变量中直接输入中文字符。

可以将此 WSTRING的变量在HMI上通过IO域直接显示。

想该IO域中的汉字字符内容变化?也很简单,在PLC中定义一个WSTRING的数组,比如A[X],将A【X】的内赋给WSTRING B,变量B在HMI上显示。显示的内容通过index索引控制就是了。

精简屏同样支持!!非常简单!

以下是引用周杰伦在2017-07-06 21:18:05的发言 >3楼:精简屏不行,哎。

引用3楼详细内容:

精简屏不行,哎。

以下是引用pkh2006在2017-07-06 08:59:19的发言 >1楼:用TIA V14SP1...

引用1楼详细内容:

用TIA V14SP1/TIA V13 SP1可以,V14不可以(BUG)


还有触摸屏需要用精致屏,然后设置区域语言为中国,精简屏不可以

这个功能在S7-1500下通过PLC仿真器+HMI仿真器都可以实现的。

IO域必须是显示Wstring字符串的。可以通过拖拽的方式拖拽到HMI。


Let's build the automation future!
以下网友喜欢您的帖子:

  
侠圣

经验值: 3723
发帖数: 486
精华帖: 1
回复:能否直接在DB块的String写入汉字?


只看楼主 只看精华 10楼 2017-07-11 11:15:34

好方法,先收藏备用。


永无止境!
以下网友喜欢您的帖子:

  
奇侠

经验值: 7591
发帖数: 1989
精华帖: 0
回复:能否直接在DB块的String写入汉字?


只看楼主 只看精华 11楼 2017-07-12 16:22:08

那能不能在触摸屏上输入中文呢,英文和数字可以,中文呢可以吗?

见过这样的触摸屏吗?


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1196
发帖数: 72
精华帖: 0
回复:能否直接在DB块的String写入汉字?


只看楼主 只看精华 12楼 2017-07-19 15:43:13

好方法,厉害了!


Just do it
以下网友喜欢您的帖子:

  
奇侠

经验值: 6754
发帖数: 843
精华帖: 46
回复:能否直接在DB块的String写入汉字?


只看楼主 只看精华 13楼 2017-07-19 23:18:09
以下是引用quiet在2017-07-12 16:22:08的发言 >11楼

那能不能在触摸屏上输入中文呢,英文和数字可以,中文呢可以吗?

见过这样的触摸屏吗?

触摸屏不行,根本原因是触摸屏没有中文输入法。

除非使用Wincc RT Advanced,或Wincc RT Professional,因为以上2种HMI是基于Windows的,在Windows下可以使用中文输入法了。


Let's build the automation future!
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
能否直接在DB块的String写入汉字?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。