Pull to refresh

Comments 96

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

Зачем Вы заложили в проект снятый с производства компонент?
На соответствие каким стандартам устройство проходило испытания?
Софт писался под оба мультиплексора (то есть не зависимо от скорости переключения). Работать будут и те и те. И аналоги.
Это классический аналоговый мультиплексор. Есть серия CD4051 и куча других аналогов. Они ещё долго не будут сниматься с производства. А вот на счёт испытаний тоже интересно.
Опытная партия была произведена для заказчика. Сертификация и испытания ложатся на его плечи. У нас есть внутренние испытания, плюс наработка, пока все хорошо.
У нас есть внутренние испытания

Какие параметры проверяли?
Кроме логики работы и длительной работы, многократные срабатывания нагрузок, отработка кз на нагрузках, разные длины кабелей датчиков в различных условиях, работа при температурах -20 +45 град, мануальное тестирование на зависания (с поиском багов) при длительной работе, многократные включения с полным восстановлением работоспособности, тесты на стабильность работы и скорость загрузки и др. Еще не все тесты описаны и проделаны.

Плохо. А требования по ЭМС вам хоть какие-то спустили?

Нет, может это связано с тем, что ПК монтируется в металлический шкаф и сам в металлическом корпусе.

Это решает только проблемы из-за помех через излучение (по воздуху)
От кондуктивных помех это не защитит.

Это да, но шкафы заземлены, так что частично это спасает от помех по земле.
В корпусе стоит слок питания MW 220-24

Мы используем 4051/4052 в своих изделиях уже 20 лет. Очень нежная техника — самый часто выходящий из строя элемент по причине ЭМС. После гроз пачками вылетают. Причем защит вокруг них полно понаставили, все равно.
А умирают они хитро — получается, что начинают каналы друг на друга влиять или не полностью отключаться. Причем на стенде может быть все ОК, а на объекте при других температурах… Иногда просто по подозрению выкусываем и ставим новую.


В новой серии отказались от них и слава богу.

Ясное дело. Там же внутри каналы на полевых транзисторах реализованы, поэтому требуется хорошая защита. К слову, наш отечественный ОВЕН, в своих регуляторах раньше на входах CD4051 ставил, дальше АЦП. Защита несложная по входам. Каких-либо нареканий по ним не было.
Но от гроз защита совсем другая должна быть. Там и разрядники ставить надо. Это отдельная тема. Во время гроз даже драйверы RS485 со всеми классическими защитами по входу только так из строя выходят.

Не помню точно, но вроде там была проблема КМОП технологии тех времен, что напряжения на пинах не должны превышать напряжение на питании на меньшее значение, чем падает на обычном диоде. Т.е. обычные диоды их не защищают, им подавай Шоттки или извращайся.

