В этом примере показано, как создавать и настраивать объекты OPC Toolbox™.
ПРЕДВАРИТЕЛЬНЫЕ УСЛОВИЯ:
Создание клиента с помощью opcda функция. Необходимо указать имя хоста и идентификатор сервера для OPC-сервера, связанного с этим клиентом.
da = opcda('localhost','Matrikon.OPC.Simulation.1'); connect(da);
Используйте addgroup для добавления групп к объекту клиента. Панель инструментов OPC автоматически присваивает группе имя, если оно не указано.
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)
Удаление объекта клиента также приводит к удалению объектов группы и элементов, связанных с этим клиентом.