PDA

Просмотр полной версии : [ПЛК][МВ110-224.2АС] Связь по Modbus



Frayl
23.10.2012, 10:17
Добрый день. Не могу решить проблему уже целый день. Вот в РЭ на МВ110-224.2А четко указано - для снятия показаний со входов присвойте одному Real Input register адрес 4 а другому адрес 10. Все понятно и прозрачно. А вот с МВ110-224.2АС начинается путаница. Я уже какие только адреса не перебрал - либо значение в 0. Либо в какое-то не то и не меняется.
Кто может подсказать как точно снять показания с 1го и 2го каналов МВ110-224.2АС используя их связь RS485/ Modbus Ascii в программе на ПЛК (используя Codesys).

Николаев Андрей
23.10.2012, 10:19
Посмотрите номера регистров для 2АС.

Frayl
23.10.2012, 10:26
я посмотрел - написано 0x100 и 0x101
в ПЛК конфигураторе вбивал 256 и 257 соответственно

capzap
23.10.2012, 10:36
я посмотрел - написано 0x100 и 0x101
в ПЛК конфигураторе вбивал 256 и 257 соответственно

Было бы не плохо увидеть более полную картинку конфигуратора, надеюсь по приведенным Вами регистрам не хотите получить два реала

Frayl
23.10.2012, 10:45
ммм. А зачем более полная? нет не надеюсь так-то регистры рядом. А что делать если надо два реала то. Но блин уже пожалел, что взял с буквой С. Возни с ним...

capzap
23.10.2012, 11:34
в одном регистре может сместится только инт, для флоатов нужно два регистра, но можно обойтись и интовым числом умножив его и далее преобразовав в реал

Frayl
23.10.2012, 11:36
А адреса то регистров какие? С какой целью сделали такое сильно отличие от обычного МВ110-224.2А

Frayl
23.10.2012, 11:37
и как и на что надо умножить? Может я где-то что-то недочитал? Вроде всё прочитал что было написано в РЭ и прочей документации на диске к этому прибору. То, что в 0х100 хранится int16 умноженный на 10 в степени dP результат измерения я вижу. Но значение не меняется либо в 0 или 1. А я так понимаю должны быть мА. При подключении напрямую через конфигуратор я вижу что измеренные значения изменяются.

capzap
23.10.2012, 12:10
виноват, конечно в плк надо делить на десять тогда.

Frayl
23.10.2012, 16:08
так. со всем этим я разобрался. Возникла другая проблема, причем вполне серьезная. На RS485 у меня висит ПЛК (мастер) сторонний терминал(слейв) и МВ110(слейв). Со сторонним терминалом я общаюсь по его протоколу используя библиотеку. И когда я открываю порт средствами этой библиотеки, ПЛК перестаёт опрашивать МВ110 через средства ПЛК конфигуратора. То есть получается надо опрашивать МВ110 тоже средствами этой библиотеки. А как? Какой CRC? какой вообще протокол. Может быть есть у кого наработки? Или советы? Мне нужно только читать регистры 0х100 и 0х101.

capzap
23.10.2012, 16:21
у модулей ограниченное количество протоколов, модбас самый распространенный из доступных, Вам свой терминал надо переводить на него, если же нет то в плк разрабатывать оба протокола под библиотеку UNM

Frayl
23.10.2012, 16:38
>.< попал я короче. терминал на модбас не перевести

capzap
23.10.2012, 17:36
у плк должен быть еще порт например 232, остается прикупить ас-3м и можно дальше опыты ставить

Николаев Андрей
23.10.2012, 23:14
Есть бесплатная библиотечка ModBus.Lib Распространяется на диске с ПЛК или на сайте.
C помощью неё можно.
Описание протокола и подсчет CRC сделано согласно modbus.org

capzap
23.10.2012, 23:30
Есть бесплатная библиотечка ModBus.Lib Распространяется на диске с ПЛК или на сайте.
C помощью неё можно.
Описание протокола и подсчет CRC сделано согласно modbus.org

Не предлагайте, другой протокол через неё не получится читать, а для другого способа использовать порт библиотеки нет

Николаев Андрей
24.10.2012, 08:57
Почему не предлагать?
У человека уже одна библиотека для работы с терминалом работает.
Подключаем вторую библиотеку, и периодически обе библиотеки управляют портом.

capzap
24.10.2012, 12:32
Почему не предлагать?
У человека уже одна библиотека для работы с терминалом работает.
Подключаем вторую библиотеку, и периодически обе библиотеки управляют портом.
как бы modbus.lib предназначена для работы с syslibcom а не UNM, и кстати как насчет перспектив ловить "мусор" в сети где находятся два устройства с разными протоколами, уверены что мешать не будут?

Frayl
24.10.2012, 16:13
По идее мне нужно всего два регистра читать с МВ и больше ничего. Может какой-то урезанный протокол загнать используя комсервис. А все остальные порты у меня заняты. Езернет для ПК, РС232 для панели.

JIexa21
25.10.2012, 08:23
Используя UNM, можно читать все что угодно с абсолютно разными протоколами. Единственное ограничение, которое не удалось обойти - у устройств должны быть одинаковые скорости. Создание второго unm в конфигурации с другой скоростью, но с этим же портом не работает даже при условии полного освобождении этого порта. Хотя по логике должно было работать...

Frayl
25.10.2012, 09:08
следующий вопрос - что такое UNM в конечном итоге и с чем его едят? Где скачать правильную библиотеку и документацию?

Yegor
25.10.2012, 11:16
Библа. С доками (http://www.freedrive.com/file/1561643,-unm.pdf). На компашке с плкашкой.

Frayl
26.10.2012, 10:13
Благодарю за подсказку

YuriBel
26.10.2012, 13:06
А может стоит пересадить панель с 232 на 485 на одну линию с МВ110, тогда 232 освободится для ваших нужд, и разгребать два протокола на одном порту будет не нужно. переход 232-485 решается путем АС3 или ему подобным.

Frayl
29.10.2012, 07:38
@YuriBel не вариант. У меня панель мастер на RS232. Так удобнее с изменяемыми retain параметрами работать. А данные c МВ110 как отправлять в контроллер я не знаю. В смысле если подключать МВ110, ИП320 и ПЛК100 по RS232 и панель мастер

Frayl
29.10.2012, 07:59
@Валенок. максимум 32 байта

capzap
29.10.2012, 08:17
я поддержу Валенка, панель легко будет работать и слейвом

Валенок
29.10.2012, 09:31
автор МВ явно не работал с КДС

Frayl
29.10.2012, 09:59
@Валенок - немного не понял)

Валенок
29.10.2012, 10:50
Я про автора МВ110

Frayl
30.10.2012, 07:09
панель будет. но там требуются дополнительные волнения для запоминания параметров retain

capzap
30.10.2012, 07:30
:) а У Вас сейчас нет ни каких "волнений"

Frayl
30.10.2012, 07:44
ну так то да...по сравнению с тем, что сейчас приходится решать, волнения со слейв панелью цветочки