Например TDA7294

Форум РадиоКот • Просмотр темы - Покритикуйте реализацию MODBUS в следующем коде
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Чт янв 23, 2020 18:22:44

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Сб апр 06, 2019 04:27:52 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: -28
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 503
Рейтинг сообщения: 0
Код рабочий MODBUS 100 опросов в секунду и больше позволяет на скорости порта 38400. Вроде таймауты корректные, чего не всегда встретишь, разделение времени. Измерение загрузки процессора осциллографом в цикле While (1) |outport; Все на прерываниях.

Вложение:
Project1.rar [6.31 KiB]
Скачиваний: 94

_________________
Вольному воля, спасенному рай.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Вт апр 09, 2019 03:41:26 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Ср май 03, 2017 03:22:26
Сообщений: 303
Рейтинг сообщения: 1
Тоже долго возился с протоколом ModBus, в итоге на avrfreaks попалась хорошая реализация , работает достаточно надежно.

.h


.c


main.c


Если интересно можете посмотреть.

_________________
andrei23061996@gmail.com
.................................................................................................................


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Ср апр 10, 2019 17:32:10 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: -28
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 503
Рейтинг сообщения: 0
Благодарю Вас, это один из немногих случаев, когда на радиокоте появляются исходники. Кстати, интересно, протестировать скорость и корректность таймаутов, так сказать конкурсные испытания провести. Есть между ними (кодами) коренное отличие, у меня, функция Main, в части цикла While, можно считать пустая и, посвящена исключительно подсчету так называемого Idle (простоя процессора смотрю осциллографом)

P.S. Ну и, конечно, все упрощено до предела реализации 3 и 6 функции с подсчетом CRC табличным методом для скорости, обратите внимание на аппаратную реализацию измерения таймаута...

_________________
Вольному воля, спасенному рай.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Вс май 26, 2019 16:26:34 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: -28
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 503
Рейтинг сообщения: 0
Программа для хоста была не та перзагрузите.

Вложение:
ModBus.zip [43.4 KiB]
Скачиваний: 70

_________________
Вольному воля, спасенному рай.


Вернуться наверх
 
Контроль в спящем режиме: повышение КПД батарейного питания с помощью DC/DC MAX17225 nanoPower

В статье описан практический опыт разработчика, применившего повышающий DC/DC-преобразователь MAX17225. В результате ряда практических экспериментов, потребовавших существенного обновления технической базы компании-разработчика, автор убедительно доказывает преимущества выбранного компонента и схемотехнической реализации. Увеличенное на 50% время автономной работы лучше других аргументов говорит об эффективности конвертеров MAX17225, а также о важности предварительной оценки элементной базы.

Читать статьи>>
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Вт ноя 12, 2019 05:57:31 
Собутыльник Кота
Аватар пользователя

Карма: 23
Рейтинг сообщений: 252
Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 2877
Откуда: Биробиджан
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
astrahard, твоя программа при запуске требует кучу библиотек. В частности RTL60.BPL, vcl60.bpl, CPortLibCB5.bpl, возможно есть ещё, но третий файл я не нашёл для дальнейших попыток запуска программы.
Вот статья где написано как отучить программу от bpl файлов: http://www.cyberforum.ru/cpp-builder/thread15180.html


Вернуться наверх
 
Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Ср ноя 20, 2019 14:14:15 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: -28
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 503
Рейтинг сообщения: 0
Спасибо, поленился исправлю попозже. Просто комп на котором все в гараже. Этот исходник помимо ModBus реализует цифровой ШИМ контроллер для компьютерного БП на замену TL494. Код мой. Если кому интересна тема полностью цифрового управления инвертором можно продолжить.

Добавлено after 22 minutes 18 seconds:
Обратите внимание, что код выполнен полностью на прерываниях. В окончание функции Main() есть только маленький цикл реализующий Idle процесс, как во "Взрослых операционных системах" Осциллографом можно посмотреть насколько загружен процессор. Код выдает ШИМ сигнал для управления компьютерным БП заместо TL494, реализует ПИД регулятор и, параллельно может 100 опросов в секунду по протоколу ModBus на скорости 38400 и это не влияет на ШИМ и ПИД процессы, этот код также принимает уставки от хоста (ПК настольный) на изменение напряжения БП и снимает осциллограммы, и это все - этот маленький код. Кварц несколько нестандартный, но, я думаю, и на 16 МГц UART и ModBus будут работоспособны. На мой скромный взгляд этот код само совершенство....

