博途S7精智屏与PLC的中文字符串的输入和显示问题
自动化项目中,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的中文字符串的传递关系如下图所示。
PLC S7-1200一学就会连载(四),PLC的工作过程和数据类型
今天我们来进一步学习,话说,PLC这个积木还得靠吃软饭(件)才能工作,不然它就是个摆设,而且它还比较笨,需要大家去主动认识它,认识它吃饭的步骤,认识它的语言,认识它的世界。没办法,谁让它那么具有潜力呢?就是得惯着它。上节课,大家已经知道它经常使用梯形图语言,接下来就慢慢跟它沟通啦。
(大家觉得它应该是个它、还是他、还是她?O(∩_∩)O哈哈~)
视频加载中...
一、 PLC的工作过程
1. 操作系统和用户程序
操作系统:这是PLC打娘胎里就有的,产品出厂前就已经设定好的,这是PLC的基本功能,能够为用户(你)服务所打造的系统。
用户程序:这就是用户(你)的地盘,由用户来设计程序,能使PLC完成特定的要求。
2. CPU的工作模式
Three working modes: RUN、STOP与STARTUP。
(1)STOP:这种模式下,就是停止,仅处理通信的请求和自诊断,不执行其他的程序,没有输入采样和输出刷新。
(2)STARTUP:上电初始化。
(3)RUN:CPU进入运行模式,正常工作啦。
在软件中,CPU上电后启动分为三种模式:
(1) 不重新启动:上电后仍然为STOP模式。
(2) 暖启动-RUN:上电后直接进入运行模式。
(3) 暖启动-断电前的操作模式:上电后显示断电前的操作模式。
二、 PLC的数据类型(Go straight to the theme)
1. 在PLC的世界里是不认识1,2,3……的,它只认识位、字节、字、双字等。它毕竟跟计算机是近亲嘛。我们从小到大开始介绍一下,位(Bool)表示二进制的1位,在软件里表示1或0,代表TRUE/FALSE。字节(Byte)表示二进制的8位。字(Word)表示二进制的16位,2个字节。双字(Dword)表示二进制的32位,2个字,4个字节。他们之间的关系,大家浏览视频看图说话。
对于PLC而言,它的系统内部有以下三种基本的存储区:I(输入映象区)、Q(输出映象区)、M(位存储)区。根据字面意思来理解,除了输入输出外,可以把M存储区当做辅助的存储区,它打辅助,I、Q是主角。表示方式也要与数据类型相一致,还得看图说话。
2. 上面的位、字节、字、双字,大家可以把他们当做最小的单位,他们是可以构成很多数据类型的:
(1)整数:分为有符号和无符号整数,根据数据的长短可以分为8位的SInt短整数和USInt无符号短整数。16位的Int整数和UInt无符号整数。32位的DInt双整数和UDInt无符号的双整数。
(2)浮点数:浮点数又称为实数(REAL),我们就理解为带小数点的数。
(3)时间与日期:时间用Time表示,最小单位为ms,日期用Date表示,为16位无符号整数,DTL为年月日时分秒的数据类型……
(4)字符:数据类型字符(Char)占一个字节,Char以ASCII格式存储。WChar(宽字符)占两个字节,可以存储汉字和中文的标点符号。字符常量用英语的单引号来表示,例如'A'。字符在这里用的比较少。
(5)数组:数组(Array)是由固定数目的同一种数据类型元素组成的数据结构。允许使用除了Array之外的所有数据类型作为数组的元素,最多为6维。
(6)结构:(Struct)是由多种数据类型的元素共同组成的一个整体。可以用数组和结构做结构的元素,结构可以嵌套8层。
数据类型记住常用的就可以,不常用的以后可以查询帮助。
三、 补充
上节课连接了一个简单的继电器控制电路(起保停),不知道大家对继电控制电路有没有一个简单的理解,毕竟继电控制电路是PLC编程的基础,上节课也提到PLC编程的思想很大一部分是来自于继电控制电路,下面我们再详细看一个控制电路。
这次比上次复杂了一点点,两盏灯分时启动,因此,中间加了一个时间继电器,使用了时间继电器的通电延时触点。我们来看一下视频中的接线吧。自己动手会更嗨皮!
好了,今天我们就介绍到这里,希望大家能够轻松学到知识。有需要软件的同学可以@我!
我会陪大家学完整本S7-1200编程及应用的内容,有问题的同学也请留言交流哦!后面的知识会涵盖S7-1200基本指令、用户程序结构、顺序功能图、通信、组态画面、模拟量控制。
待续。
相关问答
plc程序声明为什么不能写入汉字?
plc程序中是可以写入汉字的。直接和普通的打字一样输入就可以了。不过在编程软件中要线选择写入模式,然后选择注释模式,双击指令就会出现注释输入的对话框,直...
需要通过三菱PLC在人机界面上显示汉字?
人机界面有文本编辑器,你只需要给个标志就可以出文字了人机界面有文本编辑器,你只需要给个标志就可以出文字了
怎样通过KEPWAREOPC向PLC写入汉字?
汉字传输保存的时候都是数字的,在opc的服务器端写入ASCLL码,在s7-400读出,在上位机显示的时候使用字符变量,软件自动转换。无需人的干预。汉字传输保存的时候...
三菱plc中文字符串怎么发文字到手机上?
要将三菱PLC中的中文字符串发送到手机上,首先需要确保PLC和手机之间存在有效的通信链接。可以通过使用PLC的通信模块(如以太网模块或Modbus通信模块)与手机上...
1、PLC是什么的简称?-ZOL问答
PLC是ProgrammableLogicController的简称,翻译为中文为可编程逻辑控制器。可编程逻辑控制器是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同...
如何写组态王字符串输出的表达式画面有文本?
按以下步骤依次操作:首先保证组态王与PLC可以通信。建立I/O字符串变量。在组态王中点击文本按钮,在组态画面中随便输入几个字母。双击字母,弹出对话链接对...
PLC是什么?
[最佳回答]深圳市星科研自动化培训拥有全方位的自动化培训实力。本星科研自动化培训具有一流的教学设备和专业的师资团队,开设的课程在电子,机械,冶金,医疗,...
PLC可编程控制器软件
[最佳回答]PLC可编程控制器软件:在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的...
plc中标号最多有几个字符?
·#¥%……—*()——+等等。在ASCII编码中,一个英文字母字符存储需要1个字节。在GB2312编码或GBK编码中,一个汉字字符存储需要2个字节。在UTF-8编...
笔记本仅能打字母不能打汉字-ZOL问答
一、先检查是否安装有汉字输入法;二、检查是否设置好和是否当前是汉字输入法状态;三、大写状态是否打开(笔记本上面的指示灯亮)按CapsLock或者Shift可以关闭。...