Как стать автором
Обновить

Комментарии 62

Если я не путаю, то модули мб110 умеют общаться по modbus?.. Поэтому у меня возникает вопрос, а зачем вам контроллер? С учетом того, как построена система, возможно будет проще выкинуть контроллер, написать свой опросчик датчиков и избавиться от codesys и контроллера?
Так же не понятна фраза про калибровку.

В посте написал:
«Контроллер и датчики были установлены до меня.»
Я не разбираюсь в контроллерах и в модулях. Все датчики, модули и датчики устанавливал другой человек. Мне была поставлена задача сделать «мониторинг температур».
На тот момент для меня было проще установить CoDeSys на виртуалку и считывать данные, не вдаваясь в подробности что и как подключено. Но знаю, что датчики установлены далеко друг от друга (на расстоянии более 100 метров), поэтому и были установлены модули.

Для получения более правдивых значений температур необходима калибровка.
В руководстве по эксплуатации «ОВЕН МВ110-224.8А МОДУЛЬ АНАЛОГОВОГО ВВОДА
АРАВ.421459.002-05 РЭ» написано:
«Полученные в результате вычислений отфильтрованные текущие значения
измеренных величин могут быть откорректированы прибором в соответствии с заданными
пользователем корректирующими параметрами.
В приборе для каждого канала измерения предусмотрены два корректирующих параметра,
с помощью которых можно осуществлять сдвиг и изменение наклона измерительной
характеристики. Сначала выполняется сдвиг, затем наклон характеристики. „

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

Для упрощения `калибровки` — разницу между фактической и показываемой температурой устанавливается через WEB-сайт, чтобы температура была максимально правдивой.
Скорее всего, контроллер тут как централизованный узел связи. RS-485 <-> Сеть предприятия.
И немножко логики (хранение архивов) наверное. Если не МБ200 с Ethernet то всё равно придётся какой то преобразователь типа ICP-DAS Modbus RTU — Modbus TCP или COM — Ethernet лепить.
Да именно так — контроллер это центральный узел где «собираются» все значения с модулей.
Сам контроллер находится примерно в 500 м. от нашего ЦОДа.
А временнЫе настройки связаны с отключением холодильников на ночь? Если так, то добавьте контроль ручного включения питания и по нему сбрасывайте алерт, тогда не нужно будет аварийные уставки менять.
Не только. Например днем идет выгрузка товара и температура в холодильниках будет выше в любом случае. И чтобы не было аварий в этом случае — изменить минимальную температуру.
Эту задачу решит датчик открытия дверей. Дергать уставки — не есть правильно.
Стоят датчики открытия/закрытия дверей и подключены к контроллеру.
Но они не используются в обработке аварии.
В каждом холодильнике 4 двери и 4 датчика.
Пытался сделать зависимость температуры от открытия дверей — но вышла слишком длительная обработка запросов — от 5 минут и выше.
На данный момент записей «о дверях» в базе MySQL — ~8,250,849
Пример одной записи:
id -78069049
ID Датчика — 45
Время -2019-10-10 10:11:33
Статус-1 или 0 (Открыт или закрыт)
А зачем зависимость? Дверь открыта — игнор температуры, дверь открыта долго — авария закрытия дверей… Это если навскидку, а так, конечно, нужно описание технологического процесса, чтобы нормально спроектировать АСУ ТП.
Это не АСУ ТП — это СИСТЕМА МОНИТОРИНГА.
Датчики дверей нужны были узнать как влияет открытие дверей на температуру в холодильниках.
Например открыли дверь во время выгрузки товара на 20 минут — на сколько изменилась температура в холодильнике.
И на какое время лучше открывать холодильник для нормальной работы.
А мониторинг для чего? :) Если по данным от этой системы мониторинга управляют каким-то процессом — то это часть АСУ ТП, в этом смысл мониторинга параметров :)
Ну тут спорный вопрос.
Система мониторинга изначально создавалась для просто для Анализа.
Хотя с другой стороны можно сказать и так, что это часть АСУ ТП.
Мониторинг тут нужен не для управления производством, а для того чтобы выявить аварийные ситуации выхода холодильников из строя. Хотя, если по этим данным будет считаться наработка холодильных установок и их плановая замена то можно посчитать что это один из вторичных контуров обратной связи АСУ ТП… проходящий через бухгалтерию.
у нас примерно так и устроенно (я не автор статьи, там выше я комент оставил у нас похожая система)

