В этом примере показано, как изучить журнал событий 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 не обязательно время между первой и последней выборкой в записанные данные наборе. The LocalEventTime свойство является временем обработки MATLAB ® события, полученного от сервера; может быть некоторая задержка между сервером, отправляющим уведомление, и обработкой его MATLAB. Вы должны проконсультироваться с TimeStamp свойство записанных данных для точной временной информации, относящейся к данным.
Отсоедините клиент от сервера и удалите объекты OPC Toolbox из памяти, когда они вам больше не нужны. Удаление объекта клиента также удаляет группу и объекты элемента.
disconnect(da) delete(da)