- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Адреса Modbus
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 30 мар 2021, 21:43
- Имя: Алексей
- Страна: Россия
- город/регион: Astrakhan
Адреса Modbus
Добрый день! Подскажите на установке стоит РПЧ Siemens Mastersrive для сопряжения с MVI56-MCM стоит Siemens DTU 3006, для преобразования Modbus в протокол USS -РПЧ Mastersrive.Как вытянуть адресацию Modbus Slave, хотят заменить на РПЧ другого производителя и чтобы не менять проект, тот ( производитель)вызвался поменять адресацию у себя на ПЧ. Заранее благодврен.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Адреса Modbus
Модули могут быть настроены через программу ЦПУ либо конфигуратором.
Во-первых, за лучшее было бы иметь проект программы из ЦПУ контроллера, который управляет MVI56-MCM.
Во-вторых, неплохо бы уточнить производителя модуля MVI56-MCM. Это Rockwell или Prosoft ?
Если Prosoft, то можно попробовать ещё выгрузить конфигурацию из модуля с помощью утилиты. Там нагляднее.
В любом случае после сбора исходных данных надо лезть в таблицу тегов ControlLogix и имея на руках мануал на MVI56-MCM смотреть значения.
Во-первых, за лучшее было бы иметь проект программы из ЦПУ контроллера, который управляет MVI56-MCM.
Во-вторых, неплохо бы уточнить производителя модуля MVI56-MCM. Это Rockwell или Prosoft ?
Если Prosoft, то можно попробовать ещё выгрузить конфигурацию из модуля с помощью утилиты. Там нагляднее.
В любом случае после сбора исходных данных надо лезть в таблицу тегов ControlLogix и имея на руках мануал на MVI56-MCM смотреть значения.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 30 мар 2021, 21:43
- Имя: Алексей
- Страна: Россия
- город/регион: Astrakhan
Адреса Modbus
Добрый день! Модуль Prosoft, пробую соединится через порт конфигурации, программой PCB не получается, кабель RG45.
Отправлено спустя 9 минут 37 секунд:
Еще такой вопрос: Как в RSLogix 5000 сфорсировать теги Modbus? Сделали стенд прогрузили проект в шасси, со стороны инженерки нужно сфорсировать точки (для записи в modbus slave), на другом конце сборки ПК со сканером modbus.
Отправлено спустя 9 минут 37 секунд:
Еще такой вопрос: Как в RSLogix 5000 сфорсировать теги Modbus? Сделали стенд прогрузили проект в шасси, со стороны инженерки нужно сфорсировать точки (для записи в modbus slave), на другом конце сборки ПК со сканером modbus.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Адреса Modbus
А мануал прочесть не судьба? Там RS-232. Схема переходника, если вы его потеряли, есть в мануале
Но и это Вам не надо. Конфигуратор прекрасно подключается к модулю через RSLinx.
Я бы делал так...
1) В Logix5000 поставил бы всю задачу, в которой копируются данные в теги, на паузу (сделал бы её неактивной) или отбил бы исполнение оператора копирования массива через AFI (обычно используется именно COP).
Можно AFI и в вызов рутины воткнуть.
2) Задавал бы значения тегов прямо в Tag Monitor-е Logix-а.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Адреса Modbus
Запросы Modbus RTU можно прослушать и расшифровать
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Адреса Modbus
Тут главное - не переборщить, и не отбить "до кучи" выполнение подпрограммы или AOI общения с самим модулем MVI
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 30 мар 2021, 21:43
- Имя: Алексей
- Страна: Россия
- город/регион: Astrakhan
Адреса Modbus
Добрый день! В RSLogix для настройки команд передаваемых по протоколу Modbus, есть поля например: Enable включение, IntAddress внутрений адрес на модуле MVI56 , с которого идет чтение запись,PolInt время опроса, Count кол-во регистров, Device номер slave устройства, в моем примере РПЧ, Func функция и DevAddress адрес в ведомом устройстве, я так понимаю начальный регистр в ПЧ. Все ли я правильно понял? Пример:
Enable 1
IntAddress 0
PoIIInt 0
Count 1
Swap 0
Device 1
Func 5
DevAddress 1
То есть, как я понял происходит подача команды на запуск/ останов насоса в соответствии с функцией 5 на ПЧ с id1 в регистр 1.
Enable 1
IntAddress 0
PoIIInt 0
Count 1
Swap 0
Device 1
Func 5
DevAddress 1
То есть, как я понял происходит подача команды на запуск/ останов насоса в соответствии с функцией 5 на ПЧ с id1 в регистр 1.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Адреса Modbus
Все теги в RSLogix5000 относятся к сообщениям по протоколу Modbus.
И если запись одиночного выхода (функция 5 Modbus) в устройство 1 по адресу 1 из элемента 0 внутреннего массива приводит к формированию команды на пуск/останов, то да.
Вам виднее.
Я же не знаю ни карты вашего устройства, ни логики вашей программы.
И если запись одиночного выхода (функция 5 Modbus) в устройство 1 по адресу 1 из элемента 0 внутреннего массива приводит к формированию команды на пуск/останов, то да.
Вам виднее.
Я же не знаю ни карты вашего устройства, ни логики вашей программы.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 30 мар 2021, 21:43
- Имя: Алексей
- Страна: Россия
- город/регион: Astrakhan
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 30 мар 2021, 21:43
- Имя: Алексей
- Страна: Россия
- город/регион: Astrakhan
Адреса Modbus
Добрый день!
Фото не могу разместить? Карта следующая:
WriteStartReg :0
WriteRegCnt:200
ReadStartReg:2000
ReadRegCnt:400
ModDef.BFFail :0
ErrStatPrt: -1
И если можно еще один вопрос, по определению адресов Holding Registers (func 3)
MCM01.P1Cmd(0)
MCM01.P1Cmd(0).Enable : 1
MCM01.P1Cmd(0).IntAddress : 2050
MCM01.P1Cmd(0).PoIIInt :0
MCM01.P1Cmd(0).Count : 5
MCM01.P1Cmd(0).Swap :0
MCM01.P1Cmd(0).Device :1
MCM01.P1Cmd(0).Func: 3
MCM01.P1Cmd(0).DevAddress: 80
MCM01.P1Cmd(1) // Ранее вопрос про запись
MCM01.P1Cmd(1).Enable : 1
MCM01.P1Cmd(1).IntAddress : 0
MCM01.P1Cmd(1).PoIIInt :0
MCM01.P1Cmd(1).Count : 1
MCM01.P1Cmd(1).Swap :0
MCM01.P1Cmd(1).Device :1
MCM01.P1Cmd(1).Func: 5
MCM01.P1Cmd(1).DevAddress: 1
То есть, на сколько я понял данные с этой команды запишутся в тег MCM01.ReadData(50), а адрес Modbus будет 40081, следующий
MCM01.P1Cmd(2)
MCM01.P1Cmd(2).Enable : 1
MCM01.P1Cmd(2).IntAddress : 2055
MCM01.P1Cmd(2).PoIIInt :0
MCM01.P1Cmd(2).Count : 5
MCM01.P1Cmd(2).Swap :0
MCM01.P1Cmd(2).Device :1
MCM01.P1Cmd(2).Func: 3
MCM01.P1Cmd(2).DevAddress: 80
......MCM01.P1Cmd(3).
Здесь тогда запишутся в тег MCM01.ReadData(55), а адрес Modbus будет 40082.
Заранее спасибо!
Фото не могу разместить? Карта следующая:
WriteStartReg :0
WriteRegCnt:200
ReadStartReg:2000
ReadRegCnt:400
ModDef.BFFail :0
ErrStatPrt: -1
И если можно еще один вопрос, по определению адресов Holding Registers (func 3)
MCM01.P1Cmd(0)
MCM01.P1Cmd(0).Enable : 1
MCM01.P1Cmd(0).IntAddress : 2050
MCM01.P1Cmd(0).PoIIInt :0
MCM01.P1Cmd(0).Count : 5
MCM01.P1Cmd(0).Swap :0
MCM01.P1Cmd(0).Device :1
MCM01.P1Cmd(0).Func: 3
MCM01.P1Cmd(0).DevAddress: 80
MCM01.P1Cmd(1) // Ранее вопрос про запись
MCM01.P1Cmd(1).Enable : 1
MCM01.P1Cmd(1).IntAddress : 0
MCM01.P1Cmd(1).PoIIInt :0
MCM01.P1Cmd(1).Count : 1
MCM01.P1Cmd(1).Swap :0
MCM01.P1Cmd(1).Device :1
MCM01.P1Cmd(1).Func: 5
MCM01.P1Cmd(1).DevAddress: 1
То есть, на сколько я понял данные с этой команды запишутся в тег MCM01.ReadData(50), а адрес Modbus будет 40081, следующий
MCM01.P1Cmd(2)
MCM01.P1Cmd(2).Enable : 1
MCM01.P1Cmd(2).IntAddress : 2055
MCM01.P1Cmd(2).PoIIInt :0
MCM01.P1Cmd(2).Count : 5
MCM01.P1Cmd(2).Swap :0
MCM01.P1Cmd(2).Device :1
MCM01.P1Cmd(2).Func: 3
MCM01.P1Cmd(2).DevAddress: 80
......MCM01.P1Cmd(3).
Здесь тогда запишутся в тег MCM01.ReadData(55), а адрес Modbus будет 40082.
Заранее спасибо!
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Адреса Modbus
Модуль MVI, назначенный как мастер по первому порту будет циклически отправлять в на шину команды, для которых устанавливаются параметры. Это для было из раздела 3.2.2 Master Command Configuration на 45 странице для стандартной адресации.Alex2011 писал(а): ↑09 апр 2021, 08:43 И если можно еще один вопрос, по определению адресов Holding Registers (func 3)
MCM01.P1Cmd(0)
MCM01.P1Cmd(0).Enable : 1
MCM01.P1Cmd(0).IntAddress : 2050
MCM01.P1Cmd(0).PoIIInt :0
MCM01.P1Cmd(0).Count : 5
MCM01.P1Cmd(0).Swap :0
MCM01.P1Cmd(0).Device :1
MCM01.P1Cmd(0).Func: 3
MCM01.P1Cmd(0).DevAddress: 80
https://disk.yandex.ru/i/w3Bephmn0YvX_A
Смещения для команд НЕ НАКАПЛИВАЮТСЯ. Для каждой команды оно абсолютное, от начала массива.
Вы можете отсылать одни и те же данные в разные устройства по разным адресам.
В инструкции также описаны и нестандартные виды адресации
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 30 мар 2021, 21:43
- Имя: Алексей
- Страна: Россия
- город/регион: Astrakhan
Адреса Modbus
--Смещения для команд НЕ НАКАПЛИВАЮТСЯ. Для каждой команды оно абсолютное, от начала массива.
Вы можете отсылать одни и те же данные в разные устройства по разным адресам.----
То есть адресация в принципе может начинатся с 40001-... не обязательно со смещением с 80 как параметре. Я так понял.
Вы можете отсылать одни и те же данные в разные устройства по разным адресам.----
То есть адресация в принципе может начинатся с 40001-... не обязательно со смещением с 80 как параметре. Я так понял.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Адреса Modbus
Конечно. Вы же рассматриваете конкретный периферийный прибор, откуда читаются данные, и конкретную программу, которая их читает и распихивает по тегам контроллера куда ей надо.
Для функции 3 адресу 40001 будет соответствовать DevAddress=0, а функция 3 с DevAddress=80 будет читать начиная с адреса 40081 количество регистров, указанное в Count.
Для функции 3 адресу 40001 будет соответствовать DevAddress=0, а функция 3 с DevAddress=80 будет читать начиная с адреса 40081 количество регистров, указанное в Count.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 30 мар 2021, 21:43
- Имя: Алексей
- Страна: Россия
- город/регион: Astrakhan
Адреса Modbus
То есть, несмотря на то что команд много, с 1 и 2 устройства и последующих, MVI будет у всех устройств судя по этой настройке считывать с 40081 адреса, меняется только device. Правильно понял?
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Адреса Modbus
По какой "по этой"? Мне что, "телепатнуть" должно что именно у вас там с конфигурировано?
Каждая команда выдаётся модулем в соответствии с её, команды, собственными настройками.
Какие они у вас там, и что в них меняется, видите только вы.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 30 мар 2021, 21:43
- Имя: Алексей
- Страна: Россия
- город/регион: Astrakhan
Адреса Modbus
Ошибся с Device
MCM01.P1Cmd(0)
MCM01.P1Cmd(0).Enable : 1
MCM01.P1Cmd(0).IntAddress : 2050
MCM01.P1Cmd(0).PoIIInt :0
MCM01.P1Cmd(0).Count : 5
MCM01.P1Cmd(0).Swap :0
MCM01.P1Cmd(0).Device :1
MCM01.P1Cmd(0).Func: 3
MCM01.P1Cmd(0).DevAddress: 80
‐‐---------
MCM01.P1Cmd(2)
MCM01.P1Cmd(2).Enable : 1
MCM01.P1Cmd(2).IntAddress : 2055
MCM01.P1Cmd(2).PoIIInt :0
MCM01.P1Cmd(2).Count : 5
MCM01.P1Cmd(2).Swap :0
MCM01.P1Cmd(2).Device :2
MCM01.P1Cmd(2).Func: 3
MCM01.P1Cmd(2).DevAddress: 80
Теги просмотрел MCM01.ReadData(50), MCM01.ReadData(55).
Отправлено спустя 1 минуту 57 секунд:
Вопрос и был с обоих устройств буду считывать 40081?
MCM01.P1Cmd(0)
MCM01.P1Cmd(0).Enable : 1
MCM01.P1Cmd(0).IntAddress : 2050
MCM01.P1Cmd(0).PoIIInt :0
MCM01.P1Cmd(0).Count : 5
MCM01.P1Cmd(0).Swap :0
MCM01.P1Cmd(0).Device :1
MCM01.P1Cmd(0).Func: 3
MCM01.P1Cmd(0).DevAddress: 80
‐‐---------
MCM01.P1Cmd(2)
MCM01.P1Cmd(2).Enable : 1
MCM01.P1Cmd(2).IntAddress : 2055
MCM01.P1Cmd(2).PoIIInt :0
MCM01.P1Cmd(2).Count : 5
MCM01.P1Cmd(2).Swap :0
MCM01.P1Cmd(2).Device :2
MCM01.P1Cmd(2).Func: 3
MCM01.P1Cmd(2).DevAddress: 80
Теги просмотрел MCM01.ReadData(50), MCM01.ReadData(55).
Отправлено спустя 1 минуту 57 секунд:
Вопрос и был с обоих устройств буду считывать 40081?
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Адреса Modbus
Именно так. По пять регистров начиная с 40081 из узлов 3 и 2.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)