intouch for 语句用法

Intouch脚本函数之For循环语句使用说明
For循环可以反复执行一段代码。

InTouch HMI 仅支持 FOR 循环。

FOR 循环按所监视的每次循环迭代产生的递增或递减的数值循环变量值来进行。

循环一直执行到循环变量值达到设定值。

For 语法如下:
FOR LoopTag = StartExpression TO EndExpression [STEP ChangeExpression]
... 语句或另一个 FOR 循环 ...
NEXT;
• StartExpression, EndExpression 与ChangeExpression 共同定义迭代次数。

• StartExpression 设置循环范围的开始值。

EndExpression 设置循环范围的结束值。

• STEP ChangeExpression 可选择设置每次循环迭代过程中循环标记所递增或递减的值;如果不指定此值,则使用缺省值 1,即每次循环对LoopTag加1。

例子e.g:
FOR i=1 TO 100 STEP 2
...........语句
NEXT;
//表示每次循环i加2,总计循环50次
执行 FOR 循环时, InTouch HMI:
1 将 LoopTag 设置为 StartExpression 的值。

2 测试 LoopTag 是否大于 EndExpression。

如果是,InTouch HMI 退出循环。

(如果ChangeExpression 为负数,则 InTouch HMI 测试LoopTag 是否小于EndExpression)。

3 执行循环内的语句。

4 按 ChangeExpression 的值(除非另外指定,否则设为 1)递增 LoopTag。

5 重复步骤 2 到 4直到LoopTag达到 EndExpression的值。

使用 FOR 循环时请记住以下规则:
• FOR 循环可以嵌套。

最大嵌套级数取决于可用的内存与系统资源。

• 对于每个 FOR 语句,必有一个 NEXT 结束语句。

与If...else语句相同,在同一嵌套级别中, NEXT 语句总是应用于前面最接近的FOR 语句。

• LoopTag 必须是数值标记(或局部变量),比如整形标记。

• StartExpression、EndExpression 以及ChangeExpression 必须是赋值为数值结果的有效表达式,比如整形标记。

• 如果 ChangeExpression 为正, EndExpression 必须大于 StartExpression ;反之如果 ChangeExpression 为负,StartExpression 必须大于EndExpression。

否则循环不会开始。

强制结束循环
您可以通过调用语句 EXIT FOR; 在任何时间退出循环。

此语句使脚本继续执行紧接着循环 NEXT 语句后的其他语句。

示例
下面的代码段使用循环将大量的虚拟记录插入数据库表。

如果插入记录时发生错误,则放弃循环以防止产生更多错误。

FOR Counter = 1 TO 1000
ResultCode = SQLInsert(ConnectionID, "BatchDetails","BindList1");
IF ResultCode <> 0 THEN
LogMessage("Error creating records!Aborting...");
EXIT FOR;
ENDIF;
NEXT;
循环对其它运行时进程的影响
执行 FOR 循环时, WindowViewer 中的所有其它运行时进程都暂停。

包括以下进程:
• 屏幕更新(动画链接、值显示、趋势等)。

到循环完成之前不会发生任何移动,因此不能给动画对象使用 FOR循环。

• I/O 通讯。

例如,如果修改 FOR 循环中 I/O 标记的值,则只有最终的迭代后面的值才会写入 I/O 设备。

• 其它脚本,包括异步 QuickFunction。

您可以通过将 FOR 循环放入异步 QuickFunction 来避免暂停其它运行时进程。

循环执行的时间限制
为避免无限循环,程序设置了一个时间限制, FOR 循环必须在这个时间限制内完成执行否则WindowViewer 会自动终止循环它,并将一条关于终止的消息写入 Log Viewer中。

默认缺省的循环时间限制为 5 秒。

可以通过向应用程序目录中的 intouch.ini文件添加下面这行以对它进行自定义循环时间:LoopTimeout=x
将 x 替换成以秒为单位的时间限制。

备注:时间限制仅在循环的 NEXT 结束循环语句中检查。

因此,循环的第一次总是会执行,即便它花费的时间比时间限制更长。

