OPC Data доступ к Стандарту использует Спецификацию Microsoft® COM для связи между Сервером OPC и OPC-клиентом. Существенное количество данных, переданных между Сервером OPC и клиентом, является значением от серверного элемента или значением, которое клиент хочет записать в серверный элемент. Microsoft COM Specification использует Microsoft Variants, чтобы отправить различные типы данных между клиентом и сервером. В этом разделе рассматриваются, как программное обеспечение OPC Toolbox™ преобразует типы данных MATLAB® в Варианты COM при записи значений и Вариантов COM к типам данных MATLAB при чтении значений.
Серверы OPC требуют, чтобы все значения были записаны в серверные элементы в Различном формате COM. Сервер также предоставляет тулбоксу Варианты COM когда Value
элемента свойство считано или возвращено сервером. Тулбокс автоматически преобразует между Различным типом COM и типами данных MATLAB согласно таблице, показанной ниже.
Таблица 8-1, преобразование от типа данных MATLAB до различного типа данных COM
Тип данных MATLAB | Тип данных сервера OPC (тип варианта COM) | Комментарии |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| Не позволенный |
| Нет данных | Не позволенный |
| Нет данных | Не позволенный |
| Нет данных | Не позволенный |
Нет данных |
| Не позволенный |
Нет данных |
| Не позволенный |
|
| Возвращает пустую матрицу ( |
Когда вы пишете значения в Сервер OPC с помощью write
или writeasync
функция, можно обеспечить любые данные MATLAB для операции записи. Когда вы записываете данные к Серверу OPC, следующие преобразования данных происходят:
Программное обеспечение OPC Toolbox преобразует значение в эквивалентный Вариант COM согласно Таблице 8-1, Преобразованию от типа данных MATLAB до Различного Типа данных COM. Если с каким-либо запрещенным типом данных столкнутся (например, при попытке записать структуру MATLAB), ошибка будет сгенерирована.
Вариант COM отправляется в Сервер OPC.
Сервер OPC попытается преобразовать Вариант COM в канонический тип данных серверного элемента, с помощью правил преобразования Варианта COM. Если преобразование перестанет работать, сервер возвратит ошибку.
Когда Сервер OPC возвратит значения для серверного элемента к MATLAB, Сервер OPC сначала преобразует значение в Различный эквивалент COM типа данных, заданного daitem
DataType
объекта свойство. Если преобразование перестало работать, сообщение об ошибке возвращено со значением. Когда программное обеспечение OPC Toolbox получает значение, Вариант COM преобразован в эквивалентный тип данных MATLAB согласно Таблице 8-1, Преобразованию от типа данных MATLAB до Различного Типа данных COM.
Спецификация OPC поддерживает массивы значений, записанных в серверный элемент, и читайте из серверного элемента. Однако определенный серверный элемент не может принять массив значений. Поведение сервера в этом случае зависимо сервером. Например, один сервер может использовать только первое значение массива. Другой сервер может возвратить ошибку при попытке записать массив значений к серверному элементу, который только поддерживает скалярное значение. Программное обеспечение OPC Toolbox не может определить, принимает ли серверный элемент только скалярные значения.
Для всех типов данных, перечисленных в Таблице 8-1, Преобразование от типа данных MATLAB до Различного Типа данных COM, который может быть преобразован между MATLAB и Вариантом COM, скалярными и данными массива, разрешено тулбоксом. Однако Спецификация OPC поддерживает только одномерные массивы данных. Более высокая размерность массивы MATLAB сглажена в одномерный вектор при записывании данные к Серверу OPC.