Этот пример показывает вам, как создать и сконфигурировать объекты OPC Toolbox™.
НЕОБХОДИМЫЕ УСЛОВИЯ:
Создайте клиент, использующий opcda функция. Вам нужны имя хоста и ID сервера для Сервера 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)
Удаление объекта клиента также удаляет группу и объекты элемента, сопоставленные с тем клиентом.