惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
T
ThreatConnect
SecWiki News
SecWiki News
F
Future of Privacy Forum
AWS News Blog
AWS News Blog
C
Cisco Blogs
A
Arctic Wolf
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Scott Helme
Scott Helme
V
V2EX
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
K
Kaspersky official blog
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
N
News | PayPal Newsroom
Schneier on Security
Schneier on Security
NISL@THU
NISL@THU
Microsoft Azure Blog
Microsoft Azure Blog
量子位
The Hacker News
The Hacker News
Stack Overflow Blog
Stack Overflow Blog
Security Latest
Security Latest
M
Microsoft Research Blog - Microsoft Research
Google Online Security Blog
Google Online Security Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
InfoQ
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
The Cloudflare Blog
Microsoft Security Blog
Microsoft Security Blog
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Troy Hunt's Blog
F
Fox-IT International blog
S
Security @ Cisco Blogs
博客园 - 司徒正美
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Comments on: Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 最新话题
GbyAI
GbyAI
Project Zero
Project Zero
腾讯CDC
T
Tailwind CSS Blog

Все публикации подряд на Хабре

Почему российские компании остаются на серой Jira [Перевод] Тонус в реактивных системах [Перевод] Как уместить DOOM в QR-код Cache is hard — почему инвалидация кэша — это проблема согласованности, а не производительности Щелевая коррозия: порча нержавейки и «ржавые» имплантаты — почему это происходит? Строим первую линию техподдержки на n8n за 250$ в месяц. Часть 2 Покопались в .cursorrules на GitHub и нашли там волка-фурри, Star Trek и 28.7% копипасты Не наступайте на наши грабли, если собираетесь использовать Temporal Как создать дебат-клуб в компании: пошаговое руководство от бизнес-тренера Как экономят на метановых автозаправках Самодельный elgato-like макропад. Часть 1, железная Всё есть код, или зачем внедрять GitOps в разработку Как получить root на Urovo DT40 Pro (CT48): Android 12 (Проверено на практике) C# мне нравится больше Java. Но в банковском enterprise мне всё равно понадобилась Java Биткоин на Московской бирже — что это? Как мы переводим миллионы iOS-пользователей на новое приложение каждые несколько месяцев Кейс. Zero Bug Policy: как мы снизили бэклог багов в 4 раза за месяц Shadow AI: 80% сотрудников уже пишут в ChatGPT. Почему мы делим задачи на красные, зелёные и серые Попытка пересмотреть ограничения рынка тяжелых БАС: нужен ли вообще кому-то легкий и дешевый электромотор Менеджер, который хакнул систему. И что AI на самом деле умножает Spec-driven development в микросервисах, часть 2: как archspec делает контекст сервисов явным Запись в Kubernetes: как контроллеры учились не перезаписывать друг друга Игровой движок 2.5D, короткие тренировки для ПК-пользователей –и еще 8 российских стартапов MCP в системе управления проектами: как поручить ИИ работу с корпоративными данными Бэклог болей: как hh работает с тем, что не нравится пользователям brec: контролируемая обратная совместимость протокола AI обнулил benchmark и пытался шантажировать инженера. И почему это решаемо Почему пластиковый корпус оказался в 3 раза дороже металлического Как спроектировать API, которое не придется переписывать через полгода Трекинг посетителей на fisheye-камерах: задача “со звездочкой” Красивый скриншот вашего кода. Большое обновление Я создаю проекты без единого созвона с командой Content Pipeline в MonoGame: почему я его не использую Гемблинг партнерки: Как выбрать, ТОП 5 в 2026 За пределами LLM, часть 2: якорная таблица Кэли, которая не является ни полем, ни моноидом Pixverse купить подписку: для чего нужна Пиксверс подписка, как выбрать тариф и оплатить в рублях Meshy AI нейросеть: как создавать 3D-модели из текста и изображений в Меши АИ на русском бесплатно Skywork AI: как использовать Скайворк АИ нейросеть на русском бесплатно, работать с промтами и создавать видео Технотекст 8: победа естественного интеллекта Capacitor: от веба к мобильным приложениям. Часть 4. Интегрируем локальный LLM в проект 20 лет видеокарт в цифрах: как росли FLOPS и TDP и кто вёл в дуэли NVIDIA vs AMD (+ открытый датасет на 13 500 GPU) Архитектура крипто-сканера для биржи: Open Interest, Funding Rate, EMA и MACD в реальном времени @tanstack/vue-table: почему я почти отказался от этого… WHERE превращает ваш LEFT JOIN в INNER JOIN. И никто вам об этом не скажет Гравитация не существует. Вы задали 454 вопроса о времени. Вот ответы с уравнениями Эйнштейна Конец бесплатного кремния: как Google AI Studio превратилась из рая для инженеров в симулятор смены аккаунтов Свой AI-агент из почты, systemd и LLM MemForge2: загрузочная флешка, которая за минуту говорит — какую планку памяти менять Лицензии важны. Разбор ошибок авторов и пользователей программ От RAG-прототипа к агенту в продакшн: путь по метрикам, а не по моде Serial Terminal: кастомный веб-терминал для последовательного порта на Web Serial API Китайский стартап GigaAI обещает робота-домработника за 1 млн рублей уже в 2027 году — правда или PR? Open-source VPN клиент Tunguska Роман за 6 недель без идеи на старте: миф или реальность? ИИ построит ваш план действий за 10 секунд Security Week 2622: эффективность Claude Mythos по версии Cloudflare Reactive Forms vs Signal Forms: Эволюция сложных форм в Angular TorFlash — приложение для Linux: поиск торрентов, скачивание и копирование на флешку в одно нажатие Как я решил проблему русской диктовки для ИИ Оверинжиниринг, потопивший немецкую подлодку или некоторые «баги» не чинятся десятилетиями Как ставить цели и не забывать о них: пошаговая система с примерами в таск-менеджере Как настроить observability в Spring Boot 3 HackTheBox. Прохождение Mini Pro Lab Puppet Обзор серверного ускорителя NVIDIA Tesla V100 16 Gb в корпусе от RTX 4090: Часть 3 — Запуск локальных моделей ИИ Редактирование текста нейросетью: как сделать диплом и курсовую более человечными Самодельный ARM ноутбук, реально ли? Как 100+ авторов пишут 100+ процессов в 3 версиях и не путаются. Или как мы переехали с Wiki на Git Прошла AnalystDays – хорошие выступления и нетворкинг VSCode как IDE для embedded разработки Моделирование широкополосной антенны с двойной круговой поляризацией и высокой изоляцией Ваше прошлое физически существует прямо сейчас. И вы заморожены там навсегда От списка инструментов к technical output: как security engineer’у описывать hands-on опыт в CV и на интервью I just want an agent. Часть 1. Как я научил ИИ собирать ИИ-агентов за пользователей и выиграл конкурс I just want an agent. Часть 1. Как я научил ИИ собирать ИИ-агентов за пользователей и выиграл конкурс Вайбкодинг спас меня от подрядчиков. А потом я поняла, что сама стала подрядчиком для своих агентов Святой Августин и GAN: почему борьба добра и зла — это генеративная состязательная сеть В каждом QR-коде зашита половина лишней информации. Намеренно Я открываю автомат ключом, меняю рулон бумаги и зарабатываю 180 тысяч в месяц с точки Мастер восстановления. Культура достиженства и выгорание Недельный геймдев: #279 — 24 мая, 2026 Защита от дублирования кода агентами: семантические концепции Frontend Status: свежий дайджест фронтенда и AI — 25.05.2026 Где искать IT-работу кроме HH: подборка платформ 2026 Почему простые числа собираются в спирали? OCR для Data Lakehouse: от Apache Tika к собственному решению на базе Docling Jira — Тьюринг-полная Kubernetes-аудит после Wiz и Prisma: как живут без CNAPP в 2026 «Тестируем MVP в 4 раза быстрее»: как нейросети изменили жизнь предпринимателей На каком стеке и железе работает умное наблюдение в вашем городе: обзор технологий от разработчиков видеоаналитики Как мы ускорили согласования на двух заводах в 24 раза Heartbeat-мониторинг cron-job'ов: dead-man-switch на FastAPI [Перевод] Сегодня нет джуниоров, а в 2031 году не станет и синьоров Профайлер для PostgreSQL: от идеи до работающего MVP за сутки [Перевод] Ограничения размера cookie в ASP.NET Core в продакшене: причины и способы решения Проблема «божественного» Obsidian: почему я отказался от централизованного подхода в работе Лицензии GNU GPL: как пройти проверку Минцифры и заказчика для госзакупок и КИИ Хакатон Samsung IT Academy Hack 2026: как студенты оптимизировали поиск в корпоративном мессенджере Хакатон Samsung IT Academy Hack 2026: как студенты оптимизировали поиск в корпоративном мессенджере MTProxy jumper — делаем автоматическое переключение прокси-серверов Telegram Ты уже используешь агента. Просто не заметил
Факап инженера АСУ ТП, как мы перепутали физические COM-порты на подстанции
maksys2011 · 2026-05-26 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение5 мин

Охват и читатели18

Кейс

Добрый день, коллеги и хабровчане!

В практике инженера АСУ ТП диагностика интерфейса RS-485/422 обыденное дело. Но что делать, если удаленный опрос приборов учета лег, линии прозвонены, сеть работает а связи все равно нет? Рассказываю реальный кейс о том, как из-за невнимательности при первичной диагностике мы перепутали подключение COM-портов, и что в итоге получилось.

Проблема

У нас в эксплуатации находится система учёта энергоресурсов на 1000+ приборов. Парк оборудования очень разношёрстный: Satec EM133, Satec PM175, Satec BFMII, СЭТ-4ТМ, Меркурий 234, ТЭМ-104, ВИС.Т, СТД(ВТД), различные импульсные вычислители, датчики давления, температуры, протечки - настоящий зоопарк. И всё это хозяйство необходимо постоянно поддерживать в работоспособном состоянии, чем и занимается инженер "асушник".

В один прекрасный осенний день приходит к нам инженер группы энергоучёта и говорит, что не может достучаться до приборов учёта электроэнергии, расположенных на трансформаторной подстанции 6/0,4 кВ (далее пусть будет ТП-100 для красоты). Приборы установлены на высокой стороне. У ТП-100 есть высокая и низкая сторона: 6 кВ и 0,4 кВ соответственно. Мы, как ответственные работники, принимаем вызов и обещаем разобраться.

Итак, имеем полную потерю удаленного доступа к приборам учета ТП-100. Сразу оговорюсь, что наша система учёта не относится к системам управления: никакого удалённого управления и риска для здоровья обслуживающего персонала тут нет. Наш учет на 90% технический, и всего 10% приборов - коммерческие. Для группы учёта доступ к приборам нужен два раза в месяц : 1 и 15 числа. Времени у нас было достаточно.

Фиксируем проблему: нет данных с приборов учета и доступа к сетевому оборудованию. 

Первые действия

За годы работы выработался механизм решения проблем такого рода, по нему мы и пошли:

  1. Пропинговать устройства:

Пример - ping "норм":

Пример – ping "не норм":

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

Проверка на месте

На месте проводим тривиальные действия:

  1. Проверка индикации

  2. Проверка соединения кабельных линий

  3. Проверка акб/ибп

  4. Проверка питания

  5. Проверка целосности кабельных линий (визуальная)

  6. Проверка, есть ли питание на приборах учета

  7. Потыкать COM-порты (как оказалось позже, это была ошибка)

Фото расключения MOXA NPort IA5450A

После локальной проверки все было нормально, пациент жив, и даже дышит. Дальше нужно было проверить внешнюю сеть ЛВС (локальную вычислительную сеть), а именно - работоспособность порта на коммутаторе и кабель от преобразователя интерфейсов MOXA NPort IA5450A до этого самого коммутатора (у нас там, вроде, стоит Cisco).

Так как ЛВС находится в ведении IT-службы, направили им запрос. Вызов принят. Первичная проверка показала, что наш порт на коммутаторе неактивен. Выяснилось, что после каких-то своих регламентных работ айтишники просто отключили порт. Порт подняли.

Проверяем ping - пошел! Мы уже радостно потирали руки, но после тщательной проверки удаленного доступа к приборам выяснилось, что две из трех линий связи так и не ожили. То есть часть учета работает, а часть нет. Не работали линии, которые подключены к 2 и 3 COM-порту. 

Проверка линий трафика

Как вы поняли, мы опять собрались на ТП-100, чтобы уже решить это вопрос. Первичный скрининг всего сетевого оборудования ничего не показал. Все исправно. Хорошо. Решили дополнительно проверить, а что там с трафиком через преобразователь интерфейсов, который по сути просто заворачивает старичка Modbus RTU в TCP - пакет и после пробрасывает в ЛВС

