FLProg для конечных автоматов, учебная задача

В этом форуме можно обсудить интерфейс программы, работу встроенных блоков, взаимодейсткие с Ардуино IDE и т.д.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

FLProg для конечных автоматов, учебная задача

Сообщение Олег »

eugeneb писал(а): 06 янв 2018, 18:05Для меня пока лучший способ не очевиден
Тут как подходить. С точки зрения заказчика все способы равнозначны, так-как прошитый любым решением контроллер удовлетворяет ТЗ. Для заказчика лучшим будет более дешевый.
Если подходить сточки зрения экономии места, то это важно только в больших проектах когда не хватает ресурсов контроллера, И в этом случае мой вариант может быть будет выигрышнее (а может и нет), потому что обычно не хватает памяти переменных, хотя это и от используемых блоков зависит.
И вообще в программировании нет лучшего решения, всегда можно сделать немного по другому и чуть улучшить и это может растянуться на годы.
Аватара пользователя
brig62
Лейтенант
Сообщения: 469
Зарегистрирован: 13 май 2016, 16:37
Откуда: Казань
Имя: Игорь
Благодарил (а): 1 раз

FLProg для конечных автоматов, учебная задача

Сообщение brig62 »

[ref]eugeneb[/ref], Тогда непонятна фраза
eugeneb писал(а): 06 янв 2018, 16:07Подождём денёк-другой.
Как будто что то потом произойдет значительное. Или
eugeneb писал(а): 06 янв 2018, 18:05хочется сравнить предложенные варианты.
Это оно и есть? Тогда по каким критериям судить? Для каждого лучший тот вариант, которые ему удобнее.
Вот [ref]Sancho[/ref], горд тем, что его код
Sancho писал(а): 05 янв 2018, 10:42(3%) памяти устройства.
Спорить трудно. В больших проектах это важно. Но мне лично проще Мегу поставить и не думать об этом. Да и проетов больших у меня не ожидается.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

FLProg для конечных автоматов, учебная задача

Сообщение Олег »

Не везде Мега физически влезет туда куда встанет Уно, Про мини или Нано. Так что иногда приходится поджиматься и на это уходит значительное котичество времени. Один раз вообще проект по новой пришлось переписывать.
Аватара пользователя
eugeneb
Лейтенант
Сообщения: 486
Зарегистрирован: 15 авг 2016, 11:20
Откуда: Нижний Новгород
Имя: Евгений
Благодарил (а): 1 раз

FLProg для конечных автоматов, учебная задача

Сообщение eugeneb »

brig62 писал(а): 06 янв 2018, 18:39eugeneb писал(а): ↑Сегодня{, 18:05}
хочется сравнить предложенные варианты.
Это оно и есть? Тогда по каким критериям судить? Для каждого лучший тот вариант, которые ему удобнее.
А, я понял. Хочется как-бы логически завершить этап (условный, конечно) сбора вариантов, а потом перейти к этапу тестирования или сравнения. У меня нет готового плана. Я не программист и тем более не тестировщик. Сообща что-нибудь придумаем.

Например, я хотел бы дать пару усложнений алгоритма и посмотреть насколько легко их можно внедрить в предложенные варианты.
Уже предлагается сравнивать требуемые ресурсы. Можно смотреть на удбство и наглядность программы, что даёт надёжность и скорость программирования или модификации.

Если удастся выработать хороший подход к автоматам, то и SFC не нужен будет.
Вобщем, мы сами себе хозяева...

Да и просто, мне нравится наш неспешный разговор специалистов.
С уважением,
Евгений Бобков
Axelforce
Рядовой
Сообщения: 20
Зарегистрирован: 26 авг 2016, 17:45

FLProg для конечных автоматов, учебная задача

Сообщение Axelforce »

[ref=#aa0000]Олег[/ref], обратите внимание на сие чудо китайских технологий, место экономит.
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

FLProg для конечных автоматов, учебная задача

Сообщение Олег »

Тогда такая Мега стоила раз в пять дороже Про Мини, как сайчас не знаю.
ksandr13
Рядовой
Сообщения: 14
Зарегистрирован: 18 авг 2016, 10:00

Конечный автомат на командоаппарате

Сообщение ksandr13 »

Хочу поделиться своими мыслями.
Когда то давным давно, когда я не знал что в природе существуют микроконтроллеры, мы с друзьями делали достаточно сложные штуки на так называемых микропрограмных автоматах на ПЗУ. Выглядит он примерно вот так:
image031.gif
Суть работы в том, что часть битов шины данных используется для хранения адреса перехода к следующему шагу. Свободная часть шины данных используется для нужд устройства.

В командоаппарате легко реализовать тот же принцип:
pic1.png
pic.gif
В данном случае программа выполняется последовательно, но возможно сделать практически любой алгоритм (переходы и циклы).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

FLProg для конечных автоматов, учебная задача

Сообщение Sancho »

Олег писал(а): 06 янв 2018, 18:54Не везде Мега физически влезет туда куда встанет Уно, Про мини или Нано. Так что иногда приходится поджиматься и на это уходит значительное котичество времени. Один раз вообще проект по новой пришлось переписывать.
Полностью согласен. На одном дачном посёлке видел систему управления насосами водоснабжения в которой была установлена ATtiny в корпусе от промежуточного реле Finder 55.34, вставлена в цоколь (релейную базу) и благополучно всем управляла.
А памяти в ATtiny не особо, поэтому изначально просчитываешь минимальные размеры кода.
Кстати, обновлённый вариант :) Даже триггер был лишним ( праздники кончились, мозг ожил :haha: )
Скетч использует 1170 байт (3%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 10 байт (0%) динамической памяти, оставляя 2038 байт для локальных переменных.
Можно ещё немного переделать, но FLProg не хочет при компиляции выполнять по одному условию if сразу два действия. Править ручками. Результатом будет меньшее время цикла программы.
eugeneb писал(а): 06 янв 2018, 16:07Sancho, вы не дописали свой вариант. Скажите, что вы имели ввиду под пятым шагом?
Пункты из условия
[spoiler=Пункты]Алгоритм работы автомата следующий:
1. При включении, оба механизма отвести в начало.
2. При нажатии кнопки ПУСК, механизм М1 двинуть вперёд.
3. Когда М1 дойдёт до конца, механизм М2 двинуть вперёд.
4. Когда М2 дойдёт до конца, вернуть М2 в начало.
5. Когда механизм М2 вернётся в начало, механизм М1 вернуть в начало.
6. Ждать следующего нажатия кнопки ПУСК (перейти к пункту 2).
7. При появлении сигнала АВАРИЯ на любом этапе - немедленно отвести механизмы в начало и больше не двигаться до изчезновения аварийного сигнала.[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

Вернуться в «Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!)»

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

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