webaccess教程第4章.docx
《webaccess教程第4章.docx》由会员分享,可在线阅读,更多相关《webaccess教程第4章.docx(65页珍藏版)》请在冰豆网上搜索。
![webaccess教程第4章.docx](https://file1.bdocx.com/fileroot1/2022-11/25/6aa1fe27-2f10-4b9f-9647-20c706380791/6aa1fe27-2f10-4b9f-9647-20c7063807911.gif)
webaccess教程第4章
第4章宏指令和脚本
本章要点
在组态软件的监控界面中,有时需要执行一些比较复杂的功能和操作,这需要借助于宏指令或脚本来实现。
宏指令是以一条指令的形式来完成一个任务,该任务包含一个或多个功能或操作,这些功能和操作组合在一起组成“宏”指令。
在WebAccess中,宏指令主要用于“按钮”、功能键等中,以“按钮”来执行的宏指令,又称为按钮宏指令。
脚本是一种基本的计算机程序,将按照一定格式编写的程序,包括组合在其中的“宏”指令,通过计算机扫描执行,返回输出结果,实现预定的功能和操作。
由于脚本是一段计算机的程序,组成这一段程序的形式和内容更加灵活、多样,长短根据需要而定,因此其功能更强大。
4.1宏指令
宏指令通常应用于创建监控的按钮、功能键、系统点等,实现切换监控界面、打开对话框、报警认可等,以及WebAccess提供的标准页面中报警记录、趋势、点详情等操作。
按钮宏指令能够执行WebAccess许多复杂的宏指令,但是“按钮”设置菜单中宏指令的输入栏长度有限,当需要执行宏指令的长度大于“按钮”菜单中指令栏的长度时,可使用顶部绘图工具菜单的“宏指令文件”编写一个宏指令文件保存,然后在“按钮”菜单中使用调用宏指令文件的宏指令执行该宏指令文件。
功能键宏指令是宏指令的一个子集,能够执行计算机键盘的F1-F10、Ctrl、Shift、Alt等功能键,
系统点(%DAQ)能够通过宏指令打开,例如POINTDTL=点名称。
在工业自动化控制系统的界面设计中,应用最多的是按钮宏指令,本节在建立按钮的过程中,说明按钮宏指令使用方法。
4.1.1常用按钮宏指令
WebAccess的宏指令有一百多条,这些宏指令可以执行许多监控界面的操作功能,建立工程的监控页面时,不同的使用要求要求使用不同的宏指令。
按钮宏指令是在建立按钮时使用的宏指令,经常使用的按钮宏指令只有10条左右,其中赋值宏指令是使用最多的按钮宏指令。
通过宏指令,在操作按钮时对变量点进行赋值。
在本节中主要介绍以下常用的按钮宏指令:
表4-1常用按钮宏指令
表1
常用按钮宏指令
功能
1
点名称=数值
执行宏指令对关联点进行赋值
按钮宏指令结束标记
2
@文件名.mcr
执行一条宏指令文件,该宏指令文件已经存在,如果客户端不存在,将从监控节点上下载
3
@文件名.scr
执行一个脚本文件,该脚本文件已经存在,如果客户端不存在,将从监控节点上下载
4
认可所有点的报警
5
点开始点结束点
认可指定点的报警
6
@文件名.scr
循环执行一个脚本文件,该脚本文件已经存在,如果客户端不存在,将从监控节点上下载。
直到结束循环。
在辅助指令中可以指定循环的频率和次数,用逗号分开。
例如:
@control.scr,3.0,10表示对control.scr脚本文件3秒一次,循环执行10次
按钮宏指令结束标志
连续循环指令停止指令,执行按钮宏指令后,停止循环
7
秒数
延迟处理程序的时间,当执行该指令时,停止执行其他的按钮宏指令,等指定的延迟秒数达到后再启动执行其他按钮宏指令
8
路径\程序名.exe
执行Windows的EXE或BAT文件,通过按钮宏指令执行一些Windows系统下文件,例如打开PLC的编程软件等
9
XYSize
指定屏幕上页面的放大位置和倍数(0~1),需要放大页面的位置由XY指定,左面为0,右面为1;下面为0,上面为1,中间是0.5;Size是一个比例值,1是全屏,0.5是2倍屏幕;0.33是3倍屏幕
10
用户名=密码
以新的用户和密码登录,在监控页面上以其他的用户名和密码登录,以取得其他的权限。
一般登录使用后,需要和配套使用,恢复原来的使用权限
取消当前用户登录
11
VIDEO=摄象机名.vdo
全屏方式打开指定的摄象机显示窗口。
该摄象机的显示必须首先在WebAccess中设定和配置
12
GRAPH=页面名称
切换到指定的页面,便于翻页,浏览其他的页面
按钮宏指令的对关联点进行赋值,无论该点是开关量或者是数字模拟量,但是所赋的值必须在该关联点的数值范围内。
赋值宏指令还可以对文本点输入一段字符或者取另外一个点的值(用“@点名称”的方式)赋值给关联点。
在按钮宏指令的命令栏中,如果一行宏指令栏目中还需要执行其他宏指令,需要使用结束前一条赋值宏指令,然后可以接其他按钮宏指令。
在一行中存在多条宏指令时,要用逗号(,)分开。
格式如下:
“A点=1,,B点=0”
按钮宏指令中,由于一行中不能超过75个字符,若长度超过,可采用调用“宏指令文件”或“脚本文件”的方法。
赋值指令除了赋值常数外,还可配合下面辅助指令对关联点进行各种操作。
表4-2辅助指令
表2
辅助指令
功能
1)
点名称=%REVERSE
将关联点的数值取反赋值,对开关量点从0变1状态或者将1变0状态;
对模拟量按照数值的百分比进行变换,即25%变成75%或者将75%变成25%。
2)
点名称=%PLUS3
或点名称=%PLUS5%
或点名称=%PLUS@点名称
用于模拟量点,对关联点的数值进行加/减,加到最大值时停止加法或减到最小值时停止减法。
加/减的数可以固定数(例如3)、百分比(例如5%)或者取至其他点的数值(例如@点名称)。
3)
点名称=%MINUS3
或点名称=%MINUS5%
或点名称=%MINUS@点名称
4)
点名称=%LOOPPLUS1
或点名称=%LOOPPLUS4%
或点名称=%LOOPPLUS@点名称
用于模拟量点,对关联点的数值进行加/减法,加到最大值返回最小值或者减到最小值返回最大值进行循环。
加/减的数可以固定数(例如1)、百分比(例如4%)或者取至其他点的数值(例如@点名称)。
5)
点名称=%LOOPMINUS1
或点名称=%LOOPMINUS4%
或点名称=%LOOPMINUS@点名称
6)
点名称=%ROTATEPLUS6
或点名称=%ROTATEPLUS2%
或点名称=%ROTATEPLUS@点名称
用于模拟量点,对关联点数值进行+/-法,加到最大值返回最小值+1或减到最小值返回到最大值-1。
即最大值和最小值是重叠的,比如圆中0度和360度。
+/-的数可以固定数(例如1)、百分比(2%)或其他点的数值(@点名称)。
7)
点名称=%ROTATEMINUS6
或点名称=%ROTATEMINUS2%
或点名称=%ROTATEMINUS@点名
常用按钮宏指令的应用以赋值宏指令为例,如果在风扇例子中,按钮作为电动机的启动、停止控制使用时,按钮赋值宏指令只需要对关联点进行置0或置1操作即可。
但是在需要对电动机进行无级调速控制时,可在控制面板上增加加速和减速按钮,加速按钮使用“点名称=%PLUS3”,减速按钮使用“点名称=%MINUS3”在宏指令中的“点名称”代表电动机转速的关联点,该点是一个模拟量点;“3”表示按钮每按一次,关联点增加或减少数值3。
模拟量点的大小和增/减的数值大小是成比例关系的。
宏指令“LOOPPLUS”适合于循环变化的应用,例如在显示零件在传输带上运动的动画时,一个个零件在传输带上从起点(关联点值为零)开始排列直到加工点(关联点最大值),设传输带上共有25个零件,按一下按钮,关联点加4%,零件移动1次,移动25次后重新循环。
在表示旋转动画时,宏指令采用“ROTATEPLUS”或“ROTATEMINUS”,例如在风扇动画表现中,如果要求有加速和减速按钮,能够改变风扇转速,可以将风扇动画的关联点设置为赋值点,有脚本连续加减。
而将加速和减速按钮的关联点设置成加/减值的点名称(@点名称),当通过加速和减速按钮改变加/减数值时,连续运转的风扇每次程序扫描的加/减数值也不同,从而实现调速的动画效果。
只是“@点名称”数值大小和风扇的转速成反比。
4.1.2其他宏指令
WebAccess还有许多其他宏指令,可分成以下几大类
表4-3功能类宏指令
表3
按钮宏指令
功能
一、弹出框
13
报警群组列表
14
报警摘要高级选项(报警过滤)
15
数据记录趋势列表
16
面板群组列表
17
图列表
18
用户登录对话框
19
点信息对话框
20
点转到对话框
21
修改处方预置值
22
实时趋势列表
23
配方列表
24
实时趋势有效点列表
25
数据记录点列表
26
改变数值对话框
27
全屏显示视频列表
28
缩放对话框
二、打开页面类
29
ACTIONLOG
打开运行记录显示界面
30
ALARMLOG
打开报警记录显示界面
31
ALMGRAPH=
打开指定点或参考点报警图表
32
ALMGROUP=
打开报警群组列表
33
ALMSUMMARY
打开报警摘要显示界面
34
BLOCKDTL=
打开指定点或参考点区块详情显示界面
35
DLOGTRD=
打开指定的数据记录显示界面
36
DLOGXYP=
以X-Y轴打开指定的数据记录显示界面
37
FPLGROUP=
打开指定的面板群组显示界面
38
OVERVIEW=
打开指定的概观显示界面
39
POINTDTL=
打开指定的点详情显示界面
40
REALTRD=
打开指定的实时趋势显示界面
41
REALXYP=
以X-Y轴打开指定的实时趋势显示界面
42
RECIPE=
打开指定的配方显示界面
43
tool=
WebAccess浏览或ViewDAQ工具菜单
44
STATION
打开设备通讯状态显示界面
45
URL=http:
//url
打开URL或Web网页
46
URL=daq:
连接到另一个监控节点
47
URL=daq:
video=
连接到监控节点上的视频设备
48
URL=daq:
webctrl=
连接到监控节点上的设备
49
URL=mailto:
打开邮件服务程序
50
URL=vdo
以IP地址在浏览器中打开该视频设备
51
USRPRG
打开管理员程序显示界面
52
打开指定点或参考点相关显示界面
53
打开最新报警点显示界面
三、关闭类
54
关闭ViewDAQ内所有显示群组
55
关闭当前显示群组
56
关闭当前显示窗口的附属显示群组
57
关闭指定显示群组
58
关闭其他显示群组
59
关闭Web浏览器弹出窗口
60
关闭当前显示
四、邮件类
61
HOST=
指定SMTP邮件服务器
62
PORT=
定义端口号
63
SUBJECT=
仅发送Email的标题
64
FROM=
定义邮件发送方地址
65
TO=
定义邮件接收方地址
66
TO_ADD=
添加一个邮件发送方地址
67
CC=
定义邮件抄送方地址,以副本形式发送
68
CC_ADD=
添加一个邮件抄送方地址
69
BCC=
定义密件抄送方地址,以副本形式发送
70
BCC_ADD=
添加一个加密邮件抄送方地址
71
BODY=
输入Email邮件内容第一行
72
BODY_ADD=
Email添加另一行文本字符串
73
SEND
发送Email
74
按钮宏指令结束标记
五、DDE数据类
75
发送指令串至DDEServer应用程序中
按钮宏指令结束标记
76
发送数据串至DDEServer应用程序中
按钮宏指令结束标记
77
DDEServer程序中数值返回WebAccess
按钮宏指令结束标记
六、移动数据记录类
78
LEFT
左移趋势图,显示记录数据
79
LEFTMOST
趋势图移动最左端(起始时间)
8
RIGHT
右移趋势图,显示记录数据
81
RIGHTMOST
趋势图移动最左端(当前时间)
七、SQL数据库类
82
执行SQL数据库命令
按钮宏指令结束标记
83
将SQL指令堆入栈中,成为整体命令行
按钮宏指令结束标记
84
执行栈中完整的命令行
八、其他
85
打印运行记录
86
打印报警记录
87
打开堆栈的显示界面
88
切换到前一个显示界面
89
@
关闭当前ViewDAQ,弹出新窗口或群组
90
@
不关当前ViewDAQ,弹出新窗口或群组
91
@
不关当前ViewDAQ,弹出附属新窗口
92
打开前一个显示界面
93
打开由返回的显示界面
94
增加记录一条用户定义的文本
按钮宏指令结束标记
95
报警记录中增加一条用户定义的文本
按钮宏指令结束标记
上述宏指令可用于按钮,也可以用于功能键等其他领域。
其他宏指令在按钮中的基本使用方法和常用的按钮宏指令相同,以上述打印运行记录为例,建立按钮过程中,在按钮“按下”命令栏中选择“0100”表示执行该指令时将执行从0行开始到第100行的运行记录打印。
在按钮命令行输入宏指令时,可从“宏指令”列表中直接选取;如果采用计算机键盘输入,除了应注意输入命令拼写的正确性,格式的正确性,包括是否有空格等,还应当注意采用大写方式的键入命令的字母,否则不能正确执行该宏指令。
在宏指令后接的其他辅助指令,也必须采用大写输入。
其他宏指令的使用方法,可参考WebAccess软件中的(英语)帮助文件。
4.1.3宏指令的应用
宏指令的应用举例,以前一章的风扇模拟演示控制为例,从电气控制线路设计考虑,所控制的全部是开关量;从界面的模拟演示效果考虑,增加风扇旋转动画,监控的效果更精彩。
风扇的模拟旋转需要增加一个模拟量,该模拟量受控于风扇的开关量,即按钮将风扇打开后,该模拟量按照一定时间间隔增加,表现为风扇风叶的旋转,当加到最大值时,风页旋转一周,返回初始值。
按停止按钮后,该模拟量停止增加,表现为风扇风叶的停止。
风扇风叶的模拟演示旋转中,模拟量增加的时间间隔非常重要,时间间隔越小,风叶旋转动画的效果越好,一般小于0.1秒就比较好;影响风叶旋转动画效果的另一个因素是每一次时间间隔中模拟量的增量,增量小速度慢,动画的连续性好;增量大速度快,动画的连续性变差,模拟量在0-100变化时,采用1-5的增量比较合适。
在本例中,由于没有采用脚本程序,因此必需采用其他措施实现风扇的模拟量增量的连续增加,表现连续旋转动画。
风扇模拟演示控制宏指令制作过程如下:
1、建立工程、建立监控节点,建立点,由于是模拟演示没有外接设备,因此全部采用内部点,需要建立“常数点”中数字量点和“累算点”,其他的点根据需要建立;
2、数字量点包括“启动”、“停止”和“风扇”,状态为0/1;
3、“累算点”为“风扇rotate”;图4-2。
图4-2建立动画内部点
本例中的“累算点”实现风叶的旋转动画,该“累算点”的“来源点”为按钮控制的“风扇”输出的开关量。
由于“风扇”输出开关量一般是0/1状态,而“累算点”的累算频率最小是1秒,应此动画效果比较缓慢,通过调整“累算点”的最高量程和最高输出的范围(默认为100),可改变风扇速度,本例改为60。
此外需要将“累算点”的界限值也改为60,否则计数到60不会返回到0。
4、绘图,建立动画;在绘图页面上输入“启动”、“停止”两组文字,分别制作两个按钮,按钮命令栏分别输入宏指令如图4-3。
图4-3按钮宏指令
启动和停止“按钮“的向下宏指令,分别对“启动”点和“停止”点设置数值,两者相反;按钮的向上宏指令,对风扇输出设置数值,两者相反;
指示灯采用“图例”中的图形进行“颜色”动画制作,排列后进行“初始颜色”动画;
风扇采用“窗口小部件”中的图形,图4-4,输入关联点“风扇”,“确认”完成。
图4-4建立风扇
“窗口小部件”中的风扇动画,风叶在旋转时会变色,如果不需要变色,鼠标点风扇图形的中间,在弹出“动画列表”中选第3项颜色动画,图4-5,再选择“初始颜色”保存即可。
图4-5修改动画属性
完成按钮、指示灯和风扇的绘图和动画后,在页面内进行调整各个图形之间的位置和大小,“排列”、“对齐”完成制作,图4-6。
图4-6绘图、建立动画
5、下载、启动节点、启动监控。
6、操作监控页面中的按钮,观察风扇的旋转运行。
在监控页面中操作“启动”按钮,观察风扇旋转时,发现风叶旋转比较慢,1秒钟变化一次,1分钟旋转一周,这是由于“累算点”的属性限制的,在“累算点”计算频率每秒1次的限制下,将“累算点”的最高量程和最高输出的范围该为30,同时将“累算点”的界限值也改为30,风扇的转速提高1倍,但是每次的转角增大了1倍,因此显得动画连贯性较差,转一周变化30次。
动画的速度和连贯性是一对矛盾,在采用“累算点”的情况下,受“累算频率”的限制,这一对矛盾无法兼顾,因此在设计中,根据页面监控的要求,在一定范围内调整。
要改善风叶的旋转动画效果,可采用“脚本”程序实现动画,“脚本”程序的执行,根据对“图表参数”中的“脚本更新时间间隔”的设置(图3-13),将每次扫描“脚本”程序的时间缩短,改变执行“脚本”程序的周期,将动画关联的开关量点与旋转模拟量点的速度关系每次都进行一次更新,改善动画速度和变化连贯性的效果。
“脚本更新时间间隔”设置的最小值单位为1,等效为0.025秒。
但是“脚本更新时间间隔”和脚本程序的长度有关,比较长而复杂的脚本,设置值应比较大,否则不能保证程序完整扫描、执行。
脚本程序命令和大多数宏指令有相同的名称,命令的作用也基本相同,但使用及格式有一些差别。
4.2脚本程序
脚本语言是一种比较简单的计算机程序语言,可以使用一些计算机语言进行编程。
这些计算机程序之所以被称为脚本,是因为脚本程序不需要进行编译,在完成编程并保存和下载了源代码后,就可以运行了。
脚本程序的源代码文件是开放式、简单文本格式的文件,在计算机扫描程序时,逐条执行脚本程序。
在脚本程序中,可以有多段程序组成,每段程序可执行一个独立的操作,整段程序组成一个复合功能。
脚本程序执行一个操作主要使用赋值语句,通过改变某个点的值或状态达到操作的目的。
赋值语句主要分为无条件赋值和有条件赋值,无条件赋值在计算机每次扫描到该条程序指令时都执行一次输出;有条件赋值则不相同,在计算机扫描到该段程序指令时,先判别该指令前面的条件是否满足,条件满足执行输出,条件不满足执行不输出。
在计算机工作过程中,一般先扫描程序,按照程序前后顺序逐条进行读取、运算,然后输出。
在计算机程序结构中,有一种程序格式称为“If-Then-Else”条件语句,该程序在计算机扫描过程中,。
先判别程序流程需要的条件是否满足,才执行输出结果;如果不满足执行其他的输出结果或不输出。
例如在控制一个电灯的程序中,必须判别开关是否打开,才能使输出结果灯亮,否则灯不亮或者执行其他的操作。
这种“If-Then-Else”(条件-结果-或者)的程序格式,特别是“If-Then”的简单条件语句格式,在可编程控制器(PLC)编程中大量应用。
典型的“If-Then-Else”条件语句流程图如下图4-1:
“If条件”语句在按钮宏指令中的应用,体现为按钮按下即为条件,条件满足后宏指令的“Then执行”是输出,按钮宏指令中没有“Else”,但由于按钮有按下和弹起两钟状态,可以执行按下、弹起两行按钮宏指令。
而且每一行中均可以执行多条宏指令,每条宏指令之间要用逗号分开,但一行只能容纳75个字符。
如果一行的按钮宏指令长度不够,在按钮的命令行中还可以执行宏指令文件或脚本文件,即执行一段简单的计算机程序。
在脚本程序中,“If-Then-Else”条件控制流程可以得到充分