<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: KNOT, Modbus, Mean well... как?]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме KNOT, Modbus, Mean well... как? форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 15 Jul 2026 01:27:21 -0400</pubDate>
		<item>
			<title>KNOT, Modbus, Mean well... как?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385826">KNOT, Modbus, Mean well... как?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, @marekm, ты разобрался, как опрашивать Meanwell? Я никак не могу получить ответ от блока DRS при использовании устройства KNOT и Modbus. <br />
			<i>08.12.2023 14:36:00, ecdc.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385826</link>
			<guid>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385826</guid>
			<pubDate>Fri, 08 Dec 2023 14:36:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>KNOT, Modbus, Mean well... как?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385825">KNOT, Modbus, Mean well... как?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Настройки последовательного порта (скорость передачи / четность / стоп-биты) в mbpoll влияют только на RTU (физический последовательный порт), для TCP проверьте настройки порта в KNOT. К тому же, по крайней мере, старая спецификация протокола RTU из 90-х требует 2 стоп-бита, если не используется проверка четности — отсутствие четности и 1 стоп-бит могут не работать с некоторыми устройствами.<br /><br />[admin@MikroTik] &gt; /port/print detail  <br />Flags: I - неактивен &nbsp;<br />0 &nbsp; name="modbus" used-by="modbus" device="" channels=1 baud-rate=9600 &nbsp;<br /> &nbsp; &nbsp;data-bits=8 parity=none stop-bits=2 flow-control=none &nbsp;<br /><br />1 &nbsp; name="modem" used-by="" device="" channels=5 baud-rate=115200 data-bits=8 &nbsp;<br /> &nbsp; &nbsp;parity=none stop-bits=1 flow-control=none<br /><br />По умолчанию в KNOT стоит 9600,8,N,1, и именно так я обнаружил баг в прошивке своих устройств спустя 20 лет — в UART AT90S8535 не было настройки «2 стоп-бита», поэтому я включил 9-битный режим (CHR9=1) для передачи, чтобы послать дополнительный бит «один» (TXB8=1) перед стоп-битом. Но при переключении направления обратно на приём (RX) забыл отключить этот режим (CHR9=0), чтобы быть совместимым с одним или несколькими стоп-битами. Все остальные устройства работали нормально (отправляли 2 стоп-бита, ждали 1 и не обращали внимания, если стоп-битов больше одного), кроме моих, которые и отправляли, и ожидали 2 стоп-бита. <br />
			<i>07.09.2023 21:41:00, marekm.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385825</link>
			<guid>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385825</guid>
			<pubDate>Thu, 07 Sep 2023 21:41:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>KNOT, Modbus, Mean well... как?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385824">KNOT, Modbus, Mean well... как?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Использую mbpoll на Linux, вот мои тестовые скрипты с переменными. На самом деле я использую telegraf для опроса, но тестирую вот так:<br /><br />VINPRE= mbpoll $knot-ip -a 0x83 -P none -b 115200 -t 3 -0 -1 -m tcp -r 80 | grep "\[80\]" | cut -f2  <br />VOUTPRE= mbpoll $knot-ip -a 0x83 -P none -b 115200 -t 3 -0 -1 -m tcp -r 96 | grep "\[96\]" | cut -f2  <br />VBATPRE= mbpoll $knot-ip -a 0x83 -P none -b 115200 -t 3 -0 -1 -m tcp -r 211 | grep "\[211\]" | cut -f2  <br />CHCURPRE= mbpoll $knot-ip -a 0x83 -P none -b 115200 -t 4 -0 -1 -m tcp -r 176 | grep "\[176\]" | cut -f2  <br />CHVOLPRE= mbpoll $knot-ip -a 0x83 -P none -b 115200 -t 4 -0 -1 -m tcp -r 177 | grep "\[177\]" | cut -f2  <br />FLVOLPRE= mbpoll $knot-ip -a 0x83 -P none -b 115200 -t 4 -0 -1 -m tcp -r 178 | grep "\[178\]" | cut -f2  <br /><br />Что может вас сбивать с толку — это сдвиг битов, из-за которого все ваши регистры смещены на один, если не выставить нулевую базу (опция -0 в командах). &nbsp;<br /><br />Это именно опрос блока Mean Well DRS-480-48, но должно помочь вам начать. <br />
			<i>07.09.2023 19:25:00, syadnom.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385824</link>
			<guid>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385824</guid>
			<pubDate>Thu, 07 Sep 2023 19:25:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>KNOT, Modbus, Mean well... как?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385823">KNOT, Modbus, Mean well... как?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			У тебя есть другие устройства Modbus slave для тестирования? Сначала попробуй использовать недорогой USB/RS485 конвертер, чтобы напрямую связаться с устройством. Попробуй поменять полярность A/B, на всякий случай (я видел, как эти контакты в некоторых даташитах на RS485 трансиверы были перепутаны, что вызывало путаницу). Есть бесплатная (между прочим, бесплатная, но закрытая) программа «CAS Modbus Scanner» для быстрого сканирования ID устройств Modbus, чтобы найти, какое из них отвечает. Я использую KNOT (сейчас работает на ROS 7.10.2 — 7.11 пока не пробовал, «если не сломано, не чини») как шлюз Modbus TCP/RTU для связи с несколькими устройствами Modbus (PV инвертором, счетчиком электроэнергии и некоторыми собственными I/O модулями), и в целом всё работает. TCP-клиент — моя собственная программа на C с использованием libmodbus, запущенная в Debian на виртуальной машине под xcp-ng (заменяю старую выделенную физическую машину с последовательным портом, чтобы экономить электроэнергию, ведь новый Xeon E-2236 с 128 ГБ ОЗУ и 1 ТБ SSD расходует примерно столько же — около 50 Вт — сколько и старый добрый Pentium Pro 200 МГц с 128 МБ ОЗУ и 40 ГБ HDD). <br />
			<i>07.09.2023 19:19:00, marekm.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385823</link>
			<guid>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385823</guid>
			<pubDate>Thu, 07 Sep 2023 19:19:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>KNOT, Modbus, Mean well... как?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385822">KNOT, Modbus, Mean well... как?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ты смог разобраться? Я почти уверен, что с полярностью всё в порядке, но никак не могу получить от Meanwell никаких данных (время опроса вышло). Думаю, что стандартный адрес устройства должен быть 0x80, а 0x83 в инструкции — это пример для случая, когда ты ставишь перемычки на ID устройства номер 3, согласно мануалу MW (во вложении). Эта команда iot/modbus/read-holding-registers slave-id=0x80 reg-addr=0x0080 num-regs=0x0006 должна отправить запрос к устройству со slave ID 0 (стандартный Meanwell), по адресу 0x0080, на 6 регистров, и вернуть данные производителя устройства, но все без толку. Что я здесь делаю не так? Для справки: mean well, modbus, DRS-480-48, RB924i-2nD-BT5&BG77 KNOT, v7.11.2 <br />
			<i>06.09.2023 14:15:00, mondychan.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385822</link>
			<guid>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385822</guid>
			<pubDate>Wed, 06 Sep 2023 14:15:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>KNOT, Modbus, Mean well... как?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385821">KNOT, Modbus, Mean well... как?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Нет, DRS работает правильно. А вот KNOT ведёт себя странно. Проверял на другом оборудовании. KNOT может читать только holding registers в режиме transceive, но через TCP — всё возможно. И да, адрес modbus задаётся перемычками на устройстве. Кстати, mbpoll собирается и на macOS. <br />
			<i>21.12.2023 00:03:00, syadnom.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385821</link>
			<guid>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385821</guid>
			<pubDate>Thu, 21 Dec 2023 00:03:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>KNOT, Modbus, Mean well... как?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385820">KNOT, Modbus, Mean well... как?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я потратил пару часов на это, а потом, спонтанно, переподключил провода + и – от KNOT к DRS-480-48. [Редактирование: похоже, KNOT перепутан полярностью.] По умолчанию адрес DRS — 0x83 (131). Чтобы изменить его, нужно соединить контакты A0 и/или A1 с GND. Пример из инструкции по запросу производителя (0x00800006, что означает регистр 128, взять 6 байт) работает через TCP, но /iot/modbus/transceive не срабатывает (на версии 7.14b3). Я проверял это с помощью приложения ModMaster на macOS (самое дешевое, что нашёл, и не требовало компиляции или программирования). Оно отлично подключается к KNOT и отправляет/принимает данные как и ожидалось. <br />
			<i>20.12.2023 23:35:00, sirbryan.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385820</link>
			<guid>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385820</guid>
			<pubDate>Wed, 20 Dec 2023 23:35:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>KNOT, Modbus, Mean well... как?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385819">KNOT, Modbus, Mean well... как?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я пробовал 115200, и всё равно не работает. <br />
			<i>09.12.2023 19:01:00, ecdc.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385819</link>
			<guid>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385819</guid>
			<pubDate>Sat, 09 Dec 2023 19:01:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>KNOT, Modbus, Mean well... как?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385818">KNOT, Modbus, Mean well... как?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Наткнулся на этот пост, пока изучал коммуникацию DRS. Моя первая мысль — в руководстве по DRS указана стандартная скорость порта 115200. Может, в этом и дело. <br />
			<i>09.12.2023 17:54:00, xsherlock.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385818</link>
			<guid>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385818</guid>
			<pubDate>Sat, 09 Dec 2023 17:54:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>KNOT, Modbus, Mean well... как?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385817">KNOT, Modbus, Mean well... как?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Так как не нашлось лучшего места, оставляю это здесь. У меня просто кошмар с настройкой связи KNOT с блоком питания Mean Well DRS-240, который через разъём RJ45/8x8 выдаёт Modbus. На Mean Well пины 6 (+) и 7 (-) идут на A+ и B- KNOT. KNOT заявляет поддержку запросов типа 3 «holding», я пробовал считать регистр 0x0040 (согласно спецификации Mean Well) — это тип 3 и, например, «состояние аварии», но никакого ответа не получил. Также пытался опрашивать этот регистр через клиента Modbus по TCP через KNOT — тоже тишина. Использую ID устройства 0x03 или 0x83 (в руководстве Mean Well рекомендуют 0x83 для ID). Так как оборудование очень свежее, найти какие-либо советы по отладке KNOT/Modbus не получается, чтобы понять, есть ли у KNOT какие-то особенности, из-за которых он не общается с Mean Well, или я просто что-то делаю не так. То есть, modbus read-holding… save-id=0x03 register-id=0x0040 Кто-нибудь уже работал с такой связкой или с другими промышленными блоками питания и KNOT? Может, есть советы, как заставить это заработать? Спасибо! <br />
			<i>10.05.2023 17:48:00, syadnom.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385817</link>
			<guid>http://mikrotik.moscow/forum/forum57/84364-knot_-modbus_-mean-well...-kak/message385817</guid>
			<pubDate>Wed, 10 May 2023 17:48:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
