# Навозоудаление 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 февраля) ```pascal 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. ### 🟠 Высокий приоритет 5. **Экраны панели СП307** в Конфигураторе СП3хх: - Главный: 4 карточки моторов 2×2 (Run/Fault/Overload индикаторы, Current÷10 для отображения, кнопка Сброс на каждый) - Настройки (с паролем 1234): UStart%, TStart, TStop, уставка перегрузки, FLA на каждый мотор - Режим: Ручной / Авто (заглушка) 6. **Тестовый стенд** — собрать с минимумом железа: 220 В, 8 кнопок, 4 лампы 220 В на Q1/Q3/Q5/Q7 (выходы у ПР200-220 — сухие реле, 8 А @ 220 В AC). ### 🟡 Средний приоритет 7. Мониторинг связи ONI (переменные Poll_ONI1..4 = TRUE; Status_ONI1..4). 8. Светодиоды F1-F4 = Fault1..4 (индикация на корпусе ПР200). ### 🟢 Низкий приоритет (на будущее) 9. **Автоматика** по сценарию: датчик телеги (I3?) → последовательный пуск M1→M2→M3→M4 с задержкой 5 сек → контроль уровня в приямке (I4 high / I5 low) → стоп горизонтальных при заполнении приямка → доочистка 10 сек после отъезда телеги. 10. Моточасы каждого двигателя. 11. Логирование аварий с временем. 12. Удалённый мониторинг через 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 ### Принципы, которые проект подтвердил 1. Делать сразу как надо, без переделок (запрос пользователя — переделать всё под Modbus-управление настройками ONI и панелью СП307, а не оставлять дискретное управление). 2. Простая рабочая версия лучше сложной нерабочей. 3. Адреса в OWEN Logic не вводятся через `%IX0.0` — I1..I8 уже сами на схеме, тащить проводом. 4. На сложных задачах макрос (FBD) выгоднее ST-блока для понимания, ST-блок выгоднее для расчётов.