- 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)
18 KiB
Навозоудаление 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
🔴 Критично
- Дочистить переменные подключения Modbus к блокам MotorControl (Current_Motor1..4 → MC_MotorN.Current; FaultReset_Motor1..4 ← MC_MotorN.ONI_Command).
- Включить управление через Modbus — в каждый ONI записать
40013 = 1, иначе записи в 40010-40012 будут проигнорированы. - Построить FBD-макрос MotorControl_Logic на главной схеме и тиражировать на M2-M4 (~2-3 часа работы).
- Скомпилировать (F7) и загрузить в ПР200 через USB.
🟠 Высокий приоритет
- Экраны панели СП307 в Конфигураторе СП3хх:
- Главный: 4 карточки моторов 2×2 (Run/Fault/Overload индикаторы, Current÷10 для отображения, кнопка Сброс на каждый)
- Настройки (с паролем 1234): UStart%, TStart, TStop, уставка перегрузки, FLA на каждый мотор
- Режим: Ручной / Авто (заглушка)
- Тестовый стенд — собрать с минимумом железа: 220 В, 8 кнопок, 4 лампы 220 В на Q1/Q3/Q5/Q7 (выходы у ПР200-220 — сухие реле, 8 А @ 220 В AC).
🟡 Средний приоритет
- Мониторинг связи ONI (переменные Poll_ONI1..4 = TRUE; Status_ONI1..4).
- Светодиоды F1-F4 = Fault1..4 (индикация на корпусе ПР200).
🟢 Низкий приоритет (на будущее)
- Автоматика по сценарию: датчик телеги (I3?) → последовательный пуск M1→M2→M3→M4 с задержкой 5 сек → контроль уровня в приямке (I4 high / I5 low) → стоп горизонтальных при заполнении приямка → доочистка 10 сек после отъезда телеги.
- Моточасы каждого двигателя.
- Логирование аварий с временем.
- Удалённый мониторинг через 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— текущий, переделанный с нуля
Документация ОВЕН
- ПР200 функционал: https://owen.ru/product/pr200/functional
- ПР200 спецификации: https://owen.ru/product/pr200/specifications
- ПР200 примеры: https://owen.ru/product/pr200/primeri_primeneniya
- РП OWEN Logic версия 2.11 — приложен к проекту PDF
- Руководство ONI SFB-33 — приложен к проекту PDF (
onisfbrukov.pdf)
Софт
- 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
Принципы, которые проект подтвердил
- Делать сразу как надо, без переделок (запрос пользователя — переделать всё под Modbus-управление настройками ONI и панелью СП307, а не оставлять дискретное управление).
- Простая рабочая версия лучше сложной нерабочей.
- Адреса в OWEN Logic не вводятся через
%IX0.0— I1..I8 уже сами на схеме, тащить проводом. - На сложных задачах макрос (FBD) выгоднее ST-блока для понимания, ST-блок выгоднее для расчётов.