Files
manure-removal-owen/CHAT_DIGEST.md
T
admin 802671f443 Initial: backup from Claude Project 'навозоудаление OWEN'
- 8 project files from Claude Project Knowledge (MD)
- CHAT_DIGEST.md: synthesis of 5 chats (architecture, status, solved issues)
- INDEX.md: full manifest with notes on missing PDFs and .owle files
- Missing: ManureRemoval_v2.owle (local), 2 PDF manuals (binary, too large for write_file)
2026-04-30 12:26:07 +03:00

18 KiB
Raw Blame History

Навозоудаление OWEN — выжимка из чатов

Дата компиляции: 30 апреля 2026 Источник: conversation_search по проекту "Система навозоудаления" Найдено уникальных чатов: 5 (с 4 февраля по 16 февраля 2026)


Архитектура решения (ПЛК, датчики, исполнительные устройства)

Топология

┌─────────────────────────────────────────────────────┐
│  ШКАФ КОРПУСА №1                                    │
│                                                     │
│  ПР200-220.2.2.0                                    │
│  ├─ COM1 (Slot 1) → Modbus SLAVE → СП307 панель     │
│  │     9600, 8N2, адрес ПЛК = 16                    │
│  └─ COM2 (Slot 2) → Modbus MASTER → 4× ONI SFB-33   │
│        9600, 8N1 (или 8N2), интервал опроса 100 мс  │
│                                                     │
│  СП307-Б (7" сенсорный)                             │
│  ├─ PLC порт → ПР200 (Modbus RTU Master)            │
│  └─ Download порт → MAX485 → ESP32 (удалёнка через  │
│                              WiFi → CRM сервер)     │
│                                                     │
│  4× ONI SFB-33-D55-A-10 (плавные пуски)             │
│  Адреса Modbus: 1, 2, 3, 4                          │
└─────────────────────────────────────────────────────┘

Двигатели и защита

Тип Мощность Iном (FLA) Уставка перегрузки ONI
1 Горизонтальный 4 кВт 12 А 15.0 А (125%) #1
2 Горизонтальный 4 кВт 12 А 15.0 А (125%) #2
3 Наклонный 2.2 кВт 10 А 11.5 А (115%) #3
4 Наклонный 2.2 кВт 10 А 11.5 А (115%) #4

Соответствие входов/выходов ПР200

Входы:                          Выходы:
I1 → MC_Motor1.btn_Start        Q1 ← MC_Motor1.Run
I2 → MC_Motor1.btn_Stop         Q3 ← MC_Motor2.Run
I3 → MC_Motor2.btn_Start        Q5 ← MC_Motor3.Run
I4 → MC_Motor2.btn_Stop         Q7 ← MC_Motor4.Run
I5 → MC_Motor3.btn_Start        F1-F4 — светодиоды (планируется)
I6 → MC_Motor3.btn_Stop
I7 → MC_Motor4.btn_Start
I8 → MC_Motor4.btn_Stop

Карта Modbus (ONI SFB-33, COM2 Master)

Чтение (FC 0x04, Input Registers):

Параметр Адрес Тип Формула
Средний ток 30007 UINT16 I = value × FLA / 100
Статус системы 30009 UINT16 Биты: Stop/Accel/Bypass/Run
Код аварии 30011 UINT16 0=норма, 1=перегрев, 3=превышение тока

Запись настроек (FC 0x06, Holding Registers):

Параметр Адрес Диапазон Формула
FLA (номинальный ток) 40002 1-150 А прямо в Амперах
UStart% (нач. напряжение) 40010 n=0-13 UStart% = 30 + n×3
TStart (время разгона) 40011 n=0-15 TStart = n×2 сек
TStop (время торможения) 40012 n=0-15 TStop = n×2 сек
Управление через Modbus 40013 0 или 1 0=потенциометры, 1=Modbus — ОБЯЗАТЕЛЬНО 1!

Команды (FC 0x05, Coils):

Команда Адрес Действие
Пуск/Стоп 00001 0=Стоп, 1=Пуск
Сброс аварии 00008 1=Сброс (импульс!)

Карта Modbus (ПР200 Slave, COM1, для СП307)

Регистр Имя Направление
512-515 SL_Fault1..4 ПЛК → Панель
516-519 SL_Overload1..4 ПЛК → Панель
520-523 SL_Current1..4 ПЛК → Панель
524-527 SL_Reset1..4 Панель → ПЛК
528 SL_Mode Панель → ПЛК (на будущее)
529 SL_EmgStop Панель → ПЛК

Блок MotorControl (актуальная версия от 15 февраля)

VAR_INPUT
    btn_Start: BOOL;        // Кнопка ПУСК (физическая или Toggle)
    btn_Stop: BOOL;         // Кнопка СТОП
    btn_EmgStop: BOOL;      // Аварийный стоп (PanelEmgStop)
    Current: UDINT;         // Ток от ONI через Modbus
    CurrentLimit: UDINT;    // Уставка перегрузки
    Reset: BOOL;            // Сброс аварии (физ. или PanelReset)
END_VAR

VAR_OUTPUT
    Run: BOOL;              // Команда на двигатель
    Fault: BOOL;            // Флаг аварии (UDINT по факту)
    Overload: BOOL;         // Флаг перегрузки (UDINT по факту)
    ONI_Command: BOOL;      // ИМПУЛЬС сброса для ONI Modbus
    CurrentOut: UDINT;      // Ток на выход для панели
END_VAR

Логика сброса: повторное нажатие ПУСК при наличии Fault → импульс ONI_Command → запись в катушку 00008 ONI → сброс аварии в плавном пуске.

Кабельная разводка

  • ПР200 ↔ ONI: A/B перепутаны! ПР200 A+ → ONI B, ПР200 B → ONI A+ (учтено в проекте)
  • ПР200 ↔ СП307: DB-9F на стороне панели, pin 7 = A, pin 8 = B (разъём заказан)

Удалённый мониторинг (на будущее)

ESP32 + MAX485 (~600₽/система) подключается к Download-порту СП307 (Modbus RTU Slave). 9 систем = ~5400₽ vs 22 500₽ для RS-485↔Ethernet конвертеров. ESP32 → WiFi → роутер → CRM-сервер на Node.js.


Текущий статус (% готовности, что работает, что нет)

Прогресс по разным чатам менялся: 70% (4 фев) → 85% (6 фев) → ~30% после рестарта на новом проекте ManureRemoval_v2 (16 фев).

Актуальное состояние (на 16 февраля 2026)

Идёт переделка с нуля на новый проект ManureRemoval_v2.owle с принципиальными улучшениями:

  • Toggle-логика вместо отдельных ПУСК/СТОП (освобождает входы под датчики)
  • Запись настроек ONI (UStart, TStart, TStop) прямо из ПЛК через Modbus
  • Полноценный Modbus Slave для СП307 (18 переменных, регистры 512-529)
  • Подход: создать FBD-логику на главной схеме → выделить → Создать макрос (это работает в OWEN Logic, в отличие от попыток создать FBD-блок напрямую)

Что работает ()

  • Блок MotorControl скомпилирован, 0 ошибок (UDINT для Current/CurrentLimit/Fault/Overload)
  • 4 экземпляра MC_Motor1..4 на FBD схеме
  • Все 8 кнопок I1-I8 подключены
  • Выходы Run → Q1, Q3, Q5, Q7
  • Modbus Master на Слоте 2 настроен (4 устройства ONI, адреса 1-4)
  • Modbus Slave на Слоте 1 настроен (адрес 16, 18 переменных)
  • Сетевые переменные созданы: Current_Motor1..4, FaultReset_Motor1..4
  • Конфигуратор СП3хх установлен, проект «Панель_навозоудаления» создан
  • Дизайн 3 экранов согласован (главный / настройки с паролем / режим)

Что в работе ()

  • Связь сетевых переменных Modbus с входами/выходами блоков на FBD
  • Создание FBD-макроса MotorControl_Logic (выделить блоки → правый клик → Создать макрос)
  • Тиражирование макроса на M2, M3, M4

Что не начато ()

  • Экраны панели СП307 (рисование в Конфигураторе СП3хх)
  • Мониторинг связи ONI (переменные Статус/Опрос)
  • Автоматический режим работы по датчикам (телега, уровень в приямке)
  • Моточасы и логирование
  • ESP32 удалённый мониторинг

Открытые вопросы / TODO

🔴 Критично

  1. Дочистить переменные подключения Modbus к блокам MotorControl (Current_Motor1..4 → MC_MotorN.Current; FaultReset_Motor1..4 ← MC_MotorN.ONI_Command).
  2. Включить управление через Modbus — в каждый ONI записать 40013 = 1, иначе записи в 40010-40012 будут проигнорированы.
  3. Построить FBD-макрос MotorControl_Logic на главной схеме и тиражировать на M2-M4 (~2-3 часа работы).
  4. Скомпилировать (F7) и загрузить в ПР200 через USB.

🟠 Высокий приоритет

  1. Экраны панели СП307 в Конфигураторе СП3хх:
    • Главный: 4 карточки моторов 2×2 (Run/Fault/Overload индикаторы, Current÷10 для отображения, кнопка Сброс на каждый)
    • Настройки (с паролем 1234): UStart%, TStart, TStop, уставка перегрузки, FLA на каждый мотор
    • Режим: Ручной / Авто (заглушка)
  2. Тестовый стенд — собрать с минимумом железа: 220 В, 8 кнопок, 4 лампы 220 В на Q1/Q3/Q5/Q7 (выходы у ПР200-220 — сухие реле, 8 А @ 220 В AC).

🟡 Средний приоритет

  1. Мониторинг связи ONI (переменные Poll_ONI1..4 = TRUE; Status_ONI1..4).
  2. Светодиоды F1-F4 = Fault1..4 (индикация на корпусе ПР200).

🟢 Низкий приоритет (на будущее)

  1. Автоматика по сценарию: датчик телеги (I3?) → последовательный пуск M1→M2→M3→M4 с задержкой 5 сек → контроль уровня в приямке (I4 high / I5 low) → стоп горизонтальных при заполнении приямка → доочистка 10 сек после отъезда телеги.
  2. Моточасы каждого двигателя.
  3. Логирование аварий с временем.
  4. Удалённый мониторинг через ESP32+MAX485 на Download-порт СП307.

Вопросы для уточнения

  • Регистр 30007 в OWEN Logic — вводится как 7, 6 или 30007? (зависит от того, как программа считает смещение; начать с 7, при отсутствии чтения попробовать 6)
  • На 9 систем: 9 ESP32 (по одному на корпус, 5400₽) или 3 ESP32 (по 3 системы каждый, 1800₽)?

Решённые проблемы (что починили, как)

1. Ошибки компиляции в блоке MotorControl (16 → 11 → 12 → 0)

Решение: упростили блок — убрали TON-таймеры, оставили только BOOL + REAL (потом перешли на UDINT). Принцип: «простая работающая версия лучше сложной нерабочей».

2. ModbusRead, который ломал симуляцию

Решение: нашли остаточный блок ModbusRead на схеме и удалили. Симуляция OWEN Logic при наличии Modbus-блоков может валиться — для тестов проще загружать в реальный ПР200 через USB.

3. Перепутанные A/B на RS-485 ПР200↔ONI

Решение: учтено в монтаже — ПР200 A+ → ONI B, ПР200 B → ONI A+. Не меняем в проекте, меняем в кабеле.

4. ONI_Command копировал Run вместо импульса

Решение: перевели ONI_Command на детектор фронта (R_TRIG) от Reset — теперь это короткий импульс именно для записи в катушку 00008 ONI.

5. Куча проводов на схеме (72 на 4 двигателя)

Решение: сократили интерфейс блока MotorControl, сетевые переменные Modbus используются прямо внутри блока, наружу выведены только минимально необходимые сигналы. Стало ~20 проводов вместо 72.

6. Нельзя создать пользовательский FBD-блок

Решение: в OWEN Logic пользовательские функциональные блоки только на ST. НО: можно выделить FBD-элементы на главной схеме → правый клик → «Создать макрос» — получается переиспользуемый визуальный блок. Это и есть профессиональный путь.

7. Симулятор OWEN Logic не работал, не понятно где вводить переменные

Решение: в упрощённой версии OWEN Logic нет дерева проекта как в CODESYS. Глобальные переменные создаются через таблицу переменных и через элементы «Константа» прямо на FBD-схеме (правый клик → Вставка → Константа).

8. Дорогое удалённое подключение для 9 систем (RS-485↔Ethernet конвертеры по ~2500₽)

Решение: использовать встроенный Download-порт СП307 как Modbus RTU Slave + ESP32 с MAX485 (~600₽). Экономия ~17 100₽ на парк из 9 систем.

9. Сброс аварии без свободных входов

Решение: все 8 входов заняты ПУСК/СТОП. Сброс реализован двумя путями: (а) повторное нажатие ПУСК при активном Fault → ONI_Command импульс; (б) кнопка «Сброс» на панели СП307 → SL_Reset1..4 (рег. 524-527) → PanelReset вход блока.


Полезные ссылки и команды

Файлы проекта

  • test2.owle — старый проект (на ПК пользователя)
  • ManureRemoval.owle — наследие от предыдущего программиста (с заготовкой автоматики, не работает)
  • ManureRemoval_v2.owle — текущий, переделанный с нуля

Документация ОВЕН

Софт

  • OWEN Logic 2.10.367.0 — основная среда (FBD), для ПР200 + СП307. НЕ CODESYS!
  • Конфигуратор СП3хх (SP3xx Configurator) — для рисования экранов СП307

Компиляция и загрузка

  • Build → Compile (F7) — должно быть 0 ошибок
  • Online → Загрузить (или Alt+F8 / Ctrl+F11) — выбрать USB-порт COM3..COM10

Стандартные параметры Modbus

  • COM2 Master ↔ ONI: 9600, 8N1, период опроса 100-1000 мс, таймаут 1000 мс, 3 попытки
  • COM1 Slave ↔ СП307: 9600, 8N2, адрес ПЛК = 16

Принципы, которые проект подтвердил

  1. Делать сразу как надо, без переделок (запрос пользователя — переделать всё под Modbus-управление настройками ONI и панелью СП307, а не оставлять дискретное управление).
  2. Простая рабочая версия лучше сложной нерабочей.
  3. Адреса в OWEN Logic не вводятся через %IX0.0 — I1..I8 уже сами на схеме, тащить проводом.
  4. На сложных задачах макрос (FBD) выгоднее ST-блока для понимания, ST-блок выгоднее для расчётов.