exponenta event banner

Отформатированные данные массивов

Содержимое массивов

Программное обеспечение OPC Toolbox™ может возвращаемые массивы Значения, Качества и информации о TimeStamp от задачи журналирования. Можно получить массивы из памяти с помощью getdata, или из диска с помощью opcread, путем определения типа данных как 'cell' или любого типа данных числового массива MATLAB®, такие как 'double' или 'uint32'. Консультируйтесь со страницами ссылки на функцию для получения дополнительной информации о том, как задать тип данных.

Когда вы запрашиваете отформатированные данные массивов, тулбокс возвращает массивы каждого из следующих элементов записей в памяти или на диске:

  • ItemID — 1 nItems списком всех идентификаторов элемента, происходящих в массиве структур. Каждая запись ищется, и все уникальные идентификаторы элемента возвращены в массиве ячеек. Порядок идентификаторов элемента должен использоваться, чтобы интерпретировать любое Значение, Качество или массивы TimeStamp.

  • Значение nRecs-by-nItems массив значений для каждого ID элемента, заданного в переменной ItemID, в каждой метке времени, задан массивом TimeStamp. Каждый столбец массива Value представляет историю значений для соответствующего элемента в массиве ItemID. Каждая строка соответствует одной записи. Смотрите Обработку Недостающих Данных для получения информации о том, как массив Value заполняется.

  • QualitynRecs-by-nItems массив ячеек из символьных векторов. Каждый столбец представляет историю качеств для соответствующего элемента в массиве ItemID. Каждая строка соответствует качествам для конкретной записи. Если конкретный ID элемента не был частью записи (потому что элемент не изменился в тот период), соответствующий столбец в той строке установлен в 'Repeat'.

  • TimeStampnRecs-by-nItems массив меток времени для каждого значения в поле Value. Метки времени находятся в числовом формате даты MATLAB. Для получения дополнительной информации о числах даты MATLAB смотрите, что datenum функционирует справка.

  • EventTimenRecs-by-1 массив времен, что запись была получена программным обеспечением OPC Toolbox (поле LocalEventTime записи в формате структуры). Времена находятся в числовом формате даты MATLAB. Для получения дополнительной информации о числах даты MATLAB смотрите, что datenum функционирует справка.

Преобразование записанных данных к массивам

Когда вы запрашиваете отформатированные данные массивов от getdata или opcread, необходимо задать желаемый тип данных для возвращенного массива Value. Программное обеспечение OPC Toolbox автоматически преобразовывает каждую запись записанных данных от типа данных элемента (заданный свойством DataType того элемента) к требуемому типу данных.

При преобразовании записанных данных в массивы тулбокс должен рассмотреть два фактора при заполнении возвращенных массивов:

  • Запись не может содержать информацию для каждого элемента в задаче журналирования. Обработка Недостающих Данных обсуждает, как тулбокс имеет дело с недостающими данными.

  • Запись может содержать значение массивов для одного элемента. Такие значения не могут легко быть преобразованы в одно значение типов числовых данных. Обработка Значений Данных массива обсуждает, как тулбокс занимается этой проблемой.

Обработка Недостающих данных

Когда данные логов программного обеспечения OPC Toolbox, каждая регистрируемая запись не может содержать все элементы в задаче журналирования. При преобразовании данных, чтобы выстроить формат, каждый элемент, вовлеченный в задачу журналирования, должен быть выделен значение, качество и метка времени для каждой записи. Поэтому в задаче журналирования там может "пропускать" данные для конкретного элемента в конкретной записи. Тулбокс использует следующие правила, чтобы определить, как заполнить недостающую запись в каждом массиве:

  • Значение Когда вы запрашиваете тип данных массива 'cell', значение, используемое для недостающей записи, является пустым двойным массивом ([]). При запросе типа числовых данных значение, используемое для недостающей записи, является последним значением для того элемента. Если никакое предыдущее значение не известно, эквивалентный NaN (не номер), запись используется. Например, если самая первая запись не содержит запись для того элемента, NaN используется, чтобы заполнить недостающую запись в первой строке массива Value. Эквивалентным значением NaN для целочисленных типов данных и логических типов данных является 0.

  • Quality — Недостающая запись заполнена определенным качеством 'Repeat'.

  • TimeStamp — Метка времени, используемая для недостающей записи, является первой меткой времени, найденной в той конкретной записи (строка).

Обработка значений данных массива

Для каждой записи, сохраненной в памяти или на диске во время задачи журналирования, один элемент может возвратить массив значений. При преобразовании записанных данных, чтобы выстроить формат, каждый элемент в каждой записи имеет только одну запись в массиве Value, выделенном той записи и элементу.

Для типа данных 'cell' программное обеспечение OPC Toolbox может сохранить массив, возвращенный как Значение для того элемента, потому что массив ячеек MATLAB может сохранить любой тип данных любого размера в каждом элементе массива ячеек.

Для типов числовых данных, таких как 'double' или 'uint32', получившийся массив Value обеспечивает пробел только для одного значения. Следовательно, если значение массивов будет найдено в задаче журналирования, и вы запросили тип данных числового массива, ошибка будет сгенерирована. Необходимо использовать тип данных 'cell' или формат структуры, чтобы возвратить записанные данные, который содержит массивы как значения.