Mcgs屏幕脚本程序

目录

  • 1.脚本程序概述
    • 1.1 脚本程序简介
    • 1.2 脚本程序编辑环境
  • 2.脚本程序语言要素
    • 2.1 变量和常量
    • 2.2 对象
    • 2.3 事件
    • 2.4 表达式
    • 2.5 联行符
    • 2.6 运算符
    • 2.7 系统函数
  • 3. 基本语句
    • 3.1 赋值语句
    • 3.2 条件语句
    • 3.3 循环语句
    • 3.4 跳出语句
    • 3.5 退出语句
    • 3.6 注释语句
    • 3.7 声明语句
    • 3.6 命名规则

1.脚本程序概述

1.1 脚本程序简介

  脚本程序是组态软件中的一种内置编程语言引擎。当某些控制和计算任务通过常规组态方法难以实现时,通过使用脚本语言编写脚本程序来实现。
  在基于Linux的触摸屏种,脚本程序可以应用在运行策略、窗口启动脚本、窗口循环脚本、窗口退出脚本、窗口事件脚本、构件事件脚本、按钮脚本中。

1.2 脚本程序编辑环境

  在任意用户窗口内双击,弹出用户窗口属性设置页面。可以看到用户窗口属性设置页面包含有启动脚本、循环脚本、推出脚本。
在这里插入图片描述
点击“打开脚本程序编辑器”,可以进入脚本编辑页面。
在这里插入图片描述

  • (1)脚本编辑框
    • 脚本编辑框时用户进行脚本编写的地方是,所有脚本内容均显示在此处。脚本编辑框用于书写脚本程序和脚本注释,用户必须遵照McgsPro规定的语法结构和书写规范书写脚本程序,否则会语法检查不通过。
    • 脚本编辑框中正在编辑的行浅黄色高亮,数字常量红色显示,关键词蓝色显示。
  • (2)功能按钮
    功能按钮提供了文本编辑的基本操作,用户使用这些操作可以方便操作和提高编辑速度。主要包含功能按钮如下图所示:
    在这里插入图片描述
  • (3)对象树
    对象树以树结构的形式,列出了工程中所有的窗口、策略、设备、变量、系统支持的各种方法、属性以及各种函数。对象树只在脚本编辑窗口中有效。
    在这里插入图片描述
  • (4)对象树查找
    当系统中窗口、设备或对象比较多时,可以通过对象树查找功能进行快速查找。查找范围:系统变量、系统函数、二级节点(模块名称)、三级节点名称(窗口名称、构件名称、设备名称、变量名称、策略名称)。注:不包含属性、方法。查找模式:分为非全词匹配和全词匹配两种
  • (5)编辑框右键菜单
    脚本编辑框中点击鼠标右键弹出操作菜单,可以进行一些快捷操作,此部分功能主要是用于在只有脚本编辑框时进行一些语法或操作符的快捷输入。右键操作功能项基本上与功能按钮相似。
    在这里插入图片描述

2.脚本程序语言要素

2.1 变量和常量

(1)变量
  Mcgs组态软件脚本程序中,用户不能定义子程序和子函数,脚本编辑器中的变量可以是:

  • 实时数据库中组态的数据对象
    数据对象可以看作是脚本程序中的全局变量,在所有程序段共用。脚本编辑中可以用数据对象的名称来读写数据对象的值。也可以对数据对象的属性进行操作,其支持整数、浮点数、字符串3种数据对象。
  • 当前脚本中定义的局部变量
    支持字节型、整数、浮点数、字符串 4种数据类型
  • 当前脚本中定义的局部数组变量
    支持字节型数组、整数数组、浮点数数组、字符串数组4种数据类型。访问元素的方法为array[index], index为访问元素的位置(从1开始),返回对应的元素类型:字节型(byte)、整数(integer)、浮点数(float/single)、字符串(string)。

在脚本程序中不能对组对象进行读写操作,但可以对组对象的方法进行操作。
(2)常量

  • 整数常量:如 12
  • 十六进制整数常量: 如 0x123
  • 浮点数常量:如 12.34
  • 字符串常量:如 “abc”,“正常”
    • 字符串常量内支持以下转义:
      “\n”:代表换行
      “\r”:需要和“\n”一起使用(“\r\n”),在微软环境中代表换行
      “"”:代表双引号
      “\t”:代表制表符
      “\”:代表反斜杠自身
      其他以“\”开始的字符将作为非法字符串。

