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() 函数,相应的错误代码可以被写到一个模拟标记名,并且关联的错误代码消息可以被写到一个消息标记名中。

Data Change Script Tagname[.field]:ErrorCode

Script body: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如果一个函数必须填充字符参数,该域设置返回到参数的最大字符串长度。在

I nTouch 中,字符串消息标记名的最大长度是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 报警。

句法 Ack Tagname;

参数描述

Tagname 任何InTouch 标记名,报警组,或组变量。

说明此函数可用于一标记名、报警组或组变量。(组变量为一标记名,它具有分配给它的报警组名称。)

实例

以下语句可用于一按钮,来确认任一未确认的报警:

Ack $System; (所有的报警)

Ack Tagname;

Ack GroupName;

Ack GroupVariable;

ActivateApp()

激活另一个正在运行的Windows 应用程序

句法ActivateApp TaskName;

参数描述

TaskName这个函数将激活的任务。

说明TaskName 是准确的文本字符串,包括出现在任务栏或任务管理器中的空格

(在Windows NT 中通过右单击任务栏,然后单击任务管理器或Ctrl+Alt+Delete 来访问)。

实例

以下例子检查是否命令提示符正在运行。如果正在运行,将使它出现在前景并给予聚焦。否则,启动一个命令提示符并启动命令提示符中的DOS 程序http://m.doczj.com/doc/34ad9b0bbb68a98271fefa56.html 。

IF InfoAppActive( InfoAppTitle("cmd")) == 1 THEN

ActiveApp InfoAppTitle("cmd");

ELSE

StartApp "cmd /c edit";

ENDIF;

almAckAll() 确认所有当前查询中的报警,包括那些在当前报警显示中未显示的报警。

句法 [Result=]almAckAll(ObjectName,Comment);

参数描述

ObjectName 报警对象的名称。如,AlmObj_1。

Comment 报警确认注释。

实例

MessageTag = “Acknowledge All by” + $Operator;

AlmAckAll(揂lmObj_1? MessageTag);

almAckDisplay() 只确认当前报警显示对象中可见的报警。

句法 [Result=]almAckDisplay(ObjectName,Comment);

参数描述

ObjectName 报警对象的名称。如,AlmObj_1。

Comment 报警确认注释。

实例

almAckDisplay(“AlmObj_1”, “Display Acknowledge”);

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 > 0 and $Hour < 8) THEN

AckTag = “NightShift”;

ELSE

AckTag = “Day Shift”;

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 > 8000 THEN

almSelectAll(“AlmObj_1”);

almAckSelect(“AlmObj_1”, “Ack Selected by a Manager”);

ENDIF;

Text() 使消息类型标记名根据指定的Format_Text 格式显示一个模拟(整型或实型)标记名的值。

句法MessageResult=Text(Analog_Tag,"Format_Text");

参数描述

Analog_Tag 要转换的数字,实型或整型标记名。

Format_Text 在转换中要使用的格式。实际字符串或消息标记名。

实例

MessageTag=Text(66,"#.00");

MessageTag 是一个消息类型标记名,66 为一个整型或实型的标记名。“#0.00”代表显示格式:

If Analog_Tag=66, then MessageTag="66.00".

If Analog_Tag=22.269, then MessageTag="22.27".

If Analog_Tag=9.999, then MessageTag="10.00".

LogMessage("The current value of FreeserRoomTemp is:"+ Text (FreezerRoomTemp, "#.#")); 在下列例子中,消息标记将被设定为"One=1 Two=2".

MessageTag = "One + " + Text(1,"#") + StringChar(32) + "Two +" + Text(2,"#");

S

SelSPCConSampln1SDMsg

DDE 类型消息

访问RO

描述“连续样本在一个标准偏差内”的报警消息标记。

SendKeys

发送键给应用程序。对接收应用程序来说,这些键就好象是从键盘上键入的。此项功能可用来给应用程序输入数据或给应用程序发送命令。大部分键盘上的键可以用在SendKeys 语句中。每个键可用一个或多个字符表示,例如“A”表示字母“A”或{ENTER}表示回车键。句法SendKeys KeySequence;

参数描述

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} PAGE DOWN {PGDN}

END {END} PAGE UP {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字=]SetPropertyD("ControlName.Property", DiscreteTag);

参数描述

ControlName 窗口控制名称。如,ChkBox_1 或报警对象名。如,AlmObj_1。

.Property 窗口控制或报警对象属性。

DiscreteTag 当该函数执行时,一个保存要写入值的离散值或离散标记名。典型用法:

0 = 控制失效

1 = 控制被激活

SetPropertyI() 指定运行期间要写的属性的整型值。

句法[ErrorNumber字=]SetPropertyI("ControlName.Property", Integer);

参数描述

ControlName 窗口控制名称。如,ChkBox_1 或报警对象名。如,AlmObj_1。

.Property 窗口控制或报警对象属性。

Integer 一个数字或整型标记名。

SetPropertyM() 指定运行期间要写的属性的消息值。

句法[ErrorNumber字=]SetPropertyM("ControlName.Property", "MessageTag"); 参数描述

ControlName 窗口控制名称。如,ChkBox_1 或报警对象名。如,AlmObj_1。

.Property 窗口控制或报警对象属性。

MessageTag被写给ControlName 的属性的字符串。实际字符串或消息标记名。

Sgn() 判别一个数值的符号(正、零或负)

句法RealResult=Sgn(Number);

参数描述

Number 任何数字,实型或整型标记名。

说明若输入的数为正的,则结果为1。负数将返回-1,0 将返回0。

例子

Sgn(425) 将返回1

Sgn(0) 返回0

Sgn(-37.3) 返回–1

Show 显示指定的窗口。(窗口名称必须在引号内。)

句法Show“Window”;

参数描述

Window 被显示窗口的名称。实际字符串或消息标记名。

说明“Window”必须和现存的窗口或要创建的窗口的名称相匹配。在运行期间,若窗口不存在,

WindowViewer 将此语句忽略。若窗口的名称改变了,则它在脚本中必须改变。

实例

Show“Alarm Summary Window”;

注意

如果脚本仅仅在隐藏或显示窗口,我们建议使用“Show Window”或“Hide Window”链接被使用。若使用上述函数并且窗口名改变了,InTouch 将自动作出变化。

ShowAt() 显示窗口时,指定其水平和垂直方向的像素位置。

句法ShowAt(“Window”,Horiz,Vert);

参数描述

Window 窗口的名称。实际字符串或消息标记名。

Horiz 水平像素位置。数字或整型标记名。

Vert 垂直像素位置。数字或整型标记名。

说明当窗口打开时,它将位于水平和垂直座标的中心。若它的边界超出了屏幕,那它就不会被居中。对那条边的最佳拟合将被执行。

实例

下面的语句中,100 代表水平像素的位置,200 代表垂直像素的位置:

ShowAt("Window Name",100,200);

模拟输入对象也能被创建并与内存标记名(如TagHoriz 和TagVert)相链接,以在运行期间动态地改变窗口的位置。在此情况下,语句应输入为:

ShowAt("Boiler Room 7 Details",TagHoriz,TagV ert);

下面的语句判别对象的像素位置,内部标记名$ObjHor 和$ObjV er 可分配给用以显示当前选定对象的位置的模拟量输出链。通过使用链接到对象或按钮的脚本中的$ObjHor 和$ObjVer 标记名,可在此对象或按钮的顶端居中位置显示窗口。

ShowAt("Window Name",$ObjHor,$ObjVer);

ShowAt() 显示窗口时,指定其水平和垂直方向的像素位置。

句法ShowAt(“Window”,Horiz,Vert);

参数描述

Window 窗口的名称。实际字符串或消息标记名。

Horiz 水平像素位置。数字或整型标记名。

Vert 垂直像素位置。数字或整型标记名。

说明当窗口打开时,它将位于水平和垂直座标的中心。若它的边界超出了屏幕,那它就不会被居中。对那条边的最佳拟合将被执行。

实例

下面的语句中,100 代表水平像素的位置,200 代表垂直像素的位置:

ShowAt("Window Name",100,200);

模拟输入对象也能被创建并与内存标记名(如TagHoriz 和TagVert)相链接,以在运行

期间动态地改变窗口的位置。在此情况下,语句应输入为:

ShowAt("Boiler Room 7 Details",TagHoriz,TagV ert);

下面的语句判别对象的像素位置,内部标记名$ObjHor 和$ObjV er 可分配给用以显示当前选定对象的位置的模拟量输出链。通过使用链接到对象或按钮的脚本中的$ObjHor 和$ObjVer 标记名,可在此对象或按钮的顶端居中位置显示窗口。

ShowAt("Window Name",$ObjHor,$ObjVer);

ShowHome;

显示“起始”窗口。起始窗口为那些你所选的,WindowViewer 启动时自动打开的窗口。(起始窗口可通过“WindowViewer

属性- 起始窗口”属性页来选择。)

句法ShowHome;

Sin() 返回以度数表示的角的正弦值。

句法Result=Sin(AngleNumber);

参数描述

AngleNumber 以度为单位的角度。任何数字,实型或整型标记名。

说明“Number”的正弦值被计算并返回到“Result”。

实例

Sin(90) 将返回1

Sin(0) 返回0

wave = 100 * sin (6 * $second);

ShowTopLeftAt() 窗口显示时,指定其左上角的水平和垂直像素位置。

句法ShowTopLeftAt("Window",Horiz,Vert);

参数描述

Window 窗口的名称。实际字符串或消息标记名。

Horiz 水平像素位置。数字或整型标记名。

Vert 垂直像素位置。数字或整型标记名

说明当窗口打开时,它的左上角将位于水平和垂直座标相交处。(屏幕的最左上角的像素位置是0,0。)除了是控制要显示的窗口的左上角的位置外,此函数的工作原理与ShowAt() 函数相同。

W

wcAddItem()

将提供的字符串加入到列表框或组合框。若列表框或组合框创建时未排序,则字符串添加到列表的末尾。否则字符串被插入到列表中,并且列表被排序。

句法[ErrorNumber=]wcAddItem("ControlName","MessageTag");

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。MessageTag 将被显示的消息字符串。实际字符串或消息标记名。

应用于列表框和组合框

实例

当窗口(使用显示时窗口脚本)包含的列表框被打开时,下面的语句将消息字符串的内容添加到列表框中:

wcAddItem("ListBox_1", "Chocolate");

wcAddItem("ListBox_1", "Vanilla");

wcAddItem("ListBox_1", "Strawberry");

wcClear() 删除列表框或组合框中的所有项。

句法[ErrorNumber=]wcClear("ControlName");

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。

应用于列表框和组合框

实例

当按下按钮(动作脚本),下面的语句将删除组合框中所有的项:

wcClear("ListBox_1");

wcDeleteItem() 删除列表框或组合框中与项索引参数关联的项。

句法[ErrorNumber=]wcDeleteItem("ControlName",ItemIndex);

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。ItemIndex 与该项目的位置对应的一个数字。数字或整型标记名。

应用于列表框和组合框

实例

当按下按钮(动作脚本),下面的语句将删除一列表中的第三个项目:

wcDeleteItem("ListBox_1", 3);

wcDeleteSelection() 从列表中删除当前选定的项。

句法[ErrorNumber =]wcDeleteSelection("ControlName");

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。

应用于列表框和组合框

实例

当按下按钮(动作脚本)时,下面的语句将删除一个组合框列表中当前所选定的项:wcDeleteSelection("ListBox_1");

wcErrorMessage() 返回一个描述该错误的消息字符串。

句法ErrorMessage=wcErrorMessage(ErrorNumber);

参数描述

ErrorMessage 消息标记名。

ErrorNumber字被所有窗口控制函数返回的数字。数字或整型标记名。

应用于列表框,文本框,组合框,复选框和单选按钮。

实例

若在加载列表时发生错误,则在消息标记名ErrorDescription 中显示描述错误的文本。在此例中,一个字符串值输出动画链接被赋予标记名ErrorDescription 来显示错误消息。

显示时窗口脚本:

ErrorNumber=wcLoadList("ListBox_1","c:\InTouch\recipe.txt");

ErrorDescription=wcErrorMessage(errorNumber);

此函数也可以与各种窗口控制函数使用来显示错误消息:

ErrorNumber=wcAddItem("ListBox_1","Wang Yong");

ErrorMsg=wcErrorMessage(ErrorNumber);

wcFindItem() 决定列表框或组合框中与消息字符串匹配的第一个项所对应的索引。

句法[ErrorNumber=]wcFindItem

("ControlName","MessageTag",DiscreteTag,Tagname);

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。MessageTag 将被比较的消息字符串。实际字符串或消息标记名。

DiscreteTag 决定字符串比较的类型。可赋予下列离散值之一:

0 = 大小写不敏感

1 = 大小写敏感

Tagname 实际整型标记名名称。

应用于列表框和组合框

wcGetItem() 返回在列表框或组合框中与对应的ItemIndex 相关联的项目字符串的值的属性。

句法[ErrorNumber=]wcGetItem("ControlName",ItemIndex,Tagname);

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。。实际字符串或消息标记名。ItemIndex 与该项目的位置对应的一个数字。数字或整型标记名。

Tagname 实际实型或整型标记名名称。wcGetItem 函数将与项目相应的数值放入从该函数返回的标记名。

应用于列表框和组合框

实例

当按下按钮(动作脚本)时,下面的语句将把一个组合框中第10个项目的字符串值返回给消息标记名ListSelection:

wcGetItem("combobox_1", 10, ListSelection);

若列表中的第10项是“Vanilla”,则ListSelection 将包含字符串“V anilla”。wcGetItemData() 决定由参数ItemIndex 识别的列表项相关的整型值。

句法[ErrorNumber=]wcGetItemData("ControlName",ItemIndex,Tagname);

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。ItemIndex 与该项目的位置对应的一个数字。数字或整型标记名。

Tagname 实际实型或整型标记名名称。wcGetItemData 函数将与项目相应的数值放入从该函数返回的标记名。

应用于列表框和组合框

实例

当按下按钮(动作脚本)时,下面的语句检索与列表框中第5个项相关的数字值,并将其返回给标记名ItemValue:

wcGetItemData("ListBox_1", 5, ItemValue);

若列表中的第5个项目被赋予整型值4500,则标记名ItemValue 将包含4500。wcInsertItem()

将Message 字符串插入列表中。ItemIndex 是要插入的列表索引位置。与wcAddItem() 不同,wcInsertItem() 函数将不对列表进行排序,即使它是一个有序列表框或组合框。

句法[ErrorNumber=]wcInsertItem("ControlName",ItemIndex,"MessageTag");

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。ItemIndex 对应于被添加项位置的数字。若此参数为-1,则字符串将被添加到列表末尾。数字或整型标记名。

MessageTag 包含要在被ItemIndex 所指示位置插入的字符串。.实际字符串或消息标记名。应用于列表框和组合框

例实

当按下按钮(动作脚本)时,下面的语句将一名为“Blueberry”的新项目插入到列表框从上到下第4 个位置处。

wcInsertItem("ListBox_1", 4, "Blueberry");

wcLoadList() 用包含于FileName 的项目来替换列表框或组合框的内容。

句法[ErrorNumber=]wcLoadList("ControlName","Filename");

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。Filename 包含纯ASCII 格式的文件名称。如果没有提供完整的路径名作为消息参数,则此函数将在应用程序目录查找消息文件。实际字符串或消息标记名。

应用于列表框和组合框

实例

当包含组合框的窗口(显示时窗口脚本)被打开时,下面的语句加载一个正确格式的列表(位于C:\InTouch\recipe.txt”)

到此组合框中:

wcLoadList("Combobox_1", "c:\InTouch.32\wclist.txt");

wcLoadText() 以FileName 的内容替换文本框的内容。

句法[ErrorNumber=]wcLoadText("ControlName", "Filename");

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。Filename 包含纯ASCII 格式的文件名称。如果没有提供完整的路径名作为消息参数,则此函数将在应用程序目录查找消息文件。实际字符串或消息标记名。

说明wcLoadText() 函数只支持纯ASCII 文本格式文件,诸如那些用Microsoft 记事本程序创建的文件。窗口控制的错误号列在附录A 中。

& 有关高级文件浏览能力,参见Factory Suite 的“生产率包”的文档浏览器。

应用于文本框

实例

当包含文本框的窗口(显示时窗口脚本)打开时,下面的语句加载一个记事本文本文件(c:\InTouch\readme.txt”) 到一个文本框中:

wcLoadText("Textbox_1", "c:\InTouch\readme.txt");

wcSaveList() 以列表框或组合框对象中所列项目替换FileName 的内容。

句法[ErrorNumber=]wcSaveList("ControlName","Filename");

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。Filename 包含纯ASCII 形式的文件名称。如果文件不存在,则将被创建。使用wcLoadList() 函数,这些项目能被相继加载到列表对象中。实际字符串或消息标记名。

应用于列表框和组合框

实例

当按下按钮(动作脚本)时,下面的语句将当前列表框中的项存到一文件中(c:\InTouch\newList.txt”):

wcSaveList("ListBox_1", "c:\InTouch\newlist.txt");

注意

如果外部ASCII 文件被用来填充列表框和组合框,则它们必须遵照特定的格式并且包含特定的消息。格式如下所示:

ControlType, ListCount

ListItem, ItemData

ListItem, ItemData

ListItem, ItemData

例如:一个要被加载到一个组合框中的列表文件,它包含三个供选择的项,并且这些项没有被赋予项数据。(有关项数据的更多信息,参见wcSetItemData() 函数)。

文件的格式如下所示:

ComboBOX, 3

ComboBOX, 3

Vanilla, 0

Strawberry, 0

描述:COMBOBOX 是控制类型。Chocolate,Vanilla,和Starwberry 的ListCount 为 3 ,代表其三个项目。Chocolate 则被列为第一个列表项目或索引1。Vanilla 作为索引2,而最后Strawberry 作为3。每一个索引项目都有一个0 数据值。

wcSaveText()

将包含于文本框中的文本保存到FileName。如果此文件不存在,它将被创建;如果它存在,则其必须是可读/写的。

句法[ErrorNumber=]wcSaveText("ControlName","Filename");

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。Filename 包含纯ASCII 格式的文件的名称。如果没有提供完整的路径名,则此函数将保存在应用程序目录下。如果文件不存在,则将被创建。使用wcLoadList() 函数,这些项目能相继被加载到列表对象中。实际字符串或消息标记名。

应用于文本框

实例

当按下按钮(动作脚本)时,下面的语句将文本框的当前信息存入文件c:\InTouch\newtext.txt 中:

wcSaveText("Textbox_1", "c:\InTouch\newtext.txt");

注意

同Microsoft 记事本创建的文件一样,wcSaveText() 函数仅仅以纯ASCII 文本格式保存文件。

参见wcLoadList()

wcSetItemData()

将项目(Number)的一个整型值赋予列表中由ItemIndex 指定的项。该函数允许将一个数字赋予一个字符串。

句法[ErrorNumber=]wcSetItemData("ControlName",ItemIndex,Number);

参数描述

ControlName 窗口控制对象的名称。如,ListBox_1。实际字符串或消息标记名。

ItemIndex 指定请求项目显示顺序的整型值。数字或整型标记名。

Number 代表项目数据的一个整型值。数字或整型标记名。

说明含有这些项的完整列表能由外部创建(如记事本),并且能通过调用一个函数进行加载。该列表必须按wcSaveList() 函数所描述的那样被正确地格式化。

实例

有一含有三种成分的配方:面粉、糖和盐。面粉为4500 克,糖为1500 克,盐为325

克。通过“数据更改脚本”将这些值分配给列表框中的每一项,该“数据更改脚本”由所选定的配方(标记名,配方名)触发:

wcSetItemData("ListBox_1", 1, 4500); {设定列表中第1 项

(面粉)=4500}

wcSetItemData("ListBox_1", 2, 1500); {设定列表中第2 项

(糖)=1500}

wcSetItemData("ListBox_1", 3, 325); {设定列表中第3 项

(盐)=325}

wcGetItemData() 函数被用来返回与列表项目相关联的值(项目数据)。参数Tagname 包含被返回的数值。这个参数可以是一个直接写入真实设备的DDE 整型标记名。WWControl() 允许你从InTouch 恢复,最小化,最大化, 或关闭一个应用程序。

句法WWControl("AppTitle","ControlType");

参数描述

AppTitle 将被控制的应用程序标题名。一个特定应用程序的标题可以通过InfoAppTitle() 函数来决定。实际字符串或消息标记名。

ControlType 决定按下列何种方式控制应用程序(这些动作等价于单击此应用程序控制菜单中它们所对应选项):实际字符串或消息标记名。

类型描述

"恢复" 激活并显示应用程序的窗口。

"最小值" 激活一个窗口并且以一个图标显示它。

"最大值" 激活并显示应用程序的窗口。

"关闭" 关闭一个应用程序。

实例

WWControl("Calculator","Restore");

WWControl("Microsoft Excel","Close");

WWControl(InfoAppTitle("View"), "Close");

F

FactoryFocus

FactoryFocus 是一个仅在InTouch 运行时版本下的视图。它允许监管人员能在实时情况下查看HMI 应用程序进程。由于没有数据可以被改变,查看是其仅有的功能,因而系统安全性相应增加。要使用InTouch FactoryFocus,您不必改变您的InTouch 应用程序。

InTouch FactoryFocus 仅作为一个客户。运用DDE 或SuiteLink 既没有写入数据,也没有插入数据到类似Excel 的程序中。报警可以被查看但不能被确认。FactoryFocus 不能象I/O 服务器那样请求客户。一些象动画链接,标记名,实时和历史趋势的特性只能被查看。

FileCopy() 复制SourceFile 至DestFile,与DOS 的复制命令或Windows 文件的复制功能相似。

句法FileCopy(SourceFile,DestFile,DoneTag);

参数描述

SourceFile 源文件名(包括完整路径)。

DestFile 目标文件(包括完整的路径)或目录名(参见下面的例子)。

DoneFile FileCopy() 函数用于报告拷贝过程进展的标记名的名称。此参数必须是一个表明标记名名称的字符串(而非实际的标记名本身)。所以若你的完成标记为Monitor,

你就应提供“Monitor”或http://m.doczj.com/doc/34ad9b0bbb68a98271fefa56.html,而不能仅仅是Monitor 。

说明当使用FileCopy()函数时,若成功地启动了此过程,它立即返回1。若另一过程在运行中(此新过程不能被启动)它将返回0,或在出错时,返回-1。使用此返回值可以监视FileCopy() 函数的启动:

Status=FileCopy("C:\*.TXT", "C:\BACKUP", "Monitor");

Status 是一个为1,-1,0 的整型标记名。FileCopy() 函数在后台执行,这样它不会干扰InTouch 的运行。DoneTag 允许应用程序或用户监视此复制操作的进展。用这种方法,用户可以被提醒在过程启动后可能发生的任何错误。这与上述返回的Status 不同,Status 表明的是复制过程是否被成功启动。

一旦复制过程已成功启动,DoneTag 就会被赋值。此过程尚在进行中时它被置为0。

当此过程成功结束后,它被置为1,或在此过程结束前发生错误,它被置为-1。

SourceFile 和DestFile 一般为文件名。不过,用FileCopy() 函数复制单一文件时,目标可以是一个目录:

FileCopy("C:\DATA.TXT", "C:\BACKUP", "Monitor");

这将把文件“DA TA.TXT”复制到“C:\”驱动器上一个叫做“BACKUP”的目录下。标记Monitor 在复制完成后被置为1。

不过,若SourceFile 包含任何通配符的话,DestFile 必须是一个目录(而非文件名),否则此函数将返回一个错误代码:

FileCopy("C:\*.TXT", "C:\BACKUP", "Monitor");

这将从C:\ 根目录拷贝所有的.TXT 文件到C:\BACKUP目录下。标记Monitor 在复制完成后被置为1。

FileDelete() 删除不需要或不想要的文件。

句法FileDelete(Filename);

参数描述

Filename 要删除的文件名。

说明若找到要删除的文件,并成功地删除,此函数将返回1,否则此函数返回0。

实例

Status=FileDelete("C:\DATA.TXT");

若在C:\root下找到“DATA.TXT”文件,则Status 等于1,未找到该文件则为0。FileMove() 与FileCopy() 函数相似,除了它将文件从一个位置转移到另一个位置,而不是复制。

句法FileMove(SourceFile,DestFile,DoneTag);

参数描述

SourceFile 源文件名(包括完整路径)。

DestFile 目标文件名(包括完整路径)。

DoneTag FileMove() 函数用来报告转移过程进展情况的标记名称。此参数必须是一个表明标记名名称的字符串(而非实际的标记名本身)。所以,若你的完成标记叫做Monitor,你就得提供“Monitor”或http://m.doczj.com/doc/34ad9b0bbb68a98271fefa56.html 而不是Monitor 而已。

说明当使用FileMove() 函数时,若成功地启动了此过程,它立即返回1。若另一过程在运行中(此新过程不能启动),它将返回0,或者出错时返回-1,使用此返回值,可以监视FileMove() 函数的启动。

Status=FileMove("C:\DATA.TXT", "D:\DA TA.TXT", "Monitor");

Status=FileMove("C:\DATA.TXT", "D:\DA TA.TXT", "Monitor");

Status是一个为1,-1,0 的整型标记。FileMove() 函数在后台执行,这样它不会干扰InTouch

的运行。使用DoneTag 是为了允许应用程序或用户监视转移操作的进展。用这种方法,可提醒用户在转移过程启动后可能发生的任何错误。这与上述返回的Status 不同,Status指示的是转移过程是否已成功被启动。

一旦转移过程已成功启动,DoneTag 就会被赋值。此过程尚在运行中时它被置为0。当此过程成功结束后,它被置为1,或此过程结束前发生错误,它被置为-1。

若SourceFile 和DestFile 位于同一驱动器上,此函数可以简单地更改此文件的目录参考(计算机在此参考中保存磁盘上的文件名称和位置),而不用实际转移任何数据。在这种情况下,不管此文件的大小,转移操作将会很快。若SourceFile 和DestFile 位于不同的驱动器,转移操作所费的时间将随文件的大小不同而不同。这是因为数据必须由一个物理磁盘传送到另一物理磁盘上。

实例

FileMove ("C:\DATA.TXT","C:\BACKUP\DA TA.TXT","Monitor");

这将把名为“DATA.TXT”的文件从驱动盘“C”根目录中转移到名为“BACKUP”的目录下。标记Monitor 在其完成后被置为1。

注意

此函数也可用于文件更名,只要SourceFile 和DestFile 指定了相同的目录,但不同的文件名。

FileMove ("C:\DATA.TXT","C:\DATA.BAK","Monitor");

这将把C:\root 目录下文件“DATA.TXT”更名为“DA TA.BAK”。标记Monitor 在其完成后被置为1。

FileMove()

与FileCopy() 函数相似,除了它将文件从一个位置转移到另一个位置,而不是复制。

句法FileMove(SourceFile,DestFile,DoneTag);

参数描述

SourceFile 源文件名(包括完整路径)。

DestFile 目标文件名(包括完整路径)。

DoneTag FileMove() 函数用来报告转移过程进展情况的标记名称。此参数必须是一个表明标记名名称的字符串(而非实际的标记名本身)。所以,若你的完成标记叫做Monitor,你就得提供“Monitor”或http://m.doczj.com/doc/34ad9b0bbb68a98271fefa56.html 而不是Monitor 而已。

说明当使用FileMove() 函数时,若成功地启动了此过程,它立即返回1。若另一过程在运行中(此新过程不能启动),它将返回0,或者出错时返回-1,使用此返回值,可以监视FileMove() 函数的启动。

Status=FileMove("C:\DATA.TXT", "D:\DA TA.TXT", "Monitor");

Status=FileMove("C:\DATA.TXT", "D:\DA TA.TXT", "Monitor");

Status是一个为1,-1,0 的整型标记。FileMove() 函数在后台执行,这样它不会干扰InTouch 的运行。使用DoneTag 是为了允许应用程序或用户监视转移操作的进展。用这种方法,可提醒用户在转移过程启动后可能发生的任何错误。这与上述返回的Status 不同,Status指示的是转移过程是否已成功被启动。

一旦转移过程已成功启动,DoneTag 就会被赋值。此过程尚在运行中时它被置为0。当此过程成功结束后,它被置为1,或此过程结束前发生错误,它被置为-1。

若SourceFile 和DestFile 位于同一驱动器上,此函数可以简单地更改此文件的目录参考(计算机在此参考中保存磁盘上的文件名称和位置),而不用实际转移任何数据。在这种情况下,不管此文件的大小,转移操作将会很快。若SourceFile 和DestFile 位于不同的驱动器,转移操作所费的时间将随文件的大小不同而不同。这是因为数据必须由一个物理磁盘传

送到另一物理磁盘上。

实例

FileMove ("C:\DATA.TXT","C:\BACKUP\DA TA.TXT","Monitor");

这将把名为“DATA.TXT”的文件从驱动盘“C”根目录中转移到名为“BACKUP”的目录下。标记Monitor 在其完成后被置为1。

注意

此函数也可用于文件更名,只要SourceFile 和DestFile 指定了相同的目录,但不同的文件名。

FileMove ("C:\DATA.TXT","C:\DATA.BAK","Monitor");

这将把C:\root 目录下文件“DATA.TXT”更名为“DA TA.BAK”。标记Monitor 在其完成后被置为1。

FileReadFields() 从一个指定文件中读出CSV(逗点分离变量)记录。

句法FileReadFields(Filename,FileOffset,StartTag,NumberOfFields);

参数描述

Filename 指定要读取的文件。

FileOffset 指定文件中开始读取的位置。

StartTag 指定一个第一个数据项目将被写入的InTouch 标记名的名称。此标记名必须以一个数字结尾(如MyTag1

)。此参数必须是一个指示标记名的字符串(而非实际的标记本身)。所以,如果你的标记名称为MyTag 1,你就得提供“MyTag1”或http://m.doczj.com/doc/34ad9b0bbb68a98271fefa56.html,而非仅仅MyTag1 而已。NumberOfFields 指定要读的域数目(此文件的每个记录中以逗号分离的域的数目)。

说明若StartTag 为“MyTag1”而NumberOfFields 为3,则有 3 个域从文件中读出并保存在MyTag1、MyTag2 和MyTag3 中。这些具有连续名称的标记必须先在InTouch 中创建,并可以属于不同的类型(整型,消息等等)。

实例

如果C:\DATA\FILE.CSV 的第一行是:

This is text, 3.1416, 5

则下面的脚本将读出此行,并把“This is text”保存在MyTag1 中,3.1416 保存在MyTag2中,5 保存在MyTag3 中:

BytePosition=FileReadFields ("C:\DATA\FILE.CSV", 0, "MyTag1", 3);

此函数在读出之后返回新的字节位置。你可以在下次读时使用此返回值作为FileOffset 的值。

FileReadFields ("C:\DATA\FILE.CSV",BytePosition,"MyTag1",3);

注意

InTouch 中的消息标记最大可以储存131 个字符。

FileReadMessage() 从指定文件中读出一指定数目的字节(或一整行)。

句法FileReadMessage(Filename,FileOffset,Message_Tag,CharsToRead);

参数描述

Filename 指定要读取的文件。

FileOffset 指定文件中开始读取的位置。

Message_Tag 指定存放从文件中读取的数据的位置。最多可存储131 个字符。CharsToRead 指定从文件内读多少字节。为运行文本文件,CharsToRead 可以被设为0。函数将一直读到文件中的下一个LF(换行),或一直读到131 个字符。

实例

FileWriteMessage ("C:\DATA\FILE.TXT", 0, MsgTag, 0);

文件“C:\DATA\FILE.TXT”的第一行将被读出并保存到MsgTag 中。此函数在读出之后返回新的字节位置。你可以在下次读时使用此返回值作为FileOffset 的值。

FileWriteFields() 写入逗号分离变量(CSV)记录到指定文件。

句法FileWriteFields(Filename,FileOffset,StartTag,NumberOfFields);

参数描述

Filename 指定要写入的文件。若文件不存在,它将被创建。

FileOffset 指定文件中开始写入的位置。若FileOffset 为-1,此函数将写到文件末尾。StartTag 指定一个第一个数据项目的InTouch 标记名的名称。此标记名必须以一个数字结尾(如MyTag1)。此参数必须是一个指示标记名的字符串(而非实际的标记名本身)。所以,若你的标记叫做MyTag 1,你就得提供“MyTag1”或http://m.doczj.com/doc/34ad9b0bbb68a98271fefa56.html,而非仅仅MyTag1 而已。

NumberOfFields 指定要写的域数目(此文件的每个记录中以逗号分离的域数目)。

说明若StartTag 为“MyTag1”,而NumberOfFields 为3,则有 3 个域被写入文件中(写入的是MyTag1,MyTag2

和MyTag3)。这些具有连续名称的标记必须预先在InTouch 中创建,并可以是不同的类型(整型,消息等等)。

下列脚本将写入行“This is text,3.1416, 5”到C:\DA TA\FILE.CSV 的第一行。“This is text”是当前MyTag1 中的值,3.1416 在MyTag2 中,而5 在MyTag3 中:

FileWriteFields ("C:\DATA\FILE.CSV", 0, "MyTag1", 3);

此函数在写入之后返回新的字节位置。你可以在下次写时使用此返回值作为FileOffset 值。下面的脚本将把文本字符串MyTag1 写到C:\DA TA\FILE.CSV 的结尾:

FileWriteFields ("C:\DATA\FILE.CSV", -1, "MyTag1", 3);

FileWriteMessage() 往指定文件写入一指定数目的字节(或一整行)。

句法FileWriteMessage(Filename,FileOffset,Message_Tag, LineFeed);

参数描述

Filename 指定要写入的文件。若文件不存在,则创建它。

FileOffset 指定在文件内开始写的位置。若FileOffset 为-1,此函数将写到文件末尾。Message_Tag 指定要写到文件中的字符。

LineFeed 指定在写完操作之后是否加一行。当写一个文本文件时,设LineFeed 为1。

说明此函数在写入之后返回新的字节位置。你可以在下次写时使用此返回值作为FileOffset()。

实例

下列指令写入一个叫MsgTag 的消息标记名到C:\DATA\FILE.TXT 文件的结尾:FileWriteMessage ("C:\DATA\FILE.TXT", -1, MsgTag, 1);

.

.Ack 监视和/或控制本地报警的报警确认状态。

监视和/或控制本地报警的报警确认状态。

用法Tagname.Ack=1

参数描述

Tagname 任何离散,整型或实型标记名类型,间接模拟或组变量。

说明设置这个点域值为 1 来确认任何与指定标记名/组有关的未确认的报警。当指定标记名是“组变量”类型或是一个报警组,所有与指定组内标记关联的未确认报警被确认。当指定标记是任何除组变量以外的类型,只有与此标记关联的未确认报警被确认。设置此点域

相关推荐
相关主题
热门推荐