27 МОСКОВСКАЯ ВСТРЕЧА
Форум самогонщиков Сайт Барахолка Магазин 27 МОСКОВСКАЯ ВСТРЕЧА

Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция?

Форум самогонщиков Автоматика
Esc Профессор Москва 2.1K 2.1K
28 Авг. 19, 14:18
В этой теме предлагаю коллегам высказать свое мнение по поднятому вопросу.


Из чего началось.

При очередном обсуждении возможностей автоматики, SA1348 поделился графической информацией по процессу.
00.3.png
00. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.

Вот сутки крайней ректификации, закончившейся сегодня. Старт стоп так и не сработал. Вот к этому надо стремится. И тогда автоматика уже начинает влиять на качество спирта.SA1348, 26 Авг. 19, 12:36
Ответы предсказуемые.
Это про что? ... проще потратить  60 рублей чуть увеличив флегмовое число и не дергаться все сутки с мониторингом?01vlad, 26 Авг. 19, 12:37
Зато график красивый)))01vlad, 26 Авг. 19, 13:01
Или, если прямым текстом, нахер это нам надо...


Шагаем дальше.
Не редко от коллег можно услышать примерно следующий текст:
• У меня вся информация по погону записана на бумажный носитель;
• Мол если надо открою конспект и посмотрю, чего там криво пошло...

Рискну предположить, что в конспект обычно заносят:
• объем и крепость исходника;
• временные интервалы отбора фракций;
• объемы и крепость фракций;
• органолептику фракций, ... по "фломастерной" шкале; Подмигивающий
• температуру с нескольких точек оборудования, характерную для ключевых моментов процесса;
• и т.д.

Вопрос с какой регулярностью инфа заносится на бумажный носитель?
Почти уверен, что для временного кванта между записями характерно следующее значение:
• Как навестил железо, так и записал;
• Чего возле него постоянно бдить;
• Все же отлажено, температуры весь погон "укопанные"...

И собственно об этом весь нижеследующий текст.


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

Для начала допустим, что:
• для ускорения процесса двое коллег взялись за переработку одного и того же СС в НДРФ;
• поделили СС поровну, разлили по кубикам;
• в обеих процесс происходит на идентичном железе (куб, буфер, тарельчатая колонна, царга пастеризации, ДЕФ);
• старт процесса в одно и то же время;
• территориально между коллегами пара десятков метров.

А дальше телефонный диалог коллег.
- Слушай, какая у тебя температура в буфере?
- 81,6°С.
- Прыгают показания термометра?
- Нет, цифры как укопанные.
- А у меня прыгают...

Через некоторое время.
- А посмотри сейчас на буферную температуру.
- 81,7°С.
- Прыгает?
- Нет.
- А у меня зараза еще сильнее скачет.

Очередной звонок.
- Как буферный термометр?
- 81,8°C.
- И че не прыгает?
- Нет, стоит как укопанный.

Обсуждение проблемы.
- Слушай а почему у меня мельтешат цифры?
- Может АД влияет?
- А почему на твой не влияет?
- Да похоже АД не при делах. Стоп я знаю в чем причина!
- Говори.
- У тебя градусник неисправен...
- Похоже, что ты прав.

Забегая вперед. Термометр исправен. Дело в разном "временном кванте" съема инфы.


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

01.7.2.png
01. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.


То же "под микроскопом".
02.7.2.png
02. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.


Резюме.
Оценить течение процесса (выборочно по нескольким точкам), затруднительно. Один будет видеть "укопанную" температуру, у второго градусник болеет паркинсоном.
А если бы в опыте поучаствовал и третий коллега, снимающий показания по "красному треугольнику" и "зеленому крестику", то в отчете отметил странное поведение буферного градусника.
- То укопанный, то косит под паркинсона.


Что, любопытно.
Если бы у двух соседей в буфере был еще один "темно зеленый" градусник, не в паровой зоне над огрызком как обычно, а чуть поосторонь,
03.7.4.png
03. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.

то коллега "красный крестик" был бы еще более шокирован его поведением.

Примечание:
• на диаграммах отображено начало погона НДРФ.
• куб вскипел;
• железо пол часа отработало "на себя";
• открылся синий клапан отбора голов Valve-G, идет капельный отбор голов из ДЕФа;
• голубая кривая ДЕФ-овской температуры предсказуемая. По мере отбора, легкокипящие фракции заменяются более "тугоплавкими";
• буферный клапан Valmve_B, сливающий флегму с буфера в куб открыт;
• через открытый клапан, флегма пытается покинуть буфер и вернутся в ...

