commit 802671f443cafbb39ef3ba179a9cae414dbf9481 Author: admin Date: Thu Apr 30 12:26:07 2026 +0300 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) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5d301be --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +*.swp +*.tmp +Thumbs.db diff --git a/CHAT_DIGEST.md b/CHAT_DIGEST.md new file mode 100644 index 0000000..b2bddb7 --- /dev/null +++ b/CHAT_DIGEST.md @@ -0,0 +1,262 @@ +# Навозоудаление 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-блок выгоднее для расчётов. diff --git a/INDEX.md b/INDEX.md new file mode 100644 index 0000000..0d4a77f --- /dev/null +++ b/INDEX.md @@ -0,0 +1,89 @@ +# INDEX — Бэкап проекта Навозоудаление OWEN + +**Дата создания бэкапа:** 30 апреля 2026 +**Источник:** Claude Project «Система навозоудаления» +**Назначение:** Перенос в self-hosted Gitea → `admin/manure-removal-owen` + +--- + +## Структура бэкапа + +``` +/tmp/manure-removal-owen/ +├── .gitkeep +├── INDEX.md ← этот файл +├── CHAT_DIGEST.md ← выжимка из 5 найденных чатов +└── files/ + ├── README.md + ├── PROJECT_INFO.md + ├── CURRENT_STATUS.md + ├── TODO.md + ├── TECH_STACK.md + ├── TROUBLESHOOTING.md + ├── HOW_TO_CREATE_PROJECT.md + └── CLAUDE_INSTRUCTIONS.md +``` + +--- + +## Файлы из Project Knowledge (Files panel) + +Все 8 MD-файлов скопированы один-к-одному из контекста чата (через `/mnt/project/`): + +| № | Имя файла | Размер | Путь в бэкапе | +|---|-----------|--------|---------------| +| 1 | README.md | 1173 байт | `files/README.md` | +| 2 | PROJECT_INFO.md | 3680 байт | `files/PROJECT_INFO.md` | +| 3 | CURRENT_STATUS.md | 820 байт | `files/CURRENT_STATUS.md` | +| 4 | TODO.md | 876 байт | `files/TODO.md` | +| 5 | TECH_STACK.md | 297 байт | `files/TECH_STACK.md` | +| 6 | TROUBLESHOOTING.md | 515 байт | `files/TROUBLESHOOTING.md` | +| 7 | HOW_TO_CREATE_PROJECT.md | 745 байт | `files/HOW_TO_CREATE_PROJECT.md` | +| 8 | CLAUDE_INSTRUCTIONS.md | 455 байт | `files/CLAUDE_INSTRUCTIONS.md` | + +--- + +## Найденные чаты (из conversation_search) + +Поиск выполнен по 5 запросам: «ПР200 OWEN Logic», «навозоудаление двигатель реле», «Modbus RTU ОНИ soft starter», «сброс аварии двигателей панель СП307», «программа OWEN PLC макрос FBD». + +| # | UUID чата | Заголовок | Последнее обновление | +|---|-----------|-----------|----------------------| +| 1 | `82be862f-9523-464c-b33c-bae1a0bae381` | Разработка нового проекта | 2026-02-16 21:32 UTC ⭐ самый свежий | +| 2 | `8bb4a87d-0713-4046-a2c4-032bce45e1d3` | Продолжение обсуждения в соседнем чате | 2026-02-16 09:55 UTC | +| 3 | `4486f08b-7572-42cf-ba13-6e72aaa17ba1` | Продолжение обсуждения PR200 | 2026-02-16 08:40 UTC | +| 4 | `e825b6f2-1039-4162-a82c-1cfc777478d9` | Сброс аварии двигателей после отказа | 2026-02-06 12:59 UTC | +| 5 | `a41ffd2a-4eec-465c-96c4-ef6bd4153949` | Проверка информации о проекте | 2026-02-04 08:45 UTC | + +Прямые ссылки (формат claude.ai): `https://claude.ai/chat/{uuid}`. + +Содержательная выжимка (архитектура, статус, TODO, решённые проблемы, ссылки) собрана в `CHAT_DIGEST.md`. + +--- + +## ⚠️ Что НЕ удалось забэкапить + +Два PDF из Project Knowledge **пропущены** — у меня в этом чате только текстовый интерфейс `dev:write_file`, надёжно записать бинарные файлы (или их base64 размером в миллионы символов через один tool-call) не получится: + +| Файл | Размер | Содержимое | Откуда взять | +|------|--------|------------|--------------| +| `РП_Owen_Logic__версия_2_11__1-RU-37197-1_124__1_.pdf` | 599 KB | Руководство пользователя OWEN Logic 2.11 | https://owen.ru/ → раздел поддержки ПР200 | +| `onisfbrukov.pdf` | 4.4 MB | Руководство ONI SFB-33 (Modbus регистры, формулы) | сайт ONI / iek.ru, либо из Files panel проекта | + +**Что делать в Gitea-чате:** +1. Скачать оба PDF из Files panel проекта Claude (через UI claude.ai → Project → Files → каждый файл → «Download») или из претензионных источников выше. +2. Положить в `files/` рядом с MD. +3. Закоммитить в `admin/manure-removal-owen` вместе с остальным. + +--- + +## Прочее, что НЕ попало в бэкап (но упоминалось в чатах) + +Эти артефакты упоминаются в диалогах, но физически в Project Knowledge их нет: + +- `test2.owle` — старый рабочий проект OWEN Logic (на ПК пользователя) +- `ManureRemoval.owle` — наследие от предыдущего программиста (на ПК пользователя) +- `ManureRemoval_v2.owle` — актуальный проект, в разработке (на ПК пользователя) +- Скриншоты экранов OWEN Logic из чатов — изображения в conversation_search недоступны + +Если эти `.owle` нужны в репозитории — их надо вытащить из соответствующих чатов на claude.ai (там они приходили как уплоады) или попросить пользователя загрузить. diff --git a/README.md b/README.md new file mode 100644 index 0000000..085fd6e --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# Навозоудаление — OWEN ПР200 + +Проект промышленной автоматизации системы навозоудаления на молочной ферме. +ПЛК ОВЕН ПР200-220, мягкие пускатели ONI SFB-33, Modbus RTU. + +> **Статус ~70% готов.** Основная логика написана, проводится финальная отладка. + +## Навигация + +| Файл | Содержимое | +|------|------------| +| [`files/README.md`](files/README.md) | Описание проекта, архитектура | +| [`files/PROJECT_INFO.md`](files/PROJECT_INFO.md) | Полная информация о проекте | +| [`files/CURRENT_STATUS.md`](files/CURRENT_STATUS.md) | Текущий статус | +| [`files/TODO.md`](files/TODO.md) | Открытые задачи | +| [`files/TECH_STACK.md`](files/TECH_STACK.md) | Стек технологий | +| [`files/TROUBLESHOOTING.md`](files/TROUBLESHOOTING.md) | Решённые проблемы | +| [`files/HOW_TO_CREATE_PROJECT.md`](files/HOW_TO_CREATE_PROJECT.md) | Как воссоздать проект в OWEN Logic | +| [`files/CLAUDE_INSTRUCTIONS.md`](files/CLAUDE_INSTRUCTIONS.md) | Инструкции для AI-ассистента | +| [`CHAT_DIGEST.md`](CHAT_DIGEST.md) | Выжимка из 5 чатов Claude: архитектура, решения, TODO | + +## ⚠️ Файлы не в репо + +- **`ManureRemoval_v2.owle`** — актуальный проект OWEN Logic (на ПК Алексея). **Сохрани через OWEN Logic → File → Save As → закоммить сюда.** +- **РП OWEN Logic 2.11 (PDF)** — с сайта owen.ru +- **Руководство ONI SFB-33 (PDF)** — с сайта ONI / iek.ru + +## Запуск в Claude + +Открой проект `навозоудаление OWEN` на claude.ai — там лежат оригинальные PDF и история разработки. diff --git a/files/CLAUDE_INSTRUCTIONS.md b/files/CLAUDE_INSTRUCTIONS.md new file mode 100644 index 0000000..4757781 --- /dev/null +++ b/files/CLAUDE_INSTRUCTIONS.md @@ -0,0 +1,23 @@ +# 🤖 Для Claude + +## Контекст +Навозоудаление, ПЛК ОВЕН, 4 двигателя + +**ВАЖНО:** Пользователь НОВИЧОК! + +## Приоритеты +1. Константы +2. Выходы +3. Modbus +4. Панель + +## Факты +- OWEN Logic +- test2.owle +- 70% готов +- Блок работает + +## Стиль +- Простые объяснения +- Пошаговые инструкции +- Примеры diff --git a/files/CURRENT_STATUS.md b/files/CURRENT_STATUS.md new file mode 100644 index 0000000..b60b6c2 --- /dev/null +++ b/files/CURRENT_STATUS.md @@ -0,0 +1,34 @@ +# 📊 Текущий статус + +**Дата:** 4 февраля 2026 +**Прогресс:** 🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜ 70% + +## ✅ Готово + +**Блок MotorControl:** +- ✅ Создан, 0 ошибок +- ✅ Упрощенная версия (без TON) +- ✅ Только BOOL + REAL + +**FBD схема:** +- ✅ 4 блока MC_Motor1-4 +- ✅ 8 кнопок I1-I8 подключены + +**Обучение:** +- ✅ OWEN Logic освоен +- ✅ FBD понятны +- ✅ Отладка ошибок + +## ⏳ В работе + +- ⏳ Константы CurrentLimit (15.0, 11.5) +- ⏳ Выходы Run → Q1, Q3, Q5, Q7 +- ⏳ Modbus для Current + +## ❌ Не начато + +- ❌ Панель СП307-Б +- ❌ Автоматика +- ❌ Логирование + +**Статус:** Работает! ✅ diff --git a/files/HOW_TO_CREATE_PROJECT.md b/files/HOW_TO_CREATE_PROJECT.md new file mode 100644 index 0000000..8818645 --- /dev/null +++ b/files/HOW_TO_CREATE_PROJECT.md @@ -0,0 +1,29 @@ +# 📘 Как создать Claude Project + +## Шаг 1: Создать Project +**Название:** Система навозоудаления +**Описание:** ПЛК ОВЕН, 4 двигателя, 70% готов + +## Шаг 2: Загрузить файлы +1. README.md +2. PROJECT_INFO.md +3. CURRENT_STATUS.md +4. TODO.md +5. TECH_STACK.md +6. TROUBLESHOOTING.md +7. CLAUDE_INSTRUCTIONS.md + +## Шаг 3: Custom Instructions +``` +Проект навозоудаления на ПЛК ОВЕН ПР200. + +КРИТИЧНО: +- Пользователь НОВИЧОК в ПЛК! +- OWEN Logic (НЕ CODESYS) +- Прогресс 70% +- Простые объяснения + +Читай TODO.md перед работой. +``` + +## Готово! 🎉 diff --git a/files/PROJECT_INFO.md b/files/PROJECT_INFO.md new file mode 100644 index 0000000..98ee453 --- /dev/null +++ b/files/PROJECT_INFO.md @@ -0,0 +1,151 @@ +# 🚜 Система навозоудаления - PROJECT INFO + +## 📌 Общее + +**Тип:** Автоматизация транспортеров навозоудаления +**Масштаб:** 4 двигателя (2 горизонт. + 2 наклонных) +**Пользователь:** НОВИЧОК в ПЛК! (первый проект) +**Начало:** Ноябрь 2025 +**Прогресс:** 70% ✅ + +--- + +## 🏗️ Архитектура + +**ПЛК:** ОВЕН ПР200-220.2.2.0 +- 8 входов (I1-I8) / 8 выходов (Q1-Q8) +- 2×RS-485 (COM1, COM2) +- Светодиоды F1-F4 + +**Панель:** ОВЕН СП307-Б +- 7" сенсорный экран +- Modbus RTU/TCP + +**Программа:** OWEN Logic 2.10.367.0 +- FBD (Function Block Diagram) +- **БЕЗ CODESYS!** + +--- + +## 🔌 Оборудование + +**Плавные пуски:** ONI SFB-33-D55-A-10 (4шт) +- Modbus RTU, RS-485 +- Адреса: 1, 2, 3, 4 +- Скорость: 9600, 8N1 +- **ВАЖНО:** A/B перепутаны! + - ПР200 A+ → ONI B- + - ПР200 B- → ONI A+ + +**Двигатели:** +1. Горизонт.#1: 4кВт, 12A, 1000об/мин → ONI#1 +2. Горизонт.#2: 4кВт, 12A, 1000об/мин → ONI#2 +3. Наклонный#1: 2.2кВт, 10A, 1500об/мин → ONI#3 +4. Наклонный#2: 2.2кВт, 10A, 1500об/мин → ONI#4 + +**Защита:** +- Горизонт.: 15A (125%) +- Наклонные: 11.5A (115%) + +--- + +## 📁 Структура проекта + +**Файл:** test2.owle (на ПК пользователя) + +**Блок MotorControl:** +``` +Входы: +- btn_Start (BOOL) +- btn_Stop (BOOL) +- Current (REAL) +- CurrentLimit (REAL) + +Выходы: +- Run (BOOL) +- Fault (BOOL) +- Overload (BOOL) + +Логика: +IF btn_Start AND NOT Fault THEN + Run := TRUE +END_IF + +IF btn_Stop OR Overload THEN + Run := FALSE +END_IF + +Overload := (Current > CurrentLimit) +``` + +**Подключения (70% готово):** +``` +I1 → MC_Motor1.btn_Start +I2 → MC_Motor1.btn_Stop +I3 → MC_Motor2.btn_Start +I4 → MC_Motor2.btn_Stop +I5 → MC_Motor3.btn_Start +I6 → MC_Motor3.btn_Stop +I7 → MC_Motor4.btn_Start +I8 → MC_Motor4.btn_Stop + +⏳ Нужно: +- CurrentLimit константы (15.0, 11.5) +- Run → Q1, Q3, Q5, Q7 +- Modbus для Current +``` + +--- + +## 📊 История проекта + +### Этап 1: CODESYS (не получилось) +- Попытка на ST +- **Проблема:** Пользователь знает OWEN Logic + +### Этап 2: OWEN Logic (мучения) +- Импорт блоков (.fbst) - не работает +- Ошибки компиляции: 16→11→12→0 + +### Этап 3: ПРОРЫВ! ✅ +- Упрощенный блок (без TON) +- Только BOOL + REAL +- **0 ошибок!** + +### Этап 4: Текущий (70%) +- 8 кнопок подключены +- 4 блока работают + +--- + +## 💡 Важные уроки + +**1. Адреса в OWEN Logic:** +НЕ НУЖНО %IX0.0! +I1-I8 УЖЕ на схеме → соединять проводом + +**2. OWEN Logic ≠ CODESYS:** +- OWEN Logic: для ПР200 И СП307 +- CODESYS: только некоторые ПЛК + +**3. Упрощение:** +Простая версия > сложная нерабочая + +--- + +## 🎯 Функционал + +**Этап 1 (текущий):** +- ✅ Кнопки ПУСК/СТОП +- ✅ Защита от перегрузки +- ⏳ Панель СП307 + +**Этап 2 (будущее):** +- ⏳ Последовательный запуск +- ⏳ Авто режим +- ⏳ Статистика + +--- + +**Обновлено:** 4 февраля 2026 +**Статус:** Работает! 70% готов diff --git a/files/README.md b/files/README.md new file mode 100644 index 0000000..ee167fe --- /dev/null +++ b/files/README.md @@ -0,0 +1,28 @@ +# 🚜 Система навозоудаления + +Промышленная автоматизация 4 транспортеров на ПЛК ОВЕН + +## 📚 Документация + +- [HOW_TO_CREATE_PROJECT.md](HOW_TO_CREATE_PROJECT.md) ⬅️ **НАЧНИ ЗДЕСЬ** +- [PROJECT_INFO.md](PROJECT_INFO.md) - Полная информация +- [CURRENT_STATUS.md](CURRENT_STATUS.md) - Текущий статус +- [TODO.md](TODO.md) - План задач +- [TECH_STACK.md](TECH_STACK.md) - Технологии +- [TROUBLESHOOTING.md](TROUBLESHOOTING.md) - Решение проблем +- [CLAUDE_INSTRUCTIONS.md](CLAUDE_INSTRUCTIONS.md) - Для Claude + +## 🎯 Текущий статус + +**Прогресс:** 70% готов ✅ +- ✅ Блок MotorControl работает (0 ошибок!) +- ✅ 8 кнопок ПУСК/СТОП подключены +- ⏳ Modbus, панель СП307 в работе + +## 🔧 Оборудование + +- **ПЛК:** ОВЕН ПР200-220.2.2.0 +- **Панель:** СП307-Б (7") +- **Плавные пуски:** ONI SFB-33 (4шт) +- **Двигатели:** 2×4кВт + 2×2.2кВт +- **Программа:** OWEN Logic 2.10 diff --git a/files/TECH_STACK.md b/files/TECH_STACK.md new file mode 100644 index 0000000..32cee89 --- /dev/null +++ b/files/TECH_STACK.md @@ -0,0 +1,21 @@ +# 🛠️ Технологии + +## ПЛК +- ОВЕН ПР200-220.2.2.0 +- 8in / 8out +- RS-485 ×2 + +## Панель +- ОВЕН СП307-Б +- 7" сенсор +- Modbus + +## Software +- OWEN Logic 2.10 +- FBD +- **НЕ CODESYS!** + +## Hardware +- ONI SFB-33 ×4 +- 2×4кВт + 2×2.2кВт +- Кнопки ×8 diff --git a/files/TODO.md b/files/TODO.md new file mode 100644 index 0000000..c361d3f --- /dev/null +++ b/files/TODO.md @@ -0,0 +1,46 @@ +# ✅ TODO + +**Обновлено:** 4 февраля 2026 + +## 🔴 Критично (эта неделя) + +**1. Константы CurrentLimit** +- Motor1/2: 15.0 +- Motor3/4: 11.5 + +**2. Выходы Run** +``` +MC_Motor1.Run → Q1 +MC_Motor2.Run → Q3 +MC_Motor3.Run → Q5 +MC_Motor4.Run → Q7 +``` + +**3. Компиляция** +- Build → Compile (F7) +- 0 ошибок +- Download в ПР200 + +## 🟠 Высокий (след. неделя) + +**4. Modbus COM1** +- 9600, 8N1 +- Modbus RTU Master + +**5. ModbusRead блоки** +- 4 блока для Current + +**6. Current → блоки** + +## 🟡 Средний (февраль) + +- Панель СП307 главная +- Панель СП307 аварии +- Светодиоды F1-F4 + +## 🟢 Низкий (март+) + +- Последовательный запуск +- Авто режим +- Моточасы +- Логирование diff --git a/files/TROUBLESHOOTING.md b/files/TROUBLESHOOTING.md new file mode 100644 index 0000000..4fc5285 --- /dev/null +++ b/files/TROUBLESHOOTING.md @@ -0,0 +1,22 @@ +# 🔧 Troubleshooting + +## Ошибки компиляции +1. Упростить (без TON) +2. BOOL + REAL only +3. Проверить синтаксис + +## Входы не работают +- НЕ НУЖНО %IX! +- I1-I8 УЖЕ на схеме +- Соединять проводом + +## Modbus +1. COM1: 9600, 8N1 +2. Адреса: 1,2,3,4 +3. A/B перепутаны: + - ПР200 A+ → ONI B- + - ПР200 B- → ONI A+ + +## OWEN Logic ≠ CODESYS +- OWEN Logic: ПР200 + СП307 +- CODESYS: только ПР200