Контролируйте прогресс логгирования с коллбэками OPC Toolbox

Этот пример показывает вам, как использовать коллбэки, чтобы контролировать OPC Data доступ к задаче логгирования.

Используйте коллбэки, чтобы регистрировать или сообщить о событиях в задаче логгирования, обновить графические интерфейсы пользователя к состоянию show логгирования или графически отобразить записанные данные во время задачи логгирования.

НЕОБХОДИМЫЕ УСЛОВИЯ:

Шаг 1: сконфигурируйте объекты OPC Toolbox

Создайте клиент, подключение, и создайте сопоставленные объекты для задачи логгирования.

da = opcda('localhost','Matrikon.OPC.Simulation.1');
connect(da);
grp = addgroup(da,'CallbackTest');
additem(grp,{'Random.Real8','Saw-toothed Waves.UInt2'});

Шаг 2: сконфигурируйте свойства задачи логгирования

Установите группу получать 20 записей в 0,5 вторых интервалах.

grp.RecordsToAcquire = 20;
grp.UpdateRate = 0.5;
disp(grp)
Summary of OPC Data Access Group Object: CallbackTest

   Object Parameters
      Group Type   : private
      Item         : 2-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      : 20
      Duration     : at least 10 seconds
      Logging to   : memory
      Status       : Waiting for START.
                     0 records available for GETDATA/PEEKDATA

Шаг 3: сконфигурируйте коллбэки

Используйте коллбэк по умолчанию, opccallback, чтобы отобразить событие запуска (StartFcn свойство), событие остановки (StopFcn свойство), и когда каждый последовательные 5 записей был получен (RecordsAcquiredFcn и RecordsAcquiredFcnCount свойства.

grp.StartFcn = @opccallback;
grp.StopFcn = @opccallback;
grp.RecordsAcquiredFcn = @opccallback;
grp.RecordsAcquiredFcnCount = 5;

Шаг 4: запустите задачу логгирования

Запустите задачу логгирования и ожидайте ее, чтобы завершиться.

start(grp)
wait(grp)
OPC Start event occurred at local time 14:22:38
	Group 'CallbackTest': 0 records acquired.


OPC RecordsAcquired event occurred at local time 14:22:41
	Group 'CallbackTest': 5 records acquired.


OPC RecordsAcquired event occurred at local time 14:22:44
	Group 'CallbackTest': 10 records acquired.


OPC RecordsAcquired event occurred at local time 14:22:47
	Group 'CallbackTest': 15 records acquired.

Шаг 5: Очистите объекты OPC Toolbox

Отключите клиент от сервера и удалите объекты OPC Toolbox™ из памяти, когда вам больше не будут нужны они. Удаление объекта клиента также удаляет объекты элемента и группа.

disconnect(da)
delete(da)