第5章-全局脚本课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第5章-全局脚本课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全局 脚本 课件
- 资源描述:
-
1、组态软件组态软件WinCC及其应用及其应用1青岛大学自动化工程学院青岛大学自动化工程学院第第5章章 全局脚本全局脚本5.1 ANSI-C脚本脚本5.2 全局脚本全局脚本VBS编辑器编辑器5.3 VB for Application组态软件组态软件WinCC及其应用及其应用2青岛大学自动化工程学院青岛大学自动化工程学院5.1 ANSI-C脚本脚本1.标识符标识符 2.数据类型数据类型 3.运算符运算符 4.逻辑运算符逻辑运算符5.程序结构程序结构6.语句语句7.函数函数组态软件组态软件WinCC及其应用及其应用3青岛大学自动化工程学院青岛大学自动化工程学院一一.标识符标识符3条规则:条规则:(1
2、)标识符必须只能由字母、数字或下划线标识符必须只能由字母、数字或下划线3种种符号构成,即标识符中只能符号构成,即标识符中只能 出现:字母、阿拉伯出现:字母、阿拉伯数字、下划线。数字、下划线。(2)标识符必须只能以字母或下划线作为开头。标识符必须只能以字母或下划线作为开头。(3)c语言不允许用户作为自定义对象的标识符:语言不允许用户作为自定义对象的标识符:如如 if、do、for、int等。等。合法:合法:N,Sum、_total非法:非法:Im、12h、wang(x)组态软件组态软件WinCC及其应用及其应用4青岛大学自动化工程学院青岛大学自动化工程学院二二.数据类型数据类型1.常量常量 常量
3、是在程序执行过程中值不能发生改变的数据,常量是在程序执行过程中值不能发生改变的数据,如如1、2、-1、3.52.变量变量 变量是在程序执行过程中值可以发生改变的数据。变量是在程序执行过程中值可以发生改变的数据。想要定义一个变量,用户需要做如下想要定义一个变量,用户需要做如下2件事情:件事情:(1)给出变量名称(符合标识符规则)给出变量名称(符合标识符规则)sum average (2)给出变量的数据类型给出变量的数据类型 组态软件组态软件WinCC及其应用及其应用5青岛大学自动化工程学院青岛大学自动化工程学院变量数据类型:变量数据类型:(1)整型变量)整型变量 a基本整型基本整型 以以int表
4、示表示 16位位 -3276832767 b短整型短整型 short(int)16位位 -3276832767 c长整型长整型long(int)32位位 -21474836482147483647 又分为有符号、无符号又分为有符号、无符号(signed)int unsigned int 065535例:例:int a,b;int a;long e,f;unsigned short c,d;组态软件组态软件WinCC及其应用及其应用6青岛大学自动化工程学院青岛大学自动化工程学院(2)实型变量实型变量 实型变量分为单精度(实型变量分为单精度(float型)、双精度型)、双精度(double型)和长
5、双精度(型)和长双精度(long double型)三类。型)三类。例:例:float x,y;double z;long double t;(3)BOOL变量变量 组态软件组态软件WinCC及其应用及其应用7青岛大学自动化工程学院青岛大学自动化工程学院三三.运算符运算符1算术运算符算术运算符 (+-*/%)2关系运算符关系运算符 (=a+b 等效等效 c(a+b)关系运算符关系运算符 a=bc 等效等效 a=(by)语句语句 z=x;(2)if(表达式)(表达式)例如例如:if(xy)语句语句1 z=x;else else 语句语句2 z=y;(3)if(表达式(表达式1)例如:例如:if(n
6、umber500)语句语句1 cost=0.15;else if(表达式表达式2)else if(number300)语句语句2 cost=0.10;else else 语句语句3 cost=0.75;组态软件组态软件WinCC及其应用及其应用16青岛大学自动化工程学院青岛大学自动化工程学院求三个数中的最大数。求三个数中的最大数。float a,b,c,max;a=5.6;b=9.9;c=4.7;if(ab)if(bc)max=c;else max=b;else if(ac)max=c;else max=a;组态软件组态软件WinCC及其应用及其应用17青岛大学自动化工程学院青岛大学自动化工程
7、学院2.switch 语句(多分支结构)语句(多分支结构)形式:形式:switch(表达式)(表达式)case 常量表达式常量表达式1:语句语句1;break;case 常量表达式常量表达式2:语句语句2;break;default:语句语句3 组态软件组态软件WinCC及其应用及其应用18青岛大学自动化工程学院青岛大学自动化工程学院例:要求按照考试等级打印出百分制分数段例:要求按照考试等级打印出百分制分数段switch(grade)case 1:printf(“85100”);break;case 2:printf(“7084”);break;case 3:printf(“6069”);br
8、eak;case 4:printf(“60”);break;default:printf(“error”);组态软件组态软件WinCC及其应用及其应用19青岛大学自动化工程学院青岛大学自动化工程学院3.循环控制语句循环控制语句1.while语句实现当型循环结构语句实现当型循环结构 例:求从例:求从1加到加到100的和。的和。int i,sum=0;i=1;while(i=100)sum=sum+i;i+;组态软件组态软件WinCC及其应用及其应用20青岛大学自动化工程学院青岛大学自动化工程学院2.do while语句语句 int i,sum=0;i=1;do sum=sum+i;i+;whil
9、e(i=100);两者区别:两者区别:while后的表达式一开始就为假,结果不后的表达式一开始就为假,结果不一样。一样。组态软件组态软件WinCC及其应用及其应用21青岛大学自动化工程学院青岛大学自动化工程学院3.for语句(完全代替语句(完全代替while,do-while)形式:形式:for(表达式;表达式;表达式表达式;表达式;表达式)语句语句 例:例:for(i=1;iy)z=x;else z=y;return(z);组态软件组态软件WinCC及其应用及其应用24青岛大学自动化工程学院青岛大学自动化工程学院变量的输入和输出变量的输入和输出 SetTag和和GetTag 组态软件组态软件
10、WinCC及其应用及其应用25青岛大学自动化工程学院青岛大学自动化工程学院5.1.2 WinCC中的中的C概述概述 1、函数和动作的关系、函数和动作的关系动作由触发器启动,函数是动作的组成部分,没动作由触发器启动,函数是动作的组成部分,没有触发器,即函数在运行时不能自己执行有触发器,即函数在运行时不能自己执行 触发器动作C代码调用一个函数C代码函数C代码组态软件组态软件WinCC及其应用及其应用26青岛大学自动化工程学院青岛大学自动化工程学院2、触发器的类型、触发器的类型WinCC中的触发器分为时间触发和变量触发等中的触发器分为时间触发和变量触发等 触发器类型定时器变量循环执行(在固定时间间隔
11、内重复执行)起始点时间确定日:月:时间周期的循环监视变量值根据变化非循环(只执行一次,起始点由日期/时间确定)组态软件组态软件WinCC及其应用及其应用27青岛大学自动化工程学院青岛大学自动化工程学院5.1.3 全局脚本全局脚本C编辑器编辑器 浏览窗口编辑窗口输出窗口可以看出,该编辑器中有可以看出,该编辑器中有4种类型的函数:项目函种类型的函数:项目函数,标准函数,内部函数和动作数,标准函数,内部函数和动作 组态软件组态软件WinCC及其应用及其应用28青岛大学自动化工程学院青岛大学自动化工程学院5.1.4 创建函数创建函数 例例 编写一个名为编写一个名为CelsiusConv用以实现华氏温用
12、以实现华氏温度到摄氏温度转换的函数。度到摄氏温度转换的函数。在全局脚本在全局脚本C编辑器浏览窗口的项目函数项单击编辑器浏览窗口的项目函数项单击鼠标右键选择鼠标右键选择“新建新建”添加一个新的项目函数,添加一个新的项目函数,如图如图5-8所示。所示。组态软件组态软件WinCC及其应用及其应用29青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用30青岛大学自动化工程学院青岛大学自动化工程学院5.1.5 创建动作创建动作 1.局部动作局部动作局部动作的例子是图形编辑器中的对象调用局部动作的例子是图形编辑器中的对象调用C动动作。作。2.全局动作全局动作编写全局动作
13、的代码本体与任何其它函数相同,编写全局动作的代码本体与任何其它函数相同,但不能改变代码中的函数名或修改返回值。但不能改变代码中的函数名或修改返回值。全局动作位于与直接连接相同的执行线程上,如全局动作位于与直接连接相同的执行线程上,如果它的执行时间太长,会影响项目的性能。一般果它的执行时间太长,会影响项目的性能。一般来说,动作应短小简明。来说,动作应短小简明。组态软件组态软件WinCC及其应用及其应用31青岛大学自动化工程学院青岛大学自动化工程学院例例 创建一个全局动作,用来实现每隔创建一个全局动作,用来实现每隔1秒名为秒名为Tag10的变量值自动加的变量值自动加1。启动全局脚本启动全局脚本C编
14、辑器,右键编辑器,右键单击单击“动作动作全局动作全局动作”选选择择“新建新建”,创建一个新的创建一个新的全局动作,通全局动作,通过菜单过菜单“文件文件另存为另存为INC”保存为保存为INC.PAS文件。文件。组态软件组态软件WinCC及其应用及其应用32青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用33青岛大学自动化工程学院青岛大学自动化工程学院5.1.6 使用诊断输出窗口使用诊断输出窗口 WinCC有三个工具用来分析动作的运行行为,即有三个工具用来分析动作的运行行为,即应用程序窗口应用程序窗口GSC运行系统、运行系统、GSC诊断和应用程诊断和应用程序序
15、apdiag.exe。组态软件组态软件WinCC及其应用及其应用34青岛大学自动化工程学院青岛大学自动化工程学院例例 用时间和变量触发器生成一个动作。用时间和变量触发器生成一个动作。右键单击全局脚本编辑器右键单击全局脚本编辑器“全局动作全局动作”选择选择“新新建建”,出现一个空白的工作区,加入图,出现一个空白的工作区,加入图5-16所示所示代码,注意返回数据类型和名称不能改变。动作代码,注意返回数据类型和名称不能改变。动作不接受参数,且必须含有返回语句。此处代码用不接受参数,且必须含有返回语句。此处代码用来检查变量来检查变量Tag10是否为是否为1,如果为,如果为1,将打印输,将打印输出当前的
16、时间,即变量系统变量出当前的时间,即变量系统变量NewTag_1中的时中的时间。间。组态软件组态软件WinCC及其应用及其应用35青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用36青岛大学自动化工程学院青岛大学自动化工程学院组态软件组态软件WinCC及其应用及其应用37青岛大学自动化工程学院青岛大学自动化工程学院5.2 全局脚本全局脚本VBS编辑器编辑器 VBScript是一种是一种VB脚本语言,它是脚本语言,它是VB的一的一个子集,可以实现部分个子集,可以实现部分VB的功能。的功能。变量变量声明变量的一种方式是声明变量的一种方式是使用使用 dim 语句
17、语句、public 语句和语句和 private 语句在语句在 script 中显式声明变量。中显式声明变量。如:如:dim degreesfahrenheit声明多个变量时,使用逗号分隔变量。声明多个变量时,使用逗号分隔变量。如:如:dim top,bottom,left,right组态软件组态软件WinCC及其应用及其应用38青岛大学自动化工程学院青岛大学自动化工程学院另一种方式是通过直接在另一种方式是通过直接在 script 中使用变量名这中使用变量名这一简单方式隐式声明变量。但通常这不是一个好习一简单方式隐式声明变量。但通常这不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运惯,
18、因为这样有时会由于变量名被拼错而导致在运行行 script 时出现意外的结果。因此,最好使用时出现意外的结果。因此,最好使用 option explicit 语句显式声明所有变量,并将其作语句显式声明所有变量,并将其作为为 script 的第一条语句。的第一条语句。组态软件组态软件WinCC及其应用及其应用39青岛大学自动化工程学院青岛大学自动化工程学院可以使用可以使用 const 语句在语句在 VBScript 中创建自定义常中创建自定义常数。数。如:如:const mystring=这是一个字符串。这是一个字符串。const myage=49 注意字符串文字包含在两个引号注意字符串文字包含
19、在两个引号(“”)之间。这是之间。这是区分字符串型常数和数值型常数的最明显的方法。区分字符串型常数和数值型常数的最明显的方法。日期文字和时间文字包含在两个井号日期文字和时间文字包含在两个井号(#)之间。之间。如:如:const cutoffdate=#6-1-97#组态软件组态软件WinCC及其应用及其应用40青岛大学自动化工程学院青岛大学自动化工程学院VBScript 有一套完整的运算符,包括算术运算符、有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。比较运算符、连接运算符和逻辑运算符。算术运算符算术运算符比较运算符比较运算符逻辑运算符逻辑运算符描述描述符号符号描述描
20、述符号符号描述描述符号符号求幂求幂负号负号乘乘除除整除整除求余求余加加减减-*/mod+-等于等于不等于不等于小于小于大于大于小于等于小于等于大于等于大于等于对象引用比较对象引用比较=is逻辑非逻辑非逻辑与逻辑与逻辑或逻辑或逻辑异或逻辑异或逻辑等逻辑等逻辑隐逻辑隐notandorxoreqvimp字符串连接字符串连接&组态软件组态软件WinCC及其应用及其应用41青岛大学自动化工程学院青岛大学自动化工程学院 当乘号与除号同时出现在一个表达式中时,当乘号与除号同时出现在一个表达式中时,按从左到右的顺序计算乘、除运算符。同样当加按从左到右的顺序计算乘、除运算符。同样当加与减同时出现在一个表达式中时
21、,按从左到右的与减同时出现在一个表达式中时,按从左到右的顺序计算加、减运算符。顺序计算加、减运算符。字符串连接字符串连接(&)运算符不是算术运算符,但运算符不是算术运算符,但是在优先级顺序中,它排在所有算术运算符之后是在优先级顺序中,它排在所有算术运算符之后和所有比较运算符之前。和所有比较运算符之前。is 运算符是对象引用比运算符是对象引用比较运算符。它并不比较对象或对象的值,而只是较运算符。它并不比较对象或对象的值,而只是进行检查,判断两个对象引用是否引用同一个对进行检查,判断两个对象引用是否引用同一个对象。象。组态软件组态软件WinCC及其应用及其应用42青岛大学自动化工程学院青岛大学自动
22、化工程学院使用条件语句和循环语句可以控制使用条件语句和循环语句可以控制 script 的流程。的流程。使用条件语句可以编写进行判断和重复操作的使用条件语句可以编写进行判断和重复操作的 VBScript 代码。在代码。在 VBScript 中可使用以下条件中可使用以下条件语句:语句:if.then.else 语句语句 select case 语句语句 组态软件组态软件WinCC及其应用及其应用43青岛大学自动化工程学院青岛大学自动化工程学院在在 VBScript 中可使用下列循环语句:中可使用下列循环语句:do.loop:当(或直到)条件为当(或直到)条件为 true 时循环。时循环。while
展开阅读全文