Приложение Б. Основные термины и определения BEREMIZ ==================================================== **Целевое устройство** – аппаратное средство с определённой архитектурой процессора, на котором могут исполняться различные исполняемые файлы, обращающиеся с помощью него к модулям устройства связи с объектом (УСО). **Прикладная программа (исполняемый файл) для целевого устройства** – скомпилированный и скомпонованный so–файл, который будет выполняться на целевом устройстве. **Плагин для модуля УСО** – интерфейс, состоящий из специальных драйверов и элементов пользовательского интерфейса для ИСР Beremiz, позволяющий связывать переменные модулей УСО с переменными программных модулей, из которых состоит проект. **Проект** – совокупность программных модулей (программ, функциональных блоков, функций), плагинов внешних модулей УСО, ресурсов, пользовательских типов данных, сборка(компиляция и компоновка) которых, представляет собой прикладную программу для целевого устройства. Каждый проект сохраняется в отдельном файле. **Переменная** – область памяти, в которой находятся данные, с которыми оперирует программный модуль. **Ресурс** – элемент, отвечающий за конфигурацию проекта: глобальные переменные и экземпляры проекта, связываемыми с программными модулями типа «Программа» и задачами. **Программный модуль** – элемент, представляющий собой функцию, ФБ или программу. Каждый программный модуль состоит из раздела объявлений и кода. Для написания всего кода программного используется только один из языков программирования стандарта IEC 61131–3. **Функция** – программный модуль, который возвращает только единственное значение, которое может состоять из одного и нескольких элементов (если это битовое поле или структура). **Функциональный блок** – программный модуль, который принимает и возвращает произвольное число значений, а так же позволяет сохранять своё состояние (подобно классу в различных объектно–ориентированных языках). В отличие от функции ФБ не формирует возвращаемое значение. **Программа** – программный модуль, представляющий собой единицу исполнения, как правило, связывается (ассоциируется) с задачей. **Задача** – элемент представляющий время и приоритет выполнения программного модуля типа «Программа» в рамках экземпляра проекта. **Экземпляр** – представляет собой программу, как единицу исполнения, связанную (ассоциированную) с определённой задачей. Так же, как экземпляр, рассматриваются переменные, определённые в программных модулях: программа и ФБ. **Пользовательский тип данных** – тип данных, добавленный в проект и представляющий собой: псевдоним существующего типа, под диапазон существующего типа, перечисление, массив или структуру. **Класс переменной** – тип использования переменной: * Локальная (появляется при работе ФБ где фигурирует); * Вход (локальная переменная, требующая подключения внешней переменной на вход ФБ/функции, где она фигурирует); * Выход (локальная переменная, требующая подключения внешней переменной на выход из ФБ/функции, где она фигурирует); * Вход/Выход (локальная переменная, требующая подключения внешней переменной на выход и вход ФБ/функции, где она фигурирует), * Внешняя (сохраняется в адресном пространстве ПЛК) [1]_ . .. [1] Не поддерживаются типы переменных TIME, DATE, TOD, DT, STRING **Исходное значение** – значение переменной на момент запуска программы на ПЛК. **Настройка переменной** – возможность изменение переменной: * constant (неизменная); * retain (сохранение значения при перезагрузке ПЛК); * non-retain (сброс значения при перезагрузке).