Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 39

Тема: Не присваивается модулю Slave id

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Не присваивается модулю Slave id

    Здраствуйте.В ModBus получается подключится под slave id 1 к модулю. Но когда я пытаюсь изменить slave id на 2 это не получается сделать. Т.е ID меняется на 2 , но входа выхода управляются только под slave id 1. А когда отключанаю питание к модулю вообще возвращается slave id 1. Функцию 3( ReadHoldingRegistr4x пробовал). Помогите пожалуйста.
    Модуль CWT-BK-1616T-S.
    Карта регистров. ПОМОГИТЕ ПОЖАЛУЙСТА!)
    Параметры PLC
    Адрес
    Код функции Формат Содержание Запись/Чтение
    Адрес 40001 03/06 UINT16 1~255 Запись/Чтение
    Бит состояние 40002 03/06 UINT16 Бит0: связь RS232.
    Бит 1: связь RS485
    Запись/Чтение
    Скорость в baud 40003 03/06 UINT16 48: 4800bps
    96: 9600bps
    192: 19200bps
    1152: 115200bps
    Запись/Чтение
    Четность 40004 03/06 UINT16 0: нулевой
    1: четный
    2: ничетный
    Запись/Чтение

  2. #2

    По умолчанию

    ну это форум ОВЕН, а вы купили китайскую железку, сами решили скроить копеечку, теперь сами и страдайте
    Т.е ID меняется на 2
    каким образом вы это узнали?
    а скорость меняется под айди 1?
    а под айди 2?
    может ничего и не поменяется, при заказе надо было указывать адрес, а вам дали прошивку по-умолчанию, с номером 1, встречал такие приколы

  3. #3

    По умолчанию Спасибо за ответ.

    Цитата Сообщение от In_Da_Cher_A Посмотреть сообщение
    ну это форум ОВЕН, а вы купили китайскую железку, сами решили скроить копеечку, теперь сами и страдайте
    каким образом вы это узнали?
    а скорость меняется под айди 1?
    а под айди 2?
    может ничего и не поменяется, при заказе надо было указывать адрес, а вам дали прошивку по-умолчанию, с номером 1, встречал такие приколы




    Отвечу на вопросы по порядку:
    1)каким образом вы узнали что меняется slave id на 2? Ответ. визуально в modbus у строки slave id вместо 1 становится значение 2
    2) скорость (scan rate) меняется и на id 1 и на id 2 . А baud только на 9600 дает соедениться

    по поводу прошивки: у меня есть утилита для прошивки этого модуля.Но в самом мануале про этот подуль идет смена id через утилиту ModBus с помощью функции write single registr.
    У них регистр меняется ,у меня нет.Почему? не понятно
    в мануале написано что если смотреть через окно communication при slave id 1
    Tx:000058-01 03 00 00 00 01 84 0A
    Rx:000059-01 03 02 00 01 79 84
    У меня так же, а вот когда я меняю на slave id 2 мои tx rx не совпадаю с тем что написано в мануале
    в мануле при slave id 2 :
    tx 06 00 02 04 80 2В 6А
    rx 06 00 02 04 80 2В 6А
    а у меня
    Tx:000070-01 03 00 00 00 04 44 09
    Rx:000071-01 03 08 00 02 C0 02 00 60 00 00 DE C9

  4. #4

    По умолчанию

    Разберём все посылки. Ориентируюсь на эту вот статью из инета: https://ipc2u.ru/articles/prostye-resheniya/modbus-rtu/
    Начало посылок - всегда АДРЕС устройства.
    Конец - всегда два байта CRC.

    Цитата Сообщение от Max434 Посмотреть сообщение
    в мануале написано что если смотреть через окно communication при slave id 1
    Tx:000058-01 03 00 00 00 01 84 0A
    Rx:000059-01 03 02 00 01 79 84
    Передаём: Для Адреса 0x01 Команда 0x03 - прочитать значение из регистра 0x00 00 в количестве 0x00 01 штук.
    Принимаем: От Адреса 0x01 ответ на Команду 0x03 - значения из регистров, занимают 2 байта (1 регистр) и равны 0x00 01.
    То есть, тут мы читаем адрес при помощи команды 0x03 из РЕГИСТРА НОМЕР 0.

    Цитата Сообщение от Max434 Посмотреть сообщение
    tx 06 00 02 04 80 2В 6А
    rx 06 00 02 04 80 2В 6А
    Это какая-то херня. Мы передаём, если это Modbus, Адресу 6 команду 00. Такого не бывает.

    Цитата Сообщение от Max434 Посмотреть сообщение
    Tx:01 03 00 00 00 04 44 09
    Rx:01 03 08 00 02 C0 02 00 60 00 00 DE C9
    Передаём: для Адреса 0x01 команду 0x03 прочитать регистры начиная 0x00 00 в количестве 0x00 04 - четырёх штук.
    Принимаем: от Адреса 0x01 ответ на команду 0x03 (чтение регистров) в виде 0x08 - 8 байт данных (4 регистра по 2 байта). Данные регистров:
    0 = 0x00 02
    1 = 0xC0 02
    2 = 0x00 60
    3 = 0x00 00

    ...якобы в регистре 0 (адрес, как написано в документации) записано 0x00 02.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  5. #5

    По умолчанию

    спасибо,доступно для понимания

  6. #6

    По умолчанию

    Нужно больше точной инфы. В какой номер регистра и чем посылается запрос на смену адреса?
    Запрос проходит успешно?
    А то ведь 40001 - ЭТО НЕ НОМЕР РЕГИСТРА, КУДА НАДО ПИСАТЬ.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  7. #7

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    Нужно больше точной инфы. В какой номер регистра и чем посылается запрос на смену адреса?
    Запрос проходит успешно?
    А то ведь 40001 - ЭТО НЕ НОМЕР РЕГИСТРА, КУДА НАДО ПИСАТЬ.
    при коннекте с модулем я использую read holding registrs .adress у меня получается 1 тк стоит галочка в PLC adress Base(1). Чтобы сменить адрес после подключения к slave id 1 я использую функцию write singl registr
    пареметры
    slave id 1
    adress 1
    value 2
    Запрос проходит успешно и строка с slave id 1 меняется на slave id 2 . Но входами выходами я управлять не могу под slave id 2 . Могу только при slave id 1. получается даже так что строка визуально показывает что slave id 2 а управление входами выходами происходит под slave id 1 .


    еще конкретная информация :
    в мануале к модулю написано что если смотреть через окно communication при slave id 1
    Tx:000058-01 03 00 00 00 01 84 0A
    Rx:000059-01 03 02 00 01 79 84
    У меня так же, а вот когда я меняю на slave id 2 мои tx rx не совпадаю с тем что написано в мануале
    в мануле при slave id 2 :
    tx 06 00 02 04 80 2В 6А
    rx 06 00 02 04 80 2В 6А
    а у меня
    Tx:000070-01 03 00 00 00 04 44 09
    Rx:000071-01 03 08 00 02 C0 02 00 60 00 00 DE C9

  8. #8

    По умолчанию

    Используйте геркулес и https://rapidscada.net/modbus/
    Разберитесь с модбасом. А то вы похоже путаете и коилы, и регистры, и команды чтения и записи.

  9. #9

    По умолчанию

    ознакомлюсь,спасибо. Но эту задачу с присвоением все равно надо решить)

  10. #10

    По умолчанию

    Цитата Сообщение от Max434 Посмотреть сообщение
    ознакомлюсь,спасибо. Но эту задачу с присвоением все равно надо решить)
    С китайскими платами могут быть любые заморочки, например может нужно подтверждение смены ID по другому адресу или после перезагрузки.
    А бывает что адрес вообще не меняется, или опять же из-за отсутствия документации адрес записи (подтверждения) не известен.

Страница 1 из 4 123 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 05.04.2023, 12:22
  2. Как обратиться к модулю ввода?
    от дрю в разделе ПЛК1хх [М02]
    Ответов: 4
    Последнее сообщение: 19.04.2021, 15:25
  3. НПТ-1 к модулю ввода
    от AndreyAndrey в разделе Подбор Оборудования
    Ответов: 1
    Последнее сообщение: 20.05.2019, 11:59
  4. Вопрос по модулю МУ 110 8И
    от Severvel в разделе Мх110
    Ответов: 8
    Последнее сообщение: 10.05.2017, 12:31
  5. Ответов: 1
    Последнее сообщение: 28.01.2011, 16:42

Ваши права

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