Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

Ненавязчивая автоматизация ректификационной установки

Форум самогонщиков Автоматика
1 ... 94 95 96 97 98 99 100 ... 132 97
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.1920  04 Апр. 20, 21:40
Давно "отмечался"я тут...
Появились некоторые мысли по конструктиву концепции.
Нет проработки у нас узла управления ТЭНов в режиме разгона. Есть сомнения в надежности коммутации.

К сути. В кубе 3-х фазный ТЭН. Одна фаза примем за рабочий ТЭН, которого регулировку делаем методом Брезенхема. Два других (в параллель) на разгон. Их запитываем через триак, используя стандартный силовой модуль без всяких "методов" управления. Дискретно, с контролем через 0, как обычный контактор, врубили, и пускай "жарят", пока не разгонимся.
Одно но. На триаках хорошее падение напряжения (не менее 1 В), мощность рассеивания прилична. Без радиатора долго не продюжат. И даже с радиатором... А оно нам надо? Лишний нагрев радиатора, потери и т.д. и т.п.
Примем за основу, что мы будем рассеиваем тепло радиатором только от триака на рабочий ТЭН, который управляется по методу Брезенхема.
А как же с коммутацией "разгонных" ТЭНов? Попробовать использовать обычный контактор? Вполне, особенно рассматривая удобный модульный на 1 DIN. Контакторы не грееются, и ими может управлять силовой модуль со слабым триаком. Одно смущает, не очень долго они коммутируют хорошую нагрузку. Подгорают силовые контакты от переходных процессов коммутации, а то и вообще могут "прикипеть". А тут для нас караул...
Думаю наш коллектив будет возражать и утверждать что это может быть только на индуктивной нагрузке.
Но я всех попробую убедить. Повтыкайте вилку чайника на 2 кВт в розетку. Искрит? Увы, да. ТЭНы тоже имеют индуктивность (нет под рукой F-метра)...
Не буду тянуть кота за причиндалы.
Первое включение делаем триаком. Когда ток поднялся до нужно уровня, и все переходные процессы завершены, замыкаем через 100* мс (*к примеру) триак силовыми контактами контактора и "гасим" на нем падение напряжения на триаке, и он (триак) будет холодный, как окружающая среда.
Выключаемся наоборот, сначала отрубаем контактор, а через 100* мс, закрываем и триак...
Все чудесно! И триак не греется, и переходный процессы не гробят силовые контакты контактора и триак не будет грется!
Одно но... Этот принцип к рабочему ТЭНУ не применим. Сильно часто контактор будет цокать от нашего Брезенхема...

Очень долго искал в инете, когда-то читанную, но не сохраненную ссылку. Нашел!!! Не та конкретно, то смысл тот же:
http://ldsound.ru/...-rele-pravilno/

Так же хочу поделиться по поводу 3Q триаков.
http://www.compitech.ru/html.cgi/arhiv/02_07/stat_28.htm
Утверждает, что можно убрать снабберные цепи, если применять трехквадрантные триаки.

Я прикинул что может получиться, не трогая программную часть:
Razgon.jpg
Razgon. Ненавязчивая автоматизация ректификационной установки. Автоматика.

.
Хочется услышать мнения коллег. Я уже печатку доработал, стандартную, 100х50.
OldBean Доцент Красноярск 1K 1.4K
Отв.1921  05 Апр. 20, 07:23
2makh
Оценка спиртуозности по температуре кипения и давлению довольно чувствительна к точности их измерения. Но, повышение точности измерения только одного из них (а давление в кубе все-таки сильно шумит) может не привести к успеху. Может быть имеет смысл использовать здесь какой-нибудь прямой метод измерения спиртуозности в кубе? Диэлькометрия, например, или еще что-нибудь.

Мои проблемы попроще. У нас с чистым и стабильным сырьем - как-то не очень. В результате дистилляты выливаются в слишком "высокое" искусство, требующее полной самоотдачи :) Поэтому самый стабильный и нехлопотный процесс это: сахарная бражка -> СС безо всякого фракционирования -> максимально чистый, двойной СР2 -> сортировка. Тут все четко автоматизируется вполне приемлемыми средствами. А все вкусности и полезности - уже в рамках чисто "аддитивных" процессов: настойки, экстракты... Да еще в последнее время разные (как бы "натуральные") эссенции в продаже появились. Большинство - мерзость полная, но некоторые, для дежурных напитков "на скорую руку", вполне съедобны...