Добавлено after 12 minutes 56 seconds:
P.S. Если бы я писал операционную систему... Такой маленький код, выполняет столько функций в режиме реального времени... и ничто друг другу не мешается, а процессор загружен лишь на треть. А какое мастерское использование аппаратуры процессора, не, я положительно собой горжусь!

Добавлено after 29 minutes 30 seconds:
Если кто захочет испытать на практике, то добавлю, что первый вход АЦП подключается к +5В каналу компьютерного БП (обратная связь) через резистивный делитель на 3 а конденсатор 10 нанофарад параллельно входу АЦП (антиалисинг фильтр).

_________________
Вольному воля, спасенному рай.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Чт ноя 21, 2019 08:18:29 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: -28
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 503
Рейтинг сообщения: 0
Исправлены некоторые комментарии и добавлены новые. Код не менялся никак.
Вложение:
Project1.rar [6.51 KiB]
Скачиваний: 62


Добавлено after 1 hour 2 minutes 9 seconds:
astrahard, твоя программа при запуске требует кучу библиотек. В частности RTL60.BPL, vcl60.bpl, CPortLibCB5.bpl, возможно есть ещё, но третий файл я не нашёл для дальнейших попыток запуска программы.
Вот статья где написано как отучить программу от bpl файлов: http://www.cyberforum.ru/cpp-builder/thread15180.html

Принес комп домой. Но Чего-то не срабатывает такой подход. - закладка linker: убрать галочку Use dinamyc RTL это я сделал и думал достаточно. А этот пункт - закладка packages: убрать галочку Build with runtimes packages вызывает ошибку компиляции. Дополнительный компонент СОМ порт говорит не найден, да и Build with runtimes packages вроде говорит о том чтобы включать packages. Чего-то здесь заморочено, я думал только линкеру надо указание дать.

_________________
Вольному воля, спасенному рай.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Чт ноя 21, 2019 09:18:04 
Собутыльник Кота
Аватар пользователя

Карма: 23
Рейтинг сообщений: 252
Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 2877
Откуда: Биробиджан
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Могу предположить что у компонента для последовательного порта не хватает файлов. Вот из-за таких приколов я принципиально не пишу на borland и net


Вернуться наверх
 
Распродажа паяльных станций ATTEN и аксессуаров!
Индукционная паяльная станция AT315D - 3 977 ₽, станция паяльная AT80D – 2177 ₽, станция паяльная AT936b – 1000 ₽!

Заходите в раздел акции и спецпредложения на сайте prist.ru, покупайте измерительные приборы, инструмент и паяльно-ремонтное оборудование по специальным ценам.
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Чт ноя 21, 2019 09:44:13 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: -28
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 503
Рейтинг сообщения: 0
Кроме своего приложения я управлял Мегой с помощью Модбас тестера функции 3 и 6. Тоже работает, правда он не позволяет опрашивать чаще 10-20 раз в секунду. У меня из своей программы получалось 100 опросов в сек.

Добавлено after 12 minutes 13 seconds:
Получилось нашел я поиском "невидимые" файлы и, скопировал в папку с проектом. Можно было путь дополнительный прописать конечно.
Вложение:
ModBus.rar [245.67 KiB]
Скачиваний: 66


Добавлено after 2 minutes 59 seconds:
Только он залочен на СОМ3 всегда, недостаток, не позволяет выбрать порт. Еще недостаток ввод уставки происходит только когда кликнешь на другое поле ввода я нуб в программировании на ПК. Скорость 56000. Я разобрал устройство частично и не помню скорость. Кроме того у меня стояли инверторы на транзисторах перед подачей на контактные площадки выпаяной TL494. Не помню, исправил-ли в исходнике, вроде исправлял и, скорость порта изменил на 56000. Я пользовался Визардом CodeVision и, там менял полярность ШИМ сигнала.

P.S. И еще, нижняя строка там где копирайт нажимается и открываются дополнительные кнопки управления. Еще интересный факт, прошивал контроллер при подключенном в 220В БП и подключенном ШИМ заместо TL494 больше 100 раз и, ничего не сгорело!!!!

_________________
Вольному воля, спасенному рай.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Пт ноя 22, 2019 04:56:02 
Собутыльник Кота
Аватар пользователя

Карма: 23
Рейтинг сообщений: 252
Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 2877
Откуда: Биробиджан
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Вообще с портом можно работать и без компонента, как с текстовым файлом. Но если используешь компонент, то попробуй следующую конструкцию:
Код:

PortName 
:= "COM1";
ComPort1->Port := PortName;
 

PortName - это переменная где хранится выбранный порт.
Port - это название пункта у компонента куда вписываешь название использованного порта. Я не знаю как выглядит у тебя этот параметр, просто предположил.
Ввод данных происходит потому что ты привязался к событию OnSelectили как-то так. Опять же я не вижу кода, а только предполагаю.
Прятать дополнительные настройки, особенно кнопку закрытия порта, за не очевидную кнопку не лучшее решение.
У тебя отсутствуют проверки ввода и выскакивают системные ошибки.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Пт ноя 22, 2019 07:33:17 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: -28
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 503
Рейтинг сообщения: 0
Спасибо большое за подсказки. А доп. настройки я спрятал в основном из-за пунктов включения и выключения ПИД регулятора. У меня еще осталась проблема, когда на большой нагрузке ПИД регулятор перестает справляться. На малых нагрузках все хорошо. И еще, я снял цифровым запоминающим осциллографом переходные процессы при включении, нагружении и разгрузке и, был приятно удивлен, что они лучше выглядят чем с родной TL494. Здорово и то, что на отключение конденсатора 10НФ в антиалисинг фильтре в делителе на 3 АЦП, который упомянут в исходнике, ПИД регулятор реагирует согласно теории, значит ПИД работает правильно. Планирую продолжить разработку на контроллерах dSPIC33EP64GS505-ISO и TMS320F28027 (TMS320F28016). Хочу доделать трехфазный ШИМ с осциллографированием на предмет сбоев в работе.

Добавлено after 3 minutes 13 seconds:
Вот такую плату разработал и уже спаял https://radiokot.ru/forum/viewtopic.php?f=11&t=139007

Добавлено after 1 hour 38 minutes 56 seconds:
В связи с появлением очень дешевого контроллера stm8s003f3 у меня возникла идея переписать код под него. Можно получить полностью цифровой ШИМ контроллер для БП компьютеров и не только, с сервисом ввода уставок по напряжению, осциллографированием сбоев в работе ШИМ и сбоев сетевого питания и, диагностикой ухудшения характеристик деталей БП (конденсаторов сетевого фильтра, деградация силовых транзисторов и высыхание электролитов выпрямителя) с целью определения его остаточного ресурса. Это как Smart для жестких и твердотельных дисков. Кроме того здорово сократиться к-во деталей обвязки если учесть что stm8s003f3 не нуждается во внешнем кварце.

Добавлено after 6 minutes 18 seconds:
И в самом деле, диагностика состояния батареи аккумуляторов есть, а диагностики состояния электролитов и силовых транзисторов в БП такого еще не было?

_________________
Вольному воля, спасенному рай.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Вс ноя 24, 2019 03:57:03 
Собутыльник Кота
Аватар пользователя

Карма: 23
Рейтинг сообщений: 252
Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 2877
Откуда: Биробиджан
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Хочешь мониторить помехи в питании? А контроллеру башню не снесёт при высыхании электролитов? И почему для управления выбран Modbus, а не свой протокол? Ведь он ориентирован для интеграции в разные SCADA системы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Вс ноя 24, 2019 14:40:51 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: -28
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 503
Рейтинг сообщения: 0
Поэтому и выбран, что есть OPC сервер для ModBus и SCADA есть лайтовые удобные. Что касается не снесет-ли крышу контроллеру, у него-же есть собственный фильтр, да и потребляет он мало. кроме того я хочу развить проект на.

Выбор или двухядерный Microchip dsPIC33CH128MP508 или Texas Instruments TMS320F28027???? Это в плане ПО для управления трехфазным инвертором с ККМ чтобы было полностью цифровое управление (в том числе ККМ) с минимальной обвязкой деталями. Это я хочу сделать для мощных преобразователей электроэнергии (десятки киловатт, где вопрос цены не стоит так остро), как то 3Ф инвертор с ККМ, выпрямитель Виена с ККМ, векторное управление обобщенным электродвигателем с ККМ, MIG сварка на десятки киловатт без брызг с ККМ. Много лет назад уже начинал. Сейчас здорово продвинулся в понимании топологий и работы мощных инверторов и решил продолжить...

Добавлено after 3 minutes 6 seconds:
P.S. Ну и, главное двинуть идею, чтобы было что реализовывать, вот например моя тема, которую лучше было-бы назвать "Датчик отказа датчика" http://forum.easyelectronics.ru/viewtop ... =9&t=39701

