В этом примере показано, как создать и сконфигурировать объекты OPC Toolbox™.
НЕОБХОДИМЫЕ УСЛОВИЯ:
Создайте клиент с помощью opcda
функция. Вам нужно имя хоста и идентификатор сервера для Серверов OPC, сопоставленных с этим клиентом.
da = opcda('localhost','Matrikon.OPC.Simulation.1'); connect(da);
Используйте addgroup
функция для добавления групп к объекту клиента. OPC Toolbox автоматически присваивает группе имя, если оно не задано.
grp1 = addgroup(da);
Групповые объекты используются для управления наборами daitem
объекты.
Чтобы присвоить группе свое имя, оно должно быть уникальным для всех групп в клиенте. Передайте имя в качестве дополнительного аргумента, чтобы addgroup
.
grp2 = addgroup(da,'MyGroup');
Введите имя объекта, чтобы просмотреть сводные данные группового объекта.
grp1
grp1 = Summary of OPC Data Access Group Object: Group0 Object Parameters Group Type : private Item : 0-by-1 daitem object Parent : localhost/Matrikon.OPC.Simulation.1 Update Rate : 0.5 Deadband : 0% Object Status Active : on Subscription : on Logging : off Logging Parameters Records : 120 Duration : at least 60 seconds Logging to : memory Status : Waiting for START. 0 records available for GETDATA/PEEKDATA
Добавить элемент с именем Random.Real8
в группу.
itm1 = additem(grp1,'Random.Real8');
Если необходимо, чтобы значение, сохраненное в MATLAB ®, имело определенный тип данных, укажите его как третий аргумент.
itm2 = additem(grp1,'Random.UInt2','double');
Чтобы просмотреть сводные данные объекта, введите имя объекта.
itm1
itm1 = Summary of OPC Data Access Item Object: Random.Real8 Object Parameters Parent : Group0 Access Rights : read Object Status Active : on Data Parameters Data Type : double Value : 0 Quality : Bad: Out of Service Timestamp : 12-Apr-2016 16:19:50
Ссылки на несколько объектов OPC Toolbox могут храниться в векторах объектов.
itmVec = [itm1,itm2]
itmVec = OPC Item Object Array: Index: Active: ItemID: Value: Quality: TimeStamp: 1 on Random.Real8 0 Bad: Ou... 16:19:50 2 on Random.UInt2 Bad: Ou...
Отображение вектора объекта показывает информацию о каждом объекте в векторе.
Просмотр списка всех свойств, поддерживаемых объектом.
get(da)
General Settings: EventLog = [] EventLogMax = 1000 Group = [1×2 dagroup] Host = localhost Name = localhost/Matrikon.OPC.Simulation.1 ServerID = Matrikon.OPC.Simulation.1 Status = connected Tag = Timeout = 10 Type = opcda UserData = [] Callback Function Settings: ErrorFcn = @opccallback ShutdownFcn = @opccallback TimerFcn = [] TimerPeriod = 10
Получите информацию об определенном свойстве.
clientName = da.Name
clientName = localhost/Matrikon.OPC.Simulation.1
Получите информацию о свойстве, используя propinfo
функция.
statusInfo = propinfo(da,'Status')
statusInfo = Type: 'string' Constraint: 'enum' ConstraintValue: {'disconnected' 'connected'} DefaultValue: 'disconnected' ReadOnly: 'always'
Информация включает в себя, является ли свойство доступным только для чтения, и приводит допустимые значения для свойств, которые имеют предопределённое множество значений.
Установите значение Timeout
свойство до 30 секунд.
da.Timeout = 30
da = Summary of OPC Data Access Client Object: localhost/Matrikon.OPC.Simulation.1 Server Parameters Host : localhost ServerID : Matrikon.OPC.Simulation.1 Status : connected Timeout : 30 seconds Object Parameters Group : 2-by-1 dagroup object Event Log : 0 of 1000 events
Удалите объекты, которые вы закончили использовать, из модуля OPC Toolbox.
disconnect(da) delete(da)
Удаление объекта клиента также удаляет группу и объекты элемента, связанные с этим клиентом.