Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Мини-ПЛК: открытый проект



Мини-ПЛК: открытый проект 5 года, 2 мес. назад #1

  • ARV
  • Сейчас на сайте
  • Администратор
  • Постов: 493
  • Репутация: 20

ПЛК PLC
Программируемый логический контроллер (ПЛК или, по-английски, PLC) — это, говоря своими словами, благодаря стараниям могучих фирм вроде SIEMENS, небольшой компьютер с модулями ввода-вывода стандартных сигналов промышленной автоматики, работающий по отдельно создаваемой программе и выполняющий автоматизацию технологических процессов. Спору нет — это очень хорошее, гибкое и удобное средство автоматизации, только вот слишком дорогое для решения небольших задач. Например, одно дело управлять автоматической сборочной линией или прокатным станом (тут тысяча-другая долларов никакой погоды не делает, важнее надежность), и совсем другое — автоматизировать полив, отопление и вентиляцию в небольшой теплице (у хозяина которой каждая копейка на счету, зато он готов в случае чего и вручную «подменить» сбойнувшую автоматику).


Подробнее...
я не ленивый, я энергосберегающий...

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #2

  • maxxir
  • Вне сайта
  • Осваиваюсь на форуме
  • Постов: 24
  • Репутация: 0
По поводу среды программирования - не стоит изобретать велосипед.
Неплохая работающая среда для Ladder Logiс - LDMicro cq.cx/ladder.pl.
Распостраняется по лицензии GPL Version 3.
Прямая поддержка средой микроконтроллеров:
* PIC16F628(A)
* PIC16F88
* PIC16F819
* PIC16F877(A)
* PIC16F876(A)
* PIC16F887
* PIC16F886
* ATmega128
* ATmega64
* ATmega162
* ATmega32
* ATmega16
* ATmega8
Можно проводить СИМУЛЯЦИЮ(те. отлаживать проект) прямо в среде LDMicro
в поле релейной схемы.
Выход:
a) HEX для целового микроконтроллера
б) стандартный ANSI C под generic контроллер
в) интерпретируемый байт-код (интерпретатор имеется в исходниках)
Подкупает то, что в принципе система жестко не привязана к вышеуказанным типам контроллеров.
Можно внедрить последующий код и в AVR, и ARM7, и PIC12,16,24,32 и тд.. - главное наличие компилятора С для выбранного Вами типа микроконтроллера.
На форуме cq.cx/ladder-forum.pl я выкинул примерчик интеграции Ladder-диаграммы в С проект смотрите тему: "Add C code to HI-TECH C v9.70 for PIC12F629"
Неплохо бы "допилить" LDMicro до русского языка, и добавить в интерфейс панель инструментов - но в принципе для начала пойдет и такая версия
Последнее редактирование: 5 года, 1 мес. назад от maxxir.

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #3

  • ARV
  • Сейчас на сайте
  • Администратор
  • Постов: 493
  • Репутация: 20
в этом подходе есть некоторые недостатки, которые в предлагаемой концепции мини-ПЛК мы пытаемся обойти:
1. для изменения программы в управляющем контроллере обязателен компьютер
2. так же обязателен программатор и умение им пользоваться

лично я себе плохо представляю, как я иду с компьютером в подвал, где работает насос подкачки воды, управляемый контроллером. не думаю, что от идеи иметь ноутбук для работы в теплице будет в восторге дачник или мелкий фермер.

по поводу изобретения велосипеда я так же не согласен: почему бы не попробовать переплюнуть Ladder Logic по всем статьям? шанс есть... хотя бы для самоутверждения - мы что, хуже поляков?
я не ленивый, я энергосберегающий...

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #4

  • maxxir
  • Вне сайта
  • Осваиваюсь на форуме
  • Постов: 24
  • Репутация: 0
Он вроде не поляк, а американец.
А зачем идти в подвал c компьютером, еcли можно
"заливать" код через bootloader - через CAN, USB, RS-232 и тд..
Или вставлять микросхему 24LC256 в панельку DIP8
с кодом интерпретируемой программы.
А каким способом Вы собираетесь менять алгоритм работы контроллера?
PS ARV - Поправьте URL вашего сайта в профиле - ссылка битая
Последнее редактирование: 5 года, 1 мес. назад от maxxir.

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #5

  • ARV
  • Сейчас на сайте
  • Администратор
  • Постов: 493
  • Репутация: 20
вроде как домен .pl - это Польша? вот я и подумал, что поляк. но это к делу не относится
я же написал в заметке и прилагаемом к ней файле-концепции, как предполагается менять логику работы контроллера: путем ввода простых формул. конечно, сначала придется на бумажке нарисовать логическую схемку и потом вручную "закодировать" ее формулами, и лишь после этого эти самые формулы вводить... но, например, изменить какую-то задержку или порог температуры в регуляторе можно будет даже без бумажки.