Легенды на диаграммах:
tKube(°C) - температура кубовой жидкости;
tPB-Par°C - температура над буферным огрызком (датчик №1, штатное место для контроля буферной температуры);
tPB-Jid3°C  - датчик №4;
pb.png
Pb. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.

t750-2°C - температура на второй тарелке 750 колоны (стоит над буфером);
t375-2°C - температура на второй тарелке 350 колоны (стоит над 750);
datchiki_na_kolonah.7.png
Datchiki_na_kolonah. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.


tDef°C - температура в ДЕФе;
Valve_B - клапан для слива буферного содержимого;
Valve_G - клапан отбора голов.
Zapal Модератор Амурская область 6.5K 4.4K
Отв.1  31 Авг. 19, 04:49
В этой теме предлагаю коллегам высказать свое мнение по поднятому вопросу.Esc, 28 Авг. 19, 14:18
Как ветеран этого форума, который какой только херней не маялся - на этапе экспериментов и разработки оборудования,
скромно замечу.. (я буду постепенно наполнять тему - периодическими вставками, ибо тема реально - очень широкая).
И думаю, многим новичкам - будет весьма познавательна..  Расскажу про свои этапы дистанционного контроля - и свое мнение о них..

1. заразившись в 2010 году всеобщим психозом типа ТемпКипера, клапанами  и контролем за компом -
приобрел преобразователь интерфейса USB в RS-422/485 Moxa UPort 1130 ( у него оптическая развязка на 4,5 кВ вроде, не помню). стоил он тогда всего 4000рублей.. А также десяток датчиков DS1820, десяток LM35, и стакан различных терморезисторов, в том числе и несколько платиновых..  (повелся на форумные сопли - типа высокая точность и компьютер с диаграммами - это круто)..
сколько денег козе под хвост.. капец..
поясню.. опторазвязка нужна была по причине того - что тогда были говенные ТЭНы, которые лопались по вдоль как бананы.. И поймать на вход USB фазу - не очень хотелось.. 
я в то время имел самое общее представление о DS1820,и о ТемпКипере..  помогли коллеги - програмисты.. спаяли мне косу на 4 датчика, настроили прогу..
(колонна у меня всегда стояла в подвале, прямо под квартирой) длина проводов была всего метров 8..
Программулька мне писала логи в текстовый файл, и рисовала графики.. Мне больше ничего не нужно было - для полного счастья..
Хватило мне этого счастья - буквально на пару месяцев.. Ибо, имея неизменный объем куба, неизменную колонну и неизменные остальные параметры - я стал получать графики - одинаковые как под копирку..
Осмыслив ситуацию, я пришел к тем режимам работы - которые меня полностью устраивали..
1. вечером наливал куб, разогревал, на ночь - отбор голов.
2. Утром, - ставил отбор, рассчитанный по времени и крепости сырья.
3. На следущие сутки - менял тару, забирал свои 15 литров, остатки дожимал в отдельную посуду.
тогда еще не было автоматики нормальной - успел хвосты отсечь, хорошо. не успел - не беда последние пару литров - пускаем в следующий оборот..
И непрерывный контроль колонны - мне стал просто не нужен. если свет отключался - у меня просто отваливалось мощное реле с самоподпиткой, и все обесточивалось.. 

Вывод.. Измерительная техника с графиками - очень поможет новичку, делающими первые шаги - на новой колонне..
Который делает унитарные прогоны, каждый раз все одинаково, и без всяких экспериментов..
Но сильно дорогая система не нужна.. Хватит простейшего устройства типа MP707 - с двумя термодатчиками..
в кубе - контролировать остаток, и в 20 см - от низа, контроль хвостов.. Вполне достаточно.. 
Esc Профессор Москва 2.1K 2.1K
Отв.2  31 Авг. 19, 06:07
Измерительная техника с графиками - очень поможет новичку, делающими первые шагиZapal, 31 Авг. 19, 04:49
Да.
Но сильно дорогая система не нужна..Zapal, 31 Авг. 19, 04:49
Однозначно.

ИМХО, идеальный вариант, когда автоматика управляющая погоном умеет писать логи. Совсем шоколодно, когда и графики в реальном времени рисует. Но для анализа и последующей отладки процесса, вполне достаточно и логов.

Погон завершен. Открываем конспект написанный автоматикой, преобразуем длинный текст в наглядную графику. Смакуя продукт, ласкаем взор разноцветными кулебулами. Задумчиво чешем репу. Японский телевизор, вот же он ляп... Подмигивающий
gol_avto Доцент Москва-Серпухов-Анапа 1.4K 486
Отв.3  31 Авг. 19, 06:50, через 43 мин
Открываем конспект написанный автоматикой, преобразуем длинный текст в наглядную графику.Esc, 31 Авг. 19, 06:07
А вот здесь самое интересное. Не все (практически большинство, ИМХО) блестяще владеют инструментом (Excel) для построения графиков и имея "крутую" автоматику с логами, последние идут в корзину, а параметры, если что, пишутся на бумажку.
Вывод - нужен простой в употреблении инструментарий для построения графиков.
Zapal Модератор Амурская область 6.5K 4.4K
Отв.4  31 Авг. 19, 08:14
Цифровая техника - это прекрасно, когда вы рядом, и есть компьютер.  Давайте гипотетически представим ситуацию - когда до колонны (до гаража, в сельской местности) метров 50-100..  Давайте Интернет в сторону отодвинем, и подумаем о самых простых вариантах.. О терморезисторах..  На первый взгляд - это не очень удобно, измерять в килоомах- одиночный резистор.. Но это только так кажется..
например в точке контроля температуры, при отборе тела в 20 см от низа - мне не нужно контролировать всю шкалу от 0 до 100 градусов..  Мне достаточно знать значение сопротивления при 78 - 82 градуса. Начало и конец отбора.. условно..

Практический пример.. у меня на колонне в качестве одиночного датчика - стояли 4 терморезистора 8,2 кОм - при 20 градусах.  При прогретой колонне, при отборе голов - значение термодатчика были 16,5 кОм.  а при 100 градусах - 9,4 кОм. (разговоры про линейность опустим).  давайте оценим - чисто математически, сколько приходится кОм на 1 градус.
(нужного нам диапазона 78-100)..   Итого 100-78 = 22 градуса..    Сопротивление изменилось = 16,5-9,4 = 7,1 кОм..
или 7100 Ом.  получается грубо = 7100 / 22 градуса = 322 Ома. на 1 градус.. или 32,2 Ома - на 0,1 градуса.

переключаем цифровой мультиметр на шкалу 20 кОм и видим точность измерения 0.00   Два знака после запятой..
Т.е. в точке контроля - мы спомощью грошового мультиметра и термодатчика - вполне можем зафиксировать НАЧАЛО роста температуры. с точностью примерно0,05 градуса..  И можем бежать - менять посуду..
При таком способе - достаточно самого простого телефонного двухпроводного кабеля, 4 рубля за метр..
ЗЫ мой практический опыт говорит - что такая точность в реальности нам нахрен не нужна, и в сопли хватает точности в 1 градус.. (чем ниже расположен датчик - тем большую погрешность мы легко можем допустить) - не допустив при этом ухудшения качества продукта..  Высота колонны - простит нам нашу рукожопость..)).

Потом посчитаем - про мостовое соединение, и выходом по постоянному напряжению...  довольно интересные циферки..
Tomat7 Магистр Черноморская губинния 236 138
Отв.5  02 Сент. 19, 11:50
Графики очень полезны в случаях:
1)
Измерительная техника с графиками - очень поможет новичку, делающими первые шагиZapal, 31 Авг. 19, 04:49
2) всевозможные эксперименты с новым оборудованием и "игра" с алгоритмами.
3) для "разбора полетов" если случился косяк.

Сохраняю в БД все параметры/переменные, даже не значительные - как раз ради "разбора полетов". Любые графики из базы строятся в любое время за пару кликов.

Если же погоны однотипны и всё идет по плану, то Zapal очень метко написал - "графики - одинаковые как под копирку."
gol_avto Доцент Москва-Серпухов-Анапа 1.4K 486
Отв.6  02 Сент. 19, 12:03, через 13 мин
Графики из базы строятся в пару кликов.Tomat7, 02 Сент. 19, 11:50
Ну, ну. Кому как. Улыбающийся
OldBean Доцент Красноярск 1K 1.4K
Отв.7  08 Сент. 19, 04:12
График - это всего лишь элемент GUI. Не более и не менее. Нужны они или нет во время самого процесса - дело вкуса пользователя. Кому-то больше нравится поглядывать на кривые, кому-то - на колонки цифр, а кто-то вообще считает (в нарушение ТБ, по большому счету), что приглядывать за работой установки - смертный грех. Поэтому, ИМХО, дружественный софт автоматизации должен предоставлять пользователю право настройки GUI. Вплоть до самого аскетичного - единственной кнопки "Старт".