Это проблема вообще всех КМОП микросхем серии CD. Возникает так называемый «тиристорный» эффект. Бороться с ними действительно непросто. Но если принять нужные меры, то работать всё будет нормально. В принципе, в интернете много схем по защите входов таких микросхем. А горят они часто даже при пайке. Поэтому в случае ручного монтажа надо использовать заземляющие браслеты.
Есть ещё один не очевидный путь наловить проблем с аналоговым КМОП коммутатором. Перегрузка по напряжению на не выбранном выходе — может влиять на выход.
См. раздел «Crosstalk And Latchup» в AN205 от Vishay и TB3013 от Microchip.
Проходили ли тесты на вибрацию? Как вели себя TO-220 корпуса?
Спасибо.
UFO just landed and posted this here
Странный, конечно коммент, но отвечу. С конца. Вообще не вижу логики в размещении 4-х реле на отдельной плате. Да и симисторов тоже. Посмотрите любую плату с управлением 220В, например стиралки или посудомойки, и Вы увидите те де симисторы, реле и контроллер на одной плате. Ничего криминального.
Контроллеры вместо мультиплексоров? Жесть какая! Я не завидую тем, кто будет писать для этого всего софт, а потом писать софт для обновления системы, когда найдется баг).
Про входные и выходные линии вообще ничего не понял. В ТЗ есть четкое указание, объединить разъемы в группы…
Что Вы имеете против ST и NXP в одном проекте? Я не вижу хороших процессоров у ST и нет освоенного контроллера от NXP. Криминал? Да ну) я теперь что должен все компоненты одного производителя использовать в проекте? Смешно.
Про Ваш сарказм про модульность мне не очень понятно. Процессорные модули используют все и вся, что в этом такого? Вы хотите чтобы я вместо него поставил микроконтроллер? Нет, спасибо! Может убрать микроконтроллер и оставить толко процессор? А для чего? Описаная модель мне вполне нравится и я намерен ее придерживаться.
И еще, а где Вы вообще видите высоковольтные линии? Тут 24В максимум…
Кстати, про реле и модульность входов-выходов. В этом что-то есть. Залипла реле — меняй всю плату. Погорели некоторые входа — меняй всю плату. Уже встречал такие решения и приходилось их ремонтировать. А ремонтировалось, естественно, заменой, поскольку производство ждать не может, пока ты расчехлишь паяльник.
Я думал об этом. О ремонторигодности. Я уже давно занимаюсь ремонтом электроники в свободное время и в основном для того, чтобы почерпнуть новые идеи. Но все-таки, посмотрите на плату телевизора, магнитолу в автомобиле, плату усилителя (ресивера). Автомагнитолы подвержены большим нагрузкам (думаю хуже только рельсовый транспорт). Чаще всего там нет блоков, либо эти блоки сделаны для унификации, то есть замена блока ведет к расширению/сужению функционала. Разъемы ухудшают отказоустойчивость аппаратуры. Хорошие межплатные разъемы на -10 (я даже не говорю о -40), дорогие. Дорогая часть — это модуль. Он вынесен отдельно. Стоимость только его сборки в 3 раза дороже всей платы. Да, в моем случае матплата изымается, на ее место ставится новая, модуль остается старый (вся привязка устройства к к конкретному местоположению тоже). После ремонта плата снова отправляется в зип.
Как правило в АСУТП системы модульные, хотя, наверное, бывают исключения.
Модульность дает некую гибкость при построении системы и её обслуживании.
Поэтому в самом начале статьи я написал что контроллер узкоспециализированный.
Тут 24В максимум…

А симисторы на 600 В тоже 24 В коммутируют?
Модульность имелось ввиду раскладка — один/два ключа+защита это отдельный модуль с гальванически развязанным логическим выходом. И впаян он в основную плату — тогда ремонтопригодность и надежность выше. Плюс достаточно просто складывать различные конфигурации. Я на такие модули еще светодиоды состояния добавляю.
Я, конечно понимаю, что есть ТЗ заказчика и всё такое, но аналоговый и токовый интерфейс сенсоров, мультиплексоры, TL431 и LM-ки… Музеем от этого всего веет. Имею общение с (новым) оборудованием, даже в Китае так почти уже не делают. Про Европу вообще молчу.
Что касается реле — действительно когда-нибудь выйдет из строя, но его можно поставить в панельку. И симистор без защиты дохнет от маломальского КЗ, и защитить его экономически разумным способом не получится (но его тоже можно поставить в панельку, такую же как и у реле).

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