For循环的示例
以下脚本通过一个简单的循环与一个间接标记,使用 0 值来初始化 100 个标记(Tag001 到 Tag100):
DIM Counter AS INTEGER;
FOR Counter = 1 TO 100
= "Tag" + Text(Counter, "000");
IndirectInteger.Value = 0;
NEXT;
以下脚本通过两个嵌套的循环与一个间接标记,使用 0 来初始化 1000 个标记(Line01_Tag001 到 Line10_Tag100):
DIM LineCounter AS INTEGER;
DIM TagCounter AS INTEGER;
FOR LineCounter = 1 TO 10
FOR TagCounter = 1 TO 100
= "Line" +Text(LineCounter, "00") + "_Tag" +Text(TagCounter, "000");
IndirectInteger.Value = 0;
NEXT;
NEXT;
Intouch FOR循环语句介绍结束。

合集下载

2024年InTouch组态软件培训教程(多场合应用)

2024年InTouch组态软件培训教程(多场合应用)

InTouch组态软件培训教程(多场合应用)InTouch组态软件培训教程一、引言InTouch组态软件是一款广泛应用于工业自动化领域的监控与数据采集软件,由美国Wonderware公司开发。

它具有强大的数据处理、报警管理、趋势分析等功能,能够满足各种复杂工业场景的需求。

本教程旨在帮助用户快速掌握InTouch组态软件的基本操作和高级应用,提高工业自动化系统的监控和管理水平。

二、InTouch组态软件安装与配置1.系统要求(1)操作系统:WindowsXP、Windows7、Windows10等。

(2)处理器:至少1GHz的CPU。

(3)内存:至少1GB的RAM。

(4)硬盘:至少2GB的可用空间。

2.安装步骤(1)将InTouch组态软件安装光盘放入光驱,运行安装程序。

(2)按照安装向导的提示,完成软件的安装。

(3)安装过程中,请确保所有选项均为默认设置,以便顺利完成安装。

3.配置InTouch组态软件(1)启动InTouch组态软件,进入“配置”菜单。

(2)设置通信参数,包括串口、以太网等通信方式。

(3)添加设备驱动程序,以便与现场设备进行通信。

(4)创建项目,设置项目属性,如工程名称、通信地质等。

三、InTouch组态软件基本操作1.创建画面(1)启动InTouch组态软件,进入“设计”菜单。

(2)选择“新建画面”,设置画面大小和背景颜色。

(3)从工具箱中拖拽图形、文本、按钮等控件到画面中。

(4)调整控件的大小和位置,设置控件的属性,如颜色、字体等。

2.数据绑定(1)在画面中添加数据源,如标签、数据库等。

(2)将数据源与控件进行绑定,实现数据的实时显示。

(3)设置数据刷新频率,确保数据的实时性。

3.动画效果(1)为控件添加动画效果,如闪烁、移动等。

(2)设置动画的触发条件,如按钮、数据变化等。

(3)调整动画的参数,如速度、次数等。

四、InTouch组态软件高级应用1.报警管理(1)创建报警事件,设置报警条件。

Intouch函数及语句介绍

Intouch函数及语句介绍

Intouch函数及语句介绍R1: RecipeDelete() 从指定配方模板文件中删除配方名。

句法RecipeDelete(“Filename”,“RecipeName”);参数描述FileName 被函数所作用的配方模板文件。

实际字符串或消息标记名。

RecipeName 在将被函数删除的指定配方模板文件中的特定配方。

RecipeLoad()、RecipeSave() 和RecipeDelete() 函数需用户提供RecipeName 参数。

RecipeSelectRecipe() 函数返回此参数的值。

实际字符串或消息标记名。

实例下面的语句将配方“Recipel”从recfile.csv 文件中删除:RecipeDelete("c:\recipe\recfile.csv", "Recipe1");2: RecipeGetMessage()写给模拟标记名某一错误代码同时写给消息标记名相应的错误代码消息。

句法 RecipeGetMessage(Analog_T ag,Message_T ag,Number);参数描述Analog_T ag不带引号或常数的实际整型或实型标记名。

