Форум программистов, компьютерный форум, киберфорум
Наши страницы
Электроника для начинающих
Войти
Регистрация
Восстановить пароль
 
kotobyti
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,352
#1

modbus для ленивого нуба - Электроника

27.08.2010, 01:02. Просмотров 8371. Ответов 8
Метки нет (Все метки)

а вот кто расскажет в паре слов про это дело? в плане использования его в станке
я так понял, что это протокол типа послал байт в мк, а он выставил на выводе 1 или 0 или принял с вывода сигнал

есть вот modbus rtu, который вроде поддерживает мах3
и есть http://www.hobbycnc.hu/CNC/MBIO/MBIO_en.html типа готовый девайс или прошитый дспик с платой
20 евров хотят за пик с прошивкой, но меня ломает платить что-то
поискал и нарыл на аврах
http://www.freemodbus.org/index.php?idx=32
http://pinokio3000.narod.ru/sourches/modbus.htm

вот это дело можно прикрутить на мах3? или каждая прога имеет свои заморочки и прошивка должна это учитывать?
хотел повесить 4 концевика и 1 стоп + шпиндель и там еще некоторые вещи
лпт порта не хватает
http://www.cyberforum.ru/electronics-beginners/thread2102820.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2010, 01:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос modbus для ленивого нуба (Электроника):

Оригинальные часы от очередного нуба
http://www.youtube.som/watch?v=8ArHiJlj5ok вначале видео - сброс стрелок в...

Modbus плата к ПЧ Sinus N
Есть такой итальянский частотник Sinus N, и в инструкции сказано, что к нему...

Помогите определиться. Modbus или Wake
Делаю небольшую автоматизацию на садовом участке. В систему хочу заложить запас...

Ищу лазерный дальномер с Modbus RTU
Здравствуйте. Ищу промышленный дальномер с Modbus RTU на борту. Дальность...

Количество устройств MODBUS на одном RS232
Здравствуйте! Можно ли подключить несколько устройств через один RS232 для...

8
Ymk
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,233
27.08.2010, 08:28 #2
если честно, я не понял вопроса, что именно-то интересует и что хотите понять?

если что, модбас имеет типа адреса ячеек и можно в них писать и читать. уже в контроллере можете при записи в ячейку выдавать этот байт в порт контроллера и рулить чем надо.

freemodbus народ вроде юзал. тут главное смотрите, хостовая прога поддерживает RTU или ASCII. если RTU, и вы умеете RTU, значит все возможно.

кэп.
0
kotobyti
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,352
27.08.2010, 09:18 #3
ну мах3 это довольно крутая прога для управления станками
она держит рту, но этот халявный модбас совместим с прогой? вот чего я хотел узнать
или там адреса ячеек разные? типа протокол один, а каждый дрочит как хочет и при реализации железки надо учитывать именно то, что шлет прога?

или же в проге можно сказать, что вот адрес такой тебе
длина его столько-то байт и вот эти биты отвечают за выходы, а эти за входы

пока лень читать мануал, т.к. железка не срочно нужна и если халявный модбас не прокатит, то и не стоит с ним возиться и отдать 25 евров за один прошитый контроллер и остальное самому сделать, когда станок уже будет работать
0
Ymk
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,233
27.08.2010, 09:37 #4
халявный модбас явно совместим с прогой:) иначе он бы не назывался модбасом:)
я же говорю, протокол подразумевает только запись в виртуальные адреса и их чтение. по ходу, когда вам пришел пакет с данными (контроллеру), вызывается функция записи. в этой функции вы че хотите, то и делайте с данными: можете выбросить, можете в порт записать, можете в озу, еепром и т.п. в зависимости от адреса.

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

на сами адреса стандартов нет никаких, т.е. это дело разработчика, где что размещать.
0
kotobyti
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,352
27.08.2010, 14:00 #5
поясни на этой картинке http://www.hobbycnc.hu/CNC/MBIO/4.jpg
это из проги управления станками чпу
номер регистра - это что?
а адрес?
что такое coils, input dissrete и прочее? или это не относится уже к протоколу и чисто фишка для станков?

я бы даже сказал, что тут нужен чел, который бы был в курсе мах3
0
Ymk
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,233
28.08.2010, 01:54 #6
ну, настройки ком-порта понятны.
таймаут тоже понятен должен быть.
дальше, есть 4 переменных. port/address - видимо номер ком.порта, slave - адрес устройства в modbus-сети, refresh - время опроса переменных, address - адрес "регистра", #of rikystirs сколько регистров с заданного адреса читать/писать, direction - тип "регистра".

типы регистров есть разные: цифровые/аналоговые + входные/выходные, т.е. всего 4 типа.
получается что есть
#0000-#FFFF цифр.входы
#0000-#FFFF цифр.выходы
#0000-#FFFF аналог.входы
#0000-#FFFF аналог.выходы

цифровые вроде по 1 биту, аналоговые по 16 бит.

че такое bemeneti, kimeneti и bitek - я хз:)
а вообще, вот тут есть что-то: http://ru.wikipedia.org/wiki/Modbus
0
kotobyti
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,352
28.08.2010, 03:52 #7
а регистры в модбасе они ничего общего не имеют с регистрами мк?
т.е. это как бы виртуальные регистры и прошивка в мк сама считывает с регистров мк состояния и уже загоняет значения в эти виртуальные регистры протокола?
возможно тогда конфигурировать эти регистры по своему назначению? например у меги16 есть целый порт с аналоговыми входами, а я хочу только один аналоговый и все остальные цифровые входы-выходы?

спек я пока не читал, пока только ознакамливаюсь, стоит ли овца выделки в плане подключени концевиков на другие концы осей и все такое
0
Ymk
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,233
28.08.2010, 05:16 #8
в общем, все именно так.
аналоговые же они там условно, они по 16 бит, поэтому вполне можно один такой регистр привязать на 2 8битных порта мк. как удобно будет.
0
kotobyti
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,352
28.08.2010, 13:28 #9
не компилится что-то этот халявный модбас
поправил мейк, убрал пути линупсовые, а ошибка все равно
Код
avr-objcopy --debugging \
--change-section-address .data-0x800000 \
--change-section-address .bss-0x800000 \
--change-section-address .noinit-0x800000 \
--change-section-address .eeprom-0x810000 -O coff-avr demo.elf d
emo.cof
int somstomt type not supported in coff-avr
avr-objcopy: --change-section-vma .eeprom+0xff7f0000 never used
avr-objcopy: --change-section-lma .eeprom+0xff7f0000 never used
avr-objcopy: --change-section-vma .noinit+0xff800000 never used
avr-objcopy: --change-section-lma .noinit+0xff800000 never used
make: *** [demo.cof] Error 1
0
28.08.2010, 13:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2010, 13:28
Привет! Вот еще темы с решениями:

Modbus на Pinboard II (AVR). Тестовое приложение
Обсуждение заметки в Сообществе: Modbus на Pinboard II. Тестовое приложение ...

Реализация протокола ModBus на DE1-SoC
Работаю над реализацией протокола ModBus RTU на DE1-SoC. Собрала в Quartus II...

LabVIEW+Modbus. Не могу Write Single Holding Register
Здравствуйте! Проблема с типами данных. Необходимо записать значение в формате...

С# для нуба. Массивы
Всем привет. Буду благодарен за ответ\помощь. Вот такие задания. Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru