Получение Item Reference из OPCClient

Интегрованная среда разработки (IDE) промышленных приложений.

Получение Item Reference из OPCClient

Сообщение callmecough » Вт июл 25, 2017 12:46 pm

Нужно получить значение Item Reference каждого элемента Attribute. Например, есть три кнопки и три текстовых поля. Необходимо по нажатию одной кнопки первому текстовому полю присваивалось значение Item Reference первого атрибута в ScanGroup (в моем примере IASPulse) - в данном случае - Zond.Value.Code2.For system numbers.IASPulse, по нажатию второй кнопки второму текстовому полю присваивалось значение Item Reference другого атрибута - IASPlenary и т.д.
Вообщем, подскажите пожалуйста, как можно обратиться вот к этим конкретным Item Reference? Спасибо.
Вложения
OPC_CLIENT.PNG
(22.42 КБ) Скачиваний: 0
callmecough
 
Сообщения: 14
Зарегистрирован: Ср апр 12, 2017 7:08 pm

Re: Получение Item Reference из OPCClient

Сообщение Генератор зла » Вт июл 25, 2017 9:50 pm

А в чём трудности?
Всё как обычно.
Создаётся производный от одного из шаблонов (A nalogDevices, DiscreteDevices, String), в котором в поле InputSource указывается ссылка на необходимый атрибут OPCClient_Zond#L08.
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: Получение Item Reference из OPCClient

Сообщение callmecough » Чт июл 27, 2017 11:47 am

Наверное, неправильно объяснил чего мне надо. В случае, как написали Вы, будет выводится именно величина, измеряемый параметр, давление или температура например, а мне нужно само название (текст) референса. Т.е. именно Zond.Value.Code2.For system numbers.IASPulse. Другими словами, по нажатию кнопки, чтоб выводилось имя привязки тега к системе нижнего уровня
callmecough
 
Сообщения: 14
Зарегистрирован: Ср апр 12, 2017 7:08 pm

Re: Получение Item Reference из OPCClient

Сообщение Генератор зла » Чт июл 27, 2017 2:04 pm

Данная информация хранится в:
ИмяOPCCliet.ИмяOPCGroup.AliasDatabase
Но придётся помучиться с расшифровкой в скрипте XML-формата, в котором хранятся данные.
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: Получение Item Reference из OPCClient

Сообщение callmecough » Пн ноя 13, 2017 2:47 pm

Данные из OPCClient.ИмяOPCGroup.AliasDatabase я получил. Вот таким образом:
dim TagRef as System.Xml.XmlNode;
dim doc as System.Xml.XmlDocument;
dim SR as System.IO.StringReader;

SR = new System.IO.StringReader(OPCClient_L09.Valve.AliasDatabase);
doc = new System.Xml.XmlDocument;
doc.load(SR);
TagRef = doc.SelectSingleNode("/ItemsList/Item[@Alias='"+me.Tagname+"']/@Name");
me.ItemReference = TagRef.InnerText;
LogMessage(TagRef.InnerText);


Теперь, как бы это сделать на уровне шаблона, т.е. у меня разная вот эта часть:OPCClient_L09.Valve.. Я мог бы получить ее, например из InputSource самого тега, сложить это все в string и сделать примерно так:
SR = new System.IO.StringReader(me.OPCName + "AliasDatabase"); где me.OPCName - это стринг с кусочком от InputSource, но функция System.IO.StringReader не понимает, что ей дают ссылку на данные, а не сами данные. то есть, с кавычками не работает:
SR = new System.IO.StringReader("OPCClient_L09.Valve.AliasDatabase");
Как бы заставить функцию использовать строку в качестве аргумента? Хотя, может есть и другие варианты? Спасибо!
callmecough
 
Сообщения: 14
Зарегистрирован: Ср апр 12, 2017 7:08 pm

Re: Получение Item Reference из OPCClient

Сообщение callmecough » Пн ноя 13, 2017 5:33 pm

Разобрался. Тут момогли https://stackoverflow.com/questions/456 ... ringreader
callmecough
 
Сообщения: 14
Зарегистрирован: Ср апр 12, 2017 7:08 pm


Вернуться в Development Studio & FactorySuite A²

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1