В этом примере показано, как проверить журнал событий OPC Toolbox™ после выполнения задачи ведения журнала.
ПРЕДВАРИТЕЛЬНЫЕ УСЛОВИЯ:
Создание клиента, подключение и создание связанных объектов для задачи ведения журнала.
da = opcda('localhost','Matrikon.OPC.Simulation.1'); connect(da); grp = addgroup(da,'CallbackTest'); additem(grp,'Triangle Waves.Real8');
Настройте группу для регистрации только 10 записей, затем запустите задачу и дождитесь ее завершения.
grp.RecordsToAcquire = 10; start(grp) wait(grp)
Доступ к EventLog свойства объекта клиента.
events = da.EventLog
events =
1×2 struct array with fields:
Type
Data
Выполнение задачи ведения журнала групп породило два события: start и stop. Значение EventLog свойство является массивом структур событий «1 на 2».
Перечисление событий, записанных в EventLog путем изучения содержимого Type поле.
{events.Type}
ans =
1×2 cell array
{'Start'} {'Stop'}
Доступ к Data для получения информации о stop событие.
stopdata = events(2).Data
stopdata =
struct with fields:
LocalEventTime: [2020 10 19 11 38 3.8710]
GroupName: 'CallbackTest'
RecordsAcquired: 10
Рассчитайте время между stop события и start событие.
waitDuration = datetime(events(2).Data.LocalEventTime)...
- datetime(events(1).Data.LocalEventTime);
waitSeconds = seconds(waitDuration)
waitSeconds =
5.3740
Примечание: waitSeconds не обязательно время между первой и последней выборкой в записанном наборе данных. LocalEventTime свойство - время обработки MATLAB ® события, полученного от сервера; возможна некоторая задержка между отправкой сервером уведомления и его обработкой MATLAB. Вы должны проконсультироваться сTimeStamp свойство регистрируемых данных для точной информации о времени, относящейся к данным.
Отключите клиент от сервера и удалите объекты OPC Toolbox из памяти, если они больше не нужны. Удаление объекта клиента также приводит к удалению объектов группы и элемента.
disconnect(da) delete(da)