А что не так с TL431 и LM1117? И в Китае и в Европе еще как используют. Какие вы компоненты используете? Можете привести примеры?
Использовать то они используют, вопрос — где. TL431 — это компонент дешёвого блока питания. Есть огромное количество недорогих специализированных ИОН. LM1117 до кучи под раздачу попала, просто сейчас импульсники кругом, причём синхронные. И стоят даже дешевле оригинальной ЛМки.
Тут вопрос к аналоговой схемотехнике вообще.
Не такой он precision, как хотелось бы.
Даже недорогие шунты современные на порядок точнее (да и стабильнее), какой-нибудь ADR50хх посмотрите.
Но тут вопрос, конечно, какая точность нужна. Нужно считать.
Я считаю, что нужно стремиться к максимальному разрешению использованного ADC, ошибка и так набежит от других компонентов системы. А ошибка на ошибку и снова на ошибку — может много получиться.
Там написано NTC, т.е. точность «никакая», как-раз TL431 подойдут.
А импульсники вместо LM1117 шумов добавят. И цену, и количество компонентов…
AD158х имел бы здесь нормальные цена/качество, ИМХО. Но это не шунт, а бандгап.
Отмечу и положительный момент — ни одного электролита на плате не увидел.
Снобизм в сообщении этом вижу я. Если компонент достаточен по характеристикам и стоит немногим больше стоимости песка, затраченного на его производство, то почему не использовать именно его?
Про снобизм согласен, неправ. Раскрутили меня на критику компонентов, не то я имел ввиду изначально. Я просто до сих пор не понимаю, почему настолько аналоговая схема в 2019 году.
Это не музей, это винтаж. :)
Просто для старого оборудования сделали новые мозги. Обычное дело. Заменять собственно оборудование, как правило, на порядок (а то и два) дороже, чем разработать такой вот контроллер на замену ветхозаветным командоаппаратам и пультам с лампочками и тумблерами.

Так проходила плата испытания на ЭМС? Без этого трудно назвать ее промышленным контроллером.


Вопрос — зачем внешний RTC, если в STM32F103 есть встроенные часы?

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

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

Система собирает данные и управляет нагрузками. Один из самых важных критериев — это при любой неполадке сообщить алармом, установка оборудования специфичная и лучше сообщить об ошибке в работе и иметь контроль над системой, нежели продолжать работать не имея доступа к данным.
Случайно отклонил комментарий
Комментарий пользователя Grey4ip к публикации «Промышленный контроллер. Система сбора данных. АСУ» ожидает вашего одобрения:
Спасибо за статью.
Для управления внешними нагрузками, обычно используются реле, срабатывающие от подачи переменки 24В
Странно, по моему опыту, DO (дискретный выход) ПЛК выдаёт постоянное напряжение около 24V, соответственно используются реле на 24V DC.
Кстати, нет фото промышленного контроллера в корпусе. Как монтируется на дин-рейку?
Заказчик на своих объектах использует именно реле AC24V.

Корпус разрабатывался сторонней организацией, Крепления на DIN рейку нет. Просто настенный вариант.
Заказчик на своих объектах использует именно реле AC24V.

Скажите этому заказчику, что он немного странный.
Согласно стандарту на ПЛК ГОСТ IEC 61131-2 п.5.1.1.1 (к которому ваш промышленный контроллер должен стремиться, так как все датчики/актуаторы разрабатываются под этот стандарт) переменный ток не рекомендуется использовать для входных/выходных сигналов напряжениями до 100В. В этом случае рекомендуется использовать постоянку. Используя переменку, заказчик рискует оказаться в ситуации, что он не сможет использовать стандартное оборудование.

Говорить я не буду. Но для тестирования нам даже выданы несколько типов реле. Заказчик целиком оснащает объекты, может в этом есть скрытый смысл?
Просто на оснащение для этого заказчика имеются особые стандарты.
Используя переменку, заказчик рискует оказаться в ситуации, что он не сможет использовать стандартное оборудование

А чем реле AC24V не стандартное устройство?
А чем реле AC24V не стандартное устройство?

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