Но я всех попробую убедить. Повтыкайте вилку чайника на 2 кВт в розетку. Искрит? Увы, да. ТЭНы тоже имеют индуктивность (нет под рукой F-метра)...BogAD, 04 Апр. 20, 21:40
Чайник искрит совсем не потому, что нагреватель обладает большой индуктивностью, а потому что скорость "ручного" замыкания контакта такова, что при прохождении последней сотни микрон (до четкого механического контакта) мы обязательно попадем на пик сетевого напряжения, которое уже будет превышать напряжение пробоя воздуха. А в результате пробоя как раз и возникнет искра.

В этом легко убедиться, сделав небольшую оценку. Пусть контакт замыкается со скоростью 10 мм/сек (довольно быстро). Электрическая прочность сухого воздуха (в идеальном случае - при полированных электродах) около 3 кВ/мм. Пиковое напряжение сети 220В - около 315В. Т.е. зазор 0.1 мм уже пробивается при таком напряжении. Последние 0.1 мм контакт проходит за время 0.1/10 = 0.01сек. Т.е. "недоконтакт" обязательно поймает пик сетевого напряжения и возникнет искра. И чем меньше сопротивление спирали чайника, тем искра будет жирнее.

Ну а сама идея ставить симистор параллельно сильноточным контактам для их шунтирования в моменты переключений контактора - вполне здравая. Наверное, такой модуль кому-нибудь может пригодиться. Только нужны ли мосфеты между моськами и МК? Выходы этого МК вполне сами потянут такие нагрузки.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.1922  05 Апр. 20, 11:33
Только нужны ли мосфеты между моськами и МК? Выходы этого МК вполне сами потянут такие нагрузки.OldBean, 05 Апр. 20, 07:23
Да, Сергей. Уже мыслил по этому поводу.
Ток катушки у модульного контактора около 30мА во включенном состоянии (удержание), при включении 300мА.
Это судя по мощностям катушки контакторов шнайдреа и иека: удержание 7Вт, включения 60-70Вт.
Есть даже обсуждение этого на стороннем форуме
https://www.cyberforum.ru/power-supply/thread2095460.html

Я не против. Только вместо МОС поставить IL4108. Иначе, МОСька без запаса по мощности.
Номинальный ток у IL4108 300мА, в пике 3А. У МОСьки 50мА и 1А, соответственно...

Добавлено через 28мин.:

Подкорректировал схему.
Razgon.jpg
Razgon. Ненавязчивая автоматизация ректификационной установки. Автоматика.
митрик Доцент Томск 1.8K 514
Отв.1923  05 Апр. 20, 14:50
Ну а сама идея ставить симистор параллельно сильноточным контактам для их шунтирования в моменты переключений контактора - вполне здравая.OldBean, 05 Апр. 20, 07:23
Такое техническое решение применяется в силовой электронике .
По поводу точного термометра , хотелось бы узнать у специалистов , чем можно заменить dsку в ардуине , чтобы точность была 0.1*С , в исполнении простое и не стОило как крыло от самолёта ?
OldBean Доцент Красноярск 1K 1.4K
Отв.1924  05 Апр. 20, 14:58, через 8 мин
Если хватит точности +-0.2°C, то просто откалибруйте DS-ку.
ekochnev Магистр Екатеринбург 207 54
Отв.1925  05 Апр. 20, 19:51
Позволил себе внести несколько изменений в файлы Сергея (из версии 3.0.2).
Изменения коснулись двух файлов: conv.py и lsync.py.

Изменения в conv.py:
1. Добавил универсальные геттер и сеттер vget и vset, позволяющие из скрипта обращаться к устройствам по имени, так как это сделано в api:

 myvar = vget('T0')
 vset('r0', 1)

2. Добавил функцию, позволяющую проверить наличие устройства

 # Проверка наличия контактора r0
 relay_enabled = is_key_exist('r0')


Изменения в lsync.py касаются обработки нажатий клавиш:
1. Нажатие "c" обрабатывается только если было открыто окно информации об устройствах (по клавише "h")
2. Нажатия 'q","h" и "u" теперь обрабатываются только в режиме мониторинга. Имхо в других режимах они не нужны
3. Убрал обработку нажатия "r". Когда сброс будет нормально реализован ее можно будет вернуть. Пока же ее нажатие приводило лишь к глухому зависанию программы.
4. Реакция на нажатие цифровых кнопок 0-9 осталась неизменной. Работают всегда... НО...!!!!
5. ...Добавил возможность перекрывать стандартный обработчик кнопок. Если в функции uicallback пользовательского скрипта после обработки нажатия какой-либо кнопки поставить строчку return True, то стандартный обработчик работать не будет. Допустим, Вам не нравится существующая возможность выбора любого режима в любой момент времени. Тогда просто добавьте в свой скрипт следующий код:

