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

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

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

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

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

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

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

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

  • EventTime - An nRecs-by-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' тип данных или формат структуры для возврата записанных данных, содержащих массивы в виде значений.