exponenta event banner

copyobj

Создание копии объекта доступа к данным OPC

Синтаксис

NewObj = copyobj(Obj)
NewObj = copyobj(Obj, ParentObj)

Описание

NewObj = copyobj(Obj) создает копию всех объектов в Objи возвращает их в NewObj. Obj может быть скалярным объектом OPC Toolbox™ или вектором объектов панели инструментов.

NewObj = copyobj(Obj, ParentObj) создает копию объектов в Obj внутри родительского объекта ParentObj. ParentObj должен быть допустимым скалярным родительским объектом для Obj. При наличии каких-либо объектов в Obj невозможно создать в ParentObj, будет сгенерировано предупреждение.

Скопированный объект панели инструментов содержит новые версии всех нижестоящих элементов, их нижестоящих элементов и всех родительских элементов, необходимых для создания этого объекта. Скопированный объект отличается от родительского следующим образом:

  • Значения свойств, доступных только для чтения, не будут скопированы в новый объект. Например, если объект сохранен с помощью Status значение свойства 'connected', объект будет воссоздан с помощью Status значение свойства 'disconnected' (значение по умолчанию). Вы можете использовать propinfo чтобы определить, доступно ли свойство только для чтения. В частности, подключенный opcda объект копируется в отключенном состоянии, а копия журнала dagroup объект не сбрасывается в состояние ведения журнала.

  • Скопированный dagroup объект, имеющий записи в памяти из сеанса регистрации, копируется без этих записей.

    Объекты OPC HDA не поддерживают copyobj.

Примеры

Создайте подключенный клиент Data Access с группой, содержащей элемент:

da1 = opcda('localhost', 'Matrikon.OPC.Simulation');
connect(da1);
grp1 = addgroup(da1, 'CopyobjEx');
itm1 = additem(grp1, 'Random.Real8');

Скопируйте объект клиента. При этом также копируются объекты группы и номенклатуры.

da2 = copyobj(da1);
grp2 = da2.Group

Измените имя первой группы и обратите внимание, что имя второй группы не изменилось:

grp1.Name = 'NewGroupName';
grp2.Name

См. также

|

Представлен до R2006a