第一章 简单动画组态
随着人们生活水平的提高,对美观的要求越来越高,在生活中如此,在工作中也不例外。人机界面产品的真彩时代已经到来,仅仅是颜色的绚丽远远满足不了客户的需求,客户最需要的是画面能够把设备的运行状态非常逼真的表现出来,使得整个产品再上升一个档次。昆仑通态的mcgsTpc产品凭借优质的硬件特性和强大的软件功能,致力于满足客户需要,能够提供完整的动画解决方案。
复杂动作是简单动作的结合运用,生活中的简单动作大都可理解为闪烁、移动、旋转、大小变化等。这几种简单的动作结合起来就可以把工业设备的动作表现的很生动、逼真了。这章我们主要来学习如何在McgsPro组态软件中实现这几种简单的动作。
1.1 预备知识
在学习组态之前,我们先来了解下 McgsPro 组态软件的大体框架和工作流程。
实时数据库是整个软件的核心,从外部硬件采集的数据送到实时数据库,再由窗口来调用,通过用户窗口更改数据库的值,再由设备窗口输出到外部硬件。
用户窗口中的动画构件关联实时数据库中的数据对象,动画构件按照数据对象的值进行相应的变化,从而达到“动”起来的效果。
图 1-1-1 McgsPro 组态软件原理图
我们有一个简单动画样例,样例中包含了闪烁、移动、旋转和大小变化几种效果。这些效果只要在构件的属性窗口中做简单的设置就可以完成。图1-1-2中是该样例在TPC1570Gi中运行效果,我们对这几种效果简单说明:
标题实现闪烁
显示的错误信息用水平移动实现,电机打磨玻璃用垂直移动实现
按钮控制风扇的旋转
棒图的大小变化表示数据的增长和减少
图 1-1-2 简单动画运行效果
1.2 动画组态
新建一个工程开始组态吧。McgsPro 组态软件提供丰富的图形库,而且几乎所有的构件都可以设置动画属性。闪烁、移动、大小变化等效果只要在属性对话框进行相应的设置即可。
1.2.1 设置背景
在组态画面之前,建议先定好整个画面的风格及色调,以便于在组态时更好地设置其他构件的颜色,使画面更美观。我们按照样例中的风格来介绍如何设置背景。
1. 设置窗口背景新建窗口并进入组态画面,从工具箱中添加一个“位图”构件
,右键单击该位图,从弹出的快捷菜单中选择“装载位图”,选择一个事先准备好的位图,装载后选中该位图,在窗口右下方状态栏设置位图的坐标为(0,0),大小为 1920*1080,如图 1-2-1 所示,背景就设置完成了。
图 1-2-1 状态栏坐标及大小设置
2. 添加标题背景
添加“矩形”
构件,双击进入“动画组态属性设置”对话框,在属性设置页,设置填充颜色为“白色”,边线颜色为“没有边线”。将它的坐标设为(0,0),大小设为 1920*150,标题的背景就设置完成了。
1.2.2 动画效果一 闪烁
闪烁效果是通过设置标签的属性来实现的。我们首先介绍下标签的使用:
标签除了可以显示数据外,还可以用做文本显示,如显示一段公司介绍、注释信息、标题等。通过标签的属性对话框还可以设置动画效果。标签可谓是用处最多的构件之一。
添加“标签”
构件,双击进入“标签动画组态属性设置”对话框,在属性设置页,设置填充颜色为“没有填充”,字符颜色为“藏青色”,字体设置为“宋体、粗体、小初”,选中“闪烁效果”。在扩展属性页,文本内容输入“简单动画组态”。在闪烁效果属性页,闪烁效果表达式填写 1,表示条件永远成立。选择闪烁实现方式“用图元可见度变化实现闪烁”。组态效果如图 1-2-2 所示,设置完成后点击确认。将标签的坐标设为(710,15),大小设为 500*120。组态效果如图 1-2-3 所示。
图 1-2-2 闪烁效果设置
图1-2-3 标签闪烁效果图
注:当所连接的数据对象(或者由数据对象构成的表达式)的值非 0 时,图形对象就以设定的速度开始闪烁,而当表达式的值为 0 时,图形对象就停止闪烁。
1.2.3 动画效果二 移动
水平移动效果:水平移动的效果我们还是用标签来实现,只要设置标签的“水平移动”属性即可。
添加一个“标签”
,进入标签属性设置页,设置填充颜色为“没有填充”,字符颜色为“红色”,字体设置为“宋体、粗体、小二”,边线颜色“没有边线”。在位置动画连接部分选中“水平移动”。在扩展属性页,文本内容输入“显示报错信息”。在水平移动属性页,表达式一栏中要填写一个数据对象,在这里我们定义一个数据对象 i 。设置最小偏移量为 0,最大移动偏移量为 540,对应表达式的值分别为“0”,“100”,如图 1-2- 4 所示。点击“确认”时,弹出如图 1-2- 5 所示提示框,选择“是(Y)”,弹出“数据对象属性设置”的对话框,选择 i 的对象类型为“数值型”,如图 1-2-6 所示。数据对象 i 就会被添加到实时数据库中。
图 1-2-4 水平移动属性设置
图 1-2-5 数据对象报错信息
双击窗口空白处,进入“用户窗口属性设置”对话框,在循环脚本页添加标签水平移动的脚本,如图1-2-7 所示。
2. 垂直移动效果:我们用电机切割玻璃来表现垂直移动效果,设置玻璃的“垂直移动”属性即可。
电机:选中“插入元件”
,在对象元件库管理中,添加“马达 13”
和“马达 14”
到窗口,设置其大小为 140*100,再复制 3 组马达摆放如图 1-2-8 所示。玻璃滑带:添加“矩形”
,设置大小为 20*700,进入“动画组态属性设置”对话框,在属性设置页,设置填充颜色为“红色”,边线为黑色。再复制一个矩形,放在如图 1-2-9 所示的位置上。
图 1-2-8 电机样图
图 1-2-9 玻璃图
玻璃:选中工具箱中的“常用符号”
,打开常用图符工具箱,选择“立方体”
,添加到窗口。进入其“动画组态属性设置”对话框,设置填充颜色为“白色”,选中“垂直移动”。
在垂直移动属性页,定义表达式关联数值型对象 b,最小偏移量为 0,最大偏移量为 550,对应的表达式的值分别为“0”,“100”,如图 1-2-10 所示。
点击“确认”,提示组态错误时,选择“是”添加数据对象 b。
打开“用户窗口属性设置”对话框,在循环脚本页添加玻璃垂直移动的脚本,如图 1-2-11 所示。
图 1-2-10 垂直移动属性设置
图 1-2-11 垂直移动脚本设置
注:偏移量是以组态时图形对象所在的位置为基准(初始位置),单位为像素点,向左为负方向,向右为正方向(对垂直移动,向下为正方向,向上为负方向)。表达式和偏移量之间的关系:以图 1-2-10 中的组态设置为例,当表达式 b 的值为 0 时,图形对象的位置向下移动 0 个像素(即不动),当表达式 b 的值为 100时,图形对象的位置向下移动 550 个像素。
1.2.4 动画效果三 旋转
风扇的旋转效果可以用动画显示构件来实现。动画显示构件可以添加分段点,每个分段点可以添加图片,多个分段点可以有多个图片。多个不同状态图片的交替显示就可以实现旋转效果。风扇的旋转效果就是用两个不同状态的图片交替显示实现的。
1.制作风扇框架:从常见图符工具箱中添加“凸平面”
,设置其大小为 90*160,进入“动画组态属性设置”对话框,设置填充颜色为“灰色”,“确认”保存。复制两个凸平面,调整大小为 240*80,分别摆放在原凸平面的上下方,如图 1-2-12 所示。风扇的框架就制作完成了。
图 1-2-12 框架
2. 设置风扇效果:添加 “动画显示”
构件,进入“动画显示构件属性设置”对话框,选择分段点“0”,点击“位图”按钮加载图像,弹出“对象元件库管理”对话框。单击“装入”,添加事先已经准备好的风扇图片。图片装载成功之后,选中刚添加的风扇位图
,“确认”保存。分段点“0”成功插入位图,删除文本列表,设置图像大小为“充满按钮”。如图 1-2-13 所示。采用同样的方法设置分段点“1”,插入另一张风扇位图
。
在显示属性页,选择显示变量“开关,数值型”,关联数值型变量定义为“旋转可见度”,动画显示方式选择“根据显示变量的值切换显示各幅图像”,如图 1-2-14 所示。点击“确认”,提示组态错误时,选择添加数据对象“旋转可见度”。
图 1-2-13 风扇设置
图 1-2-14 旋转效果设置
设置好之后,调整动画显示构件大小为 140*120,拖到风扇框架的左上方。再复制出 3 个风扇。分别放置在框架的右上、左下、右下方,如图 1-2-15 所示。
3. 添加脚本:打开 “用户窗口属性设置”对话框,在循环脚本页添加使风扇旋转的脚本,如图 1-2-16标注部分所示。
图 1-2-15 风扇组态效果
图 1-2-16 风扇旋转脚本
4. 风扇的按钮控制:添加两个“标准按钮”
,设置按钮标题分别为“启动”和“停止”。
(1)启动
进入“启动”按钮的属性设置对话框,在操作属性页,设置“抬起功能”:数据对象值操作“置 1”,定义数值型变量“旋转循环”,如图 1-2-17 所示。“旋转循环”控制风扇旋转,当“旋转循环”为 1 时,风扇开始旋转。
在用户窗口属性设置对话框中,添加循环脚本“IF 旋转循环=1 THEN 旋转可见度=1-旋转可见度”。如图 1-2-18 所示。
图 1-2-17 风扇启动控制
图 1-2-18 风扇控制旋转脚本
(2)停止
进入“停止”按钮的属性设置对话框。在操作属性页,设置“抬起功能”:数据对象值操作“清 0”,关联变量“旋转循环”,如图 1-2-19 所示。“旋转循环”控制风扇旋转,当“旋转循环”为 0 时,风扇停止旋转。
风扇旋转控制组态完成,如图 1-2-20 所示。
图 1-2-19 风扇停止控制
图 1-2-20 风扇控制效果图
1.2.5 动画效果四 棒图
用棒图来表示数据能更加直观的看出数据的变化。数据增减用棒图的“大小变化”就可以实现。
1.添加坐标平面
添加一个“矩形”
构件,进入“动画组态属性设置”对话框,在属性设置页,设置填充颜色为“白色”,边线颜色为“黑色”,“确认”保存。坐标平面制作完成。
2.制作 Y 轴坐标
添加一个“标签”
,进入“标签动画组态属性设置”对话框,设置填充颜色为“没有填充”,边线颜色为“没有边线”,字符颜色为“黑色”。
在扩展属性页的“文本内容输入”中添加:120,90,60,30,0(每个数字字符间隔 2 行输入),如图1-2-21 所示。Y 轴坐标制作完成。
图 1-2-21 Y 轴坐标设置
3. 制作棒图
从常用图符工具箱中,添加“竖管道”
,作为“棒图”。进入其“动画组态属性设置”对话框。在属性设置页,设置填充颜色为“红色”,选中“大小变化”。
在大小变化页,关联表达式定义为数值型数据对象 c,点击“变化方向”右侧图标按钮,选择大小变化方向为单向向上变化,变化方式为缩放,如图 1-2-22 所示。
图 1-2-22 棒图大小变化设置
复制出另外两个棒图,分别设置填充颜色为“浅绿色”和“藏青色”。在大小变化页,设置“最大变化百分比”分别为 80 和 50,其他设置同第一个棒图。
注:当表达式的值大于等于 100 时,最大变化百分比设为 100%,则图形对象的大小与初始大小相同。不管表达式的值如何变化,图形对象的大小都在最小变化百分比与最大变化百分比之间变化。
4. 添加脚本
在用户窗口属性设置对话框中,循环脚本页添加棒图变化的脚本,如图 1-2-23 标注部分所示。整体设计如图 1-2-24 所示。
图 1-2-23 棒图脚本设置
图 1-2-24 棒图组态效果
四个简单的动画效果组态完成了。大家做完后可以下载到 TPC 中看一下运行效果,是否跟样例中的一致。
第二章 策略和脚本
2.1 运行策略和脚本程序介绍
运行策略是用户为实现对系统运行流程自由控制所组态生成的一系列功能块的总称。
运行策略能够按照预设的顺序和条件操作实时数据库,控制用户窗口状态,修改设备运行数据,提高控制过程的实时性和有序性。
根据运行策略的不同作用和功能,McgsPro 组态件把运行策略分为后台任务、启动策略、退出策略、循环策略、用户策略、报警策略、事件策略及热键策略八种。
脚本程序是组态软件中的一种内置编程语言引擎。在 McgsPro 组态件中,脚本语言是一种语法上类似Basic 的编程语言,有些 HMI 软件中也叫做“宏指令”。
脚本可以在运行策略、窗口启动脚本、窗口循环脚本、窗口退出脚本、窗口事件脚本、构件事件脚本、按钮脚本中应用。
2.2 脚本程序
2.2.1 简单脚本程序使用
脚本编辑环境是用户书写脚本语句的地方。脚本程序编辑环境主要由脚本编辑框、功能按钮、右键菜单、对象树、对象树查找 5 个部分构成,分别说明如图 2-2-1 所示。
图 2-2-1 脚本编辑环境 图2-2-2 脚本操作
对象和函数列表以树结构的形式,列出了工程中所有的窗口、策略、设备、变量、系统支持的各种方法、属性以及函数,以供用户快速的查找和使用。
比如,可在用户窗口树中,选定一个窗口:“窗口 0”,打开窗口 0 下的“方法”,双击 Open 函数,则McgsPro 组态软件自动在脚本程序编辑框中,添加一行语句:用户窗口.窗口 0.Open(),通过这行语句,就可以完成窗口打开的工作,如图 2-2-2 所示。
按同样的方法,可以对数据对象、构件的方法进行操作。
所有能够在脚本中使用的对象名称(如窗口、变量、策略),需要遵守如下规则:
不能用以下的关键字命名:
if、then、else、endif、while、break、endwhile、and、or、xor、not、exit、break、byte、integer、single、float、string。
不能以数字开头
不能含有以下的特殊字符:
`~!@#$%^&*()-=+\\|]}[{'\";:/?.>,<~!·#¥%……—*()——+|?,。《》/。
不能为空
不能为“_”
2.2.2 脚本逻辑控制语句使用
脚本程序是为了实现流程的控制及对象操作处理,包括如下语句:
赋值语句、条件语句、循环语句、退出语句、注释语句、声明语句、跳出语句。如图 2-2-3 所示。
图 2-2-3 语句种类
图 2-2-4 条件语句逻辑
2.2.2.1 赋值语句
赋值语句的形式为:数据对象 = 表达式。
它的具体含义是:把“=”右边表达式的运算值赋给左边的数据对象。如 A=B/2,表示把 B 的值除以 2后赋值给 A。
赋值号左边必须是能够读写的数据对象,如:整型数据、数值型数据以及能进行写操作的内部数据对象,而组对象、只读的内部数据对象、系统函数以及常量,均不能出现在赋值号的左边,因为不能对这些对象进行写操作。如$Year=1,是错误用法,$Year 是系统变量。
赋值号的右边为一个表达式,这个表达式的类型必须与左边数据对象值的类型相符合,否则系统会提示“类型不匹配”的错误信息。
2.2.2.2 条件语句
条件语句有如下三种形式:
形式一:IF 〖表达式〗 THEN 〖赋值语句或退出语句〗
形式二:IF 〖表达式〗 THEN
〖语句〗
ENDIF
形式三:IF 〖表达式〗 THEN
〖语句〗
ElSE
〖语句〗
ENDIF
注意:条件语句中的关键字不区分大小写,不支持“Else IF”语句。
2.2.2.3 循环语句
循环语句为 WHILE 和 ENDWHILE,其结构为:
WHILE 〖条件表达式〗
…
ENDWHILE
当条件表达式成立时(非零),循环执行 WHILE 和 ENDWHILE 之间的语句。直到条件表达式不成立(为零)时退出。
2.2.2.4 跳出语句
跳出语句为“Break”,用于跳出当前循环,必须在循环语句中使用。
2.2.2.5 退出语句
退出语句为“EXIT”,用于中断脚本程序的运行,停止执行其后面的语句。一般在条件语句中使用退出语句,以便在某种条件下,停止并退出脚本程序的执行。
2.2.3 临时变量和数组
McgsPro 组态件引入了临时变量和数组,临时变量和数组只在当前脚本中有效,不同的脚本可以使用相同名称的临时变量和数组。
目前局部变量和数组支持字节型、整数、浮点数、字符串四种数据类型。局部变量和数组声明语句使用DIM…AS。
如图 2-2-5 所示,分别定义了 integer、float、string、byte 类型变量和 float、string 类型数组。
图 2-2-5 局部变量和数组用法
注意事项:
声明语句不能嵌套在其他任何语句中
定义数组时使用“A(100)”,调用数组中的某一地址时使用“A[1]”
定义的数组型变量下标是以 1 开始的
定义的数组型变量为动态大小数组,用户可以通过调用!ArrayGetsize 和!ArrayResize 两个函数来获取或重置数组的大小。
2.2.4 设备命令脚本使用
McgsPro 提供了设备命令函数,用于对设备窗口的父设备、子设备进行操作,其格式如下:
!SetDevice(DevName,DevOp,CmdStr)
参数含义:DevName,字符型,设备名 DevOp,数值型,设备操作码 CmdStr,字符串,设备命令,只有当 DevOp=6 时 CmdStr 才有意义 DevOp 取值范围及相应含义: = 1,启动设备开始工作 = 2,停止设备的工作 = 3,测试设备的工作状态 = 4,启动设备工作一次 = 5,改变设备的工作周期,CmdStr 包含新的工作周期,单位 ms = 6,执行指定的设备命令,CmdStr 中包含指定命令的格式
其中 DevOp 值为 6 时,CmdStr 可以支持多种函数,如父设备的参数修改,子设备中通道数值读写,子设备的函数可以在每个驱动的帮助中查看。
举例:!SetDevice(通用串口父设备 0,6,"ChangePort(1)")表示修改父设备串口号。
2.3 运行策略
每种策略都由一系列功能模块组成。McgsPro 组态件运行策略窗口中“启动策略”、“退出策略”、“后台任务”为系统固有的三个策略块,用户策略、循环策略、报警策略、事件策略、热键策略由客户根据工程需要自行定义,如图 2-3-1 所示。
图 2-3-1 策略窗口
用户根据自己的需要,建立对应的策略后,点击“新增策略行” 或者通过右键操作来增加策略行,如图 2-3-2 所示。
图 2-3-2 策略行建立
每一个策略行中,只有当策略条件成立时,系统才能对策略行中的脚本程序进行操作。通过对策略条件的设定(默认情况下,执行条件部分为真),用户可以自主的控制策略在什么时候、什么条件、什么状态下执行,如图 2-3-3 所示。
图 2-3-3 策略执行条件
图 2-3-4 循环策略
2.3.1 循环策略
循环策略由用户在组态时创建,在系统运行时按照设定的时间循环运行。在一个应用系统中,用户可以定义多个循环策略。循环策略属性设置如图 2-3-4 所示。
策略名称:输入循环策略的名称
策略执行方式:
定时循环:按设定的时间间隔循环执行,直接用 ms 来设置循环时间。最小循环时间间隔为 100ms,当设定值小于 100ms 时按 100ms 计算。
固定时刻:策略在固定的时刻执行。
策略内容注释:用于对策略加以注释
2.3.2 用户策略
用户策略由用户在组态时创建,在系统运行时通过按钮、脚本调用。用户策略属性设置如图 2-3-5 所示,其操作如下:
图 2-3-5 用户策略
图 2-3-6 报警策略
策略名称:输入用户策略的名称。
策略内容注释:用于对策略加以注释。
2.3.3 报警策略
报警策略由用户在组态时创建,当指定数据对象的某种报警状态发生时,报警策略被系统自动调用一次。报警策略属性设置如图 2-3-6 所示,其操作如下:
策略名称:输入报警策略的名称。
策略执行方式:
对应数据对象:用于与实时数据库的数据对象连接。
对应报警状态:报警产生时执行一次、报警结束时执行一次、报警应答时执行一次
策略内容注释:用于对策略加以注释。
2.3.4 事件策略
事件策略由用户在组态时创建,当对应数据对象的某种事件状态产生时,事件策略被系统自动调用一次。事件策略属性设置如图 2-3-7 所示。
对应表达式:用于关联事件对应的数据对象。
事件内容:数据对象对应的事件内容有五种:
数据对象的值正跳变(0 到 1)
数据对象的值负跳变(1 到 0)
数据对象的值正负跳变(0 到 1 再到 0)
数据对象的值负正跳变(1 到 0 再到 1)。
数据对象的值有改变时
图 2-3-7 事件策略
第三章 用户权限和输入安全设置
本章主要介绍 McgsPro 组态软件提供的用户权限和输入安全设置解决方案,并通过具体实例,使用户尽快掌握配方的组态实现方法。
3.1 用户权限设置
用户权限设置是采用用户组和用户的概念来进行操作权限的控制。在 McgsPro 组态软件中可以定义多个用户组,每个用户组中可以包含多个用户,同一个用户可以隶属于多个用户组。操作权限是以用户组为单位来进行分配的,即哪些用户组有权限操作某种功能,而某个用户能否对这个功能进行操作取决于该用户所在的用户组是否具备对应的操作权限。
在 McgsPro 组态软件中,通过“用户权限管理”编辑用户和用户组,选择“工具”打开“用户权限管理”对话框,如图 3-1-1 所示。
在用户管理器窗口中,上半部分为已建用户的用户名列表,下半部分为已建用户组的列表。当用鼠标激活用户名列表时,在窗口底部显示有“新增用户”、“复制用户”、“删除用户”等对用户操作的按钮;当用鼠标激活用户组名列表时,在窗口底部显示有“新增用户组”、“删除用户组”等对用户组操作的按钮。
图 3-1-1 用户管理器
3.1.1 添加用户
单击新增用户按钮,可以添加新的用户名,选中一个用户时,点击属性或双击该用户,会出现用户属性设置窗口,在该窗口中,用户可对用户名称、用户描述、用户密码及该用户隶属于哪个用户组进行设置,如图 3-1-2 所示。
图 3-1-2 用户属性设置
3.1.2 添加用户组及成员管理
单击新增用户组按钮,可以添加新的用户组,选中一个用户组时,点击属性或双击该用户组,会出现用户组属性设置窗口,在该窗口中,用户可对用户组名称、用户描述及该用户组包括哪些用户或用户组进行设置,如图 3-1-3 所示。
图 3-1-3 用户组属性设置
3.1.3 用户权限管理
在 McgsPro 组态软件中,能进行操作权限设置构件有标准按钮、输入框、动画按钮、组合框、滑动输入器。权限管理在 TPC 运行时才能体现出来,在 TPC 运行时提供了系统权限修改(退出系统权限)、操作权限修改。
以标准按钮举例说明:
通过脚本函数可以实现用户的登录、退出、登录用户名获取、登录用户组名获取、打开用户管理对话框、登录用户密码修改,下面以用户登录!logon()、用户退出!logoff()来说明,如图 3-1-4 所示。
图 3-1-4 用户登录和用户退出函数说明
!LogOn( )弹出登录对话框
!LogOff( )注销当前用户
!GetCurrentUser( )读取当前登录用户的用户名
!GetCurrentGroup( )读取当前登录用户的所在用户组名
!Editusers( )弹出用户管理窗口,供有子用户组的操作者配置用户
!ChangePassword( )弹出改变密码窗口,供当前登录的用户修改密码
模拟运行效果如图 3-1-5 所示。
图 3-1-5 模拟运行获取用户名和用户组名
3.1.4 USB 密钥
USB 密钥的功能为预先设定好用户的登录信息,生成密钥文件,打开用户管理器,选择一个用户名,点击 USB 密钥,如图 3-1-6 所示。
图 3-1-6 USB 密钥制作
电脑上插上 U 盘,选择导出即可在 U 盘上生成密钥,密钥文件为“McgsUserKey”,如图 3-1-7 所示。
图 3-1-7 USB 密钥生成
3.2 输入安全设置
在 McgsPro 组态软件中,能进行输入安全设置的构件有标准按钮、输入框、动画按钮、组合框等构件,输入安全设置在 TPC 运行时才能体现出来。
以输入框举例说明:
安全属性是指构件在系统运行中是否可操作,是由指定的表达式的值决定。
表达式:本项中可以输入一个表达式,用表达式的值来控制构件是否可操作(即使能状态)。如不设置任何表达式,则运行时,构件始终处于可操作状态。可使用右侧的问号(“?”)按钮查找并设置所需的表达式。
条件设置:本项指定表达式的值与构件使能状态相对应。
失效样式:指定构件不可操作时(构件失效)构件的外观状态。
弹框确认:弹框确认可实现组合框选项变化前,对操作进行确认,以达到安全操作目的。确认等待时间指定弹出确认对话框自动消失的时间间隔。
输入框安全属性页和使用效果如图 3-2-1 所示。
图 3-2-1 输入框安全属性页和使用效果对比图
第四章 报警
在工作过程中,我们非常希望:当设备运行出现故障时能够通知到工作人员,从而及时地处理,查看报警产生的历史记录能够清楚的了解设备的运行情况,不同的现场作业需要不同的报警形式,总之,报警已经成为工业现场必备的条件。McgsPro 组态软件根据客户需求,综合分析工业现场报警的多种需求,致力于为客户提供合适的报警方案。本章内容是昆仑通态分析了众多客户的实际需求,列举出了字报警、位报警、多状态报警、弹出窗口显示报警信息等几种报警形式的实现方案。
4.1 报警介绍
在学习报警之前,我们先来了解下 McgsPro 组态软件中实现报警的流程。在初级教程的学习中大家已经了解到从 PLC 等外部设备读取的数据是传送给实时数据库中对应的数据对象,判断数据对象的值是否满足报警的条件,如果满足即产生报警;保存数据对象的值即保存了报警的历史记录;在用户窗口显示对应数据对象(下文中简称为变量)的值,也就是显示了当前 PLC 中的值,如图 4-1-2 所示。
图 4-1-1 组态配置流程
图 4-1-2 运行时数据流程
如图 4-1-1 是实现报警的组态流程,首先要确定所用的硬件设备,例如 PLC 型号,在设备窗口添加正确的驱动构件,添加 PLC 中所用到地址(在 McgsPro 组态软件中叫做通道),并且关联上变量;到实时数据库中设置报警属性,在用户窗口用报警构件显示。McgsPro 组态软件提供了报警条(走马灯)、报警浏览构件等多个报警构件。
4.2 报警组态
4.2.1 报警需求
我们通过一个样例来学习报警的各种表现形式。图 4-2-1 是该样例的运行效果。
图 4-2-1 报警运行效果图
报警样例列举了常用的四种基本报警形式。首先我们分析下每种形式的报警需求。
以西门子 S7-200PLC 为例。1. 当 PLC“M 寄存器”的地址 12.3 状态为 1 时提示水满了,此报警信息在屏幕上滚动显示。2. 当 PLC“V 寄存器”的字地址 49 的值超过 10~30 的范围时提示温度太高或太低,以列表显示。3. 当 PLC“V 寄存器”的字地址 200 值非 0 时表示不同的故障,在画面上显示异常报警信息。
各种故障信息如下:
V200 的值 含义
0 正常
1 故障信息 1
2 故障信息 2
3 故障信息 3
4 故障信息 4
4. 当“M 寄存器”的地址 12.3 发生报警后立即弹出一个小窗口,显示当前报警信息。
报警需求了解清楚后,下面我们就开始逐一分析并组态。如何添加设备在初级教程已经详细的介绍过,此处不再赘述。新建工程,在设备窗口添加通用串口父设备和西门子_S7200PPI 驱动。
4.2.2 位报警
第一个报警需求:当 PLC 中“M 寄存器”地址 12.3 的值为 1 时提示“水满了”,并且滚动显示。
方案:地址 M12.3 报警内容固定,直接设置对应变量的报警属性即可;然后在用户窗口用报警条(走马灯)构件显示。
1.添加位通道:在设备窗口,双击西门_S7200PPI 驱动进入“设备编辑窗口”,如图 4-2-2 所示。单击“增加设备通道”按钮,弹出“添加设备通道”对话框,选择通道类型“M 寄存器”,数据类型“通道的第03 位”,通道地址为“12”,通道个数为“1”,读写方式选择“读写”。如图 4-2-3 所示,设置完成点击“确认”。
图 4-2-2 设备编辑窗口
图 4-2-3 添加位通道 M012_3
2.通道关联变量:点击“快速连接变量”按钮,进入“快速连接”对话框,选择“默认设备变量连接”,点击“确认”,自动生成变量名“设备 0_读写 M012_3”。在设备编辑窗口点击“确认”,系统弹出“添加数据对象”的提示框,选择“全部添加”。
3.在实时数据库设置变量的报警属性:切换到“实时数据库”,打开变量“设备 0_读写 M012_3”的属性设置对话框,在报警属性页,表格空白处右键单击,弹出菜单选择“追加”(如图 2-2-4 所示),在修改报警属性设置对话框中,报警参数的报警类型选择“开关量”,报警值为 1,报警描述为“水满了”(如图 2-2- 5 所示),设置完成点击“确认”。
图 4-2-4 设置变量报警属性
图 4-2-5 设置开关量报警
4.设置报警条构件:新建“窗口 0”,在“窗口 0”的窗口基本属性中,将窗口背景修改为“蓝色”,并添加一个“报警条”
构件,进入“报警条属性设置”对话框,点击
选择在设备窗口建立的变量“设备 0_读写 M012_3”,设置填充颜色为“浅粉色”,字符颜色为“黑色”,边线颜色为“没有填充”,滚动字符数为 3,滚动速度为 600,支持闪烁,如图 4-2-6 所示。
图 4-2-6 设置开关量报警
注:报警条构件不关联任何变量时,显示当前所有的实时报警信息。
5.显示数据:添加一个“标签”
,勾选显示输出。在显示输出属性页,点击
选择变量“设备0_读写 M012_3”,以开关量输出。另外添加一个“标签” ,输入“显示注水状态”。参照图 4-2-7 中效果设置标签颜色和字体颜色。
6.查看效果:组态完成后,连接 PLC,下载运行查看效果:当 PLC 有报警产生时,报警信息显示。
图 4-2-7 位报警运行效果
4.2.3 上下限报警
第二个报警需求:当 PLC 中“V 寄存器”地址 49 的值超出 10~30 的范围时,以列表形式显示温度太高或温度太低。
方案:设置“V 寄存器”地址 49 对应变量的报警属性,在用户窗口用报警浏览构件显示。
1.添加字通道:在设备窗口,双击“西门子_S7200PPI”驱动进入“设备编辑”窗口,单击“增加设备通道”按钮,进入“添加设备通道”对话框,选择通道类型为“V 寄存器”,数据类型为“16 位无符号二进制”,通道地址为“49”,通道个数为“1”,读写方式为“读写”。设置完成后点击“确认”按钮,如图 4-2- 8 所示。
图 4-2-8 添加 VWUB049 字通道
2.通道关联变量:在设备编辑窗口选择“快速连接变量”按钮,进入“快速连接”对话框,选择“默认设备变量连接”,点击“确认”回到设备编辑窗口,自动生成变量名“设备 0_读写 VWUB049”,在设备编辑窗口点击“确认”,系统提示添加变量,选择“全部添加”,所建立的变量会自动添加到实时数据库。
3.在实时数据库设置变量的报警属性:切换到实时数据库,打开变量“设备 0_读写 VWUB049”属性设置对话框,在报警属性页,表格空白处右键单击,弹出菜单选择“追加”,在修改报警属性设置对话框中,基本参数类型选择“上限”,设置报警值为 30 ,报警注释为“温度太高了”,点击确定按钮,如图 4-2-8 所示。
在报警属性页的表格空白处再次右键单击,在弹出的菜单中选择“追加”,在修改报警属性设置对话框中,基本参数类型选择“下限”,设置报警值为 10,报警注释为“温度太低了”,如图 4-2-9 所示。设置完成点击“确认”。
图 4-2-8 报警上限属性设置
图 4-2-9 报警下限属性设置
4.设置报警浏览构件:在“窗口 0”添加一个“报警浏览”
构件,进入“报警浏览构件属性设置”对话框。
在数据来源页,数据类型选择“实时报警数据(R)”,点击
选择变量“设备 0_读写 VWUB049”,如图 4-2-10 所示。在显示属性页,勾选“日期”、“时间”、“对象名”、“报警类型”、“报警值”、“报警描述”并设置合适的列宽,其他项采用默认设置,如图 4-2-11 所示。在基本属性页,所有项采用默认设置,点击“确认”
图 4-2-10 数据来源页
图 4-2-11 设置显示属性
注:报警浏览构件不关联任何变量时,显示当前所有的实时报警信息。
5.显示数据:添加一个“标签”
,选择显示输出。在显示输出属性页,点击
选择变量“设备0_读写 VWUB049”,以数值量输出。再添加一个“标签”
,在扩展属性页输入“显示当前温度”,参照图 4-2-12 设置标签的填充颜色和字体颜色。
6.查看效果:组态完成后,连接 PLC,下载运行查看效果,当 PLC 有报警产生时,报警信息显示。
图 4-2-12 字报警运行效果
4.2.4 多状态报警
第三个报警需求:PLC 中“V 寄存器”地址 200 输出的值不同时,提示不同的故障信息。提供以下两种方式实现这个功能。
方案一:采用数值报警,用“值==”的报警类型实现当输出指定的值时,提示对应的故障信息。
1.添加字通道:在设备窗口,双击西门子_S7200PPI 驱动进入“设备编辑窗口”,单击“增加设备通道”按钮,弹出“添加设备通道”对话框,选择通道类型“V 寄存器”,数据类型“16 位无符号二进制”,通道地址为“200”,通道个数为“1”,读写方式选择“读写”,如图 4-2-13 所示。设置完成后点击“确认”。
图 4-2-13 添加字通道 VWUB200
2. 通道关联变量:在设备编辑窗口选择“快速连接变量”按钮,进入“快速连接”对话框,选择“默认设备变量连接”,点击“确认”回到设备编辑窗口,自动生成变量名“设备 0_读写 VWUB200”,在设备编辑窗口点击“确认”,系统提示添加变量,选择“全部添加”,所建立的变量会自动添加到实时数据库。
3. 在实时数据库设置报警属性:双击变量“设备 0_读写 VWUUB200”进入报警属性页,按照 4.2.3 节的方式追加报警,具体操作和效果如图 4-2-14 所示。
图 4-2-14 报警属性页设置
3. 设置报警浏览构件和显示数据:参见 4.2.3 节的方式设置报警浏览构件和显示数据,组态完成后,连接 PLC,下载运行查看效果,当 PLC 有报警产生时,报警信息显示。
方案二:用动画显示构件可以设置多个分段点的特点来实现,每个非 0 分段点代表一个故障信息。
1.添加字通道和通道关联变量:参见方案一中步骤 1、2 的设置。
2. 动画构件设置:在“窗口 0”添加一个“动画显示”
构件,进入“动画显示构件属性设置”对话框。在基本属性页,设置分段点“0,1,2,3,4”。清空每个分段点的图像列表,背景类型均设为“粗框按钮:按下文字设置按段点顺序依次为:“正常”,“故障信息 1”,“故障信息 2”,“故障信息 3”,“故障信息 4”,设置前景色、背景色、3D 效果,字体选择“宋体、粗体、小二”,如图 4-2-15 所示。
图 4-2-15 设置段点及属性
图 4-2-16 选择显示变量
在显示属性页,显示变量选择“开关,数值型”,点击
选择变量“设备 0_读写 VWUB200”,动画显示的实现选择“根据显示变量的值切换显示各幅图像”,如图 4-2-16 所示,“确认”保存。
4. 数据显示:添加一个“标签”
,选择显示输出。在显示输出页,点击
选择变量“设备 0_读 写 VWUB200”,选择“数值量输出”。再添加一个“标签”
到窗口,在扩展属性页输入“多状态报警”。参照图 4-2-15 设置标签填充色和字体颜色。
5. 查看效果:组态完成后,连接 PLC,当 PLC 对应的通道值发生变化时,动画显示构件显示不同信息。
图 4-2-17 多状态报警运行效果
4.2.5 弹出窗口方式报警
第四个报警需求:当 M12.3 状态为 1 时,弹出一个小窗口提示“水满了”。
方案:用子窗口弹出来实现,运用报警策略来及时判断报警是否发生,并设置子窗口显示的大小和坐标。
1.添加子窗口:在工作台界面切换到用户窗口,新建“窗口 1”。
2.设置显示信息:打开“窗口 1”,选中工具箱中的“常用符号”
,打开常用图符工具箱。添加“凸平面”
,设置坐标为(0,0),大小为 310*140,填充色为“银色”,没有边线。然后添加一个“矩形”
,设置坐标为(5,5),大小为 300*130。
从对象元件库插入“标志 24”,再添加一个“标签”
,文本内容为“水满了!”,然后把这两个构件放到矩形上合适的位置,如图 4-2-18 所示。
图 4-2-18 位报警窗口信息
3. 设置窗口弹出效果:在工作台界面切换到运行策略窗口,点击“新建策略”按钮,在“选择策略的类型”对话框中选择“报警策略”,确定后回到运行策略窗口,双击新建的策略进入策略组态窗口,从工具条点击“新增策略行”,如图 4-2-19 所示。
双击
进入“策略属性设置”对话框,设置策略名称为“注水状态报警显示策略”,点击 选择变量“设备 0_读写 M012_3”,对应的报警状态选择“报警产生时,执行一次”,确认保存,如图 4-2-20。双击此策略的脚本程序图标
,进入脚本程序窗口,
输入“!OpenSubWnd(窗口1,450,300,310,140,0)”,确定保存。
采用同样的方式新建“注水状态报警结束策略”,对应的报警状态选择“报警结束时,执行一次”,脚本程序为“!CloseSubWnd(窗口 1 )”。
图 4-2-19 添加报警策略
图 4-2-20 位报警策略属性设置
4. 查看效果:组态完成后,连接 PLC,当“M 寄存器”的地址 12.3 发生报警时,在窗口 0 就会弹出窗口显示报警信息。
注:如果工程启动时有报警产生,报警窗口不会弹出。
报警实例的功能完成,然后为“窗口 0”添加一个“标签”
作为标题,文本内容为“报警”,背景色为“白色”。为各报警添加注释“位报警”,“字报警”,“多状态报警”和“弹出窗口显示报警信息”。组态设置完成,运行效果实现。
4.3 报警信息统一配置
报警功能有两种方式可以进行配置,第一种方式是通过变量属性在实时数据库进行配置,另一种方式是报警统一配置。这里主要介绍使用报警统一配置方式配置报警,批量操作,提高组态效率。
4.3.1 报警统一配置界面介绍
通过菜单“工具”-“报警统一配置”弹出报警统一配置画面,如图 4-3-21 所示。
如果已在实时数据库中设置过变量报警属性,则画面表格中将会显示已经设置过的所有报警信息,否则表格中没有报警信息
图 4-3-21 报警统一配置画面
4.3.2 报警统一配置报警设置
在此模块中有三种方法可以新增报警。
第一种方法是通过菜单“编辑”-“添加一行”,如图 4-3-22 左侧所示;
第二种方法是使用工具栏中的新增一行工具按钮,如图 4-3-22 右侧所示;
第三种方法是直接在表格最后预留行双击直接新增,如图 4-3-23 所示。
图 4-3-22 添加新增报警
图 4-3-23 添加新增报警画面
4.3.3 报警信息导入导出
1. 导出报警:通过菜单“文件”-“导出”,可以弹出文件保存选择对话框,导出即可,如图 4-3-24。
图 4-3-24 报警信息导出
2. 导出报警文件编辑:报警导入导出使用的文件格式为 xml 格式。当需要对导出的报警数据进行修改时可以使用 Excel 将导出的 xml 文件打后进行编辑,如图 4-3-25 所示。
图 4-3-25 报警信息文件编辑
3. 导入报警:通过菜单“文件”-“导入”,弹出打开文件设置对话框,选择编辑好的报警配置文件即可完成报警导入,如图 4-3-26。如果导入前报警配置画面已有报警数据,则会弹出如图 4-3-27 的提示,选择“是”则导入前会清空报警配置表格数据;选择“否”不清空报警配置表格数据,导入数据直接追加到已有报警数据后面;选择“取消”则放弃导入操作。
图 4-3-26 报警统一配置画面
图 4-3-27 报警统一配置画面
第五章 配方功能
本章主要介绍 McgsPro 组态软件提供的配方解决方案,并通过具体实例,使用户尽快掌握配方的组态实现方法。
5.1 配方功能介绍
在制造领域,配方是用来描述生产一件产品所用的不同配料之间的比例关系,是生产过程中一些变量对应的参数设定值的集合。
例如面包厂生产面包时有一个配料配方。此配方列出所有要用来生产面包的配料(如糖、盐、面粉、水、蜂蜜等),而不同口味的面包会有不同的配料用量。
例如甜面包会使用更多的糖,而低糖面包则使用更少的糖。在 McgsPro 组态软件中,每一种口味的面包原料的用量信息称为一个配方,所有面包配方合起来称为配方组。
可以把配方组想象成一张表格(如表 5-1-1),表格的每一列就是一种原料,而每一行就是一个配方,单元格的数据则是每种原料的具体用量。
表 5-1-1
在 McgsPro 系列产品中,配方功能可通过配方选择对话框,配方编辑对话框以及各种脚本操作来完成对配方数据的增、删、改、查等操作。
下面对配方组态中涉及到的名词进行说明,配方运行效果如图 5-1-1 所示:
配方组:
配方组即同类配方所组成的集合,这一类配方拥有相同的配方成分,不同的是配方成分的用量不同,在配方组中可以使用配方名称来区分这些不同的配方。上表整体就为一个配方组。
配方项:
配方项就是配方组中所有配方都包含的配方成分,首个配方项即是配方名称,这是一个成分列表,例如上图中糖、盐等。上表每一列即一个配方项。
配方:
配方组中的数据成员,每个配方结构一致,数据不同。上表每一行(除第一行)表示一个配方。
变量名称:
配方项关联的数据对象名称。
列标题:
配方项用于展示(配方构件、配方编辑时)的标题文本,支持多语言设置;在配方的导入和导出时,作为匹配依据,并且区分语言,即在英文状态下无法导入中文状态导出的配方。上表第一行即为列标题。
图 5-1-1 配方运行效果
5.2 配方功能使用方法
5.2.1 准备工作
本例程所有配方数据均存储于 HMI 中,运行时可以利用组态软件的配方控件查看和修改配方数据,并将配方数据下载到 PLC 中。为方便数据查看,我们将 PLC 中配方的数据做到界面上。HMI 可以进行如下的操作:
1. 可以使用 HMI 浏览所有配方数据
2. 可以选择修改指定配方项
3. 可以下载某一个配方项到 PLC 特定区域使 PLC
正常运行我们使用西门子 S7-200 PLC 模拟面包生产机接收面包配方的五个参数,接收地址为 V 寄存器 100~108字节。
组态思路:
1. 首先在实时数据库中添加变量用于稍后操作配方数据
2. 在设备窗口添加 PLC 设备驱动并进行设定
3. 使用配方组态工具编辑配方成员、配方项和配方数据
4. 在用户窗口添加若干标签、输入框和按钮构件,并编辑必要的脚本,用于显示和操作配方,组态环境中设定完毕后,我们即可下载工程到 HMI,在运行环境中操作配方。
5.2.2 配方组态
新建一个工程,下面我们开始组态吧。
1. 建立变量
打开工作台“实时数据库”,新建 5 个数值型变量“糖”、“盐”、“面粉”、“水”、“蜂蜜”,其它属性保持默认值。此类变量为关联显示配方数据用,如图 5-2-1。
图 5-2-1 变量添加
2. 添加设备
切换到工作台,打开设备窗口,箱添加“通用串口父设备”与“西门子_S7200PPI”两个设备,将“西门子_S7200PPI”驱动作为“通用串口父设备”的子设备。
双击西门子_S7200PPI 驱动进入设备编辑窗口,增加设备通道,选择通道类型:V 寄存器,数据类型:16 位无符号二进制数,通道地址:100,通道个数:5,点击确定。
连接变量,将“糖”、“盐”、“面粉”、“水”、“蜂蜜”5 个变量关联到对应的地址上,点击确定,完成 PLC 和 HMI 地址的关联。如图 5-2-2 所示。
图 5-2-2 设备窗口组态
3 设计配方
点击 McgsPro 主菜单“工具(T)”,选择“配方组态设计”菜单项,打开配方组态设计工具。
点击“文件(F)”
“新增配方组(N)”,或点击工具栏
按钮,新建一个配方组(“配方组 0”),在“配方组 0”上点击鼠标右键,选择“配方组改名(R)”,将配方组重命名为“面包配方”。
点击“格式(M)”
“增加一行(I)”,或点击工具栏
按钮,新建一个配方成员,在配方成员的变量名称处点击鼠标右键,在弹出的变量选择对话框中选择变量“蜂蜜”。同理,再新建 4 个配方成员,分别连接变量“盐”、“面粉”、“水”、“蜂蜜”。
点击“使用变量名作列标题名”按钮,为配方成员分别命名为“糖”、“盐”、“面粉”、“水”、“蜂蜜”。创建好的配方成员,如图 5-2-3 所示
图 5-2-3 创建配方
点击“编辑(E)”
“编辑配方(E)”,或点击工具栏
按钮,打开配方修改对话框。在配方修改对话框中点击
按钮,即可增加一个配方项,添加配方数据如图 5-2-4 所示,添加完成后保存并退出配方修改对话框。
图 5-2-4 配方修改对话框
点击点击工具栏
按钮,保存配方。保存后关闭配方组态设计工具。4 创建动画构件、编写脚本程序
切换回工作台“用户窗口”界面,新建一个用户窗口并打开。
创建标签、配方构件、按钮、输入框等动画构件,组态如图 5-2-5 所示。
图 5-2-5 窗口组态界面
添加 1 个标签作为标题,文本为“配方管理样例”, 将字体设置为 23,作为标题。
双击配方构件,设置配方构件属性,选择配方组为“面包配方”,点击复位,勾选全显示、全编辑,设置列宽及小数位数,使控件显示美观,点击确定,如图 5-2-6。
增加 5 个按钮,分别用于增加配方、删除配方、插入配方、保存配方、下载配方,设置按钮文本及脚本程序如下,如图 5-2-7。
增加:配方管理.控件 1.Add( )删除:配方管理.控件 1.Delete( )插入:配方管理.控件 1.Insert( )保存:配方管理.控件 1.Save( )配方下载到 PLC:配方管理.控件 1.WriteToData( )
将“PLC 数据”下面 5 个标签作为文字标签,分别写入配方中 5 个变量的名称“糖”“盐”“面粉”、“水”、“蜂蜜”,将 5 个输入框分别关联数据对象“糖”、“盐”、“面粉”、“水”、“蜂蜜”,完成 PLC数据的组态,以便在 HMI 上观察 PLC 的数据,如图 5-2-8。
图 5-2-6 配方控件属性设置
图 5-2-7 按钮脚本设置
图 5-2-8 PLC 数据组态
5.2.3 使用配方
下载编辑好的配方工程至 HMI,并连接好 PLC 设备,运行 HMI。运行效果如图 5-3-1 所示。
图 5-3-1 运行效果图
双击配方控件中的数值,弹出对话框,修改对应变量的值,修改后需点击保存才能存入 HMI 中。
点击“增加”、“删除”、“插入”、“保存”完成配方的编辑。
点击配方控件中的某一行,点击“配方下载到 PLC”按钮,完成配方数据下载,可以看到下边 PLC的数据变化。
第六章 多语言工程组态
随着工业领域国际化的发展,多语言已经成为众多国际化公司的基本需求。McgsPro 组态软件自带多语言功能,给用户提供多语言显示的方案。
我们提供一个多语言组态的样例,运行效果如图 6-1-1、6-1-2、6-1-3、6-1-4 所示:
图 6-1-1 中文环境运行效果
图 6-1-2 英文环境运行效果
图 6-1-3 繁体环境运行效果
图 6-1-4 日文环境运行效果
我们以此为例,学习多语言的使用。下面我们就开始组态吧!
6.1 多语言组态介绍
我们给出如下组态思路,供大家参考。
按照工程默认语言组态工程
先使用“新增多语言项”组态中文语言环境下的窗口内容
设置工程语言并编辑工程多语言内容
设置工程语言为中、英、繁、日四种,在多语言配置表中集中编辑窗口构件的多语言内容。
设置工程在运行环境切换语言功能
组态设置 4 个按钮,用于将语言切换到中、英、繁、日,运行时即可动态实现多语言切换。
按照以上三个步骤,即可轻松组态多语言运行工程。
6.2 多语言快速组态指导
新建一个工程,下面我们以标签、输入框和按钮为例,按照前一节介绍的组态步骤来实现一个简单多语言工程的快速组态。
6.2.1 按照工程默认语言组态
1. 界面组态:新建一个窗口,进入“用户窗口属性设置”对话框,设置窗口背景为蓝色。添加一个“标签”
,作为此窗口的标题,设置坐标为(0,0),大小为 1920*110,填充颜色为白色,点击右上角图标“
”,在下拉框中选择,新增多语言项,文本内容为“多语言组态”,如图 4-2-1 所示。然后添加三个“圆角矩形”
。
2. 标签组态:添加两个“标签”
,进入其属性设置对话框,点击右上角图标“
”,在下拉框中选择,新增多语言项,设置文本内容为“标签 1”和“标签 2”。
3. 按钮组态:添加两个“按钮”
构件,第一个按钮, 在抬起状态,点击右上角图标“
”,在下拉框中选择,新增多语言项,文本内容修改为“按钮 1”,按照同样方法设置第二个按钮,“按钮 2”。
4. 输入框组态:添加两个“输入框”
构件,在操作属性中,对应数据对象名称关联变量。组态结果如图 6-2-2 所示。
图 6-2-2 标签、输入框、按钮组态
5. 设置工程语言:单击工具栏中的“多语言配置”
,打开“多语言配置”窗口 。初始情况下,窗口中显示序号、文本 ID、Chinese(语言 ID:0),合在一起统称为多语言配置文本表。点击工具栏中的“打开语言选择对话框”
按钮,进入“运行时语言选择”对话框,在语言选择表格的“是否使用”项勾选English、繁体、Japanese 语种。左上方的下拉框用来设置工程启动的默认语言,即工程下载运行时的初始运行语言。确定后回到多语言配置窗口,此时窗口中增加了“English”、“繁体”、“日文”显示列。
6.2.2 编辑多语言内容
多语言内容编辑,中组态好窗口的构件后,接下来要对各构件的多语言内容进行编辑。如图 6-2-3。
图 6-2-3 多语言配置表
6.2.3 工程的语言切换设置
工程的语言切换是通过脚本函数!SetCurrentLanguageIndex() 来实现的,我们想要在运行时手动切换语言的话,可以添加四个语言切换按钮,在按钮的脚本中设置语言切换。
1. 在窗口添加四个“按钮”
,分别设置文本内容为“中文”、“英文”、“繁体”、“日文”。如图 6-2- 4 所示。
图 6-2-4 中英繁日文切换按钮
2. 进入“中文”按钮的属性设置对话框,在脚本程序页,在“抬起脚本”界面,单击“打开脚本程序编辑器”,进入到脚本程序编辑窗口,在窗口右侧的目录树中依次选择:
系统函数运行环境操作函数!SetCurrentLanguageIndex( )
如图 6-2-5 所示,点击确定,将函数添加到脚本中。
回到脚本程序页,在函数括号中添加参数 0,“英文”的按钮函数内的参数为 1,如同 6-2-6 所示。“繁体”的按钮函数内的参数为 1001,“日文”的按钮函数内的参数为 1002。
其中 0 代表设置为中文;
1 代表设置为英文;
1001 代表设置为繁体;
1002 代表设置为日文。
这些参数语言 ID 在多语言配置表名称中可看到,如同 6-2-7 所示:
图 6-2-5 函数选择列表
图 6-2-6 脚本程序页
图 6-2-7 多语言配置-语言 ID 参数
6.3 多语言支持内容说明
本节主要介绍 McgsPro 组态软件中支持多语言的构件及内容。
目前本组态软件已提供 12 种内置语种,分别为中文、英语、繁体中文、日语、韩语、德语、西班牙语、俄语、法语、葡萄牙语、意大利语、泰语,方便用户组建多语种工程。
其他国家语言可以通过增加语言种类新增,如图 6-2-8,遵守输入顺序从左到右的输入法可以新增。
图 6-2-8 增加语言种类
在语言选择界面点击“增加语言种类”打开增加语言种类对话框。“增加语种”下拉框提供组态预先提供的某几种语言类型,包括新建工程默认添加的两种语言中文、English,也可点击“新增…”选项,输入自定义的语言名称。在该对话框中可以对增加的语言种类信息进行设置包括工程语种设置(是否使用继承语种、继承语种、语言字体、缩放比例),内置语种设置(语言字体、缩放比例)。
“使用继承语种属性”被勾选时,各动画构件中新增语种的字体与本对话框设置的字体一致,字形、字号设置将与表格中选择的“继承语种”保持一致;如果构件通过字体属性页重新设置了字体、字形和字号,则以重新设置之后的属性为准。各语种推荐字体和缩放比例如下表:
表 6-2-1 内置语种推荐字体和缩放比例
工程语言:在组态环境和运行环境下可以使用的语言,在多语言配置中可以选择并更改;
工程启动语言:在运行时语言选择窗口中选择,默认为 Chinese,可以更改。其选择内容只能为工程已经选择语言。模拟运行或下载时,作为工程的初始运行语言;
G 系列产品默认支持的语言有 Chinese、English,用户可以根据实际情况添加自定义语言;
以前的旧工程,通过转换后所有文本内容都默认不支持多语言;
1. 内置语言系统
设置界面,输入框(字符、数值、开关),提示窗口,时间设置窗口等,这些窗口显示的固定字符串为内置语言。
外挂构件报警浏览、报警条、历史曲线信息显示框固定显示的字符串也属于内置语言。
2. 组态语言
(1)动画构件标签:
扩展属性文本内容,显示输出的输出格式信息和单位,按钮输入中输入格式信息;
按钮:按钮抬起按下状态文本内容;
动画构件:动画按钮及动画显示的各段点的文本内容;
存盘数据浏览:显示标题、单位标题、开关型变量格式化输出;
组合框:各选项内容;
输入框:显示输出单位;
配方:首列标题和名称列标题;
历史曲线:工程单位、曲线输出信息;
(2)报警信息
开关型、数值型变量报警描述信息。
(3)用户权限
管理用户、用户组描述内容。
3. 注意事项
通过脚本函数 SetCurrentLanguageIndex()实现语言的切换,设置的语言类型能够断电保存,TPC 断电重启后该语言类型设置仍然有效。
组 态 多 语 言 配 置 中 增 加 文 本 ID=1 的 语 言 项 并 设 置 中 英 文 内 容 , 在 脚 本 中 调 用 :Str=!GetLocalLanguageStr(1),将返回值赋给字符型变量 Str,在组态中设置显示变量 Str 时,在中英文环境下,会显示相应的内容。
历史报警数据的 CSV 文件导出,所有报警信息文本都会以当前语言进行导出。
所有报警显示构件(报警显示、报警浏览)的报警注释信息和子显示都以当前选择的语言进行显示。
系统设置界面,输入框(字符、数值、开关),提示窗口,时间设置窗口等,在切换语言后都以相应语言字符串进行显示。
支持多语言的动画构件在切换语言后以相应语言字符串进行显示。
输入框中的内容输入值,如果在中文状态下输入并显示为中文,后来又切换为其它语言,这些内容在切换后输入内容仍然显示为中文,不做改变。
|