Easyelectronics.ru

Электроника для всех
Текущее время: 17 дек 2018, 03:22

Часовой пояс: UTC + 5 часов




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Modbus на Pinboard II (AVR). Тестовое приложение
СообщениеДобавлено: 20 июл 2012, 04:05 
Старожил
Аватара пользователя

Зарегистрирован: 14 фев 2012, 19:11
Сообщения: 326
Откуда: Энергодар, Нижневартовск, Екатеринбург
Обсуждение заметки в Сообществе: Modbus на Pinboard II. Тестовое приложение

Чтобы не мусорить в сообществе (всё-таки люди потом читать будут), предлагаю писать вопросы, пожелания, ответы и прочую текучку в этой ветке форума.

Текущие версии исходников всегда можно найти по ссылкам:

Исходники

1. PBIIFreeModbus (svn, pinboard2, avr, c++, winavr + msvs, iar, atmega16, freemodbus)
2. HomeControl (svn, vb6, mbaxp.ocx)

Инструменты

Весь набор инструментов для разработки я обычно описываю в файле readme.txt.

Добавлю лишь кое-что по поводу приложения для Windows. Написано клиентское приложение на Visual Basic 6. Вся среда разработки доступна тут: Portable MS Visual Basic 6.0 (SP6, KB957924 + ApiViewer, vbAdvance, CodeSMART).

Для работы с Modbus используется компонент MBAXP Modbus RTU/ASCII ActiveX Control. Я изменил пару байт в файле mbaxp.ocx, чтобы убрать ограничение на 60 минут и чтобы не всплывали надоедливые окошки. Изменённый файл доступен в svn и в дистрибутиве программы.

Чтобы скачать себе копию исходников нужно установить пару программ: Subversion и TortoiseSVN (с русским языком).
Потом можно либо через проводник сделать экспорт из репозитория нужной ревизии, либо в командной строке набрать следующую команду:
Код:
svn export --revision 9 https://mysvn.ru/schoolbell/pbiifreemodbus/

_________________
git.io/vOZo0


Последний раз редактировалось уни 21 июл 2012, 19:23, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus на Pinboard II. Тестовое приложение
СообщениеДобавлено: 21 июл 2012, 02:37 
Старожил
Аватара пользователя

Зарегистрирован: 14 фев 2012, 19:11
Сообщения: 326
Откуда: Энергодар, Нижневартовск, Екатеринбург
Ревизия 8

Скомпилировал те же исходники в IAR 6.10.2. Драйвер freemodbus заработал, но, к сожалению, почему-то возвращает фреймы с кодами ошибок в отличие от GCC версии, где всё нормально. Долго копался в отладчике, но причину выяснить пока так и не смог.
Проект там же в репозитории в папке iar6.

Сделал заставку на индикаторе, поэтому у кого нет индикатора, нужно подождать секунд 5, чтобы прошивка начала работать. На заставке показано какая это прошивка: IAR или GCC.

Приложение тоже немного доработал.


Вложения:
Комментарий к файлу: Работа приложения. Считываются 4 регистра.
HomeControl_screen06.PNG
HomeControl_screen06.PNG [ 33.34 Кб | Просмотров: 6136 ]

_________________
git.io/vOZo0
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus на Pinboard II. Тестовое приложение
СообщениеДобавлено: 21 июл 2012, 04:27 
Старожил
Аватара пользователя

Зарегистрирован: 14 фев 2012, 19:11
Сообщения: 326
Откуда: Энергодар, Нижневартовск, Екатеринбург
Ревизия 9

Я был невнимателен и поначалу не понял почему в исходниках 2 файла mbcrc.c. Оказывается тот, что находится в папке port слегка изменён, чтобы положить таблички для вычисления CRC во флеш. Вот почему у меня так много ОЗУ скушал этот примитивный демо-пример.

Изменил у всех исходников расширения на cpp и убрал лишние препроцессорные проверки в заголовочниках на причастность кода к __cplusplus. Хотя IAR'овский проект по прежнему упорно шлёт обратно коды ошибок, но зато мы существенно освободили место в ОЗУ.

Для GCC имеем:
Код:
AVR Memory Usage
----------------
Program:    8092 bytes (49.4% Full)
(.text + .data + .bootloader)
Data:        428 bytes (41.8% Full)
(.data + .bss + .noinit)
-------- end --------

Для IAR имеем:
Код:
     IAR Universal Linker V5.2.3.14
     Copyright 1987-2011 IAR Systems AB.

7 852 bytes of CODE memory (+             24 range fill )
   465 bytes of DATA memory (+ 35 absolute )

Errors: none
Warnings: none

Total number of errors: 0
Total number of warnings: 7

И это не может не радовать. И там и там полфлеша и чуть менее половины ОЗУ. Да, пришлось кое-что подшаманить в коде, чтобы таблички для CRC одинаково ложились во флеш независимо от компилятора, но это не так даже и заметно конечному пользователю.

_________________
git.io/vOZo0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus на Pinboard II. Тестовое приложение
СообщениеДобавлено: 21 июл 2012, 15:45 
Старожил
Аватара пользователя

Зарегистрирован: 20 авг 2010, 14:14
Сообщения: 1619
Откуда: Рэшен Федерэшн
Укажи хоть на какой платформе тестировал (AVR, STM)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus на Pinboard II (AVR). Тестовое приложение
СообщениеДобавлено: 21 июл 2012, 19:24 
Старожил
Аватара пользователя

Зарегистрирован: 14 фев 2012, 19:11
Сообщения: 326
Откуда: Энергодар, Нижневартовск, Екатеринбург
Добавил прямо в название темы, чтобы долго не думать. А вообще, в теле первого сообщения указано, что для AVR.

_________________
git.io/vOZo0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus на Pinboard II (AVR). Тестовое приложение
СообщениеДобавлено: 03 июн 2014, 11:05 
Старожил
Аватара пользователя

Зарегистрирован: 11 мар 2010, 12:44
Сообщения: 1115
Откуда: Default city
проект ещё жив?

_________________
Не дай Бог увидеть нубский ЛУТ, бессмысленный и беспощадный
В МК "на порядок" - это "в два раза"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Modbus на Pinboard II (AVR). Тестовое приложение
СообщениеДобавлено: 19 июл 2014, 03:12 
Старожил
Аватара пользователя

Зарегистрирован: 14 фев 2012, 19:11
Сообщения: 326
Откуда: Энергодар, Нижневартовск, Екатеринбург
Я теперь хочу управлять домом более цивилизованным способом при помощи скриптов. Можно собрать клиент-серверную SCADA, работающую с modbus-rtu, полностью на javascript. Если особые скорости не нужны, то это очень удобно. Для тех кто не любит компилировать.

Писать на vb6 сейчас неудобно.

_________________
git.io/vOZo0


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB