====== Терминология ====== ==== Плагин ==== **Плагин** //(plugin)// - для 1-ой версии - это подключаемый jar-файл, хранящийся по умолчанию в ''jar/plugin''. При запуске ''jar/core/jroboplc.jar'' выполняется проверка доступных к использованию плагинов, загрузка плагинов и создание модулей. Во 2-ой версии фактически плагинная система убрана, используется только один jar-файл для сборки, но модули по прежнему логически распределены по плагинам для обратной совместимости при конфигурировании. ==== Модуль ==== **Модуль** //(module)// - основной программный компонент, из которых состоит работающее приложение. Модули создаются на стадии загрузки программы, объединяются в задачи и, после старта системы, выполняют определенную им работу. ==== Тег ==== **Тег** //(tag)// - именованная переменная, содержащаяся в модуле, значение в которой может быть считано или изменено другим модулем . Модуль может иметь любое количество тегов, включая нулевое. При помощи тегов модули взаимодействуют как между собой, так и с внешним миром. ==== Тип тега ==== **Тип тега** //(tag type)// - тип данных значения тега. Поддерживаются следующие типы данных: * ''bool'' - логический * ''int'' - целочисленный, знаковый, размерность 32 бит * ''long'' - целочисленный, знаковый, размерность 64 бит * ''double'' - вещественный, знаковый, размерность 64 бит * ''string'' - строковый ==== Флаг тега ==== **Флаг тега** //(tag flag)// - обозначает специфическое свойство тега. Каждый тег может иметь любое количество флагов. Поддерживаются следующие флаги тегов: * ''autosave'' - значение тега необходимо сохранять * ''hidden'' - тег не предназначен для показа удаленным клиентам * ''external'' - тег содержит значение, запрошенное с удаленного сервера * ''status'' - тег меняет свой статус в зависимости от состояния модуля (''good'' или ''bad'') ==== Статус тега ==== **Статус тега** //(tag status)// - актуальность значения тега, определяемая состоянием модуля, владеющего тегом. Существуют два статуса тега: * ''good'' - значение тега актуально * ''bad'' - значение тега не актуально ==== Канал ==== **Канал** //(channel)// - тег строкового типа, значением которого является имя другого тега. Используется для динамического связывания входов и выходов периферийных модулей с модулями управления. ==== Адрес ==== **Адрес** //(address)// - тег, имя которого является значением канала. Адресом может являться любой тег.