PDA

Просмотр полной версии : Подключение датчика по протоколу Modbus



alexxx
21.11.2008, 16:29
Здравствуйте. Помогите подключить датчик температуры и влажности по протоколу Modbus RTU

Инструкция к датчику во вложении. Как устанавливать скорость передачи и номер устройства я разобрался, а вот что прописывать в Конфигурации ПЛК никак не пойму... Пожалуйста, помогите.

Ельцов Андрей
22.11.2008, 16:34
Если у Вас есть преобразователь в rs485 рекомендую попытаться установить связь с датчиком без GKR? например с помощью прогрммы Modbus tester. А после этого с ПЛК бвдет попроще.
Что касется комманд и адресов с которых нужно читать. Как я понял по руководству, там всего 2 адреса. Скорее всего это адреса 0 и 1. По функции 3х. Хотя это могут быть и адреса 30001 и 30002 (нужно будет перевести шестнадцатеричный вид). Функции могут быть 3х и 4х. Не забудте настроить сетевые параметры и обращаться неоходимо именно к тому адресу, который вы задали в датчике...

alexxx
22.11.2008, 18:37
Если у Вас есть преобразователь в rs485 рекомендую попытаться установить связь с датчиком без GKR? например с помощью прогрммы Modbus tester. А после этого с ПЛК бвдет попроще.
Что касется комманд и адресов с которых нужно читать. Как я понял по руководству, там всего 2 адреса. Скорее всего это адреса 0 и 1. По функции 3х. Хотя это могут быть и адреса 30001 и 30002 (нужно будет перевести шестнадцатеричный вид). Функции могут быть 3х и 4х. Не забудте настроить сетевые параметры и обращаться неоходимо именно к тому адресу, который вы задали в датчике...

То есть нужно в конфигурации ПЛК создать "modbus master", в нем "universal Modbus device", a внутри него "register output module" 2 штуки?
В инструкции к датчику написано, что адреса 30001(0000) и 30002(0001). Подскажите, как считать из них значения?
Извините, если где ерунду написал, я чайник совсем в этих протоколах связи... Спасибо за помощь!

Ельцов Андрей
24.11.2008, 09:58
В целом правильно. Только не "output modul" а "input modul". Там в настройках можно выбирать вид команды 0х03 или 0х04. И там же в настройках поизграться с кадресами.

Филоненко Владислав
24.11.2008, 16:24
3xxxx, где 3 - номер команды, хххх - 16-ти ричный адрес

alexxx
24.11.2008, 20:42
3xxxx, где 3 - номер команды, хххх - 16-ти ричный адрес

Извините, а нельзя ли поподробнее. В параметрах "Universal modbus device" ставлю адрес слейв устройства 1... (нужно что-нибудь еще менять?) Далее создаю два "register input module", в графе адрес регистра пишу 0 и 1, в графе команда выбираю 0х04. Не работает, переменная Last error=81, в инструкции к датчику написано, что неверный запрос. Как сделать правильный запрос?

Николаев Андрей
25.11.2008, 10:24
Проверьте настройки RS-485 в конфигураторе ПЛК. В часности какой режим стоит ModBus или RTU?

alexxx
25.11.2008, 10:39
Проверьте настройки RS-485 в конфигураторе ПЛК. В часности какой режим стоит ModBus или RTU?
Там вроде все нормально настроено, RTU. МВУ8 еще подключено, работает.
В инструкции к датчику написано что запрос должен быть 01 04 00 00 00 02 71 CB, где 01- номер прибора, 04 - комманда, 00 00- адреса куда писать регистры, 00 02 - кол-во регистров, 71 CB - контрольная сумма. Как мне послать правильный запрос?

Николаев Андрей
25.11.2008, 17:46
давайте с начала:
Скорость обмена?
Адрес изделия? Точно первый? Вы его не меняли?
Точно ли стоит RTU в настройках RS-485?
В настройках UMD параметр Byte Sequence пробовали ставить (Ваш случай)?
Команда для чтения 4?