# Пользовательская callback-функция
def uicallback(ch):
 if (mode != 0) and (ch > 0x30) and (ch < 0x30 + len(modes)): return True

После этого из рабочих режимов будет невозможно вручную выбрать никакой другой режим кроме Мониторинга.

Добавлено через 26мин.:

P.S. Еще вопросик к Сергею: раз уж мы пришли к консольному приложению работающему на curses, то может стоит для построения пользовательского интерфейса использовать и какую-нибудь библиотеку заточеную под него? Например, urwid http://urwid.org/index.html. Она имеется в стандартных пакетах малинки. Тогда не пришлось бы во многих местах изобретать велосипед, да и внешнему виду консольного приложения это пошло бы на пользу....
sig Кандидат наук Ростов-на-Дону 304 139
Отв.1926  05 Апр. 20, 23:25
Добавил универсальные геттер и сеттер vget и vset, позволяющие из скрипта обращаться к устройствам по имениekochnev, 05 Апр. 20, 19:51
Интересно, но хорошо бы добавить пример пользовательского скрипта с использованием новых функций
ekochnev Магистр Екатеринбург 207 54
Отв.1927  06 Апр. 20, 05:05
Интересно, но хорошо бы добавить пример пользовательского скрипта с использованием новых функцийsig, 05 Апр. 20, 23:25
Я не понял суть замечания.. А выше чем пример не устраивает?
myvar = vget('T0')
vset('r0', 1)
митрик Доцент Томск 1.8K 514
Отв.1928  06 Апр. 20, 06:27
OldBean, где подробнее можно почитать про калибровку dsок ?
OldBean Доцент Красноярск 1K 1.4K
Отв.1929  06 Апр. 20, 07:52
Позволил себе внести несколько изменений в файлыekochnev, 05 Апр. 20, 19:51
Зря... У Вас другие цели и задачи. Поэтому вмешательства в lsync.py будут похожи на, как говорил Жванецкий, "подгонку фигуры под костюм". Интерфейсы через редиску или lite.py (через автоматически сгенерированные объекты) дают полную свободу разработчику. Поэтому модифицировать синхронизатор (с точки зрения его функциональности) не имеет смысла. Конечно, Вы можете делать с ним что хотите, но я не могу обещать, что буду учитывать все изменения. Особенно, если они связаны с изменением функциональности синхронизатора, а не с исправлением ошибок или улучшением качества кода.

Давайте я еще раз расскажу что, как и для чего запланировано в этой версии (0.3.x.x) варианта LITE. Может быть Вы учтете эту логику в своей работе.

Моя задача (точнее - задача редиски и синхронизатора) - максимально упростить пользовательский интерфейс для пользователей-непрограммистов. Поэтому никаких функций типа ui, uicallback и uihelp в пользовательских скриптах быть не должно. Они сложные, неочевидные и небезопасные. То, что они сейчас там есть - это просто остатки слегка расширенных отладочных вариантов скриптов. Они не предназначены для конечного пользователя. Я эти скрипты выкладывал просто для примера. Поэтому отработка клавиш q, r, h никак не должна быть связана ни с ui, ни с uicallback, ни с uihelp или какими-нибудь другими пользовательскими функциями. Так же, как и отработка цифровых клавиш. Они - тоже чисто отладочная примочка.

Другими словами: работа пользователя в консоли синхронизатора не предусмотрена. Клиентское приложение должно крутиться в своем процессе, в своей консоли, если приложение консольное, и работать с железом только через БД redis. А UI в консоли синхронизатора - это только для аварийных ситуаций и отладочных работ. Его "членораздельное" развитие и сопровождение не планировалось и не планируется.

Система может работать вообще безо всякого пользовательского скрипта, загружаемого в синхронизатор. В этом случае питоновское клиентское приложение (отдельный процесс) модифицирует поля в БД, используя модуль api.py или непосредственно средствами redis-py. Клиентское приложение может быть написано и не питоне. В этом случае оно должно использовать API самой редиски. Для соответствующего языка.

Для упрощения (можно сказать - "утоньшения" :) клиентского приложения предусмотрены загружаемые пользовательские скрипты, написанные на небольшом подмножестве языка Python. Такая работа особенно удобна для удаленной работы и/или нестабильном соединении с малинкой. В этом случае задача простейшего клиентского приложения заключается в:
1) конвертировании пользовательского скрипта при помощи утилиты conv.py,
2) компиляции пользовательского скрипта в байт-код,
3) загрузке байт-кода в поле uscript БД,
4) установке поля usinit БД в "неноль" и,
5) через некоторое время, установка поля mode в БД в значение, соответствующее, начальному (ненулевому) режиму работы установки.
Далее весь процесс будет происходить автоматически. Если, конечно, в каждом режиме пользовательского скрипта будут предусмотрены автоматическое его окончание и переход в следующий режим. После этого, можно рвать соединение, закрывать клиента или использовать его просто для контроля параметров. Пример загрузки пользовательского скрипта можно посмотреть в файле lsync.py функция loadUSF(). Ее можно использовать в клиенте с минимальными изменениями.

Пользовательский скрипт должен содержать последовательно следующие секции:
1. Список режимов (выражения Mode(...))
2. Список определений пользовательских переменных (имя = ...)
3. Список определений пользовательских функций (def имя(...))
4. Список безусловных и условных выражений для переключения режимов и обработке аварийных ситуаций (if ...).

Да и еще, в результате наших недавний обсуждений, было решено добавить список алиасов в начало скрипта. Так что теперь появится и 0-я секция - словарь алиасов.

Понятно, что, при таком подходе, UI клиентского приложения полностью отдан на откуп пользователю. Это может быть GUI, TUI или вообще какой-нибудь черт лысый... Никаких ограничений.

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

Кроме того, для пользователей-программистов, представляющих организацию железа, существует и непосредственный режим работы с железом при помощи экземпляров классов-оберток всех инсталлированных в крейт и хабы устройств. Объекты генерируются автоматически при импорте модуля lite.py. Редиска и синхронизатор в этом режиме работы не нужны. После импорта lite.py в пространстве имен приложения доступен словарь сгенерированных объектов с именем obj. Этот словарь выводится на консоль при импорте. Ключ (hard-ключ) устройства в этом словаре представляет собой строку и выглядит так: addr_ch_fc, где addr - шестнадцатеричный адрес устройства на шине i2c, ch - номер канала (актуален для датчиков в хабах, а если каналов нет, то ставится затычка - 8) и fc - шестнадцатеричный код типа устройства. Понятно, что после импорта lite.py работать с железом можно как в ручном режиме, так и в автоматическом. Работать просто. Например, вот такой умозрительный фрагмент:
from lite import *
...
мой_ТЭН = obj['13_8_A3'] # Имена на unicode в старших релизах питона вполне допустимы
хаб = obj['15_8_A5']
T_в_царге = obj[15_2_28] # Датчик DS18B20 подключен ко второму каналу хаба
...
мой_ТЭН.on() # Включили нагрев на максимум
...
хаб.conv(); хаб.update()
if T_в_царге > 65.0:
мой_ТЭН.val = 600.0 # Перешли на рабочую мощность
...
мой_ТЭН.off() # Выключили нагрев и ушли
...

Как видим, в таком режиме тоже несложно работать. Но, наверное, таки не для непрограммистов. Понятно, что, на базе импортированных классов пользователь может создавать свои классы и объекты, используя весь арсенал питоновских механизмов наследования классов и перегрузки методов. Ну и ественно, что при таком подходе, тоже нет никаких ограничений на UI.
OldBean Доцент Красноярск 1K 1.4K
Отв.1930  06 Апр. 20, 08:06, через 14 мин
где подробнее можно почитать про калибровку dsок ?митрик, 06 Апр. 20, 06:27
Даже затрудняюсь что-то конкретное посоветовать.
В общем-то это несложная процедура. Нужен эталонный термометр или набор лабораторных ("растянутых") термометров. Стакан с водой (или маслом) на плитке. Желательно с мешалкой. Совсем хорошо, если с теплоизоляцией. Гильзу с датчиком располагаем в стакане как можно ближе к образцовому термометру. Греем потихоньку. С паузами. Снимаем отсчеты с DS-ки и термометра. Строим табличку. Если таблица достаточно подробная, то в программе можно использовать ее непосредственно. А можно построить аппроксимирующую функцию методом НМК и использовать ее. Квадратичная поправка - должна быть неплохим приближением.

