Инструкция по использованию ALPS-L ~ ANTONLOGINOV PROGRAMMING

Инструкция по использованию ALPS-L

Skip to main content

Инструкция по использованию ALPS-L

ALPS-L — настольное приложение для визуального проектирования логики автоматизации. Вы создаёте схему из блоков и связей, сохраняете проект в файл (.lalp), запускаете локально или выгружаете на устройство.

1. Начало работы

1.1. Запуск приложения

1.1.1. Необходимо скачать приложение с сайта www.antonloginov.pro, с раздела Загрузки

1.1.2. Запустить ALPS-portable.exe – > распаковать в необходимую папку

1.1.3. Запустить исполняемый файл программы  ALPS.

1.2. Создание проекта

1.2.1. После запуска программы, появится стартовое окно.

На главном экране выберите «Создать проект» или нажмите Ctrl+N.

1.2.2. Перейдите в Рабочую область.

1.2.3. Проект автоматически сохраняется каждые 15 секунд при наличии изменений.

1.3. Открытие проекта


Кнопка «Открыть проект» — открыть файл проекта;

  • Ctrl+O — открыть файл проекта;
  • список «Недавние проекты» на главном экране.

2. Интерфейс редактора

2.1. Панель инструментов

КнопкаДействиеГорячая клавиша
НовыйСоздать проектCtrl+N
СохранитьСохранить проектCtrl+S
Сохранить какСохранить под новым именемCtrl+Shift+S
ОткрытьОткрыть проектCtrl+O
Отменить / ПовторитьUndo / RedoCtrl+Z / Ctrl+Y
ЗапускЛокальный эмуляторF10
СтопОстановить выполнениеF10 (повторно)
ТестОтладка на устройствеF11

2.2. Библиотека блоков

Три раздела блоков:

РазделСодержимое
NetworksTCP, UDP, WebSocket, COM, SSH, IR, реле и другие сетевые блоки
IncludeЛогика, Gate, debounce, ALP_V, init-блоки и встроенные функции
CustomПользовательские блоки (.ablib) и Переиспользуемые модули (.malp)

Как добавить блок на canvas:

  • перетащите блок из библиотеки;
  • дважды щёлкните по блоку в правой панели библиотеки.

2.3. Рабочая область (canvas)

  • Панорамирование — средняя кнопка мыши или два пальца на ноутбуке.
  • Масштаб — колёсико мыши или CTRL + два пальца на тачпаде ноутбука.
  • Выделение — щелчок по блоку; Ctrl+клик — несколько блоков.
  • Перемещение — перетаскивание выделенных блоков.
  • Удаление — Delete.

На canvas отображаются блоки активного листа. Блоки разных листов образуют один граф выполнения, но расположены на схеме отдельно.

2.4. Правая панель (свойства)

Выберите блок, чтобы изменить:

  • Имя блока — уникальное, валидный Python-идентификатор;
  • Параметры — адреса, порты, таймауты и т.д.;
  • Заметки — текст для справки (Custom и модули).

2.5. Панель логов

Здесь отображаются:

  • сообщения выполнения;
  • ошибки валидации;
  • статус подключений к устройствам;
  • системные сообщения.

3. Работа с блоками

3.1. Добавление и настройка

  1. Перетащите блок на canvas.
  2. Дважды щёлкните по блоку (или кнопка Редактировать блок).
  3. В окне Редактирование блока задайте:
ПолеОписание
Имя блокаУникальное имя (Python-идентификатор)
Тип блокаlogic, connection, init, custom
ПараметрыПары «имя → значение»
Входы / ВыходыИмена портов
Store in DBСохранять значение входа между циклами перезагрузки контроллера (программы)
КодPython-логика (для Custom)

4. Нажмите Save.

3.2. Соединение блоков

  1. Щёлкните на выходном/входном порте блока.
  2. Перетащите связь к входному/выходному порту другого блока.

Ограничения:

  1. дублирующие связи не создаются;
  2. типы портов должны быть совместимы.

3.3. Пользовательские блоки (Custom)

Блок Custom_Code позволяет написать собственную логику на Python:

# Код выполняется как тело async def _user_block(ctx):

# ctx.in_1 — значение на входе in_1

# ctx.set_out(«out_1», value) — установить выход

Создайте копию в библиотеке Custom, задайте входы, выходы, параметры и напишите логику в поле Code.

Более полное описание можно найти в приложении ALPS, в разделе F1 Справка -> Справка

3.4. Модули

Модуль — это переиспользуемый фрагмент схемы, который внутри устроен как полноценный проект ALPS, а на родительской схеме отображается как один блок с входами, выходами и параметрами.

Типичный сценарий: вы проектируете логику управления комнатой, типовой драйвер устройства или повторяющийся участок схемы — сохраняете его как модуль и затем используете на любых проектах одним блоком на «Рабочей области» проекта.

Что такое модуль

Уровень      Что это
Внутри модуляОбычная схема: блоки, связи, листы, Custom Code, сетевые блоки
Снаружи (на основной схеме)Один блок-оболочка с портами, описанными в «фасаде» модуля
Файл в библиотекеАрхив .malp в разделе Custom → Modules

При запуске (F10) и выгрузке (F12) модуль автоматически разворачивается во внутреннюю схему — на устройстве выполняется единая программа, как если бы все блоки были нарисованы на одном листе.

Граница модуля: три специальных блока

Чтобы ALPS понял, какие порты должны быть видны снаружи, внутри модуля обязательно размещают блоки из раздела Include:

БлокНазначениеОбязательность
module_inputsВходы модуля, видимые на оболочкеОбязателен (ровно один)
module_outputsВыходы модуля, видимые на обoлочкеОбязателен (ровно один)
module_paramsПараметры оболочки (ссылки #имя)Необязателен (не более одного)

module_inputs

Каждый вход (кроме служебного enable) становится входным портом блока-модуля на родительской схеме.

Подписи портов задаются через alias в редакторе блока.

module_outputs

Каждый выход экспортируется на оболочку модуля.

Внутренние блоки подключаются к выходам module_outputs; снаружи они видны как выходы одного блока.

module_params

В таблице параметров указываются имена вида #ip_address, #port и значения по умолчанию.

Внутри модуля другие блоки ссылаются на те же #имя в своих параметрах.
На родительской схеме эти параметры доступны в свойствах экземпляра модуля.
Внутренние связи идут от module_inputs к логике и от логики к module_outputs.

Создание модуля: отдельный проект → сохранение как блок

Модуль создаётся не на основной схеме, а как самостоятельный проект:

Шаг 1. Создайте новый проект

Ctrl+N → Рабочая область.
Это обычный проект ALPS: листы, блоки, связи — всё работает так же, как в основном проекте.

Шаг 2. Добавьте граничные блоки

Из библиотеки Include добавьте:

  1. module_inputs
  2. module_outputs
  3. при необходимости — module_params

Настройте входы, выходы и параметры в редакторе каждого блока.

Шаг 3. Постройте внутреннюю логику

Между граничными блоками разместите нужную схему:

  • логические блоки (Gate, and, debounce…);
  • сетевые блоки (TCP_Client, UDP…);
  • Custom Code на Python;
  • другие модули (вложенность поддерживается).

Шаг 4. Сохраните проект как модуль

Меню Сохранить блок (или соответствующая команда на панели сохранения):

1. ALPS проверит схему:

  • есть ли ровно один module_inputs;
  • есть ли ровно один module_outputs;
  • корректны ли ссылки #param внутри модуля.

2. Откроется диалог с именем модуля.

3. Текущий проект сохранится в файл .malp в библиотеку Custom.

Сообщение в диалоге: «Текущий проект будет сохранён как модуль (.malp) в разделе Custom.»

После сохранения:

  • модуль появляется в библиотеке в разделе Modules;
  • открытый документ переходит в режим редактирования модуля (имя модуля в заголовке окна);
  • дальнейшее Сохранить (Ctrl+S) обновляет тот же .malp, а не файл .lalp.

Шаг 5. Повторное сохранение и копия

Действие     Результат
Сохранить блокПерезаписывает текущий .malp (если модуль уже открыт на редактирование)
Сохранить блок как…Сохраняет копию под новым именем

Физически файлы лежат в папке пользовательской библиотеки block_lib/custom/.

Модуль можно также открыть напрямую: двойной щелчок по .malp или перетаскивание файла в окно ALPS.

Использование модуля на основной схеме

Добавление на canvas

  1. Откройте основной проект (.lalp).
  2. В библиотеке Includes найдите сохранённый модуль.
  3. Перетащите его на canvas — появится блок-оболочка с портами из фасада.

На схеме виден один блок, внутри — вся разработанная логика.

Настройка экземпляра

Выделите блок модуля на canvas. В правой панели Свойства:

  • задайте значения параметров (#ip_address, #port и т.д.);
  • при необходимости измените имя экземпляра на схеме.

Связи на родительской схеме подключаются к внешним портам оболочки, а не к внутренним блокам.

Редактирование модуля

ЗадачаКак открыть
Изменить шаблон для всех экземпляровРедактирование модуля из библиотеки Modules (открывается .malp)
Изменить логику только этого экземпляраРедактирование внутренней схемы экземпляра на canvas

После изменения шаблона ALPS обновляет фасад на всех открытых проектах, где используется этот модуль.

Требования и ограничения

Перед сохранением модуля ALPS проверяет:

ПроверкаОшибка, если…
module_inputsнет блока или их несколько
module_outputsнет блока или их несколько
module_paramsболее одного блока
Ссылки #paramвнутри модуля есть #имя, не объявленное в module_params
Имясовпадает с уже существующим блоком .ablib в Custom

Имя модуля должно быть уникальным и не конфликтовать с Custom-блоками.

Краткая шпаргалка

Создать модуль:

Новый проект → module_inputs / module_outputs / module_params  → внутренняя схема → Сохранить блок → имя → .malp

Использовать:

Основной проект → Modules → перетащить на canvas → связать порты

Изменить шаблон:

Modules → редактирование → правки → Ctrl+S (обновляет .malp)

Запустить:

F10 / F12 — модуль разворачивается автоматически.

4. Листы проекта

  • Проект может содержать несколько листов (вкладок в дереве проекта слева).
  • Все листы образуют единый граф выполнения.
  • На canvas видны блоки только активного листа.
  • Переключение листа — щелчок в дереве проекта.

5. Передача данных между блоками

Данные передаются по портам блоков — от выхода одного блока ко входу другого.

На портах могут передаваться:

  • числа (int, float);
  • строки;
  • логические значения;
  • списки и словари (Python).

Типы портов задаются в редакторе блока (input_types / output_types).

Параметры блока и опция Store in DB позволяют хранить значения между циклами выполнения.

6. Запуск, тест и выгрузка

6.1. Проверка схемы

Перед F10, F11 или F12 ALPS проверяет проект:

ОшибкаПричина
Дубликаты имёнДва блока с одинаковым именем
Ошибка в CustomСинтаксическая ошибка в Code
МодулиНет module_inputs/module_outputs

Исправьте ошибки по тексту диалога. Для справки по блоку: выделите его и нажмите F1.

6.2. Локальный запуск — F10

  • Выполняет проект в локальном эмуляторе.
  • Повторное F10 — Стоп.
  • Во время выполнения можно отправлять значения по связи (двойной щелчок по связи).

6.3. Тест на устройстве — F11

  1. Выберите устройство на вкладке Устройства.
  2. Нажмите F11.
  3. ALPS собирает prog1.py, сверяет с устройством и открывает TCP-отладку.
  4. Повторное F11 — остановка теста.

6.4. Выгрузка на устройство — F12

  1. Выберите устройство.
  2. Нажмите F12.
  3. Подтвердите проект и устройство.
  4. Загрузка выполняется по SSH.

7. Устройства ALPS-L

7.1. Устройства

На вкладке Устройства добавляйте контроллеры:

  • IP-адрес, имя, учётные данные SSH;
  • тест связи, настройка сети, просмотр логов.

Перед F11 (тест) или F12 (выгрузка) выделите нужное устройство в списке.

7.2. Панель ALP-V

Блоки для связи с Android-панелью ALP-V:

БлокНазначение
ALP_VОбмен данными с панелью ALP-V
ALP_V_gateШлюз между панелью и логикой схемы
ALP_SWTБлок для управления выключателем ALP-SWT

LinkID — номер виртуального канала между логикой и панелью:

  • порты in_N / out_N соответствуют LinkID = N;
  • LinkID 30001 зарезервирован для управления яркостью андроид панели.

8. Сетевые блоки

Раздел Networks в библиотеке:

БлокНазначение
TCP_ClientTCP-клиент: подключение к серверу
TCP_ServerTCP-сервер: приём подключений
UDP_ClientОтправка/приём UDP
WebSocket_Client / ServerWebSocket-соединения
COM_ConnectПоследовательный порт контроллера ALP-iC
SSH_ClientSSH-подключение
wakeOnLanWake-on-LAN
HTTP_clientHTTP-запросы

Пример TCP_Client:

  • Вход connect: 1 — подключиться, 0 — отключиться.
  • Вход tx: данные для отправки.
  • Выход rx: принятые данные.
  • Выход status: состояние подключения.
  • Параметры: address, port, interval, таймауты.

9. Логические блоки (Include)

БлокНазначение
GateПередача данных от Gate в Gate, если у них одинаковое имя в параметре link_name
and / or / notЛогические операции
data_eqСравнение значений
debounceПодавление дребезга
one_pulse / sequence_pulseФормирование импульсов
repeatПовтор операций
bufferВентиль, который пропускает данные при включенном enable и не пропускает если выключен
data_initОтправка значение от 0 до 65535 в выход
send_dataОтправка данных

Более подробное описание блоков можно найти в самом приложении при нажатии F1 или зайти Справка -> Справка.

10. Горячие клавиши

Файл и редактирование

КлавишиДействие
Ctrl+NНовый проект
Ctrl+OОткрыть
Ctrl+SСохранить
Ctrl+Shift+SСохранить как
Ctrl+ZОтменить
Ctrl+YПовторить

Рабочая область

КлавишиДействие
F1Справка по выбранному блоку
F2Посмотреть все Связи (Link blocks)
F3Закомментировать / раскомментировать
DeleteУдалить выделенное
Ctrl+клик по связиДобавить/убрать из выделения
ПКМКонтекстное меню

Выполнение

КлавишиДействие
F10Запуск / Стоп (локально)
F11Тест на устройстве / Стоп
F12Выгрузка на устройство

11. Типовой рабочий процесс

  1. Создать проект (Ctrl+N)
  2. Добавить блоки из библиотеки на canvas
  3. Настроить параметры блоков (двойной щелчок)
  4. Соединить блоки связями
  5. Проверить схему (F10 — при ошибках исправить)
  6. Запустить локально (F10) — отладка в логах
  7. Выгрузить на контроллер (F12)
  8. Протестировать на устройстве (F11)
  9. Сохранить проект (Ctrl+S)

12. Справка внутри приложения

  • F1 — справка по выбранному блоку или разделу приложения.
  • Меню Справка → Справка.
  • Для Custom-блоков текст из поля Notes попадает в справку.