(3)系统变量
  Mcgs组态定义的内部数据对象作为系统内容变量,在脚本程序中可自由使用,在使用系统变量时,变量的前面必须加“$”符号。系统变量为只读类型。

2.2 对象

  Mcgs组态软件的对象形成一个对象树,MCGS对象是最根部的对象,它的属性就是系统变量,它的方法就是系统函数。MCGS对象下有“用户窗口”对象、“设备”对象、“数据对象”等子对象。
  使用对象的方法和属性,必须要引用对象,然后使用点操作来调用这个对象的方法或属性。为了引用一个对象,需要从对象根部开始引用,这里的对象根部,是指可以公开使用的对象。如InputETime = $ Time和 InputETime = MCGS.$ Time 都对。

2.3 事件

  在基于Linux的触摸屏中,用户窗口支持事件的概念。所谓事件,就是当用户在窗口中进行某些操作时,用户窗口会根据用户不同的操作进行相应的处理。例如当用户在窗口中用鼠标单击窗口时,就会触发用户窗口的Click事件,同时执行在Click事件中定义的一系列操作。在McgsPro组态软件的动画界面组态中,可以组态处理动画事件。动画事件是在某个对象上发生的,它可能是带参数也可能是不带参数的动作驱动源。

2.4 表达式

  由变量、括号和各种运算符组成的运算式称为表达式,表达式的计算结果称为表达式的值。当表达式中包含有逻辑运算符或比较运算符时,表达式的值只可能为0(条件不成立,假)或非0(条件成立,真),这类表达式称为逻辑表达式;当表达式中只包含算术运算符,表达式的运算结果为具体的数值时,这类表达式称为算术表达式;常量或变量是狭义的表达式,这些单个量的值即为表达式的值。表达式值的类型即为表达式的类型,必须是字节型、整数、浮点数、字符串四种类型中的一种。表达式是构成脚本程序的最基本元素,也常常应用于构件对象的组态中。

2.5 联行符

  在语句结束使用“”可连接下一行至本行,共同形成一条完整的语句。使用规则:<空格><回车或注释>,如:

a = a + _

b

将形成等效语句:a = a + b

注意:联行符
(1)联行符不能用来连接字符串,正确的方式是使用加法和联行符一同来完成:

str = “aaaaa” + _

  "bbbbb"

(2)当前行,联行符必须是最后一个有效字符。

2.6 运算符

在这里插入图片描述

2.7 系统函数

McgsPro提供了几组系统函数,这些函数是为了完成脚本语言的功能提供的。系统函数的具体用法可参考Mcgs帮助文档中的脚本函数章节。
在这里插入图片描述

3. 基本语句

3.1 赋值语句

赋值语句的形式为:变量 = 表达式。
赋值号左边必须是能够读写的变量,如:整数变量、浮点数变量以及能进行写操作的内部变量,而组对象、只读的系统变量、系统函数以及常量,均不能出现在赋值号的左边,因为不能对这些对象进行写操作。赋值号的右边为一表达式,表达式的类型必须与左边变量值的类型相符合,否则系统会提示“类型不匹配”的错误信息。

3.2 条件语句

形式一:

If 〖表达式〗 Then 〖赋值语句或退出语句〗

形式二:

If 〖表达式〗 Then

〖语句〗

EndIf

形式三:

If 〖表达式〗Then

〖语句〗

Else

〖语句〗

EndIf

条件语句中的四个关键字“If”、“Then”、“Else”、“Endif”不分大小写。如拼写不正确,检查程序会提示出错信息。条件语句允许多级嵌套。

3.3 循环语句

While 〖条件表达式〗

EndWhile

当条件表达式成立时(非零),循环执行While和EndWhile之间的语句。直到条件表达式不成立(为零),退出。

3.4 跳出语句

跳出语句为“Break”,用于跳出当前循环,必须在循环语句中使用。

3.5 退出语句

退出语句为“Exit”,用于中断脚本程序的运行,停止执行其后面的语句。一般在条件语句中使用退出语句,以便在某种条件下,停止并退出脚本程序的执行。

3.6 注释语句

以英文单引号“’”开头的语句称为注释语句,注释语句在脚本程序中只起到注释说明的作用,实际运行时,系统不对注释语句作任何处理。

3.7 声明语句

