Intouch函数及语句介绍.doc
《Intouch函数及语句介绍.doc》由会员分享,可在线阅读,更多相关《Intouch函数及语句介绍.doc(54页珍藏版)》请在冰豆网上搜索。
Intouch语句简介
Intouch函数及语句介绍
R
1:
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()函数,相应的错误代码可以被写到一个模拟标记名,并且关联的错误代码消息可以被写到一个消息标记名中。
DataChangeScriptTagname[.field]:
ErrorCode
Scriptbody:
RecipeGetMessage(ErrorCode,ErrorMessage,131);
当模拟标记名ErrorCode的值发生变化时,将自动执行此脚本。
当此脚本执行时,RecipeGetMessage()
函数将读取标记名ErrorCode的当前数字值,并且返回与此数字值关联的消息到标记名ErrorMessage。
ErrorCode=RecipeLoad("c:
\App\recipe.csv","Unit1","cookies");
RecipeGetMessage(ErrorCode,ErrorMessage,131);
3:
RecipeLoad()将指定的配方加载到指定的标记名单元中。
句法 RecipeLoad(“Filename”,“UnitName”,“RecipeName”);
参数 描述
Filename 此函数所作用的配方模板文件的名称。
FileName可以是字符串常数或含有配方模板文件的消息标记名。
UnitName 此函数使用的指定配方模板文件中指定的单元。
RecipeLoad()函数需用户提供UnitName。
RecipeSelectUuit()函数返回此参数的值。
UnitName可以是字符常数或含有该单元名称的消息标记名。
RecipeName 此函数使用的指定配方模板文件中指定的配方。
RecipeLoad()、RecipeSave()和RecipeDelete()函数需用户提供RecipeName。
RecipeSelectRecipe()函数返回此参数的值。
RecipeName可以是字符常数或含有该配方名称的消息标记名。
实例
下面的语句将使为配方Recipe1(在recfile.csv文件中)定义的值加载到由Unit定义的一组标记名中:
RecipeLoad("c:
\recipe\recfile.csv","Unit1","Recipe1");
4:
RecipeSave()将最新创建的配方或现有配方的更改保存到指定的配方模板文件。
句法 RecipeSave(“Filename”,“UnitName”,“RecipeName”);
参数 描述
FileName 此函数所作用的配方模板文件的名称。
FileName可以是字符串常数或含有配方模板文件的消息标记名。
UnitName 此函数使用的指定配方模板文件中指定的单元。
RecipeLoad()函数需用户提供UnitName。
RecipeSelectUuit()函数返回此参数的值。
UnitName可以是字符常数或含有该单元名称的消息标记名。
RecipeName 此函数使用的指定配方模板文件中指定的配方。
RecipeLoad(),RecipeSave()和RecipeDelete()函数需用户提供RecipeName。
RecipeSelectRecipe()函数返回此参数的值。
配方名可以是字符常数或含有该配方名称的消息标记名。
实例
下列例子将保存对recfile.csv文件中的配方“Recipe3”的改变。
如果Recipe3在recfile.csv文件中不存在,它将会被生成。
数值将用于设定定义在Unit2中的标记名的值。
RecipeSave("c:
\recipe\recfile.csv","Unit2","Recipe3");
5:
RecipeSelectNextRecipe()选择当前定义在配方模板文件中的下一个配方。
句法 RecipeSelectNextRecipe(“Filename”,“RecipeName”,“Number”);
参数 描述
FileName 此函数所作用的配方模板文件的名称。
实际消息标记名。
RecipeName 此函数使用的指定配方模板文件中指定的配方。
RecipeLoad()、RecipeSave()和RecipeDelete()函数需用户提供RecipeName。
RecipeSelectRecipe()函数返回此参数的值。
没有引号或字符串文字的实际消息标记名。
Number 如果某一函数需要字符为参数,该域设置返回该参数的最大字符串长度。
在InTouch
中,字符串(消息)标记名的最大长度可达131个字符。
除非你减小了InTouch标记名的最大字符串长度。
数或整型标记名,此参数一般设为131。
实例
下面的语句使系统读出RecipeName标记名的当前值前且返回文件中的下一个配方。
若RecipeName
的值为空或不能找到,将返回文件的第一个配方。
若RecipeName包含的是文件的最后一个配方,则返此配方。
(配方按创建时的顺序保存。
)
RecipeSelectNextRecipe("c:
\recipe\recfile.csv",RecipeName,131);
6:
RecipeSelectPreviousRecipe()选择当前配方模板文件中定义的前一个配方。
句法 RecipeSelectPreviousRecipe(“Filename”,“RecipeName”,“Number”);
参数 描述
FileName 此函数所作用的配方模板文件的名称。
实际消息标记名。
RecipeName 此函数使用的指定配方模板文件中指定的配方。
RecipeLoad()、RecipeSave()和RecipeDelete()函数需用户提供RecipeName。
RecipeSelectRecipe()函数返回此参数的值。
没有引号或字符串文字的实际消息标记名。
Number 如果一个函数需要字符参数,该域设置返回到参数的最大字符串长度。
在InTouch
中,字符串消息标记名的最大长度是131个字符。
除非你减小了InTouch标记名的最大字符串长度,此参数一般设为131。
数字或整型标记名。
实例
下面的语句使系统读出RecipeName标记名的当前值且返回文件中的前一个配方。
此返回的字符串将被储存在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。
数字或整型标记名。
实例
下面的语句打开“选择一个配方”对话框。
RecipeSelectRecipe("c:
\recipe\recfile.csv",RecipeName,131);
当在对话框中选定一个配方后,它的名称返回到RecipeName标记名中。
8:
RecipeSelectUnit()选择将被加载当前配方值的标记名单元。
句法 RecipeSelectUnit(“Filename”,“UnitName”,“Number”);
参数 描述
FileName 此函数所作用的配方模板文件的名称。
实际消息标记名。
UnitName 此函数使用的指定配方模板文件中指定的单元。
RecipeLoad()函数需用户提供UnitName。
RecipeSelectUuit()函数返回此参数的值。
没有引号或字符文字的实际消息标记名。
Number 如果函数的参数需用字符串来填充,此参数设置返回到参数的最大字符串长度。
在InTouch中,字符串(消息)标记名的最大长度可达131个字符。
除非你减小了InTouch标记名的最大字符串长度,此参数一般设为131。
数字或整型标记名。
实例
下面的语句打开“选择一个单元”对话框。
RecipeSelectUnit("c:
\recipe\recfile.csv",UnitName,131);
一旦选定了某个单元,单元的名称将返回给UnitName标记名。
注意
RecipeSelectRecipe()和RecipeSelectUnit()函数都与RecipeLoad()函数结合使用。
& 有关连接函数更详尽的消息,请参看配方管理器用户指南中“组合配方函数”一节。
9:
RestartWindowViewer;允许用户控制关闭和重启WindowViewer。
句法 RestartWindowViewer;
说明 此函数将关闭然后自动重新启动WindowViewer。
在未用自动更新网络应用程序开发(NAD)功能时,可以用此函数来更新应用程序。
此函数可和“$ApplicationChanged”配合使用以判断何时发生NAD的更新,然后提供自定义关闭。
但使用NAD选项,通知操作员,操作员可能必须延迟到较晚时间再更新,或者此函数可被放置在一个按钮动作脚本中,因此当方便的时候一个操作员可进行自动关闭和重新启动WindowViewer。
10:
Round()按指定精度来近似一个实数。
句法 RealResult=Round(Number,Precision);
参数 描述
Number 任何数字,实型或整型标记名。
Precision 设定数字将要被近似到的精度。
数字,实型或整形标记名。
说明 “Precision”设置了“Number”将被近似的精度。
实例
Round(4.3,1)将返回4
Round(4.3,.01)将返回4.30
Round(4.5,1)将返回5
Round(-4.5,1)将返回-5
Round(106,5)将返回105
Round(43.7,.5)将返回43.5
A
Abs()返回一个指定数的绝对值(无符号等价值)。
句法 Result=Abs(Number);
参数 描述
数字 任何数字,实型或整型标记名。
说明 “Number”的绝对值被计算并返回给“Result”。
实例
Abs(14)将返回14
Abs(-7.5)将返回7.5
Ack()确认任何不确认的InTouch报警。
句法 AckTagname;
参数 描述
Tagname 任何InTouch标记名,报警组,或组变量。
说明 此函数可用于一标记名、报警组或组变量。
(组变量为一标记名,它具有分配给它的报警组名称。
)
实例
以下语句可用于一按钮,来确认任一未确认的报警:
Ack$System;(所有的报警)
AckTagname;
AckGroupName;
AckGroupVariable;
ActivateApp()
激活另一个正在运行的Windows应用程序
句法 ActivateAppTaskName;
参数 描述
TaskName 这个函数将激活的任务。
说明 TaskName是准确的文本字符串,包括出现在任务栏或任务管理器中的空格(在WindowsNT中通过右单击任务栏,然后单击任务管理器或Ctrl+Alt+Delete来访问)。
实例
以下例子检查是否命令提示符正在运行。
如果正在运行,将使它出现在前景并给予聚焦。
否则,启动一个命令提示符并启动命令提示符中的DOS程序。
IFInfoAppActive(InfoAppTitle("cmd"))==1THEN
ActiveAppInfoAppTitle("cmd");
ELSE
StartApp"cmd/cedit";
ENDIF;
almAckAll()确认所有当前查询中的报警,包括那些在当前报警显示中未显示的报警。
句法 [Result=]almAckAll(ObjectName,Comment);
参数 描述
ObjectName 报警对象的名称。
如,AlmObj_1。
Comment 报警确认注释。
实例
MessageTag=“AcknowledgeAllby”+$Operator;
AlmAckAll(揂lmObj_1?
MessageTag);
almAckDisplay()只确认当前报警显示对象中可见的报警。
句法 [Result=]almAckDisplay(ObjectName,Comment);
参数 描述
ObjectName 报警对象的名称。
如,AlmObj_1。
Comment 报警确认注释。
实例
almAckDisplay(“AlmObj_1”,“DisplayAcknowledge”);
almAckRecent()确认最近发生的报警
句法 [Result=]almAckRecent(ObjectName,Comment);
参数 描述
ObjectName 报警对象的名称。
如,AlmObj_1。
Comment 报警确认注释。
说明 有关一个错误号列表,见附录A。
实例
almAckRecent(“AlmObj_1”,$DateString);
almAckSelect()只确认报警显示中选定的报警。
句法 [Result=]almAckSelect(ObjectName,Comment);
参数 描述
ObjectName 报警对象的名称。
如,AlmObj_1。
Comment 报警确认注释。
实例
IF($Hour>0and$Hour<8)THEN
AckTag=“NightShift”;
ELSE
AckTag=“DayShift”;
ENDIF;
AlmAckSelect(“AlmObj_1”,AckTag);
almDefQuery()执行一个查询,用缺省属性更新报警对象。
法句 [Result=]almDefQuery(ObjectName);
参数 描述
ObjectName 报警对象的名称。
如,AlmObj_1。
说明 缺省查询属性是在开发时指定的。
实例
almDefQuery(“AlmObj_1”);
almMoveWindow()滚动报警显示对象窗口。
句法 [Result=]almMoveWindow(ObjectName,Option,Repeat);
参数 描述
ObjectName 报警对象的名称。
如,AlmObj_1。
Option 执行的报警确认类型:
类型 描述
LineDn 下一行。
LineUp 上一行。
PageDn 下一页。
PageUp 上一页。
Top 列表顶部。
Bottom 列表底部。
PageRt 右边的一页。
PageLf 左边的一页。
Right 列表的结尾(右侧)。
Left 列表的开始(左侧)。
重复 这一操作将被重复的次数。
$ 有关错误号的更多信息,参见附录A,“Windows控制和分布式报警脚本函数错误消息”。
实例
almMoveWindow(“AlmObj_1”,”Bottom”,0);
almMoveWindow(“AlmObj_1”,”LineDn”,3);
almMoveWindow(“AlmObj_1”,”PageUp”,0);
almQuery()执行一个查询来更新报警显示对象。
句法 [Result=]almQuery(ObjectName,AlarmList,FromPri,
ToPri,State,Type);
参数 描述
ObjectName 报警对象的名称。
如,AlmObj_1。
AlarmList 设置报警组/组列表来对,如“MyGroup”或消息标记名执行查询。
FromPri 要显示的报警的启动优先权。
如,100或整型标记名。
ToPri 要显示的报警的结束优先权。
如,900或整型标记名。
State 指定要显示的报警的类型。
如,“UnAck”或消息标记名。
有效的状态为“All”,“UnAck”或“Ack”。
Type 指定查询的类型,如,“Hist“(历史报警)或“Summ”(摘要报警)。
$ 有关错误号的更多信息,参见附录A,“窗口控制和分布式报警脚本函数错误消息”。
实例
此语句检索所有在“MyGroup”中指定的优先级在500到600之间的历史报警,这些报警将分布报警显示“Alarm1”。
AlmQuery("AlmObj_1","MyGroup",500,600,"All","Hist");
almSelectAll()在报警显示对象中,切换所有报警的选择。
句法 [Result=]almSelectAll(ObjectName);
参数 描述
ObjectName 报警对象的名称。
如,AlmObj_1。
实例
If$AccessLevel>8000THEN
almSelectAll(“AlmObj_1”);
almAckSelect(“AlmObj_1”,“AckSelectedbyaManager”);
ENDIF;
Text()使消息类型标记名根据指定的Format_Text格式显示一个模拟(整型或实型)标记名的值。
句法 MessageResult=Text(Analog_Tag,"Format_Text");
参数 描述
Analog_Tag 要转换的数字,实型或整型标记名。
Format_Text 在转换中要使用的格式。
实际字符串或消息标记名。
实例
MessageTag=Text(66,"#.00");
MessageTag是一个消息类型标记名,66为一个整型或实型的标记名。
“#0.00”代表显示格式:
IfAnalog_Tag=66,thenMessageTag="66.00".
IfAnalog_Tag=22.269,thenMessageTag="22.27".
IfAnalog_Tag=9.999,thenMessageTag="10.00".
LogMessage("ThecurrentvalueofFreeserRoomTempis:
"+Text(FreezerRoomTemp,"#.#"));
在下列例子中,消息标记将被设定为"One=1Two=2".
MessageTag="One+"+Text(1,"#")+StringChar(32)+"Two+"+Text(2,"#");
S
SelSPCConSampln1SDMsg
DDE类型 消息
访问 RO
描述 “连续样本在一个标准偏差内”的报警消息标记。
SendKeys
发送键给应用程序。
对接收应用程序来说,这些键就好象是从键盘上键入的。
此项功能可用来给应用程序输入数据或给应用程序发送命令。
大部分键盘上的键可以用在SendKeys语句中。
每个键可用一个或多个字符表示,例如“A”表示字母“A”或{ENTER}表示回车键。
句法 SendKeysKeySequence;
参数 描述
KeySequence 任何键顺序或消息类型标记名。
说明 若要指定一个以上的键,则需将每个字符的代码连接起来。
如,要指定一个后面跟着一个(b)的美元符号($)键,输入b。
下面列出了一个唯一键盘键的有效发送键:
键 代码 键 代码
BACKSPACE {BACKSPACE}or{BS} HOME {HOME}
BREAK {BREAK} INSERT {INSERT}
CAPSLOCK {CAPSLOCK} LEFT} LEFT}
DELETE {DELETE}or{DEL} NUMLOCK {NUMLOCK}
DOWN {DOWN} PAGEDOWN {PGDN}
END {END} PAGEUP {PGUP}
ENTER {ENTER}or~(tilde) PRTSC {PRTSC}
ESCAPE {ESCAPE}or{ESC} RIGHT {RIGHT}
F1 {F1}* TAB {TAB}
UP {UP}
*所有功能键也可以以同样的方式输入。
特殊字符(SHIFT,CTRL和ALT)有它们自己的键码:
键 代码
SHIFT +(plus)
CTRL ^(caret)
ALT %(percent)
SetPropertyD()指定运行期间要写的属性的离散值。
句法 [ErrorNumber字=]SetPropert