Другой, существенно более сложный, но не требующий образцовых термометров, метод - использовать наборы жидкостей кипящих при разных температурах в нужном температурном диапазоне.
ekochnev Магистр Екатеринбург 207 54
Отв.1931  06 Апр. 20, 10:01
Сергей, что-то я совсем перестаю понимать...

Сначала вы вводите в api функции vget, vset и говорите, что нужно работать через них... Потом говорите что через api некошерно и что разработали более легкий вариант со скриптами, но при этом в скриптах "забываете" добавить доступ к функциям api и когда я их добавил чтобы работать аналогично как с api, то оказывается это неправильно. Когда презентовали скрипты, то представляли три функции ui, uicallback и uihelp как обязательные для построения пользовательского интерфейса, сейчас говорите что этих функций там быть вообще не должно. Сначала сами ушли от режима когда синхронизатор и приложение работают в разных сессиях, презентовав нам синхронизатор с интерфейсом и скриптами, сейчас говорите что так тоже быть не должно. Я не успеваю за ходом Ваших мыслей. Сначала Вы презентуете нам очередной незавершенный вариант софта, а к тому времени когда мы начинаем переделывать свои решения на предмет использования этого софта, то оказывается что так делать неправильно...

Честно говоря, я думал что такая ситуация уже не повторится. Это как у меня с версией 0.2 было, когда устав от незаконченности здесь, просто написал полностью свой вариант api и софта и работал только с ними. По-честному сейчас попытался работать с версией 0.3, но похоже все идет к тому же как с 0.2, придется просто работать на своем... Жаль, а ведь хотел по-честному помочь сделать лучше, ну как минимум помочь людям со скриптами... Так уже хочется получить законченную (хоть в каком-то виде) систему, которую я просто могу дать другу без необходимости изучения им питона, малинки, системного администрирования, сетевых протоколов и прочих технических премудростей. Которую он просто сможет соединить со своим оборудованием, включить и получить результат.
OldBean Доцент Красноярск 1K 1.4K
Отв.1932  06 Апр. 20, 11:51
Честно говоря, я уже столько раз пожалел, что выкладывал незаконченные и отладочные варианты разрабатываемой системы, что впредь, однозначно, такого делать не буду. Думал - ну может интересно кому будет, что-нибудь такое, концептуальное можно было бы пообсуждать. А это воспринималось как некий программный продукт со всеми вытекающими последствиями. Видимо, не надо так делать.

Теперь по сути. Никто никого ни в чем не ограничивает. Я просто уже действительно устал говорить, что на данный момент есть несколько совершенно различных вариантов работы с системой. Одни варианты уже устоялись, а в других - еще даже сам концепт "плывет". В одном варианте удобно использовать этот злостчастный модуль api.py (кстати, тоже вспомогательный, и разработанный исключительно для отладки синхронизатора) с функциями vget и т.п. А в другом варианте api.py - как "корове седло". И неудобно, и совершенно выпадает из концепта и логики. Но Вы почему-то совершенно не берете это в расчет.

Это хобби, а не заказная разработка. А хобби, все-таки, должно приносить удовольствие. Поэтому ограничивать себя на концептуальном уровне мне совсем не хочется. Думаю разумно будет поступить так: зафиксировать те вещи, которые уже более-менее "устаканились", а в остальных будем придерживаться полной свободы и независимости. "Зафиксировать" - это значит, что я их буду сопровождать (исправлять ошибки, улучшать, не изменяя интерфейсов и попытаюсь более качественно продокументировать). Буду признателен за замечания и предложения в этих вещах.

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

Все что делалось позже (для облегчения жизни непрограммистов): редиска, синхронизатор, клиенты, работающие через редиску и т.д.. Это "хозяйство" отпускаем "в свободное плавание". Кому интересно - может делать с этой надстройкой все, что считает нужным. Безо всяких ограничений. Единственная просьба - публиковать готовые варианты. И промежуточные. Если сочтете нужным. Интересно же... :) Свой вариант "неустаканенного" я конечно продолжу разрабатывать и, естественно, выложу. Но - после того, как концепция полностью устаканится и софт будет отлажен хотя бы до альфа-версии.