Не согласен.
достаточно часто в качестве выходных элементов в Автоматизации используют симисторы. В том числе для управления всякими КЗР-ами. с тем чтобы не «толкать» их реле. Соответственно и на 24 вольта переменки и на 220 вольт переменки вполне себе стандартные дискретные выходы. Ну и собственно реле можно спокойно найти на 24 вольта переменки.
От Siemens есть бюджетные контроллеры 1200, где встроен Web сервер. Хорошо подходит для всяких мониторингов и сборов данных.
… сразу вопрос — Не сильно дорого при таких малых партиях получается?
Почему то прикинув на пальцах мне кажеться что вместе с разработкой дешевле взять готовые модули ввода-вывода и плк, поместить в такой же металлический шкаф. Тот же beckhoff по размеру готового изделия может быть интересней, а по цене Овен. (а когда кажется, видимо, надо ещё пару раз подумать, чтобы показалось совсем другое).
Ну да это экономика, но как только возникает Пром ПК сразу возникают Языки программирования оного — а это в стандарте МЭК61131-3 стандарт на языки программирования.
Это я к тому, что можно было бы взять, к примеру Masterscada4d положить на Linux на тот же самый imx6D, и иметь визуализацию в браузере, но уже тех.процесса, описанного Стандартным языком описания систем автоматизации. Причем в такой архитектуре — Мозги на Imx6, ввод-вывод на stm32- портирование могло бы быть не таким сложным как создание собственной среды. И кратно дешевле, при объёмах до 100 штук в месяц.
Контроллер не предназначен для перепрограммирования. Алгоритмы задаются из визуализированного интерфейса. Никакого программирования, пришел пользователь, тукнул в экран пальцем, поменял гистерезис, температуру, переназначил нагрузку. Существует набор программ, которые планируется добавлять прошивая устройство.
Заказчик обратился не чтобы сэкономить, а чтобы сделать свое устройство под своим брендом. Не нужен Сименс или Овен. Нужен свой контроллер под конкретные задачи. Разработка в России будет почти всегда дороже чем любое аналогичное серийное устройство. У нас дорогая сборка плат (очень), компоненты с наценкой, даже когда работаешь с дистрибьютером квотируются цены всегда по-разному, плата на 8 слоях по 5 классу в Зеленограде делать отказались, одна логистика сжирает все. Да, разработка дорога, но когда заказчик приходит за разработкой, он не пытается экономить, ему нужно что-то, что не может дать серийное устройство. Свой логотип, свой софт, сертификат на устройство, какие-то специфические требования и т.д.
Не сочтите за назойливость, но интересно на чем сделана программа, которая реализует Технологический процесс ( на чем написана реализация именно Алгоритмов — какой язык/архитектура).
На самом деле так сразу говорить что ПЛК и ПК совсем разные вещи тоже не совсем корректно. строго говоря существует достаточно большое количество ПЛК, которые продаются с уже прошитой программой, при которой пользователь получает именно интерфейс «ткнул в экран пальцем — поменял уставку/алгоритм/технологический процесс/температуру/настройку регулятора» при этом имея интерфейс загрузки дополнительных алгоритмов именно методом загрузки файлов типового решения.

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

Соответственно и интересно, каким образом создался новый ПК — на чем писался, какая архитектура- крупными мазками.

На каких я зыках пишутся, алгоритмы? Если вы пытались сделать ПЛК тогда языки должны быть стандарта iek61131-3, в АСУ ТП, это так? Или вы просто напихали различных микросхем, написали код на с для измерения, параметров и связи? ПЛК используют на пром. Объектах и работают с ними не айтишники, а асушника или электроники и очень часто приходится, дорабатывать программы, изменять алгоритмы, делать форсы итд, все это позволяет даже дишманский овен, при этом языки программирования должны быть ладдер, fbd, sfc, cfc, CT, ctl, а не с++ и джава, а как это сделано у вас? Так же очень часто на больших объектах используется горячее резервирование плк, да и вопрос как связаться с вашим плк со скады? Есть какой то опсишник? Задумка хорошая но есть куча нюансов, большие компании вбухивают кучу денег для разработки плк и софта под него, как у вас кстати с библиотеками? Понимаете при разработке систем автоматизации перед инженером стоит задача сделать все просто, понятно, с кучей комментов, что бы все хорошо работало и при этом это должно делаться очень быстро, а для этого производители плк и делают свой софт с различными набора и библиотек и различных других фич, к примеру визуальная проверка сети, это удобно. Когда работает к примеру домена и происходит сбой нужно очень быстро понять куда бежать и что делать, на вашем контроллере это все возможно? Или это просто супермикроконтроллер с предустановленными возможностями?

