Нейтрализация · 6717

воркер: ? цикл · фаза pH C R · pH_R лицензия… адрес… связь… задатчик… потенциостат… железо…

Вольтамперная кривая (живая)

Y:
Фаза 1 — синяя (−1000→+1500), фаза 2 — оранжевая (обратный ход). Серым — предыдущий полный цикл. Обновление: раз в 2 с (CSV пишется в конце каждой фазы).
Масштаб: колесо мыши — приблизить/отдалить (с Shift — только по горизонтали, с Ctrl — только по вертикали), перетаскивание — сдвинуть, двойной щелчок — вернуть всё.

Ход во времени

величина: окно:
До 5 минут — детальная запись развёртки (шаг 0,1 с), точки накапливаются, пока открыта страница. 15 минут и час — история с модуля (results_current.csv, точка на цикл ~13 с): она пишется постоянно и видна сразу при открытии страницы, даже после перезагрузки. В истории показаны средние по фазам: синяя — фаза 1, оранжевая — фаза 2. Серая линия — заданный потенциал (правая шкала, мВ), цветная — выбранная величина (левая шкала); цвет показывает фазу. Масштабируется так же, как график выше (колесо, Shift/Ctrl, перетаскивание, двойной щелчок).

События воркера (event-лог v42)

загрузка…

Суточный тренд

Источник: results_current.csv — одна точка на цикл (~12 с). Каждая кривая — отдельная полоса со своей реальной шкалой (pH в единицах pH, токи в В, C в процентах шкалы); в углу полосы — текущее значение. Обновление раз в 15 с.

Карта поляризации — два цикла подряд

читаю профиль… цикл: шагов: снимок через: после начала паузы
Ступени — развёртка, ровные площадки — паузы. Зелёная метка — момент снимка: именно эти значения идут в расчёт pH и в зеркало SCADA. Красная штриховка — фаза с риском, наведите на неё курсор. Вертикальная черта посередине — стык циклов: серия идёт по кругу без остановки, и последняя фаза перетекает в первую.

Что не так с заданием

Проверки идут по правилам, снятым опытом на этом приборе (29.08.2026), а не взятым из мануала. Прибор те же условия проверяет сам и пишет в журнал — здесь они видны заранее, до запуска серии.

Фазы по времени

фазапотенциалшаговпериодвыдержка длитсяпаузаснимокзамечания

Произвольное чтение (0–19999)

адрес кол-во
Mapping сервера: регистры 0–19999. Любой адрес читается здесь; именованные блоки — в таблице ниже.

Карта регистров (:1502)

РегистрИмяТипЗначениеЗаписать
Запись уходит POST'ом в modbus.cgi → сервер :1502 → файл уставок (двусторонняя синхронизация). Воркер перечитывает параметры в конце каждого цикла.

Команды воркера (регистр 132)

СТОП останавливает протокол (процесс жив, ждёт СТАРТ). РЕСТАРТ перечитывает параметры и начинает серию заново. Отклик ≤ 0.5 с (interruptible_sleep v40).

Профиль поляризации

старт, мВконец, мВшаг, мВпериод, мсsettle, мспауза, мс
фаз активно: repeats (0 = бесконечно):
Все 5 фаз протокола (регистры 66–131, FLOAT). Пустые поля не записываются — можно менять точечно. В серых подсказках — текущие значения с сервера. Применится со следующего цикла. Диапазон AO: ±5000 мВ.

Как прибор понял задание (v45.23)

нет данных
Прибор молча правит негодные уставки: нулевой шаг меняет на 100 мВ, разворачивает знак шага, обрезает потенциал по ±5000 мВ, поднимает период. Раньше эти правки уходили в служебный вывод, которого никто не читает — человек задавал одно, прибор делал другое.
Здесь видно, как задание понято на самом деле: сколько шагов вышло и сколько времени займёт цикл. Ошибка в одну цифру превращает 17 шагов в 5001, и заметить это иначе можно только по секундомеру. Каждая правка названа вслух, с указанием фазы.

Цепь ячейки: идёт ли ток (v45.22)