Мне кажется это - вполне честное и демократичное решение. Более того, оно вполне отвечает Ваши желаниям, изложенным выше. Что Вы думаете по этому поводу?
Mikrocod Студент Челябинск 43 5
Отв.1933  06 Апр. 20, 15:05
На 5 странице ссылка http://itman.in/ssh-screen/ не работает ☹
ekochnev Магистр Екатеринбург 207 54
Отв.1934  06 Апр. 20, 15:29, через 25 мин
Mikrocod, вместо screen установите tmux, он отлично работает, хотя в моем понимании и со screen проблем быть не должно. Но tmux мне лично больше нравится.

P.S. на 5-й странице такую ссылку не нашел, а та что у Вас в сообщении прекрасно открывается.
sig Кандидат наук Ростов-на-Дону 304 139
Отв.1935  06 Апр. 20, 16:10, через 42 мин
Я не понял суть замечания.. А выше чем пример не устраивает?
myvar = vget('T0')
vset('r0', 1)ekochnev, 06 Апр. 20, 05:05
Непонятен следующий момент: myvar = vget('T0') один раз (в секции инициализации) и далее везде используем myvar, или на каждом проходе тела скрипта? Поэтому и просил полный текст хотя бы одного скрипта.
Если изменяем conv.py - то что мешает объявить @property myvar и полностью скрыть от пользователя механизм чтения-записи myvar (через vget-vset или rdb.get-rdb.set)?
А с vset('r0', 1) опять вернулись к непонятным пользователю нумерованым переменным.
ekochnev Магистр Екатеринбург 207 54
Отв.1936  06 Апр. 20, 16:28, через 18 мин
один раз (в секции инициализации) и далее везде используем myvar, или на каждом проходе тела скрипта?sig, 06 Апр. 20, 16:10
Ну это наверное только Вы сможете решить, т.к. это будет Ваша логика работы скрипта. Если у Вас значение не меняется, то можно и один только раз вначале получить. А если в каждом цикле возможно новое значение, то считайте каждый раз...

Поэтому и просил полный текст хотя бы одного скрипта.sig, 06 Апр. 20, 16:10
Прочитайте хотя бы последних три-четыре странички, там и текст скрипта я приводил и обсуждение почему было.

что мешает объявить @property myvarsig, 06 Апр. 20, 16:10
Все обсуждалось выше. Потому такие свойства уже там объявлены. И с ними можно работать обращаясь к ним как к полям w0=5, myvar=w0 И т.п.
А вот если у вас нет такого поля, а есть только строковое его имя, то приходилось городить в скрипте многоэтажные конструкции типа:

      if rdb.type('q0') == b'list':
        return float(rdb.lindex('q0', -1))
      else:
        return float(rdb.get('q0'))

и

      if rdb.type('q0') == b'list':
        rdb.rpush('must', 'q0')
        rdb.rpush('must', val)
      else:
        rdb.set('q0', val)

Сейчас вместо этого зоопарка можно делать просто:
vget('q0')
и
vset('q0', val)

Все это видно в сгенерированных c помощью conv.py файлах uscr.py. Сравните сформированый старым конвертером и новым.
sig Кандидат наук Ростов-на-Дону 304 139
Отв.1937  06 Апр. 20, 16:35, через 8 мин
Другими словами: работа пользователя в консоли синхронизатора не предусмотрена. Клиентское приложение должно крутиться в своем процессе, в своей консоли, если приложение консольное, и работать с железом только через БД redis. А UI в консоли синхронизатора - это только для аварийных ситуаций и отладочных работ. Его "членораздельное" развитие и сопровождение не планировалось и не планируется.OldBean, 06 Апр. 20, 07:52
Основная проблема именно в отсутствии клиента! Хочется использовать автоматику сейчас - а нечем. Может стоит разбить lsync на собственно синхронизатор и консольный клиент? Мне кажется, что именно здесь произошел отход от исходной концепции! И сразу появятся 2 версии консольного клиента от OldBean и от ekochnev ? И они не будут мешать друг-другу.
Mikrocod Студент Челябинск 43 5
Отв.1938  06 Апр. 20, 16:41, через 6 мин
Не открывается ссылка не с телефона не с компа
ekochnev Магистр Екатеринбург 207 54
Отв.1939  06 Апр. 20, 17:05, через 25 мин
Mikrocod, решайте с провайдером.
У меня на компе через местного провайдера прекрасно открывается, на телефоне через локальный вайфай через него же тоже. А вот на телефоне через мобильную передачу данных (оператор МТС) не открывается. Значит это он блокирует.