|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
Здравствуйте. Скачал библиотеку для MODBUS на C# с http://nmodbus.com/ Также скачал и почитал документацию на ModBus. Я понял, что это протокол для передачи функций, т.е. управляющих воздействий, где каждой функции соответствует ответ установленного формата. Мне надо по Ethernet перегнать массив даннх на микроконтроллер (типы char и short). На основании этих данных выполнить программу и вернуть результаты обратно на компьтер. Как это сделать? А то не знаю с какой стороны к нему подойти. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 16:00 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
DymanovskyЗдравствуйте. Скачал библиотеку для MODBUS на C# с http://nmodbus.com/ Также скачал и почитал документацию на ModBus. Я понял, что это протокол для передачи функций, т.е. управляющих воздействий, где каждой функции соответствует ответ установленного формата. Мне надо по Ethernet перегнать массив даннх на микроконтроллер (типы char и short). На основании этих данных выполнить программу и вернуть результаты обратно на компьтер. Как это сделать? А то не знаю с какой стороны к нему подойти. Спасибо. а какой контроллер если не секрет ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 17:19 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
Dymanovsky, Со стороны покупки SCADA или хотя бы OPC-сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 18:20 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
Контроллер STR912FAW44X6, но от меня требуется реализация только на стороне компьютера, а не контроллера. Мне-то всего-то надо: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 08:29 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
И отправить на контроллер Код: plaintext 1. 2.
и Код: plaintext 1.
Пришлось разбить на 2 сообщения, т.к. первое отправил случайно, недописав. Жаль, что здесь нельзя править сообщения. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 08:33 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
Dymanovsky, для начала нужна связь с контроллером, судя по Вашему первому посту она есть, и контроллер готов и умеет общаться с вашим компьютером по протоколу modbus поверх TCP/IP. Подразумеваю что контроллер является слэйвом по отношению к вашему компьютеру. Если это так то пол дела сделано. Далее проще всего использовать OPC сервер. Эта штука такая, которая будет сама формировать modbus запросы к контроллеру и принимать данные. А Вы в своей проге будите работать только с OPC сервером, давать ему команды что делать. Про modbus в этом случае Вам вообще ничего знать не понадобится. Но если хотите сами реализовать всё, то придётся разобраться в протоколе modbus, научиться с ним работать поверх tcp/ip, формировать запросы и отправлять их на контроллер. Впринципе ничего сложного, если есть контроллер под руками, неделя-две работы вместе с каким то простым пользовательским интерфейсом. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 12:24 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
вопрос01, + это при условии того что карта памяти устройства Вам известна, так как modbus на сколько я помню не с переменными работает, а с ячейками памяти. Да и что то мне подсказывает, что возможно этот контроллер не по модбасу работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 12:37 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
Контроллер вообще ни по чему не работает. Просто программу для него буду писать не я :|) Мне интересно, что надо сделать (какую библеотеку подключить, функции вызвать) чтобы отправить на него хоть какие-нибудь данные, а не функции. До этого с протоколами вообще не сталкивался. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 13:44 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
DymanovskyКонтроллер вообще ни по чему не работает. Просто программу для него буду писать не я :|) Врят ли контроллер ни по чему не работает, нужно смотреть документацию к нему. У контроллера должно быть програмное ядро, по сути, как операционка на обычных компах. Врят ли тот, кто будет что то писать для контроллера, будет писать свою операционку. Он будет писать программу, которую будет запускать операционка контроллера. Я конечно, допускаю, что в ядре не реализовано никаких механизмов общения с внешними устройствами через порты контроллера, но врят ли. Это всёравно, что бы виндоуз не умела работать с сетевой картой и не знала бы никакого протокола. Тогда в одну из задач этой пользовательской программы, которую будет писать тот другой человек, будет являться реализация протокола обмена, выбор почемуто пал на модбас (зачем тогда этот протокол выбран, вообще не понятно). автор Мне интересно, что надо сделать (какую библеотеку подключить, функции вызвать) чтобы отправить на него хоть какие-нибудь данные, а не функции. так просто не получится, тут придётся программировать =) Вообще любая железяка обычно предоставляет и программное сопровождение какоето, возможно, его будет даже достаточно для Ваших целей. авторДо этого с протоколами вообще не сталкивался. для начала, изучать сетевое программирование tcp/ip потом только перебираться к модбасу, что бы пустить его поверх ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 14:31 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
вопрос01, и написали бы всетаки название контроллера STR912FAW44X6 - это походу микросхема.. уш больно название стрёмное ) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 14:55 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
STR912FAW44X6 Главные Архитектура: ARM966E-S 32-bit FLASH, byte: 544K RAM, byte: 96K Напряжение питания, В: CORE: 1.65…2 В, IO: 2.7…3.6 Периферия АЦП: 8 x 10bit (1.5MSPS) ШИМ: 7 x 16bit Сторожевой таймер: есть Часы реального времени: есть Универсальный последовательный порт, шт: 3 CAN интерфейс, шт: 1 Количество USB Device, шт: 1 Ethernet, Mbit/s: 10/100 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 14:59 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 15:01 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
там вообще всё просто - это обычный web-server The IAP using HTTP application is a mini web server that offers possibility to upload files. It is based on the uIP stack that manages all TCP/IP traffic. uIP is a free TCP/IP stack designed originally for 8-bit/16-bit microcontrollers. For more details about the uIP stack please refer to: www.sics.se/~adam/uip/. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 15:03 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
Konst_Oneтам вообще всё просто - это обычный web-server ну так даже не интересно... ) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 15:14 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
Этот пример я запускал. Хотел сначал сделать всё через Web-сервер на основе примера Adam'а Dunkels'а. Написал свой cgi-скрипт для проверки. Из страницы, с которой уже вызвались другие скрипты он вызывался, а с моей собственной (я заменил about.htm на свою) нет. Все строки, которые должны вызывать скрипт выводились как текст, хотя вызовы написал в соответствии с документацией и имеющимися примерами. Потом выяснилось, что предельная длина страницы ~ 1400 символов, что недостаточно, для описания требуемого интерфейса, даже если убрать все символы форматирования кода и написать его в строчку, используя JavaScript автогенерацию повторяющихся элементов. Там я так и непонял как, если на форме есть кнопка Submit методом GET получить с неё данные - где ловить эту пересылаемую на сервер строку. Попробовал запустить uTasker, но он оказался несовместим с Ethernet чипом (MICREL KSZ8041TL). После этих мучений было решено сделать соединение через сокеты, а т.к. в дальнейшем придётся работать с протоколом Modbus надо постараться его использовать. В документации на ModBus постоянно говорится о передаваемых функциях и данных, необходимых для их выполнения. А мне надо просто с одной стороны запаковать и отправить n байт, а сдругой стороны их принять. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 15:20 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
читайте дальше документацию, там на C коды есть и описание вызовов. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 15:26 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
DymanovskyВ документации на ModBus постоянно говорится о передаваемых функциях и данных, необходимых для их выполнения. А мне надо просто с одной стороны запаковать и отправить n байт, а сдругой стороны их принять. всё правеильно, так уж утроен модбас, в теле отправляемого сообщения помимо всякой "хрени" типо номера устройства, контрольной суммы, блока данных и пр. содержится и номер функции (а не функция). Тот кто принимает посылку, по номеру функции определяет что от него хотят, например, записать какие то данные в определенную область памяти, либо считать оттуда и передать обратно (опять же по протоклу модбас, причем, если не ошибаюсь включая номер функции) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 15:30 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
Всем привет, помогите пожалуйста, мне нужно настроить два устройства на передачу данных по сети wifi чтоб они обменивались данными без компьютера по протоколу modbus.Это мой новый проект по АСУТП одного предприятия. И причем данные надо будет передать на несколько киллометров. Контролёр Wago 750-841 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2014, 10:26 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
.net тут при чем? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2014, 10:48 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
морик, гугли modbus over wifi, это аппаратная задача ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2014, 07:59 |
|
ModBus Как ПРОСТО передать байты данных.
|
|||
---|---|---|---|
#18+
Здравствуйте форумчане, мне необходимо настроить стенд, работающий по протоколу RS485, я мало в этом понимаю, надеюсь на ваши советы. Данные идут через конвертер, модель конвертера CH340/341 model 003, Мне нужно чтобы ноутбук через конвертер отправлял запросы и получал ответы. Подключил конвертер к ноутбуку, запустил программу ModBus Pool, установил связь, светодиоды на конвертере замигали, но программма пишет - Получено недостаточное количество байтов, как исправить это? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2021, 08:25 |
|
|
start [/forum/topic.php?fid=20&msg=38613408&tid=1398237]: |
0ms |
get settings: |
12ms |
get forum list: |
26ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
406ms |
get tp. blocked users: |
2ms |
others: | 343ms |
total: | 860ms |
0 / 0 |