1. Проект и глобальная таблица
Начнём с одного измерения температуры. Объявим переменную fRaw1 и зададим ей начальное значение 20.0. В следующей главе программа прибавит к нему поправку.
1. Создайте проект
Создайте в MetaPlatform проект FirstComponent. В меню проекта выберите платформу MetaCore.
В меню MetaGen выберите «Добавить глобальную таблицу». Назовите её Signals и введите:
fRaw1 : REAL := 20.0;
Вставляйте только объявление. VAR_GLOBAL и END_VAR добавит MetaPlatform.
fRaw1 — логическая переменная программы. Сейчас мы задали её значение сами. В рабочем проекте сюда будет поступать измерение от канала ввода или другого устройства. Связь с физическим входом выполняют при подключении оборудования; алгоритм продолжает использовать это логическое имя.
2. Посмотрите, что будет создано
Имя документа становится именем глобальной таблицы в программе. После генерации наш Signals превратится в GVL Signals.
В пакете MetaCore файл GVL/Signals.st будет содержать:
VAR_GLOBAL
fRaw1 : REAL := 20.0;
END_VAR
Первую загрузку в RT выполним в следующей главе, когда появится сам алгоритм. Тогда эту таблицу можно будет открыть в MetaCore → Онлайн.
В коде для MetaCore и CODESYS обращаемся к переменной по короткому имени fRaw1. Отдельная строка в Data для этого не нужна.
3. Разделяйте объявление и публикацию
Мы уже объявили переменную: программа может с ней работать.
Чтобы показывать измерение на экране, дальше опубликуем его через Data и флажок Publish. MetaPlatform подготовит данные для внешнего доступа, создаст копию измерения в View и её обновление. Исходная переменная останется в Signals. У неё отдельная задача: MetaLab сможет записывать в неё имитируемое измерение. Визуализация будет показывать копию из View. Поэтому для виртуальной наладки нужен доступ по OPC UA и к исходной глобальной переменной, и к данным Conf/View. Подробнее — в разделе о публикации global.
Если нужна другая платформа
| Платформа | Что создаётся из Signals |
Как обратиться к переменной |
|---|---|---|
| MetaCore | GVL Signals |
fRaw1 или Signals.fRaw1 |
| CODESYS | GVL Signals |
fRaw1 или Signals.fRaw1; при qualified_only — только полное имя |
| Siemens TIA Portal | Блок данных Signals |
"Signals".fRaw1 |
В Siemens глобально доступен блок данных, поэтому обращение к его полю включает имя блока. В нашем упражнении оставляем MetaCore и короткое имя fRaw1. Как указать источник при публикации, разберём вместе с Area в следующей главе.