УкраїнськаEnglishРocсийский
Вход/Новый
В теме нет новых постов

Транспортный протокол ModBus. Биты в регистре на чтение и запись


Автор Сообщение
Сообщение создано: 29. 01. 2015 [10:07]
Vandrizm
Игорь М
Создатель темы
Зарегистрирован(а) с: 31.07.2010
Сообщения: 55
Есть ли возможность в данных узла протокола ModBus объявить бит регистра для записи/чтения?
В документации не нашел.
Пробывал в виде R_b1:1w, но записать не получилась. Возвращает ошибку.

Если такой возможности нет, то как посоветуете реализовать доступ к битам регистра для чтения и для записи?
Сообщение создано: 29. 01. 2015 [10:47]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3680
"Vandrizm" wrote:

Есть ли возможность в данных узла протокола ModBus объявить бит регистра для записи/чтения?
В документации не нашел.
Пробывал в виде R_b1:1w, но записать не получилась. Возвращает ошибку.

Естественно, поскольку согласно документации это не корректно.
Читайте документацию внимательно, хоть-бы участок:
"R_b10:25:r" — получить бит 10 из регистра 25;


Learn, learn and learn better than work, work and work.
Сообщение создано: 29. 01. 2015 [11:12]
Vandrizm
Игорь М
Создатель темы
Зарегистрирован(а) с: 31.07.2010
Сообщения: 55
"roman" wrote:

"Vandrizm" wrote:

Есть ли возможность в данных узла протокола ModBus объявить бит регистра для записи/чтения?
В документации не нашел.
Пробывал в виде R_b1:1w, но записать не получилась. Возвращает ошибку.

Естественно, поскольку согласно документации это не корректно.
Читайте документацию внимательно, хоть-бы участок:
"R_b10:25:r" — получить бит 10 из регистра 25;



Пример, который вы привели, относится к модулю сбора данных. С ним проблем нет.
Меня же интересует обслуживание запросов по протоколу МодБас
Сообщение создано: 29. 01. 2015 [11:24]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3680
"Vandrizm" wrote:

Меня же интересует обслуживание запросов по протоколу МодБас

Входящие запросы в смысле. Так там отдельно для битов регистра и не нужно, поскольку минимальная единица обслуживания для доступа и иного это регистр, т.е. просто доступ на запись всего регистра, а как там биты будут разложены это уже как сами соберёте их и будете обрабатывать.

Learn, learn and learn better than work, work and work.
Сообщение создано: 29. 01. 2015 [12:01]
Vandrizm
Игорь М
Создатель темы
Зарегистрирован(а) с: 31.07.2010
Сообщения: 55
"roman" wrote:

Входящие запросы в смысле. Так там отдельно для битов регистра и не нужно, поскольку минимальная единица обслуживания для доступа и иного это регистр, т.е. просто доступ на запись всего регистра, а как там биты будут разложены это уже как сами соберёте их и будете обрабатывать.


В данном случае нужно будет из скрипта отслеживать что изменилось: мною разложенные биты(параметры с типом "логический") или значение регистра, из которого беруться биты. И соответственно определять направление записи, то ли из регистра (слова) в биты раскладывать, то ли биты в слово собирать и записывать в регистр. Если регистров около 200, а узлов ModBus несколько, то производительность может хорошо просесть, не говоря уже об удобстве.



12459