OldBean, спасибо, я понял ход ваших мыслей.
Два соображения на этот счет. Оба ИМХО, естественно.
1. По названию темы.
Автоматизация ректификационной установки в сознании читающего эти слова звучит так
а) есть оборудование для ректификации
б) есть алгоритм ректификации, который изучен "ручками", но вот этими самыми ручками надоело делать
поэтому
в) мы придумали электронику, которая заменяет оператора, освобождает человека от ручного труда
То бишь она реализует штатный алгоритм и контролирует нештатные (читай - аварийные) ситуации, купируя их последствия.
Поэтому название ветки, существующее сегодня, вводит читателей (и меня в том числе) и гол_авто, как видите, в заблуждение. Советую его изменить на любое отражающее суть; к примеру
Программно-аппаратный комплекс для исследования процессов в тепломассообменных аппаратах
2. Со времен Креля (подозреваю, что даже ранее) все велосипеды уже изобретены.
Это не отменяет того факта, что хобби у человека может быть любым, самым экзотическим.
Однако исследование работы бытовой насадочной колонны может доставлять удовольствие лишь самим процессом, но никак не результатом.
Повторюсь, это - мое личное мнение.
Ненавязчивая автоматизация ректификационной установки
игорь223
Академик
таганрог
30.2K 20.6K
Отв.740 19 Сент. 17, 10:33
ZagAl
Доцент
Прибалтика
1.9K 916
Отв.741 19 Сент. 17, 11:30, через 57 мин
1. По названию темы.игорь223, в названии темы вы упустили слово "ненавязчивая". То есть никому, ничего не навязывается, не обещается и не гарантируется. Идёт исследовательский процесс с одновременным развитием автоматики. Интересен сам процесс. Кому это нравится, тот активно участвует, а кто хочет готовый результат, пусть наберется терпения или поищет его в другой теме.
Автоматизация ректификационной установки...игорь223, 19 Сент. 17, 10:33
сообщение удалено
OldBean
Доцент
Красноярск
1K 1.4K
Отв.742 19 Сент. 17, 15:59
Если рессетнуть малинку и сменить последовательность команд, то... nna_36 работает нормально (фиг.1), а contr.py по прежнему нет. Видимо самостоятельно программа contr.py работать не умеет.gol_avto, 19 Сент. 17, 08:58gol_avto, самое смешное, что после reset-а (фиг.1) я вижу совершенно нормальную работу. Как скрипта nna_36.py, так и модуля contr.py. Дело в том, что при тестировании модуля contr иллюстрируется работа контроллера ТЭНа в двух ситуациях: с датчиком RMS (на прилагаемом рисунке обведено красным) и без датчика RMS 0обведено синим). Ну Вы хотя бы из любопытства заглянули бы в конец модуля contr (где описано тестирование модуля). Там же почти каждая строчка кода прокомментирована!
По поводу остальных картинок - вижу, что датчик RMS говорит об отсутствии напряжения в сети. Но ничего определенного сказать не могу так как не ясна предыстория этих измерений. Если хотите разобраться - давате повторим тесты и постарайтесь зафиксировать при какой ситуации возникают сбои.
И следующий вопрос. Хочу реализовать систему с тремя клапанами, для раздельного отбора фракций. 2 модуля уже реализовано, жду детальки на 3-йgol_avto, 19 Сент. 17, 08:58Делается это так.
1. Каждому контроллеру клапана отбора нужно присвоить уникальный адрес на шине I2C. Адрес указывается в скетче, которыми прошиваются соответствующие ардуинки контроллеров. Пусть, для конкретики, это будут адреса: 0x06, 0x07 и 0x08.
2. Производится калибровка каждого клапана и вычисление соответствующих коэффициентов coef1, coef2 и coef3. Эти коэффициенты нужны для правильной установки скорости отбора в реальных единицах (мл/час).
2.1. Калибровка: определяется расход каждого датчика (уже с жиклером) в полностью открытом состоянии (ШИМ - 100%). На спирту. В месте его установки (или - с эквивалентной высотой столба спирта). В мл/час. Пусть эти значения будут Qmax1, Qmax2 и Qmax3.
2.2. Коэффициенты вычисляются по формуле: coef1 = Qmax1/100 и так далее для остальных клапанов.
3. Далее, в скрипте автоматизации, создается три объекта класса SD (контроллер клапана отбора). Это делается следующим образом:
sd1 = SD(addr = 0x06, coef = coef1)
sd2 = SD(addr = 0x07, coef = coef2)
sd3 = SD(addr = 0x08, coef = coef3)
sd2.Q = 310
sd2.Q = 0
gol_avto, я помогу Вам (по мере сил) написать необходимые скрипты. Но (!) при одном условии: Вы предварительно выучите питон. Хотя бы основы. Очень хороших и популярных книжек - тьма. А иначе все бесполезно - будут сплошные мучения и все Ваши замечательные задумки по автоматизации действительно никогда не смогут реализоваться :(
1. По названию темы.Мне кажется, что у Вас слишком утилитарное представление об автоматизации. Это хорошо видно по фразам "...есть алгоритм ректификации, который изучен "ручками"..." и/или "...она реализует штатный алгоритм...".
Автоматизация ректификационной установки в сознании читающего эти слова звучит так
а) есть оборудование для ректификации
б) есть алгоритм ректификации, который изучен "ручками", но вот этими самыми ручками надоело делать
поэтому
в) мы придумали электронику, которая заменяет оператора, освобождает человека от ручного труда
То бишь она реализует штатный алгоритм иигорь223, 19 Сент. 17, 10:33
А как же быть с научным приборостроением и автоматизацией эксперимента? Или тоже сначала "ручками" по "штатному алгоритму"? :)
Про Креля и велосипеды. Тут мне трудно что-то возразить конкретное, поскольку Вы говорите "в общем", а я специально в свое время проводил анализ литературы по компьютерному моделированию насадочных колонн.
ZagAl
Доцент
Прибалтика
1.9K 916
Отв.743 19 Сент. 17, 16:40, через 41 мин
3. Далее, в скрипте автоматизации, создается три объекта класса SD (контроллер клапана отбора). Это делается следующим образом:OldBean, тогда в contr.py строки в разделе class SD(object): должны выглядеть так?
sd1 = SD(addr = 0x06, coef = coef1)
sd2 = SD(addr = 0x07, coef = coef2)
sd3 = SD(addr = 0x08, coef = coef3)OldBean, 19 Сент. 17, 15:59
def __new__(cls, addr, coef, bus=smbus.SMBus(1)):
def __init__(self, addr, coef, bus=smbus.SMBus(1)):
OldBean
Доцент
Красноярск
1K 1.4K
Отв.744 19 Сент. 17, 17:02, через 23 мин
Не обязательно. Если в функции (в данном случае - в конструкторе) параметрам присваиваются какие-то значения, то это - значения по умолчанию. Их можно не указывать при вызове функции (если, естественно, значения по умолчанию устраивают). Но если при вызове указываются какие-то другие значения этих параметров, то они заменяют значения по умолчанию. Ежели при объявлении функции параметру значения по умолчанию вообще не присвоены, то, при вызове функции, этим параметрам обязательно должны быть присвоены значения. Т.е. в Вашем варианте конструктора параметры addr и coef нужно будет задавать всегда.
игорь223
Академик
таганрог
30.2K 20.6K
Отв.745 19 Сент. 17, 17:21, через 19 мин
Мне кажется, что у Вас слишком утилитарное представление об автоматизацииOldBean, 19 Сент. 17, 15:59Cтопроцентно верно, именно так)))
А как же быть с научным приборостроением и автоматизацией эксперимента?OldBean, 19 Сент. 17, 15:59Вы говорите про ОКР или про НИОКР?
Или тоже сначала "ручками" по "штатному алгоритму"? OldBean, 19 Сент. 17, 15:59Именно так.
СНАЧАЛА придумывается (если придумывается) какой либо алгоритм работы оборудования.
ПОТОМ он реализуется программно и аппаратно, тестируется.
При этом пишутся логи те параметров, которые интересуют экспериментатора. Которые им и интерпретируются в дальнейшем.
Вы говорите "в общем", а я специально в свое время проводил анализ литературы по компьютерному моделированию насадочных колонн.OldBean, 19 Сент. 17, 15:59Каким образом компьютерное моделирование колонны относится к данному програмно-аппаратному комплексу?
Вы не обижайтесь, я не пытаюсь "подколоть вас", мне действительно интересна ваша позиция. Поскольку работа проделана очень недетская, что уже само по себе вызывает уважение. Но смысл этой работы, если она делается не ради работы, а ради результата, от меня ускользает.
Результат должен быть прикладным?
Или нет?
А если да - то при чем здесь компьютерное моделирование?
И зачем иметь отдельный от компьютера инструмент, в таком случае, для проверки этой самой модели на реальной колонне?
И кстати да, основной вопрос, в связи с вышеизложенным: модель колонны виртуальная - есть?
OldBean
Доцент
Красноярск
1K 1.4K
Отв.746 19 Сент. 17, 19:19
Вы говорите про ОКР или про НИОКР?игорь223, 19 Сент. 17, 17:21Нет. Если пользоваться этими категориями, то это - только НИР. Причем, выполняемые в виде просто хобби. По жизни я работаю совсем в других областях физ-химии.
Именно так.Возможно у нас с Вами совершенно разный прикладной опыт в этой области. Мне обычно приходилось иметь дело с системами почти "разовыми". Которые часто достаточно радикально трансформировались после первых же результатов, адаптируясь под эволюционирующую задачу. Не всегда можно все заранее предусмотреть и алгоритмизировать. Хорошо, когда речь идет просто о сборе, накоплении и обработке сравнительно однородных данных. Тогда - да. Но мне обычно скучно не бывает. Поэтому у меня в хозяйстве все в виде "контрукторов LEGO", из которых можно быстро "лепить" все, что нужно. Это касается и железа, и софта. Поэтому в этом вопросе мы вряд ли придем к единой методике.
СНАЧАЛА придумывается (если придумывается) какой либо алгоритм работы оборудования.
ПОТОМ он реализуется программно и аппаратно, тестируется.
При этом пишутся логи те параметров, которые интересуют экспериментатора. Которые им и интерпретируются в дальнейшем.игорь223, 19 Сент. 17, 17:21
Каким образом компьютерное моделирование колонны относится к данному програмно-аппаратному комплексу?игорь223, 19 Сент. 17, 17:21Так я же уже говорил - построить фазовое пространство этой динамической системы и посмотреть есть ли там какие-нибудь интересные особенности. Как с практической, так и с теоретической точек зрения. И, главное - где они? Если есть. После этого можно попытаться нащупать их в реальном процессе.
Т.е. сначала - численные эксперименты, а потом - натурные. Т.е. модель нужна не только для того, чтобы убедиться, что наши представления о системе правильные (это естественно). А для того, чтобы изучать поведение системы в численных экспериментах. Там, где реальные эксперименты провести сложно/невозможно/дорого или еще что-нибудь. Как эвристический инструмент. В наше время - это достаточно эффективный (и модный) подход к природе :)
И кстати да, основной вопрос, в связи с вышеизложенным: модель колонны виртуальная - есть?игорь223, 19 Сент. 17, 17:21Увы. В виде кода - пока нет. Хобби - все-таки вещь неторопливая. Весь процесс можно "смаковать". Никакие "концы года" и прочие вехи не давят. Поэтому пока погряз в железе. Вот сделаю вариант LITE, тогда сразу же - к модели колонны.
игорь223
Академик
таганрог
30.2K 20.6K
Отв.747 19 Сент. 17, 20:30
OldBean, спасибо за развернутый ответ.
Завидую я вам, честно..белой завистью, конечно же.))) несмотря на то, что телегу вы запрягаете поперед лошади, я понимаю отчего так, и очень, очень-буду-рад, если ваши задумки сбудутся.
Удачи...и выстраивайте этапы "от печки", если это возможно, коллега!!
Завидую я вам, честно..белой завистью, конечно же.))) несмотря на то, что телегу вы запрягаете поперед лошади, я понимаю отчего так, и очень, очень-буду-рад, если ваши задумки сбудутся.
Удачи...и выстраивайте этапы "от печки", если это возможно, коллега!!
OldBean
Доцент
Красноярск
1K 1.4K
Отв.748 20 Сент. 17, 02:44
И Вам - больше творчества и удачи в делах!
U-M
Магистр
MSK
210 39
Отв.749 04 Окт. 17, 23:00
Отчет в двух словах - наконец=то дособрал "на картонке" систему, со скриптом nna_36 все работает.
Добавлено через 13дн. 16ч. 36мин.:
Есть вопрос по работе автоматики - заметил что некоторые датчики DS показывают 1 знак после запятой, некоторые 2 и 3 знака.
Где-то читал, что китайцы шлют иногда "битые" датчики, которые не могут после снятия питания запомнить с какой разрядностью они должны выдавать температуру.
Насколько важно, сколько знаков после запятой отдает DS и может поправить инициализацию датчиков, чтобы принудительно переключать при каждом запуске скрипта на нужную разрядность?
Добавлено через 13дн. 16ч. 36мин.:
Есть вопрос по работе автоматики - заметил что некоторые датчики DS показывают 1 знак после запятой, некоторые 2 и 3 знака.
Где-то читал, что китайцы шлют иногда "битые" датчики, которые не могут после снятия питания запомнить с какой разрядностью они должны выдавать температуру.
Насколько важно, сколько знаков после запятой отдает DS и может поправить инициализацию датчиков, чтобы принудительно переключать при каждом запуске скрипта на нужную разрядность?
JackB
Специалист
Kazan
101 44
Отв.750 23 Окт. 17, 16:01
Написан и отлажен скетч температурного сервера на 4 датчика для модуля ардуинки BogAD (сообщение 626) только с 3-х разрядным индикатором.
gol_avto
Доцент
Москва - Серпухов - Анапа
1.3K 458
Отв.751 23 Окт. 17, 16:58, через 57 мин
А как на 3-х разрядном индикаторе можно понять с какого датчика индицируются показания, если после точки 1 разряд?
JackB
Специалист
Kazan
101 44
Отв.752 24 Окт. 17, 09:14
gol_avto, на схеме в 626 сообщении написано: 1. короткое нажатие кнопки - переход к мониторингу следующего датчика.
2. Удержание кнопки - показ номера текущего датчика
2. Удержание кнопки - показ номера текущего датчика
gol_avto
Доцент
Москва - Серпухов - Анапа
1.3K 458
Отв.753 24 Окт. 17, 19:17
А скрипт надо править, чтобы программа поняла, что теперь темп. читать по I2C? Уж извиняйте я слаб, точнее 0 в Python.
U-M
Магистр
MSK
210 39
Отв.754 24 Окт. 17, 19:26, через 9 мин
Ага, надоть править.
BogAD
Кандидат наук
Красногорск - Белово
403 184
Отв.755 05 Нояб. 17, 13:03
Написан и отлажен скетч температурного сервера на 4 датчика для модуля ардуинки BogAD (сообщение 626) только с 3-х разрядным индикатором.JackB, 23 Окт. 17, 16:01
Класс!
То что надо. Есть повод серым веществом пошевелить.
Подскажи, JackB, может на аналоговый порт А3 (пин 17) посадить пятую DS-ку? Что-то задумался, и... крайне захотелось под ТСА заложить датчик. А если использовать 4-х разрядный индикатор, то только порт А3 остался.
ps Пробую под 5 датчиков и 4-х разрядный индикатор подработать твой скотч, на сколько ума хватит.
Добавлено через 6ч. 56мин.:
По А3 вопрос стал не актуален.
Для 5 датчиков DS определил все цифровые пины.
U-M
Магистр
MSK
210 39
Отв.756 07 Нояб. 17, 13:35
Есть один вопрос по скрипту nna:
Переменная Qmax = 900 # Максимальная скорость отбора (для регулятора)
- ее значение это пропускная способность клапана в узле отбора или это некая максимальная величина колонны, при которой колонна может выполнять свою функцию?
Переменная Qmax = 900 # Максимальная скорость отбора (для регулятора)
- ее значение это пропускная способность клапана в узле отбора или это некая максимальная величина колонны, при которой колонна может выполнять свою функцию?
BogAD
Кандидат наук
Красногорск - Белово
403 184
Отв.757 07 Нояб. 17, 15:32
Не буду сильно утверждать, но на сколько понял, это максимальная пропускная способность калиброванной шайбы в клапане. Связка "узел отбора - клапан" должна иметь постоянную размерность, иначе этот параметр будет плавать.
JackB
Специалист
Kazan
101 44
Отв.758 07 Нояб. 17, 16:46
BogAD, а зачем нужен четырёхразрядный индикатор? Чтобы видеть на платке сотые градуса? Мне достаточно трёх разрядов на показометре. Тогда пины Д9 и Д10 свободны для датчиков. Хотя можно и А3 сконфигурировать, как цифровой.
gol_avto
Доцент
Москва - Серпухов - Анапа
1.3K 458
Отв.759 07 Нояб. 17, 17:04, через 18 мин
Переменная Qmax = 900 # Максимальная скорость отбора (для регулятора)U-M, 07 Нояб. 17, 13:35Да, это относится к клапану. У меня при диаметре отв.в шайбе 0,6 мм пропускная способность клапана получилась 1260 мл/час.
P.S. Никто не планирует сделать узел отбора с 3-я клапанами (для 3-х фракций), чтобы посуду не менять? Железо (модули отбора с разными адресами) я себе уже сделал, а вот скрипт править - не судьба.