Страница 49 из 51 ПерваяПервая ... 394748495051 ПоследняяПоследняя
Показано с 481 по 490 из 504

Тема: В продаже МКОН - преобразователь протокола Modbus!

  1. #481
    Пользователь
    Регистрация
    25.02.2016
    Адрес
    Кострома
    Сообщений
    302

    По умолчанию

    Цитата Сообщение от Lexx225 Посмотреть сообщение
    Доброго дня! Как это "не получится" если именно так у меня и работает. Снимаешь питание с конкретного модуля - сразу появляется ошибка в совершенно конкретном месте на панели. Строго ассоциированная с выбитым датчиком.
    А Вы вопрос читали? Вы ушли от темы.

  2. #482

    По умолчанию

    Цитата Сообщение от rediskus Посмотреть сообщение
    Мне нужно знать что устройство отвалилось и в обмене более не участвует. ПЛК110 соответственно отдавал не нулевой статус операции обмена. А сейчас любая операция обмена с МКОН по Ethernet проходит успешно, даже если подключенное к нему по RS485 устройство не ответило.
    Я читаю из ПЛК110 через библиотеку UNM и точно определяю не только какой модуль отвалился за МКОН-ом, но и получаю все Modbus-ошибки от модуля. МКОН тупо преобразует пакет ModbusTCP в ModbusRTU и обратно.
    Понять логику работы LastAddress и LastError в ветке Modbus (Мастер) не удалось.
    Последний раз редактировалось EFrol; 15.12.2024 в 12:13.

  3. #483

    По умолчанию

    Добрый день!
    А правильно ли я понимаю, что с помощью МКОН можно не только опрашивать устройства, подключенные к нему по ModBus RTU, но и записывать данные (например, команды) в такие устройства?
    Спасибо!

  4. #484

    По умолчанию

    Правильно. Задача МКОН транслировать ModbusTCP в ModbusRTU и обратно без изменения исходного пакета.
    При условии, что Вы не используете ведомого устройства с адресом 1 (этот адрес МКОН резервирует для себя).

  5. #485
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,280

    По умолчанию

    Alex54321 с точки зрения процесса протокола команда опроса чем-то отличается от команды записи ?

  6. #486

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Alex54321 с точки зрения процесса протокола команда опроса чем-то отличается от команды записи ?
    Нет, не отличается.
    Но встречал устройства, которые почему-то работали не со всеми функциями ModBus (вполне распространенными, что-то вроде 16-ой, уже не помню).
    Лучше лишний раз уточнить.

  7. #487

    По умолчанию

    Добрый день! Опрашиваю через МКОН два ПЛК "Ридан" один с адресом 246 - с него все считывается правильно, на втором с адресом 247 проблемы с единичными bool регистрами. Физические изменения все поперепробовал (пересаживал на другой порт ПЛК; менял шлюз; выставлял/убирал терминаторы; выставлял/убирал подтягивающие резисторы). Пробовал анализировать пакеты Modbus, но не силен в них. Видно только что на этих регистрах на один байт информации меньше (Modbus TCP) - соответственно качество тега становится в BAD. На пакетах Modbus RTU - вроде все нормально.
    Данные по Modbus RTU терминалом (адрес 246)
    11:23:55 RX : [HEX] 3f 2 12 74 0 2 3f 3f - запрос, а RX маркер т.к. порт был на прослушке
    11:23:55 RX : [HEX] 3f 2 1 0 3f 3f - ответ
    Пакет по Modbus TCP с ОРС сервера (адр 246)
    27.05.2025 11:23:55.845;TC_Loco_MKON;10.4.15.26:502;SEND;12;8 E 00 00 00 00 06 F6 02 12 74 00 02
    27.05.2025 11:23:55.876;TC_Loco_MKON;10.4.15.26:502;REC;10;8E 00 00 00 00 04 F6 02 01 00

    Данные по Modbus RTU терминалом (адрес 247)
    11:14:25 RX : [HEX] 3f 2 12 3f 0 1 3f c - запрос, а RX маркер т.к. порт был на прослушке
    11:14:25 RX : [HEX] 3f 2 1 0 3f 0 - ответ
    Пакет по Modbus TCP с ОРС сервера (адр 247)
    27.05.2025 11:14:25.235;TC_Loco_MKON;10.4.15.26:502;SEND;12;7 7 00 00 00 00 06 F7 02 13 2F 00 01
    27.05.2025 11:14:25.283;TC_Loco_MKON;10.4.15.26:502;REC;9;77 00 00 00 00 03 F7 02 01
    и ошибка
    27.05.2025 11:14:25.299;APPLICATION;Устройство "ITP_Loco_A2": Несовпадение количества бит в ответе..

    Писал до этого в техподдержку ОРС сервера, ребята предположили, что весь подвох в контрольной сумме на этих регистрах(CRC). Цитирую:
    ""Судя по обмену, по 485 интерфейсу всё хорошо.
    11:14:25 RX : [HEX] 3f 2 12 74 0 2 3f 3f - запрос от OPC сервера через шлюз
    11:14:25 RX : [HEX] 3f 2 1 0 3f 0 - ответ от прибора
    Видно, ответ полноценный, четыре байта пакета и два контрольная сумма.
    По факту на линии вот такие данные:
    F7 02 12 74 00 02 A8 3F - запрос от OPC сервера через шлюз
    F7 02 01 00 92 00 - ответ от прибора
    Хитрость здесь в контрольной сумме.
    CRC для последовательности F7 02 01 00 = 92 00
    CRC для последовательности F7 02 01 = 00 92
    При получении ответа от прибора шлюз формирует следующий пакет:
    00 00 00 00 00 03 F7 02 01
    А должно быть
    00 00 00 00 00 04 F7 02 01 00 Т.е. он отбрасывает крайний байт.
    Причина здесь в том, что CRC пакета шлюз высчитывает по мере поступления байт с 485 линии, на лету, до тех пор пока не совпадет контрольная сумма, как только она совпала, он формирует Modbus TCP
    пакет и, с чистой совестью, отправляет его OPC серверу. Но, по факту, произошло ложное совпадение контрольной суммы, на не принятом до конца пакете.
    Таким же образом работает и та тестовая программа, которой вы проверяли в первый раз.""
    На причину почему на одном контроллере все хорошо, а на втором качество тегов плохое сообщили следующее. Цитирую
    ""Дело в контрольной сумме.Если брать пакет с 246
    Полный пакет будет F6 02 01 00 93 FC, где 93 FC это CRC
    Если рассчитать для неполного F6 02 01, то CRC = 51 52
    Последовательности цифр 51 52 в исходном пакете нет, поэтому он рассчитывает до конца, а там CRC совпадает.""
    Если брать пакет с 247 Полный пакет будет F7 02 01 00 92 00, где 92 00 это CRC
    Если рассчитать для неполного F7 02 01, то CRC = 00 92
    Последовательность цифр 00 92 в исходном пакете идет сразу после 01, шлюз принимает это за совпадение CRC и останавливается, игнорируя крайний байт.""

    Есть какие нибудь мысли?

  8. #488
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,466

    По умолчанию

    первая мысль, а зачем этот выпендреж с неиспользованием с 1-245 адресов?
    Второе где настройки ОРС который инициирует запросы, по пакетам видно что ОРС запрашивает с разных устройств разную информацию, возможно если с первого запросить тоже самое что не получается со второго, там такие же проблемы будут
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #489

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    первая мысль, а зачем этот выпендреж с неиспользованием с 1-245 адресов?
    Второе где настройки ОРС который инициирует запросы, по пакетам видно что ОРС запрашивает с разных устройств разную информацию, возможно если с первого запросить тоже самое что не получается со второго, там такие же проблемы будут
    Во первых 1 - за самим МКОН зарезервирована. Во вторых это не выпендреж, а лень: на обоих контроллерах по умолчанию адрес 247. Поэтому на втором просто снизил адрес на 1.
    Контроллеры одинаковые, регистры зеркальные (отопление/вентиляция). Один (246): отопление, второй(247): на систему вентиляции +подпитка и ГВС
    На 246 регистры только для чтения 4724 4725 4737 читаются верно, на 247 переменные в регистрах 4724 4725 4737 + 4911 4741 (подпитка) - нет.
    Настройки канала связи ОРС (arOPC):
    Таймаут 1000 мс;
    Межбайтовый интервал 10 мс;
    Задержка 0мс

  10. #490
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,466

    По умолчанию

    значит стоит найти нормальный просмотрщик RS485, потому что
    11:23:55 RX : [HEX] 3f 2 12 74 0 2 3f 3f
    и
    11:14:25 RX : [HEX] 3f 2 12 3f 0 1 3f c
    как бы Вы не писали что обращение к разным адресам, в лог пишется как будто идет обращение на один и тот же адрес 3f что не верно как по сути обмена двух слейвов, так и по контрольным суммам

    PS и не поленится, сменить адреса слейвов на первый десяток
    Последний раз редактировалось capzap; 27.05.2025 в 12:26.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 49 из 51 ПерваяПервая ... 394748495051 ПоследняяПоследняя

Похожие темы

  1. Ответов: 7
    Последнее сообщение: 06.09.2018, 10:14
  2. Поддержка протокола ModBus ТРМ138
    от sega в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 27.07.2011, 07:52
  3. Аварийное завершение OPC для протокола Modbus
    от !nferno в разделе Сетевые технологии
    Ответов: 0
    Последнее сообщение: 29.06.2011, 07:17
  4. Поддержка OPM2 протокола ModBus
    от AndreyS в разделе Разработки
    Ответов: 2
    Последнее сообщение: 21.10.2007, 10:37

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •