exponenta event banner

EventLog

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

Описание

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

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

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

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

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

Можно выполнить функцию обратного вызова, когда событие имеет место путем определения функции для связанного свойства коллбэка. Например, чтобы выполнить коллбэк, когда чтение асинхронное событие сгенерировано, вы используете свойство 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]

Смотрите также

Функции

cleareventlog, start