Вы пишете про ПЛК (Программируемый логический контроллер). Я пишу про ПК (Промышленный контроллер).
Да, вопрос терминологии весьма важен. ПЛК и ПК указанные Вами — достаточно разные понятия для возможности их объединения, да.
Интересно, а на каком языке описывается в данном контроллере программа управления?
в каком формате хранятся данные?

Да на Си там все, скорей всего. Чего вы ждете от заточенного под конкретную функцию контроллера?

Если честно то ожидал какого-нибудь Lua или python с примерным указанием на прогнозируемое время цикла.
ПО виду плат — разработка интересная.
Достаточно редко, но все-таки регулярно можно столкнуться с такими историями в совсем разных местах. От управления чайниками или дизельгенераторами до каких нибудь Бос-ов в историях со спутниками или блоках для Искр 226-х. И почти всегда они восхищают интересными «задумками» и реализациями в полном соответствии с предполагаемым ТЗ.
Архитектура в части переноса обработки переферии на stm32fх0x с головой на imx6 мне нравиться, сам пишу задания на такую архитектуру периодически.
Если честно то ожидал какого-нибудь Lua или python с примерным указанием на прогнозируемое время цикла.

Это скорей всего на imx6 крутится

Так это и есть интерес для меня. Что на stm32 считывается, как параметризуется — мне лично не сильно интересно. Ну если только не удивить меня каким-нибудь Интересным namespace внутри stm32, который крутясь в одной задаче семафором с головой параметризуется и выполняется при отсутствии прерываний. И при этом синхронизируется с таким же, но уже на imx6. Интересно же!

При всем уважении, я очень много лет в сфере автоматизации и ни разу не слышал про пк как про промышленный контроллер, есть плк, есть пак, есть программируемое реле, есть панельный логический контроллер они просто идус с HMI на борту, есть специализированные контроллеры по типу температурный, но они не пользуются спросом. Я бы не прикапывался к вашему изобретению, но вы сказали что его можно использовать в промышленности, а тут уже извините но есть миллиард требований. Системы автоматизации строятся на данный момент на плк и пак контроллера, к примеру на доменной печи используется до 12 плк с 32мбайтами памяти для ПО, более 10 000 сигналов из которых львиная доля это аналоговые(4-20), так же используются спец. Модули для подключения энкодеров, система верхнего уровня построена на клиент-северной архитектуре с горячим резервированием серверов, по совокупности от 10 до 15 армов с клиентами. Одно из важнейших требований к софту это правка программы в режиме онлайн с нескольких мест одновременно. По поводу дискретки, на данный момент везде используется 24vdc, аналоговые сигналы так же ст андартизиваны, (4-20mA,0-10v, сигналы термо пар и термосопротивлений) при этом для, разных датчиков и модулей используется, разная схема подключения (2,3,4)как для 4-20 так и для термосопротивлений. Я желаю вам удачи в ваших проектах, но пока что из того что я увидел данному девайсу на больших пром. Объектах делать особо нечего, для того что бы он прошёл кучу аттестаций и получил лицензию нужно изучить работу плк различных компаний, а потом уже что то проектировать. Ещё раз удачи во всех начинаниях.

UFO just landed and posted this here
Что рассматривать? Какая цена, какие доллары? Устройство разработано для заказчика, его может производить только он, масштабировать ничего не нужно, все обращения и возможности четко регламентированы в ТЗ, никакой самодеятельности и ничего лишнего. Заказчик захотел 24В переменки — это проблема? Для меня нет, я не буду его уговаривать ставить 5В или 12В реле. Заказчик хотел именно столько датчиков и линий управления, сколько выведено на плате, не больше и не меньше. Если нужно будет добавить новую линию или датчик буден новый контроллер с новыми возможностями.
UFO just landed and posted this here

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

хватит писать глупости — полная мешанина, не относящаяся к теме

здесь маленькая узкозаточенная системка на 50 сигналов.

вопрос у меня только в том, насколько к ней применим термин «промышленная» — ?? температурный диапазон, виброустойчивость, пылевлагозащита, опторазвязки на >500В по в/в, классы точности, защита от дребезга, ЭМС, итд итп…
Мне принципиально очень нравится отделение низкоуровневой логики в контроллере, а высокоуровневая логика для коммуникации и всякие HMI на процессоре с ОС. Тогда контроллер можно условно считать безотказным и возложить на него все критичные функции. А процессор можно и перегружать при сбое без последствий. Но тут уже, конечно, все завит от ПО.

Решение с аналоговыми датчиками температуры кажется весьма странным. Не проще ли было вместо термисторов, ИОН и аналоговых мультиплексоров использовать 1-Wire термометры, например DS18B20?

Если закоротить линию 1-w то перестанут работать все датчики на линии, а это очень критично. Тоже прописано в ТЗ.

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

Как решили проблему с влиянием сопротивления линии на измерения? Ну и наводки ведь наверняка есть на такой длине провода (если конечно у вас там оно не экранировано).

Изначально планировались эталонные датчики (1% резисторы) на концах линий для калибровки каждой перед подключением датчиков. Это вариант пока рабочий, но предварительно проверили на 300м и большой погрешности не увидели. Но думаю что все равно добавим функционал калибровки.
а юстировка не спасает?
ГОСТ 30804.6.2-2013 и опыт подсказывают что иногда на Производстве (а это не синоним Промышленности?) бывают сильные помехи. в том числе рядом с низковольтным проводом до датчика, 100 метров это много и по пути на стене/через стену может стоять какой-нибудь частотный преобразователь. И он может всю жизнь стоять выключенным, но потом каааак включиться. Аж до засветки неоновых ламп.
Это я из зависти пишу к тому, что в Вашем случае существенно проще чем с ПЛК реализовать Правильную и Хорошую фильтрацию и юстировку можно как угодно и когда угодно, хоть по канально хоть группами.
существенно проще чем с ПЛК

Не очень понимаю почему. В ПЛК на подключении датчиков температуры уже собаку съели — их там и по 2-х проводной схеме подключают и по 3-х проводной и 4-х проводной даже.
И не от хорошей жизни, кстати, а как раз, чтобы защититься от всяких бяк и получить нормальную точность. Рекомендую глянуть, например, доку к вот этому входному терминалу. На стр. 64-71 описано, как лучше к нему подключать датчики температуры.


Здесь же максимум — это взять экранированную витую пару, но фильтровать сигнал все равно надо будет жестко. Или у вас 3-х/4-х проводное подключение тоже возможно?

Сами Модули ввода-вывода ограничены по функционалу фильтрации.
Ограничены как раз зашитыми в них программами.

А вариантов фильтрации не так чтобы очень мало, а скорее наоборот.И реализовывать из не так чтобы сложно в представленной парадигме.

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

Для примера — натравить в ПК автора этого поста нейронную сеть на все АЦП — дело достаточно простое. Python, numeric, как можно быстрее берёшь выборку из stm32 к примеру сдвиговыми регистрами с максимальной скоростью и получаешь Хороший результат если правильно настроил сеть и модель вообще подходит под текущую задачу фильтрации.
И даже есть отдельное ядро для таких задач а настроить это не так чтобы было сильно сложно.

