PDA

Просмотр полной версии : Modbus RTU считать поток данных



Alex_Nev
31.07.2013, 14:49
Здравствуйте!
Подскажите пожалуйста, как можно считать поток данных по модбас рту. Связка овен плк + счетчик ЦП9010. в счетчике реализован модбас рту. ответ примерно 56 байт.

Ryzhij
31.07.2013, 15:21
Так называемых программ-сниферов на линии RS485 (и не только) много. Можете выбрать себе по вкусу.
Например, ComRead v.2.01 - "Сканер и транслятор данных для последовательных сетей передачи данных: RS-232, RS-485, ModBus, HART и других" (http://www.softelectro.ru/comread2.html)

Alex_Nev
31.07.2013, 15:32
Извиняюсь, правильно поставленный вопрос, половина ответа))) Мне нужно получить их с помощью ПЛК(скажем плк 100). все команды и регистры известны. но ответ массив байт. Я так понимаю конфигуратором такое не сделать. Нужно подключать библиотеки.

Alex_Nev
31.07.2013, 15:34
За ссылку огромное спасибо!!!! Нужная вещь!!!

kgsh82
31.07.2013, 19:18
Извиняюсь, правильно поставленный вопрос, половина ответа))) Мне нужно получить их с помощью ПЛК(скажем плк 100). все команды и регистры известны. но ответ массив байт. Я так понимаю конфигуратором такое не сделать. Нужно подключать библиотеки.
Совершено верно! Скачивайте библиотеку и пробуйте. С биб-кой есть пример. Вот только говорят, что неправильный - но сам не проверял.

Alex_Nev
31.07.2013, 23:37
В том то и дело, скачал поставил, но не получается стартануть. Там пример для Ascii. Режим поставил RTU, но нет доступа к порту 0(0-RS485). Алгоритмы расчета контрольной суммы тоже разные для ASCII и RTU. Какую библиотеку надо использовать? comsyslib или modbus, или обе, или другую))) вот в чем вопрос. Использовать стандартные функции модбас или с нуля писать протокол? Просто заново изобретать велосипед не хочется)))))

kgsh82
01.08.2013, 18:05
На порт №0 КДС ругается, но работает. А ругается потому что номера портов начинаются с 1. Почему овеновцы так сделали - не знаю. По поводу библиотек - modbus и comservice. Syslibcom подключится автоматически.
Можно также использовать библиотеку UNM. Сам не пробовал, но примеры на сайте есть. Надеюсь, что рабочие.

Alex_Nev
02.08.2013, 10:49
Подключил UNM. Прибор инициализируется ОК, Но как только отправляю посылку, он отваливается от среды(codesys). Судя по морганию светодиода обмен какой-то идет.

Alex_Nev
02.08.2013, 22:42
Спасибо! Поменял порт на 1. Не отваливается. Программа UNM связь с МВА8 не совсем работает))) CRC считается правильно. Но как только появляется 0, строка для SetByte дальше обрывается. Переменные передаются в строку через указатели(т.е. переделываю пример). На форуме поднимался этот вопрос, но увы ответ на него не помогает((. Пример написан для плк154. У меня ПЛК100. Codesys(2.3.9.26). Движение определенно есть!!! Что не может не радовать)))

kgsh82
04.08.2013, 21:29
Можно попробовать на примере с UNM сотворить подобное используя Syslibcom и Comservice.