image > Начало тут

PLC — аббревиатура, может означать:

  • Power Line Communication — коммуникация, построенная на линиях электропередачи
  • Public Limited Company — открытая публичная компания с ограниченной ответственностью
  • Private Limited Company — компания с ограниченной ответственностью
  • Programmable Logic Controller — программируемый логический контроллер
  • Packet Loss Concealment — маскирование потери пакета с медиа-данными в VoIP
  • Problem Loan Company — коллектинговая компания
  • PLC — Музыкант

Остановимся на двух значениях: Power Line и Programmable Logic Controller. Подробнее Power Line рассмотрим чуть позже, начнем с контроллеров. Т.е. получается прямо как в «звездных войнах»: начали с середины фильма, а уже потом сняли начало.

При конструировании систем «сделай сам» мониторинга/управления обычно начинают с Arduino, Raspberry, оценочных плат различных производителей. Arduino с концепцией шилдов интересное решение, однако количество подключаемых шилдов ограничено физически. Raspberry интересен как использование Linux в системах управления/мониторинга, но с периферией у него не густо.

Как старт интересен STM32F10x. ST и независимые производители предлагают достаточно богатый выбор отладочных ( Discovery ) плат с STM32F10x. После изучения основ программирования микроконтроллера появляется желание сделать нечто похожее на «устройства в коробке». Начинается поиск подходящей коробки и запихивания изобретения в нее. Тут уже кто во что горазд, кто-то подбирает корпус из того, что есть, кто-то печатает на 3D принтере, и т. п.

image

Попробуем «изобрести» нечто более-менее универсальное.

В статьях я не буду рассматривать особенности и тонкости программирования МК. Статей на эту тему хватает в различных конференциях, блогах и форумах. Будут предложены готовые «прошивки» под конкретные задачи. Акцентируем внимание на создании DIY устройств, имеющих промышленный вид.

Начать программировать STM можно имея минимум «железа»: USB-UART адаптер и любую отладочную плату. Часто USB-UART есть уже на отладочной плате. Выглядит это примерно так:

image

Потренировались моргать лампочкой, далее интересно работать с чем либо более существенным, напр. с датчиками, чем то управлять…

Компьютер может быть любым «умным» устройством управления. Напр. Raspberry:

image

Первое, с чем сталкиваемся, протокол общения управляющий компьютер — наше устройство. USB ? UART обычно видно как виртуальный COM-порт. Тогда для управления/отладки удобнее всего работать текстом.

Выбор корпуса: После перебора недорогих корпусов я остановился на корпусах серии DxMG компании GAINTA.

image

Можно выделить блок (плату), который будет присутствовать в каждом устройстве — это плата с микроконтроллером. Для более эффективного использования объема корпуса, плата будет монтироваться вертикально по отношению к нижней крышке.

При изготовлении печатных плат основные критерии: невысокая цена, возможность самостоятельного повторения, монтаж в выбранные корпуса. Разработана плата более-менее удовлетворяющая данным критериям. Данную плату можно использовать как отладочную. Проект с открытыми исходниками, как готовое устройство, так и ПО.

image

Печатная плата с микроконтроллером.

Пример использования платы как отладочной с JTAG SWD (ST-LINK V2):

image

В таком варианте и начнем экспериментировать с STM32 и DHT-22. Как упомянуто выше, начать программировать МК можно с любой отладочной платы STM32F10x.

«Прошивку» МК с 48 ножками можно выполнить двумя путями:

  • SWD
  • UART (через загрузчик)

UART не самый лучший вариант для постоянного использования, однако в серийных устройствах он удобнее. Например возникла потребность поменять ПО в готовом изделии — открыли верхнюю крышку, подключились к разъему, поменяли ПО.

Утилиту «прошивки» МК для STM можно взять с сайта производителя. Загрузка *.hex файла в данной версии платы ведется через тот же COM-порт, который используется для вывода информации.

После “прошивки” микроконтроллера на экране терминала можно увидеть следующую картинку:

image

t — температура;
h — влажность