С ПЛК всё немного по-другому — данные с модулей прийдут немного позже(если это не бэгхкоф) и это полбеды- они придут уже поканально отфильтрованные. Тем фильтром который есть в настройке конкретного канала. И не из каждого модуля удастся вынуть код АЦП да ещё и потом синхронизировать их по времени. Даже если они придут с меткой времени — распихать их по нейроной сети в одно время — задачка та ещё.

Согласен бредовый пример, но или вот выделение помех в юстировочном канале с анализом и по ним изменять фильтрацию и её тип в остальных каналах? задачка на ПК достаточно простая а на ПЛК достаточно сложно.

и именно эта парадигма бОльшего варианта возможностей вносит лёгкий налёт белой зависти к индивидуальным решениям.

Собственно в такой, специфической парадигме это и проще. Плата на фото и схемы выглядит достойно — для меня это основание полагать, что автор знает и двух проводные и четырёхпроводные подключения термо-сопротивлений и их компенсацию, пока не доказано обратного.
Для примера — натравить в ПК автора этого поста нейронную сеть на все АЦП — дело достаточно простое. Python, numeric, как можно быстрее берёшь выборку из stm32 к примеру сдвиговыми регистрами с максимальной скоростью и получаешь Хороший результат если правильно настроил сеть и модель вообще подходит под текущую задачу фильтрации.
И даже есть отдельное ядро для таких задач а настроить это не так чтобы было сильно сложно.

Было бы интересно увидеть реальный пример с объяснением чем он будет лучше обыкновенной фильтрации в данной конкретной предметной области — измерение температуры в присутствии помех в реальном времени.


А если серьезно: ПЛК — это очень массовый маркет. И если все так радужно, как Вы расписываете, то на рынке должны уже существовать десятки решений для ПЛК на основе "нейронных сетей" или с анализом помех из юстировочного канала. В ПЛК стоят мощные процессоры, сигнал от АЦП можно получать и нефильтрованный и очень быстро — это же легко настраивается. Спрос есть. Где они?

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

За примерами ходить далеко не надо — Дельта с устаревшим к 1996 году стандартом модбаса — не принимающих стандарта хотя бы 2012 года. Или модули ввода-вывода использующие устаревшие на десятилетия АЦП потому, что они уже в потоке на производстве, и в новую разработку их вставить кратно дешевле чем казало бы более дешевые по закупке и новые, лучшие.

Фильты кроме того, что я на коленке в плане бреда придумал, бывают ещё и к примеру «с конечной импульсной характеристикой»,
«с бесконечной импульсной характеристикой», Можно с Фурье поработать, да чего только нельзя сейчас. С пайтоном или фортраном на imx6 это скорее дело техники чем исследования " как сделать"

И, по моему мнению — применить их беря исходных значения АЦП в бОльших количествах — в предлагаемой архитектуре в моём понимании проще в реализации ( по крайней мере с моей колокольни).

А с юстировкой по одному каналу вполне себе есть для применения ПЛК.
Другое дело что из за указанных причин — ПЛК при модульной структуре не раскрывают в полном объеме потенциал, но как таковые конкретные проекты ПЛК такие есть, юстировку и подстройку по отдельному каналу я видел и динамическую и статическую.
Для управления внешними нагрузками обычно используются реле, срабатывающие от подачи переменки 24В. Поэтому на каждую группу подается AC24V, которые коммутируются симисторами BT138-600 через оптронную развязку. Схема представлена ниже. Работает все стабильно.

Не разглядел на плате снабберные цепи. Что за конденсаторы — керамические, напряжение, типоразмер?
Керамика 0603 50В. Они около симисторов, из-за них не видно.
Беря «среднепотолочное» реле на 24 В переменки с мощностью катушки 1,6 ВА (Relpol R4) и загоняя с симулятор — получим выброс на конденсаторе снаббера чуть более 580 В. «Отака ***ня, малята».

Надо что-то менять… Конденсаторы на плёночные или варистор поставить ( соответствующей мощности, а не 0603)?

P.S. Совсем без ничего (не считая даже паразитных ёмкостей проводки) самоиндукция превосходит 1 кВ.

А разве симистор не при переходе тока через 0 выключается?

Да, только что перепроверил модель с правильным выключением (в нуле тока). Но, всё равно, напряжение на конденсаторе достигает 69 В.
Опять же современные трёхквадрантные симисторы в снабберах не нуждаются. Извините за снобизм.
UFO just landed and posted this here
На шлейфах LVDS, Ethernet — это то, что используется на этой плате. Также есть на шлейфах CSI и HDMI.
UFO just landed and posted this here

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


Поэтому все ваши рекомендации автору уже в принципе поздно использовать.


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


Ваш подход понятен — но в нем тоже есть множество плюсов и минусов.

Прототип отличался лишь наличием нескольких проводников, но почти незаметных.
Это опытная партия (вторая итерация), в количестве 25 шт для испытаний, по их итогам возможны коррективы для следующей партии.

Естественно, что все то, что выведено на плате (аналоговые датчики, реле от переменки и т.д.), интерфейс меню и web, расположение разъемов и все остальное прописано в ТЗ и согласованно с заказчиком, ничего другого там быть не может, ни DS18B20, ни дисплея 800*600, ни реле на 5В, ни другой графики на дисплее (дизайн сделан на заказ и давно утвержден), ни тем более, Nucleo.

(второй абзац скорее для crustal)
UFO just landed and posted this here
Кстати, а токовый сигнал чем преобразуете?

Спасибо за статью! Хотел бы прокомментировать замечания по поводу терминологий и переменам в управлении. Сам занимаюсь пром автоматикой и "Умными домами". Практически везде и всегда сталкивался только с 24В постоянки, но недавно пришлось вникать в тему управления климатом. Рекомендую всем взглянуть на оборудование ОВиК(HVAC). Рабочее напряжение преимущественно переменное 24В, Датчики температуры в основном NTC(в проме Pt100-1000 и термопары), множество параметрических контроллеров(не программируемых, только настраиваемых) для конкретного оборудования(фанкойла, ПВУ, холодильные установки и т.п.). Многие производители выпускают контроллеры без корпуса для установки в изделие. Это тоже промышленные системы, но со своими требованиями и подходами. У некоторых производителей есть отдельные направления для систем управления зданиями(BMS), например у Сименса это Desigo, Delta — Loytec и т.д. и т.п. Так-что не надо ругать автора — заказчик получил то, что ему требовалось, а исполнитель решил задачу наименьшими для него усилиями.

Вот нет в модульности счастья всегда и везде! Объясню. Для диагностики с точностью до модуля и замены оного требуется кто? праааавильно — специалист (условно). для замены всего девайса «не работает что то в 3 часа ночи»- 2 разъема выдернуть + из зипа новый воткнуть, кто? прааавильно — дежурный слесарь. все упирается в кадры и правильность железки. в одном проекте мы много времени и сил тратим на проектирование спецкоробки для широкого индустриального потребителя, но на монтаж и замену требуется не инжинер, даже не электромонтажник, а слесарь. а в другом весьма специализированном проекте кучка хайтек универсальных модулей, но у этого заказчика есть квалифицированный штат и подрядчики по всей стране. вот в чем шлягер. хотя задачка «вывернута» от изначальной темы
UFO just landed and posted this here

В правильно спроектированной модульной системе делается обычно так, что дорогая электроника, контроллер, который обычно отвечает за управление, отделяется от внешнего мира более дешевыми интерфейсными модулями, которые в принципе имеют право «сгореть» при кривых ручках или серьезных проблемах. Тогда возврат системы в работоспособное состояние возможен путем замены вышедшего из строя интерфейсного модуля (по которому обычно видно, что ему поплохело) а центральный контроллер остается жив.
Это позволяет держать на месте минимальный ЗИП из интерфейсных модулей, а не всю систему, и тем не менее гарантировать быстрое время восстановления без диагностики.

Sign up to leave a comment.

Articles