|
673 / 45 / 16
Регистрация: 23.10.2015
Сообщений: 93
|
|
Прием данных по Modbus RTU (МК905 + NIM741, ST + CodeSys)23.10.2015, 15:29. Показов 6799. Ответов 10
Метки нет (Все метки)
Имеется система на базе МК905, позволяющая определять работоспособность некоторых устройств. В данной системе установлены мудули NIM741. Нужно организовать прием данных о работоспособности тех внешних устройст. Интерфейс приема данных RS-485. Программно необходимо реализовать протокол ModBus RTU, чтобы с его помощью получать данные. Кто работал с данной средой прошу помочь.
0
|
|
| 23.10.2015, 15:29 | |
|
Ответы с готовыми решениями:
10
Расшифровка данных Modbus RTU Сформировать запрос на чтение данных по протоколу modbus rtu Нет связи между модулем ввода (modbus rtu slave) и программой modbus poll на ноутбуке |
|
|
|
| 24.10.2015, 08:03 | |
|
0
|
|
|
673 / 45 / 16
Регистрация: 23.10.2015
Сообщений: 93
|
|
| 28.10.2015, 08:57 [ТС] | |
|
Немного переформулирую.
Имеется прибор. Он состоит из мк905 и различных модулей ввода-вывода. Один из модулей nim741. Необходимо организовать прием данных по RS-485 по протоколу Modbus RTU. То есть мк905 выступает в качесте мастера, а подключенное к nim741 устройство в качесте подчиненного. ьл905 и nim741 общаются по FBus интерфейсу. Добавлено через 2 минуты И протокол нужно организовать не используя конфигурацию мк905, исключительно в коде. Так как nim741 и мк905 соеденены через FBus, а не через com, Ethernet порты.
0
|
|
|
673 / 45 / 16
Регистрация: 23.10.2015
Сообщений: 93
|
|
| 28.10.2015, 09:51 [ТС] | |
|
Нет) я просто только начинаю изучать эти устройства. И не могу найти документацию, понятную для меня. Много прочитал. Много примеров просмотрел. Я не понимаю откуда взять адрес узла. Видел, что обычно в программах он указывается в конфигурации контроллера в настройках определненных портов. Но у меня nim741 подключен к мк через FBus. А в конфигурации в FBus негде установить этот адрес. Порты ком и ethrenet мне использовать нельзя так как они заняты. Также не понимаю как программно реализуется отправка запроса от сервера на разрешение получения данных от подчиненного. Само получение данных. Инициализацию я вроде бы разобрал. Библиотека для использования Modbus rtu в кодсис также не расписана и непонятна. Наверно я просто не очень способный. Но помощь получить хотелось бы. Возможно какие-то примеры программ реализации взаимодействия именно этих устройств.
0
|
|
|
|
|||
| 28.10.2015, 10:24 | |||
|
Документация http://www.prosoft.ru/products... 74813.html
NIM74101:
входящая в пакет адаптации CoDeSys для Fastwel I/O библиотека nim741_742.lib. Библиотека находится в подкаталоге “CoDeSys V2.3\Targets\Fastwel\Libraries” каталога установки среды разработки CoDeSys и содержит реализацию функциональных блоков NIM741, NIM741_DIRECT, выполняющих функцию универсального асинхронного приемо-передатчика, принимающего и передающего кадры через модуль NIM74x.
0
|
|||
|
673 / 45 / 16
Регистрация: 23.10.2015
Сообщений: 93
|
|
| 28.10.2015, 10:53 [ТС] | |
|
Спасибо. Но я уже читал данный документ. В нем описана лишь инициализация протокола в программе. А его использование не описано. Как отправлять запрос, какими командами, что отправлять, в какой последовательности, как задать адрес узла, не используя конфигурацию, с помощью каких методов принимать и отправлять данные ... все это опущено почему-то. Из этого документа понятно лишь, что есть библиотека для использования необходимого мне протокола, что у мастера и подчиненного инициализация разная
, что у них есть входные и выходные буфферы, регистры и другие параметры. А как все это поймет, что нужно принимать или посылать там не написано. Там даже иногда путаются в понятиях мастера и подчиненного, это вызывает еще большее недоумение у неопытного программиста.
0
|
|
|
|
||||||||||||
| 28.10.2015, 11:31 | ||||||||||||
Сообщение было отмечено IngProj как решение
Решение
Еще раз, если не прочитали
Работа с модулем в кодесис осуществляется использованием готовой библиотеки 'nim741_742.lib' и ее входных и выходных каналов. Как у нее внутри - не ваша парафия, ваша задача просто подключить эти каналы в среде: Входные каналы блока NIM741 представлены набором параметров
1
|
||||||||||||
|
673 / 45 / 16
Регистрация: 23.10.2015
Сообщений: 93
|
|
| 28.10.2015, 12:23 [ТС] | |
|
Спасибо большое за объяснение. Еще они вопрос
а вот как мне принятые данные передать в переменную в программе. чтоб я по принятым данных мог выполнять определенные действия. например, зажечь светодиод.Добавлено через 2 минуты И как мне поставить Вам благодарность за помощь?)))
0
|
|
|
|
|
| 28.10.2015, 12:46 | |
|
1
|
|
|
673 / 45 / 16
Регистрация: 23.10.2015
Сообщений: 93
|
||||||
| 03.11.2015, 09:13 [ТС] | ||||||
|
Здравствуйте.
Пишу программу для организации Modbus RTU в МК905 через модуль NIM741. МК905 - сервер. Для инициализации сервера используется указанная в заголовке библиотека. Данная бибилотека содержит структуру. Одно из полей данной структуры - pModbusSettings, которое также является структурой и имеет поля:
2)NodeAddress: В этом поле я должен указать любое придуманное из головы число от 1-247? И это будет адрес узла, к которому будут подключаться подчиненные устройства? Или я должен где-то этот адрес найти и указать в этом поле. 3)Допустим инициализация сервера удалась. При отладке программы можно просматривать переменную, отвечающую за статус сервера. При загрузке кода в МК905 сначала сервер имеет статус MB_SERVER_STATUS_UNDEFINED. Далее сервер переходит в состоянии MB_SERVER_STATUS_INITIALIZED. С этим все понятно. Но для работы сервера необходимо перевести его в состояние MB_SERVER_STATUS_READY и далее в MB_SERVER_STATUS_STARTED. Как это сделать, где найти примеры кодов? В документации на библиотеку демострируется лишь инициализация. Я только начинающий программист. С документациями дружу плохо. Прошу конткретных ответов
0
|
||||||
| 03.11.2015, 09:13 | |
|
Помогаю со студенческими работами здесь
11
Modbus RTU. Запись в modbus регистр Преобразование modbus rtu в modbus tcp Modbus RTU - разобрать сформированный запрос к Slave
Modbus rtu wincc Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|