А вот запись максимально подробных логов, ИМХО, вещь необходимая. Компьютеру это совсем несложно делать. В каком-нибудь стандартном (лучше в текстовом) формате. На всякий случай. Как "черный ящик". Обычно эти данные кончают жизнь в корзине. Но, если "припрет", то программ для анализа, наших несложных трендов, в Сети прорва. Разных. Начиная от простого построения графиков для визуального анализа и кончая системами с применением искусственного интеллекта.
cont Студент Самара 30 11
Отв.8  19 Сент. 19, 08:31
А вот запись максимально подробных логов, ИМХО, вещь необходимая.OldBean, 08 Сент. 19, 04:12
Абсолютно согласен. А в дальнейшем из этих логов уже и строятся графики, причём красота и наглядность графика от автоматики и её стоимости абсолютно не зависят.
Обычно эти данные кончают жизнь в корзинеOldBean, 08 Сент. 19, 04:12
Чтобы этого не случилось, данные должны сразу залетать в какую нибудь БД а не хранится в виде отдельных текстовых файлов. Тогда человеческое участие в этом минимально а логи посмотреть, графики построить можно в любое время за любой период.
Мое личное мнение наиболее полно соответствует требованиям хранения логов и быстрой последующей выборке для анализа или построения графика, это InfluxDb
Abettor Научный сотрудник Екатеринбург 2.6K 2.5K
Отв.9  19 Сент. 19, 15:09
Не все (практически большинство, ИМХО) блестяще владеют инструментом (Excel) для построения графиков и имея "крутую" автоматику с логами, последние идут в корзину, а параметры, если что, пишутся на бумажку.
Вывод - нужен простой в употреблении инструментарий для построения графиков.gol_avto, 31 Авг. 19, 06:50
Excel не так уж плох. На Ютубе есть уроки на любую задачу. + запомнить несколько комбинаций "горячих клавиш", и обработка любых массивов не будет в тягость. Проблема где раздобыть приборы, которые удовлетворяли бы "требованиям заказчика". К примеру, ВМ1707 меня не устраивает потому, что датчики имеют повода, а мне нужен беспроводной прибор. Есть логгеры температуры в виде таблеток, но стоимость их просто выше всех разумных пределов. Те же проблемы с записью рН и пр.
cont Студент Самара 30 11
Отв.10  20 Сент. 19, 08:13
Abettor, Тут всё заключается в своих возможностях программирования. Связка Arduino+Esp стоит не больших денег, но даёт действительно величайшие возможности по автоматизации и организации логгирования. Абсолютно без проводов до сервера. Для передачи данных  на сервер лучше выбрать mqtt стандарт.
OldBean Доцент Красноярск 1K 1.4K
Отв.11  20 Сент. 19, 11:02
Связка Arduino+Esp стоит не больших денег, но даёт действительно величайшие возможности по автоматизации и организации логгирования.cont, 20 Сент. 19, 08:13
А стОит ли увлекаться сетевыми топологиями в ректификационной/дистилляционной автоматике? Здесь, кроме логгирования показаний датчиков, есть не менее важные задачи оперативного управления и защиты. Причем последними лучше вообще заниматься в realtime и на аппаратном уровне. Может что-нибудь попроще и "попрямее"? ;) "Звездочку" с одним мастером. Например, на старых-добрых nRF24L01?
cont Студент Самара 30 11
Отв.12  20 Сент. 19, 12:01, через 59 мин
А стОит ли увлекаться сетевыми топологиями в ректификационной/дистилляционной автоматике?OldBean, 20 Сент. 19, 11:02
Ну если заняться больше нечем, то однозначно не стоит. А если имеются другие дела во время длительной ректификации, то удалённый контроль просто необходим. Разумеется аварийный выключатель в виде живого человека в это время находится где то рядом. и тут уже вопрос логгирования и построения красивых графиков является бесплатной дополнительной опцией.
OldBean Доцент Красноярск 1K 1.4K
Отв.13  20 Сент. 19, 12:36, через 35 мин
удалённый контроль просто необходимcont, 20 Сент. 19, 12:01
Несомненно. Вопрос лишь в том, на каком уровне это делать. На уровне датчиков или выше. Впрочем, это уже скорее дело вкуса...
Abettor Научный сотрудник Екатеринбург 2.6K 2.5K
Отв.14  20 Сент. 19, 12:38, через 3 мин
А стОит ли увлекаться сетевыми топологиями в ректификационной/дистилляционной автоматике?OldBean, 20 Сент. 19, 11:02
Не могу не согласиться. Но кроме ректификации/дистилляции есть ещё задачи приготовления "правильной" браги. Вот тут то тоже автоматика не будет лишней.
Abettor, Тут всё заключается в своих возможностях программирования. Связка Arduino+Esp стоит не больших денег,cont, 20 Сент. 19, 08:13
Была у меня такая мысль. Посмотрел простейший пример программы для Arduino которая зажигает и гасит светодиод. Программный код всего в одной строке. Заинтересовался. Потом идёт поэтапное его усовершенствование, и получилась программа на 2-х листах! Сделал вывод, что мой поезд под управлением Arduino уже ушёл. В то же время существуют уже готовые решения, но их цена уж больно неадекватна.
Esc Профессор Москва 2.1K 2.1K
Отв.15  20 Сент. 19, 15:41
Excel не так уж плох.Abettor, 19 Сент. 19, 15:09
Несомненно.
Вот его фантазии на тему, как скучнейший цифровой лог
log.png
Log. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.

преобразовать во что то удобоваримое.
17-18.09.2019.png
17-18. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.


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

Оцифрованные точки, средневзвешенная суточная температурная дельта tDelta_Day(°C) и кривая Day(kWh) отображающая кВт*часы пожираемые котлом, наглядно кажут об аппетите последнего. Мол чем холоднее на улице тем выше дельта и прожорливее котелок.
mekkaod Научный сотрудник Одесса 3.4K 2.3K
Отв.16  20 Сент. 19, 15:58, через 18 мин
pk.jpg
Pk. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.

вот так выглядит форма написанная под ПК, которая ведёт логи и визуализирует "графики".
внизу слева - это "графики".
правда скрин со штатной работы, поэтому линии условно прямые.
И да одного взгляда порой достаточно, чтобы убедиться что всё в порядке, это помогает не включать весь мозг.
Esc Профессор Москва 2.1K 2.1K
Отв.17  20 Сент. 19, 16:39, через 42 мин
одного взгляда порой достаточно, чтобы убедиться что всё в порядкеmekkaod, 20 Сент. 19, 15:58
Бесспорно.
Ткнул пальцем в дисплей, он засветился.
avtomatika_01.png
Avtomatika_01. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.

Скользнул взглядом по цифрам,
avtomatika_02.png
Avtomatika_02. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.

задержал взор на графиках
avtomatika_03.png
Avtomatika_03. Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.

и понял, все в норме.
Температуры в помещениях паиньки (верхняя часть графика).
Красная кулебула на нижней части (некий профиль мощности) подскажет, что котелку 3кВт хватило за глаза...
OldBean Доцент Красноярск 1K 1.4K
Отв.18  20 Сент. 19, 17:39, через 60 мин
Сделал вывод, что мой поезд под управлением Arduino уже ушёл.Abettor, 20 Сент. 19, 12:38
Arduino - это низкоуровневое железо и не менее низкоуровневое программирование. Написать самостоятельно более-менее приличную программу управления ректификацией, и хоть с каким-нибудь UI - для непрограммиста очень нетривиальная задача. А, скорее всего, просто нереальная. Но если работать со скриптовыми языками "свехвысокого" уровня и на управляющих микрокомпьютерах с операционной системой, то можно резко снизить требования к уровню пользователя по части программирования.

Ну тогда тоже приведу немножко конкретики :)

В последнее время я экспериментировал со скриптовым языком Python и управляющим компьютером Raspberry Pi (ОС - Linux на базе Debian). Цель этих экспериментов - сделать что-то типа "универсального клиента" для ректификации/дистилляции/и.т.п, нечувствительного к конфигурации оборудования и решаемой задаче. Причем такой, который мог бы "настроить" непрограммист под свое "железо" и свою задачу. Наконец, что-то начало получаться... Ниже пример довольно компактного скрипта, для автоматической генерации клиентской программы с GUI, выполняющей полный цикл ректификации спирта-сырца:

Скрытый текст
'''Шаблон GUI и пользовательский скрипт для простой ректификации спирта-сырца.
Регулировка скорости отбора - простой старт-стоп с гистерезисом +- 1 квант
датчика DS18B20'''

'''-----------------------------------------------------------------------------
Описание элементов GUI и их расположения
-----------------------------------------------------------------------------'''
'''Группа радиокнопок для индикации и 'ручного' выбора режима работы'''
gui['mode'] = Radio('Режимы работы:') # Группа радиокнопок - выбор режима
gui[0] = Mode('Мониторинг', w0 = 0.0, q0 = 0.0)
gui[1] = Mode('Разгон', w0 = 2000.0, q0 = 0.0)
gui[2] = Mode('Холостой ход', w0 = 600.0, q0 = 0.0)
gui[3] = Mode('Головы', w0 = 600.0, q0 = 50.0)
gui[4] = Mode('Подголовники', w0 = 600.0, q0 = 400.0)
gui[5] = Mode('Тело', w0 = 600.0, q0 = 400.0, ss = 1)
gui[6] = Mode('Хвосты', w0 = 600.0, q0 = 400.0)
Separ() # Разделитель инструментальной панели
'''Группа информационных виджетов для вывода общего времени процесса и времени
выполнения текущего режима'''
Label('Длительность:') # Метка группы
gui['time'] = Time('Общая', color = 'dark green')
gui['mtime'] = Time('Режима', color = 'dark green')
Separ() # Разделитель инструментальной панели
'''Группа информационных виджетов для вывода значений датчиков температуры'''
Label('Температуры,°C:')
gui [ 'T0'] = Info('Куб', format = '%.3f', color = 'blue')
gui['T1' ] = Info('Колонна', format = '%.3f', color = 'red')
gui['T2'] = Info('Дефлегматор', format = '%.3f', color = 'dark green')
gui['T3'] = Info('ТСА', format = '%.3f', color = 'dark cyan')
gui['T4'] = Info('Вода охлажд.', format = '%.3f', color = 'dark magenta')
Separ() # Разделитель инструментальной панели
'''Группа информационных виджетов для вывода значений датчиков давления'''
Label('Давление,мм.рт.ст.:')
gui['P0'] = Info('Атмосфера', format = '%.1f')
gui['P1'] = Info('Куб', format = '%.1f')
Separ() # Разделитель # инструментальной панели
'''Группа информационных виджетов, связанных с нагревом'''
Label('Нагрев:')
gui['U0'] = Info('Сеть (RMS),В', format = '%.1f')
gui['w0'] = Info('ТЭН (0),Вт', format = '%.0f')
Separ() # Разделитель инструментальной панели
'''Группа информационных виджетов, связанных с отбором'''
Label('Отбор:')
gui['q0'] = Info('Скорость(0),мл/час', format = '%.1f')
gui['Q0'] = Info('Расход  (0),мл', format = '%.1f')
gui['ss'] = Contr('Старт/стоп')
gui['Tset'] = SGVar('Уставка', ref = 'T1')
Separ() # Разделитель инструментальной панели
'''Группа виджетов, связанных с контролем аварийных ситуаций'''
Label('Контроль:')
gui['tsa'] = Contr('Температура ТСА')
gui['water'] = Contr('Температура воды', value = 1)

'''Пользовательские константы'''
Trcr = 65.0 # Т-ра перехода с режима разгона в режим холостого хода
Ttcr = 50.0 # Критическая температура в ТСА
Twcr = 40.0 # Критическая температура воды охлаждения
Tdcr = 78.5 # Температура дефлегматора для окончания отбора хвостов

'''Пользовательские функции'''
def fss(): # Простейший старт-стоп. Гистерезис - 2 кванта DS18B20 (0.0625C)
 '''Если отбор ведется и т-ра превысила уставку, то выключим отбор'''
 if q0 > 0.0 and T1 >= Tset + 0.0625: q0 = 0.0
 '''Если отбор выключен и т-ра опустилась ниже уставки, то включим отбор'''
 if q0 == 0.0 and T1 <= Tset - 0.0625: q0 = 400.0
'''-----------------------------------------------------------------------------
Общие условия, не зависящие от режима работы установки
-----------------------------------------------------------------------------'''
if tsa != 0: # Контроль температуры ТСА включен
 if T3 > Ttcr: # Темпреатура в ТСА превысила критическое значение
   mode = 0