以英文“DIM”开头的语句称为局部变量声明语句,其声明了一个可在本脚本中使用的局部变量。系统支持4种类型的变量:整数、浮点数、字符串和字节型。分别以integer、float/single、string、byte表示。

  • DIM <变量名> AS <类型>;
  • DIM <变量名>(<数组长度>) AS <数组类型>;

3.6 命名规则

  • 不能以关键字命名:if、then、else、endif、while、break、endwhile、and、or、xor、not、exit、break、byte、integer、single、float、string。

  • 不能以数字开头

  • 不能含有特殊字符:`~!@#$%^&*()-=+\|]}[{'";😕?.>,<~!·#¥%……—*()——+|?,。《》/。

  • 不能为空

  • 不能为“_”


To Be Continue …

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/855590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

threejs视频融合 webgl

threejs三维视频融合 let objList []; const clock new THREE.Clock(); const container document.getElementById( container );const stats new Stats(); container.appendChild( stats.dom );const renderer new THREE.WebGLRenderer( { antialias: true } ); rendere…

Linux 防火墙 Firewall 和 Iptables 的使用

如果我们在Linux服务器的某个端口上运行了个服务&#xff0c;需要外网能访问到&#xff0c;就必须通过防火墙将服务运行端口给开启。Linux中有两种防火墙软件&#xff0c;CentOS7.0以上使用的是firewall&#xff0c;CentOS7.0以下使用的是iptables&#xff08;使用较少且不建议…

Jenkins+K8s实现持续集成(三)

接上面一篇JenkinsK8s实现持续集成&#xff08;二&#xff09;&#xff0c;K8s创建秘钥。 看secret kubectl get secret 删除secret kubectl delete secret hello-secret -n train 创建secret kubectl create secret docker-registry hello-secret --docker-server镜像仓库…

HarmonyOS【ArkUI组件--TextInput】

1.文本输入框基本用法 2. 使用文本输入框组件&#xff08;如何实现输入数字改变图片大小&#xff09; 在此博客的基础上继续编写&#xff1a;HarmonyOS【ArkUI组件--Text】-CSDN博客 ①代码如下&#xff1a; import font from ohos.font Entry Component struct Index {State …

开辟一个存储空间以存放一个结构体数据

在软件开发中&#xff0c;常常需要动态地分配和撤销内存空间&#xff0c;例如对动态链表中结点的插入与删除。在C语言中是利用库函数malloc和free来分配和撤销内存空间的。C提供了较简便而功能较强的运算符new和delete 来取代malloc和free函数。注意&#xff1a;new和delete是运…

白酒:酒文化传承中的挑战与机遇

随着时代的变迁&#xff0c;酒文化传承面临着许多挑战与机遇。我们来看看酒文化传承面临的挑战。随着现代生活方式的改变&#xff0c;人们对于传统酒文化的认知逐渐淡化。与此同时&#xff0c;年轻一代对于酒文化的兴趣不如老一辈浓厚&#xff0c;这使得酒文化的传承面临断层的…

每日复盘-202406018

今日关注&#xff1a; 20240617 20240618 六日涨幅最大: ------1--------300868--------- 杰美特 五日涨幅最大: ------1--------300868--------- 杰美特 四日涨幅最大: ------1--------300868--------- 杰美特 三日涨幅最大: ------1--------300462--------- 华铭智能 二日涨…

梅雨季机房运维注意事项

就在今天&#xff0c;江淮流域正式入梅啦。梅雨季雨水丰沛&#xff0c;机房运维要特别注意这些方面&#xff0c;以确保设备安全运行和数据中心的环境稳定。 首先&#xff0c;要防潮 具体措施 1、检查屋顶和墙壁密封性&#xff0c;确保机房屋顶和墙壁的密封性良好&#xff0c…

如何用 Google Chrome 浏览器浏览经过 XSLT 渲染的 XML 文件

对于经过XSLT渲染的XML文件&#xff0c;本来&#xff0c;可以直接用 IE (Internet Explorer) 打开&#xff0c;就能看到渲染之后的样子&#xff0c;很方便。但是后来&#xff0c;微软把 IE 换成了 Microsoft Edge&#xff0c;按理说这是比 IE 更先进的浏览器&#xff0c;可是偏…

ubuntu18.0.4安装gradio踩坑记

Collecting pandas (from gradio) Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/c3/e2/00cacecafbab071c787019f00ad84ca3185952f6bb9bca9550ed83870d4d/pandas-1.1.5-cp36-cp36m-manylinux1_x86_64.whl (9.5MB) 100% |████████████████…

数字时代的创新:二人共益订单模式解析

一、引言 随着数字技术的飞速发展&#xff0c;商业模式也日新月异。其中&#xff0c;“二人共益订单模式”凭借其独特的互助与共赢理念&#xff0c;迅速在市场中获得关注。该模式不仅为用户提供了优质服务和独享优惠&#xff0c;更通过用户间的互助和订单共享&#xff0c;实现…

亚马逊卖家新策略:利用自养号测评突破销量瓶颈

在亚马逊上架的产品已经有一段时间了&#xff0c;但大部分流量和销售都依赖于广告&#xff0c;自然排名并不理想。这种情况下&#xff0c;提升自然流量变得尤为重要。接下来&#xff0c;我将分享一些有效的方法来增加你的亚马逊Listing的自然流量。 1. 优化广告表现 自然流量…

2024.1版 IDEA share project on github 报错

2024.1版 IDEA share project on github 报错 报错信息报错原因解决办法 报错信息 Cannot load information for github.com/Worldfickler:Request response: Access tothis site has been restricted. lf you believe this is an error, please contacthttps://support.githu…

『大模型笔记』如何让小型语言模型发挥作用!

如何让小型语言模型发挥作用! 文章目录 一. 如何让小型语言模型发挥作用!不可能的可能性小模型的潜力创新方法与突破实践与验证过滤系统与数据质量小模型的逐步改进信息理论蒸馏方法(新工作InfoSum)总结与展望Infini-Gram与N-gram模型的新时代后缀数组与高速计算二. 参考文献…

Navicat 重装 查找 保存的查询sql文件

背景&#xff1a;Navicat 一个收费的软件&#xff0c;存在的最大缺点就是收费&#xff0c;所以我们为了优化它会遇到卸载重装这些复杂的过程&#xff0c;但是我们保存的查询sql会跟随卸载Navicat而删除&#xff0c;为了节省时间省去不必要的麻烦&#xff0c;我们可以查到我们保…

高质量海报素材免费获取,提升设计感的必备网站!

在数字时代&#xff0c;海报设计变得尤为重要&#xff0c;可以说是企业品牌、活动、产品甚至个人风格的扩音器。一个优秀的海报设计可以给我们带来视觉冲击&#xff0c;给我们留下深刻的印象。然而&#xff0c;创作一张独特的海报并不容易。你需要找到合适的海报材料&#xff0…

乐鑫ESP32-C6支持WiFi 6通信,设备联网交互方案,启明云端乐鑫代理商

随着物联网设备的不断增多&#xff0c;对可靠、高容量和低功耗无线连接的需求变得尤为迫切。这就是Wi-Fi 6&#xff08;即802.11ax&#xff09;应运而生的原因&#xff0c;这一技术在各个环境中的应用印证了此类需求的重要性。 设备智联在我们的日常生活中越来越常见。从智能家…

计算机网络:4网络层

网络层 概述分组转发和路由选择面向连接的虚电路 VC 服务无连接的数据报服务 网际协议IPIPv4划分子网编址方法&#xff1a;子网掩码无分类编址 CIDRIPv4地址与MAC地址地址解析协议ARP IP数据报的发送和转发IPv4数据报的首部格式 静态路由配置因特网的路由选择协议路由信息协议R…

基于PHP+MySQL组合开发的知识付费小程序源码系统 带完整的源代码包+搭建部署教程

系统概述 随着互联网的快速发展&#xff0c;知识付费逐渐成为了一种新型的经济模式。越来越多的用户愿意为高质量的内容付费&#xff0c;而开发者们也在不断探索和创新&#xff0c;以提供更加便捷、高效的知识付费平台。本文将详细介绍一个基于PHPMySQL组合开发的知识付费小程…

Excel表格如何增加下拉选项并填充颜色

在Excel表格中增加下拉选项并填充颜色&#xff0c;可以按照以下步骤进行操作&#xff1a; 一、增加下拉选项 1、 选择目标单元格&#xff1a;首先&#xff0c;你需要选择你想要添加下拉选项的单元格。 2、选定目标单元格后&#xff0c;点击Excel菜单栏上的“数据”选项卡&…