Стандарт доступа к OPC Data использует Microsoft® Спецификация COM для связи между сервером OPC и клиентом OPC. Значительным объемом данных, которыми обмениваются между сервером OPC и клиентом, является значение от серверного элемента или значение, которое клиент хочет записать в серверный элемент. Спецификация Microsoft COM использует варианты Microsoft для отправки различных типов данных между клиентом и сервером. В этом разделе рассматривается, как программное обеспечение 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 и вариантом, скалярные и массивные данные разрешены тулбоксом. Однако спецификация OPC поддерживает только одномерные массивы данных. Массивы MATLAB большей размерности уплощаются в одномерный вектор при записи данных в Сервер OPC.