Копирование объекта доступа к OPC Data
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.
Создайте подключенный клиент Доступ с группой, содержащей элемент:
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