Этот пример показывает вам, как исследовать журнал событий 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)