FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Воскресенье, 04.12.2016, 09:10
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Просто поболтать (На свободную тему. Можно перемыть косточки Автору) » Попытка сравнения эффективности кода FLProg и IAR (Попытка сравнения эффективности кода FLProg и IAR)
Попытка сравнения эффективности кода FLProg и IAR
Simple_user
Дата: Понедельник, 30.05.2016, 12:24 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
Уважаемые форумчане!
Больше полугода назад я познакомился с замечательной программой FLProg.
Сама идеология мне крайне приглянулась- но ввиду полного отсутствия опыта
работы с данной программой мне не удалось использовать её полноценно.
И я решил использовать стандартный С и старый добрый IAR.Так как модулей
arduino под рукой не оказалось и покупать их было лень, то пришлось использовать STM32 c 64кбайт флеш и 20кбайт оперативной памяти.
Теперь хочу поделиться с Вами итоговыми результатами:
Время опроса всех потоков  составило 19 мсек.Это время затрачено на следующие задачи:
1.Драйвер мастера шины 1-wire опрашивает реальные 127 устройств ds18B20.Период обновления -примерно 670 мсек.
Из FLProg мне очень понравилась идея автопоиска слейвов на шине- и я её реализовал тоже.Поиск всех участников шины(127) кстати занимает чуть более 2 секунд.По количеству слейвов можно и больше- но у меня больше их просто нет.
2.драйвер мастера modbus RTU читает/пишет 124 регистра хранения с 27 слейвов и одного частотника.В качестве слейвов- те же самые STM32, но только в режиме слейвов модбус.Шина RS-485.
3.Интерпретатор LAD для 4000 шагов с поддержкой онлайн-отладки и просмотра/редактирования переменных,загрузки-выгрузки проекта.Для теста была загружена программа из 3988 шагов сугубо из операций с плавающей запятой как самая "тяжелая" для вычисления- у моего МК нет модуля FPU.
4.Плюс ко всему этому конфигуратор с поддержкой загрузки-выгрузки проекта из памяти МК.

У меня просто вопрос к знатокам проекта FLProg - насколько проблематично реализовать пункты 1,2,3,4 с использованием FLProg для получения похожих результатов ? Я конечно понимаю, что STM32 и AVR 8 bit сравнивать как бы некорректно, но другой аппаратной платформы у меня нет. Вы не подумайте, это не реклама и не хвастовство -мне интересны реальные возможности FLProg как системы программирования.
С уважением,Михаил
 
support Дата: Понедельник, 30.05.2016, 19:33 | Сообщение # 2
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Цитата Simple_user ()
1.Драйвер мастера шины 1-wire опрашивает реальные 127 устройств ds18B20.Период обновления -примерно 670 мсек.
На Ардуино опрос одного датчика занимает 400 мс. Такая реализация библиотеки. Что внутри - не смотрел. Для ускорения работы, при наличии нескольких датчиков опрос разнесен по циклам, кроме того добавлена возможность задания времени опроса датчиков. Поскольку температура - штука достаточно инерционная - да и на прогрев самого датчика требуется время, чаще одного раза в две секунды опрашивать не имеет смысла. Благодаря этому даже при наличии большого числа датчиков, их опрос размазывается по циклам и это не сильно сказывается на работе программы.
Цитата Simple_user ()
.драйвер мастера modbus RTU читает/пишет 124 регистра хранения с 27 слейвов и одного частотника.В качестве слейвов- те же самые STM32, но только в режиме слейвов модбус.Шина RS-485.
Тестировал максимум пару слейвов. Но тут от контроллера не очень зависит. Скорость обмена в любом случае зависит от скорости порта и количестве регистров для чтения. Код в контроллере выполняется небольшой (сравнительно), а скорость передачи и приёма - штука фиксированная для конкретной скорости вне зависимости от применяемого контроллера
Цитата Simple_user ()
3.Интерпретатор LAD для 4000 шагов с поддержкой онлайн-отладки и просмотра/редактирования переменных,загрузки-выгрузки проекта.Для теста была загружена программа из 3988 шагов сугубо из операций с плавающей запятой как самая "тяжелая" для вычисления- у моего МК нет модуля FPU.4.Плюс ко всему этому конфигуратор с поддержкой загрузки-выгрузки проекта из памяти МК.

Это специфика STM. Если режим монитора для AVR как то можно придумать (программная эмуляция с выводом в UART). То с выгрузкой программы из контроллера и отладка - не судьба. Ну с другой стороны если есть исходники - это особенно и не нужно.


Разработчик программы FLProg
 
Simple_user Дата: Вторник, 31.05.2016, 08:30 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
День добрый!
Спасибо за ответ. Единственно, хотелось бы внести корректировку в сам вопрос. Что касается датчиков DS18B20 - тут я просто не указал, что имеется в виду 12-битное преобразование.Для выполнения этой операции сенсору необходимо в среднем 750 мс, но время может варьироваться.В моём случае это время оказалось 670-680 мс.При 12- битном преобразовании быстрее просто не получается.
Цитата support ()
На Ардуино опрос одного датчика занимает 400 мс.
То есть в данном случае скорее всего речь идёт об 11-битной работе сенсора, в противном случае методика расчёта времени получения нового значения температуры датчика ошибочна.

Цитата support ()
Это специфика STM.
Собственно, линейка STM32 обширна.Для камня ценой выше 450 рублей -FPU  в наличии.Всё так сказать зависит от аппетитов и необходимости.

Позволю процитировать свой пост-
Цитата Simple_user ()
Время опроса всех потоков составило 19 мсек.
В моём случае это время для самого тяжёлого варианта работы- постоянный,то есть в каждом цикле, опрос 127 датчиков, постоянная работы шины модбус с большой нагрузкой(кстати, "отвал" одного из слейвов не влияет на время опроса/выполнения потоков), выполнение достаточно тяжёлой программы, загрузка/выгрузка большой программы без прерывания выполнения оной...
Именно это меня интересовало- детерминированность поведения системы.

Ваших ответов мне достаточно.
Вопрос снимается-сравнивать детерминированную и недетерминированные системы управления некорректно.
Спасибо за сотрудничество.
 
Форум » Основной » Просто поболтать (На свободную тему. Можно перемыть косточки Автору) » Попытка сравнения эффективности кода FLProg и IAR (Попытка сравнения эффективности кода FLProg и IAR)
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика