В этом примере показано, как создать и сконфигурировать объекты 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)
Удаление объекта клиента также удаляет группу и объекты элемента, связанные с этим клиентом.