> «Прошивка» (*.hex) и исходники проекта
> Материалы по печатной плате

Продолжение следует.
Спасибо за внимание!
Поделиться с друзьями
-->

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


  1. lingvo
    19.02.2017 11:00
    +3

    Программируемый логический контроллер по общей терминологии — это вот это:
    image
    Ну или на худой конец вот это:
    image
    А что вы в этой статье описываете, я не знаю.


    1. Delics
      19.02.2017 11:11
      +3

      на худой конец

      ОВЕН вполне нормально и стабильно работает. Зря вы так.


      1. leocat33
        19.02.2017 11:22
        -3

        Овен это сделай сам? Или хотя бы решение с полностью открытыми исходниками?


    1. leocat33
      19.02.2017 11:12
      -3

      Не торопитесь, ну написано же: продолжение следует. Материал достаточно объемен. Не все сразу.


    1. leocat33
      19.02.2017 11:16
      -3

      Да, есть готовые изделия, напр: open-plc.com/linux_plc.html
      Но повторюсь, все по порядку…


  1. REPISOT
    19.02.2017 11:25
    +3

    Так и не увидел посыла статьи. О чем она? Что автор хотел донести до читателей?


    1. leocat33
      19.02.2017 11:28
      -9

      Так нужно было читать, а не картинки рассматривать… Причем читать все, включая теги.


  1. 32bit_me
    19.02.2017 12:33

    По общепринятым стандартам, ПЛК должен поддерживать стандарт IEC 61131-3 и, желательно, промышленные шины, такие как Modbus, Profibus DP и др.
    Как у вас с этим?


    1. leocat33
      19.02.2017 13:03
      -2

      Ну, я надеюсь вы уже ознакомились с схемой принципиальной предложенной платы? И внимательно прочли статью.
      Задача, ЧЕТКО ОБОЗНАЧЕННАЯ в статье не использовать промышленные ПЛК различных брэндов, а СДЕЛАТЬ таковой или хотя бы близко к таковому САМОМУ. Предполагается пошаговое введение в то, как это будет DIY. Данная статья — введение, уж извините, что явно не написал в заголовке, а обозначил как часть 1. Это вы тоже внимательно прочитали. Т.е. вроде как должно быть продолжение…
      Коль скоро вы упомянули про стандарт 61131, то видимо и его внимательно прочли. Этот стандарт не только языки программирования, но он начинается с описания архитектуры ПЛК. В последующих статьях предполагается эту тему рассмотреть. В стандарте 61131 описаны языки программирования IL, LD, SP, FBL, и последняя «мода на короткие юбочки» — SFC. Конкретно что вы имели ввиду? И при производстве ПЛК требование придерживаться данных языков обязательно? Есть подозрение, что достаточно придерживаться стандартов IEC (МЭК). В этом случае для начала достаточно использования стандартов на языки программирования SO/IEC 14882:1998, ISO/IEC 14882:2003. Что в общем то в ссылках на исходники и наблюдается.
      Т.к. вы внимательно посмотрели на прилагаемую схему электрическую принципиальную, то надеюсь вам удалось разглядеть прямо на плате интерфейс CAN. Который является стандартом IEC для промышленных систем. Ну и в завершении: MODBUS это не шина. Это протокол.


      1. leocat33
        19.02.2017 13:19
        -3

        Извиняюсь, в пылу полемики обозвал CAN стандартом IEC. Конечно же неверно. Стандарт ISO.


      1. 32bit_me
        19.02.2017 14:09
        +3

        Что же вы агрессивно так реагируете-то.
        Просто я эти стандарты уже лет 15 читаю, и хорошо знаю, что схема, корпус и всё это, это самое неинтересное в ПЛК.
        Интересны среда разработки пользовательских приложений и run-time. Если у вас это есть, жду продолжения, если нет, то и предмета обсуждения нет.
        Плата с микроконтроллеров != PLC.


        1. leocat33
          19.02.2017 14:21
          -4

          Среда разработки есть готовая, с открытыми исходниками:
          Задачу адаптации для себя поставил, но на потом. Если есть желание побыстрее — добро пожаловать в проект!
          Повторюсь, на текущий момент основные языки программирования: ISO/IEC 14882:1998, ISO/IEC 14882:2003


          1. 32bit_me
            19.02.2017 14:35

            Нельзя по-простому написать, С++?
            Для ПЛК это не прокатит, пользователи ПЛК это не хотят.


            1. leocat33
              19.02.2017 14:53
              -1

              Вашу реплику можно расценивать как желание подключиться к проекту, как помощь в адаптации beremiz к проекту? Да и на выходе у beremiz все равно будет код С…


            1. leocat33
              19.02.2017 15:05
              -1

              Ну и, уверяю вас, пользователям ПЛК совершенно всё равно, на чем вы писали программу. Для них основной фактор — чтобы надежно работало и выполняло задачи пользователя.
              Как вы думаете, Siemens пишут свои мониторы на языках стандарта 61131?
              И вы пробовали реализовать задачи реального времени на этих языках (мы о стандарте 61131)?
              С жестким ограничением обработки прерываний по времени и приоритетам?
              В этих случаях применяют минимум RTOS. А там программирование именно на С…


              1. 32bit_me
                19.02.2017 15:13
                +4

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

                Нет.
                пользователям ПЛК совершенно всё равно, на чем вы писали программу.

                Пользователем ПЛК является тот, кто пишел для него прикладную программу на языке МЭК. Ему всё равно, на чём написан рантайм, но у вас именно поддержки МЭК 61131-3 я не вижу.
                Если она есть, напишите об этом.
                А насчёт ваших представлений прерываниях, РТОС и прочем, у вас, извините, полная каша.
                Я не вижу пока что, в чём заключается ваш проект.
                Так можно купить шилдов к ардуинке на алиэкспрессе, и назвать это программируемым логическим контроллером. А что, программируется же, и контролирует…


                1. leocat33
                  19.02.2017 15:25
                  -2

                  Пользователем ПЛК является тот, кто пишел для него прикладную программу на языке МЭК.

                  Ну так и я про то же. С/С++ это языки МЭК!
                  А поддержку МЭК 61131-3 я собственно и не декларировал.
                  Так можно купить шилдов к ардуинке на алиэкспрессе, и назвать это программируемым логическим контроллером. А что, программируется же, и контролирует…

                  Ну так я в статье и привел пример, что в качестве управляющего компьютера может быть например Raspbarry. Чем не контроллер? Единственная печаль — не поддерживает пром. диапазон температур… Ну и еще раз повторю (в третий), что если есть желание программировать на IEC 61131 — используйте проект beremiz. Как промежуточный код будет С/С++.


                  1. 32bit_me
                    19.02.2017 15:31
                    +3

                    Уныло чуть более, чем полностью.


                    1. leocat33
                      19.02.2017 15:38
                      -3

                      Блин… Так ведь я вас и не заставляю ни читать, ни тем более повторять элементы данного проекта. А что не удалось вас развеселить — печально…


              1. poznawatel
                19.02.2017 18:32
                +1

                пользователям ПЛК совершенно всё равно, на чем вы писали программу.

                Позвольте пользователю с Вами не согласиться.
                Учить С и С++ ради промышленной автоматизации сложности «насос+бак+пара датчиков уровня»? Нет уж увольте! Между написанием программок я успею забыть, что учил прошлый раз.
                Python -то в моём маленьком мозгу ещё так-сяк уместился, на языке МЭК 61131-3 студент программку мне ваял, получилось быстро и работает, а вот промпрограммиста-«на-Сильника» ради таких задачек нанимать — мне выйдет дороже, чем ПЛК с обвязкой.
                А вот за ссылку Beremiz — огромное спасибо! Знал бы об этом проекте раньше, не тратил десятки тысяч рублей на Овен-овские контроллеры (ради их CoDeSys)


                1. leocat33
                  19.02.2017 18:42

                  С на-си-льником, мое мнение вы не совсем правы… В данном решении на С писать то в общем то и не требуется. На С написаны необходимые функции, так же как с использованием МЭК 61131-3 производитель железа поставляет как среду разработки, так и большое количество библиотечных модулей низкоуровневой работы с «железом», или HAL. Которые, кстати, пишут на С/С++. Без этих модулей вы вряд что «напрограммируете».
                  Про Beremiz планировал написать позднее, но вынудили упомянуть:)
                  В данном проекте знание С сводится к простейшим операндам. Посмотрите main.c из исходников.


                  1. poznawatel
                    19.02.2017 20:45
                    +2

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


                    1. ExplodeMan
                      19.02.2017 22:02

                      У меня была противоположная проблема- я после Си никак не мог въехать в LAD даже после того, как написал на нем пару проектов. Все работало, но реализовано было коряво. Пришлось аж идти на курсы Сименс по Степ-7. Вот после курсов(5 дней всего) я наконец понял идеологию LAD.


  1. leocat33
    19.02.2017 12:44
    -8

    Прежде всего, всем желающим покакать в комментариях прочитайте все таки ВНИМАТЕЛЬНО, теги, к каким хабам относится данная статья. Это сразу после заголовка.
    Далее читаем информацию в вики (хотя бы), что же есть такое современные ПЛК:
    Ну и только после этого пишем АДЕКВАТНЫЕ комментарии…


    1. lingvo
      19.02.2017 13:00
      +7

      Может сначала стоит начать писать адекватные статьи? В хабах и заголовке написано DIY PLC, интернет вещей и opensource.
      Далее читаем статью:
      Programmable — проехали. В статье об этом не сказано ничего, а отсылается к блогам, форумам и прошивкам
      Logic — проехали — Что должен делать ваш контроллер? Какие решения он должен принимать? На основе каких алгоритмов? Как это реализуется?
      Controller — от слов контролировать, управлять. Опять проехали — чем ваша DIY платка управляет измеряя DHT22 и выдавая инфу в последовательный порт? Где исполнительные устройства?

      В итоге о ПЛК не сказано ничего, кроме корпуса. Т. е. содержание не адекватно ни тегам, ни названию статьи.


      1. leocat33
        19.02.2017 13:06
        -8

        Внимательно прочли предпоследнюю строку: Продолжение следует.
        Похоже вам тоже были интересны только картинки. Если не интересно — не читайте. Какать в комментариях зачем? Если полностью выкладывать готовую статью, это оценочно будет 2-3 мб только текста! Если все таки интересно, ждите продолжения, или подключайтесь к написанию статей на эту тему. Проект с открытыми исходниками.


        1. lingvo
          19.02.2017 13:34
          +4

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


          1. leocat33
            19.02.2017 13:48
            -2

            Если все же интересно — ждите продолжения. Или вы мой спонсор? Пишу по мере появления свободного времени… Это не перепост, это пишется самостоятельно. После того, как я «выкачу» 2-3 мб текста это уже будет не статья, это однако книга.


            1. lingvo
              19.02.2017 14:14
              +6

              Вы критику принимаете вообще?


              1. leocat33
                19.02.2017 16:42
                -7

                Себя вы уже показали. И от вас — нет.


              1. leocat33
                22.02.2017 06:44
                -1

                То, что вы делаете имеет несколько другое название. Это не критика, это критиканство.


      1. serg_p
        19.02.2017 19:04

        Пора заводить Тег — теги_всётаки_читают :)


  1. leocat33
    19.02.2017 13:59
    -4

    Уважаемые читатели, я ни в коем случае не хочу никого обидеть! Если вам не интересно — просто не читайте, пропустите эту статью как не нужную информацию. Она не для вас. Зачем в комментариях то гадить?


  1. ExplodeMan
    19.02.2017 16:11

    Тематика статьи интересная, но подача материала подкачала.
    Сумбурные перескакивания с одного на второе, например:

    «Разработана плата более-менее удовлетворяющая данным критериям. Данную плату можно использовать как отладочную… В таком варианте и начнем экспериментировать с STM32 и DHT-22»

    и тут же, следующим предложением
    Как упомянуто выше, начать программировать МК можно с любой отладочной платы STM32F10x.

    Заявлены эксперименты с платой, но что имеется ввиду под уточнением, что начать программировать можно и с отладочной платой? 'Начать программировать' подразумевается в общем, или в контексте данной статьи- вывод температуры и влажности? Если в контексте статьи, то как подключить датчик к отладочной плате, что бы на ней выполнялась прошивка для разработанной платы?

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


    1. leocat33
      19.02.2017 16:40
      -1

      Начать программировать в общем. Про любую отладочную плату упоминание — уместное. Во всяком случае экспериментировать с прошивками можно будет на протяжении части 1 и части 2 статей. Часть 2 в процессе написания. Далее — ПО «заточено» под «железо». Адаптировать безусловно можно, но это затраты времени.
      Даже если вы сегодня же отправите проект платы на изготовление, то пока ее изготовят — пройдет время. Пока соберете все комплектующие — опять время… Сборка (пайка компонентов) — еще время. Да и сами блоки расширения (датчики, исполняющие устройства) отличаются мезонинными платами. Проекты оных будут выкладываться по мере рассмотрения в последующих статьях. Вообще, объем информации предполагаемой к публикации очень большой… Это не только «железо», но и архитектура, и построение распределенных агентно-ориентированных информационно-управляющих систем.
      В общем, как говорил Карлсон — терпение!


      1. ExplodeMan
        19.02.2017 16:49
        -1

        Часть 2 в процессе написания.
        Ждем продолжения. Я зашел на ваш сайт и увидел, что вы сделали много интересного.

        Во всяком случае экспериментировать с прошивками можно будет на протяжении части 1 и части 2 статей.
        Это 1 часть, как можно поэкспериментировать с вашей прошивкой на отладочной плате STM, что бы увидеть такой результат?
        image


        1. leocat33
          19.02.2017 16:58

          На любой, с камнем STM32F100, STN32F103. Различия МК учтены. На картинке в проекте (из кубика) все подписано. Но… при использовании DHT22 столкнулся с интересным явлением: температура — отклонение в пределах декларированного в даташите, а вот влажность… Из 7 датчиков только один показывал достоверную влажность. Пугаться не стоит, нужно замочить датчики в чистом этиловом спирте минут на 20-30, затем просушить часа 2-3. После чего работают исправно. Уже более года.


        1. leocat33
          19.02.2017 22:29

          Возможно я неправильно понял вопрос про результат… Это я сам датчик подцепил на витую пару и повесил на балконе. Метеостанция находится километрах в 3-х, 4-х от меня. Сравнивал результаты. По температуре отличия были в десятых градуса, по влажности процентов 5. Вполне допустимо, ибо метеостанция в лесу.
          Информацию о метеостанциях можете посмотреть здесь: https://www.wunderground.com/cgi-bin/findweather/getForecast?query=Krasnojarsk%20Opytnoe%20Pole&wuSelect=WEATHER
          Это Красноярск, выберите свой город/регион…


          1. ExplodeMan
            19.02.2017 22:57
            +1

            Все правильно, я спрашивал, как подключить отладочную плату к датчикам, что бы ваша программа работала. С DHT22 еще не работал, за подсказку про спирт спасибо. Вот видите, сколько полезного знаете, почему бы в статью не добавить? Понятно, что будут другие части, но и у этой размер небольшой.


            1. leocat33
              20.02.2017 05:49

              А смысл это было в статье писать? Если даже комментарий на эту тему «страшно обиженные статьей читатели» минусуют?


    1. leocat33
      19.02.2017 16:51

      Если в контексте статьи, то как подключить датчик к отладочной плате, что бы на ней выполнялась прошивка для разработанной платы?

      В файлах-архивах по ссылкам проекта все есть. В том числе, если использовать пины МК с картинки, то подключив датчики к любой отладочной плате с совместимым по пинам процессором, ПО заработает и можно что-то посмотреть, поковыряться в программе и пр. Писать ПО старался с учетом различия в архитектуре МК. Во всяком случае «прошивка» разницу между STM32F100 и STM32F103 не заметит. Но… Повторюсь, начиная с 3-й или 4-й части статьи ПО будет сильно привязано к «железу».


  1. REPISOT
    19.02.2017 19:21
    +1

    как понять это?

    Первое, с чем сталкиваемся, протокол общения управляющий компьютер — наше устройство.


    1. leocat33
      19.02.2017 21:26
      -1

      А-а-а… Это. Посыл. Статьи.


  1. REPISOT
    19.02.2017 22:24
    +2

    лучше не буду продолжать


    1. leocat33
      19.02.2017 22:32

      А чего так? У вас хорошо веселить получается.


  1. segrus
    20.02.2017 09:18
    +2

    Пробовал делать свои контроллеры на производстве. Пара штук даже успешно работает. Но я в ожидании, что скоро они лягут и готовлю эти программы для переноса на промышленный контроллер. Слишком большой разрыв между прототипированием и промышленностью! Температуры, влажность, вибрация, пыль (в том числе, металлическая), скачки напряжения, ЭМ поля и многое другое.
    Такой способ сгодится только на попробовать или пока не пришёл контроллер с магазина. Увы.


    1. ExplodeMan
      20.02.2017 11:16

      У меня знакомый электронщик, лет 12 как делает свои контроллеры на PIC и продает. Тоже заказывает производство плат в Китае.


  1. MLuk
    20.02.2017 11:13

    Добрый день!!!
    Почитал статью, комментарии. Как по мне, статья получилась интересная.


    1. ExplodeMan
      20.02.2017 11:18

      Согласен, заминусовали зря.


      1. leocat33
        20.02.2017 13:21

        Похоже кому то «на хвост» наступаю:)


        1. MegaVaD
          20.02.2017 23:13
          -1

          Ну всё это сложно назвать наступанием на хвост. С тем, как продвинулись, к примеру, Ален-Бредли, Сименс (!) их никак не догонит по юзабилити, о частном лице и говорить не приходится.


          1. leocat33
            20.02.2017 23:57

            Вот только не будем про Ален-Бредли. Нашли, что привести как образец… Сименс — ладно, митсубиси, даже феникс-контакт. Но бредли и шнайдер — отдельная песня…
            Ну и конечно же все вышеперечисленные компании предлагают решения с открытым кодом!
            Ну и главное, сравнили хер с… Сколько сотрудников, в частности конструкторов, программистов, маркетологов там? Я же делаю все в одно рыло и всего двумя руками. Хотите больше — подключайтесь к проекту:)


            1. MegaVaD
              21.02.2017 02:44

              Так суть не в том, закрыт или открыт код у них. Мне, плевать на их технологии изготовления чипов и печатных плат, бэкплейнов итп. Я ближе к конечному пользователю этих систем — более высокий уровень абстракции (и хочу в них видеть масштабируемость, надёжность, скорость разработки), чем к разработчику под VxWorks на жирном arm (я, конечно же, хочу всё попробовать, вот только уже перебрал с задачами). Системы разных порядков, соглашусь. Хочется видеть в заглавном посте — что можно получить за сеть — физическую модель(тут всё ясно), надёжность (ВЧ помехи от всяких БП, инверторов итп — оборудования современных домохозяйств — тут ничего не ясно). Нигде давно не вижу PowerLineC в использовании, и складывается ощущение тупиковой ветки развития этой технологии. Расскажите об ограничениях, минусах системы и конечных целях.

              Ну а что тут некоторые пишут про Си и Ladder, так они систем сложнее насоса, бака и пары датчиков уровня не видели.


            1. lingvo
              21.02.2017 08:34

              Нет смысла подключаться. ПЛК с открытым исходным кодом — это тупиковая ветвь эволюции. Поэтому и существует один единственный Beremiz.
              Основное назначение ПЛК — это решить кастомную задачу управления максимально быстро, с минимальными затратами сил на программирование и сделать максимально надежно. Поэтому и 61131-3 с пятью различными по сложности языками. Поэтому отладочная среда, позволяющая видеть все внутренние переменные в реальном времени. Поэтому и большое количество различных модулей ввода и вывода. Поэтому модульность. И поэтому официальная поддержка производителя, чтобы если этот ПЛК не функционирует, было к кому обратиться за помощью. Для чего здесь опенсоурс? Он нафиг никому не нужен, если система функционирует.
              Стоимость железа в данном случае вторична, потому, что во всем мире стоимость даже одной недели работы програмиста превышает стоимость всего контроллера, поэтому лепить что-то такое на дохлом STM32 нет смысла.


              1. ExplodeMan
                21.02.2017 09:23

                Ну, на STM сейчас китайцы делают клоны ПЛК Митсубиси: https://habrahabr.ru/post/304752/
                Работают хорошо.
                Не вижу причин, почему на STM32 нельзя создать ПЛК. И не вижу причин, почему нельзя создать ПЛК самому(имено как железо).


                1. MegaVaD
                  21.02.2017 22:12
                  +1

                  Можно, суть только в том, что ПЛК — это не только железо. Но кстати — оно упрощается (в схемотехническом плане), я надеюсь — производители перейдут на zynq.


                1. segrus
                  21.02.2017 22:22

                  Имел я дело с китайскими ПЛК…
                  Привезли нам обвязку палет на этих контроллерах. через несколько дней он просто встал. RUN горит, экран работает, а на выходах тишина. Оперативно приехали их наладчики и поменяли ПЛК. Говорят это нормально для них, часто ломаются, легко меняются.
                  Но это просто обвязка. Она не опасна.
                  А если контроллер должен управлять газовой печью на пол завода? Или сосудами под давлением? Или линией, где каждая деталюшка стоит как квартира? Про атомные станции, платины и прочее я вообще молчу…
                  Велик конечно соблазн писать на С. Но начальству это не нужно. Ему нужен код, который поймёт любой слесарь после того, как вы уйдёте с этой работы.


                  1. ExplodeMan
                    21.02.2017 22:39

                    Какая была модель ПЛК?


                    1. segrus
                      21.02.2017 22:56

                      Сейчас, к сожалению, не вспомню. Эти машины на гарантии и мы их не обслуживаем. Знаю точно что китаец. Даже на HMI нет нет да проскальзывали иероглифы их.
                      За все годы моей работы с различными контроллерами я только там первый и последний раз видел мёртвый ПЛК.
                      Хотя у нас есть линии, которым по 20 лет, с ними случалось всё, что угодно, только не с контроллером.


                  1. MegaVaD
                    22.02.2017 00:18
                    +1

                    Ladder выбран по другой причине. На нём, к примеру, сносно реализуются ReadyToSend/RequestToSend для передачи заготовки по конвейерам, и т.п.
                    Всему свой инструмент.


              1. leocat33
                21.02.2017 13:10

                Хм… Тупиковая ветвь… Наконец то рассмешили:)
                Некогда была крутейшая корпорация — DEC, перспективнейшие направления по всем фронтам. Где она сейчас?
                Xerox, чего только не производили. Кстати, графический дисплей и мышь именно они изобрели. Чем сейчас занимаются?
                Не факт, что Simens вечен, запросто может благополучно испустить дух. Во всяком случае подразделение NXP уже продано Qualcomm.
                Мир, он не статичен, и швырять стремительным домкратом утверждения — не стоит…


                1. leocat33
                  21.02.2017 13:15

                  И, вдогонку, НЕМЕДЛЕНН выбросьте свой ведроид-смартфон! Это тупиковая ветвь! Ибо опенсоурсе…


                  1. lingvo
                    21.02.2017 22:48
                    +1

                    Да, я утверждаю, что ПЛК с открытым исходным кодом — это тупиковая ветвь. Вы много видели опенсоурс в ответственных системах, или в действительно работающих системах управления реального времени? Много есть открытых исходников хотя бы простого контроллера системы впрыска ДВС? А лифтов много с открытыми исходниками существует?
                    Вы понимаете, где кончается ведроид и начинается система управления жесткого реального времени? Заметил, что многие IoTшники этого просто не понимают.


                    1. leocat33
                      21.02.2017 22:56
                      -1

                      Вы забыли добавить: «Да, я стремительным домкратом утверждаю!!!»


                1. MegaVaD
                  21.02.2017 22:32
                  -1

                  А до NXP была моторола (DSP). У меня процессинговые карточки от TC electronic на их процессорах. И синтезаторы. Где они? Да очень музыкальных композиций до 2005 года на их мощностях сгенерированы. И по сей день они актуальны (как часть алгоритмических решений, одни из лучших в мире). Я не против opensource, они — как портфолио. Ну а почему некоторые именитые производители канули в лету — мы с вами никогда не узнаем. Во всяком случае — я не рекомендую тратить на это время. С ведроидом тоже не всё однозначно. Я надеюсь — мы услышим в итоге — как вписываются устройства на основе этой сети в современные домохозяйства (как минимум).


                  1. leocat33
                    21.02.2017 23:03
                    -1

                    Да, дело похоже идет к тому, что линукс в каждую лампочку…
                    Процессор:
                    Nuvoton ARM926EJ-S 300 МГц, DDR2-300 64МБайт интегрирована в процессор
                    Размер 64х58х16мм
                    t -40…+85С


                    1. leocat33
                      21.02.2017 23:11
                      -1

                      Тьфу ты, размер это не чипа, это всего компьютера… Чип 100 ног, шаг 0.5 мм
                      Micro SD card holder
                      RJ-45
                      SPI Flash 16МБайт, USB-OTG, USB-Host
                      UART, SPI, I2C, CAN,…


  1. serafims
    20.02.2017 11:39

    Черт, так хотелось увидеть компактный встраиваемый модуль PLC — powerline communication на основе celenec…


    1. leocat33
      20.02.2017 13:18

      — Россия не состоит в этом комитете.
      — Полоса часто по celenec: 60-138 кГц
      — Метод модуляции — различные FSK
      — протокол — PRIME
      Да, модем я сделал, есть 1-й образец ПП самого модема, но к celenec он не имеет никакого отношения, разве только по уровню сигнала и отношению сигнал/шум. Частота 1.87 мГц, метод модуляции — CW
      Но, 1-я версия ПП мне самому не понравилась. В разработке следующая. «Дотачивается» ПО модема. Проводится полный цикл испытаний. Есс-но все это требует свободного времени. Будет готово — опубликую.
      Даже HomePlug стандарт, в том числе активно применяемый в Европе никак не попадает под стандарт celenec.


      1. Make_Pic
        22.02.2017 10:54
        +1

        Расскажите лучше про свой PLM модем — это действительно интересно, можно здесь обсудить его, у меня то же есть реализация подобного модема.


  1. Alexeyslav
    20.02.2017 14:07
    +1

    Нет, правда, статья получилась как заглушка «здесь когда-то будет статья». Даже если будет продолжение, увидев эту статью как начало цикла статей мало кто пойдёт дальше.
    Поэтому к критике надо прислушиваться. В первой статье, особенно в первой, должно быть хотябы что-то что способно было бы заинтересовать а не простые обещания и раскрыть уровень будущих статей. Подождали бы пока будут готовы хотябы несколько частей а уж потом их опубликовать.
    А сейчас что… есть какая-то статья, не несущая полезной информации… думается мне что уже завтра на утро о ней забудут и каким бы ни было хорошим продолжение мало кто пойдёт дальше.
    Я конечно понимаю что с вашей стороны всё выглядит иначе, но попробуйте подойти к вопросу с другой стороны — телепатия среди людей крайне редкое явление, и соответственно читатели не обладают теми знаниями которыми вы руководствуетесь при оценке статьи.