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