Скрин трафика портов:

Что мы видим? Данный скриншот сделан уже на работающем устройстве (скрин без трафика я, к сожалению, не сохранил). Тогда же мы видели в меню Monitor -> Async для 2 и 3 портов следующую картину: TxCnt растет (трафик уходит), а в RxCnt - по нулям (ответа нет).

Это была наша первая ошибка. Было очевидно, что сервер опроса честно отправляет запросы (TxCnt), а прибор учета не отвечает (RxCnt нет). Стоило задуматься, но мы благополучно пропустили этот момент.

Отдельно уловили интересный момент при работе прибора Satec EM133. Они имеют информативную индикацию работы опроса/ответа Rx/Tx, понаблюдав за которой, становится понятно, что NPort он же master шлет команды от сервера, а slave он же прибор молчит, индикация  Rx не горит. Вот тут был уже второй явный сигнал, что сервер опрашивает приборы, а они не отвечают. Но мы опять это упустили.

Гипотеза об обрыве кабеля

Тут у меня появились первые подозрения, что опрос идет, Tx индикация активности мигает каждые 10 секунда в соответствии с настойками опроса. Появилась гипотеза, что одна из жил неисправна. В этот же день на ТП-100 работали электрики из электроизмерительной лаборатории, и нас доблестно пригласили поковырять свои линии и проверить свои гипотезы. Все допуски были получены.

Мы захватили свой NETcat Pro2 для позвонки витой пары. Прозвонка состояла из следующих действий: закорачивали жилы на одном конце, и при подключении тестера, он должен показывать это закорачивание, а если не показывал значит где-то обрыв между тестером и концом линии. Ка́бель (шлейф) идущий к приборам мы откинули. Если откидываете шлейф, помните, что магистраль остается целой и тестер покажет полную длину. Он и увидел закорачивание, что логично.

Схема подключение приборов (подключение шлейфом) учета: 

Фото распаячной коробки (XR4). Тут мы закорачивали жилы.

Тупиковая коробка

Тупиковая коробка

При проверке участка от шкафа учета до первой коробки мы закоратили кабель в этой коробке и откинули XR3. Тестер не показывает замыкание жил, хотя жилы закорочены.

Очень странно. Имеем обрыв между шкафом и первой коробкой на длине около 6 метров. Тут вступает в дело начальник той самой электроизмерительной лаборатории, человек опытный. Говорит нам, ну-как дайте я проверю своим " флюком" (fluke 17). Ищет землю и подключается. Результат тот же, обрыв на участке между шкафом и первой коробкой.

Затем он задает вопрос: а вы уверены, что закорачиваете именно тот кабель, который измеряете? Так как мы все перепробовали, решили проверить его теорию. Начали мерить другой кабель, и о чудо, тестер показал замыкание жил. Тут у меня в голове начали появляется флешбеки:

-> .... не горящая лампочка Rx, горящая Tx

-> .... на одно линии висят приборы Satec EM133 на другой - СЭТ-4ТМ

-> .... а скорость (боды) у них разная: 19200 и 9600

Появилась мысли, а что, если COM-порты просто перепутали местами? Поменяли COM-порты. Работает. Похоже, когда делали первичный скрининг, перепутали подключение COM-портов.

Конфигурации скорости портов:

2 и 3 порты были перепутаны местами. Естественно, ответы мы не получили: для прибора Satec EM133 скорость составляет 19200 бод, а для СЭТ-4ТМ - 9600 бод.

Выводы

Для себя после этой истории я сформировал следующий порядок диагностики:

  1. Проверка сетевого соединения (ping)

  2. Проверка конфигураций ПО (проверка соединения и опроса с помощью заводского ПО)

  3. Проверка конфигураций сетевого оборудования 

  4. Проверка конфигураций полевого оборудования 

  5. Проверка питания, ИБП и всех физических соединений

  6. Проверка схемы подключений, в том числе COM-портов

  7. Проверка кабельный линий и коммутации ЛВС

  8. Далее ремонт или замена по ситуации

Когда ищешь проблему 5 часов вместо 5 минут ↓

Фото картины, нарисованной моей женой

Фото картины, нарисованной моей женой

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

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

Спасибо всем, кто дочитал до конца! Будет интересно почитать в комментариях о ваших похожих простых проблемах и непростых решениях.