Мы — небольшая команда инженеров в сфере автоматизации, и у нас есть мечта: чтобы инженерные профессии в сфере АСУ ТП стали престижными и уважаемыми в нашей стране.
Метод, который мы считаем наиболее эффективным в решении данной проблемы, — это снижение порога вхождения ИТ-специалистов в АСУ ТП и их «удержание» в отрасли с помощью популяризации GNU/Linux IIoT-устройств.
Только так, на наш взгляд, отрасль может стать привлекательной для молодых ИТ-шников и выйти на новый уровень.
Как ни странно, с развитием IoT уже появилось довольно много интересных стартапов и устройств в промышленном исполнении (Industrial IoT). Кто-то разработал собственные решения на базе SOM-ов (System-on-a-Module), некоторые и вовсе сделали платы с нуля и успешно поставили на поток собственные девайсы. Это не может не радовать!
Но, к сожалению, у производителей IoT в промышленном исполнении наблюдаются одинаковые проблемы:
Избыточность для задач средней и малой автоматизации и как следствие дороговизна устройств. Поддержка HDMI 2.1, Ethernet 2.5G, NVMe, конечно, здорово, но для небольших задач автоматизации нужны доступные устройства за 10-20 т. р.
Отсутствие поддержки полноценного «GNU/Linux с root-доступом» из коробки. Про сборки с защитой от повреждений и износа microsd даже не говорим. Нужны приемлемые образы с гарантированной работоспособностью, на которые будут легко устанавливаться актуальные программные платформы для решения прикладных задач. Вместо этого обычно предлагаются нестандартные, ознакомительные embedded-сборки сомнительного качетсва.
Третья и, пожалуй, главная проблема – разработчики IIoT устройств продолжают «мыслить в парадигме МЭК 61131-3». Они делают хорошую железку, но программную часть... продвигают вместе со своим «уникальным» инженерным софтом. Обычно это очередной графический дашборд-конфигуратор в стиле IEC. В лучшем случае получается что то вроде «NODE-RED», что для ИТ-шников в конечном итоге мало чем отличается от разработки в МЭК-овских средах.
Мы долго искали IIoT для своих задач, лишённые хотя бы двух первых недостатков, даже обращались к нескольким известным производителям за поддержкой, но к сожалению - либо дорого, либо проблемы с софтом. Так родилась идея создания проекта «PLC.JS», основная суть которого:
Для задач средней и малой автоматизации использовать уже готовые не дорогие одноплатники типа Orange, Raspberry, Banana, RockPi, которыми рынок просто завален;
Не пытаться повторить инженерный софт по лекалам МЭК, а использовать современные среды и инструменты.
Первые шаги
Набросали небольшой чек-лист, что мы хотим получить по железу в итоге:
Выбрать пилотный одноплатник.
Обеспечить входное питание 24 В постоянного тока, по факту 6-30 В — без этого в АСУ ТП никуда.
Добавить аппаратный RTC на микросхеме DS3231SN по I2C — точное время бывает нужно даже для самых простых задач вроде автоматизации вентиляции или освещения в магазине.
Добавить интерфейс RS485 на микросхеме ST485BDR/MAX13488 (плата конфигурируется для обеих микросхем), для передачи данных используется UART.
Обеспечить небольшую задержку выключения с индикацией на GPIO-ногу после пропадания питания для сохранения retain-данных на флешку. Потому что если у платы плохое питание - не помогут даже правильные настройки системы, ram-диски и readonly-режим. Во время работы ионистор должен заряжаться и находится в заряженном состоянии. После пропадания питания ионистор разряжается через диод на преобразователь L6920DCTR. Сигнал наличия входного питания приходит на GPIO, который можно будет использовать как триггер для безопасного сохранения данных и завершения работы.
Поместить плату в стандартный корпус DM4G — устройство должно легко стакаться с любой автоматикой, будь то домашний электрощиток или секционный напольник.
Разместить модуль OrangePi так, чтобы были доступны разъемы Ethernet, SD-card и USB-type C. Впихнуть невпихуемое, так сказать.
На борту устройства не должно быть входов/выходов, иначе мы попадаем в ловушку - привязываемся к коробочке и потом сложно заменить ее на аналоги при модернизации. На рынке огромное количество готовой и проверенной временем IO-периферии на любой вкус и цвет.
Добавить светодиоды индикации чего-либо, а также наличия питания 5 В — для красоты и на перспективу.
Стоимость ~15 тыс. руб.
Реализация
Очевидно, сама суть и конструктив стоковых плат прототипирования этому мешают. Основные их минусы: отсутствие корпуса, питание 5В от USB, а также отсутствие общепромышленных интерфейсов связи.
Сперва определились с одноплатником. Было несколько вариантов, но остановились на Orange Pi R1 LTS. Эта версия на RockChip RK3328 имеет небольшой размер и не распухла от переизбытка интерфейсов. Есть два Ethernet-порта и небольшая GPIO-гребёнка. Цена такого одноплатника невысокая.
Потом разработали плату питания одноплатника.
От питания 220 В на первых порах решили отказаться, так как нужно сертифицировать устройство, работающее в сетях 220 В переменного тока. Но на будущее уже решили, что будем использовать китайский преобразователь типа Hi-link HLK-PM01 или подобный от MeanWell. Для первой версии контроллера было решено запитывать контроллер от сети 24 В постоянного тока, которая в 99 % случаев есть в шкафах диспетчеризации и автоматики. В принципе понижающий DC-DC преобразователь с AliExpress нам поможет. Но его нужно впаять по-человечески в плату, а также обеспечить подключение питания не через USB Type-C, а посредством двух проводов, по-взрослому, вкручивая их в клеммник.
Далее нужно было определиться с интерфейсами связи и опциями. Выбор пал на RTC и на RS485. На что-то большее просто не хватит пинов GPIO. Микросхему реального времени выбрали DS3231SN, она хоть и дорогая, но у неё хорошая точность (при 2 ppm — 0,1728 сек в день) и имеется специальный вход для батареи, обеспечивающей независимое питание часов на довольно длительный срок. Вместо батареи установили миниатюрный Li-Po аккумулятор 30 мА/ч. Микросхема RTC общается с процессорной платой по интерфейсу I2C.
Интерфейс RS-485 построен на недорогой микросхеме ST485BDR от ST. Основной критерий — питание 5 В. Управление потоком сделано через дополнительный канал GPIO. Но спроектировали плату так, чтобы была возможность установить микросхему MAX13488 со встроенным управлением направлением передачи. Тогда останется одна ножка GPIO в резерве. Конфигурируется перемычками RJ1-RJ3.
Теперь про ионистор. По нашим расчётам ёмкости 2,5 Ф должно хватить на 5 секунд, что должно хватить для сохранения всяких Retain-данных, бэкапов и логов в случае пропадания питания. Не стали использовать существующие микросхемы ИБП (например, MAX38888 от Analog Devices), так как дорого и не дождёшься в нынешних реалиях. После Step-Down преобразователя использовали DC-DC Step-UP преобразователь L6920DC. Он работает в режиме байпаса, когда на входе 5 В и поддерживает на выходе 5 В, пока конденсатор на входе разряжается через диод 2D4. Резистор R1 нужен для ограничения тока заряда, иначе «лопнет» диод 2D3 или уйдет в защиту преобразователь MP1584EN.
Так же добавили СМД светодиоды статусов на базовую плату. Ранее светодиоды размещались на плате третьего этажа корпуса, нам показалось это не лучшим решением, от этой платы отказались. Сейчас уже тестируется третья модификация базовой платы.
Была попытка использовать нестандартную модель корпуса (модель разработана, к литью не подготовлена), но такой путь уж очень дорогой и только для крупных серий продукта. Мы пошли по более предсказуемому и менее опасному пути – использовали готовые китайские корпуса из АБС. Такие продаются на Алике и ЧиД.
Трассировка печатной платы не сложная, нужно было сделать максимально дешево.
Выбор фабрики, на которой будут изготовлены печатные платы, пал на «Резонит». Один раз заказывали на AliExpress через посредников — не понравились сроки. Но производство в Китае не отметаем. Заказывать серию есть смысл. Возможно, даже с поверхностным монтажом, не приценивались.
Создали 3D-модель корпуса в Inventor по чертежам, чтобы примерять платы и видеть объёмную картину. Было два варианта размещения плат в корпусе. Первый — когда плата Orange крепится четырьмя саморезами на дистанционной панели, которая, в свою очередь, фиксируется на втором этаже корпуса.
Этот дистанционный держатель мы тоже смоделировали в Инвенторе и распечатали на 3D-принтере. Дешево и сердито. Вышло неплохо, но Orange очень уж близко приближался к плате питания, и было неудобно вставлять Ethernet-разъем. На рисунке видно (самый левый корпус). Решили переделать. К межплатному соединителю на 13-контактном хедере пришли только со второй попытки. В первых версиях было на проводах и разъемах с шагом 2 мм.
Теперь Orange крепится на стойках ~20 мм. Стойки печатаем на 3D-принтере, но подойдут и покупные стандартные с внутренней резьбой M2.5 на концах.
А модель в Altium выглядит так.
Полная модель в Inventor.
Фото что получилось.
Резюме
Таким образом, мы получили:
Недорогое серийное IIoT-устройство (себестоимость до 15 тыс. руб.), которое подходит для задач средней и малой автоматизации.
Самое главное — базовый одноплатник не имеет никаких конструктивных и программных модификаций, его легко заменить или обновить ОС от оригинального вендора.
На подходе вторая модификация «PLC.JS Orange PI CM4 edition» — по сути, всё то же самое, только за основу была взята другая, более интересная плата. Постепенно планируем расширять линейку устройств таким же образом и под другие популярные одноплатники.
Если вас заинтересуют устройства PLC.JS, начало первых продаж планируем на август 2024, после завершения испытаний.
Все конструкторские исходники будут выложены на сайте www.plcjs.ru после завершения тестирования. Мы будем рады, если наши наработки мотивируют производителей IIoT разрабатывать более универсальные и доступные устройства!
Перспектива
В следующих статьях расскажем о реализации программной части и применении устройств на реальных объектах автоматизации.
Задачу минимум для программной части видим так:
Open Source для базового ПО. Насчет платформы для размещения пока думаем (скорее всего это будет GitFlic).
Проект базового ПО не должен быть привязан к конкретной коробочке. Это должен быть классический Node.js проект, который легко деплоится на любой другой IoT не только нашего производства.
Реализация 100% нативной разработки и отладки прикладного инженерного ПО в современных IDE (ориентируемся на VSCode).
Поддержка самых популярных промышленных модулей ввода-вывода от известных производителей (в виде программных классов). Разработчик прикладного инженерного ПО не должен тратить время на сопряжение IoT и модулей ввода-вывода.
Реализация всех базовых примитивов АСУ ТП: клок-таймер, ПИД-регулятор, мотор, клапан и т.д. (в виде программных классов). Это поможет новичкам в АСУ ТП быстро освоить все базовые примитивы отрасли.
Реализация ModbusTCP Server – программная часть должна «из коробки» поддерживать любые современные HMI-панели и SCADA-системы.
Комментарии (144)
ainu
19.06.2024 13:35+2А куда подключаются всякие IO выходы и прочие? Реле куда подключать например? А то получается это просто комп с сетью (а-ля роутер), который от 30 вольт питается и всё.
NutsUnderline
19.06.2024 13:35Да такие штуковины тоже имеют место быть, их и шлюзы называют и комуникационные процессоры, но тут еще как бы 485 есть под всякие modbus-реле
glazko Автор
19.06.2024 13:35+3Модули ввода-вывода будут подключаться по Modbus TCP/IP, на рынке огромное кол-во качественной периферии. На главном управляющем устройстве на наш взгляд не должно быть IO-сигналов, это значительно улучшает универсальность и облегчает в перспективе модернизацию
wofs
19.06.2024 13:35+6Добавьте Modbus RTU и юзайте десятки наших модулей без проблем :) В ассортименте почти все, что душа желает по доступным ценам.
lamer84
19.06.2024 13:35+1Не касаясь необходимости таких контроллеров, у меня несколько вопросов.
Open Source для базового ПО.
Что понимается под базовым ПО? Это же должна быть среда исполнения на самом контроллере?
Реализация 100% нативной разработки и отладки прикладного инженерного ПО в современных IDE (ориентируемся на VSCode).
Что понимается под нативной разработкой? АСУшники обычно используют языки МЭК-61131, будет их поддержка?
Поддержка самых популярных промышленных модулей ввода-вывода от известных производителей (в виде программных классов). Разработчик прикладного инженерного ПО не должен тратить время на сопряжение IoT и модулей ввода-вывода.
Я так понимаю, это о модулях дискретных/аналоговых входов/выходов? Как планируется их подключать?
Я понимаю, что мои вопросы с колокольни разработчиков промышленного ПО для ПЛК, возможно, цель данной разработки иная.
NutsUnderline
19.06.2024 13:35будет их поддержка
а ответ то есть в тексте ;)
matroskinufa
19.06.2024 13:35А основной язык - это тот, с которым приключилась неприятность из-за удаления пакета с примитивными обёртками вокруг битовых операций?
И чем плох проект OpenPLC?
nikolz
19.06.2024 13:35+2Несколько вопросов:
1) Для каких конкретно задач Вы делаете железо?
2) Можете привести пример задачи малой автоматизации, которую нельзя решить на RTOS, либо любой другой OS объемом в сотни раз меньше, чем Linux?
3) Зачем ставить внешний модуль таймера, если у вас есть сеть?
4) Можно было начать с контроллеров для малой автоматизации по себестоимости и потреблению в 10 раз меньше. Или для таких контроллеров нет задач?
glazko Автор
19.06.2024 13:35Для каких конкретно задач Вы делаете железо?
Системы мониторинга, умные дома, ОВиК для BMS (отопление, вентиляция..), управление освещением, небольшие насосные станции и другие не сложные АСУ. Разумеется ставить такое железо на станки или системы ПАЗ мы не собираемся
Зачем ставить внешний модуль таймера, если у вас есть сеть?
Например у вас система управляет освещением или вентиляцией по расписанию, а никакой сети нет
Можно было начать с контроллеров для малой автоматизации
Проблема в том, что языки и разработка в целом под EMB гораздо сложней и на рынке меньше специалистов. Плюс на такие контроллеры не поставишь Node.js или Python с веб-сервером легким движением руки
nikolz
19.06.2024 13:35+3Непонятно, зачем ставить Node.js или python во встраиваемые устройства, так как это приводит к неоправданному удорожанию и избыточному потреблению железа.
Зачем веб-сервер в устройствах, где нет сети.
Совсем непонятно, как все это привлечет новых разработчиков в АСУ ТП и как это все повысит зарплату разработчикам. Или зарплата большая, а знаний у желающих мало?
Но что именно решает Ваше железо с себестоимостью в 15 тысяч рублей.
На али можно взять уже готовое это:
WVitek
19.06.2024 13:35Более того, вот на такую серийную коробочку:
без проблем ставится Armbian + HomeAssistant по инструкции (https://www.alexcube.ru/blog/2024/02/17-02-2024-raskirpichivayu-tv-box-h96-max-na-protsessore-rockchip-rk3318/) и работает 24/7 :
NutsUnderline
19.06.2024 13:35+1Это пока работает и пока можно купить. Для единичного случая в домашних условиях - все риски на себе, да и не страшно. Но тут речь все таки идет не о том чтобы включить лампочку в люстре, а какое нибуть оборудование за много денег и много штук. Даже если внезапно-срочно понадобиться замена одной, или закупить еще 100-1000 шт., а продавца уже нет или производитель вдруг (полностью ) переделал схему - "кто виноват, что делать"?
WVitek
19.06.2024 13:35+1Изделие именно что массового производства, выпускается 5+ лет крупными тиражами, которым любой промконтроллер позавидует, продаётся повсеместно в онлайн-магазинах и на авито, и, полагаю, будет доступно в продаже ещё немало лет. (процессор RK3318, кстати, весьма близкий по характеристикам упомянутому в обсуждаемой статье RK3328).
В будущем может быть заменено на любое другое с сохранением программной и аппаратной совместимости (питание 5В 2А, Ethernet, WiFi, USB).
Как бытовое управляющее Linux-устройство с WebGUI - самое оно.
Но критичным оборудованием я бы не рискнул доверять управление, конечно. Функцию низкоуровневого управления стоит возлагать на более простые (=более надёжные) устройства/софт.
NutsUnderline
19.06.2024 13:35Голая плата с rk3588 - тоже ни в село, ни в город. Без корпуса, без питания, что там с софтовой поддержкой.. Для ha даже как то избыточно, для десктопа - ну такое, вот если только куча виртуалок.. там + корпус напечатать.. все равно че уж тогда уж не orange PI5
здесь же нам предлагают что то пригодное сразу под монтаж, но JetHome может оказаться гораздо интереснее и не только потому что заметно дешевле
s60
19.06.2024 13:35+1кстати в панелях Weintek есть JS как добавка к макросам (там есть рисования на Canvas, curl, можно подключать жабаскриптовые библиотеки как ресурсы ...)
s60
19.06.2024 13:35Плюс на такие контроллеры не поставишь Node.js или Python с веб-сервером легким движением руки
кстати в том же Siemens S7-1200 есть встроенный web сервер
и он даже фурычит
NutsUnderline
19.06.2024 13:35Меня от всех этих разговоров пробило на мысль сделать автоматизацию на чем то максимально неожиданном, на радиостанции например
balamutang
19.06.2024 13:35+11Эх, ребята, чтоб профессия стала престижной - надо чтобы она хорошо оплачивалась. А оплачиваться она будет хорошо когда специалистов на вакансии было мало, а вакансий много. Таким образом понижая уровень входа получится противоположный эффект, примерно как у 1с и php программистов (где задачи стояли те же - облегчить вход).
UranusExplorer
19.06.2024 13:35+5This. "Обычные" программисты не идут в АСУТП не потому что там непривычные МЭКовские языки программирования (к ним можно быстро привыкнуть, хотя, честно скажу, после нормальных языков на них писать будет скучновато) и отставание в развитии от других "программных" областей на пару десятков лет (достаточно вспомнить, когда там в известных скадах появились нормальные системы контроля версий и возможность юнит-тестов), а потому что там платят в несколько раз меньше чем в "большом айти", знать надо в несколько раз больше (а точнее, совмещать в одном лице несколько разных работников за зарплату в лучшем случае одного), отношение к людям по сравнению с "большим айти" ощутимо хуже в плане (типа удаленки и остальных плюшек), а нередко ещё и командировки по три недели в ебенях. Поэтому туда идут или "энтузиасты" (те кому это прям вот очень интересно и кто готов все это терпеть и работать вообще не ради денег), или те кто туда по молодости по какой-то причине в это болото попал и боится вылезти.
Так что новые среды разработки и привычные языки программирования - это, конечно, неплохо, но проблему не решит.
forthuse
19.06.2024 13:35Есть и на рынке, вероятно, "единственный" не на МЭК ориентированный ПЛК контроллер от ЕвроАвтоматика с общим названием этой линейки ES-Forthlogic, программируемый на "обычном" языке программирования с некоторыми его базовыми изменениями для задач возлагаемых на ПЛК.
P.S. И, думаю, что разработчики этого контроллера не просто так по своей прихоти решили и сделали выбор в такой дизайн этого ПЛК, а взвесив все "За" и "Против". :)
UranusExplorer
19.06.2024 13:35вероятно, "единственный" не на МЭК ориентированный ПЛК контроллер от ЕвроАвтоматика с общим названием этой линейки ES-Forthlogic, программируемый на "обычном" языке программирования
Эм... Да ещё лет 15 назад было много контроллеров, которые модно было программировать просто на Си. Например ADAM'ы от Advantech, SCADAPack от Control Microsystems (они теперь Schneider Electric), у B&R что-то такое тоже было. И это только из больших вендоров...
glazko Автор
19.06.2024 13:35+1Что понимается под базовым ПО?
Шаблонный проекта Node.js на базе которого можно легко и быстро разработать прикладное ПО под свои задачи
языки МЭК-61131, будет их поддержка?
Проект прежде всего ориентирован на ИТ-шников, и привычные для них языки программирования. В качестве языка и платформы программирования выбрали JavaScript и Node.js
Я так понимаю, это о модулях дискретных/аналоговых входов/выходов? Как планируется их подключать?
Ethernet/ModbusTCP-IP или RS485/Modbus, на рынке много хороших модулей ввода-ввода поддержка которых будет включена в базовое ПО
Sdvnkhp
19.06.2024 13:35+3Ваш клиент, дядя Вася электрик который собирает щиты малой автоматизации у себя в гараже. Он не знает JS. Ему нужен ПР200 и его аналоги, которые ему понятнее и он сам не привлекая программиста рисует программу понятным ему способом. А ваша целевая себестоимость + дорогой программист не найдет себя на рынке где нужно готовое решение за 50-100 тыс руб.
s60
19.06.2024 13:35+3Ваш клиент, дядя Вася электрик
их клиент - постаревший смузихлёб, еще вчера загребающий 300круб/сек, но уставший от "вечной гонки IT", которому захотелось " стабильности и надежности" :)
glazko Автор
19.06.2024 13:35вчера загребающий 300круб/сек
Было бы здорово, но такие парняги в АСУТП точно не пойдут) нам бы чтоб молодежь не разгибалась
s60
19.06.2024 13:35+2в ПэНээРе в балкАх, на картонке ... на полу в контейнере .... где-то на Северном Хоседаю или Хатанге ... прозванивая телефонную лапшу .... отлаживая связь по 485му с ЕК270 они точно не разогнуться )))
forthuse
19.06.2024 13:35Такие дяди "Васи" даже охотно применяют FlPprog https://flprog.ru/ для своей "ПЛК" автоматизации.
P.S. А, также бывает и, к примеру, HiAsm https://hiasm.com/ :)
tonyk_av
19.06.2024 13:35+13> В качестве языка и платформы программирования выбрали JavaScript и Node.js
То есть выбрали те языки, которые запрещены стандартами на функциональную безопасность для использования в контроллерах, используемых в задачах управления оборудованием. Браво!matroskinufa
19.06.2024 13:35Тормоза придумали трусы.
Даёшь экстрим даже при управлении лампочкой в нужнике!
s60
19.06.2024 13:35+3Проект прежде всего ориентирован на ИТ-шников,
это что ж такое произошло, что IT-шник попёрся в АСУТП ????
andersong
19.06.2024 13:35+1Это возрастное) С возрастом устаешь от вечной гонки IT и хочется стабильности и надежности, а где ее найти, как не в АСУТП?
s60
19.06.2024 13:35+1Сименс, вон, тоже не общается и даже удалил форум, который таким трудом восстанавливали,
это который ?
был огромный русскоязычный.... там просто море проблем с WinCC 6.0 еще было .... а потом он куда исчез и надо было на немецком сайте а-ля siemens-automation.com на английском международном форуме писать ...
и что, теперь на Сименсе не работать?
дело сугубо персональное ...
andersong
19.06.2024 13:35Да если бы персональное. Огромное количество предприятий работает на Сименсе.
UranusExplorer
19.06.2024 13:35С возрастом устаешь от вечной гонки IT и хочется стабильности и надежности, а где ее найти, как не в АСУТП?
В легаси-энтерпрайзе. Тоже стабильно и надёжно как в АСУТП, но платят гораздо больше, а мозг выносят меньше :)
glazko Автор
19.06.2024 13:35+1непонятно, зачем ставить Node.js или python во встраиваемые устройства
Что бы разрабатывать прикладного ПО на современных и популярных языках программирования. Что бы на решение таких задач в принципе можно было привлечь профессиональных ИТ-шников. Сейчас такие ребята просто бегут из отрасли
Зачем веб-сервер в устройствах, где нет сети.
Например у вас ЛСУ, что бы не ставить дорогую пром HMI для измерения уставки/режима раз в год можно развернуть для этого веб-сервер
Naves
19.06.2024 13:35+2>Сейчас такие ребята просто бегут из отрасли
Так бегут не из-за языка. Просто недостаток низкооплачиваемых квалифицированных кадров.
У вашего устройства какой-то разрыв целевой аудитории. С одной стороны вы целитесь в суровый PLC, где не нужны вот эти все функции linux и node.js. С другой стороны, вы сделали еще один linux-box с ценой выше среднего, у которого полно конкурентов.
Для вторых, например, более актуально наличие PoE. Про которое у вас ни слова, хотя электрическую часть вы уже сделали полностью.
Но хотя вроде бы уже законченное изделие, а не конструктор вида, купи горсть плат, винтиков и корпус.
kovserg
19.06.2024 13:35+10Недорогое серийное IIoT-устройство (себестоимость до 15 тыс. руб.), которое подходит для задач средней и малой автоматизации.
Недорогое и для задач малой автоматизации гораздо лучше подходят ESP32
https://aliexpress.ru/item/4000093185394.html
https://aliexpress.ru/item/33000837172.html
https://aliexpress.ru/item/1005006903753963.html
https://aliexpress.ru/item/1005004438665554.html
https://aliexpress.ru/item/1005004281943758.html
https://aliexpress.ru/item/1005006622809642.html
Но это если хочется колупаться самому.А ваш PLC не в п%3%у ни в красную армию. Дорого, бесполезно и главное не решает ни одной типовой задачи. Ни котактор включить с задержкой, ни простую логику с защитой организовать, ни запитать от 3х фаз, ни напряжение померить, ни последовательность фаз не проконтролировать, ни защиты от грозы для линий rs485, даже с индикацией скудно. Лучше уж какой-нибудь дубовый mitsubishi взять. Да еще до кучи и убогий яп, для realtime самое странной решение из всех возможных. (Вам как минимум надо ST, LD поддерживать, хоть в js компилите)
Лично я думаю что не взлетит ни при каких условиях. Советую исходить не из того что вы хотите, а из того что требуется в большинстве задач и неважно на сколько это тривиально может выглядеть.
checkpoint
19.06.2024 13:35+3Коллеги, ПЛК на JS уже написан. Проект называется Fuxa - это ядро ПЛК на JS и cреда разработки в Web браузере. Язык программирования - JavaScript. Проекты сохранаются в JSON формате, все картинки и анимация - в SVG. Прекрасно работает на RPi и аналогах. Очень интересный и любопытный проект, рекомендую к ознакомлению.
Ссылка на Github: https://github.com/frangoteam/FUXA
Попробовать online: https://frangoteam.github.io/
Boolkin
19.06.2024 13:35Не ПЛК а HMI, наверное
checkpoint
19.06.2024 13:35Нет. Fuxa это именно ПЛК на JS к которому есть редактор программ и HMI на базе Web.
smart_alex
19.06.2024 13:35+1Как по мне, легче взять любой Kincony (на данный момент ассортимент около 40 моделей контроллеров на ESP32) и запрограммировать их как угодно. Кстати, у них есть 2-3 крутых модели и на CM4.
Но за статью поставил плюс за креативность. Как говорится, больше контроллеров хороших и разных :)
glazko Автор
19.06.2024 13:35+1Проект называется Fuxa
Данный проект больше ориентирован на визуализацию, т. е. аналог HMI и SCADA систем. Мы же делаем ориентир на разработку управляющих программ: взаимодействие с модулями ввода-вывода, обработка объектов процесса, регуляторов и управляющей логики. Web-сервер у нас тоже будет, но только для генерации отладочного интерфейса (симуляция входов-выходов, измерение параметров - не более)
checkpoint
19.06.2024 13:35+2У всех этих одноплатных ЭВМ есть существенный недостаток - низкая надежность файловой системы и очень большое время выхода на рабочий режим (время загрузки Linux). Для настоящих применений такое решение совершенно не годится, независимо о того на каком языке оно там запрогано. Требуются изделия с временем выхода на рабочий режим в десятки мс и с сохранением предыдущего состояния.
Вот представьте, приходите вы вечером домой, а этот ПЛК взял и повис просто о того, что вы дверью хлопнули посильнее. И пока в нём не сработает watchdog, пока он не перезагрузится, вы даже свет в доме включить не сможете. Нафиг такое решение ? Т.е. оно не годится даже для "умного дома", что уж тут говорить о пром применении.
Еще один недостаток одноплатников - очень узкий температурный режим. Подавляющее большинство этих изделий собираются из ЭКБ "consumer grade", т.е. в диапазоне от 0C то 45C, да еще с принудительным охлаждением. Чуть темперетура поднялась, или вентилятор сход - жди зависон (проц потеет). Температура упала ниже -10С - тоже самое (память сбоит).
С другой стороны, одноплатные ЭВМ хороши для мониторинга и визуализации (SCADA, HMI) и для отправки управляющей программы в ПЛК. И тут мне нравится Fuxa на RPi.
adeep
19.06.2024 13:35очень зависит от типа системы и еще больше от прикладного ПО. а вообще умный дом надо делать так, чтобы он работал даже при отвале центрального звена
glazko Автор
19.06.2024 13:35низкая надежность файловой системы
Эту проблему мы хотим обойти минимизацией записи на флеш, запись будет происходить только при отключении питания по триггеру, времени хватает на сохранение параметров и штатное завершение работы ОС. Во время работы на флеш ничего не будет писаться
временем выхода на рабочий режим в десятки мс
Встраиваемое устройство на 8266 тоже не выходят на режим мгновенно. Да и цели выходить на режим как на ардуине нет, это не чайник) да и цели конкурировать с сименсом нет
очень узкий температурный режим
Мы смотрели BOM - все детали работают минимум 0..85'C+, камень в рабочем режиме греется макс +65'C, принудительного охлаждения не планируется
s60
19.06.2024 13:35+1Данный проект больше ориентирован на визуализацию, т. е. аналог HMI и SCADA систем. Мы же делаем ориентир на разработку управляющих программ: взаимодействие с модулями ввода-вывода, обработка объектов процесса, регуляторов и управляющей логики.
кстати, а чего вы схватились с ПЛК ? Их как-то более менее есть всяких разных и даже отечественных, а вот отечественных HMI нет.....
и что все с web-интерфейсом носятся как с торбой... вы цех то видели ? станок видели ? да миллион задач, где панель должна быть по месту ...
нужен отечественный weintek , только лучше, хватит кормить китайцев ....
и вот тут то запросов на "нормальное" программирование вагон и маленькая тележка от асутэпэшников, которые чуть-чуть умеют в программирование .... и вот тут то как раз применим тот самый Linux и без всяких realtime патчей ..... и framework, и JS, и пистон, и Lua, и CiCode, и VBscript и прочая лабуда .... и особенно востребовано создание/управление GUI из пользовательского кода (чтобы окошко можно было создать в рантайме, свойства графических объектов поменять и т.п., в общем всё то, что еще со времён Borland/Delphi можно было делать с GUI из кода) ....
Я тут у нескольких из Wirenbord'a спросил в личку почему они панели оператора не делают - никто не ответил .....
matroskinufa
19.06.2024 13:35Ну, емнип, b&r на linux работает.
Но логику на nodejs крутить... Можно, молодежно.
s60
19.06.2024 13:35Ну, емнип, b&r на linux работает.
VxWorks ...
matroskinufa
19.06.2024 13:35Да? Открытие. По ощущениям - линь.
Буду знать, спасибо. Хотя он мне один раз только попался.
checkpoint
19.06.2024 13:35У нас в разработке уже два года находится панельный ПК с сенсорным экраном на базе Скифа. Только вот Скифов нет. На нём как раз пробуем гонять Fuxa в качестве одного из вариантов.
s60
19.06.2024 13:35зачем СКИФ ?
RK3318, RK3288 как выше упоминали, RK3568, iMX6UL, AM3352 .... и только впуть ...
kovalensky
19.06.2024 13:35+7Для меня единственного это кажется маразмом и тратой ресурсов?
Недавно был в компании (некоторого рода успешной), где на io OrangePi One они ставят собственную плату с аксессуарами и называют это отечественным брендом.
Но страшнее мне показалось, то что они программируют на Node.js и ещё стажёров фронтэндевцев берут.
Общаться с Modbus, отправлять критически важные данные на сервер через js и называть это инновацией так себе, скорее деградация.
Это как писать серьёзные GUI решения на Electron.
smart_alex
19.06.2024 13:35+3Для меня единственного это кажется маразмом и тратой ресурсов?
Мне лично сама идея использования мини-компьютеров вместо микроконтроллеров кажется мягко говоря странной — мини-компьютер ЭТО НЕ МИКРОКОНТРОЛЛЕР (со всеми вытекающими).
Indemsys
19.06.2024 13:35+1Риалтаймности на уровне 10 мс можно добиться на обычном PC с Windows 11.
Демонстрацию можно найти в этом проекте -
Быстрая разработка для микроконтроллеров в Simulink на примере полифункционального зарядникаНо то мощный годами проверенный компьютер на i7. А здесь платформа не то что слабая, но нет никакой уверенности, что создатели доведут безглючность до нужного уровня. Все ли драйвера они проверили? Есть ли у них ресурсы на отладку драйверов? Располагают ли они вообще доступом к драйверам? Юзер мануала на процесор в открытом доступе нет, и в этом основное отличие от микроконтроллеров, которые по настоящему свободно программируемые.
glazko Автор
19.06.2024 13:35Юзер мануала на процесор в открытом доступе нет, и в этом основное отличие
s60
19.06.2024 13:35Для меня единственного это кажется маразмом и тратой ресурсов?
это называется предпринимательство ....
больше предпринимателе всяких и разных ... особенно, если не за казённые деньги ...
Недавно был в компании (некоторого рода успешной), где на io OrangePi One они ставят собственную плату с аксессуарами и называют это отечественным брендом.
уже завтра это мейнстрим
Но страшнее мне показалось, то что они программируют на Node.js и ещё стажёров фронтэндевцев берут.
Это как писать серьёзные GUI решения на Electron.
не нравится - не используйте, благо выбор сейчас есть: LADA, Moskvitch, UAZ Patriot Luxury Edition Pro Max ...
kovalensky
19.06.2024 13:35Не я должен им не пользоваться, а компании с системами, где возможен сценарий с безопасностью для жизни или убытком.
Для дома и простого рода вещей это уже есть мейнстрим.
Для сложных промышленных задач это ничем хорошим не назвать.
На самом деле это не моя забота, если заведующий инженер будет опытный (таковых мало) у компании заказчика, то он это учтёт.
s60
19.06.2024 13:35Недавно был в компании (некоторого рода успешной), где на io OrangePi One они ставят собственную плату с аксессуарами и называют это отечественным брендом.
эти хотя бы свою плату ставят, а ушлые манагеры (которые ещё вчера ругали LightCom, мол а-я-яй, как так можно, вот негодяи) сегодня во все лопатки ищут возможность влезть в этот реестр Минпромторга с минимальными затратами (от документации - взять у китайцев, перевести и добавить "Сделано в Подольске" до "замотать китайскую поделку в свой корпус вторым слоем", а продавать уже "свой корпус на помойку, железку отдаем как обычно") .....
select26
19.06.2024 13:35+8Прошел этот путь два года назад.
Пришел к таким же выводам. И даже использовал похожий OPI. Только Zero LTS - его выпуск и поддержка гарантированы производителем в течение длительного времени.
Вы повторили допущенные мной ошибки:
- Ethernet кабель не вытащить в шкафу, т.к. язычок RJ45 внизу. OPI перевернуть нужно. Это выснилось только после выхода первой партии.
- В выбранной вами плате Ethernet подключен не нативно, а через USB. Очень грустно работает. Отваливается. Ни разу не примышленное решение.
- Интерфейсов мало. Подход ваш понятен, но на практике очень часто нужна пара 485, 1-wire и несколько IO. Для малых универсальных, как вы сами пишете, проектов. Если добавлять сюда внешний исполнительный модуль, то вылетаем из ценовой группы. Это можно было добавить легко и даже с опторазвязкой.
- Её не увидел на вашей плате. Опторазвязку. Извините, без этого ни о каком промприменении говорить не приходится.
- Про системный софт вы не написали. А там вопросов много нужно решить: обеспечить сохранность данных аварийном пропадании питания, гарантировать загрузку из резервного раздела при повреждении основного, обновление на лету и т.п.
А так - идея годная. Можно занять нишу самодельщиков. Платформа для HA и IOB - для домашней автоматизации. Этакая ардуино на стероидах.
Может даже сделать проект OpenSource и продавать железо, а софт оставит на поддержке сообщества.Indemsys
19.06.2024 13:35Сейчас создаю манимулятор с локальной сетью на USB. На самом деле USB в микроконтроллерах работает надежнее чем Ethernet. Поскольку разбиение на логические каналы там производится на аппаратном уровне, а в Ethernet на программном. Поэтому USB работает надежней и быстрее. Так же как CAN работает в микроконтроллерах надежнее и быстрее чем MODBUS на RS485.
Опторазвязка в пром контроллерах не для надежности, а для универсальности. В моих распределенных системах моторов сигналы от узлов передаются без гальваноразвязки.
Правильная кабельная система избавляет от избыточной гальваноразвязки. А при плохой архитектуре даже двойная гальваноразвязка не помогает.
NutsUnderline
19.06.2024 13:35Занятно. А традиционного CAN скорости не хватает?
Indemsys
19.06.2024 13:35+1USB выбран потому что он дает дежурное питание для приводов моторов. А основное силовое питание приводов выключается цепью безопасности в случае аварии. Таким образом и работа узлов не прекращается вместе с диагностикой при авариях и требования сертифицируемости удовлетворяется без необходимости сертификации фирмваре узлов. И объем диагностики значительно больше чем это можно было бы позволить с CAN. И узлы дешевле. Ведь для USB не нужна даже микросхема драйвера.
glazko Автор
19.06.2024 13:35В выбранной вами плате Ethernet подключен не нативно, а через USB.
На самом деле на данной плате только один из портов Eth подключен к USB3 интерфейсу
Очень грустно работает. Отваливается. Ни разу не примышленное решение.
На практике все работает прекрасно
glazko Автор
19.06.2024 13:35Ethernet кабель не вытащить в шкафу, т.к. язычок RJ45 внизу. OPI перевернуть нужно. Это выснилось только после выхода первой партии.
Известная проблема, в версии CM4 ее уже не будет
Интерфейсов мало. Подход ваш понятен, но на практике очень часто нужна пара 485, 1-wire и несколько IO. Для малых универсальных, как вы сами пишете, проектов. Если добавлять сюда внешний исполнительный модуль, то вылетаем из ценовой группы. Это можно было добавить легко и даже с опторазвязкой
Хотелось сделать максимально дешево. По поводу развязки - в драйвере RS485 есть встроенная защита ESD + имеется TVS диод между A и B линиями. Пока считаем что того достаточно, в версии CM4 наверно сделаем
artalex
19.06.2024 13:35+7Не понимаю, чем не устраивает Wirenboard?
Он прям под все перечисленные Вами критерии подходит вроде бы.
adeep
19.06.2024 13:35+1да или тот же JetHub D1+ - все необходимые исходники максимально opensource, поддержка в linux kernel, uboot, armbian родная есть, интерфейсы есть.
DmitryVS
19.06.2024 13:35+2Мне - не подошёл, т.к. здоровая дура и стоит как чугунный мост. Мне вот, например, надо было аварийно дёргать питание через web-морду, если основная автоматика вообще не вменько никак, да и всё, по большому счёту, ну может ещё когда-нибудь один-два вх./вых. понадобятся, зачем туда Wiren? JetHub уже интереснее, но о нём я только сейчас узнал из сообщения ниже :) Так что больше железок - лучше, чем меньше железок!
vvzvlad
19.06.2024 13:35стоит как чугунный мост.
Ха-ха-ха, это вы еще не видели дорогих контроллеров, получается.
DmitryVS
19.06.2024 13:35Получается, я достаточно много чего видел :) а вот маленьких, аккуратно сбитых и дешёвых контроллеров с пингвином типовой сборки инсайд - нет. Вопрос "кому это надо" дискуссионный, я исхожу из позиции "если люди интересуются (я, например), то почему бы и нет". Я ниже постил фотку своего творчества. Мне оно в ~10 тыс.руб. обошлось "за всё". Если бы JetHub D1+ раньше увидел, то может его бы взял. Но мой всё равно меньше размером вышел, а в D1+ всё ещё многовато лишнего напихано :) Да и самому спроектировать было интереснее.
s60
19.06.2024 13:35Мне вот, например, надо было аварийно дёргать питание через web-морду
оно ?
DmitryVS
19.06.2024 13:35Нет
s60
19.06.2024 13:35в смысле такую хрень с Tasmota внутри ставишь в подрозетник вместо обычного выключателя и через веб-морду управляешь ON/OFF
Tasmota web интерфейс
DmitryVS
19.06.2024 13:35Требуется монтаж на DIN-рейку, сухие контакты для нагрузки, отдельное питание контроллера, порт ethernet, аппаратный watchdog, диагностика состояния модуля. Клавиша в подрозетник с Wi-Fi как бэ вообще про другое...
Teemon
19.06.2024 13:35Что бы хотел видеть я: некую реалтаймовость и наоборот, LAD, FBD, SCL. Графические языки с отладкой и онлайн состоянием. Короче кодесис только российский. И желательно чтобы куда-нибудь на х86 можно было ставить как отдельную виртуалку))) для умного дома куда лучше было бы купить минипк алишный за 20к, на одной виртуалке крутится Soft PLC на другой часии графика и печеньки.
Потихоньку бренды делают всякие решения в виде soft PLC. Для больших систем DCS операторские компьютеры уже загнали в виртуалки, дальше вроде намечается тренд овиртуаливания плк процессоров. Уголовно говоря один сервер даёт столько вычислительной мощности что там хватит десяткам цп на заводе.
А так да, как и написали - аналог пр200 было бы гораздо лучше с графическими языками ну плюс текстовый тоже не помешает.
andersong
19.06.2024 13:35Недавно я искал железку на поиграться, потренироваться на Кодесисе и ничего промышленного дешевого для дома не нашел, заказал Малинку, поэкспериментирую с Кодесисом, еще смотрю в сторону софт ПЛК, чтоб на х86 поставить.
Я тоже голосую за российский или опенсорсный Кодесис, так как лицензионная политика сабжа очень кусачая.
Про описанную здесь разработку мое мнение по еще одному аспекту, что если железяка и софт для разработки не будут гарантированно доступны к покупке хотя-бы лет 10, в промышленности ей не место.
s60
19.06.2024 13:35на одной виртуалке крутится Soft PLC на другой часии графика и печеньки.
как в панелях Weintek при активации опции Codesys -> Codesys с RealtimeOS на одном ядре и линупса с GUI на остальных трёх ....
NutsUnderline
19.06.2024 13:35тем не менее для умного дома как раз вот любят использовать одноплатники, и даже с вируталками,, только слова plc там не знают, там царит ha, mqqt, zigbee, ble, wifi - такие вещи которые в промышленных условиях не приняты.
checkpoint
19.06.2024 13:35+2Короче кодесис только российский.
Не совсем российский, но open source проект Beremiz - это как раз то, что Вам нужно. Графическая среда в виде отдельного многоплатформенного приложения поддерживающая языки из IEC-61131 (ST, FBD, LAD) + ядро для ПЛК на Си. Есть отечественный вариант на базе ALTLinux и даже порт под Эльбрус.
nikolz
19.06.2024 13:35Если это АСУ ТП, и лазить в софт контроллера надо редко, то логичнее вынести все настройки , картинки , отладчики на ноутбук, а софт контроллера сделать максимально простым.
Если очень хочется использовать скриптовый язык, то для контроллеров это не python и джава, а lua. Lua, в отличие от других скриптовых языков разрабатывали именно для АСУ ТП.
ponikrf
19.06.2024 13:35+1Понимаю, что вам тут уже понаписали но хотелось бы вас поддержать.
То что вы делаете - правильный путь. На рынке не хватает именно дешевых железных решений на linux.
Те кто там говорит про программуремые реле или ПЛК просто не понимают что вы делаете на самом деле. Сюда же набежали и автоматизацторы на ESP32, которые тоже не понимаю, о чем ваше железо.
Я сам являюсь разработчиком проекта, который у нас используется на подобных железках.
Если что можете глянуть на досуге, это софт который разрабатывался именно для такой автоматизации, для какой сделано ваше железо - VRack ( кстати сейчас я разрабатываю уже вторую версию на TypeScript с более удобной архитектурой, улучшенным авто-дополнением и тп. )
Чаще всего это вся котовасия вертиться у нас на устройствах типа DELL Wyse и мы используем переходники для разных железных интерфейсов типа USB->RS485 USB->CAN.
Поэтому доступный USB очень важен, хотя бы один - минимум. Нету смысла использовать linux и при этом терять целый стак грандиозной работы с USB.
Вы в целом вначале описали практически все правильные проблемы подобного железа.
Я надеюсь у вас все получится, вы выбрали правильное современное направление, ниша которого абсолютна свободна. Главное в этих решениях - цена. Чем она будет ниже, тем шире будет круг использования этого решения.
andersong
19.06.2024 13:35+2Навели на мысль: вот бы в промку ввести USB, вместе с его Plug&Play, чтобы в головной блок любого производителя воткнул USB модули другого производителя, хоть напрямую, хоть через хабы и все определилось, зацвело и заколосилось, как в мире больших ПК.
NutsUnderline
19.06.2024 13:35+1набежали пока что любители js :)
Как ведут себя разъемы usb в условиях асфальтово-бетонных заводов?
ponikrf
19.06.2024 13:35Видимо все только на асфальто-бетонных заводах работают, больше та автоматизировать нечего.
набежали пока что любители js :)
Как показала моя практика -JS отлично подходит для автоматизации. Движки JS работают как часики у меня уже годами.
Где то полтора года назад помогал одной конторе по автоматизации развертывания их сложного сервиса и его запуска. Так вот там были такие интересные задчки по типу - спавн процесса с его отслеживанием и убиванием по таймауту, но только при условии что определенный файл в определенной папке не меняет свое содержимое определенное время. Там есть еще некоторые ньюансы по типу того, что процесс должен быть завершен в любом случае в 6 утра, если он не закончил свое выполнение, но суть в том, что такие вещи на JS делаются просто и они работают.
без DB'шечек он не айс ))
Отошел от использования баз данных. Теперь использую чаще только как сервисы, например сервис для получения событий и запихивания их в кликхаус, но поскольку это сервис, что там за ним уже значения не имеет.
NutsUnderline
19.06.2024 13:35Базы данных и в более "обычной" автоматизации используются, так что не вопрос.
а вот коннекторы usb любят окисляться и разбалтыватся поболее других, так что вопрос надежности интересен
ponikrf
19.06.2024 13:35У меня в домашних условиях работает несколько серверов которые используют USB флешку в качестве накопителя. Если не трогать - проблем нету, один сервер работает около 4 лет. Только пыль сдуваю и все. А вот в условиях изменяемой влажности или вибрации - такой вариант конечно не прокатит. А вот кстати если использовать Type-C то что-то интересное может получится.
NutsUnderline
19.06.2024 13:35в домашних условиях
:) :) :) что то кстати я не подумал что DELL Wyse тоже как то больше оффисные вещи, поэтому и был вопрос про условия работы
переходники для разных железных интерфейсов
Я представляю скажем в кассовом аппарате в магазине понатыкано так всякого и как то терпит.
У меня в голове автоматизация связана с местами где все должно быть защищено от вредительства самих работников
ponikrf
19.06.2024 13:35что то кстати я не подумал что DELL Wyse тоже как то больше оффисные вещи, поэтому и был вопрос про условия работы
Странно вы как то вещи связываете. Я вам про USB флешки в сервера а вы мне про вайзы в домашних условиях. Вроде про то что вайзы в домашних условиях эксплуатируются - я не говорил, потому что это не правда.
У меня в голове автоматизация связана с местами где все должно быть защищено от вредительства самих работников
Каждый инструмент хорош для своей работы. Я например не брезгую использовать ПЛК или ПР где это уместно и не говорю что все это прошлый век и отстой и тп.
NutsUnderline
19.06.2024 13:35да, ответа касательно условий эксплуатации я не получил. Больше не буду играть в угадайку. Спасибо.
s60
19.06.2024 13:35+1а вот коннекторы usb любят окисляться и разбалтыватся поболее других
крепите USB на DB9 с винтиками
event1
19.06.2024 13:35+2инженерные профессии в сфере АСУ ТП стали престижными и уважаемыми в нашей стране.
Метод, который мы считаем наиболее эффективным в решении данной проблемы, — это снижение порога вхождения ИТ-специалистов в АСУ ТП
Чтобы сделать профессию более престижной, надо задирать порог входа и зарплаты. Собственно говоря, зарплаты задирутся вслед за порогом входа сами по себе.
В целом, АСУ на js на линуксе звучит пугающе. Надеюсь никто и никогда не будет управлять ничем опасным с помощью этого устройства.
DmitryVS
19.06.2024 13:35+2Ха! "Очки н-нада?"
Натюрморт называется "то ли контроллер маловат, то ли вставки великоваты". Корпус на три модуля, внутри три силовых реле, три оптоизолированных активных входа "сухой контакт", RS-485, LAN, USB, одноплатник на Allwinner H3. Управления питанием нет, вход 5В, предполагается работа в паре с AC/DC источником на DIN-рейке и централизованный ИБП. Сделано по принципу "психанул и сделал", надоела "малина" с релюшкой на соплях висеть в одном шкафчике... Внутри "бутерброд" из 4-х своих печатных плат + одноплатник. Не очень технологично, мягко говоря, зато компактно :) Но как такое продавать, я, честно говоря, слабо представляю.
s60
19.06.2024 13:35+1Но как такое продавать, я, честно говоря, слабо представляю.
просто нужен хороший продажник ....
s60
19.06.2024 13:35@glazko так почему же ПЛК , а не HMI ?
andersong
19.06.2024 13:35Так оборудование без PLC работать не может, а без HMI может. Но есть варианты)
glazko Автор
19.06.2024 13:35так почему же ПЛК , а не HMI ?
С HMI не все так печально, но больше всего нам хочется создать точку входа для ИТ-шников. Чтобы в сфере наконец-то появилась специализация и разделение труда, когда монтаж делает монтажник, технологию разрабатывает технолог, программирует программист, а не один и тот же человек.
Сейчас даже когда идеальная ситуация — качественный проект, есть ФСА, схемы, функциональная спецификация и т.д. — мы не можем привлечь профессиональных ИТ-шников на реализацию проекта — они не хотят работать на языках МЭК или их дашборд-веб-реинкорнации.
В то же время мы видим активные сообщества по той же Ноде и Питонам по 10к+ человек, от этого становится грустно
Indemsys
19.06.2024 13:35+1они не хотят работать на языках МЭК или их дашборд-веб-реинкорнации.
Боюсь что JScript заточенный для автоматизации превратится в тень того же МЭК. Там будет туча ограничений, условностей и погружений в железо. Названия функций API начнут мимикрировать под названия функций МЭК.
Обычный частотник для насосов, подъемников, конвейеров, вентиляторов и проч. может иметь сотни параметров-регистров мапированных на поле адресов MODBUS. Врядли WEB разработчик пойдет читать 1000 страничный мануал частотника и разбираться с этими регистрами. Не в языках вовсе дело. Это просто другая отрасль знаний.
s60
19.06.2024 13:35+2С HMI не все так печально
раскройте мысль... что вы имели ввиду? какие-то примеры есть ?
больше всего нам хочется создать точку входа для ИТ-шников.
зачем это вам?
зачем это им ?
Чтобы в сфере наконец-то появилась специализация и разделение труда, когда монтаж делает монтажник, технологию разрабатывает технолог, программирует программист, а не один и тот же человек.
это вообще не про сферу, это зависит от конкретной конторы - зачем (дорого) держать пятерых, когда один справится, еще и без дурацкий совещаний-согласований-договорений, сам с собой то он договорится + над всеми над ними нужен начальнег с кнутом, который будет следить и координировать соблюдение сроков .... проще одного бонда-стейтхэма закинуть и он всё порешает ...
мы не можем привлечь профессиональных ИТ-шников на реализацию проекта — они не хотят работать на языках МЭК
вот прям серьёзно приглашаете/получаете по 100 резюме в день и главное НЕТ из-за МЭК-овских языков ????
т.е. в диодный мост они могут ?
мы видим активные сообщества по той же Ноде и Питонам по 10к+ человек
рассматривали асутэпэшные форумы?
может вы плохо или не там искали асутэпэшное комьюнити?
вы только русскоязычные сообщества искали ?
асутэпэшные вопросы встречаются и на stackoverflow ....
предполагаете, что асутэпэшники могут быть более интровертны что-ли в плане создания публичных сообществ ... ?
возможно ли, что существующих пабликов достаточно для (вкУпе с вендорными форумами на сайте дилера) достаточно для решения возникающих вопросов ? АСУТЭПЭ довольно консервативная отрасль... там не возникает 100500 новых framework'ов каждый день ....
у водителей паровозов наверняка не 10к+ человек в сообществах (если таковые вообще есть), но ЖД работает, грузы/пассажиры перемещаются... всем норм....
glazko Автор
19.06.2024 13:35+1раскройте мысль... что вы имели ввиду? какие-то примеры есть ?
Для HMI мы можем даже сейчас нанять профессиональных дизайнеров и нам разработают хорошие макеты, которые худо-бедно можно натянуть на любую HMI
зачем это вам?
Мы не можем нанять ребят, которые профессионально всю жизнь занимаются кодингом и любят свою работу, которые могут в codestyle, архитектуру ПО версификацию и т.д. - они не хотят писать ПО на МЭК (вопрос кстати не денежный)
может вы плохо или не там искали асутэпэшное комьюнити?
Комьюнити разработчиков по сути не существует. В АСУ ТП даже нет единого мнения как правильно индицировать статус насоса или клапана для общепрома
у водителей паровозов наверняка не 10к+ человек в сообществах
Водитель паравоза не делает работу дежурного по станции, вагонщика и проводника, он делает только свою любимую работу
s60
19.06.2024 13:35Для HMI мы можем даже сейчас нанять профессиональных дизайнеров и нам разработают хорошие макеты, которые худо-бедно можно натянуть на любую HMI
какие панели оператора используете ?
s60
19.06.2024 13:35Комьюнити разработчиков по сути не существует.
сильное утверждение... проверять мы его конечно же будем
это не считая форумов у производителей и нормальных дилеров ..... групп во ВКонтакте и т.п.
s60
19.06.2024 13:35В АСУ ТП даже нет единого мнения как правильно индицировать статус насоса или клапана для общепрома
Если нет соответствующего документа от заказчика (например, СТО Газпрома, Транснефти ...), то как на схеме автоматизации + чтоб все состояния были отображены
вообще: как зак скажет так и рисуете... хоть пентагоном...... ))
s60
19.06.2024 13:35Мы не можем нанять ребят, которые профессионально всю жизнь занимаются кодингом
а чем простые асутэпэшники не устраивают ?
DmitryVS
19.06.2024 13:35@glazko Андрей, Вы с питанием, по-моему, перемудрили. Я бы поставил на RTC типовую CR2032, её хватает на хрен знает сколько лет. А на место ионистора - литиевый аккумулятор, и сделал бы встроенный мини ИБП. У Вас там свободного места дофига, можно достаточно долго работать от впихабельного аккумулятора. А вот за 5 сек. гасить Линух, так по мне это такое себе...
Naves
19.06.2024 13:35Вот кстати, да. Непонятно как вяжется промышленный ПЛК и литиевый аккуумулятор, который пухнет в любой непонятной ситуации. CR2032 обычно стабильно и без повреждения окружающих элементов живут, в отличие от аккумуляторов. Бывают, конечно, исключения в обе стороны, но в данном случае АКБ вообще уровня лотереи aliexpress.
akcount
19.06.2024 13:35Поздравляю, коллеги, вы сделали очередной Simatic IOT2000.
Только, при чем тут PLC?
s60
19.06.2024 13:35Simatic IOT2000
.... Intel® Quark™ SoC X1020 .... м ....
Вы получаете преимущества от открытого, расширяемого аппаратного обеспечения (PCIe и Arduino Uno R3-совместимый интерфейс), операционной системы на базе Linux (Yocto V2.х) и с дополнительным контроллером программного обеспечения IOT2000EDU для TIA Portal программирования.
обалдеть ....
Configuration of data collection : With Asset Configuration tool in MindSphere
красота ....
akcount
19.06.2024 13:35Изначальные IOT, те что на йокте, уже сняты с производства.
Актуальное сейчас - 2050. Или что-нибудь еще, я два года не слежу.
Но дело не в этом. Вместо Simatic IOT2000 в моем изначальном посыле можно поставить любой другой "одноплатник", и ничего не изменится. Это моя вина, я изначально недостаточно раскрыл свое заявление.
"Одноплатников" этих - вагон и маленькая тележка.
Но это не PLC.
NutsUnderline
какие Ваши доказательства :) Ну ни разу же не первый.
Среди противников такого подхода обычно идут разговоры что МЭК 61131-3 более понятен для "непрограмистов", а так же что "китайские платы с ali" не надежны в работе в пром. условиях. Вангую здесь толпу подобных коментов.
Хотя и ПЛК на более менее открытом linux, так и на простых контроллерах типа Arduino известны давно. Поэтому интересно: а был ли анализ рынка (конкурентов)?
Indemsys
С приходом ChatGPT уже не так важно на чем программировать. Важно на чем отлаживать.
Отладка Node.js на уровне регистров периферии и вообще железа как-то сомнительно видится.
Интерфейс SWD, как понимаю, не выведен.
Сам Rockchip RK3566 не имеет ни CAN, ни LIN, ни EtherCAT, ни Flash. Для промышленного ПЛК что-то совсем уныло.
Было бы интересно услышать о минимальной гарантированной длительности основного цикла и сколько IO за цикл может быть обработано.
NutsUnderline
WirenBoard же как то справляются
RK3328 кстати. SWD/JTAG обычно и нет в одноплатниках то на Линуксе, я специально искал, знаю только парочку, и надо их скорее для отладки ядра и его модулей. Для остального (отладки JS) есть printf. Да и про какое то RT и время цикла тут похоже речи не идет вообще, хотя в принципе есть RT ядро под Linux, оно наверное подойдет для ногодрыга, но тут и такого нет
GospodinKolhoznik
Как раз таки с приходом ChatGPT важно на чем писать. ChatGPT очень хорошо знает мэйнстрим и очень плохо редкоиспользуемые ЯП, где маленькая обучающая выборка.
Подозреваю, что сильнее всего чатик в питоне.
matroskinufa
МЭК-овские языки создавались с целью привлечь всяких технологов к разработке ПО для ПЛК. Но получилось, как получилось.
Зато выстрелила другая фича - унификация.
А вот по поводу снижения порога вхождения - одно дело КИПовца в АСУ тянуть, а вот если к нам хлынут фронтэндеры...свят-свят! Тут уже ни о каком престиже и уважении разговора не будет. И да, вроде до этого не жаловались, профессия востребованная.