如何将用户指定的项添加到OPC数据组

时间:2013-09-27 08:10:23

标签: matlab tags matlab-guide popupmenu opc

我正在创建一个MATLAB应用程序,它连接到OPC服务器并读取Tag属性。 MATLAB文档告诉我,我可以添加一个组,添加标签项,然后读取值:

grp = addgroup(da, 'ExRead');
itm = additem(grp, 'Tag.Argument');

问题在于我不知道标记参数,在我的应用中,用户正在弹出菜单中选择一个可用标记,并且该值被写入字符串,但是当我调用时:

val = get(handles.popupmenu1, 'Value'); // Ask for Value selected item
string_val = get(handles.popupmenu1, 'String'); // Ask for string
stringName = string_val{val}; // Ask for string corresponding to the specified value 
set(handles.text1, 'String', stringName); // Display the selected tag
item1 = additem(Group1, stringName); // Add the selected string to a global group "Group1"
read1 = read(Group1, item1); // Read the value
set(handles.text11, 'String', read1); // Display the value

但是当我运行代码时,MATLAB会产生错误。我想问题是item1 = additem(Group1, stringName);在所有MATLAB文档示例中,我都看到类似item1 = additem(Group1, 'adres.adres.1');的内容。这可以解释为什么我无法向Group1添加任何数据。

但是如何将项目添加到必须由用户指定/选择的标记组?

2 个答案:

答案 0 :(得分:0)

Group1似乎是一个变量,未定义。也许您打算用引号键入'Group1'?这会将item添加到名为Group1的组中。

答案 1 :(得分:0)

如果我做对了,你就不知道应该使用哪些标签名称。

通常可以通过浏览服务器地址空间找到正确的ItemID(标记名称)。

在您的应用程序中实现浏览之前(如果可能,使用MATLAB),您可以使用测试客户端(例如Prosys OPC Client)浏览地址空间并找到要使用的正确ItemID。