Flprog не запускается на windows xp

Обновлено: 02.07.2024

Я разработчик программы FLProg – среды визуального программирования плат Arduino.

Но буквально сегодня один из пользователей программы сделал мне новогодний подарок. Он провел серьезное исследование вопроса запуска программы под различные версии Linux, и написал статью на эту тему. Я очень ему благодарен, и поскольку считаю, что читателям Хабра это то же будет интересно, представляю эту статью Вам.

Хочу написать пару слов об использовании FLProg под Линуксом.

Я заведую лабораторией автоматики на инженерном факультете одного частного университета. Мы много работаем с платформой Arduino и у нас всё заточено под Линукс. Кроме того, у нас большой популярностью пользуются русские разработки и русский язык. FLProg был встречен на ура, но к энтузиазму прибавилось и недоумение, почему у русских отсутствует версия под профессиональную операционку.

Но к счастью не всё так запущено.

Но что делать, если у вас старая версия Линукса, или возникли проблемы в установлении Mono? (Например, Scientific Linux, которая хоть и является клоном

это можно проигнорировать, так как речь идет о глюках в реализации поддержки режима i386 под системой amd64 и эти глюки устранены в новых версиях wine. На работе FLProg это не отражается.

Тут мне, возможно, укажут, и вполне справедливо, что нет смысла тупо копировать файлы FLProg-а на Линукс и рисковать, что что-нибудь накосячу, когда FLProg устанавливается стандартной процедурой с использованием инсталятора Smart Install Maker. Разумеется, я пошел по этому пути. Сразу оговорюсь: есть нюансы.

Во-первых, для работы со Smart Install Maker вам понадобится wine. А у wine своя, автономная система файлов и папок, имитирующая систему Windows. Следует учесть, что если инсталятор предлагает установку программы в папке по умолчанию как здесь:

то на самом же деле она будет находится в папке как здесь:

Если вам не принципиально, где размещены файлы FLProg-а, можно всё оставить как есть. В противном случае вам придется вручную подогнать размещение папок под существующую или предполагаемую организацию.

Во-вторых, может случиться, что инсталятору придется помогать руками. Если, например, если под Убунту и SuSe весь процесс гладко прошел в автоматическом режиме, то под Scientific Linux 6 мне пришлось вручную создавать требуемые папки:

Возможно, что прочие дистрибутивы Линукса таят разные другие сюрпризы. Постараюсь в меру возможностей протестировать FLProg на разных дистрибутивах и версиях.

И в-третьих, FLProg установленный «по всем правилам» начинает заметно тормозить. Это особенно заметно на машинах с 2гб памяти и посредственным тактовым генератором. Частично это можно объяснить тем, что теперь вызов программы происходит в измененной среде:

но только частично, так как при вызове программы из командной строки FLProg по-прежнему тормозит. Вероятнее всего это происходит из-за того, что wine сохраняет управление библиотеками в фоновом режиме.

Так что за вами выбор метода установки и вызова FLProg-а. Если вы решите запускать FLProg из командной строки, то проблем у вас не возникнет. Если же открывать каждый раз папку FLProg вам не охота и вы хотите запускать его глобально или, как у меня, из системного меню, то следует помнить, что FLProg ищет файлы в текущей папке и может вам выдать ошибку отсутствия файла:

Лечится это очень просто: можно написать простой скрипт, который будет открывать нужную папку:

и поместить её, например, в

/bin. Можно также создать новый пункт в системном меню (например под alacarte в оболочке Gnome, как у меня):

и вызывать скрипт через него или прописать обе команды прямо в командной строке через ";" — кому как удобно.

Если вы используете инсталятор для установки FLProg, то инсталятор создаст на рабочем столе две иконки — FLProg.desktop и FLProg.lnk. FLProg.lnk. можно сразу же удалить — он работать не будет; зато FLProg.desktop полностью рабочий — его можно оставить на рабочем столе или перетащить на панель задач — как кому удобнее:

Если вы работаете в Убунту под оболочкой Unity, то каких-то существенных проблем у вас тоже не будет. Если вы установили FLProg с инсталятором, то программа отлично запускается через Dash Apps Lens:

В моем случае видны три иконки — это результат установки через инсталятор и добавления FLProg в системное меню в разных местах и разным образом. На других компьютерах картинка может быть другая. Следует отметить, что в любом случае в панели задач FLProg будет отражатьса либо как приложение wine:

либо как приложение из текстового терминала (в зависимости от метода вызова) и возможности поместить программу отдельно в панель задач на постоянно нету. Это, к сожалению, существенное неудобство Unity, но разработчики оболочки находятся под постоянным обстрелом критики линуксоидов и возможно в будущем что-нибудь в этом плане улучшиться.

Я еще раз хочу поблагодарить Former Naval Person за проделанную работу.

Так же хочу представить еще несколько проектов пользователей программы FLProg.

a.jpg

Утром, то что я скажу, перенесут в чат писькомерцев. Но я скажу это здесь.
Я вам поражаюсь. У меня сложилось ощущение, что под вашим аккаунтом сидят или три разных человека, или у вас шизофрения. В вашем мозгу сидят три человека.
Один говорит правильные вещи.
Второй иногда сомневается.
Третий несёт пургу.

Гитхаб не эталон или панацея. Он состоит из людей, которые профи и из людей, которые ошибаются.
Никакая система для моделирования или визуального программирования не может служить эталоном непорочности.
Любая из них, в некоторых случаях, может сгенерировать дубовый код или напортачить в моделировании.
Люди, которые слепо доверяют какой либо системе, чаще всего оказываются биты.
Главное в человеке - это знания. Любая система человека без знаний заведёт в тупик. А человеку со знаниями поможет в его труде.

Так что не доверяйте любым системам проектирования на 100%. В конце концов они вас подведут.

И не надо мне рассказывать про то как вы пользуетесь всем этим и оно ещё ни разу вас не подводило. Просто у вас не было задач при решении которых не нужны бы были знания, а только использование всего этого.

kalobyte

Один говорит правильные вещи.
Второй иногда сомневается.
Третий несёт пургу. Просто у вас не было задач при решении которых не нужны бы были знания, а только использование всего этого. а какие сейчас нужны ЗНАНИЯ? вот есть такой быдлостереотип, что программист должен знать математику
только 95% програм это унылые круд приложения, никакой математики там знать не надо и если что-то считается, то заказчик выдает формулу
будь то кредит какой или типа того
Любая из них, в некоторых случаях, может сгенерировать дубовый код или напортачить в моделировании.

не может, потому что они не генерят код, а это библиотеки представлены в виде графических символов и на флпрог делаются достаточно сложные задачи
это язык фбд, который используется для визуального программирования плк типа сименс, а эти плк стоят на заводах и подобных объектах, а автор флпрог является профессиональным программистом плк и наверное знает в этом толк

смыл в том, что вместо ручного написания кода ты перетаскиваеш кусок готового кода, что один раз был заложен в элемент и визуально соединяеш блоки
это не освобождает тебя от понимания работы алгоритма и ты сам можеш сделать себе блоки из своего кода или готовых библиотек (я уже делал)

я тут на днях столкнулся с задачей автоматизации неких процессов при разработке сцайта с использованием движка шаблонов
раньше я в редакторе кода настроил, чтобы при сохранении файла шаблона у меня генерировался хтмл код этой страницы, потом мне надо было руками обновить страницу в браузере
недавно позвонил заказчик и просил добавить еще пункт в меню, а это значит, что мне надо было открыть и сохранить каждый файл, чтобы они перегенерировались из нового шаблона, где я добавил пункт меню
а там 15 файлов уже и это гиморно и я подумал, что должна быть автоматизации и нашел инструмент и изучил его

теперь я запускаю одну команду в консоли и она запускает веб сервер, обновлятор страниц, генератор страниц из шаблонов
а когда надо залить на хостинг, то я сделал еще одну команду и заливает только изменившиеся файлы

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

PiratFox

Вот что меня смущает. Постоянное употребление псевдоприставки "быдло". Как то: "быдлостереотип ", "быдловуз" и т.п. Налицо явное состояние депрессии. Видимо, это следствие какой-то сильной психологической травмы. Я, конечно, не психолог, тем более не психиатр. И совсем уж не хочу никого обидеть. Но такая мысль напрашивается как-то сама собой.

Эдуард Анисимов

Arhat109

На самом деле, спор "ниочем", ибо .. оба правы .. даже все четверо, если посчитать @kalobyte за троих , а со мной так уже и пятеро.

1. Эдуард Анисимов, вот Вы написали супер-пупер программу на "чистом Си" (не видел не чистый, ну да бог с ним) .. Вы её кумпилятором .. "били"? А он ведь тожа "программа" и точно также .. содержит ошибки. Наступали? Вангую что "да". Так вот мой Хрустальный Шар кажет.

2. Да, вот и сам тоже твержу дитенку что программиста без математики не бывает .. и ведь верно жеж, не бывает! А какжеж все эти флпроги, ардублоки и прочая "визуальщина"? А просто: произошла модификация (маркетинговая) понятия "Программист" .. и теперь этим словом кого только не обсызвают, но в основном и все чаще .. банального ПОЛЬЗОВАТЕЛЯ того или иного ПО.
Excel - человек его знающий способен .. сваять расчетный листок, который приподстановке тех или иных ячеек будет .. ой, он та-ак много может .. и статистику и подбор парамета и .. упс. Так пользователь Excel получается тоже "погромист"?
Фигу. Как был ползателем, так и остался.
Вот то же самое и про всю "визуальщину".


Приветствую всех посетителей нашего портала, сегодня у нас обзор бесплатной программы под названием FLProg. Узнал я о ней из письма одного из наших посетителей, который попросил уделить ей внимание и по возможности поучаствовать в ее развитии. Собственно сегодня я ее скачаю и попробую написать пару демонстрационных схем, попутно комментируя и выделяя как плюсы программы, так и её минусы. Сразу оговорюсь, что я успел прочесть пару статей о данной программе и немного просмотреть ее официальный сайт, но саму программу я скачиваю впервые. Так же я поверхностно знаком c FBD и LAD, делали большой проект автоматизации завода лет шесть назад, правда программировали контроллеры на STL и SCL, но для общего развития и, понимая, я читал так же и об других, таких как FBD, LAD, GRAPH 7.

Теперь немного поговорим о самой программе. FLProg - это альтернативная среда разработки, эдакая обертка над Arduino IDE позволяющая программировать и задавать логику микроконтроллеру на двух дополнительных языках: FBD и LAD. Оба этих языка стали популярными благодаря старшим братьям микроконтроллеров - промышленным контроллерам от фирмы Siemens, гиганта в мире промышленных контролёров, заслуженно занимающий одно из лидирующих мест. Собственно автор программы частенько на это ссылается, будь то скриншоты контроллеров взятых с официального сайта Сименса или иконками, взятыми из программы Step7.

Немного информации из википедии (Хотя бы бегло прочтите, лишним не будет).

    – Графический язык программирования - Язык релейной (лестничной) логики.

На этом со вступлением мы закончим и перейдем к скачиванию и установке программы.

Скачивание и Установка

И так, переходим на официальную страницу скачивания программы. И видим мы тут первый ее плюс. Программа кроссплатформенная. Здесь есть несколько вариантов ОС, это Linux и Wondows. К сожалению дистрибутива, для Mac OS - нет, но мне она и не нужна (Минус не ставлю, но некоторым это не понравиться). Скачаем мы с вами портативную версию под Windows (Второй плюс, наличие портативной версии, порой удобней таскать все с собой, ну например на флэшке). Переходим по нескольким страницам, после чего попадаем в Яндекс.Диск и наконец скачиваем программу (Первый минус, в место прямых ссылок игра в прятки, дизайн сайта и вложенность запутывает). И так, после того как мы скачали последнюю версию (FLProg 2.2) и распаковали ее куда нам надо, приступим к ее изучению.

Первый запуск

После запуска нас приветствует главное окно программы с минимальным интерфейсом.

FLProg - Главное окно

В главном окне мы видим стандартное меню, и несколько кнопок (Открыть, закрыть, сохранить проект и тд).

Создадим свой первый проект. И по традиции ардуинщиков это будет стандартный Blink (моргание 13-м светодиодом).

Нажимаем кнопку "Создать новый проект" и в открывшемся окне выбираем FBD и Arduino UNO.

FLProg - Новый проект

Проект создан, можно приступать.

Пример "Blink" на FBD

FLProg - FBD

Что мы тут видим. Окно поделенное на несколько оконных блоков. Предназначение левого мне неизвестно, но вот два центральных и правое выглядят знакомо.

  • Центральное верхнее - настройка портов и создание дополнительных переменных.
  • Центральный нижний - само рабочее поле, где мы будем размещать наши блоки.
  • Правый - Список готовых блоков.

Первым делом мы настроим наши порты, а точнее только порт под номером 13 на котором распаян светодиод на плате Arduino UNO.

Кликаем в верхнем центральном блоке по надписи "Выходы" - "Добавить выход". В открывшемся окне выбираем "Тип" - Цифровой, "Номер контакта" - 13, "Имя" - любой текст (в примере - pin13). Все остальные поля игнорируем.

После того как мы нажмем на кнопку "Готово" и окно закроется, в списке появиться выход с наименованием "pin13". Перетаскиваем надпись на рабочее поле.

Вот что в итоге у нас получилось.

FLProg - Добавление порта

Ищем в списке готовых блоков нечто похожее на таймеры или хотя бы delay. Таких "таймеров" оказалось два, и оба являются эдакими обертками с дополнительным функционалом.

Блок "Timer" в разделе "Таймеры" - который как мы понимаем из названия и должен быть таймером, на самом деле оказалось реле задержки включения/выключения, использующее для своей работы таймер но не как не являющееся им. За это однозначно минус, наименования не соответствует работе блока.

Последний блок "Generator" в разделе "Таймеры" уже боле менее понятен и как раз впишется в наш пример. Предназначение блока создавать импульсы с заданной длительностью и паузой. Этот блок и будет включать и выключать наш светодиод.

Перетаскиваем блок в рабочее поле и соединяем его выход "Q" с блоком порта "pin13".

FLProg - Блок Generator

Теперь нам надо зайти в настройки блока генератора. И в настройках выбрать:

Тип генератора: Симметричный мультивибратор. (Вам не кажется, что подобные названия заставляют задуматься и как минимум прочитать мануалы?).

Длина импульса: Константа - Миллисекунды - 1000.

И тут мы видим, что блок поменял свое наименование с G-S на GS-M. То есть авторы решили не делать кучу блоков, а по возможности объединить их, и изменив тип блока мы по сути получили совсем другой блок работающий иначе чем первоначальный. Это еще один минус. Надо читать мануалы и настраивать блоки (Хорошо, что у программы мануалы есть и довольно таки неплохие, за это плюс). Я понимаю, что авторы решили упростить и не плодить кучу блоков, но это затруднило, например их поиск, и заставляет читать мануалы, настраивать, и тестировать так ли блок работает, как я его настроил.

После того как мы настроили блок, осталось лишь подать на вход блока генератора единицу, чтобы он работал сразу и всегда.

Кликаем правой кнопкой мыши на входе "EN" блока G-SM и выбираем пункт "Вставить константану". В открывшемся окне выбираем "True" и жмем "Готово".

FLPog - FBD Blink

Все, на этом наш пример Blink закончен, осталось лиши загрузить все в Arduino нажав на кнопку "Компилировать проект". После чего откроется Arduino IDE (Почему-то старая версия 1.6.3) в которой мы увидим созданный FLProg скетч. Грузим скетч в Ардуинку и проверяем.

Ну и давайте теперь посмотрим, какой Си код у нас в итоге получился.

На первый взгляд у нас тут какая-то не отформатированная каша, но это только на первый взгляд.

На самом деле программа не обязана делать отформатированный Си код, ведь основная из ее задач - дать не программистам и людям, не знающим Си, программировать Ардуино, и форматирование тут не важно. Но если бы генерируемый код был бы отформатирован, я бы однозначно поставил плюс.

Теперь давайте отформатируем его вручную и разберемся что там к чему.

Как вы видите из отформатированного кода выше (с моими комментариями), код получился в целом хороший. Лишнего мало. Таймер асинхронный. Проверка на переполнение переменной. Ну и собственно все работает.

Конечно, написав на Си мы могли бы сделать код и по проще и по быстрее, но это не главное, главное то, что мы сделали все это просто перетащив пару блоков и задав несколько настроек. А это значит, что программа справляется со своею задачей, дать не программистам, возможность программировать и задавать логику микроконтроллерам.

На этом обзор программы FLProg закончен, но я обязательно продолжу его через неделю, ведь мы попробовали отнюдь не все ее возможности и языки.

Но уже сейчас я могу сделать выводы, что программа достойна внимания, ее стоит скачать и посмотреть. Ну а окончательные выводы мы сделаем в следующей статье.

Заказал плату типа Ардуины (M.Iduino MEGA2560 )на "Али" .
Вчера получил её на почте .
"Эксперименты" начинаются!

FLProg для Arduino Io7ie10


Создал программу-тест на 7сегментном индикаторе .
Работает.

В архиве скетч для Ардуино и файл проекта программы FLprog.

FLProg для Arduino Attachment

Вложенные файлы 7сегмsser.zip У вас нет прав скачивать вложенные файлы. (13 Кб) Скачиваний: 18 В программе FIProg можно создавать блоки блок пользователя которые затем можно ипользовать в разных проектах .
Создал два блока пользователя.
1. Вывод времени(используется шильд реального времени) на индикатор LCD 16х2 .
скачать:схема инд. в FLprog
2. Бегущая строка с доп. возможностью рекламы. скачать:схема в FLprog Видео
3. Генератор меандра до 8МГц

FLProg для Arduino Attachment

Вложенные файлы генаS_(CODE).zip У вас нет прав скачивать вложенные файлы. (2 Кб) Скачиваний: 18 Интересно размер программы написанный в FIProg больше, чем написанный чем на C или на чем там пишут программы для Ардуино? Получается довольно компактно.
FLProg - это блоки созданные Автором программы в Си коде, которые при создании проекта визуально на экране компьютера можно соединять по назначению. Причём соединять их можно как на схемах обычной логики (FBD),или как на схемах релейной логики (LAD)
Затем производится компиляция и эти блоки в соответствии с Вашей схемой записываются в коде Си (через Ардуино IDE) в микроконтроллер (который находится на плате Ардуино ).
Запись программы в Ардуину проста до нельзя.
Просто подключаем Ардуину через шнур ЮСБ (от принтера) к ноуту или компу , "заливаем" и готово! Питание Ардуины производится от ЮСБ. и при программировании и при отладке ,работе. Почему вопрос. По прочтении этой ветки зашел на какой-то сайт и наткнулся на скетчи сделанные в этой программе размером 1,5 m. У меня в наличии мега2560 и размер памяти если не ошибаюсь 256 кб. Вроде ардуин с памятью которая вмещает 1,5 мегабайт не существует? Предположу что это не скетчи ,а файлы программы FLProg , у них расширение flp
, у ардуины скетчи имеют расширение ino их можно заливать из программы ардуино IDE напрямую.
flp файлы нужно компилировать из программы FLProg . Разобрал бы кто нибудь простенькую сигналку на одном датчике и с парой СМС, вот было бы здорово. Опишите ТЗ устройства -сделаю.
(с условием размещения фото (видео) вашего устройства) Не за что
Заходите ,если что ! Я начинающий, так что мне тут еще многое не понятно.
Спасибо большое. Добрый вечер.
А есть какой нибудь пример с ультразвуковым модулем в FLProg? Здравствуйте Сергей
Какая то незадача получилась, поработав немного у меня все выключилось. SIM800 очень странно себя ведет.
Ваше предложение еще в силе о помощи, ТЗ простенькое сделаю мигом, только реализация нужно в ФЛпрог?

Или такой:
Спойлер:

Спасибо, сейчас сделаю, меня НУЖНО на ты, так проще общаться.
Модуль SIM800L 3,3 В
У меня в СОМ порту вот такая ерунда твориться, СИМ постоянно мигает 7 раз с паузой, и если на него позвонить, он "абонент не может ответить".
Вот что в СОМе зациклено, только с новой строки каждый ответ, хотя просто скетч банальной проверки сейчас загнал.

Читайте также: