Как стать автором
Обновить

FLProg – Самостоятельная интеграция в программу кастомных контроллеров

Время на прочтение10 мин
Количество просмотров22K
Всего голосов 14: ↑13 и ↓1+12
Комментарии20

Комментарии 20

Теперь рассмотрим принципиальную схему платы ShloTiny.

Давайте. Как на схеме включить свет?

Ну не знаю, я всё прекрасно разглядел (в отдельном окне конечно). Хотя может это сказывается мой многолетний опыт рисования принципиальных схем в автокаде, и такой фон мне привычен))))
Много лет работал в P-CAD. Сейчас в DipTrace. Везде чёрный фон. Для глаз самое то! Но вот коллега на работе использует белый фон, а при разводке чёрные проводники. Ему так очень нравится
Я пробовал белый фон. Глазу сильнее устают. Поэтому я сделал в программе возможность изменять цветовые темы. Судя по скриншотам пользователей популярностью пользуются оттенки серого или черный в качестве фона.
К сожалению, не могу поставить плюс, но статья понравилась.

Теперь у моего контроллера аж две среды визуального программирования — встроенная и FLPROG. Обалдеть:)

Давайте. Как на схеме включить свет?


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

А ссылкой на GitHub или другой репозиторий не поделитесь?
Нет не поделюсь, поскольку её не существует. Программа FLProg — это не комерческая свободно распостраняемая программа. Но не Open Software. Возможно это мой личный таракан (большой и жирный), но я негативно отношусь к Open Software. С моей точки зрения над нормальным проектом должна работать «спитая» команда, с одинаковыми виденьем результата, и одинаковым подходом к программированию. Когда куча народу, совершенно незнакомых друг с другом, со своим виденьем что и как должно быть, со своими патернами, пытается собрать что то единое, получается такая каша, которую практически нереально расхебать. Но ещё раз повторюсь — это лично моё мнение, которое не претендует на истину в последней инстанции.
Ну и есть ещё одна причина по которой просто не имеет смысла выкладывать исходники — это язык програмирования. Программа написана на языке SmallTalk, а смолтолкеров в России единицы. Так что просто некому будет писать реквесты.
Если у программы есть основной владелец, то он вправе решать стили и подходы и никто не сможет без вашего мнения/одобрения что то менять. Так и сложится команда.
С открытыми исходниками если автор программы забъёт на её развитие хотя бы формат файла посмотреть можно будет, даже если это на SmallTalk.
Оно конечно так, но на все эти просмотры кода, одобрение/неодобрения надо тратить достаточно большое количество времени. И вообще это административная по большому счету работа, которую я просто ненавижу. И просто не умею её делать. Форум, группу я отдал в управление тем людям, у которых это получается намного лучше, и ни грамма об этом не жалею. Для меня намного интереснее заниматься непосредственно разработкой программы. Естественно, если что то случится в моей жизни, что я не смогу дальше заниматься программой, я передам доступ к своему хранилищу кода в руки доверенным лицам, и они уже будут решать дальнейшую судьбу программы. Но на ближайшие несколько лет дорожная карта развития программы у меня уже есть. Так что пока есть силы и возможности — программа будет развиваться.
Но не Open Software.


Наверное, вы хотели сказать «не Open Source»?

То есть сама то программа у вас свободно доступна. Но исходников открытых нет. Так?
Наверное, вы хотели сказать «не Open Source»?

Да именно это я хотел сказать. Что то голова к вечеру болит))). И Вы правы — программа свободно доступна, но исходников открытых нет, и не будет, пока я занимаюсь её разработкой.
Каким образом вы гарантируете отсутствие «тараканов» и черных ходов в программе?
А я не гарантирую. Зачем? Программа не лезет в сеть, если не ставить галочку «Отправлять отчет об ошибке на сервер». По умолчанию она не стоит. Всё легко проверяется с помощью специальных программ. Портативная версия не лезет никуда, что опять таки проверяется самой виндой (если что — она верещит). Да и создана портативная версия, которая в принципе ничем не отличается от устанавливаемой через инсталятор была так что бы ее можно было запускать даже на залоченных политиками компах. У меня у самого такой рабочий комп. Она не лезет ни в системные файлы, ни в реестр. Какие бэкдоры? За семь лет существования проекта пока никто не обнаружил ничего что подпортило бы репутацию FLProg как честной программы. А вот теперь скажите — винда которой Вы наверное пользуетесь даёт вам исходники? И сколько раз она была замечена в шпионстве? Но большинство людей всё равно ею пользуются…
Самостоятельная интеграция в программу кастомных контроллеров
Давно хотел такую возможность в FLProg. Для себя внедрил с помощью тех же пользовательских блоков. Вот так выглядит один и тот же проект для двух разных контроллеров (под контроллерами подразумевается микроконтроллер в комплекте с микросхемами расширения, схемами входов и выходов, по сути ПЛК или программируемое реле с суммарным количеством входов и выходов от 50 штук)
скрины
imageimage
Как видите, для перехода с одной платформы на другую нужно всего лишь заменить один блок пользователя.
В результате свой плк я могу программировать на привычном LAD, для сравнения на следующем скрине фрагмент моего проекта и образец с промышленного.
картинка
image

Немного печалит невозможность давать произвольные имена реле, кроме К1, К2, и т. д. (например, I1 или In1). Из-за этого у меня во всех проектах К1… К50- это имена входов.
Ещё одна фича от применения пользовательских блоков- с их помощью можно лёгким движением руки перейти с ненавистного многим Виринга на настоящий Си. Думаю, автору стоило бы обратить внимание на это, и обыграть в новых версиях такую возможность.
Не премину воспользоваться возможностью поблагодарить автора за создание программы. Сам пользуюсь довольно «старыми» версиями 2.1 и 2.3, более новые очень нестабильны на моей системе, а возможностей старых мне вполне достаточно в большинстве случаев.
В описании контроллера есть ветки «Специальный код», и «Специальные блоки». В первой можно прописать код, который всегда будет вставляться в скетч, а во второй ветке загрузить пользовательские блоки которые появятся в стандартной библиотеке. Думаю Вам это будет интересно. Подробнее о них я напишу в следующем посте.
Ещё одна фича от применения пользовательских блоков- с их помощью можно лёгким движением руки перейти с ненавистного многим Виринга на настоящий Си.

Я уже над этим думаю, и есть идеи. Скорее всего будет прямая запись в регистры (если они прописанны в свойствах вывода). Но это немного попозже
будет прямая запись в регистры
Главное, чтобы не «вместо», а «в дополнение».
Главное, чтобы не «вместо», а «в дополнение».


Это конечно. Скорее всего, если прописанны адреса регистров для выводов, в меню «Проект» будет появлятся чекбокс что ни будь вроде «При компиляции использовать запись в регистры». Ещё до конца не продумал)))) И эта опция будет привязыватся к конкретному проекту.

"… Ну, или на том же форуме (или в группе в Контакте) попросить у местных гуру написать такой. Обычно можно, так или иначе, договорится..."


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

Кто то делает за деньги, кто то бесплатно. По разному…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации