目的
数据搜索功能的用途是搜索特定类型的数据对象,并获取/设置这些对象的数值。
以下是数据搜索功能的一些应用示例:
• 在某变量的名称仅存在于字符串中的情况下,将某个数值设为该变量。
• 列出特定类型的所有变量。
• 为具有类似名称的一组类似变量设置一个新值。
其中包括
数据搜索功能包括:
• 数据类型datapos。
• 用于搜索一组数据对象,并获取或设置它们的数值:SetDataSearch、
GetDataVal、SetDataVal和SetAllDataVal。
• 用于遍历搜索结果的一项函数:GetNextSym。
应用手册 - 控制器软件IRC5 21
2.1.3.1 概述
2.1.3.2 RAPID组件
数据类型
此处简述了数据搜索功能所用的每种数据类型。更多信息请参见技术参考手册 - RAPID 指令、函数和数据类型中的各种数据类型。
描述 数据类型
datapos是用函数GetNextSym检索出的某数据对象(内部系统数据)的 封闭块。
datapos
指令:
此处简述了数据搜索功能所用的每条指令。更多信息请参见技术参考手册 - RAPID指 令、函数和数据类型中的各条指令。
描述 指令
SetDataSearch与GetNextSym一起用于从相关系统中检索出数据对象。
SetDataSearch
有了GetDataVal,用户便可从某字符串变量指定的数据对象中获取一个数 值,或从GetNextSym检索出的数据对象中获取一个数值。
GetDataVal
有了SetDataVal,用户便可在某字符串变量指定的数据对象中设置一个数 值,或在GetNextSym检索出的数据对象中设置一个数值。
SetDataVal
SetAllDataVal可为了其类型符合指定语法的所有数据对象设置一个新 值。
SetAllDataVal
函数
此处简述了数据搜索功能所用的每则函数。更多信息请参见技术参考手册 - RAPID指 令、函数和数据类型中的各则函数。
描述 功能
GetNextSym(获取下一个符号)与SetDataSearch一起用于从相关系统中 检索出数据对象。
GetNextSym
22 应用手册 - 控制器软件IRC5
2.1.3.2 RAPID组件
2.1.3.3 数据搜索功能的示例
设置未知变量
此例展示了当某变量名称未知且仅出现于字符串中时,该如何在编程时设置该变量的 数值。
VAR string my_string;
VAR num my_number;
VAR num new_value:=10;
my_string := "my_number";
!Set value to 10 for variable specified by my_string SetDataVal my_string,new_value;
重置变量范围
在此例中,所有以“my”打头的数字变量都被重置为0。
VAR string my_string:="my.*";
VAR num zerovar:=0;
SetAllDataVal "num"\Object:=my_string,zerovar;
列出/设置特定变量
在此例中,模块“mymod”中所有以“my”打头的数字变量都被列在了FlexPendant示教 器上,然后被重置为0。
VAR datapos block;
VAR string name;
VAR num valuevar;
VAR num zerovar:=0;
!Search for all num variables starting with "my" in the module
"mymod"
SetDataSearch "num"\Object:="my.*"\InMod:="mymod";
!Loop through the search result WHILE GetNextSym(name,block) DO
!Read the value from each found variable GetDataVal name\Block:=block,valuevar;
!Write name and value for each found variable TPWrite name+" = "\Num:=valuevar;
!Set the value to 0 for each found variables SetDataVal name\Block:=block,zerovar;
ENDWHILE
应用手册 - 控制器软件IRC5 23
2.1.3.3 数据搜索功能的示例
2.1.4 别名 I/O 信号