UniSet 2.45.1
Содержание директории examples
Директория графа зависимостей examples:
examples

Подробное описание

Thermostat — управление нагревателем

Демонстрирует полный цикл: ST-программа → конвертация → запуск с отладкой.

Файлы

Файл Описание
thermostat.st Исходная ST-программа (IEC 61131-3)
thermostat_mapping.yaml Маппинг ST-переменных ��а датчики UniSet
main-plc.js Сгенерированный JS с отладочной инструментацией

Датчики (в test.xml)

Датчик Тип Описание
AI_Temperature_S AI Температура (×100, т.е. 2350 = 23.50°C)
DI_Enable_S DI Кнопка включения
DI_Reset_S DI Кнопка сброса
DO_Heater_C DO Выход на нагреватель
DO_AlarmHigh_C DO Авария перегрева
AO_CycleCount_C AO Счётчик циклов нагревателя

Генерация JS из ST

cd extensions/JScript/tools/st2js
python -m st2js ../../examples/thermostat.st \
-m ../../examples/thermostat_mapping.yaml \
--debug \
-o ../../examples/main-plc.js

Запуск

cd extensions/JScript
uniset2-jscript \
--confile test.xml \
--js-file examples/main-plc.js \
--js-name JSProxy1 \
--js-sleep-msec 150

Отладка

Открыть в браузере: http://localhost:8088/debug/ui

Что видно:

  • Variables: AI_Temperature_S, DO_Heater_C, state и др.
  • FB Status: TON (onDelay), CTU (cycleCounter), R_TRIG (startEdge)
  • Trace: какие IF/CASE сработали в текущем цикле
  • Trends: клик по переменной → график

Тестирование вручную

# Установить температуру = 15.00°C (1500 в int)
uniset2-admin --confile test.xml --setValue --name AI_Temperature_S --value 1500
# Включить
uniset2-admin --confile test.xml --setValue --name DI_Enable_S --value 1
uniset2-admin --confile test.xml --setValue --name DI_Enable_S --value 0
# Проверить выход
uniset2-admin --confile test.xml --getValue --name DO_Heater_C