разумеется, какая-то IDE для облегчения составления формул была бы предпочтительнее, и, возможно, мы ее когда-нибудь сделаем, но пока делается ставка на некий "примитивизм". пока число активных участников проекта очень невелико, и это тормозит развитие проекта.

кстати, предложенная концепция не исключает возможности "заливки" управляющей программы в ПЛК по какому-либо интерфейсу, только пока эта возможность считается не основной, а дополнительной, т.е. отложенной на перспективу.

P.S. спасибо за указание на ошибку в профиле - исправил
я не ленивый, я энергосберегающий...
Последнее редактирование: 5 года, 1 мес. назад от ARV.

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #6

  • maxxir
  • Вне сайта
  • Осваиваюсь на форуме
  • Постов: 24
  • Репутация: 0
ARV написал:
..Как предполагается менять логику работы контроллера: путем ввода простых формул. конечно, сначала придется на бумажке нарисовать логическую схемку и потом вручную "закодировать" ее формулами, и лишь после этого эти самые формулы вводить... но, например, изменить какую-то задержку или порог температуры в регуляторе можно будет даже без бумажки.

разумеется, какая-то IDE для облегчения составления формул была бы предпочтительнее, и, возможно, мы ее когда-нибудь сделаем, но пока делается ставка на некий "примитивизм". пока число активных участников проекта очень невелико, и это тормозит развитие проекта.

Предложенный Вами способ формирования алгоритма - возможно и подойдет одному-двум десяткам любителей у которых нет компьютера. Однако зададимся вопросом а у кого сейчас дома(на даче, на работе и тд..) нет компьютера ? - Я думаю таких людей уже практически не осталось.
Зато стопроценто это отпугнет массу народа более технически грамотного и продвинутого. Писать алгоритм (или упаси бог пытаться редактировать - там такого можно наворотить по запарке ) тыкаясь в десяток кнопок в душном, темном, шумном подвале(или другом помещении) где стоят насосы (или другое оборудование), и щюрясь пытаться понять что там нарисовано на блеклом двухстрочном LCD? Я думаю это еще более неудобно и противоестественно. Молодежь точно - этим заниматься не будет. Профессионалы, и продвинутые любители подавно.
Вердикт - тема интересная и нужная , но вот при предложенном Вами способе ввода алгоритма работы ПЛК обреченная на провал. Профи и продвинутые любители пользоваться таким ПЛК не будут, т.е. те люди которые должны принимать участие в РАЗВИТИИ проекта.
Кто же тогда будет развивать Ваш проект ведь три десятка "фермеров" и "дачникиков" без ПК врядли смогуть продвигать креативную составляющую "Мини-ПЛК: открытый проект"?
PS (Мое личное ИМХО)
Последнее редактирование: 5 года, 1 мес. назад от maxxir.

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #7

  • ARV
  • Сейчас на сайте
  • Администратор
  • Постов: 493
  • Репутация: 20
ваше личное ИМХО отнюдь не явилось откровением для меня. я об этом думал и думаю. но решения лучше, проще и дешевле, чем предложил - я не нахожу. начать можно с этого, дальше будет видно.

в том, что определенная потребность в этом устройстве есть, я уверен: мой проект многоканального таймера вполне пользовался спросом, множетсво разрозненных терморегуляторов, таймеров, автоматов и т.п. так же "бродит" по интернету... то есть отдельные реализации отдельных возможностей многих устраивает, я же предлагаю все отдельное совместить в универсальное

профи же вообще вряд ли посмотрят в сторону нашего проекта, т.к. проблемы такого уровня им явно неинтересны - они же профи!

и еще пару аргументов в защиту своего подхода.
простой пример: некто решил сделать регулятор для теплых полов. ему надо 2 или 3 датчика и управление краном горячей воды или еще чем-то. он взял наш ПЛК за основу, как-то уж (закрыто мраком) сделал его в корпусе на DIN-рейку или даже встроил в аккуратную коробочку на стене... а теперь вопрос: если ему понадобится изменить алгоритм регулятора, например, добавив лишний датчик или, наоборот, убрав его - что он должен делать? по-вашему - либо разбирать свою красоту, внимать микросхему памяти или плату ПЛК, топать к компу и там все это перепрошивать, либо заранее проложить проводку так, чтобы прямо из его мастерской можно было все изменить... а в моем варианте он 10 минут думает, а потом еще 5 минут вводит новые формулы - при этом ничего разбирать не надо, все чистенько и аккуратненько, жена довольна.

это так же мое ИМХО
я не ленивый, я энергосберегающий...
Последнее редактирование: 5 года, 1 мес. назад от ARV.

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #8

  • maxxir
  • Вне сайта
  • Осваиваюсь на форуме
  • Постов: 24
  • Репутация: 0
А ха-ха, на Дин рейку любитель Oo да еще с двустрочным LCD
это же по габаритам не маленькое, а про корпус который
убирается в стену - диаметр стакана 60-65 - ваше
LCD туда не лезет
ARV написал:
а в моем варианте он 10 минут думает, а потом еще 5 минут вводит новые формулы - при этом ничего разбирать не надо, все чистенько и аккуратненько..