Добавлено after 5 hours 7 minutes 58 seconds:
Просто мне показали однажды как работает OPC-ModBus сервер отдавая данные, например, напрямую в Excel и, мне понравилось. А какой еще путь для сверхбыстрой визуализации можно придумать?

Добавлено after 1 hour 57 minutes 43 seconds:
Да, кстати. Визуализацию полученных от микроконтроллера данных очень удобно делать в Excel. Бесплатный modbus_opc_server_32tags можно найти и скачать, вариантов много, например https://insat.ru/products/?category=1666 как раз для отладки и некоммерческих проектов. Для радиолюбителя то что надо... Как известно, Excel позволяет написать в своей клеточки запрос к OPC серверу. А как это визуализировать поймет каждый пользователь электронной таблицы. Я не пойму, почему радиолюбители этим не пользуются?

P.S. запрос к OPC server в excel https://www.aggsoft.ru/opc-data-logger/ ... -excel.htm

Добавлено after 1 hour 52 seconds:
Класс, мне удалось посрамить Немцев и фирму Ti, кажется, как авторов векторного управления обобщенным электродвигателем. Я упростил выражение для векторного регулирования и, упростил схему силовой части заодно, по моему, до сих пор, считалось, что упростить выражения векторного регулирования обобщенным электродвигателем невозможно. Вот не знаю что и думать, либо я раскрыл тайну Ti (их секретного наблюдателя InstaSPIN-FOC ), либо опередил их?

_________________
Вольному воля, спасенному рай.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Пн ноя 25, 2019 14:35:39 
Собутыльник Кота
Аватар пользователя

Карма: 23
Рейтинг сообщений: 252
Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 2877
Откуда: Биробиджан
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А ты не думал что сложность их схемы обусловлена не тупым управлением, а управлением с обратной связью, наличием защит и прочей ерундой? Ещё я обратил внимание что ты жёстко задаёшь адрес устройства в коде программы, это делает невозможным работу более одного устройства на шине.
И ещё, использовать контроллер на 40 выводов, как замену микросхеме стоимостью в три раза дешевле не лучшая идея. Попробуй портировать код на ATtiny26L-8PU или STM8S003F3P6 например


Последний раз редактировалось radteh Пн ноя 25, 2019 15:26:44, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Покритикуйте реализацию MODBUS в следующем коде
СообщениеДобавлено: Пн ноя 25, 2019 16:49:43 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: -28
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 503
Рейтинг сообщения: 0
Я не ту сложность имею ввиду, что вызвана "прочей ерундой" имеется ввиду выражения контура управления. Не я вполне серьезно. Вот рассуждения, которые привели меня к такому выводу. Это моя тема на сайте Электрик.орг http://www.electrik.org/forum/index.php?showtopic=71016 А также ШИМ в звене постоянного тока со своим ФНЧ может нести сразу две функции, генерацию 3-й гармоники для коммутатора и функцию ККМ "в одном флаконе".

P.S. Я как раз собираюсь портировать код на STM8S003F3P6. И исправить недочеты с "жесткой привязкой" это вызвано просто элементарной ленью и, легко уйдет в прошлое в очередном релизе.

Добавлено after 51 minute 35 seconds:
Короче, для тех кто читает тему tp://www.electrik.org/forum/index.php?showtopic=71016 интересное замечание. ШИМ в звене постоянного тока, который питает, в свою очередь, 3-Ф 120 градусный коммутатор. Этот ШИМ может быть "Три в одном" тоесть нести три функции сразу 1. ККМ 2. Векторное регулирование 3. Фильтр ШИМ для того чтобы в двигатель не проникала высокая частота негативно сказывающаяся на изоляции обмоток. Для Этого ШИМ в звене постоянного тока должен выполнять нетривиальную, сложную модуляцию... В эту модуляцию войдет и закон управления, но все же, "уцелом" выражения закона управления и, "наблюдателя" упростятся, а вычисления станут более точными и быстрыми. Короче, вместо того чтобы ШИМить 3-Ф мостом, ну Вы поняли, а то я уже начинаю повторяться.

Добавлено after 1 minute 51 second:
P.S. Приоритет на идею сохраняю за собой, буду делать реализацию и патентовать.

Добавлено after 37 minutes 41 second:
И, в то-же время. Этот единый ШИМ и его закон, получаются очень простым, гораздо проще прежнего "фирменного". Ну я Голова, это-же надо такое придумать!!!!

_________________
Вольному воля, спасенному рай.


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

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


Кто сейчас на форуме

Сейчас этот форум просматривают: Dimon456 и гости: 12


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y