Message_T ag不带引号或常数的实际整型或实型标记名。

Number该参数设置返回给Message_Tag 的最大字符串长度。

InTouch,消息标记名有131 字符的最大长度。

除非你减小在InTouch 标记名称典中的Message_Tag 的最大字符串长度,该参数值为131。

该参数可以是常数或包含一个数值的整型标记名。

实例在“InTouch 数据更改脚本”中使用RecipeGetMessage() 函数,相应的错误代码可以被写到一个模拟标记名,并且关联的错误代码消息可以被写到一个消息标记名中。

Data Change Script Tagname[.field]:ErrorCodeScript body:RecipeGetMessage(ErrorCode, ErrorMessage,131);当模拟标记名ErrorCode 的值发生变化时,将自动执行此脚本。

Intouch函数及语句介绍

Intouch函数及语句介绍

Intouch函数及语句介绍R1: RecipeDelete() 从指定配方模板文件中删除配方名。

句法RecipeDelete(“Filename”,“RecipeName”);参数描述FileName 被函数所作用的配方模板文件。

实际字符串或消息标记名。

RecipeName 在将被函数删除的指定配方模板文件中的特定配方。

RecipeLoad()、RecipeSave() 和RecipeDelete() 函数需用户提供RecipeName 参数。

RecipeSelectRecipe() 函数返回此参数的值。

实际字符串或消息标记名。

实例下面的语句将配方“Recipel”从recfile.csv 文件中删除:RecipeDelete("c:\recipe\recfile.csv", "Recipe1");2: RecipeGetMessage()写给模拟标记名某一错误代码同时写给消息标记名相应的错误代码消息。

句法 RecipeGetMessage(Analog_Tag,Message_Tag,Number);参数描述Analog_Tag不带引号或常数的实际整型或实型标记名。

Message_Tag不带引号或常数的实际整型或实型标记名。

Number该参数设置返回给Message_Tag 的最大字符串长度。

InTouch,消息标记名有131 字符的最大长度。

除非你减小在InTouch 标记名称典中的Message_Tag 的最大字符串长度,该参数值为131。

该参数可以是常数或包含一个数值的整型标记名。

实例在“InTouch 数据更改脚本”中使用RecipeGetMessage() 函数,相应的错误代码可以被写到一个模拟标记名,并且关联的错误代码消息可以被写到一个消息标记名中。

Data Change Script Tagname[.field]:ErrorCodeScript body:RecipeGetMessage(ErrorCode, ErrorMessage,131);当模拟标记名ErrorCode 的值发生变化时,将自动执行此脚本。

Intouch连接SQLServer数据库-OLEDB

Intouch连接SQLServer数据库-OLEDB

Intouch连接SQLServer数据库-OLEDBIntouch 连接SQL Server数据库1.建立连接字符串ConnectString = "driver={SQL server};User ID=用户名;Password=密码;Initial Catalog=数据库名;Server=服务器名";2.连接数据库自定义函数 fSQLConnect( )ResultCode=SQLConnect(ConnectionID,ConnectString);ErrorMsg=SQLErrorMsg(ResultCode);IF ResultCode==0 THENdSQLConnectState=1; {数据库连接成功}ELSEdSQLConnectState=0;{连接失败, ErrorMsg 中包含出错信息}ENDIF;3.查询数据库3.1.使用SQLSelect建议自定义函数(QuickFunction)[ResultCode=]SQLSelect(ConnectionID,TableName,BindList,WhereExpr,OrderByExpression);注意:在SQLSelect后使用SQLEnd()DIM brandCount AS INTEGER;DIM i AS INTEGER;ErrorMsg="";ResultCode=SQLSelect(ConnectionID,"SemifinishedCode","Semifinishe dCode","","ID ASC");IF ResultCode==0 THENdBrandOK=1;ELSEdBrandOK=0;ENDIF;ErrorMsg=SQLErrorMsg(ResultCode);brandCount=SQLNumRows(ConnectionID);IF brandCount>0 THENSQLFirst(ConnectionID);iBrandCount= 0;FOR i=1 TO brandCountiBrandCount= iBrandCount + 1;/doc/f417493988.html,= "mBrand" + StringFromIntg( iID, 10 ); idBrand=mBrandName;/doc/f417493988.html,= "mSemiCode" + StringFromIntg( iID, 10 );idSemiCode=mSemifinishedCode;IF i< brandCount THENSQLNext(ConnectionID);ENDIF;NEXT;ENDIF;ResultCode =SQLEnd(ConnectionID);3.2.使用自定义语句(字符串比较短)SQLCommand=" UPDATE DischargePitHead SET SemifinishedCode='" + mGSemiCode + "',AccomplishNum=0 WHERE ID= " + StringFromIntg( guankou, 10 );ResultCode=SQLSetStatement( ConnectionID, SQLCommand);ResultCode=SQLExecute(ConnectionID,"",0);ErrorMsg=SQLErrorMsg(ResultCode);3.3.使用自定义语句(字符串比较长)SQLCommand=" UPDATE CheInfo SET SemifinishedCode = '" + semiCode + "', GravityValue=" + bz + " ,QualityState = " + StringFromIntg(iQualityState, 10 ) ;ResultCode=SQLSetStatement( ConnectionID, SQLCommand);ResultCode=SQLAppendStatement(ConnectionID,",memo = '" + mem + "' WHERE CheNum=" + che+ " and Isreturn<>1");ResultCode=SQLExecute(ConnectionID,"",0);4.断开数据库连接ResultCode=SQLDisconnect(ConnectionID);ErrorMsg=SQLErrorMsg(ResultCode);。

intouch应用小经验

intouch应用小经验

3.防止修改画面的分辨率,按实际建立时的大小打开:
在工程文件夹下,打开intouch.ini文件,在第二行以后的任意一行中添加一行文字“ScaleForResolution=0”
当需要迁移项目再保存的工程中,先把显示改为开发时的分辨率,然后迁移工程,然后添加一行文字,再把分辨率改回实际方去了:
点击标记名字典下的“交叉引用”,然后在弹出对话框的过滤器中输入“标记名”点击搜索。
5.一台PLC做一个报警列表,可不可以 如果可以怎么做?用Axtive Controls控件下的 AlarmViewerCtrl
6.同时连接3台PLC怎么区别?建立几台设备,每台设备的组名要不一样
12.登录,注销:
InTouch安全等级启用方法时特别菜单—>安全性—>InTouch安全性,启用之后,默认有一个超级管理员账户administrator,等级9999,密码wonderware。请不要修改它的安全等级,但密码可以修改。然后你可以设置多个账户,如a、b、c,安全等级分别是1000、2000、3000。
1.开机启动DASERVER:
在SMC中建立好设备和设备组态,然后在“操作”菜单下选择“configure AS service” 然后选择“auto service” 最后选择激活“archestra.DASMBTCP”
2.连接施耐德的昆腾PLC:
实数的输入输出可以用文本框,然后实数地址为400002 f(切记地址和f之间需要一个空格,如果是整数则为i)
如果你希望只有安全等级不小于2000的用户才能切换到某一画面,那么你在该画面切换按钮脚本中添加IF判断语句,如:
IF $Accesslevel >= 2000 THEN

InTouch 函数及语句简介