Если все перепробовали - настройте как показано на вложенном файле стринговую переменную (на 4 байта) и пришлите значение нам, вместе с значением физического сигнала на момент передачи.

alexxx
25.11.2008, 18:32
давайте с начала:
Скорость обмена?
Адрес изделия? Точно первый? Вы его не меняли?
Точно ли стоит RTU в настройках RS-485?
В настройках UMD параметр Byte Sequence пробовали ставить (Ваш случай)?
Команда для чтения 4?

Если все перепробовали - настройте как показано на вложенном файле стринговую переменную (на 4 байта) и пришлите значение нам, вместе с значением физического сигнала на момент передачи.

Большое спасибо всем за внимание к моей проблеме.
Я выяснил причину молчания датчика. Почемуто датчик не хочет работать вместе с МВУ8! Отсоединяю МВУ от RS485, датчик начинает вещать. Причем даже когда МВУ обесточено, датчик работать отказывается... Как это можно исправить?

Филоненко Владислав
25.11.2008, 20:05
Сменить адрес датчика или МВУ

alexxx
25.11.2008, 20:30
Сменить адрес датчика или МВУ
Не помогает... Мву можно вообще не указывать в конфигурации, достаточно просто подсоединить к нему A и В, и показания от датчика перестают поступать.

alexxx
26.11.2008, 10:18
Получается - что МВУ даже в выключенном состоянии блокирует сигнал от датчика... Кто-нидудь сталкивался с подобной проблемой?
Подключал вместо МВУ МДВВ, тоже самое....

Малышев Олег
26.11.2008, 10:59
Сталкивался. Берем тестер и смотрим что с землей.

alexxx
26.11.2008, 18:55
У меня все на столе разложено. Что именно нужно заземлить? Или не заземлять? Пожалуйста, пишите подробнее

Малышев Олег
27.11.2008, 11:25
1) Сначала проверьте что датчик и МВУ(МВА) имеют разные адреса
2) Убедитесь, что датчик не начинает отвечать на любой запрос по любому адресу
3) С землей проблема была когда подключали ЧРП - пока не заземлили. Ситуация была абсолютно аналогичная - работал или ЧРП или МДВВ. Когда заземлили нормально - (по инструкции) ЧРП все заработало.

alexxx
27.11.2008, 12:08
1) Сначала проверьте что датчик и МВУ(МВА) имеют разные адреса
2) Убедитесь, что датчик не начинает отвечать на любой запрос по любому адресу
3) С землей проблема была когда подключали ЧРП - пока не заземлили. Ситуация была абсолютно аналогичная - работал или ЧРП или МДВВ. Когда заземлили нормально - (по инструкции) ЧРП все заработало.

Мву можно вообще не указывать в конфигурации, и не подключать его к сети 220в. Достаточно подсоединить А и В, и датчик замолкает. Дачтик запитан от БП30Б-Д3 24в, там всего 4 клемы: +24в, земля, А и В. Заземлять там особенно нечего...
Адреса у мву8 и датчика разные. Датчик отвечает только на запрос в его адрес... Может я провода не те использую? Обычная витая пара...

Малышев Олег
27.11.2008, 13:32
Про терминирующие резисторы помните?
http://www.gaw.ru/html.cgi/txt/interface/rs485/app.htm

alexxx
27.11.2008, 15:14
А можно подключить МВУ через rs232? Блин, хоть реле ставь, чтобы переключало RS485 c датчика на МВУ и обратно...

Малышев Олег
27.11.2008, 15:47
Вообще то есть преобразователь RS232-rs485 AC3M

alexxx
27.11.2008, 16:46
Вообще то есть преобразователь RS232-rs485 AC3M

Да, он у меня есть. Только там кабель нужно перепаять (который от ПЛК к преобразователю идет). Кто-нибудь подскажет схему кабеля?

Думаете, будет работать?

Филоненко Владислав
27.11.2008, 20:41
В конце РЭ.