Так проект ВАШ или "Мини-ПЛК - открытый проект?"
Последнее редактирование: 5 года, 1 мес. назад от maxxir.

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #9

  • ARV
  • Сейчас на сайте
  • Администратор
  • Постов: 493
  • Репутация: 20
maxxir написал:
Так проект ВАШ или "Мини-ПЛК - открытый проект?"
проект открытый, просто идея-то моя
я не ленивый, я энергосберегающий...

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #10

  • digicat
  • Вне сайта
  • Новый участник
  • Постов: 3
  • Репутация: 0
ARV написал:
лично я себе плохо представляю, как я иду с компьютером в подвал, где работает насос подкачки воды, управляемый контроллером. не думаю, что от идеи иметь ноутбук для работы в теплице будет в восторге дачник или мелкий фермер.
Как вариант, обновлять софт с USB флешки.

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #11

  • ARV
  • Сейчас на сайте
  • Администратор
  • Постов: 493
  • Репутация: 20
digicat написал:
Как вариант, обновлять софт с USB флешки.
вариант... но USB-host это задачка та еще...
я не ленивый, я энергосберегающий...

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #12

  • maxxir
  • Вне сайта
  • Осваиваюсь на форуме
  • Постов: 24
  • Репутация: 0
ARV написал:
digicat написал:
Как вариант, обновлять софт с USB флешки.
вариант... но USB-host это задачка та еще...

Тогда уж не с USB флешки, а с стандартной SD Card. PetitFs от (с)Chang c поддержкой
FAT12 и FAT32 - стек протоколов на чтение файлов, просмотр директорий занимает ~4 кбайт.
"Упихивается" даже в AtTiny85.
Последнее редактирование: 5 года, 1 мес. назад от maxxir.

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #13

  • MTh
  • Вне сайта
  • Новый участник
  • Постов: 5
  • Репутация: 0
Вообщем-то, большое количество входов - не панацея... для начала хватит и 8, или можно использовать возможности микросхем типа HC164 и каскадировать. С выходами та же ситуация. Мне более интересно как сделать вход универсальным? Чтобы и 220 можно было подключить и что-нить низколвольтное и считать импульсы со счетчиков (свет, вода)...

А вот с обновлением ПО действительно проблемы. Ведь мы часто хотим спрятать все подальше и по возможности не возвращаться к данному вопросу (природная лень человека).

Мне кажется есть смысл сделать загрузчик, который будет читать SDCard... А загрузку на SDCard можно сделать непосрдественно на ПК. Такой подход позволит сделать программу находясь где угодно, а взяв с собой карточку пойти и обновится.

Другие методы (USB, Ethernet) требуют дополнительных микросхем или замены МК. Есть еще конечно USB bootloader - но это только при наличии ноута (его таскать можно). Флэшку не подключить.

Возможности использовать Ethernet позволят мониторить работу ПЛК в реальном времени, в каком бы углу дома оно не находилось, через браузер. НО! RS485 обходится дешевле, а дальность имеет большую. Правда требует либо спец написанные проги, либо терминал.

Установку на DIN рейку считаю оправданной и удобной. Корпуса сейчас есть такого типа что и на дин-рейку встанут и на стенку.

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #14

  • ARV
  • Сейчас на сайте
  • Администратор
  • Постов: 493
  • Репутация: 20
я изначально думал, что возможность программирования без ПК - принципиально важное отличие от всех прочих вариантов, то есть полная автономность. SD-карту предполагал использовать (в перспективе) для протоколирования, например, при мониторинге каких-то процессов, очень длительных измерениях и т.п.

привязка к ПК в плане программирования ПЛК так или иначе перечеркивает автономность, и в этом варианте мы получаем обычную Arduino...
я не ленивый, я энергосберегающий...

Re: Мини-ПЛК: открытый проект 5 года, 1 мес. назад #15

  • maxxir
  • Вне сайта
  • Осваиваюсь на форуме
  • Постов: 24
  • Репутация: 0
MTh написал:
С выходами та же ситуация. Мне более интересно как сделать вход универсальным? Чтобы и 220 можно было подключить и что-нить низколвольтное и считать импульсы со счетчиков (свет, вода)...

Как говорится хотелось лисе и рыбку съесть и на волчий хвост сесть Что-то таких чудес не встречал еще..
Вариант с джамперами не прокатит - обязательно все перепутаете и "влупите" на 220в низковольтную часть.
MTh написал:

Установку на DIN рейку считаю оправданной и удобной. Корпуса сейчас есть такого типа что и на дин-рейку встанут и на стенку.
Где такие корпуса ссылку дайте, мне нужно для HomeAutomation, счас "запиливаю" у себя в квартире
<Умный Дом> на CAN bus.
Время создания страницы: 0.83 секунд