InTouch 函数及语句简介
第页 2 共 53
Intouch 语句简介
Number 如果一个函数需要字符参数,该域设置返回到参数的最大字符串长度。在 InTouch 中,字符串消息标记名的最大长度是 131 个字符。除非你减小了 InTouch 标记名的最 大字符串长度,此参数一般设为 131。数字或整型标记名。 实例 下面的语句使系统读出 RecipeName 标记名的当前值且返回文件中的前一个配方。此返 回的字符串将被储存在 RecipeName 中并覆盖当前值。若 RecipeName 的值为空白或不 能找到,将返回文件第一个配方, 则返回此配方。(配方按创建时的顺序保存。) RecipeSelectPreviousRecipe("c:\recipe\recfile.csv", RecipeName,131); 7: RecipeSelectRecipe() 选择当前在配方模板文件中定义的一个配方。 句法 RecipeSelectRecipe(“Filename”,“RecipeName”,“Number”); 参数 描述 FileName 此函数所作用的配方模板文件的名称。实际消息标记名。 RecipeName 此函数使用的指定配方模板文件中指定的配方。RecipeLoad()、RecipeSave() 和 RecipeDelete() 函数需用户提供 RecipeName。RecipeSelectRecipe() 函数返回此参数 的值。没有引号或字符文字的实际消息标记名。 Number 如果一个函数必须填充字符参数,该域设置返回到参数的最大字符串长度。在 InTouch 中,字符串消息标记名的最大长度是 131 个字符除非你减小了 InTouch 标记 名的最大字符串长度,此参数一般设为 131。数字或整型标记名。 实例 下面的语句打开“选择一个配方”对话框。

InTouch教程

5, 键脚本
与链接到触动链接 - 动作按钮的对象关联
链接到键盘上特定的键或键组合 仅链接到标记名和(或)标记名点域 在运行时执行 ActiveX 控件事件
6, 数据改变脚本 7, ActiveX 事件
8, QuickFunction 您创建的且可依从其它 InTouch QuickScript
或动画链接表达式中进行调用的脚本。
3、 Windowviewer: 一种运行窗口
用于显示在Windowmaker 中创建的图形窗口
Show lab1
Module2 –Intouch的开发环境
WindowMaker 图形用户界面
Show win1
InTouch 特性和优点:
图形用户界面 (GUI) 访问级口令安全性 强大的 QuickScript
InTouch的广泛用途
InTouch HMI软件用于可视化和控制工业生产过程 它提供了一种易用的开发环境和广泛的功能,使工程师能够快 速地建立、测试和部署强大的连接和传递实时信息的自动化应用。 InTouch软件是一个开放的、可扩展的HMI,为定制应用程序 设计提供了灵活性。 InTouch 软件适合于部署在独立机械中、在分布式的服务器/ 客户机体系结构中、在利用FactorySuite工业应用服务器的应用中 ,也可以作为使用终端业务的瘦客户机应用。 InTouch 广泛的应用于包括食品加工、石油、汽车、半导体 、化工、制药、纸浆和造纸、交通等在内的全球众多纵向市场。
Show win1
针对InTouch 程序内部仿真
对外部数据的读取或写入 中间变量(.Name)

变量类型
1、离散 discrete : BOOL (值 0 或 1 )就是 (真和假 ) 2、模拟 整形 integer :介于 4-20mA或819-4095整数.

非谓语动词中的动词不定式

非谓语动词中的动词不定式非谓语动词中的动词不定式非谓语动词也是动词的一种,他们有着动词的特点,还可以充当主语、宾语、状语等。

以下是我细心整理的非谓语动词中的动词不定式,欢送大家共享。

动词不定式的形式为(to)+do/be done,其中to有时要省略。

通常所说的“动词原形”其实质就是不带to的不定式形式。

不定式具知名词、形容词和副词的性质。

它的否认形式为not+(to)do/be done。

一、不定式的时态性不定式从时态角度讲,具体形式分为一般式、进展式和完成式,是以不定式动作与谓语动词发生的时间的比较确定的。

具体状况如下:1、一般式不定式的一般式所表示的不定式动词与谓语动词同时发生或发生在谓语动词动作之后。

【例句】Tom plans to take part in the postgraduate entrance exams.汤姆打算要考研。

2、进展式不定式的进展式表示与谓语动词动作同时发生。

【例句】Tom pretended to be fully sleeping.汤姆装作睡得很沉。

3、完成式不定式的完成式表示发生于谓语动词动作之前。

【例句】Tom is pleased to have met his friend who has not kept intouch for many years.汤姆很兴奋能遇上他多年未联系的伴侣。

二、不定式的句子成分属性不定式如其他非谓语动词一样可以充当多种句子成分,包括主语、表语、宾语、宾语补足语、定语以及状语。

