Сделайте копию объекта доступа к 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
объект, который имеет записи в памяти от сеанса логгирования, копируется без тех записей.
Объекты ОПКА ХДЫ не поддерживают 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