Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:jroboplc:intro [2020/12/22 18:54] denis [Терминология] |
doc:jroboplc:intro [2022/02/03 18:06] (текущий) denis |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Общие понятия ====== | + | ====== Введение ====== |
- | ===== Введение ===== | + | JRobo - это консольное java-приложение, позволяющее взаимодействовать периферийными устройствами через внешние порты (последовательные, tcp, udp), используя разнообразные промышленные и нестандартные протоколы обмена данными, управлять этими устройствами в соответствии с заданной логикой. |
- | JRoboPLC - консольное java-приложение, позволяющее взаимодействовать внешними устройствами через последовательные порты, ethernet и т.п. и управлять этими устройствами в соответствии с заданной логикой. | + | Применяется для создания ПЛК, серверов сбора данных, напрямую работая с различными СУБД (реляционными и NoSQL), а также может использоваться в качестве фреймверка для создания других приложений. |
- | При помощи специальных программ, например, Java Service Wrapper, легко превращается в сервис. | + | Является основой для построения гибких, масштабируемых и безопасных распределенных систем управления, позволяя достичь максимальной эффективности в управлении технологическими процессами. |
- | JRoboPLC может выполняться на любом оборудовании, имеющем JVM от Oracle или OpenJDK версии 8 и выше. | + | Работает на любом оборудовании, имеющем JVM (Oracle, OpenJDK) версии 8 и выше, либо из [[https://hub.docker.com/r/promauto/jrobo|Docker контейнера]]. |
- | JRoboPLC может применяется для создания ПЛК, серверов сбора данных, работающих с СУБД, а также использоваться в качестве платформы для создания других приложений. | ||
- | Для удобства расширения функциональности используются система подключаемых плагинов. | ||
- | |||
- | ===== Терминология ===== | ||
- | |||
- | **Плагин** //(plugin)// - подключаемый jar-файл, хранящийся по умолчанию в ''jar/plugin''. При запуске ''jar/core/jroboplc.jar'' выполняется проверка доступных к использованию плагинов, загрузка плагинов и создание модулей. | ||
- | |||
- | **Модуль** //(module)// - основной программный компонент, из которых состоит работающее приложение. Модули создаются на стадии загрузки программы, объединяются в задачи и, после старта системы, выполняют определенную им работу. | ||
- | |||
- | **Тег** //(tag)// - именованная переменная, содержащееся в модуле, значение в которой может быть считано или изменено другим модулем . Модуль может иметь любое количество тегов, включая нулевое. При помощи тегов модули взаимодействуют как между собой, так и с внешним миром. | ||
- | |||
- | **Тип тега** //(tag type)// - тип данных значения тега. Поддерживаются следующие типы данных: | ||
- | * ''bool'' - логический | ||
- | * ''int'' - целочисленный, знаковый, размерность 32 бит | ||
- | * ''long'' - целочисленный, знаковый, размерность 64 бит | ||
- | * ''double'' - вещественный, знаковый, размерность 64 бит | ||
- | * ''string'' - строковый | ||
- | |||
- | **Флаг тега** //(tag flag)// - обозначает специфическое свойство тега. Каждый тег может иметь любое количество флагов. Поддерживаются следующие флаги тегов: | ||
- | * ''autosave'' - значение тега необходимо сохранять | ||
- | * ''hidden'' - тег не предназначен для показа удаленным клиентам | ||
- | * ''external'' - тег содержит значение, запрошенное с удаленного сервера | ||
- | * ''status'' - тег меняет свой статус в зависимости от состояния модуля (''good'' или ''bad'') | ||
- | |||
- | **Статус тега** //(tagstatus)// - актуальность значения тега, определяемая состоянием модуля, владеющего тегом. Существуют два типа статуса тега: | ||
- | * ''good'' - значение тега актуально | ||
- | * ''bad'' - значение тега не актуально | ||
- | |||
- | **Канал** //(channel)// - | ||
- | |||
- | **Адрес** //(address)// - | ||