Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Проверьте пожалуйста, правильно ли я настроил подключение к датчику?

  1. #1
    Пользователь
    Регистрация
    01.02.2011
    Адрес
    Ярославль
    Сообщений
    11

    По умолчанию Проверьте пожалуйста, правильно ли я настроил подключение к датчику?

    Приветствую, уважаемые коллеги!

    Думаю, что вопрос несложный для экспертов.

    Я новичок в CoDeSys и мало с ним знаком. Мне поставили задачу подключить датчик Modbus slave через интерфейс RS-485 к контроллеру Овен ПЛК 150.

    Датчик:
    - Modbus slave;
    - Node id = 2;
    - Скорость подключения 57600;
    - Фрейм RTU.

    Для начала я решил попробовать прочитать серийный номер датчика, который расположен по адресу 40001, считывающийся по команде 0x03 и имеющий длину в 1 байт.

    Я решил сконфигурировать входы/выходы следующим образом:
    1. Добавил Modbus (Master).
    2. Настроил связь по RS-485:
    - назначил Node id = 1;
    - скорость 57600;
    - фрейм RTU.
    3. Добавил Universal Mudbus device:
    - Node id = 2;
    - ModuleSlaveAddress = 2.
    (Насколько я понял из документации, здесь нужно указать тип сети Serial для RS-485 и Modbus node id).
    4. Добавил '8 bit input module':
    - Node id = 2;
    - Register address = 40001 (адрес серийного номера датчика);
    - Command = 0x03 (из документации к датчику).
    5. Дал названия каналам: байт sn и биты sn1..8.

    Во время выполнения смотрю глобальные переменные: пусто. Хотя, при подключении датчика через переходник к USB, поставляемый к комплекте, всё работает. Серийный номер датчика 29.

    В переменных Modbus (Master) следующая информация:
    Last address: 2
    Last error: 0x81.

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

    Итак вопрос: правильно ли я настроил подключение с датчиком в CoDeSys (при условии, что физически всё подключено правильно)? Подскажите, что можно подкорректировать?

    P.S. прилагаю скриншоты к тексту.
    Изображения Изображения

  2. #2
    Пользователь
    Регистрация
    01.02.2011
    Адрес
    Ярославль
    Сообщений
    11

    По умолчанию

    Ещё два скриншота. У меня их 7, а можно загрузить только 5.
    Изображения Изображения

  3. #3

    По умолчанию

    4 - команда, первый регистр.
    Нужно вводить не Node, а адрес Slave устройства, который вы ему присвоили при конфигурировании.

  4. #4
    Пользователь
    Регистрация
    01.02.2011
    Адрес
    Ярославль
    Сообщений
    11

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    4 - команда, первый регистр.
    Нужно вводить не Node, а адрес Slave устройства, который вы ему присвоили при конфигурировании.
    Спасибо за быстрый ответ, но я немного не понял сути. Могли бы Вы прояснить более подробно?

    "4 - команда, первый регистр.": К чему относится высказывание к адресу "40001"? Что мне нужно с этим сделать?

    "Нужно вводить не Node, а адрес Slave устройства, который вы ему присвоили при конфигурировании.": Как я понял, Node id во вкладке "Base parameters" и есть адрес устройства, т.е. номер от 0 до 255. При этом у меня 1 назначен ПЛК (Master), а 2 назначен датчику (Slave). Если я понимаю неверно, проясните, пожалуйста.

  5. #5

    По умолчанию

    Нет.
    Многие производители номера регистров пишут:
    Х0001, Х0001 и т.д.
    Х в данном случае - команда, которой будет считываться значение переменной.
    0001 - соответственно номер регистра.
    NodID - это внутренний адрес подмодуля в CoDeSys, не имеет никакого отношения к физическому адресу Slave устройства. Адрес Slave задается в UniversalModBusDevice, который добавляется в ModBus Master.
    Посмотрите на сайте описание подключения модулей с помощью UniversalModBusDevice.

  6. #6
    Пользователь
    Регистрация
    23.01.2008
    Адрес
    Белгородская область, Валуйки
    Сообщений
    274

  7. #7
    Пользователь
    Регистрация
    01.02.2011
    Адрес
    Ярославль
    Сообщений
    11

    По умолчанию

    Спасибо, но ссылка не работает.

  8. #8
    Пользователь
    Регистрация
    01.02.2011
    Адрес
    Ярославль
    Сообщений
    11

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    Нет.
    Многие производители номера регистров пишут:
    Х0001, Х0001 и т.д.
    Х в данном случае - команда, которой будет считываться значение переменной.
    0001 - соответственно номер регистра.
    NodID - это внутренний адрес подмодуля в CoDeSys, не имеет никакого отношения к физическому адресу Slave устройства. Адрес Slave задается в UniversalModBusDevice, который добавляется в ModBus Master.
    Посмотрите на сайте описание подключения модулей с помощью UniversalModBusDevice.
    Спасибо за разъяснение. В моём случае производителем датчика указан номер регистра "40001" и указана команда для чтения "3".

    Подскажите, ещё по поводу Node Id, пожалуйста. Его нужно указывать самому или достаточно оставить то значение, которое задал CoDeSys по-умолчанию?

  9. #9
    Пользователь
    Регистрация
    23.01.2008
    Адрес
    Белгородская область, Валуйки
    Сообщений
    274

    По умолчанию

    ссылка работает хорошо проверил для скачивания нужно входить под логином и паролем на форум овен
    http://www.owen.ru/forum/showpost.ph...85&postcount=6

  10. #10

    По умолчанию

    NodID не трогаете. Это значение CoDeSys выдает.

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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