нет данных
Баланс проверяет ИЗМЕРИТЕЛЬНЫЕ провода, а ток идёт по отдельной, силовой цепи — и рвётся она чаще: электроды вынимают, чистят, ставят обратно. При её обрыве измерительные каналы целы и согласованы, баланс не заметит ничего.
Признак прямой: задали потенциал, а тока нет. Второй признак усиливает диагноз — при разрыве потенциостат выкручивает выходное напряжение в предел, пытаясь продавить ток. Выход упёрся, а тока нет — это разрыв, а не бедная химия.
Порог тока технологический: в разных растворах ток разный, задаётся уставкой cell_i_min. Ноль выключает проверку.

Баланс трёх каналов: проводка (v45.21)

нет данных
Проверка идёт САМА, всё время работы, и эквивалент ей не нужен. Три канала меряют участки одной цепи, поэтому связаны жёстко: выходное напряжение = потенциал поляризации − Redox 1. Так велит закон Кирхгофа, и это верно при любой химии, любой концентрации и любом токе — зависит только от того, целы ли провода.
Разошлись — значит врёт один из трёх каналов. Прибор называет виновника: кто молчит при живых соседях, тот и оборван. Если баланс не сходится, но сходится с обратным знаком — электрод сравнения подключён наоборот (частая ошибка монтажа).
Форму связи прибор берёт из эталона самопроверки — он снят на исправной схеме и несёт полярность.
Замечания НЕ останавливают измерения. Если на схеме электрод сравнения №1 не заведён на AI2, выключите проверку уставкой bal_max=0.

Проверка с эквивалентом (пусконаладка)

эквивалент № нет данных
Служебные операции с эталоном
Эталон снят на заводе, на заведомо исправном стенде с эталонным эквивалентом, и едет в комплекте поставки. Им прибор и проверяют. Обучать прибор на объекте не нужно — иначе нормой станет та схема, что собрана, вместе с ошибками монтажа, и прибор будет уверенно подтверждать неисправность как норму.

«Снять эталон заново» нужен только если схему изменили намеренно: другой эквивалент, другая раскладка каналов, замена ПИ-1. Кнопка спрашивает номер эквивалента ещё раз — случайно не нажмётся.
«Вернуть заводской» откатывает эталон к тому, что пришёл с прибором.
Порядок проверки и схема подключения
1. Отключите электроды, подключите эквивалент к разъёму XS3 потенциостата ПИ-1:
контакт сигнал куда на эквиваленте
XS3.2 и XS3.3РЭ изм / РЭ сил рабочий электрод — конец 500 Ом
XS3.1ЭС1 сравнения — середина, между 500 и 1000 Ом
XS3.4ВЭ вспомогательный — конец 1000 Ом, общий 0 В
Внутри эквивалента: 500 Ом между рабочим и сравнения, 1000 Ом между сравнения и вспомогательным, всего 1500 Ом. Ток не потребляет только электрод сравнения — он висит на входе усилителя, весь ток идёт по цепи рабочий → сравнения → вспомогательный.

2. Укажите номер эквивалента в поле выше. Он попадёт в протокол, а если эталон снят другим экземпляром — прибор предупредит, что часть расхождения от этого.

3. Нажмите «Проверить каналы». Прибор задаст пять площадок (−500, 0, +500, +1000, +1500 мВ), снимет все восемь каналов и сравнит наклоны с эталоном. Около 10 секунд, развёртку не рвёт.

4. Прочитайте вердикт. «ГОДЕН» — можно ставить электроды. Иначе прибор назовёт, что именно не так, вплоть до конкретной пары перепутанных проводов.

Что должно получиться (сырые вольты, задание Vзад): потенциал AI3 = Vзад, Redox AI2 = −2·Vзад, выходное AI6 = 3·Vзад. Множители −2 и 3 — это отношения резисторов 1000/500 и 1500/500, а не подгонка. Ток на AI1 = Vзад·(R19+Rток)/500.

Эталон снимается один раз на заведомо исправной схеме и хранится в отдельном файле, который сервер уставок не трогает. Пересняться нужно, только если схему изменили намеренно.

Проверка обязательна отдельным пунктом пуска. Фоновые проверки (баланс трёх каналов, разрыв цепи) ошибку подключения эквивалента НЕ ВИДЯТ и видеть не могут: измерительные цепи прибора при перестановке проводов не меняются, тождество Кирхгофа сходится, ток идёт. Проверено на приборе 24.08.2026 на всех трёх парных перестановках.

⚠ На живой ячейке проверка бессмысленна: электрохимия не даёт линейной зависимости. Замечания НЕ останавливают измерения — решение за наладчиком.
Протокол всех проверок: /home/root/selftest_protocol.txt

АЦП: планировщик каналов (v46.5)

режим: каналы развёртки:
ВКЛ: на развёртке сканер опрашивает только каналы из маски, остальные замирают. Плотность кривой растёт: 15 мс на канал вместо полных 96 мс на круг. В паузе маска расширяется до всех восьми, и замершие каналы оживают к снимку — на исправном модуле это проверено (31.08.2026: маска 0x1E, снимки всех фаз верны). ⚠ Если каналы вне маски держат значения чужой фазы или Redox скачет между фазами — это ПРЕДВЕСТНИК отказа модуля: ровно так вёл себя сопроцессор 30.08.2026 за сутки до гибели (увеличение выдержки не помогало), диагноз тогда спутали с ошибкой прошивки. Видите такое — сверяйте снимки фаз и готовьте замену. Вывод: в снимке достоверны только каналы из маски развёртки. При маске 0xFF всё верно во всех фазах, длительность цикла не меняется. Сужать маску можно, лишь если каналы вне неё не участвуют в расчётах — а сейчас участвуют почти все: ток AI1, электроды сравнения AI2 и AI4, потенциалы AI3 и AI7, баланс AI2, AI3, AI6. Электроды сравнения прибор добавляет в маску сам (v46.5), что бы ни стояло в файле. ВЫКЛ: все 8 каналов опрашиваются всегда, ток обновляется раз в 96 мс. Применяется со следующего цикла. Ключ ai_dynamic живёт в файле параметров МИМО сервера уставок: ⚠ «Записать профиль» и любая запись регистров пересохраняют файл, и режим СБРАСЫВАЕТСЯ в ВЫКЛ — сначала запишите профиль, потом включайте планировщик (индикатор покажет сброс сам).

Активация ключом ЭКОР

состояние: ключ: осталось активаций: отпечаток модуля: лицензия-файл (license.key):
Ключ нужен ОДИН раз: вставьте его в USB-порт прибора, введите PIN и нажмите кнопку. После этого ключ можно вынуть — прибор работает сам, всегда. ⚠ Три неверных ввода PIN подряд блокируют ключ, разблокировка только через ЭКОР.

Доступ по проводу RS-485 (Modbus RTU)

адрес на шине: скорость: чётность: биты:
Прибор отвечает по клеммам DATA+ / DATA− той же картой регистров, что и по сети — для работы без сети (переходник USB-RS485 + ноутбук). На флешке комплекта лежит Наладочный_пульт.html: откройте его в Chrome/Edge, подключите переходник — уставки, профиль, команды и живые значения по проводу. Настройки интерфейса — регистры 500–508 (вкладка «Регистры»); прибор применяет их сразу.

Система

mode_select (520): время модуля: uptime:
⚠ mode_select ≠ 0 поднимет pi_bench-воркер через watchdog — не включать, пока работает adam_step (двойное управление 6224). Переключение систем — по регламенту соседства.

Сеть прибора

читаю настройки…
eth0 — сеть АСУТП: по нему работают эта страница, Modbus TCP (1502) и SSH. eth1 — отдельная сеть к задатчику ADAM-6224; второй адрес на ней нужен, чтобы прибор находил задатчик и на заводском 10.0.0.1, без фирменной утилиты.
Почему тут откат. Меняя адрес, легко отрезать себя от прибора: ошибся подсетью — и он пропал из сети, а вернуть можно только монитором с клавиатурой. Поэтому новые настройки применяются на время: прибор ждёт, пока связь подтвердится по новому адресу, и если подтверждения нет — сам возвращает прежние. Подтверждение засчитывается только тогда, когда запрос физически дошёл, то есть связь доказана делом, а не нажатием кнопки.
Страница делает это сама: после применения ждёт, пока прибор отзовётся по новому адресу, подтверждает и перебрасывает вас туда. Если не отзовётся — просто дождитесь возврата.
Интерфейс поднимается 3–10 с, всё это время связи нет — так и должно быть.
Настройки переживают перезагрузку: они ложатся в /etc/network/interfaces.d/, откуда прибор берёт их при старте. Журнал смен — /home/root/net_change.log.