очень удобно инженерам предсказывать выход холодильников из строя, замены, держать резерв… очень прям много практических случаев, плюс у нас в ночь идет сигнал дежурному по корпусу, он идет и смотрит что случилось… а дальше принимает решение по регламенту звонить хозяину или там подождет до утра…
Прикольненько.
А почему, кстати, отказались от OPC сервера? Вроде бы не дорого стоит, с ODBC даже. Проще архитектуру разбить.
ОВЕН ПЛК160 может в Modbus TCP (правда, конфигурировать нужно). Тут, насколько я понял как то неявно используется OPC DA среды Codesys? Можете поподробнее эту тему раскрыть?

Кстати, а как Вы записываете калибровочные коэффициенты в модуль? Программа в ПЛК постоянно их пишет?
Хотелось бы еще чуть больше подробностей, какие используются термометры, и почему используются аналоговые модули а не температурные (а они у овена есть?).
К сожалению я не занимался установкой самих контроллеров, модулей и датчиков. Я занимался только программной частью.
Всем этим железом занимался другой человек. Не знаю по каким принципам он это делал.
Входа то универсальные, как настроишь (термопара, термометр сопротивления, и т.п.) так и будет. Датчики то аналоговый сигнал выдают. К модулю пачка датчиков подходит.
А если температура высокая или датчик в трубе где-нибудь, то всякие там ПВТ10 модули не подойдут.
Знаю что некоторые датчики температур установлены в холодильниках, где температура может достигать до -36.
Есть датчики температур где температура +60 и выше.
OPC сервера — рассматривал и такой вариант, но честно говоря не разобрался в нем.
Калибровочные коэффициенты записываются так:
Инженер подходит к датчику и устанавливает рядом свой термометр, который по умолчанию верный (хотя тоже под вопросом, но так должно быть).
Устанавливает значение с ЕГО термометра в веб-интерфейсе и сохраняет это значение.
В PHP из реального значения вычитает фактическое:

$real=(float)$_POST['real']-(float)$sensor->param;

Получается коэффициент, который в дальнейшем и используется.
Разве это правильно?
Выше Вы цитировали мануал «Овна», там идёт речь о двух параметрах: наклоне и смещении характеристики. По одной точке их не определить. Вы, грубо говоря, корректируете только смещение. И только при данной температуре показания будут верными; при другой температуре он будет врать, и чем дальше от температуры «калибровки», тем сильнее.
Тут нет ничего страшного.
Диапазоны измеряемых температур не очень большие.
И погрешность в любом случае будет, но в пределах нормы.
Допустимая погрешность во время реализации решили сделать 1 градус Цельсия.
У меня не было задачи получать максимально точные значения — главное чтобы все фиксировалось.
несколько вопросов:
1. сертифицировалась ли система целиком как средство измерения?
как она проходит в предприятии для чего она вобще создавалась? для прохождения ISO?
2. сколько всего примерно датчиков?
3. какой тип датчиков? (модель\название)
4. как часто собираются данные с датчиков?
5. какое типичное время реации на аварию? задержка?
Что то Вы недопонимаете тут.
Это система регистрации параметров. Она не завязана на технологический процесс (на сколько я понял).
1) Зачем? Это же не производственная система. И на безопасность не влияет. А вообще, у овен МВ110 А есть сертификат средства измерения (на сайте смотреть). У датчиков тоже — в паспорте указано.
2) Картинка же есть.


5) Вообще, тут не должно быть аварий. Тут… как это по-русски… «алармы». Эта система ничего не включает и ничего не выключает. Даже звонка нет. Чистая регистрация.
1. Система не сертифицировалась. Это внутренний продукт для внутреннего использования.
Создавалась найти нарушения в тех. процессах, когда и что случалось.
Узнать причину из-за кого случилась авария — оборудование или человеческий фактор.
Вся система мониторинга создавалась для АНАЛИЗА руководством что можно изменить или улучшить.
2. 26 датчиков температур, 21 датчик температур.
3. Типы датчиков не знаю.
4. С температур — каждую минуту (этого достаточно). Двери — по факту.
5. Реакции нет. Только просмотр и анализ по этим данным.
Мониторинг в процессе работы указал на некоторые проблемы:
1) Человеческий фактор — не всегда закрывают двери, либо не плотно.
2) Открывают двери на продолжительное время.
3) В какое время приходит пик на выгрузке и отгрузке.

Сейчас на вскидку не могу сказать
благодарю за ответ.
5. Реакции нет. Только просмотр и анализ по этим данным.

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

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

похожая архитектура: на нижнем уровне сеть на rs-485, с которых (без контроллера) собираются данные на сервера в sql-базу, а сверху уже самописанная логика отображений архивирования и прочего.

у нас на текущий момент ~700-800 температурных датчиков ds18b20 и еще около 20 датчиков влажности ну и прочая всякая мелочь типа датчика давления воздуха… четыре sql-сервера в репликации между четырьмя корпусами…

а начинали мы примерно также… с 20 холодных складов…

кстати очень правильно что вы не стали использовать OPC и SCADA, потому что это такие грабли в настройке и тихий ужас… (кто работал с OPC-DA2 в современных сетях тот меня поймет там одни только настройки безопасности чего стоят)

я как-то лет 8 назад писал статьи про это, но с тех пор уже все поменялось совсем, если будет время и я созрею желанием я напишу как оно у нас сейчас устроенно…
5. Время реакции — фактически сразу выводится в вебе после аварии.
Страница каждую секунду обновляет информацию.
Честно признаюсь что прочитал только первый абзац и все картинки посмотрел, но я очень надеюсь что это статья о том как делать нельзя. Если все таки люди в здравом уме и трезвой памяти такое творят, то могу предложить более (на много более) дешевое и во много раз более стабильное решение, а самое главное намного более простое и стабильное.
Данная система была сделана 2015-2016 годах. Аналоги на такую систему были дороги для предприятия. Поэтому сделано было своими силами при минимальных на тот момент затратах.
И эта система изначально не была идеальной, но она нужна была.
Хм, интересно было бы услышать, какое же решение будет на МНОГО БОЛЕЕ дешевое? удешевлять данную конструкцию можно только 1 способом — убрать контроллер, вместо него поставить модуль rs485/ethernet, оставить модули оставить термометры и модули mb110. Да, возможно есть модули преобразователей температуры в цифру другого производителя и вдобавок дешевле, но… Как правило, стараются использовать то, что доступно.
На тот момент как раз и использовали что было.
Чтобы сейчас поменять что либо необходимо заново все переделывать.
Желания у руководства нет (да и у меня если честно нету) — «работает и ладно».
Так я этот понял. Мне вот интересно, что же такого хитрого, причем промышленного, может предложить SeyranGV в виде решения?
ну как " услышать какое решение будет МНОГО БОЛЕЕ Дешевое:
Первый пример это когда считать исключительно оборудование:
вместо ПЛК 160 который стоит 31 000р поставить м3000-Т который стоит 17 000р. и обойтись без сервера. то-есть минус 15к денег и минус сервер(сколько он там стоит?) плюс 5к от инсата за лицензию на число пользователей до 50. Вопрос цены сервера.

Второй вариант — это когда считать всё на круг — и протяжку проводов, и блоки питания для каждого модуля, и пуско-наладку этого всего и обслуживания:
Хардкорно дешевле в части минимизации проводов и ПНР-а тоже можно — Вельком к компании Болид за КВТ10/20/60. Где сразу в комплекте до 60-и датчиков С2000-ВТ на двух проводах вешаются, имеют каждый свой номер(уже выгравированный в комплекте) и выдают все значения с графиками в веббраузер. (с шахматами и библиотекаршами по желанию)
По сравнению с 8А к которым вести 485 и питание к каждому а потом термосопротивлениями обвязывать это хозяйство — это прямо Совсем другое по цене включая пусконаладку.

Конечно вопрос к диапазону, поверке/юстировке и прочему.
И да, чтобы не совсем компанию рекламировать- все таки у других компаний вполне себе есть решения на Dalas овских датчиках 1-wire уже готовым комплектом. Что для таких измерений температуры может быть более чем достаточным. Это же не в горне измерять температуру

