Pull to refresh

Comments 31

на днях в arduino ide, последней версии, неприятный момент обнаружил.
вот такая конструкция не работала: if (условие) { действие }
не знаю у меня только такое или ещё у кого, но автор примите к сведению.
В первой схеме надпись «Уровень 9» повторяется дважды.
И у меня возникли такие же ощущения как и после изучения языка С попробовал Бейсик… Ощущение неуправляемости кода.
Извините, где вы здесь видите код?
Что вижу я:
Принципиальная схема устройства (ПЭ3), состоящая из блоков. Блоки имеют крышечку (редактор свойств блоков), под которой находятся подстроечные резисторы (InputField) и микропереключатели (CheckBox и RadioButton).
Жаль что Вы этого не видите, видно не дано…
а IL и ST поддерживает? или только LAD и FBD?
Нет IL и ST не поддерживает. Я не думаю что это необходимо целевой аудитории программы. Хотя в последней версии программы появилась возможность создавать пользовательские блоки используя язык C. Точнее тот его диалект, который используется в Arduino IDE
ну в принципе да, это я уже совсем разогнался, нагляднее LD не придумано вроде ничего, но спасибо за ответ.
Я тут волею судьбы занялся кодингом на LAD.
После Си это просто боль.
Квадратики эти скобочки.
Нафиг он нужен если есть Си?
И я вам скажу, как я думаю этот язык изначально делался для перевода старых релейных схем в ПЛК. Потом он оброс финтифлюшками и в общем оказался удобным для автоматизации технологических процессов людьми, ничего не понимающими в программировании.
А цель как-бы научиться программировать, на RLL это довольно затруднительно.
Да и собственно, удивляет желание ардуиноподобных сред разработки максимально отдалить программиста от железа.
ATmega контроллер очень простой, это же не Кортекс, мать его м3. Разобраться в нем можно реально за день, там всего то десяток-другой служебных регистров и там все понятно. И потом никогда не будет криков на форумах типа: «аааааа, подключил библиотеку, а она не работает, мама!!!» хотя там вообще никакая библиотека изначально была не нужна, а надо было пять строк написать.
Это с Вашей точки зрения — боль. Представляете какую боль испытывают электронщики привыкшие всю жизнь работать с этими самыми квадратиками когда видят портянки программы. Представляете их зубовный скрежет когда так горячо любимая Вами программа не работает из за неправильно поставленной запятой, или забытой скобки.
Почему то Вы решили что главная мечта любого инженера — научится программировать. Это Вы так решили. На самом большинству из них это ни грамма не нужно. У них есть идея, и они хотят её реализовать, наиболее доступными для себя инструментами. И язык С не входит в их число. Кто хочет научится программировать на С, научится, слава богу по этому поводу информации хватает.

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

По этому поводу я уже много раз писал. FLProg — это просто ещё один уровень абстракции. Скажите пожалуйста — почемы ВЫ — программисты пишете на языках программирования высокого уровня. Если следовать Вашим словам — вы должны писать в машинных кодах. Это же наиболее близкие отношения с железом. Да и контроллеры ВЫ программируете на C а не пишете в блокноте HEX файл. Вы так же обкладываетесь библиотеками, синтаксическим сахаром и т.д. Так что не стоит призывать к близости к железу если сами не владеете машинными кодами.
Я хотел сказать, что программист микроконтроллеров должен знать железо под которое пишет. Иначе непонятки и постоянные проблемы.
Си сам по себе вполне достаточный уровень абстракции. И приближаться к железу ближе чем Си не нужно. Где вы там углядели, что нужно программировать на асме? То-есть, если человек знает регистры используемого процессора, он сразу ломится писать в hex кодах? Забавно. Да я и не программист по сути. Так, мимопроходил. Забавляюсь по необходимости. На самом деле я как раз электронщик. Никаких проблем с Си.
LAD язык для ПЛК. Для довольно узкого спектра задач. Вот и все.
Чет вас прямо подорвало, видать есть причины.
Я хотел сказать, что программист микроконтроллеров должен знать железо под которое пишет. Иначе непонятки и постоянные проблемы.
Си сам по себе вполне достаточный уровень абстракции. И приближаться к железу ближе чем Си не нужно

Почему С достаточный уровень абстракции, а FLProg — уже слишком много? Кто определил достаточный уровень абстракции. Кто провёл эту черту с одной стороны которой — GOOD а с другой — ФУУУУ.

То-есть, если человек знает регистры используемого процессора, он сразу ломится писать в hex кодах?


Ну судя по Вашему лозунгу «Ближе к железу» то да.

А зачем обязательно знать регистры процессора. Если поставленную перед собой задачу можно решить без этого знания, — то зачем? Будет нужно — изучит. Я не понимаю когда делаются такие громкие заявления — «Должен знать и точка». Кому должен? Человек сам решает какие ему нужны знания, и что ему интересно.
ИМХО, да тут не столько подорвало, сколько ваша реакция на использование ЛАД — какая разница каким инструментом вы решите задачу, если ваш
инструмент её решит так же эффективно: Си, ЛАД, да хоть молоток и гвозди, если вы можете решить задачу и требования к её исполнению, используя любые из перечисленных инструментов, то какая разница на чем её решили? ЛАД хорош наглядностью, плох — громоздкостью и тратой времени, зато человеку слабо знакомому понятен, захочет человек новых трюков или оптимизировать свой труд — освоит Си, не захочет — ну значит не зацепило, не надо ему, хватает того что есть.

насчет ЛАД язык для плк — ну на первых порах да, а дальше — паскалеподобный ST или IL, хотя последний МЭК уже не рекомендует использовать.
Ну дык на Си можно писать и не зная ни одного регистра. Но если знаешь — можно написать например быстрее или короче. Есть простор для творчества.
LAD никакого творчества не подразумевает, это рутинная работа. Это язык АСУТП.
Вы подразумеваете что разработчики АСУТП — не творческие люди. То есть если бы программу для станка написал человек на С — то это было бы творчество, а если её написал специалист АСУТП на LAD-е или FBD то это тупая не творческая работа?.. Или блинк на из примеров Arduino — это творчество (хорошо даже не из примеров а с применением чистого С), а данный урок, это так клепание шаблонов? Уважаемый AVKinc не надо считать себя выше других если вы освоили язык программирования, а остальных которые его не знают заторможенными не творческими людьми. Комьютер за которым Вы работаете собран так же на базовых элементах типа тригера, ИЛИ, НЕ. И поверьте — те кто его создавал — были творческими людьми. А программирование придумали уже после создания компьютера. Причем те же творческие люди — электронщики.
вот такое определение слову творчество даёт википедия: творчество — Создание новых по замыслу культурных, материальных ценностей.

слушайте. если вы в своей жизни ничего не придумали. ничего не создали. ничего не СОТВОРИЛИ. то вы не творческий человек. поэтому плевать в сторону творцов, которые каждый день что-то создают, творят не надо.
Да я сам АСУТПшник. И пишу на всех этих LAD и FB и пофиг на чем. Как поручик Ржеский. И я говорил, что я не настоящий сварщик. И стопудово никого не выше. Я довольно обычный инженер. Вы хоть читали вообще, что я писал?
На RLL написать что-то по настоящему большое и сложное это очень долго и муторно.
Он для простых в общем задач автоматизации производства предназначен.
На Си можно написать все что угодно. И он совсем не сложен применительно к AVR. За пару дней можно освоить если есть базовые знания.
На AVR очень редко выполняются задачи автоматизации.
То есть должен же быть какой-то профит от LAD на AVR?
Я его не вижу и говорю почему.
Вы начинаете возбуждаться и в общем не приводите никаких доводов в свою пользу.
При этом стараетесь меня унизить почему то.
Ладно, только факты.
  1. Число зарегистрированных пользователей на сайте проекта приближается к тысяче.
  2. Каждую новую версию программы скачивают около десяти тысячь раз (в сумме всех вариантов, то есть под Винду, Линукс и обновления со старых версий)

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

Программа нужна как минимум этим людям:


Полностью согласен с высказываниями в соц. сетях. Несомненно автор ФлПрог достоин похвалы. Это не очередная программка для ОлдФагов, которая написана кем-то и когда-то, а потом заброшена. Вижу на сайте ФлПрог постоянные обновления версий с доработками, новыми функциями. Эта какой титанический труд затрачен!!!
Ну дык, факты то где плюсов LAD?
Ну вы могли бы написать типа «можно за пару дней ничего не понимая в контроллерах написать простую программу»
Я бы сказал «Ну и на Си можно, ну три дня уйдет, а через месяц на Си можно уже что-нибудь веселое написать.»
Ну как то так, вы же начинаете хвастаться загрузками и постами никому не известных людей.
Почему вы совершенно не воспринимаете критику?
AVKinc
что то ты совсем запутал: то ты электронщик, то ты асутэпэшник и пишешь на всех ПЛК-языках, то ты волею судеб случайно взялся писать на
ЛАД, но после си он тебе показался никчемным. Может ты всё таки больше киповец? тогда всё более-менее логично.

давай по порядку — если не прав — поправишь:
ты утверждаешь: — ЛАД не практичный язык и решает узкоспециальные задачи, должны изучать Си ибо маст хэв
тебе отвечают: — окей, но вот мы предлагаем инструмент ФЛПрог, который понравится людям, которые в основном работают со схемами.
ты утверждаешь: — на Си быстрее и больше плюшек, а LD удел рутинных задач среди АСУТП прочих не творческих личностей.
тебя отвечают: АСУТП — это вообще то творческая работа (с чем я абсолютно согласен, и уж более чем уверен — творчество зашкаливает).
ты отвечаешь: Си МАСТ ХЭВ ИБО ОН В АВР ВСЕМОГУЧ!!!, а LD бесполезен ибо не вижу профита, причем профита ты не видишь в силу трудозатратности и муторности реализации на нём сложных алгоритмов (если я правильно понял).

Да, LD любопытный язык, и то что ты можешь сделать на Си в две строчки, на LD и FBD может занять массу пространства и кучи кликов, но давай не будем откидывать тот факт что LD существенно проще в освоении и требует меньший порог вхождения (в отличии от Си, который за пару дней можно освоить если есть базовые знания, а если их нет, то всё бросить?)
соответственно ФЛпрог с LD нужен как минимум для начинающих, он позволяет начать думать логичными алгоритмами, он прямо наглядно показывает все логические взаимосвязи — что, зачем и почему.
И только за это автора этой программы благодарить надо, и уж тем более при этом утверждать что их работа бесполезна — это попросту не уважение к чужому труду, тем более что они проделали большую работу.
как жаль что рид-онли аккаунты не могут плюсовать :((
ну да ладно. я думаю что он наверно не в курсе что ПО для промышленных контроллеров идёт изначально с пристройкой LAD или FBD или то и другое вместе. так же он наверно не в курсе что всё в промышленных контроллерах в LAD и FBD автоматически ковертится в IL перед заливкой в контроллер (как у автора FLProg, но только тут конвертация в Си). ассемблер никто не отменял :)). Тот же ST паскалеподобный, а не Си подобный. Про долю промышленных контроллеров с ПО на Си я вообще молчу. Встречал только зелёные вроде бы Латвийские контроллеры.
Наверно он из серии ниши разработки ПО на Си для АВР или СТМ для управления к примеру ключами IGBT сборок электропривода. что достаточно узкоспециализированно, в отличие простых электриков, киповцев, в общем обслуживающего персонала или просто тех у кого руки из плечей растут и есть желание что-то для себя реализовать. Те, которые видят просто электрические схемы и для них проще и без заморочек видеть привычные им схемы в LAD или FBD.
Не понимаю таких людей, которые считают своё мнение истинно правильным. А все остальные просто заблуждаются.
Ну так это не критика а заявление типа: «Мне не понравилось — значит это г...». Соответственно факты такие — же. Некоторому количеству людей понравилось, и их больше. Вы то один.
Вы спрашивали про профит, так вот это он и есть, люди смогли реализовать свои идеи и заняться творчеством.

Ну а если серьёзно, то задайтесь вопросом, почему все производители промышленного оборудования до сих пор используют для программирования своих систем FBD и LAD. Даже новейшая среда от Siemens (Tia-Portal) основана на них -же. Это то же может служить фактом.
Ну я думаю Вы не будете утверждать что создание серьёзной системы АСУТП уровня какой ни будь электростанции не требует творческого подхода.
Или я что то не понимаю в Ваших словах. Что Вы имеете в виду под профитом и творческим потенциалом?
Почему пользуются LAD.
Потому что во первых это фактически стандарт и он прост. И изначально он был заточен под совершенно конкретные задачи.
Он прост для простых вещей.
Я вам не говорил, что ваш проект говно.
Вот вы пишите, что ваш проект для электронщиков.
Я электронщик, мне очень удобно писать на Си. Никаких проблем. Может все же не для электронщиков ваш проект?
Про творческий потенциал я тоже не говорил. Я говорю, что LAD это по сути язык для производства. На котором сможет работать даже дилетант. Ибо АСУТП штука достаточно простая в целом.
ОФФ
ага, конечно простая, чего сложного — увязать хотелки технологов с возможностями железа, учесть особенности работы
людей, не забыть про физику, химию там, согласен — проще уже не куда.

интересно когда уже теги сарказм и ирония появятся
Уважаемый AVKinc Вот вы пишете
Вот вы пишите, что ваш проект для электронщиков.
Я электронщик, мне очень удобно писать на Си. Никаких проблем. Может все же не для электронщиков ваш проект?

