Добрый день господа!
Пришло компрессорное оборудование на базе 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 так и не последовал .
При опросе RXD только моргает, а TXD нет. Полярность тоже менял.
Подскажите каким образом можно диагностировать порт PLC чтобы с уверенностью можно было выйти на производителя компрессора с притензией?
Большое Спасибо!
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 31 май 2017, 06:20
- Имя: Эдуард
- Страна: Россия
- город/регион: Зимба
-
- специалист по B&R
- Сообщения: 157
- Зарегистрирован: 15 фев 2014, 23:37
- Имя: Волоснов Сергей
- Страна: Казахстан
- город/регион: Актобе
- Благодарил (а): 19 раз
- Поблагодарили: 12 раз
компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571
Для функции чтения 3, как правило используются регистры 40001 и выше, например 40020, точно ли у Вас 30020? Кроме того, Вы пытаетесь считать показания датчика давления в формате INT (аналоговая величина), и Boolean они быть не могут. Для переменных типа Bool обычно (но не обязательно) используются регистры 10001, 20001 и выше. Возьмите программку по-проще, безо всяких ОРС, например Modbus Look Light.
Интерфейсный модуль в панели или в сервопреобразователе Acopos? Какая модель Акопоса? Режим RS-485 двухпроводной?
Автоматизация бардака порождает только автоматизированный бардак
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 31 май 2017, 06:20
- Имя: Эдуард
- Страна: Россия
- город/регион: Зимба
компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571
Спасибо. Данные пошли. Заказчик указал не те контакты на разъеме DB9 (Было указано 1,2 контакт ), а нужно было (1 (Tx+/Rx+) и 9 (Tx-/Rx-). С адресацией я напутал. Так и есть нужно указать 40020 Word. Единственное данные выглядят например по факту давление 32,6 кг, а по Modbus получаю как 326кг.. Придется на верхах обрабатывать то есть делить на 10. Или может другой способ есть. Поделитесь, кто сталкивался.
Спасибо.
Спасибо.
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571
40021, если быть точным.
Froda, есть триальная версия модскана ( найдете при запросе в поисковике), так там и будет видно соединился пк с модбас устройством или нет.
Еще есть такой момент - на одних производителей адреса модбас устройств назначаются в диапазоне 0-31, а у других 1-32...если незнаете какой диапазон у вас попробуйти от вашего адреса вычесть или прибавить единичку.
Еще может быть такое, что два устройства в сети имеют одинаковый адрес. Может быть топологию вы не соблюдали при сборке стенда, если у вас больше двух устройств...
Еще у разных производителей есть разные требования по наличию терминаторов на концах шины.
Как видите причин того что не работает можно набрать с "горсточку", в вашем случае поможет или метод научного тыка или ознакомление с документацией.
Вот со второго пункта вообще в первую очередь и надо начинать ознакомление с новым (ранее неизвестным) оборудованием!!!
-
- специалист по B&R
- Сообщения: 157
- Зарегистрирован: 15 фев 2014, 23:37
- Имя: Волоснов Сергей
- Страна: Казахстан
- город/регион: Актобе
- Благодарил (а): 19 раз
- Поблагодарили: 12 раз
компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571
Integer - целочисленный формат (целая и дробная части не разделены точкой), ему требуется масштабный множитель. Чтобы избежать необходимости в множителях, применяют формат с плавающей точкой - float. Но это не в Вашей власти, а во власти разработчика программы для ПЛК.
Автоматизация бардака порождает только автоматизированный бардак
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 31 май 2017, 06:20
- Имя: Эдуард
- Страна: Россия
- город/регион: Зимба
компрессорное оборудование на базе CPU B&R Acopos 4PP065.0571
Получилось считать значения с аналоговых адресов.
Подскажите, а как считать дискретные значения?
В карте регистров указан адрес 31 (Holding Registr) и далее в нем указаны состояние каналов измерения датчиков:
0 бит – Отказ канала измерения;
1 бит – Отказ канала измерения;
2 бит – Отказ канала измерения;
3 бит – Отказ канала измерения;
4 бит – Отказ канала измерения;
5 бит – Отказ канала измерения;
6 бит – Отказ канала измерения;
7 бит – Отказ канала измерения;
При обращении с пом. KepWare по адресу 400031 WORD выдает значение 376. Каким образом можно обратится к каждому из бит?
Подскажите, а как считать дискретные значения?
В карте регистров указан адрес 31 (Holding Registr) и далее в нем указаны состояние каналов измерения датчиков:
0 бит – Отказ канала измерения;
1 бит – Отказ канала измерения;
2 бит – Отказ канала измерения;
3 бит – Отказ канала измерения;
4 бит – Отказ канала измерения;
5 бит – Отказ канала измерения;
6 бит – Отказ канала измерения;
7 бит – Отказ канала измерения;
При обращении с пом. KepWare по адресу 400031 WORD выдает значение 376. Каким образом можно обратится к каждому из бит?