EventLog

Журнал информации о событиях

Описание

EventLog содержит массив структур, который хранит информацию, относящуюся к событиям программного обеспечения OPC Toolbox™. Каждый элемент массива структур соответствует событию.

Каждый элемент в EventLog структура содержит поля Type и Data. The Type значение может быть 'WriteAsync', 'ReadAsync', 'CancelAsync', 'Shutdown', 'Start', 'Stop', или 'Error'.

Data сохраняет специфическую для события информацию как структуру. Для получения информации о полях, содержащихся в Data, см. Связанное свойство коллбэка страниц с описанием. Для примера, чтобы найти информацию о полях, содержащихся в Данных для Start событие, см. StartFcn свойство.

Вы задаете максимальное количество событий для хранения со EventLogMax свойство.

Обратите внимание, что некоторые события не хранятся в EventLog. Если необходимо хранить эти события, необходимо задать коллбэк для этого события.

Вы можете выполнить функцию обратного вызова, когда событие происходит путем определения функции для связанного свойства коллбэка. Для примера, чтобы выполнить коллбэк, когда сгенерировано событие read async, вы используете ReadAsyncFcn свойство.

Если журнал событий заполнен (количество событий в журнале равняется значению EventLogMax свойство) и новое событие будет получено, самое старое событие будет удалено, чтобы освободить пространство для нового события. Вы очищаете журнал событий, используя cleareventlog функция.

Особенности

Доступ

Только для чтения

Применяется к

opcda

Тип данных

Массив структур

Значения

Значение по умолчанию является пустой матрицей ([]).

Примеры

Следующий пример создает клиент и конфигурирует группу с двумя элементами. Выполняется 30-секундная задача логгирования, и через 10 секунд считываются значения элемента. Когда задача регистрации останавливается, журнал событий извлекается и проверяется.

da = opcda('localhost', 'Matrikon.OPC.Simulation');
connect(da);
grp = addgroup(da, 'EvtLogExample');
itm1 = additem(grp, 'Random.Real8');
itm2 = additem(grp, 'Triangle Waves.UInt1');
set(grp, 'UpdateRate', 1, 'RecordsToAcquire', 30);
start(grp);
pause(10);
tid = readasync(grp);
wait(grp);
el = get(da, 'EventLog')
el = get(da, 'EventLog')

el = 
1x3 struct array with fields:
    Type
    Data

Теперь рассмотрим первое событие, которое является стартовым событием.

el(1)
ans = 
    Type: 'Start'
    Data: [1x1 struct]

Поле Данные содержит следующую информацию.

el(1).Data
ans = 
     LocalEventTime: [2004 1 13 16 16 25.1790]
          GroupName: 'EvtLogExample'
    RecordsAcquired: 0

Вторым событием является ReadAsync событие. Исследуйте Data структура и первый элемент Items структура.

el(2)
ans = 
    Type: 'ReadAsync'
    Data: [1x1 struct]

el(2).Data
ans = 
    LocalEventTime: [2004 1 13 16 16 35.2100]
           TransID: 2
         GroupName: 'EvtLogExample'
             Items: [2x1 struct]

el(2).Data.Items(1)
ans = 
       ItemID: 'Random.Real8'
        Value: 2.4619e+003
      Quality: 'Good: Non-specific'
    TimeStamp: [2004 1 13 16 16 35.1870]