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

Atmega32+ModBus+OpenScada


Автор Сообщение
Сообщение создано: 04. 10. 2011 [23:25]
Bkmz
Ilya Sytyi
Создатель темы
Зарегистрирован(а) с: 27.07.2011
Сообщения: 11
Честное слово копал документацию и форум до дна, но не нашел ответа.
На рабочем месте использовали не редкую связку Овен+TraceMod, но как обычно бывает встал вопрос снижения стоимости оборудования. Очевидный, на мой взгляд, выход, - собственноручно собранное железо + OpenScada. Собрал простую плату на Atmega32. Цель - сбор данных с различных датчиков, управление конечными устройствами(в основном релейными). Использую ModBus RTU, последовательный интерфейс, Ubuntu, OpenScada 070 LTS. Регистр 0 читается, трафик идет в обе стороны, ошибки CRC нет.
Проблема заключается в том, что не получается записать данные в регистр, возникает ошибка 14 "Ошибка устройства. Время исчерпано!".
При использовании TraceMode реализация протокола ModBus (в данном случае прошивка Atmeg'и) на этой же плате работает,- регистры читаются\записываются.
Может ли ошибка быть вызвана тем, что в реализации протокола используется функция записи в регистр 0х10, но не используется 0х06?
Сообщение создано: 05. 10. 2011 [08:05]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
http://oscada.org/ru/forum/posts/vnedrenie/trm_202_podkljuchenie

Learn, learn and learn better than work, work and work.
Сообщение создано: 05. 10. 2011 [08:50]
Bkmz
Ilya Sytyi
Создатель темы
Зарегистрирован(а) с: 27.07.2011
Сообщения: 11


Я правильно понял, что реализация функции 0х06 для записи 1 регистра обязательна?
Сообщение создано: 05. 10. 2011 [09:39]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"Bkmz" wrote:

Я правильно понял, что реализация функции 0х06 для записи 1 регистра обязательна?

Неправильно поняли. В 0.7.1 есть поддержка функций 15 и 16 для записи, в 0.7.0 нет.

Learn, learn and learn better than work, work and work.
Сообщение создано: 07. 10. 2011 [09:49]
Bkmz
Ilya Sytyi
Создатель темы
Зарегистрирован(а) с: 27.07.2011
Сообщения: 11
"roman" wrote:

Неправильно поняли. В 0.7.1 есть поддержка функций 15 и 16 для записи, в 0.7.0 нет.

Спасибо! Добавли 0х06 в прошивку меги, - всё отлично работает. Собираем потихоньку проект на 0.7.0 LTS.

[Сообщение редактировалось 1 раз(а), в последний раз 07.10.2011 в 09:50.]
Сообщение создано: 07. 10. 2011 [15:21]
almaz
Almaz Karimov
Contributor
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
"Bkmz" wrote:
Собрал простую плату на Atmega32. Цель - сбор данных с различных датчиков, управление конечными устройствами(в основном релейными). Использую ModBus RTU, последовательный интерфейс, Ubuntu, OpenScada 070 LTS.
Последовательный интерфейс в условиях сильных помех часто не работает. В эту плату бы Ethernet и ModBUS TCP...

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Сообщение создано: 07. 10. 2011 [15:36]
Bkmz
Ilya Sytyi
Создатель темы
Зарегистрирован(а) с: 27.07.2011
Сообщения: 11
"almaz" wrote:

Последовательный интерфейс в условиях сильных помех часто не работает. В эту плату бы Ethernet и ModBUS TCP...

Проект пилотный, в перспективе, да, ModBUS TCP, а тестим пока на последовательном.



1207