if water != 0: # Контроль температуры воды включен
 if T4 > Twcr: # Недостаточное охлаждение дефлегматора
   mode = 0
'''-----------------------------------------------------------------------------
Условия, зависящие от режимов работы установки
-----------------------------------------------------------------------------'''
if mode == 1: # Разгон
 if T1 > Trcr: # Превысили порог разгона - переходим на холостой ход
   mode = 2
elif mode == 2: # Холостой ход; автоматического выхода из этого режима нет
 pass
elif mode == 3: # Головы; скорость отбора - 50 мл/час
 if Q0 > 200.0: # Переход в режим холостого хода после отбора 200 мл
   mode = 2
elif mode == 4: # Подголовники (оборотный спирт); скорость отбора 400 мл/час
 if ss != 0: fss() # Если включен режим старт-стопа - используем его
 if Q0 > 1000.0: # После отбора 1000 мл подголовников - переход на х/ход
   mode = 2
elif mode == 5: # Тело (основная фракция); скорость отбора 400 мл/час
 if ss != 0: fss() # Если включен режим старт-стопа - используем его
 '''Автоматического выхода из режима отбора тела пока не делаем'''
elif mode == 6: # Исправимые хвосты (оборотный спирт)
 if T2 > Tdcr: # Выход на х/ход, если т-ра в дефлегматоре превысит порог
   mode = 2
'''--------------------------------------------------------------------------'''

И это действительно все, что пользователю нужно написать! Сравните сложность этого кода с любым кодом автоматизации, аналогичным по функционалу, но написанном для Arduino на C++. Ну даже пусть с самым убогим пользовательским интерфейсом. В любом случае, сравнение будет далеко не в пользу последнего. С учетом того, что существенная часть текста скрипта - это просто комментарии.

При этом:
1) Мы имеем приложение со вполне приличным графическим пользовательским интерфейсом (см. скриншот во вложении). Примечание: графики выглядят немного необычно, т.к. на них (просто для иллюстрации) представлен "разгон" барды, которая осталась в кубе после предыдущей ректификации. Во время самой ректификации скриншоты я сделать не удосужился, но на втором скриншоте - графики этой самой ректификации, построенные в LibreCalc (бесплатный аналог Excel) по сохраненным в БД Redis логам. Ну как пример пользы логов и обычных программ, позволяющих легко строить графики. И еще маленькое примечание: правая панель клиента (где графики) пока генерируется не совсем автоматически (понятно, как это делать, но просто руки не дошли). Поэтому в приведенном скрипте соответствующих графических команд еще нет.
2) Все компоненты совершенно бесплатны и с открытыми исходниками.
3) Имена переменных (кроме пользовательских) генерируются автоматически, исходя из конфигурации оборудования, подключенного к управляющему микрокомпьютеру. Анализ конфигурации, естественно, тоже автоматический. Таким образом, пользователь в своем скрипте определяет только семантику переменных для GUI и саму логику управления процессом. Т.е., что, например, T2 - это температура в дефлегматоре, w0 - это мощность нагрева ТЭНа, а q0 - скорость отбора первого (точнее - нулевого) устройства отбора и т.д. Если пользователь подключит к системе, например, еще один датчик давления, или еще одной устройство отбора, то у него автоматически появится переменная (физическая величина) Pi, где i - следующий свободный индекс в группе датчиков давления или пара переменных qj и Qj, означающие скорость отбора и расход дополнительного устройства отбора. Пользователю же останется лишь включить эти переменные в список элементов GUI и в описание логики использования этих физических величин во второй части скрипта.
4. Сгенерированное приложение (клиент) может быть запущено либо на этом же управляющем микрокомпьютере, либо на любом компьютере в Сети, поддерживающем протокол SSH. При этом не требуется постоянного подключения клиента к управляющему компьютеру (серверу в данном случае), т.к. вся логика управления, "сгенерированная" клиентом загружается на сервер (управляющий микрокомпьютер) и выполняется там. Т.е. клиента можно запускать эпизодически при необходимости что-нибудь проконтролировать или поуправлять.

Это я все к тому, что логи - вещь полезная, а высокоуровневые скриптовые языки в сочетании с управляющим компьютером, работающим под управлением нормально операционной системой - это как раз то, что позволяет делать сложные вещи простыми методами :)
screenshot_01.png
screenshot_01.png Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.
screenshot_02.png
screenshot_02.png Автоматика "рисующая" графики. Это маркетинг, или полезная нам функция? Автоматика.