Мы — небольшая команда инженеров в сфере автоматизации, и у нас есть мечта: чтобы инженерные профессии в сфере АСУ ТП стали престижными и уважаемыми в нашей стране.

Метод, который мы считаем наиболее эффективным в решении данной проблемы, — это снижение порога вхождения ИТ-специалистов в АСУ ТП и их «удержание» в отрасли с помощью популяризации GNU/Linux IIoT-устройств.

Только так, на наш взгляд, отрасль может стать привлекательной для молодых ИТ-шников и выйти на новый уровень.

Как ни странно, с развитием IoT уже появилось довольно много интересных стартапов и устройств в промышленном исполнении (Industrial IoT). Кто-то разработал собственные решения на базе SOM-ов (System-on-a-Module), некоторые и вовсе сделали платы с нуля и успешно поставили на поток собственные девайсы. Это не может не радовать!

Но, к сожалению, у производителей IoT в промышленном исполнении наблюдаются одинаковые проблемы:

  1. Избыточность для задач средней и малой автоматизации и как следствие дороговизна устройств. Поддержка HDMI 2.1, Ethernet 2.5G, NVMe, конечно, здорово, но для небольших задач автоматизации нужны доступные устройства за 10-20 т. р.

  2. Отсутствие поддержки полноценного «GNU/Linux с root-доступом» из коробки. Про сборки с защитой от повреждений и износа microsd даже не говорим. Нужны приемлемые образы с гарантированной работоспособностью, на которые будут легко устанавливаться актуальные программные платформы для решения прикладных задач. Вместо этого обычно предлагаются нестандартные, ознакомительные embedded-сборки сомнительного качетсва.

  3. Третья и, пожалуй, главная проблема – разработчики IIoT устройств продолжают «мыслить в парадигме МЭК 61131-3». Они делают хорошую железку, но программную часть... продвигают вместе со своим «уникальным» инженерным софтом. Обычно это очередной графический дашборд-конфигуратор в стиле IEC. В лучшем случае получается что то вроде «NODE-RED», что для ИТ-шников в конечном итоге мало чем отличается от разработки в МЭК-овских средах.

Мы долго искали IIoT для своих задач, лишённые хотя бы двух первых недостатков, даже обращались к нескольким известным производителям за поддержкой, но к сожалению - либо дорого, либо проблемы с софтом. Так родилась идея создания проекта «PLC.JS», основная суть которого:

  1. Для задач средней и малой автоматизации использовать уже готовые не дорогие одноплатники типа Orange, Raspberry, Banana, RockPi, которыми рынок просто завален;

  2. Не пытаться повторить инженерный софт по лекалам МЭК, а использовать современные среды и инструменты.

Первые шаги

Набросали небольшой чек-лист, что мы хотим получить по железу в итоге:

  • Выбрать пилотный одноплатник.

  • Обеспечить входное питание 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-гребёнка. Цена такого одноплатника невысокая.

Общий вид платы Orange R1+ LTS
Общий вид платы Orange R1+ LTS

Потом разработали плату питания одноплатника.

От питания 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.

UART - RS485. Версия - MAX13488
UART - RS485. Версия - MAX13488

Теперь про ионистор. По нашим расчётам ёмкости 2,5 Ф должно хватить на 5 секунд, что должно хватить для сохранения всяких Retain-данных, бэкапов и логов в случае пропадания питания. Не стали использовать существующие микросхемы ИБП (например, MAX38888 от Analog Devices), так как дорого и не дождёшься в нынешних реалиях. После Step-Down преобразователя использовали DC-DC Step-UP преобразователь L6920DC. Он работает в режиме байпаса, когда на входе 5 В и поддерживает на выходе 5 В, пока конденсатор на входе разряжается через диод 2D4. Резистор R1 нужен для ограничения тока заряда, иначе «лопнет» диод 2D3 или уйдет в защиту преобразователь MP1584EN.

Super Capacitor - DC-DC L6920
Super Capacitor - DC-DC L6920

Так же добавили СМД светодиоды статусов на базовую плату. Ранее светодиоды размещались на плате третьего этажа корпуса, нам показалось это не лучшим решением, от этой платы отказались. Сейчас уже тестируется третья модификация базовой платы.

Фото нескольких попыток в корпусе
Фото нескольких попыток в корпусе
Фото вариантов базовых плат
Фото вариантов базовых плат

Была попытка использовать нестандартную модель корпуса (модель разработана, к литью не подготовлена), но такой путь уж очень дорогой и только для крупных серий продукта. Мы пошли по более предсказуемому и менее опасному пути – использовали готовые китайские корпуса из АБС. Такие продаются на Алике и ЧиД.

Трассировка печатной платы не сложная, нужно было сделать максимально дешево.

Вариант трассировки
Вариант трассировки

Выбор фабрики, на которой будут изготовлены печатные платы, пал на «Резонит». Один раз заказывали на AliExpress через посредников — не понравились сроки. Но производство в Китае не отметаем. Заказывать серию есть смысл. Возможно, даже с поверхностным монтажом, не приценивались.

Создали 3D-модель корпуса в Inventor по чертежам, чтобы примерять платы и видеть объёмную картину. Было два варианта размещения плат в корпусе. Первый — когда плата Orange крепится четырьмя саморезами на дистанционной панели, которая, в свою очередь, фиксируется на втором этаже корпуса.

Версия платы с адаптером
Версия платы с адаптером

Этот дистанционный держатель мы тоже смоделировали в Инвенторе и распечатали на 3D-принтере. Дешево и сердито. Вышло неплохо, но Orange очень уж близко приближался к плате питания, и было неудобно вставлять Ethernet-разъем. На рисунке видно (самый левый корпус). Решили переделать. К межплатному соединителю на 13-контактном хедере пришли только со второй попытки. В первых версиях было на проводах и разъемах с шагом 2 мм.

Теперь Orange крепится на стойках ~20 мм. Стойки печатаем на 3D-принтере, но подойдут и покупные стандартные с внутренней резьбой M2.5 на концах.

Плата без адаптера, на стойках
Плата без адаптера, на стойках

А модель в Altium выглядит так.

MultiBoardModel в Altium
MultiBoardModel в Altium

Полная модель в Inventor.

Модель в Inventor
Модель в Inventor

Фото что получилось.

Фото платы без Orange
Фото платы без Orange
Фото готовой сборки (без клеммы RS485)
Фото готовой сборки (без клеммы RS485)
Фото готовой сборки, вид на ионистор
Фото готовой сборки, вид на ионистор

Резюме

Таким образом, мы получили:

  1. Недорогое серийное IIoT-устройство (себестоимость до 15 тыс. руб.), которое подходит для задач средней и малой автоматизации.

  2. Самое главное — базовый одноплатник не имеет никаких конструктивных и программных модификаций, его легко заменить или обновить ОС от оригинального вендора.

На подходе вторая модификация «PLC.JS Orange PI CM4 edition» — по сути, всё то же самое, только за основу была взята другая, более интересная плата. Постепенно планируем расширять линейку устройств таким же образом и под другие популярные одноплатники.

Проект на Orange CM4
Проект на Orange CM4

Если вас заинтересуют устройства PLC.JS, начало первых продаж планируем на август 2024, после завершения испытаний.

Все конструкторские исходники будут выложены на сайте www.plcjs.ru после завершения тестирования. Мы будем рады, если наши наработки мотивируют производителей IIoT разрабатывать более универсальные и доступные устройства!

Перспектива

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

Задачу минимум для программной части видим так:

  1. Open Source для базового ПО. Насчет платформы для размещения пока думаем (скорее всего это будет GitFlic).

  2. Проект базового ПО не должен быть привязан к конкретной коробочке. Это должен быть классический Node.js проект, который легко деплоится на любой другой IoT не только нашего производства.

  3. Реализация 100% нативной разработки и отладки прикладного инженерного ПО в современных IDE (ориентируемся на VSCode).

  4. Поддержка самых популярных промышленных модулей ввода-вывода от известных производителей (в виде программных классов). Разработчик прикладного инженерного ПО не должен тратить время на сопряжение IoT и модулей ввода-вывода.

  5. Реализация всех базовых примитивов АСУ ТП: клок-таймер, ПИД-регулятор, мотор, клапан и т.д. (в виде программных классов). Это поможет новичкам в АСУ ТП быстро освоить все базовые примитивы отрасли.

  6. Реализация ModbusTCP Server – программная часть должна «из коробки» поддерживать любые современные HMI-панели и SCADA-системы.

Комментарии (144)


  1. NutsUnderline
    19.06.2024 13:35
    +3

    первый

    какие Ваши доказательства :) Ну ни разу же не первый.

    Среди противников такого подхода обычно идут разговоры что МЭК 61131-3 более понятен для "непрограмистов", а так же что "китайские платы с ali" не надежны в работе в пром. условиях. Вангую здесь толпу подобных коментов.

    Хотя и ПЛК на более менее открытом linux, так и на простых контроллерах типа Arduino известны давно. Поэтому интересно: а был ли анализ рынка (конкурентов)?


    1. Indemsys
      19.06.2024 13:35

      С приходом ChatGPT уже не так важно на чем программировать. Важно на чем отлаживать.
      Отладка Node.js на уровне регистров периферии и вообще железа как-то сомнительно видится.
      Интерфейс SWD, как понимаю, не выведен.

      Сам Rockchip RK3566 не имеет ни CAN, ни LIN, ни EtherCAT, ни Flash. Для промышленного ПЛК что-то совсем уныло.
      Было бы интересно услышать о минимальной гарантированной длительности основного цикла и сколько IO за цикл может быть обработано.


      1. NutsUnderline
        19.06.2024 13:35
        +3

        Отладка Node.js

        WirenBoard же как то справляются

        Интерфейс SWD

        RK3328  кстати. SWD/JTAG обычно и нет в одноплатниках то на Линуксе, я специально искал, знаю только парочку, и надо их скорее для отладки ядра и его модулей. Для остального (отладки JS) есть printf. Да и про какое то RT и время цикла тут похоже речи не идет вообще, хотя в принципе есть RT ядро под Linux, оно наверное подойдет для ногодрыга, но тут и такого нет


      1. GospodinKolhoznik
        19.06.2024 13:35
        +1

        Как раз таки с приходом ChatGPT важно на чем писать. ChatGPT очень хорошо знает мэйнстрим и очень плохо редкоиспользуемые ЯП, где маленькая обучающая выборка.

        Подозреваю, что сильнее всего чатик в питоне.


    1. matroskinufa
      19.06.2024 13:35

      МЭК-овские языки создавались с целью привлечь всяких технологов к разработке ПО для ПЛК. Но получилось, как получилось.

      Зато выстрелила другая фича - унификация.

      А вот по поводу снижения порога вхождения - одно дело КИПовца в АСУ тянуть, а вот если к нам хлынут фронтэндеры...свят-свят! Тут уже ни о каком престиже и уважении разговора не будет. И да, вроде до этого не жаловались, профессия востребованная.


  1. ainu
    19.06.2024 13:35
    +2

    А куда подключаются всякие IO выходы и прочие? Реле куда подключать например? А то получается это просто комп с сетью (а-ля роутер), который от 30 вольт питается и всё.


    1. NutsUnderline
      19.06.2024 13:35

      Да такие штуковины тоже имеют место быть, их и шлюзы называют и комуникационные процессоры, но тут еще как бы 485 есть под всякие modbus-реле


    1. glazko Автор
      19.06.2024 13:35
      +3

      Модули ввода-вывода будут подключаться по Modbus TCP/IP, на рынке огромное кол-во качественной периферии. На главном управляющем устройстве на наш взгляд не должно быть IO-сигналов, это значительно улучшает универсальность и облегчает в перспективе модернизацию


      1. wofs
        19.06.2024 13:35
        +5

        Добавьте Modbus RTU и юзайте десятки наших модулей без проблем :) В ассортименте почти все, что душа желает по доступным ценам.


  1. lamer84
    19.06.2024 13:35
    +1

    Не касаясь необходимости таких контроллеров, у меня несколько вопросов.

    Open Source для базового ПО.

    Что понимается под базовым ПО? Это же должна быть среда исполнения на самом контроллере?

    Реализация 100% нативной разработки и отладки прикладного инженерного ПО в современных IDE (ориентируемся на VSCode).

    Что понимается под нативной разработкой? АСУшники обычно используют языки МЭК-61131, будет их поддержка?

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

    Я так понимаю, это о модулях дискретных/аналоговых входов/выходов? Как планируется их подключать?

    Я понимаю, что мои вопросы с колокольни разработчиков промышленного ПО для ПЛК, возможно, цель данной разработки иная.


    1. NutsUnderline
      19.06.2024 13:35

      будет их поддержка

      а ответ то есть в тексте ;)


      1. lamer84
        19.06.2024 13:35

        Да, пропустил. Отнесли к недостаткам.


      1. matroskinufa
        19.06.2024 13:35

        А основной язык - это тот, с которым приключилась неприятность из-за удаления пакета с примитивными обёртками вокруг битовых операций?

        И чем плох проект OpenPLC?


  1. nikolz
    19.06.2024 13:35
    +2

    Несколько вопросов:

    1) Для каких конкретно задач Вы делаете железо?

    2) Можете привести пример задачи малой автоматизации, которую нельзя решить на RTOS, либо любой другой OS объемом в сотни раз меньше, чем Linux?

    3) Зачем ставить внешний модуль таймера, если у вас есть сеть?

    4) Можно было начать с контроллеров для малой автоматизации по себестоимости и потреблению в 10 раз меньше. Или для таких контроллеров нет задач?


    1. glazko Автор
      19.06.2024 13:35

      Для каких конкретно задач Вы делаете железо?

      Системы мониторинга, умные дома, ОВиК для BMS (отопление, вентиляция..), управление освещением, небольшие насосные станции и другие не сложные АСУ. Разумеется ставить такое железо на станки или системы ПАЗ мы не собираемся

      Зачем ставить внешний модуль таймера, если у вас есть сеть?

      Например у вас система управляет освещением или вентиляцией по расписанию, а никакой сети нет

      Можно было начать с контроллеров для малой автоматизации

      Проблема в том, что языки и разработка в целом под EMB гораздо сложней и на рынке меньше специалистов. Плюс на такие контроллеры не поставишь Node.js или Python с веб-сервером легким движением руки


      1. nikolz
        19.06.2024 13:35
        +3

        Непонятно, зачем ставить Node.js или python во встраиваемые устройства, так как это приводит к неоправданному удорожанию и избыточному потреблению железа.

        Зачем веб-сервер в устройствах, где нет сети.

        Совсем непонятно, как все это привлечет новых разработчиков в АСУ ТП и как это все повысит зарплату разработчикам. Или зарплата большая, а знаний у желающих мало?

        Но что именно решает Ваше железо с себестоимостью в 15 тысяч рублей.

        На али можно взять уже готовое это:


        1. WVitek
          19.06.2024 13:35

          Более того, вот на такую серийную коробочку:

          https://aliexpress.ru/item/4000535319215.html?sku_id=10000002747178799

          без проблем ставится Armbian + HomeAssistant по инструкции (https://www.alexcube.ru/blog/2024/02/17-02-2024-raskirpichivayu-tv-box-h96-max-na-protsessore-rockchip-rk3318/) и работает 24/7 :


          1. NutsUnderline
            19.06.2024 13:35
            +1

            Это пока работает и пока можно купить. Для единичного случая в домашних условиях - все риски на себе, да и не страшно. Но тут речь все таки идет не о том чтобы включить лампочку в люстре, а какое нибуть оборудование за много денег и много штук. Даже если внезапно-срочно понадобиться замена одной, или закупить еще 100-1000 шт., а продавца уже нет или производитель вдруг (полностью ) переделал схему - "кто виноват, что делать"?


            1. WVitek
              19.06.2024 13:35
              +1

              Изделие именно что массового производства, выпускается 5+ лет крупными тиражами, которым любой промконтроллер позавидует, продаётся повсеместно в онлайн-магазинах и на авито, и, полагаю, будет доступно в продаже ещё немало лет. (процессор RK3318, кстати, весьма близкий по характеристикам упомянутому в обсуждаемой статье RK3328).

              В будущем может быть заменено на любое другое с сохранением программной и аппаратной совместимости (питание 5В 2А, Ethernet, WiFi, USB).
              Как бытовое управляющее Linux-устройство с WebGUI - самое оно.

              Но критичным оборудованием я бы не рискнул доверять управление, конечно. Функцию низкоуровневого управления стоит возлагать на более простые (=более надёжные) устройства/софт.


        1. NutsUnderline
          19.06.2024 13:35

          Голая плата с rk3588 - тоже ни в село, ни в город. Без корпуса, без питания, что там с софтовой поддержкой.. Для ha даже как то избыточно, для десктопа - ну такое, вот если только куча виртуалок.. там + корпус напечатать.. все равно че уж тогда уж не orange PI5

          здесь же нам предлагают что то пригодное сразу под монтаж, но JetHome может оказаться гораздо интереснее и не только потому что заметно дешевле


        1. s60
          19.06.2024 13:35
          +1

          кстати в панелях Weintek есть JS как добавка к макросам (там есть рисования на Canvas, curl, можно подключать жабаскриптовые библиотеки как ресурсы ...)


      1. s60
        19.06.2024 13:35

        Плюс на такие контроллеры не поставишь Node.js или Python с веб-сервером легким движением руки

        кстати в том же Siemens S7-1200 есть встроенный web сервер

        и он даже фурычит


    1. NutsUnderline
      19.06.2024 13:35

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


      1. freemanon
        19.06.2024 13:35
        +2

        Сразу вспомнились контроллеры Motorola )


  1. balamutang
    19.06.2024 13:35
    +11

    Эх, ребята, чтоб профессия стала престижной - надо чтобы она хорошо оплачивалась. А оплачиваться она будет хорошо когда специалистов на вакансии было мало, а вакансий много. Таким образом понижая уровень входа получится противоположный эффект, примерно как у 1с и php программистов (где задачи стояли те же - облегчить вход).


    1. UranusExplorer
      19.06.2024 13:35
      +5

      This. "Обычные" программисты не идут в АСУТП не потому что там непривычные МЭКовские языки программирования (к ним можно быстро привыкнуть, хотя, честно скажу, после нормальных языков на них писать будет скучновато) и отставание в развитии от других "программных" областей на пару десятков лет (достаточно вспомнить, когда там в известных скадах появились нормальные системы контроля версий и возможность юнит-тестов), а потому что там платят в несколько раз меньше чем в "большом айти", знать надо в несколько раз больше (а точнее, совмещать в одном лице несколько разных работников за зарплату в лучшем случае одного), отношение к людям по сравнению с "большим айти" ощутимо хуже в плане (типа удаленки и остальных плюшек), а нередко ещё и командировки по три недели в ебенях. Поэтому туда идут или "энтузиасты" (те кому это прям вот очень интересно и кто готов все это терпеть и работать вообще не ради денег), или те кто туда по молодости по какой-то причине в это болото попал и боится вылезти.

      Так что новые среды разработки и привычные языки программирования - это, конечно, неплохо, но проблему не решит.


      1. forthuse
        19.06.2024 13:35

        Есть и на рынке, вероятно, "единственный" не на МЭК ориентированный ПЛК контроллер от ЕвроАвтоматика с общим названием этой линейки ES-Forthlogic, программируемый на "обычном" языке программирования с некоторыми его базовыми изменениями для задач возлагаемых на ПЛК.

        P.S. И, думаю, что разработчики этого контроллера не просто так по своей прихоти решили и сделали выбор в такой дизайн этого ПЛК, а взвесив все "За" и "Против". :)


        1. NutsUnderline
          19.06.2024 13:35

          Много таких


        1. UranusExplorer
          19.06.2024 13:35

          вероятно, "единственный" не на МЭК ориентированный ПЛК контроллер от ЕвроАвтоматика с общим названием этой линейки ES-Forthlogic, программируемый на "обычном" языке программирования

          Эм... Да ещё лет 15 назад было много контроллеров, которые модно было программировать просто на Си. Например ADAM'ы от Advantech, SCADAPack от Control Microsystems (они теперь Schneider Electric), у B&R что-то такое тоже было. И это только из больших вендоров...


  1. glazko Автор
    19.06.2024 13:35
    +1

    Что понимается под базовым ПО?

    Шаблонный проекта Node.js на базе которого можно легко и быстро разработать прикладное ПО под свои задачи

    языки МЭК-61131, будет их поддержка?

    Проект прежде всего ориентирован на ИТ-шников, и привычные для них языки программирования. В качестве языка и платформы программирования выбрали JavaScript и Node.js

    Я так понимаю, это о модулях дискретных/аналоговых входов/выходов? Как планируется их подключать?

    Ethernet/ModbusTCP-IP или RS485/Modbus, на рынке много хороших модулей ввода-ввода поддержка которых будет включена в базовое ПО


    1. Sdvnkhp
      19.06.2024 13:35
      +3

      Ваш клиент, дядя Вася электрик который собирает щиты малой автоматизации у себя в гараже. Он не знает JS. Ему нужен ПР200 и его аналоги, которые ему понятнее и он сам не привлекая программиста рисует программу понятным ему способом. А ваша целевая себестоимость + дорогой программист не найдет себя на рынке где нужно готовое решение за 50-100 тыс руб.


      1. s60
        19.06.2024 13:35
        +3

        Ваш клиент, дядя Вася электрик

        их клиент - постаревший смузихлёб, еще вчера загребающий 300круб/сек, но уставший от "вечной гонки IT", которому захотелось " стабильности и надежности" :)


        1. glazko Автор
          19.06.2024 13:35

          вчера загребающий 300круб/сек

          Было бы здорово, но такие парняги в АСУТП точно не пойдут) нам бы чтоб молодежь не разгибалась


          1. s60
            19.06.2024 13:35
            +2

            в ПэНээРе в балкАх, на картонке ... на полу в контейнере .... где-то на Северном Хоседаю или Хатанге ... прозванивая телефонную лапшу .... отлаживая связь по 485му с ЕК270 они точно не разогнуться )))


          1. glazko Автор
            19.06.2024 13:35
            +1

            молодежь не разгибалась

            *fix, не разбегалась)


            1. matroskinufa
              19.06.2024 13:35
              +1

              Да в блок-боксе и не разбежишься.


      1. forthuse
        19.06.2024 13:35

        Такие дяди "Васи" даже охотно применяют FlPprog https://flprog.ru/ для своей "ПЛК" автоматизации.

        P.S. А, также бывает и, к примеру, HiAsm https://hiasm.com/ :)


    1. tonyk_av
      19.06.2024 13:35
      +13

      > В качестве языка и платформы программирования выбрали JavaScript и Node.js

      То есть выбрали те языки, которые запрещены стандартами на функциональную безопасность для использования в контроллерах, используемых в задачах управления оборудованием. Браво!


      1. matroskinufa
        19.06.2024 13:35

        Тормоза придумали трусы.

        Даёшь экстрим даже при управлении лампочкой в нужнике!


        1. NotebookKiller
          19.06.2024 13:35

          Запитаем её программным ШИМом от линии 10 киловольт со столба


          1. matroskinufa
            19.06.2024 13:35

            Месье знает толк в изысканных развлечениях.


    1. s60
      19.06.2024 13:35
      +3

      Проект прежде всего ориентирован на ИТ-шников,

      это что ж такое произошло, что IT-шник попёрся в АСУТП ????


      1. andersong
        19.06.2024 13:35
        +1

        Это возрастное) С возрастом устаешь от вечной гонки IT и хочется стабильности и надежности, а где ее найти, как не в АСУТП?


        1. s60
          19.06.2024 13:35
          +1

          Сименс, вон, тоже не общается и даже удалил форум, который таким трудом восстанавливали,

          это который ?

          был огромный русскоязычный.... там просто море проблем с WinCC 6.0 еще было .... а потом он куда исчез и надо было на немецком сайте а-ля siemens-automation.com на английском международном форуме писать ...

          и что, теперь на Сименсе не работать?

          дело сугубо персональное ...


          1. andersong
            19.06.2024 13:35

            Да если бы персональное. Огромное количество предприятий работает на Сименсе.


        1. UranusExplorer
          19.06.2024 13:35

          С возрастом устаешь от вечной гонки IT и хочется стабильности и надежности, а где ее найти, как не в АСУТП?

          В легаси-энтерпрайзе. Тоже стабильно и надёжно как в АСУТП, но платят гораздо больше, а мозг выносят меньше :)


  1. glazko Автор
    19.06.2024 13:35
    +1

    непонятно, зачем ставить Node.js или python во встраиваемые устройства

    Что бы разрабатывать прикладного ПО на современных и популярных языках программирования. Что бы на решение таких задач в принципе можно было привлечь профессиональных ИТ-шников. Сейчас такие ребята просто бегут из отрасли

    Зачем веб-сервер в устройствах, где нет сети.

    Например у вас ЛСУ, что бы не ставить дорогую пром HMI для измерения уставки/режима раз в год можно развернуть для этого веб-сервер


    1. Naves
      19.06.2024 13:35
      +2

      >Сейчас такие ребята просто бегут из отрасли

      Так бегут не из-за языка. Просто недостаток низкооплачиваемых квалифицированных кадров.

      У вашего устройства какой-то разрыв целевой аудитории. С одной стороны вы целитесь в суровый PLC, где не нужны вот эти все функции linux и node.js. С другой стороны, вы сделали еще один linux-box с ценой выше среднего, у которого полно конкурентов.

      Для вторых, например, более актуально наличие PoE. Про которое у вас ни слова, хотя электрическую часть вы уже сделали полностью.

      Но хотя вроде бы уже законченное изделие, а не конструктор вида, купи горсть плат, винтиков и корпус.


  1. 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 компилите)
    Лично я думаю что не взлетит ни при каких условиях. Советую исходить не из того что вы хотите, а из того что требуется в большинстве задач и неважно на сколько это тривиально может выглядеть.


  1. 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/


    1. Boolkin
      19.06.2024 13:35

      Не ПЛК а HMI, наверное


      1. checkpoint
        19.06.2024 13:35

        Нет. Fuxa это именно ПЛК на JS к которому есть редактор программ и HMI на базе Web.


  1. smart_alex
    19.06.2024 13:35
    +1

    Как по мне, легче взять любой Kincony (на данный момент ассортимент около 40 моделей контроллеров на ESP32) и запрограммировать их как угодно. Кстати, у них есть 2-3 крутых модели и на CM4.

    Но за статью поставил плюс за креативность. Как говорится, больше контроллеров хороших и разных :)


  1. glazko Автор
    19.06.2024 13:35
    +1

    Проект называется Fuxa

    Данный проект больше ориентирован на визуализацию, т. е. аналог HMI и SCADA систем. Мы же делаем ориентир на разработку управляющих программ: взаимодействие с модулями ввода-вывода, обработка объектов процесса, регуляторов и управляющей логики. Web-сервер у нас тоже будет, но только для генерации отладочного интерфейса (симуляция входов-выходов, измерение параметров - не более)


    1. checkpoint
      19.06.2024 13:35
      +2

      У всех этих одноплатных ЭВМ есть существенный недостаток - низкая надежность файловой системы и очень большое время выхода на рабочий режим (время загрузки Linux). Для настоящих применений такое решение совершенно не годится, независимо о того на каком языке оно там запрогано. Требуются изделия с временем выхода на рабочий режим в десятки мс и с сохранением предыдущего состояния.

      Вот представьте, приходите вы вечером домой, а этот ПЛК взял и повис просто о того, что вы дверью хлопнули посильнее. И пока в нём не сработает watchdog, пока он не перезагрузится, вы даже свет в доме включить не сможете. Нафиг такое решение ? Т.е. оно не годится даже для "умного дома", что уж тут говорить о пром применении.

      Еще один недостаток одноплатников - очень узкий температурный режим. Подавляющее большинство этих изделий собираются из ЭКБ "consumer grade", т.е. в диапазоне от 0C то 45C, да еще с принудительным охлаждением. Чуть темперетура поднялась, или вентилятор сход - жди зависон (проц потеет). Температура упала ниже -10С - тоже самое (память сбоит).

      С другой стороны, одноплатные ЭВМ хороши для мониторинга и визуализации (SCADA, HMI) и для отправки управляющей программы в ПЛК. И тут мне нравится Fuxa на RPi.


      1. adeep
        19.06.2024 13:35

        очень зависит от типа системы и еще больше от прикладного ПО. а вообще умный дом надо делать так, чтобы он работал даже при отвале центрального звена


      1. glazko Автор
        19.06.2024 13:35

        низкая надежность файловой системы

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

        временем выхода на рабочий режим в десятки мс

        Встраиваемое устройство на 8266 тоже не выходят на режим мгновенно. Да и цели выходить на режим как на ардуине нет, это не чайник) да и цели конкурировать с сименсом нет

        очень узкий температурный режим

        Мы смотрели BOM - все детали работают минимум 0..85'C+, камень в рабочем режиме греется макс +65'C, принудительного охлаждения не планируется


    1. 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 спросил в личку почему они панели оператора не делают - никто не ответил .....


      1. matroskinufa
        19.06.2024 13:35

        Ну, емнип, b&r на linux работает.

        Но логику на nodejs крутить... Можно, молодежно.


        1. s60
          19.06.2024 13:35

          Ну, емнип, b&r на linux работает.

          VxWorks ...


          1. matroskinufa
            19.06.2024 13:35

            Да? Открытие. По ощущениям - линь.

            Буду знать, спасибо. Хотя он мне один раз только попался.


      1. checkpoint
        19.06.2024 13:35

        У нас в разработке уже два года находится панельный ПК с сенсорным экраном на базе Скифа. Только вот Скифов нет. На нём как раз пробуем гонять Fuxa в качестве одного из вариантов.


        1. s60
          19.06.2024 13:35

          зачем СКИФ ?

          RK3318, RK3288 как выше упоминали, RK3568, iMX6UL, AM3352 .... и только впуть ...


  1. kovalensky
    19.06.2024 13:35
    +7

    Для меня единственного это кажется маразмом и тратой ресурсов?

    Недавно был в компании (некоторого рода успешной), где на io OrangePi One они ставят собственную плату с аксессуарами и называют это отечественным брендом.

    Но страшнее мне показалось, то что они программируют на Node.js и ещё стажёров фронтэндевцев берут.

    Общаться с Modbus, отправлять критически важные данные на сервер через js и называть это инновацией так себе, скорее деградация.

    Это как писать серьёзные GUI решения на Electron.


    1. smart_alex
      19.06.2024 13:35
      +3

      Для меня единственного это кажется маразмом и тратой ресурсов?

      Мне лично сама идея использования мини-компьютеров вместо микроконтроллеров кажется мягко говоря странной — мини-компьютер ЭТО НЕ МИКРОКОНТРОЛЛЕР (со всеми вытекающими).


      1. Indemsys
        19.06.2024 13:35
        +1

        Риалтаймности на уровне 10 мс можно добиться на обычном PC с Windows 11.
        Демонстрацию можно найти в этом проекте -
        Быстрая разработка для микроконтроллеров в Simulink на примере полифункционального зарядника

        Но то мощный годами проверенный компьютер на i7. А здесь платформа не то что слабая, но нет никакой уверенности, что создатели доведут безглючность до нужного уровня. Все ли драйвера они проверили? Есть ли у них ресурсы на отладку драйверов? Располагают ли они вообще доступом к драйверам? Юзер мануала на процесор в открытом доступе нет, и в этом основное отличие от микроконтроллеров, которые по настоящему свободно программируемые.


        1. glazko Автор
          19.06.2024 13:35

          Юзер мануала на процесор в открытом доступе нет, и в этом основное отличие

          http://opensource.rock-chips.com/wiki_Main_Page


          1. Indemsys
            19.06.2024 13:35
            +1

            Посмотрел. Некая иммитация документации. Для разработчика драйверов это будет ад.


            1. cybername
              19.06.2024 13:35
              +1

              Про ад узнай у embed-щиков espresif. Привыкли , смотрю, к мануалам STM)


          1. adeep
            19.06.2024 13:35

            это имитация открытости. самого интересного там и нет. и не будет


    1. s60
      19.06.2024 13:35

      Для меня единственного это кажется маразмом и тратой ресурсов?

      это называется предпринимательство ....

      больше предпринимателе всяких и разных ... особенно, если не за казённые деньги ...

      Недавно был в компании (некоторого рода успешной), где на io OrangePi One они ставят собственную плату с аксессуарами и называют это отечественным брендом.

      уже завтра это мейнстрим

      Но страшнее мне показалось, то что они программируют на Node.js и ещё стажёров фронтэндевцев берут.

      Это как писать серьёзные GUI решения на Electron.

      не нравится - не используйте, благо выбор сейчас есть: LADA, Moskvitch, UAZ Patriot Luxury Edition Pro Max ...


      1. kovalensky
        19.06.2024 13:35

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

        Для дома и простого рода вещей это уже есть мейнстрим.

        Для сложных промышленных задач это ничем хорошим не назвать.

        На самом деле это не моя забота, если заведующий инженер будет опытный (таковых мало) у компании заказчика, то он это учтёт.


    1. s60
      19.06.2024 13:35

      Недавно был в компании (некоторого рода успешной), где на io OrangePi One они ставят собственную плату с аксессуарами и называют это отечественным брендом.

      эти хотя бы свою плату ставят, а ушлые манагеры (которые ещё вчера ругали LightCom, мол а-я-яй, как так можно, вот негодяи) сегодня во все лопатки ищут возможность влезть в этот реестр Минпромторга с минимальными затратами (от документации - взять у китайцев, перевести и добавить "Сделано в Подольске" до "замотать китайскую поделку в свой корпус вторым слоем", а продавать уже "свой корпус на помойку, железку отдаем как обычно") .....


    1. akcount
      19.06.2024 13:35
      +1

      Не только Вам, коллега. Мне тоже.


  1. select26
    19.06.2024 13:35
    +8

    Прошел этот путь два года назад.
    Пришел к таким же выводам. И даже использовал похожий OPI. Только Zero LTS - его выпуск и поддержка гарантированы производителем в течение длительного времени.
    Вы повторили допущенные мной ошибки:
    - Ethernet кабель не вытащить в шкафу, т.к. язычок RJ45 внизу. OPI перевернуть нужно. Это выснилось только после выхода первой партии.
    - В выбранной вами плате Ethernet подключен не нативно, а через USB. Очень грустно работает. Отваливается. Ни разу не примышленное решение.
    - Интерфейсов мало. Подход ваш понятен, но на практике очень часто нужна пара 485, 1-wire и несколько IO. Для малых универсальных, как вы сами пишете, проектов. Если добавлять сюда внешний исполнительный модуль, то вылетаем из ценовой группы. Это можно было добавить легко и даже с опторазвязкой.
    - Её не увидел на вашей плате. Опторазвязку. Извините, без этого ни о каком промприменении говорить не приходится.
    - Про системный софт вы не написали. А там вопросов много нужно решить: обеспечить сохранность данных аварийном пропадании питания, гарантировать загрузку из резервного раздела при повреждении основного, обновление на лету и т.п.

    А так - идея годная. Можно занять нишу самодельщиков. Платформа для HA и IOB - для домашней автоматизации. Этакая ардуино на стероидах.
    Может даже сделать проект OpenSource и продавать железо, а софт оставит на поддержке сообщества.


    1. Indemsys
      19.06.2024 13:35

      Сейчас создаю манимулятор с локальной сетью на USB. На самом деле USB в микроконтроллерах работает надежнее чем Ethernet. Поскольку разбиение на логические каналы там производится на аппаратном уровне, а в Ethernet на программном. Поэтому USB работает надежней и быстрее. Так же как CAN работает в микроконтроллерах надежнее и быстрее чем MODBUS на RS485.

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



      1. NutsUnderline
        19.06.2024 13:35

        Занятно. А традиционного CAN скорости не хватает?


        1. Indemsys
          19.06.2024 13:35
          +1

          USB выбран потому что он дает дежурное питание для приводов моторов. А основное силовое питание приводов выключается цепью безопасности в случае аварии. Таким образом и работа узлов не прекращается вместе с диагностикой при авариях и требования сертифицируемости удовлетворяется без необходимости сертификации фирмваре узлов. И объем диагностики значительно больше чем это можно было бы позволить с CAN. И узлы дешевле. Ведь для USB не нужна даже микросхема драйвера.


    1. glazko Автор
      19.06.2024 13:35

      В выбранной вами плате Ethernet подключен не нативно, а через USB.

      На самом деле на данной плате только один из портов Eth подключен к USB3 интерфейсу

      Очень грустно работает. Отваливается. Ни разу не примышленное решение.

      На практике все работает прекрасно


    1. glazko Автор
      19.06.2024 13:35

      Ethernet кабель не вытащить в шкафу, т.к. язычок RJ45 внизу. OPI перевернуть нужно. Это выснилось только после выхода первой партии.

      Известная проблема, в версии CM4 ее уже не будет

      Интерфейсов мало. Подход ваш понятен, но на практике очень часто нужна пара 485, 1-wire и несколько IO. Для малых универсальных, как вы сами пишете, проектов. Если добавлять сюда внешний исполнительный модуль, то вылетаем из ценовой группы. Это можно было добавить легко и даже с опторазвязкой

      Хотелось сделать максимально дешево. По поводу развязки - в драйвере RS485 есть встроенная защита ESD + имеется TVS диод между A и B линиями. Пока считаем что того достаточно, в версии CM4 наверно сделаем


  1. artalex
    19.06.2024 13:35
    +7

    Не понимаю, чем не устраивает Wirenboard?

    Он прям под все перечисленные Вами критерии подходит вроде бы.


    1. adeep
      19.06.2024 13:35
      +1

      да или тот же JetHub D1+ - все необходимые исходники максимально opensource, поддержка в linux kernel, uboot, armbian родная есть, интерфейсы есть.


    1. DmitryVS
      19.06.2024 13:35
      +2

      Мне - не подошёл, т.к. здоровая дура и стоит как чугунный мост. Мне вот, например, надо было аварийно дёргать питание через web-морду, если основная автоматика вообще не вменько никак, да и всё, по большому счёту, ну может ещё когда-нибудь один-два вх./вых. понадобятся, зачем туда Wiren? JetHub уже интереснее, но о нём я только сейчас узнал из сообщения ниже :) Так что больше железок - лучше, чем меньше железок!


      1. vvzvlad
        19.06.2024 13:35

        стоит как чугунный мост. 

        Ха-ха-ха, это вы еще не видели дорогих контроллеров, получается.


        1. DmitryVS
          19.06.2024 13:35

          Получается, я достаточно много чего видел :) а вот маленьких, аккуратно сбитых и дешёвых контроллеров с пингвином типовой сборки инсайд - нет. Вопрос "кому это надо" дискуссионный, я исхожу из позиции "если люди интересуются (я, например), то почему бы и нет". Я ниже постил фотку своего творчества. Мне оно в ~10 тыс.руб. обошлось "за всё". Если бы JetHub D1+ раньше увидел, то может его бы взял. Но мой всё равно меньше размером вышел, а в D1+ всё ещё многовато лишнего напихано :) Да и самому спроектировать было интереснее.


      1. s60
        19.06.2024 13:35

        Мне вот, например, надо было аварийно дёргать питание через web-морду

        оно ?


        1. DmitryVS
          19.06.2024 13:35

          Нет


          1. s60
            19.06.2024 13:35

            в смысле такую хрень с Tasmota внутри ставишь в подрозетник вместо обычного выключателя и через веб-морду управляешь ON/OFF

            Tasmota web интерфейс


            1. DmitryVS
              19.06.2024 13:35

              Требуется монтаж на DIN-рейку, сухие контакты для нагрузки, отдельное питание контроллера, порт ethernet, аппаратный watchdog, диагностика состояния модуля. Клавиша в подрозетник с Wi-Fi как бэ вообще про другое...


  1. mynameco
    19.06.2024 13:35
    +2

    Корпус на дин рейку, из специального пластика, не поддерживающего горение. А распечатанные стойки на 3д принтере - горят. Нельзя такое в щиток засовывать.


    1. cybername
      19.06.2024 13:35

      Вреде написали, что подходят стойки металлические и нейлоновые. А так да из PETG низзя!


  1. Teemon
    19.06.2024 13:35

    Что бы хотел видеть я: некую реалтаймовость и наоборот, LAD, FBD, SCL. Графические языки с отладкой и онлайн состоянием. Короче кодесис только российский. И желательно чтобы куда-нибудь на х86 можно было ставить как отдельную виртуалку))) для умного дома куда лучше было бы купить минипк алишный за 20к, на одной виртуалке крутится Soft PLC на другой часии графика и печеньки.

    Потихоньку бренды делают всякие решения в виде soft PLC. Для больших систем DCS операторские компьютеры уже загнали в виртуалки, дальше вроде намечается тренд овиртуаливания плк процессоров. Уголовно говоря один сервер даёт столько вычислительной мощности что там хватит десяткам цп на заводе.

    А так да, как и написали - аналог пр200 было бы гораздо лучше с графическими языками ну плюс текстовый тоже не помешает.


    1. andersong
      19.06.2024 13:35

      Недавно я искал железку на поиграться, потренироваться на Кодесисе и ничего промышленного дешевого для дома не нашел, заказал Малинку, поэкспериментирую с Кодесисом, еще смотрю в сторону софт ПЛК, чтоб на х86 поставить.

      Я тоже голосую за российский или опенсорсный Кодесис, так как лицензионная политика сабжа очень кусачая.

      Про описанную здесь разработку мое мнение по еще одному аспекту, что если железяка и софт для разработки не будут гарантированно доступны к покупке хотя-бы лет 10, в промышленности ей не место.


      1. s60
        19.06.2024 13:35

        так как лицензионная политика сабжа очень кусачая

        ....... "сабжа" уже второй год не общается с пользователями из РФ ....


        1. andersong
          19.06.2024 13:35

          Сименс, вон, тоже не общается и даже удалил форум, который таким трудом восстанавливали, и что, теперь на Сименсе не работать?


    1. s60
      19.06.2024 13:35

      на одной виртуалке крутится Soft PLC на другой часии графика и печеньки.

      как в панелях Weintek при активации опции Codesys -> Codesys с RealtimeOS на одном ядре и линупса с GUI на остальных трёх ....


    1. NutsUnderline
      19.06.2024 13:35

      тем не менее для умного дома как раз вот любят использовать одноплатники, и даже с вируталками,, только слова plc там не знают, там царит ha, mqqt, zigbee, ble, wifi - такие вещи которые в промышленных условиях не приняты.


    1. checkpoint
      19.06.2024 13:35
      +2

      Короче кодесис только российский.

      Не совсем российский, но open source проект Beremiz - это как раз то, что Вам нужно. Графическая среда в виде отдельного многоплатформенного приложения поддерживающая языки из IEC-61131 (ST, FBD, LAD) + ядро для ПЛК на Си. Есть отечественный вариант на базе ALTLinux и даже порт под Эльбрус.

      https://www.altlinux.org/Beremiz

      https://beremiz.org/


  1. nikolz
    19.06.2024 13:35

    Если это АСУ ТП, и лазить в софт контроллера надо редко, то логичнее вынести все настройки , картинки , отладчики на ноутбук, а софт контроллера сделать максимально простым.

    Если очень хочется использовать скриптовый язык, то для контроллеров это не python и джава, а lua. Lua, в отличие от других скриптовых языков разрабатывали именно для АСУ ТП.


  1. ponikrf
    19.06.2024 13:35
    +1

    Понимаю, что вам тут уже понаписали но хотелось бы вас поддержать.

    То что вы делаете - правильный путь. На рынке не хватает именно дешевых железных решений на linux.

    Те кто там говорит про программуремые реле или ПЛК просто не понимают что вы делаете на самом деле. Сюда же набежали и автоматизацторы на ESP32, которые тоже не понимаю, о чем ваше железо.

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

    Если что можете глянуть на досуге, это софт который разрабатывался именно для такой автоматизации, для какой сделано ваше железо - VRack ( кстати сейчас я разрабатываю уже вторую версию на TypeScript с более удобной архитектурой, улучшенным авто-дополнением и тп. )

    Чаще всего это вся котовасия вертиться у нас на устройствах типа DELL Wyse и мы используем переходники для разных железных интерфейсов типа USB->RS485 USB->CAN.

    Поэтому доступный USB очень важен, хотя бы один - минимум. Нету смысла использовать linux и при этом терять целый стак грандиозной работы с USB.

    Вы в целом вначале описали практически все правильные проблемы подобного железа.

    Я надеюсь у вас все получится, вы выбрали правильное современное направление, ниша которого абсолютна свободна. Главное в этих решениях - цена. Чем она будет ниже, тем шире будет круг использования этого решения.


    1. andersong
      19.06.2024 13:35
      +2

      Навели на мысль: вот бы в промку ввести USB, вместе с его Plug&Play, чтобы в головной блок любого производителя воткнул USB модули другого производителя, хоть напрямую, хоть через хабы и все определилось, зацвело и заколосилось, как в мире больших ПК.


      1. s60
        19.06.2024 13:35

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

        .... как у Сименса ))


        1. poglazoff
          19.06.2024 13:35

          а где у Сименса так?


    1. NutsUnderline
      19.06.2024 13:35
      +1

      набежали пока что любители js :)

      Как ведут себя разъемы usb в условиях асфальтово-бетонных заводов?


      1. s60
        19.06.2024 13:35
        +1

        набежали пока что любители js :)

        без DB'шечек он не айс ))


        1. andersong
          19.06.2024 13:35
          +3

          DB импортозаместить ШРами!


          1. s60
            19.06.2024 13:35
            +1

            DB импортозаместить ШРами!

            DB = DataBlock = БлокДанных = БД'шечками же

            OB = OperationBlock = ОперационныйБлок = ОБ'шечками

            ... и т.д.


            1. andersong
              19.06.2024 13:35
              +1

              Так начальный коммент про разъемы же)


              1. s60
                19.06.2024 13:35

                ц-и-т-а-т-а ... цитата .... для которой комментарий ....


            1. akcount
              19.06.2024 13:35

              Организационный блок, а не операционный. :Р


      1. ponikrf
        19.06.2024 13:35

        Видимо все только на асфальто-бетонных заводах работают, больше та автоматизировать нечего.

        набежали пока что любители js :)

        Как показала моя практика -JS отлично подходит для автоматизации. Движки JS работают как часики у меня уже годами.

        Где то полтора года назад помогал одной конторе по автоматизации развертывания их сложного сервиса и его запуска. Так вот там были такие интересные задчки по типу - спавн процесса с его отслеживанием и убиванием по таймауту, но только при условии что определенный файл в определенной папке не меняет свое содержимое определенное время. Там есть еще некоторые ньюансы по типу того, что процесс должен быть завершен в любом случае в 6 утра, если он не закончил свое выполнение, но суть в том, что такие вещи на JS делаются просто и они работают.

        без DB'шечек он не айс ))

        Отошел от использования баз данных. Теперь использую чаще только как сервисы, например сервис для получения событий и запихивания их в кликхаус, но поскольку это сервис, что там за ним уже значения не имеет.


        1. NutsUnderline
          19.06.2024 13:35

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

          а вот коннекторы usb любят окисляться и разбалтыватся поболее других, так что вопрос надежности интересен


          1. ponikrf
            19.06.2024 13:35

            У меня в домашних условиях работает несколько серверов которые используют USB флешку в качестве накопителя. Если не трогать - проблем нету, один сервер работает около 4 лет. Только пыль сдуваю и все. А вот в условиях изменяемой влажности или вибрации - такой вариант конечно не прокатит. А вот кстати если использовать Type-C то что-то интересное может получится.


            1. NutsUnderline
              19.06.2024 13:35

              в домашних условиях

              :) :) :) что то кстати я не подумал что DELL Wyse тоже как то больше оффисные вещи, поэтому и был вопрос про условия работы

              переходники для разных железных интерфейсов

              Я представляю скажем в кассовом аппарате в магазине понатыкано так всякого и как то терпит.

              У меня в голове автоматизация связана с местами где все должно быть защищено от вредительства самих работников


              1. ponikrf
                19.06.2024 13:35

                что то кстати я не подумал что DELL Wyse тоже как то больше оффисные вещи, поэтому и был вопрос про условия работы

                Странно вы как то вещи связываете. Я вам про USB флешки в сервера а вы мне про вайзы в домашних условиях. Вроде про то что вайзы в домашних условиях эксплуатируются - я не говорил, потому что это не правда.

                У меня в голове автоматизация связана с местами где все должно быть защищено от вредительства самих работников

                Каждый инструмент хорош для своей работы. Я например не брезгую использовать ПЛК или ПР где это уместно и не говорю что все это прошлый век и отстой и тп.


                1. NutsUnderline
                  19.06.2024 13:35

                  да, ответа касательно условий эксплуатации я не получил. Больше не буду играть в угадайку. Спасибо.


          1. s60
            19.06.2024 13:35
            +1

            а вот коннекторы usb любят окисляться и разбалтыватся поболее других

            крепите USB на DB9 с винтиками


        1. s60
          19.06.2024 13:35

          Отошел от использования баз данных.

          siemensoid test failed


  1. event1
    19.06.2024 13:35
    +2

    инженерные профессии в сфере АСУ ТП стали престижными и уважаемыми в нашей стране.

    Метод, который мы считаем наиболее эффективным в решении данной проблемы, — это снижение порога вхождения ИТ-специалистов в АСУ ТП

    Чтобы сделать профессию более престижной, надо задирать порог входа и зарплаты. Собственно говоря, зарплаты задирутся вслед за порогом входа сами по себе.

    В целом, АСУ на js на линуксе звучит пугающе. Надеюсь никто и никогда не будет управлять ничем опасным с помощью этого устройства.


  1. DmitryVS
    19.06.2024 13:35
    +2

    Ха! "Очки н-нада?"

    Натюрморт называется "то ли контроллер маловат, то ли вставки великоваты". Корпус на три модуля, внутри три силовых реле, три оптоизолированных активных входа "сухой контакт", RS-485, LAN, USB, одноплатник на Allwinner H3. Управления питанием нет, вход 5В, предполагается работа в паре с AC/DC источником на DIN-рейке и централизованный ИБП. Сделано по принципу "психанул и сделал", надоела "малина" с релюшкой на соплях висеть в одном шкафчике... Внутри "бутерброд" из 4-х своих печатных плат + одноплатник. Не очень технологично, мягко говоря, зато компактно :) Но как такое продавать, я, честно говоря, слабо представляю.


    1. s60
      19.06.2024 13:35
      +1

      Но как такое продавать, я, честно говоря, слабо представляю.

      просто нужен хороший продажник ....


  1. s60
    19.06.2024 13:35

    @glazko так почему же ПЛК , а не HMI ?


    1. andersong
      19.06.2024 13:35

      Так оборудование без PLC работать не может, а без HMI может. Но есть варианты)


    1. glazko Автор
      19.06.2024 13:35

      так почему же ПЛК , а не HMI ?

      С HMI не все так печально, но больше всего нам хочется создать точку входа для ИТ-шников. Чтобы в сфере наконец-то появилась специализация и разделение труда, когда монтаж делает монтажник, технологию разрабатывает технолог, программирует программист, а не один и тот же человек.

      Сейчас даже когда идеальная ситуация — качественный проект, есть ФСА, схемы, функциональная спецификация и т.д. — мы не можем привлечь профессиональных ИТ-шников на реализацию проекта — они не хотят работать на языках МЭК или их дашборд-веб-реинкорнации.

      В то же время мы видим активные сообщества по той же Ноде и Питонам по 10к+ человек, от этого становится грустно


      1. Indemsys
        19.06.2024 13:35
        +1

        они не хотят работать на языках МЭК или их дашборд-веб-реинкорнации.

        Боюсь что JScript заточенный для автоматизации превратится в тень того же МЭК. Там будет туча ограничений, условностей и погружений в железо. Названия функций API начнут мимикрировать под названия функций МЭК.
        Обычный частотник для насосов, подъемников, конвейеров, вентиляторов и проч. может иметь сотни параметров-регистров мапированных на поле адресов MODBUS. Врядли WEB разработчик пойдет читать 1000 страничный мануал частотника и разбираться с этими регистрами. Не в языках вовсе дело. Это просто другая отрасль знаний.


      1. s60
        19.06.2024 13:35
        +2

        С HMI не все так печально

        раскройте мысль... что вы имели ввиду? какие-то примеры есть ?

        больше всего нам хочется создать точку входа для ИТ-шников.

        зачем это вам?

        зачем это им ?

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

        это вообще не про сферу, это зависит от конкретной конторы - зачем (дорого) держать пятерых, когда один справится, еще и без дурацкий совещаний-согласований-договорений, сам с собой то он договорится + над всеми над ними нужен начальнег с кнутом, который будет следить и координировать соблюдение сроков .... проще одного бонда-стейтхэма закинуть и он всё порешает ...

        мы не можем привлечь профессиональных ИТ-шников на реализацию проекта — они не хотят работать на языках МЭК

        вот прям серьёзно приглашаете/получаете по 100 резюме в день и главное НЕТ из-за МЭК-овских языков ????

        т.е. в диодный мост они могут ?

        мы видим активные сообщества по той же Ноде и Питонам по 10к+ человек

        рассматривали асутэпэшные форумы?

        может вы плохо или не там искали асутэпэшное комьюнити?

        вы только русскоязычные сообщества искали ?

        асутэпэшные вопросы встречаются и на stackoverflow ....

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

        возможно ли, что существующих пабликов достаточно для (вкУпе с вендорными форумами на сайте дилера) достаточно для решения возникающих вопросов ? АСУТЭПЭ довольно консервативная отрасль... там не возникает 100500 новых framework'ов каждый день ....

        у водителей паровозов наверняка не 10к+ человек в сообществах (если таковые вообще есть), но ЖД работает, грузы/пассажиры перемещаются... всем норм....


        1. glazko Автор
          19.06.2024 13:35
          +1

          раскройте мысль... что вы имели ввиду? какие-то примеры есть ?

          Для HMI мы можем даже сейчас нанять профессиональных дизайнеров и нам разработают хорошие макеты, которые худо-бедно можно натянуть на любую HMI

          зачем это вам?

          Мы не можем нанять ребят, которые профессионально всю жизнь занимаются кодингом и любят свою работу, которые могут в codestyle, архитектуру ПО версификацию и т.д. - они не хотят писать ПО на МЭК (вопрос кстати не денежный)

          может вы плохо или не там искали асутэпэшное комьюнити?

          Комьюнити разработчиков по сути не существует. В АСУ ТП даже нет единого мнения как правильно индицировать статус насоса или клапана для общепрома

          у водителей паровозов наверняка не 10к+ человек в сообществах

          Водитель паравоза не делает работу дежурного по станции, вагонщика и проводника, он делает только свою любимую работу


          1. s60
            19.06.2024 13:35

            Для HMI мы можем даже сейчас нанять профессиональных дизайнеров и нам разработают хорошие макеты, которые худо-бедно можно натянуть на любую HMI

            какие панели оператора используете ?


          1. s60
            19.06.2024 13:35

            Комьюнити разработчиков по сути не существует.

            сильное утверждение... проверять мы его конечно же будем

            это не считая форумов у производителей и нормальных дилеров ..... групп во ВКонтакте и т.п.


          1. s60
            19.06.2024 13:35

            В АСУ ТП даже нет единого мнения как правильно индицировать статус насоса или клапана для общепрома

            Если нет соответствующего документа от заказчика (например, СТО Газпрома, Транснефти ...), то как на схеме автоматизации + чтоб все состояния были отображены

            вообще: как зак скажет так и рисуете... хоть пентагоном...... ))


          1. s60
            19.06.2024 13:35

            Мы не можем нанять ребят, которые профессионально всю жизнь занимаются кодингом

            а чем простые асутэпэшники не устраивают ?


  1. DmitryVS
    19.06.2024 13:35

    @glazko Андрей, Вы с питанием, по-моему, перемудрили. Я бы поставил на RTC типовую CR2032, её хватает на хрен знает сколько лет. А на место ионистора - литиевый аккумулятор, и сделал бы встроенный мини ИБП. У Вас там свободного места дофига, можно достаточно долго работать от впихабельного аккумулятора. А вот за 5 сек. гасить Линух, так по мне это такое себе...


    1. Naves
      19.06.2024 13:35

      Вот кстати, да. Непонятно как вяжется промышленный ПЛК и литиевый аккуумулятор, который пухнет в любой непонятной ситуации. CR2032 обычно стабильно и без повреждения окружающих элементов живут, в отличие от аккумуляторов. Бывают, конечно, исключения в обе стороны, но в данном случае АКБ вообще уровня лотереи aliexpress.


  1. akcount
    19.06.2024 13:35

    Поздравляю, коллеги, вы сделали очередной Simatic IOT2000.

    Только, при чем тут PLC?


    1. s60
      19.06.2024 13:35

      Поздравляю, коллеги, вы сделали очередной Simatic IOT2000.

      тут больше интересует нахрена оно Сименсу .....


      1. akcount
        19.06.2024 13:35

        Натравить на него NodeRED (а он там уже натравлен) и использовать в качестве простенького гейта данных.


        1. s60
          19.06.2024 13:35

          использовать в качестве простенького гейта данных

          и цена у него такая же простенькая для простенького гейта данных ?


          1. akcount
            19.06.2024 13:35

            Евро 400.


            1. s60
              19.06.2024 13:35

              на складе в Москве ?


              1. akcount
                19.06.2024 13:35

                Я не продаю, не знаю.

                Вы можете поискать сами.


    1. s60
      19.06.2024 13:35

      Simatic 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

      красота ....


      1. akcount
        19.06.2024 13:35

        Изначальные IOT, те что на йокте, уже сняты с производства.

        Актуальное сейчас - 2050. Или что-нибудь еще, я два года не слежу.

        Но дело не в этом. Вместо Simatic IOT2000 в моем изначальном посыле можно поставить любой другой "одноплатник", и ничего не изменится. Это моя вина, я изначально недостаточно раскрыл свое заявление.

        "Одноплатников" этих - вагон и маленькая тележка.

        Но это не PLC.


    1. glazko Автор
      19.06.2024 13:35

      2040 урезанная и дорогая, на нее (если не ошибаюсь) даже свежая нода не встанет, 2050 классная железка но неприлично дорогая


      1. s60
        19.06.2024 13:35

        Евро 400.

        ... же