1、作主语【例句】To accomplish the budget in a month is impossible.在一个月内完成预算是不行能的。

2、作表语【例句】My wife’s task is to take charge of loveliness.我老婆的'任务是负责”得意”。

3、作宾语1〕假设谓语动词为find,want,hope,wish,offer,fail,plan,learn,pretend,refuse,manage,help,agr ee,promise,prefer时,不定式〔宾语〕后面存在宾语补足语成分,要用it作形式宾语,真正的宾语〔不定式〕后置于句尾,放在宾语补足语后面。

intouch使用记录笔记

INTOUCH使用记录笔记一、定义1、标记名:如果设定的是需要用户输入的,并且需要显示在另一个字符串上时,可以用相同的标记名,只是其中用于用户输入的选择“用户输入”里的,而另一个用于显示的则选择“值显示”里的。

2、项目名:项目名设置的与给定的名字相同,而标记名则可以自己定义。

3、访问名:I/O 数据源通常是在远程计算机上运行的程序,并且使用DDE 或SuiteLink 协议与InTouch 系统中的其它计算机进行通讯。

如果设定的标记名不需要从别的地方获得数据,是自己输入至数据库的话,就不需要有访问名,即数据类型选择的是内存整型就好。

4、绑定列表:注意下图中的列名,存在大小写问题,是错误的:下面这个图是正确的,要注意列名的大小写,是区分的:5、登陆窗口的的各项设置:(1)用户名、密码、权限都在“菜单---特别---安全性---配置用户”中设置(2)在相应的按钮属性定义中设置一个“失效”,利用设定其权限级别来控制开关是否作用二、程序1、数据改变:数据发生改变即动作(“参数设置”中需要写的程序可以写在此处)。

2、应用程序(启动时):原型:SQLConnect(connectid01,"provider=sqloledb;DataSource=192.168.5.100;Initial Catalog=abc;User Id=sa;Password=a" );解释:SQLConnect(connectid01,"provider=sqloledb;Data Source=远程连接的IP地址;Initial Catalog=数据库名;User Id=账号;Password=密码" );3、条件脚本(符合条件即执行):例:条件:$Second==15(每分钟的第15秒执行,即一分钟执行一次) 原型:SQLUpdate(connectid01,"yuepu", "zzz1","TagName='abc1'");解释:SQLUpdate(connectid01(同应用程序连接数据库的一样),"yuepu"(表名), "zzz1"(绑定的列表名),"TagName='abc1'(数据库里表里的那一行的名字)");原型:SQLUpdate(connectid01,"yuepu", "zzz2","TagName='abc2'");原型:SQLUpdate(connectid01,"yuepu", "zzz3","TagName='abc3'");4.然后我们需要编写如下SQL语句的调用语句。

Intouch函数脚本与逻辑使用指南

商标
本文所提及且已知为商标或服务标志的所有专用名词均已采用适当的首字母大写形式。 Invensys Systems, Inc. 无法证实此类信息的准确性。在本文档中使用某个专用名词不 应视为会影响任何商标或服务标志的有效性。 Alarm Logger、 ActiveFactory、 ArchestrA、 Avantis、 DBDump、 DBLoad、 DT Analyst、 FactoryFocus、 FactoryOffice、 FactorySuite、 FactorySuite A2、 InBrialRAD、 IndustrialSQL Server、 InTouch、 MaintenanceSuite、 MuniSuite、 QI Analyst、 SCADAlarm、 SCADASuite、 SuiteLink、 SuiteVoyager、 WindowMaker、 WindowViewer、 Wonderware 以及 Wonderware Logger 均为 Invensys plc 及其子公司与附属公司的商标。所有其它品牌 可能是其相应所有者的商标。
$LogicRunning 系统标记 ................................................37
第 4 章 脚本语言 ................................................39
基本语法规则 ......................................................................40 子程序 ..............................................................................40 语句.................................................................................. 40 缩进.................................................................................. 40 注释.................................................................................. 40 标记引用 ..........................................................................41 数据值 ..............................................................................41 值表达式 ..........................................................................41 语法验证 ..........................................................................41
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档