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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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