Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 37

Тема: Не получается подключить датчик через modbus rtu

  1. #11

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Что-то я не виду в Modbus функции 0х19, 0х08 есть такая - Диагностика. А первой на Wiki как-то не указано.

    И тут что-то не нашел https://modbus.org/docs/Modbus_Appli...ocol_V1_1b.pdf
    На сколько я понял функция 0х19, это чтение одного регистра. Так как можно использовать 3 и 4 функции для чтения, то нафик она никому нужна.
    А вот 8 функцию, надо использовать для команды, перед чтением.
    Последний раз редактировалось kondor3000; 03.10.2024 в 13:14.

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

    По умолчанию

    kondor3000 я к тому, что в документации на Modbus такой команды нет, а в устройстве вот она, есть

  3. #13

    По умолчанию

    Снова здравствуйте. Попробовал всё переписать в двух вариантах:

    1) через modbus.lib все сделал по шагам CASE, с командой 08h через MB_UNI_IO и таймером на 2 с, ничего не изменилось, всё так же ошибка таймаута. Причем таймаут в том числе от команды 08h, а буфер с командой 08h после отправки заполняется (первые 6 байтов) какими-то мусорными значениями. Хотя с компа при посылке этой команды ответ датчика равен команде.

    2) через библиотеку unm.lib - делал по инструкции, но на первой же отправке выдается ошибка отправки. Плюс возникло ограничение - отправляемые команды должны быть строками, и если формировать команду в виде строки из шестнацатиричных значений, он воспринимает нулевые байты, которые присутствуют в команде, как конец строки, поэтому не знаю, как это можно обойти.

    Так и не могу понять, что не так с запросами modbus. Даже на стандартные запросы по команде 03h с ПЛК датчик не отвечает - и не надо говорить, что без команды 08h он не будет отвечать - с компа он нормально отвечает и без этой команды. Она нужна, как я понимаю, только для обновления значений в опрашиваемых регистрах прибора.
    Вложения Вложения
    Последний раз редактировалось Juan Esteban; 07.10.2024 в 06:28.

  4. #14

    По умолчанию

    Кроме того, есть такая особенность. Для понимания того, что происходит, я на одну линию RS485 подключил ПЛК, датчик и комп через Овен AC4. При наличии ПЛК в этой линии, датчик перестает отвечать на запросы компа - как при ручных запросах, так и через ОРС, при отключении плк - отвечает. При том, что никаких левых команд, судя по монитору ком-порта, с него не поступает.

  5. #15

    По умолчанию

    С двумя мастерами на линии хотите работать? Ну это так не работает. Либо ПЛК, либо ПК.

  6. #16

    По умолчанию

    А физически как он определяет, что два мастера, если плк не посылает запросы (остановлен)?

    Upd. Хотя, наверное, вы правы. Фоновое напряжение, которое он подаёт, перебивает все запросы. Тем не менее, проблема не в этом - напрямую без компа все равно подключение не работает.
    Последний раз редактировалось Juan Esteban; 07.10.2024 в 08:27.

  7. #17

    По умолчанию

    Цитата Сообщение от Juan Esteban Посмотреть сообщение
    Кроме того, есть такая особенность. Для понимания того, что происходит, я на одну линию RS485 подключил ПЛК, датчик и комп через Овен AC4. При наличии ПЛК в этой линии, датчик перестает отвечать на запросы компа - как при ручных запросах, так и через ОРС, при отключении плк - отвечает. При том, что никаких левых команд, судя по монитору ком-порта, с него не поступает.
    Резисторы какие-нибудь в АС4 подключены?

  8. #18

    По умолчанию

    Цитата Сообщение от Juan Esteban Посмотреть сообщение
    А физически как он определяет, что два мастера, если плк не посылает запросы (остановлен)?

    Upd. Хотя, наверное, вы правы. Фоновое напряжение, которое он подаёт, перебивает все запросы. Тем не менее, проблема не в этом - напрямую без компа все равно подключение не работает.
    Один мастер открыл порт, второй не сможет уже открыть, до физичекого отключения порта и полной перезагрузки всего.
    Начинайте всё сначала, теперь с ПЛК. Если нет связи, значит не правильно настроены параметры сети.
    Например для 8N1, должны быть все нули, а у вас стоп бит 1. Если не нужна команда 08, как вы пишите, то просто читайте входы.
    Последний раз редактировалось kondor3000; 07.10.2024 в 08:37.

  9. #19

    По умолчанию

    Пытался и так, и так. Производитель говорит, что он и с одним, и с двумя стоп-битами работает. С компа действительно работает и так, и так.

  10. #20

    По умолчанию

    Пробовал также через конфигурацию плк опрашивать. Выдает ошибку 81 (тайм-аут).

    Впрочем, я не говорил, что команда 8 не нужна. Просто она не обязательна для чтения регистров. Поэтому посылать её все равно придется.

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. Не получается подключить ТРМ 232м к ПК по rs232
    от Andy32 в разделе Эксплуатация
    Ответов: 9
    Последнее сообщение: 05.02.2025, 08:21
  2. Не получается подключить ПЛК110-60 [М02] к OwenCloud
    от GoodLuck в разделе Облачный сервис OwenCloud
    Ответов: 11
    Последнее сообщение: 28.10.2023, 15:36
  3. Ответов: 33
    Последнее сообщение: 01.04.2021, 11:06
  4. Не получается связать ПР114 и ИПП120 через ПР-МИ485
    от masterw в разделе Программируемые реле
    Ответов: 1
    Последнее сообщение: 11.05.2018, 00:57
  5. не получается подключить сп270 к пк
    от LAS в разделе Панели оператора (HMI)
    Ответов: 1
    Последнее сообщение: 01.10.2010, 21:29

Ваши права

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