




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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的编程软件等9X Y Size指定屏幕上页面的放大位置和倍数(01),需要放大页面的位置由X Y指定,左面为0,右面为1;下面为0,上面为1,中间是0.5;Size是一个比例值,1是全屏,0.5是2倍屏幕;0.33是3倍屏幕10用户名=密码以新的用户和密码登录,在监控页面上以其他的用户名和密码登录,以取得其他的权限。一般登录使用后,需要和配套使用,恢复原来的使用权限取消当前用户登录11VIDEO=摄象机名.vdo全屏方式打开指定的摄象机显示窗口。该摄象机的显示必须首先在WebAccess中设定和配置12GRAPH=页面名称切换到指定的页面,便于翻页,浏览其他的页面按钮宏指令的对关联点进行赋值,无论该点是开关量或者是数字模拟量,但是所赋的值必须在该关联点的数值范围内。赋值宏指令还可以对文本点输入一段字符或者取另外一个点的值(用“点名称”的方式)赋值给关联点。在按钮宏指令的命令栏中,如果一行宏指令栏目中还需要执行其他宏指令,需要使用结束前一条赋值宏指令,然后可以接其他按钮宏指令。在一行中存在多条宏指令时,要用逗号(,)分开。格式如下:“A点=1,B点=0”按钮宏指令中,由于一行中不能超过75个字符,若长度超过,可采用调用“宏指令文件”或“脚本文件”的方法。赋值指令除了赋值常数外,还可配合下面辅助指令对关联点进行各种操作。表4-2 辅助指令表2辅助指令功能1)点名称=%REVERSE将关联点的数值取反赋值,对开关量点从0变1状态或者将1变0状态;对模拟量按照数值的百分比进行变换,即25%变成75%或者将75%变成25%。2)点名称=%PLUS 3或点名称=%PLUS 5%或点名称=%PLUS 点名称用于模拟量点,对关联点的数值进行加/减,加到最大值时停止加法或减到最小值时停止减法。加/减的数可以固定数(例如3)、百分比(例如5%)或者取至其他点的数值(例如点名称)。3)点名称=% MINUS 3或点名称=% MINUS 5%或点名称=%MINUS 点名称4)点名称=%LOOPPLUS 1或点名称=%LOOPPLUS 4%或点名称=%LOOPPLUS 点名称用于模拟量点,对关联点的数值进行加/减法,加到最大值返回最小值或者减到最小值返回最大值进行循环。加/减的数可以固定数(例如1)、百分比(例如4%)或者取至其他点的数值(例如点名称)。5)点名称=%LOOPMINUS 1或点名称=%LOOPMINUS 4%或点名称=%LOOPMINUS 点名称6)点名称=%ROTATEPLUS 6或点名称=%ROTATEPLUS 2%或点名称=%ROTATEPLUS 点名称用于模拟量点,对关联点数值进行+/-法,加到最大值返回最小值+1或减到最小值返回到最大值-1。即最大值和最小值是重叠的,比如圆中0度和360度。+/-的数可以固定数(例如1)、百分比(2%)或其他点的数值(点名称)。7)点名称=%ROTATEMINUS 6或点名称=%ROTATEMINUS 2%或点名称=%ROTATEMINUS 点名常用按钮宏指令的应用以赋值宏指令为例,如果在风扇例子中,按钮作为电动机的启动、停止控制使用时,按钮赋值宏指令只需要对关联点进行置0或置1操作即可。但是在需要对电动机进行无级调速控制时,可在控制面板上增加加速和减速按钮,加速按钮使用“点名称=%PLUS 3”,减速按钮使用“点名称=% MINUS 3”在宏指令中的“点名称”代表电动机转速的关联点,该点是一个模拟量点;“3”表示按钮每按一次,关联点增加或减少数值3。模拟量点的大小和增/减的数值大小是成比例关系的。宏指令“LOOPPLUS”适合于循环变化的应用,例如在显示零件在传输带上运动的动画时,一个个零件在传输带上从起点(关联点值为零)开始排列直到加工点(关联点最大值),设传输带上共有25个零件,按一下按钮,关联点加4%,零件移动1次,移动25次后重新循环。在表示旋转动画时,宏指令采用“ROTATEPLUS”或“ROTATEMINUS”,例如在风扇动画表现中,如果要求有加速和减速按钮,能够改变风扇转速,可以将风扇动画的关联点设置为赋值点,有脚本连续加减。而将加速和减速按钮的关联点设置成加/减值的点名称(点名称),当通过加速和减速按钮改变加/减数值时,连续运转的风扇每次程序扫描的加/减数值也不同,从而实现调速的动画效果。只是“点名称”数值大小和风扇的转速成反比。4.1.2 其他宏指令WebAccess还有许多其他宏指令,可分成以下几大类表 4-3 功能类宏指令表3按钮宏指令功能一、弹出框类:13ALMGROUP报警群组列表14ALMSUMONOFF报警摘要高级选项(报警过滤)15DLOGTRD数据记录趋势列表16FPLGROUP面板群组列表17GRAPH图列表18LOGIN用户登录对话框19POINTINFO点信息对话框20POINTGOTO点转到对话框21RCPVALCHG=修改处方预置值22REALTRD实时趋势列表23RECIPE配方列表24SELTAG=实时趋势有效点列表25SELTAGD=数据记录点列表26TAGVALCHG=改变数值对话框27VIDEO全屏显示视频列表28ZOOM缩放对话框二、打开页面类29ACTIONLOG打开运行记录显示界面30ALARMLOG打开报警记录显示界面31ALMGRAPH=打开指定点或参考点报警图表32ALMGROUP=打开报警群组列表33ALMSUMMARY打开报警摘要显示界面34BLOCKDTL=打开指定点或参考点区块详情显示界面35DLOGTRD=打开指定的数据记录显示界面36DLOGXYP=以X-Y轴打开指定的数据记录显示界面37FPLGROUP=打开指定的面板群组显示界面38OVERVIEW=打开指定的概观显示界面39POINTDTL=打开指定的点详情显示界面40REALTRD=打开指定的实时趋势显示界面41REALXYP=以X-Y轴打开指定的实时趋势显示界面42RECIPE=打开指定的配方显示界面43tool=WebAccess浏览或ViewDAQ工具菜单44STATION打开设备通讯状态显示界面45URL=http:/url打开URL或Web网页46URL=daq:连接到另一个监控节点47 URL=daq:video=连接到监控节点上的视频设备48 URL=daq:webctrl=连接到监控节点上的设备49 URL=mailto:打开邮件服务程序50URL=vdo以IP地址在浏览器中打开该视频设备51USRPRG打开管理员程序显示界面52打开指定点或参考点相关显示界面53打开最新报警点显示界面三、关闭类54关闭ViewDAQ内所有显示群组55关闭当前显示群组56关闭当前显示窗口的附属显示群组57关闭指定显示群组58关闭其他显示群组59关闭Web浏览器弹出窗口60关闭当前显示四、邮件类61HOST=指定SMTP邮件服务器62PORT=定义端口号63SUBJECT=仅发送Email的标题64FROM=定义邮件发送方地址65TO=定义邮件接收方地址66TO_ADD=添加一个邮件发送方地址67CC=定义邮件抄送方地址,以副本形式发送68CC_ADD=添加一个邮件抄送方地址69BCC=定义密件抄送方地址,以副本形式发送70BCC_ADD=添加一个加密邮件抄送方地址71BODY=输入Email邮件内容第一行72BODY_ADD=Email添加另一行文本字符串73SEND发送Email74按钮宏指令结束标记五、DDE数据类75发送指令串至DDE Server应用程序中按钮宏指令结束标记76发送数据串至DDE Server应用程序中按钮宏指令结束标记77DDE Server程序中数值返回WebAccess按钮宏指令结束标记六、移动数据记录类78LEFT左移趋势图,显示记录数据79LEFTMOST趋势图移动最左端(起始时间)8RIGHT右移趋势图,显示记录数据81RIGHTMOST趋势图移动最左端(当前时间)七、SQL数据库类82执行SQL数据库命令按钮宏指令结束标记83将SQL指令堆入栈中,成为整体命令行按钮宏指令结束标记84执行栈中完整的命令行八、其他85打印运行记录86打印报警记录87打开堆栈的显示界面88切换到前一个显示界面89关闭当前ViewDAQ,弹出新窗口或群组90不关当前ViewDAQ,弹出新窗口或群组91不关当前ViewDAQ,弹出附属新窗口92打开前一个显示界面93打开由返回的显示界面94增加记录一条用户定义的文本按钮宏指令结束标记95报警记录中增加一条用户定义的文本按钮宏指令结束标记上述宏指令可用于按钮,也可以用于功能键等其他领域。其他宏指令在按钮中的基本使用方法和常用的按钮宏指令相同,以上述打印运行记录为例,建立按钮过程中,在按钮“按下”命令栏中选择“0 100”表示执行该指令时将执行从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”条件控制流程可以得到充分的应用,一种常用的脚本程序格式就是“If”条件“Then”赋值否则“Else”执行其他操作或者不进行操作。脚本程序分为全局脚本和本地脚本文件两大类型,全局脚本文件在监控系统运行后在整个系统中中心,本地脚本文件仅仅在该页面打开的条件下才执行该本地脚本文件。在WebAccess中可采用VB、JAVA和TCL语言编写脚本程序,在本节中主要介绍TCL脚本语言,TCL是“工具控制语言(Tool Control Language)”的缩写。TCL脚本语言中包括指令、关键字、运算符等组成每一条程序。在脚本中也可以使用许多宏指令,除了没有括号,大多数脚本宏指令和按钮宏指令的功能是相同的。4.2.1脚本程序的运行环境WebAccess的脚本程序主要在两种环境中运行:1、 全局脚本:全局脚本在整个监控节点中,独立于任何显示页面进行运行。系统的监控功能运行,就执行全局脚本,与页面的打开、关闭无关。2、 本地脚本:仅在指定页面打开时或被页面中的某个按钮操作时才运行。本地脚本主要在客户端程序上运行,当指定页面打开时,本地脚本就会被下载至浏览器的客户端上运行,关闭该页面时,本地脚本就终止运行。全局脚本主要对整个系统的事件进行操作,例如控制过程中,突发的某些事件进行处理,当事件发生时,无论当前监控的页面和该事件是否有关,都按照全局脚本的程序执行操作。由于监控系统和全局相关的事件主要是报警、记录等事件,这些功能在WebAccess中已经有专门的系统功能进行处理,因此除非有特殊要求,一般的监控系统中,全局脚本不一定需要。本地脚本负责当前页面的事件处理,由于各种控制要求不同,本地脚本的应用比较广,以前例的风扇监控界面中,需要脚本程序的主要有风页的旋转动画中模拟量在启动后变化,左边三相交流电动机的电气控制线路原理图的颜色、旋转和移动动画等。全局脚本和本地脚本有三种运行方式:1、 登录时:当全局脚本开始运行或本地脚本的页面被打开时,执行一次脚本程序,主要用于初始化设备的监控状态;2、 运行时:监控系统正常运行时或本地脚本的页面打开期间,连续循环运行脚本程序,执行设备生产过程的监控;3、 退出时:当全局脚本将停止运行或本地脚本的页面被关闭时,执行一次脚本程序,主要用于恢复正常的停机状态。这3种类型的脚本必须根据系统的控制要求分别编写、命名,本地脚本在“设置图表参数”菜单中分别选择在相应的栏目中,执行各自不同的功能。一般无特殊要求,可以不使用登录时或退出时的脚本程序,仅仅执行运行时的脚本程序,本节主要介绍运行时的脚本程序。综上所述,根据脚本程序的运行环境,可以把脚本分为全局脚本和本地脚本2大类,该两类脚本还可进一步分为登录时、退出时和运行时脚本3小类。4.2.2脚本文件的建立无论是全局脚本还是本地脚本,均可在网络绘图页面的“功能(快捷)菜单”中的“工具”“脚本文件”或本地绘图页面的顶部“工具”“脚本文件”或“设置图表参数”菜单选登录时、退出时和运行时(图3-13)任意一栏的“编辑”建立,图4-7。图4-7 建立脚本设定界面“脚本设定”界面可分为顶部、左边、右边3个区域。1、 顶部区域的左边脚本文件的名称栏,可新建一个新文件名或打开一个脚本文件;2、 顶部的右面是“新的”、“保存”和“退出”3个功能键;左边区域包括上、中、下3个部分:1、 上部的脚本语言选择,包括:TclScript、VBScript、JScript选项;2、 中间是脚本的程序输入区域;3、 下方是脚本程序编程中的“复制”、“粘贴”等常用工具按键;右边区域分为上部和下部2部分,1、 上部是编写脚本程序时的功能选择区,有“运行”、“关键字”、“函数”、“I/O点”、“Daq点”、“Loc点”、“运算符”和“区域”共8个按键,2、 下部则是选择了上部功能键后对应该功能的具体内容。例如在图4-7中,下部框中显示脚本程序中可使用的各种宏指令。需要使用这些指令时,直接用鼠标点选。建立脚步文件的步骤:1、 先在顶部脚本文件栏输入新建的脚本文件名,例如“FAN”;2、 光标移入程序输入区,在右边选“运行”下面选“SETVAL”,接着在“I/O点”中选风扇,然后在程序区直接键入“=1”;完成后“保存”“退出”;3、 在“设置图表参数”中,将“FAN”脚本文件选择在“运行时”后“确认”;4、 “另存BGR”“下载”。启动“核心程序”“启动监控”观察风扇运行。4.2.3全局脚本的设置全局脚本通过绘图页面中的“工具”“脚本文件”打开的脚本编辑器进行编写,完成脚本文件编程后进行命名保存。然后返回到监控节点,在上方菜单中选择“全局脚本”,在打开的菜单中进行设置和选用,图4-8。图4-8 监控节点上部的“全局脚本”WebAccess全局脚本的设置菜单共有8组(图4-8中显示了2组),每组都有对全局脚本的“描述”、“开始脚本”、“脚本运行中”和“停止脚本”共4个选项的设置。根据监控工程的需要进行选用。运行全局脚本的选择,在设置菜单的右面,选择系统中已有的脚本文件列表填入相应的栏目。在“脚本运行中”栏目中,需要设置脚本执行间隔时间(该设置以0.025秒为一个单位),选择全局脚本每隔多少时间进行一次扫描。全局脚本的设置步骤:登录WebAccess工程节点后,在监控节点中点击上方的“全局脚本”,弹出“全局脚本”的设置页面后进行操作:1. “描述”栏内根据需要添加一些对该脚本的必要说明;2. “开始脚本”栏内根据需要添加在脚本文件列表中选择的脚本文件;3. “脚本文件运行中”栏内根据控制要求添加在脚本文件列表中选择的脚本文件;4. 在脚本运行中,输入一个执行脚本的时间间隔,每0.025秒为一个单位,如:10 =0.25 秒、2400 = 60 秒 = 1 分,默认为20=0.5 秒。5. “停止脚本” 栏内根据需要添加在脚本文件列表中选择的脚本文件。6. 在状态栏中选择是否“允许”、“禁止”或“没使用”该组脚本文件。7. 根据控制的要求,选择是否需要第2组或第3组脚本文件。8. 完成脚本配置或,点上部的“提交”,完成全局脚本配置。在全局脚本中本地点是无法使用的,如果需要将本地脚本文件转换为全局脚本时,必须先将使用的本地点转换为内部的常数点。4.2.4本地脚本的设置和全局脚本不同的是,本地脚本是建立在当前监控页面基础上的控制文件,因此只有该页面打开时才能够运行。本地脚本的建立和设置在绘图页面上方工具栏的“设置图表参数”中进行,图4-9。图4-9 本地脚本编程无论是网络或者本地绘图,建立本地脚本均可从上方工具栏的“设置图表参数”中进行,在打开的“图表参数”菜单中,本地脚本也分为“登录时”、“运行时”和“退出时”3种形式,分别在该页面打开时执行一次;打开后始终反复运行和退出时执行一次。编写本地脚本程序时,先选择编那一种类型的本地脚本程序,将光标点在那一栏中,输入本地脚本的文件名,然后点该栏目的“编辑”进入本地脚本程序的“脚本设定”界面。选择在“运行时”栏目中输入新建的脚本程序名,然后“编辑”进入“脚本设定”进行脚本程序的编写。“运行时”的本地脚本,将按照一定的时间间隔进行扫描并执行输出。脚本扫描的时间间隔在“图表参数”的底部进行设置,底部有两项设置栏目,一项是“图表更新时间间隔”设置,另一项则是“脚本更新时间间隔”设置。“图表更新时间”设置的是动画表现的时间,“脚本更新时间”设置的是脚本的扫描时间。这两项设置都是以0.025秒为单位进行变化,默认值20代表0.5秒更新一次。如果脚本程序主要是为动画设计的,这两项设置最好相同,因为如果图表更新时间短,脚本更新时间长或者反之,动画效果都是迟钝的。如果将这两个参数都调到最小,对比较短小、简单的脚本,可以达到最好的动画效果。但是对比较复杂的、较长的脚本程序,由于脚本程序是不经过编译的,计算机必须边扫描、边编译,比较费时,一旦扫描时间不够,就可能会出现程序不能完整扫描的问题。因此合适的更新时间间隔设置,应通过程序调试最后确定。4.2.5 TCL脚本程序的语法WebAccess的TCL脚本程序作为一种计算机语言,有一定程序语法,包括在程序指令中的大、小写、括号、变量等。TCL脚本指令以空格作为分隔的字符组成。第一组字母表示该指令的名称,空格后的字符表示该指令其它的参数。每条TCL命令可采用新增一行或者在同一行中使用分号隔开。使用分号,能够允许在同一行中并存多条TCL指令。在TCL脚本语言中,指令的关键字可以大写或小写,运行指令的字母必须大写。TCL指令的基本表达方式:运行指令 参数 参数 参数(根据指令决定几个参数);这是一种无条件的赋值语句的形式,执行赋值、运算等操作。例如set x 8将X点设置为8表示两个参数之间传送数据,将数字8送到 x 中保存。再如EXPR 2000 + 9计算2000加9的值表示计算 2000 与 9 的和,返回结果为 2009 。条件赋值语句的基本表达式:关键字 运行指令 参数 运算符 参数 ;在指令中的括号是为了将各个功能及参数分开,根据需要,该表达式可以形成几组相加。WebAccess的TCL脚本语言中的常用符号和变量:1、 :取某点的值。常用于将某点的值传给另一个点。功能与 GETVAL类似。例如SETVAL sp1=sp2将sp2值传送到sp1执行将点sp2内存储的数值复制给点sp1中保存。2、 $ :取变量点的值。用于脚本的变量运行,与 不同 $ 只定义在脚本内部的变量。3、 中括号 :在中括号中包含一个插入的运行指令,例如使用前一个运行指令返回的结果作为后一个运行指令中的参数时,需要使用到中括号。例如set a 2将数字2传送到aset b expr $a*16计算2乘16传到b在执行运行指令时,先将 2 赋值给 a ,然后执行中括号中插入的乘法命令,最后将执行运算的结果 32 赋值给 b ,得到 b = 32。4、 引号“ ” :在引号“ ”中可以将多个运行指令等单元,组成一个单一参数后赋值给一个运行指令。多种符号包括 、% 、 $ 、空格和中括号都能在引号“ ”中使用。例如set x 10X10例如set y 1Y1例如set z “$x + $y is expr $x + $y”zx+y并显示文本执行第1条和第2条运行指令,将数值 10 赋值给 x ;数值 1 赋值给 y ,然后执行第3条运行指令后,将一个文本字符串: 10 + 1 is 11 值给 z 变量。在引号中的所有单元都被认为是一个单一的字。运行指令和变量在引号中能够执行但输出的是替换的结果。引号本身不是运行指令,但是如果引号不完整,将使程序出错。5、 大括号 :大括号 也可将多个单元组成一个组合单元。和引号相似,大括号同样可以将多个单元组成一个参数,但大括号中的参数不被立刻解释。它与引号不同之处,在大括号中不执行结果的替换,将上例中的引号改为大括号后执行。例如set z $x + $y is expr $x + $y仅显示z中的字符串,不执行运算执行将整个 $x + $y is expr $x + $y 字符赋给变量 z 。大括号和引号的应用,当参数包含固定信息时可使用大括号。例如SETVAL FAN=%ROTATEPLUS 12点FAN每次加12循环变化执行大括号内的累加式计算,可用于风扇回转速度,变量是固定的12;再如SETVAL FAN=%ROTATEPLUS $dx 点FAN每次加变量dx值大括号内的累加式计算值是变量点dx的值。6、 反斜线 :反斜线通常被用于引用特殊字符,例如, n 是引入新的一行。也常被用于“关闭”包含特殊意义的$符、引号和大括号。WebAccess的TCL脚本程序通常由5个部分组成:1. 关键字:WebAccess 脚本中的关键字是脚本程序的判别条件,和脚本程序的其他部分组合成“条件赋值”中的判别条件;2. 运行:是脚本程序的基本组成部分,执行一个宏指令的指定操作。和WebAccess定义的按钮宏指令很相似;3. 运算符:包含加、减、乘、除、大于、小于、等于、不等于等简单的数学运算符号以及和括号、大括号等组合符号;4. 点和区域:包括各种 I/O 点、Daq 点、Loc 点和相关的 I/O 点区域值及最高量程、报警界限、报警类型等动画关联点;5. 函数:包含许多高级运算函数sin、 cos、 round、 log 等。组成TCL脚本程序,根据脚本程序控制的需要,由上述5个部分按照语法组成脚本程序,实现监控页面动画需要的功能。脚本程序在上述5个部分中根据控制需要采用其中的部分单元,按照TCL语法结构组成脚本程序。在WebAccess的脚本程序中,采用条件赋值语句结构进行编程,可以采用IfThenEles赋值语句格式。在TCL脚本中,采用IfThenEles条件语句主要可分为2-3个单元的组成一条指令。条件赋值语句IfThenEles组成单元:1、 If条件部分:包括关键字、运行(宏)指令、运算符和点组成条件部分;2、 Then赋值部分:包括运行的宏指令、点、运算符和函数组成赋值部分;3、 Eles否则赋值部分:包括运行的宏指令、点、运算符和函数组成。有些程序可以没有Eles部分;有些程序还可以增加Eles If 作为下一个条件判别。WebAccess脚本将这2-3个部分组合,成为一段可执行的脚本程序。例如判别如果开关打开,电灯就亮,否则电灯就关的IfThenEles脚本程序如下:例如#开灯控制以#开始的功能注释if GETVAL 开关=1 then 电灯=1 else 电灯=0 条件判别开关是否打开开关打开条件成立,使电灯亮否则使电灯关本段程序结束在编写脚本程序中,特别要注意字符、大小括号、空格等,不能少、不能出错,否则将无法执行这段程序,甚至影响下一段程序的运行。条件语句IfThenElse程序结构的一种常见的变化形式是IfThen形式,省略了Else,因为整个控制程序除了上一条IfThen程序,接着还有下一条IfThen程序,同样在下一个条件满足时,执行输出或停止输出,可以替代Else的作用。另一种复杂的变化形式是IfThenElseIf的组合,在Eles中又增加了一个其他If条件判别,这些条件语句形式变化和组合,可满足不同的控制要求。在脚本中,还可利用“运算符”,在条件中进行逻辑组合、判别或其他运算等,组成比较复杂的控制要求。WebAccess的TCL 脚本程序在“设置图表参数”“脚本设定”中编辑,图4-10。图4-10 脚本编写4.2.6 TCL脚本关键字WebAccess脚本语言的关键字是TCL程序中控制程序流向的节点,当一条或几条运行指令组成一段程序后,该段程序是否在本次扫描中执行,取决于程序关键字所制定的条件是否满足,例如在IfThenEles条件语句中,计算机扫描中根据If后的运行指令取得的数据与符号判别的结果,选择是执行Then后面的程序,还是执行Eles后面的程序。脚本语言中的关键字,和前面介绍的宏指令一样也有许多种类型,根据控制需要选择相应的关键字和运行宏指令配合使用。在编程操作中,只要双击该关键字,即可输入到脚本程序编辑器中,并且自动生成该关键字的语法格式。也可以在计算机键盘上手工键入关键字,但在输入时注意字母的大小写、空格、括号等方面的格式要求。在脚本程序中,括号的正确使用也是一个很重要的内容,在WebAccess的脚本程序中,括号的使用和一般使用大括号、中括号、小括号的使用顺序不同,在TCL脚本程序中,中括号通常用于运行指令,因此往往是用在最里面;小括号用于运算的组合,经常用于中间位置;大括号是几个单元的组合,应用于除关键字以外的其他指令、符号和点组成的段外,通常处于包含中括号、小括号的最外层。在脚本程序中,括号的应用格式一般如下:例如IF(GETVAL A1)&(GETVAL B0) THEN SETVAL C=X括号的使用上述程序执行先判别A是否小于等于1,同时判别B是否大于等于0,如果两个条件同时满足,将X中的数值传送给C。注意在上述脚本程序中括号的使用顺序是,大括号、小括号、中括号,即( )。在条件语句中,各种括号,配合其他关键字break、catch、Expr、For等组成各种功能控制的脚本程序。在“脚本设定”编辑器中打开的关键字界面,如图4-11:图4-11 关键字列表 TCL脚本语言关键字列表表 4-4 TCL脚本语言关键字表4关键字/功能例子1Break与 for 、 foreach 或 while 指令搭配使用,返回一个产生中断的TCL_BREAK 代码中断循环、执行下代码2Catchcatch if GETVAL FAN_START101 = 0.5 then SETVAL rotatefan101=%ROTATEPLUS 12 检测运行脚本时错误返回值: 0 = OK1 = error3Continuecontinue使用于for 、foreach 或 while循环指令中跳转到下一次循环4Elseif GETVAL AMLITUDE GETVAL AMOUT then SETVAL AMLITUDE=%LOOPPLUS tag1 else SETVAL AMLITUDE=AMPOU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年汽车空气过滤器项目提案报告
- 护理学的知识体系
- 2025年噪声频谱分析仪项目立项申请报告模板
- 2025-2030中国毛绒玩具市场营销策略及投资前景建议研究报告
- 2025-2030中国正丁基锂行业发展状况与竞争趋势预测报告
- SKETCHUP草图大师窦紫烟87课件
- 护理员护工陪护培训
- 护理专科业务学习及课件
- 经验发言稿格式
- 2025餐饮集团用餐协议范本
- 《中华人民共和国民营经济促进法》培训解读课件
- 补产假工资协议书
- 学生自主学习能力培养的关键路径研究
- 《医疗英语口语》课件
- 电力公司参观心得体会
- 非煤露天矿山安全培训
- 快速康复外科理念下的骨科康复
- 事故隐患内部报告奖励制度
- 劳动仲裁申请书电子版模板
- 电厂消防培训
- 2025年云南省康旅控股集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论