И да, вариант — ВАйронборд, контроллер за те же 14 000 и да.
И да, у них есть датчики DS18B20 по 400 рублей. Дороже термосопротивления? так 8А в максималке 8 сопротивлений 6200. плюс по 200 рублей 8 датчиков, плюс 1000 рублей блок питания. на круг получается 8 датчиков это 9000 за 8 датчиков. со скидками положим 8 000 -на 8 датчиков.
Итого по 1000 рублей на датчикв текущем решении, против 400 от вайронборда. Ну и без проблем с кучей проводов и пауков. и настроек-юстировок.

Опять же на круг по оборудованию от вайренборда получилась бы арифметика — ПЛК 31000 заменить на плк за 15 000. Четыре модуля 8А по 6 тысяч и 20 датчиков — 26 000 рублей заменить на 8 000. Итого решение дешевле предлагаемого по оборудованию на 32 000 рублей. ПО материалам и пуско-наладке такое решение в разы дешевле. Два провода вдоль ветки вместо блоков питания и кучи проводов к термодатчикам. при разветвлении модуль за 8 000 ничем не дороже чем модуль аналогово ввода.
И да, 1 -wire всё-таки цифровая линия, а термосопротивления, от которых идёт провод длинной больше 2-х метров в производственном помещении, да ещё и в коробе с остальными проводами… это удовольствие для Сильных Духом.
Линия цифровая, посему более чувствительна к наводкам. Аналоговый сигнал можно сгладить и отфильтровать, пустить по витой паре и все дела. Этот самый 1-wire далласовсого термометра очень фигово работает уже на кабеле от 1 метра и больше в идеальных условиях. Постоянно нужно шаманить и играться с сопротивлением подтяжки чтобы датчик заработал и не перегревался(если перестараться с подтяжкой и постоянно опрашивать датчик можно получить погрешность более 1 градуса из-за саморазогрева в воздушной среде).
Далас если не в пром зоне то до 30 метров вообще-то.
По сравнению с гулянием напряжения на аналоговом Термосопротивлении это прямо вот земля и небо. Чего и Как Вы можете фильтровать на самом модуле 8А Большой вопрос))) Могу на него ответить, ибо чуть более пары лет назад это было в моей полной компетенции — почти ничего. Ну кроме постоянной составляющей и низкочастотного фильтра — сумматора по 8-и циклам опроса… и на уровне преобразователя ничего по сути и не сгладить.

достаточно странно что он работал у Вас на 1-метровом кабеле в идеальных условиях. Даже китайские аналоги таким не грешат. 30 метров рядом с частотником — можно поверить. Но аналоговый 8А с датчиком скажем cu50 на 30 метров рядом с частотником будет с Большой долей вероятности показывать всё-таки погоду на Плутоне.
Достаточно интересно, иногда, наблюдать как пытаются померить температуру Длинным проводом. Когда посередине этого кабеля стоит Частотник скажем на 7.5кВ. Значения получаются весёлые, но смотреть при этом более интересно как загораются неонки.
Да, с 1-wire то проблемы тоже есть, оно не для пром зоны. Но все-таки попытка измерения сопротивления на расстоянии в 30 метров. не сильно высоким напряжением без большого тока — дело такое. Более Сильно зависящее от помех.
Одно дело не получить значение пару периодов. А другое дело когда медиана значения понижается из за помехи. — значение получается не верное.
ТС обычно подключаются по 3-х или 4-х проводной схеме, и там никаких проблем с наводками нет — сопротивление датчика порядка 100 Ом, какую наводку надо на него навести чтобы что-то поехало? Темболее если линия симметричная и наводка, если она есть, будет обусловлена неидеальностью линии. В модуле фильтрация по входу не предусмотрена наверно потому что в правильных вариантах подключения ТС никаких наводок нет и в помине.
4-х проводную схему для подключения датчика температуры который нужен
под указанную автором задачу? о_О
причём это же на каждый из 20-и датчиков.
Страх и Ужас по сравнению с двупроводной линией вселяет пуско-наладка такого решения даже при его разводки utp кабелем, не говоря уж про стандартные провода к термо-сопротивлениям.

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

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

Ездить в магазин на Белазе за хлебом может и прикольно, но вообще-то достаточно часто это дороже чем на маленькой машине. Хотя бывают и приятные исключения )))
или dcsun от технолоджико, дороже, но зато настройка элементарная и отображение понятное.
Даласовские датчики по двум проводам особо не подключишь. В «однопроводном» режиме у них ограничение на длину провода в 1 метр, если не ошибаюсь. Некоторые работают и на 10 метрах но нестабильно и надо шаманить — для производства не подойдёт. А что это значит? — к каждому датчику по контроллеру…
Может прикрутить 160й к owencloud ??
А уже оттуда парсить данные.
Не вариант.
Интерфейс был сделан минимально простым для пользователя — «нажать сюда и сюда чтобы появилось то то и то то..»

Я про это и говорю… 160й спокойно шлет данные в облако, они там и лежат…
А ты обращаешься к облаку только для отображения. Не нужны костыли с codesys
В те далекие времена 2015-2016 owencloud-а не было ))))
На данный момент данную систему не планирую.
Первый вариант было сделать через ZABBIX.
Но есть сложность просматривать, менять параметры для конечного пользователя.
Интересное решение, не смотря на странный подбор оборудования.
То-есть под такое ТЗ я бы выбрал другую среду исполнения — ms4d ( хотя бы даже 110[m02] ms4d), в которой весь описываемый функционал уже есть, и кроме него не потребуется сервера с ПО, но это уже другая история, а начальные условия, видимо, предполагали конкретно это оборудование.
Решение прямо Очень интересное и красивое именно в реализации — респекты за реализацию, однозначно!
да, альтернативная вселенная классная,
И мне в ней нравятся решения своей Изящной красотой.
Да, Prometheus на Овеновский ПЛК не поставить. Ну то-есть Go для него врят-ли соберут в ближайшие 5 лет — нет таких задач скорее всего. Хотя мысль интересная, поставить на контроллер рядом с python и lua какой нибудь Go с целью красиво запрометеяться, Спасибо, попробую к Новому Году.
Так прометеус и не нужно затаскивать ни на какой ПЛК, на ПЛК должен быть запущен минимальный веб сервер, написанный хоть на баше хоть на ассемблере который отдаст по урлу "/metrics" метрики. Концепция прометеуса в том что оно pull-ит данные.
«ну это то мы могём(с)». выдать метрики по url это ну совсем просто. я имел ввиду как готовое решение, всё на контроллере ибо линукс "… без регистрации, серверов и смс". где «без серверов» = без настройки серверов и это ключевой параметр для моей целевой группы(((
Ок, ходить с внешнего сервера через прокинутый порт. Вот пожалуй самое простое решение для тех кто не хочет ставить прометеус рядом. И соответственно и прометеус и графану настроить где-нибудь на любой VPS что будет даже надежнее. Ничего не сломает уборщица махая шваброй рядом.
ну как бы openvpn и всё такое даже, если что бывает и даже на плк. опять же прометеус внутри малинки наверняка заработает(не проверял), значит гигагерца на а9 с 512 памяти ему хватит(ни чем не обоснованные предположения) — а зачем плодить сущности во вне, если можно сделать всё внутри и достаточно красиво? это так думается потому что как то в embedded вставлял zabbix сервер, а там рельса. И как то он не много «кушал».
Прометеусу воможно хватит, графане точно нет.
печаль-тоска, но Прометеуса может быть и достаточно.

Кстати говоря не только мои контроллеры так могут — wirenboard тоже вполне себе может позволить себе поставить на борт Прометеус и не чихнуть. Благо там мфти… и студенту дать задачу — для них вполне себе забава. Да, полетит ниже чем моё....-требования к Оси придирчивы — но с бОльшей вероятностью всё таки полетит. И даже может быть будет красиво )
Ну я решил написать «свой велосипед». Я думаю у многих есть «велосипеды». И ничего плохого там нет. Зато свой, подпинываешь, но едешь.
да полезен велосипед, вот как практик могу сказать, что все эти решения «из коробки» надо допиливать до конкретных нужд производства и задачи, и вот это то допиливание стоит очень сильно большие деньги чем сделать самому «как надо»…
Да, и частенько он, свой «велосипед» Весьма Интересен.
Смотришь на него и понимаешь — Да, не зря Сделал.
Едет?
Да!
Красивый?
Да! ( ну по-крайней мере мне понравились картинки)

Это все можно поставить но как дополнением для красоты.
НЛО прилетело и опубликовало эту надпись здесь
На тот момент контроллер достался бесплатно. К нему просто докупили пару модулей и датчиков температуры.
Задача была — на любом компьютере предприятия открывать данную систему и без установки.
Веб-сайт был лучшим решением.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации