1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571

RS-485, ProfiBUS, 4-20 mA, Wi-Fi, GSM и так далее

Модератор: Глоб.модераторы

Ответить

Автор темы
Froda
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 31 май 2017, 06:20
Имя: Эдуард
Страна: Россия
город/регион: Зимба

компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571

Сообщение Froda »

Добрый день господа!

Пришло компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571.
Сейчас требуется сделать диспетчеризацию с выводом данным по Modbus RTU на верхний уровень.
Производитель выдал карту памяти регистров (Исходные данные на дистанционный контроль и управление):

1.По умолчанию, действуют следующие настройки связи по протоколу MODBUS–RTU – данные настройки могут быть изменены с панели оператора:
• Скорость - 9600 Кбит/с:
• без проверки четности:
• 8 бит данных:
• 1 стоповый бит;
• адрес контроллера на шине MODBUS– по умолчанию 2.

2.Для чтения данных используется функция 03 «Чтение нескольких регистров» протокола MODBUS-RTU, для записи данных используется функция 06 «Запись одного регистра» или функция 15 «Запись нескольких регистров» протокола MODBUS-RTU.

3.Данные, передаваемые по шине MODBUS-RTU.

• Адрес регистра 20 -датчик давления Тип INT Чтение.


На столе собрал схему с преобразователем интерфейсов Moxa Uport. Включил режим преобразования RS485-USb.
С помощью OPC Keepware попытался опросить адрес 30020 (Boolean). Правильный ли адрес запроса, т.к я не силен в адресации ModbusRTU? Ответ от PLC так и не последовал :affliction: .
При опросе RXD только моргает, а TXD нет. Полярность тоже менял.
Подскажите каким образом можно диагностировать порт PLC чтобы с уверенностью можно было выйти на производителя компрессора с притензией?

Большое Спасибо!
Аватара пользователя

servo85
специалист по B&R
специалист по B&R
Сообщения: 157
Зарегистрирован: 15 фев 2014, 23:37
Имя: Волоснов Сергей
Страна: Казахстан
город/регион: Актобе
Благодарил (а): 19 раз
Поблагодарили: 12 раз

компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571

Сообщение servo85 »

Froda писал(а): Адрес регистра 20 -датчик давления Тип INT Чтение
Froda писал(а):попытался опросить адрес 30020 (Boolean)
Для функции чтения 3, как правило используются регистры 40001 и выше, например 40020, точно ли у Вас 30020? Кроме того, Вы пытаетесь считать показания датчика давления в формате INT (аналоговая величина), и Boolean они быть не могут. Для переменных типа Bool обычно (но не обязательно) используются регистры 10001, 20001 и выше. Возьмите программку по-проще, безо всяких ОРС, например Modbus Look Light.
Froda писал(а): Moxa Uport. Включил режим преобразования RS485-USb
Интерфейсный модуль в панели или в сервопреобразователе Acopos? Какая модель Акопоса? Режим RS-485 двухпроводной?
Автоматизация бардака порождает только автоматизированный бардак

Автор темы
Froda
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 31 май 2017, 06:20
Имя: Эдуард
Страна: Россия
город/регион: Зимба

компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571

Сообщение Froda »

Спасибо. Данные пошли. Заказчик указал не те контакты на разъеме DB9 (Было указано 1,2 контакт ), а нужно было (1 (Tx+/Rx+) и 9 (Tx-/Rx-). С адресацией я напутал. Так и есть нужно указать 40020 Word. Единственное данные выглядят например по факту давление 32,6 кг, а по Modbus получаю как 326кг.. Придется на верхах обрабатывать то есть делить на 10. Или может другой способ есть. Поделитесь, кто сталкивался.

Спасибо.
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571

Сообщение megavolt86 »

servo85 писал(а): 40020,
40021, если быть точным.
Froda, есть триальная версия модскана ( найдете при запросе в поисковике), так там и будет видно соединился пк с модбас устройством или нет.
Еще есть такой момент - на одних производителей адреса модбас устройств назначаются в диапазоне 0-31, а у других 1-32...если незнаете какой диапазон у вас попробуйти от вашего адреса вычесть или прибавить единичку.
Еще может быть такое, что два устройства в сети имеют одинаковый адрес. Может быть топологию вы не соблюдали при сборке стенда, если у вас больше двух устройств...
Еще у разных производителей есть разные требования по наличию терминаторов на концах шины.

Как видите причин того что не работает можно набрать с "горсточку", в вашем случае поможет или метод научного тыка или ознакомление с документацией.
Вот со второго пункта вообще в первую очередь и надо начинать ознакомление с новым (ранее неизвестным) оборудованием!!!
:ext_secret:
Аватара пользователя

servo85
специалист по B&R
специалист по B&R
Сообщения: 157
Зарегистрирован: 15 фев 2014, 23:37
Имя: Волоснов Сергей
Страна: Казахстан
город/регион: Актобе
Благодарил (а): 19 раз
Поблагодарили: 12 раз

компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571

Сообщение servo85 »

Froda писал(а): по факту давление 32,6 кг, а по Modbus получаю как 326кг
Integer - целочисленный формат (целая и дробная части не разделены точкой), ему требуется масштабный множитель. Чтобы избежать необходимости в множителях, применяют формат с плавающей точкой - float. Но это не в Вашей власти, а во власти разработчика программы для ПЛК.
Автоматизация бардака порождает только автоматизированный бардак

Автор темы
Froda
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 31 май 2017, 06:20
Имя: Эдуард
Страна: Россия
город/регион: Зимба

компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571

Сообщение Froda »

Получилось считать значения с аналоговых адресов.
Подскажите, а как считать дискретные значения?
В карте регистров указан адрес 31 (Holding Registr) и далее в нем указаны состояние каналов измерения датчиков:
0 бит – Отказ канала измерения;
1 бит – Отказ канала измерения;
2 бит – Отказ канала измерения;
3 бит – Отказ канала измерения;
4 бит – Отказ канала измерения;
5 бит – Отказ канала измерения;
6 бит – Отказ канала измерения;
7 бит – Отказ канала измерения;
При обращении с пом. KepWare по адресу 400031 WORD выдает значение 376. Каким образом можно обратится к каждому из бит?
Ответить

Вернуться в «Интерфейсы, протоколы, связь»