Наладка с телефона

смотрю, что подключено…
На этажерке у наладчика нет ноутбука, зато есть телефон. Прибор открывается с телефона — дашборд тот же, что на компьютере. Путей три, и они не равноценны: первый работает с любым телефоном и ничего не требует знать заранее, третий годится только тому, кто может узнать адрес другим способом.
1. По Wi-Fi — основной путь.
1. Воткните Wi-Fi-адаптер в плоский USB-разъём прибора — тот, куда вставляется флешка.
2. На телефоне найдите сеть NEYTR-…, пароль ekor2026.
3. Откройте в браузере 192.168.4.1 — адрес всегда один и тот же.

Почему этот путь основной: адрес задаёт сам прибор, а не телефон. Его можно запомнить раз и навсегда и написать на наклейке у разъёма. Работает с любым телефоном, планшетом и ноутбуком — ничего узнавать и настраивать не нужно.
Сеть живёт ровно столько, сколько адаптер воткнут: наладчик приносит свисток, настраивает прибор и забирает свисток с собой. Пока его нет, сети не существует.
Годится адаптер на чипе RT5370 — только под него в приборе есть драйвер и прошивка. Адаптеры на RTL8188, MT7601 и подобных прибор не увидит вовсе.
2. По проводу Ethernet — в сервисный разъём.
1. Подключите к телефону USB-Ethernet-адаптер (переходник на разъём RJ45).
2. Воткните кабель в свободный сетевой разъём прибора. Второй разъём занят кабелем к задатчику 6224 — его не трогайте, это управление выходами.
3. В настройках проводной сети телефона задайте адрес вручную:
    адрес 192.168.0.50, маска 255.255.255.0.
    Шлюз и DNS оставьте пустыми — они не нужны.
4. Откройте 192.168.0.111 — адрес прибора, он постоянный и не меняется.

Адрес задаётся вручную намеренно, это не недоделка. Прибор мог бы выдавать адрес сам, но тогда он раздавал бы адреса и всем остальным в заводской сети, куда его случайно могут включить тем же разъёмом. Раздача у прибора намеренно заперта на Wi-Fi и USB, где он заведомо один. Настройка на телефоне делается один раз и подходит ко всем приборам сразу — адрес 192.168.0.111 у них одинаковый.
В штатной схеме сервисный разъём свободен: панель оператора подключена по RS-485, а Ethernet оставлен под наладку. Тогда кабель втыкается прямо в прибор и никого не тревожит.
Но сперва посмотрите, не занят ли он. Если этим разъёмом прибор включён в сеть АСУТП, выдёргивать кабель нельзя — оборвётся связь с системой управления. В таком случае втыкайтесь в свободный порт ближайшего коммутатора той же сети: прибор останется на связи, а телефон окажется с ним в одной сети. Второй разъём не трогайте никогда — на нём висит задатчик 6224, то есть управление выходами.
Путь хорош тем, что адрес прибора известен заранее и не зависит от радиопомех.
Проверено опытом 29.08.2026, обоими способами. Через роутер, когда телефон и прибор в общей сети, и кабелем напрямую телефон — прибор, без роутера посередине. В прямом соединении за три минуты прошло 11 тысяч принятых и 21 тысяча отправленных пакетов: дашборд работал в полную силу. Кросс-кабель не нужен — разъёмы сами разбираются с распиновкой, линк поднимается за три секунды после перетыкания.
Взамен нужен сам переходник — работать с проводной сетью умеет не всякий телефон, новый аппарат лучше проверить до выезда.
3. Через «USB-модем» телефона — запасной путь, с оговоркой.
1. Воткните обычный зарядный шнур телефона в плоский USB-разъём прибора.
2. На телефоне: «Настройки → Подключения → Мобильная точка доступа и модем» → включите USB-модем.
3. Узнайте адрес, который телефон выдал прибору, и откройте его в браузере.

Оговорка, из-за которой путь запасной. Подсеть здесь задаёт телефон, и она разная у разных аппаратов, а у одного и того же меняется после его перезагрузки — проверено: было 10.231.225.x, стало 10.42.131.x. Прибор берёт себе адрес с постоянным последним числом 222, но начало адреса каждый раз своё, а штатные настройки Android адрес USB-модема не показывают. Без стороннего приложения наладчику этот адрес взять негде. Поэтому путь годится тому, кто видит адрес прибора другим способом — например, глядя сюда, на эту карточку, с другого устройства.
Если пункт «USB-модем» на телефоне серый и не нажимается — шнур воткнут не в тот разъём: телефон сейчас сам считает себя главным. Переткните в плоский USB-A. А если прибор перезагрузили при подключённом шнуре, телефон сам выходит из режима модема — включите его заново, прибор подхватит за секунду.
Любой из путей ничего не ломает: сеть АСУТП, связь с задатчиком и опрос панели идут своим чередом, трафик прибора наружу в телефон не уходит.

Связь по проводу RS-485

адрес на шине скорость чётность бит данных стоп-бит
Это параметры, с которыми прибор отвечает по проводу DATA+/DATA− — панели оператора, АСУТП или наладочному пульту через переходник USB-RS485. К этой странице и к Modbus TCP они отношения не имеют: те работают по сети.
Зачем откат. Если наладчик работает только по проводу, ошибка в скорости или адресе отрезает его от прибора так же, как неверный IP отрезал бы от сети. Поэтому параметры применяются на время: прибор ждёт, пока связь подтвердится, и если подтверждения нет — возвращает прежние сам.
Подтверждение — делом, а не кнопкой: засчитывается приход любого исправного запроса по проводу уже с новыми параметрами. Опросил прибор пультом — тем самым и подтвердил. Кнопка «связь есть» нужна на случай, когда параметры меняют заранее, а пульт подключат позже.
Снимите галочку, если меняете параметры впрок и подтверждать сейчас нечем — тогда они применятся сразу и навсегда.

Качество связи по проводу

читаю счётчики…
На объекте связь редко пропадает разом — она сначала портится. Обрыв виден и без приборов, а вот медленную деградацию заметить нечем: пока повторы вытягивают обмен, снаружи всё выглядит здоровым, и только потом данные начинают пропадать.
Битые кадры — запрос пришёл, но не разобрался: помеха испортила байты или CRC. Ошибки кадра считает само железо UART, когда искажены сами биты. Ноль там и там — линия здорова. Рост с нуля до единиц в час — сигнал посмотреть терминаторы 120 Ом на обоих концах, экран и длину трассы, ещё до того как связь начнёт рваться.
Доля ответов ниже 100% означает, что часть запросов прибор принял, но ответить не смог.
Все счётчики считаются с момента запуска сервера и обнуляются при его перезапуске. Ошибки кадра железо копит с включения прибора, поэтому показан прирост, а общее число — серым в скобках: старые ошибки не должны выглядеть как сегодняшняя беда.

Второй порт RS-485 (шина B)

адрес скорость чётность бит стоп
У ADAM-6717 два порта RS-485 (даташит: 2 x RS-485). Первый — клеммы, на которых сейчас панель оператора; второй выведен отдельно и до сих пор простаивал.
Зачем он. Панель и АСУТП — разные хозяева с разным темпом опроса. На одной шине они мешают друг другу: медленный опрос одного задерживает ответы другому, а ошибка в адресации ломает связь обоим. Разведя их по двум портам, получаем независимые линии со своими адресами, скоростями и таймаутами.
Оба порта отдают одну и ту же карту регистров — это один прибор с двумя дверями, а не два устройства. Адреса на шинах могут быть разными, это нормально.
По умолчанию порт выключен, и прибор ведёт себя ровно как раньше. Включите — и он начнёт отвечать на клеммах второй шины.