- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
B&R ModbuRTU
Модераторы: Глоб.модераторы, специалисты B&R
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
B&R ModbuRTU
Доброго времени суток! Есть необходимость считывания данных с модуля X20CS1030 (который также настраиваем мы) по ModbusRTU RS485. Для этого будет использоваться контроллер фирмы не B&R. Как сформировать таблицу регистров для считывания на стороне X20CS1030?
Что сделано:
1) Полностью прописана "хардвара", включая модуль X20CS1030;
2) Реализована программа считывания/преобразования аналоговых и дискретных входных сигналов;
3) Реализован алгоритм работы установки по заданному ТЗ алгоритму;
4) Добавлена библиотека DRV_mbus;
5) В конфигурации модуля X20CS1030 прописаны нужные настройки (RS485, 19200, 8бит, паритет);
Дальше начинаются сложности.
6)Из библиотеки DRV_mbus в инициализационную часть добавили MBSOpen (т.к. модуль X20CS1030 будет выступать Slave-ом,а посторонний ПЛК - мастер).
Как правильно настроить блок и прописать таблицу регистров, которую будем считывать другим контроллером??
Нашел, что параметры протокола задаются в файле Dataobject. Откуда взять это самый "DataObject"??
Благодарю за помощь.
Что сделано:
1) Полностью прописана "хардвара", включая модуль X20CS1030;
2) Реализована программа считывания/преобразования аналоговых и дискретных входных сигналов;
3) Реализован алгоритм работы установки по заданному ТЗ алгоритму;
4) Добавлена библиотека DRV_mbus;
5) В конфигурации модуля X20CS1030 прописаны нужные настройки (RS485, 19200, 8бит, паритет);
Дальше начинаются сложности.
6)Из библиотеки DRV_mbus в инициализационную часть добавили MBSOpen (т.к. модуль X20CS1030 будет выступать Slave-ом,а посторонний ПЛК - мастер).
Как правильно настроить блок и прописать таблицу регистров, которую будем считывать другим контроллером??
Нашел, что параметры протокола задаются в файле Dataobject. Откуда взять это самый "DataObject"??
Благодарю за помощь.
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
B&R ModbuRTU
Благодарю за ответ! Если я настрою модуль через MOpen.pMode:= ADR('RS485,19200,E,8,1'), что будет с параметрами связи, заданными в конфигурации модуля X20CS1030? Они буду игнорироваться?
-
- здесь недавно
- Сообщения: 64
- Зарегистрирован: 29 авг 2022, 06:28
- Имя: Александр Дубинин
- Страна: Россия
- город/регион: Абинск
- Благодарил (а): 58 раз
- Поблагодарили: 5 раз
B&R ModbuRTU
Всем привет! Ожидает примерно тоже самое. keysansa, не могли бы Вы пояснить, допустим я имею в глобальных переменных тэги TIRSA01 (REAL),TIRSA02 (REAL), TIRSA03 (REAL). Как мне поместить значения тэгов в карту регистров, например в MB3[0], MB3[1], MB3[2]?
Спасибо.
Спасибо.
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
B&R ModbuRTU
Будут перезаписаны на указанные в коде, с момента отработки данной команды.
Необходимо разбить каждый REAL (4 байта) на 2 WORD (2 байта).
Либо, как я обычно делаю:
* Имеем датчик температуры, с одним значащим (для условий установки) знаком после запятой. Значение, к примеру: 4.5674 градуса.
* Округляю до 1 знака (4.7) умножаю на 10 (47) и записываю в массив MB3[1], например.
Но я в целом стараюсь внутри программы считать именно в целых числах. В вещественные перевожу только на визуализации. Поэтому, мне нет необходимости часто выполнять такие преобразования.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
B&R ModbuRTU
Что-то делаю не так.....при попытке считать данные через MOXA1150 на модуле X20CS1030 сигнализирует только индикатор Rx. Прошу помощи разобраться. Мои шаги:
1) Конфигурация модуля: 2) Инициализационная часть: Пояснения:
Делаю преобразование REAL в INT,т.к. согласно хелпу:
Переменные int6_1, T6_1.PV, переменная в составе массива MB3[0] - являются глобальными.
3) Циклическая часть: =========================================================================================
MOXA1150 сконфигурирована на RS485.
=========================================================================================
Настройки ModbusPoll:
1)Connection: 2) Настройки соединения:
Slave_ID указываю "2", т.к."own_ID:=2" в инициализационной части программы.
=========================================================================================
Подключение к модулю X20CS1030 согласно мануалу. Контакты 11 и 21 - Данные. Контакты 13 и 23 - GND.
1) Конфигурация модуля: 2) Инициализационная часть: Пояснения:
Код: Выделить всё
intT6_1:= REAL_TO_INT(T6_1.PV);
MB3[0]:= intT6_1;
3) Циклическая часть: =========================================================================================
MOXA1150 сконфигурирована на RS485.
=========================================================================================
Настройки ModbusPoll:
1)Connection: 2) Настройки соединения:
Slave_ID указываю "2", т.к."own_ID:=2" в инициализационной части программы.
=========================================================================================
Подключение к модулю X20CS1030 согласно мануалу. Контакты 11 и 21 - Данные. Контакты 13 и 23 - GND.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
B&R ModbuRTU
Вроде все верно.
Проверьте, что настройки порта меняются в Online, ну и для цикла необходимо минимальное время выставить.
ЗЫ. В понедельник-вторник попробую найти проект, который работает (у вас какая студия? Я в 3.09 делал)
Проверьте, что настройки порта меняются в Online, ну и для цикла необходимо минимальное время выставить.
ЗЫ. В понедельник-вторник попробую найти проект, который работает (у вас какая студия? Я в 3.09 делал)
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
B&R ModbuRTU
Студия 4.12. Будет хорошо,если Вы скинете проект . Сравню со своим. Где проверить в aAS 4.12,что настройки порта меняются в Online?
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
B&R ModbuRTU
Вот, пришлось удалить папку AS (по размеру не проходила, но там runtime 3.09).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
B&R ModbuRTU
Добрый день, Ваша программа помогла! (Вроде сделано все то же самое, но не работает...)Теперь хоть видим status-ы. В режиме онлайн в MSlave status имеет код ошибки :
Из справки:
Встречались с таким? Как ее устранить?У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
B&R ModbuRTU
Данные по RS485 получаю! Что было сделано: с последней попытки опроса модуля контроллер простоял обесточенным сутки. Сегодня, ничего не меняя в настройках MBPoll-a и модуля, данные вытаскиваются (бывает проскакивает Timeout, но это уже, скорее всего, зависит от настройки программы опроса). Чудеса какие-то.....
ПыСы. keysansa, огромное спасибо за помощь!
ПыСы. keysansa, огромное спасибо за помощь!
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
B&R ModbuRTU
Надо проверить скорости обмена, паузы между запросом/ответом. Ну, и как я говорил, циклу с MBSlave - поставить минимальный тайминг.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.