Native MATLAB Data Types from Read Operations
The default format of returned data is an M
-by-1
OPC HDA data object containing data values whose type is defined by
the OPC variant type the server stored it as. In some cases, such
as readAtTime
and readProcessed
, you can specify that the read
operations return data in native MATLAB® data types, including
structures and cell arrays.
For example, you can request the same set of data in the following ways.
Request Structure Output
In this case, the read operation returns a single output containing four fields:
struct = HDAObject.readAtTime('Random.Int1', TimeStamps, 'struct') struct = ItemID: 'Random.Int1' Timestamp: [8x1 double] Quality: [8x1 double] Value: [8x1 int8]
Request MATLAB Numeric Data Output
When you request MATLAB numeric types as output, the read operation returns four outputs: Item ID, Value, Quality, and TimeStamp. The Value output is converted into the MATLAB data type requested. The following example returns all Value data as unsigned 32-bit integers:
[itmId, val, Q, ts] = HDAObject.readAtTime('Random.Int1', TimeStamps, 'uint32');
Request Cell Array Output
When requesting cell array output, the read operation returns four outputs: Item ID, Value, Quality, and TimeStamp. The Value output is a cell array, preserving the original data type of the item on the server.
[cItemId, cVal, cQ, cTimes] = HDAObject.readAtTime('Random.Int1', TimeStamps, 'cell')