Страница 1 из 1

Modbus, C# и прошивка микроконтроллера.

Добавлено: Сб мар 12, 2016 09:12:09
NSK
Доброго времени суток!

Помогите решить задачу.

Есть программа (код) в С#, где я получаю переменные.
Эти переменные мне надо отправить на МК по RS485 на микроконтролеры, которые управляют шаговыми двигателями, сервоприводами, лампочками.
Пример полученных переменных:
Спойлерdouble ias = dwResultIAS / 127.99;
double tas = dwResultTAS / 127.8;
double gs = dwResultGS / 33683.2;
double vs = dwResultVS / 256.1;
double vs1 = dwResultVS1 / 256.1;
double mach = dwResultMach / 20480.0;
Переменные постоянно обновляются. Работает цикл опроса этих переменных из сторонней программы.

Я уперся в следующее:
1. Как описать передачу этих переменных по ModBus ч/з COM Порт (USB-COM RS485)
2. Как сделать прошивки микроконтроллеров, с учетом, что управляться он будет по ModBus RS285.

Заранее спасибо!

Re: Modbus, C# и прошивка микроконтроллера.

Добавлено: Сб мар 12, 2016 09:55:37
Аlex
1. Очевидно - согласно протоколу принимаемой стороны. Как она желает принимать, так ей и отдавайте.
2. Вопрос не понятен. Что значит "как" ? Поставить соответствующее ПО, написать программу, скомпилировать её. Это образно. Для конкретного ответа нужен конкретный вопрос.

Re: Modbus, C# и прошивка микроконтроллера.

Добавлено: Сб мар 12, 2016 10:35:25
NSK
Аlex писал(а):1. Очевидно - согласно протоколу принимаемой стороны. Как она желает принимать, так ей и отдавайте.
2. Вопрос не понятен. Что значит "как" ? Поставить соответствующее ПО, написать программу, скомпилировать её. Это образно. Для конкретного ответа нужен конкретный вопрос.
1.Принимающая сторона это МК, как у нее может быть протокол?
2. Общее понятно. Но ни одного примера я не нашел. Готовые решения в виде "нажмен кнопочку и мотор закрутится" мне не подходят, мне надо все писать в моей программе, и виртуальная конопочка-это постоянное меняющееся значение переменной.

Описание ModBus в сети полно. Если у Вас есть пример кода, буду благодарен.

Re: Modbus, C# и прошивка микроконтроллера.

Добавлено: Сб мар 12, 2016 10:51:27
Аlex
NSK писал(а):Принимающая сторона это МК, как у нее может быть протокол
Принимающая сторона - законченное устройство. Соответственно, если оно принимает какие-то данные, у него должен быть какой-то протокол. Причём тут МК ? МК - это, всего-лишь, составляющая часть устройства.
NSK писал(а):Но ни одного примера я не нашел.
Примера чего ? Можно поконкретней ?
NSK писал(а):Описание ModBus в сети полно
А в чём тогда проблема ? Что непонятного в этом протоколе, что мешает Вам реализовать по нему передачу ?

Re: Modbus, C# и прошивка микроконтроллера.

Добавлено: Сб мар 12, 2016 10:52:12
Jack_A
NSK писал(а): 1.Принимающая сторона это МК, как у нее может быть протокол?
Опередили :)

Интересное заявление. Если МК, то ему без разницы что принимать? Раз есть сеть, хотя бы простейшая типа "точка-точка", то в ней должен быть реализован протокол как физический (уровни, тайминги и пр.), так и логический, в т.ч. и упомянутый Modbus, чтобы передающая и принимающая сторона однозначно понимала значение переданного пакета. Пример кода ничего не решит. Надо опеделиться на содержательном уровне: а какие команды/данные я собираюсь передавать/принимать ? А уж потом расписать желаемое в конкретном протоколе.
Но похоже, идет попытка объясниться на суахили с понимающим только древнезулусский :(