А с чего Вы взяли что Вы выражаете общее мнение всех электронщиков. Вы председатель их профсоюза? Если Вам больше нравится С, это Ваше право. Но не надо говорить от имени всех. Насчет простоты АСУП. <ирония> Ну… у меня возникают вопросы какие проекты вы реализуете или обслуживаете</ирония>(как заказывали).
вся логика контроллеров для станков написана на LAD. думаю вам надо поспорить со станкостроителями «что проще перетягивать электрическую схему в станок в LAD или Си ?». а так же с остальными сферами где преимущественно электросхемы, провода, реле, контакторы и прочая атрибутика. ну и в добавок надо предусмотреть что вашу программу может смотреть обслуживающий персонал и он должен понимать что там в программе происходит, а не ковырять справочник по Си что бы понять что делает та или иная стандартная функция какой-нибудь библиотеки Си. всё должно быть очень быстрым для понимания и освоения. простой оборудования это всегда потеря денег. и так же не стоит забывать что иногда заказчик требует в ТЗ всю программу на LAD.
так что ваши выпады или точнее сказать «высеры» в сторону FLProg и LAD c FBD мало того что беспочвенны, так ещё и не от опытности и больше похожи на высказывания школоты в период полового созревания когда идёт выпендрёж и весь мир крутится только вокруг них.
Господи, как вы попали то сюда? С двача подтянулись?
Вежливо принято общаться в таких местах.
Продолжить хотите дискуссию о моем возрасте?
У программы FLProg есть уже приличное количество пользователей.
Сергею (автору программы) многие выражают свою искрению благодарность, и это заслуженно!
Так-же, пользователи FLProg делают законченные проекты с нуля и до завершения.

Я уже ранее писал (не в обиду программистам), в большинстве своем программисты того-же языка С являются лишь приложением к чему либо, работают по определенному ТЗ, и как такового не производят собственного конечного продукта.
Программы для большинства современных промышленных контроллеров PLC пишутся в средах разработки поддерживающих языки LAD, FBD а так же и другие графические и функциональные языки. И о чем тут спорить? Функционала для решения большинства задач более чем достаточно. Кода я занялся АСУ то пришел абсолютно из другой области (инженер связи) и специально этому не учился. Каково же было мое удивление когда я увидел блоки двоичной логики языка FBD. Этот язык по сути виртуализация задачи по проектированию автоматов на микросхемах двоичной логики. Был у нас в универе такой предмет «микропроцессорная техника» там мы и составляли двоичные уравнения по таблицам истинности, решали их и составляли схемы из элементов логики. Я тогда думал, что вот это мне никогда не пригодится :-)
Или вот еще пример из жизни. Совсем недавно пришлось производить пусконаладку систем вентиляции, незнакомый PLC, чужие шкафы, спасибо разработчикам, что еще исходниками поделились. Три дня изучения среды разработки и полетели язык FBD. А пришли парни из отдела АСУ заказчика, увидели как происходит наладка и отладка в железе и программе для них это было откровение. Оказалось, что они таких языков не знают все они знают только С++. Для меня они просто программисты а не АСУшники.
Я понимаю кто хорошо знает С тем возможно сложно переключится и он кажется таким людям проще и элегантнее, но тем кто начал с нуля, FBD будет проще чем С. Кроме того наглядность такой разработки программы даже не обсуждается, особенно если имеется возможность отладки в реальном времени. Отслеживать схему проще чем код.
Каждому свое, все выбирают средства по вкусу и способностям :-)
Вставлю и я свои 5 копеек. Неудержался :))
Являюсь много-многолетним электронщиком, аналоговую схемотехнику знаю хорошо, цифровую (на уровне логических схем) тоже совсем неплохо, но вот с программированием не дружу еще со времен Политеха и тогдашних Фортранов. Про С и прочее вообще молчу. Ну не мое это.
Потому в освоении Ардуины, когда понадобилось, дальше помигать светодиодом и подобной лабуды не двинулся. Забросил.
А с появлением FLProg с его LAD и FBD (особенно!) случилось чудо — за пару вечеров нарисовал несколько достаточно сложных (как для меня) программ, залил их в Ардуину — и все работает! Также появилось много новых интересных планов, и все — благодаря FLProg.
Так что очень прошу уважаемого автора программы FLProg даже и не вступать в споры с тру-программерами вроде AVKinc и прочими, ежели таковые найдутся, не тратить на них свое время. Все равно переубедить их не удастся. Да и незачем это, у них свой мир, пусть там и живут.
А от лица всех не-программистов, которые, однако, смогли делать очень полезные для себя вещи, Вам огромное спасибо!
Да уж, такого я еще не видел: срач C++ VS LAD ))))))
Хотя тут все вроде как очевидно))
Sign up to leave a comment.