- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Аргументы в пользу и против IL, LD, FBD, ST...
Модератор: специалисты по PLC
-
- БАН
- Сообщения: 642
- Зарегистрирован: 03 июн 2010, 12:26
- Имя: Козин Александр Елисеевич
- Страна: Украина
- город/регион: Одесса
- Благодарил (а): 2 раза
- Поблагодарили: 6 раз
- Забанен: Бессрочно
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Ну, если оболочка нормальная (и контроллер нормальный), индексируйте, и берите следующую порцию данных. В чем проблема?
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
В продолжение темы. То что я вверху наваял в LAD для UNITY, не означает что это удобно. Для этой задачи (слишком громкое название) логичнее и удобнее и компактнее было бы использовать ST.
For counter:=1 to 10 do
A[counter]:=A[counter]+1.0;
end_for;
Я всего лишь хотел показать, что возможности и ограничения очень платформозависимые.
For counter:=1 to 10 do
A[counter]:=A[counter]+1.0;
end_for;
Я всего лишь хотел показать, что возможности и ограничения очень платформозависимые.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Вот и я об этом. Хорошие среды дают 5 языков с возможнстью миксования. Как то не поленюсь и попробую привести два скриншота для сравнения LD и ST, FBD и ST, в пользу графических языков. Прелести ST уже выплывают с верхнего скриншота. Повторюсь уже н-й раз: каждый язык хорош для своей задачи, если у выбраной платформы эти языки нормально реализованы.Alexander писал(а):Ну, если оболочка нормальная (и контроллер нормальный), индексируйте, и берите следующую порцию данных. В чем проблема?
-
- БАН
- Сообщения: 642
- Зарегистрирован: 03 июн 2010, 12:26
- Имя: Козин Александр Елисеевич
- Страна: Украина
- город/регион: Одесса
- Благодарил (а): 2 раза
- Поблагодарили: 6 раз
- Забанен: Бессрочно
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Странно, ведь давал уже сообщение, Буквально 15 минут назад. И по поводу того, что циклы элемкентарно обеспечиваются, и реализация индексации элементарно обеспечивается, в зависимости от воли производителя. И куда это делось? К кому претензии, модератор? Может я там кого-то матом назвал?
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Alexander писал(а): ...цикл...индексации...
:-)Alexander писал(а):Может я там кого-то матом назвал?
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Вот, например, задача с концевиками. Найдите, почему не сработал result:
Вот онлайн режим на LD
И онлайн на ST,
Где проще и быстрее найти причину?
зелень в переменных - "TRUE"
красные - "FALSE"
П.С. Уже допустил одну ошибку в ST, вечер...блин. Исправил.
Вот онлайн режим на LD
И онлайн на ST,
Где проще и быстрее найти причину?
зелень в переменных - "TRUE"
красные - "FALSE"
П.С. Уже допустил одну ошибку в ST, вечер...блин. Исправил.
-
- не первый раз у нас
- Сообщения: 353
- Зарегистрирован: 02 фев 2010, 22:28
- Имя: Корнеев Дмитрий
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 1 раз
- Поблагодарили: 7 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
ИМХО, тема выеденного гроша не стоит.. Когда я трудился на одну весьма известную европейскую компанию, там в качестве стандарта был FBD, но там где требовалась косвенная адресация и прочие ништяки, использовался IL. И надо сказать, ничего страшного, все весьма адекватно и понимаемо человеком который "только зашел".
С точки зрения наладчика главная проблема как найти то, что работает не правильно. Вот предыдущий оратор скриншот показал, на котором ясно видно, как не любят наладчиков программисты. Больше скажу, за такие имена переменных я пару раз бил морду некоторым программистам.. Потому что разобратся в проекте, в котором имена перемнных ограничены тремя символами (так было у меня, про один символ сказать даже нечего), абсолютно невозможно..
Короче, проблема не в языках, а в общей культуре разработки. Язык это только инструмент, и с учетом правил и ограничений каждый выберет то, что наиболее ему подходит.
Языки типа SCL может кому то нравятся, но для написания компактного эффективного кода ни разу не подходят. В IL я могу, скажем, прочитать байт, а потом манипулировать с отдельными битами, в SCL ничего подобного не получится..
А вообще тема из серии - кто сильнее кит или слон..
С точки зрения наладчика главная проблема как найти то, что работает не правильно. Вот предыдущий оратор скриншот показал, на котором ясно видно, как не любят наладчиков программисты. Больше скажу, за такие имена переменных я пару раз бил морду некоторым программистам.. Потому что разобратся в проекте, в котором имена перемнных ограничены тремя символами (так было у меня, про один символ сказать даже нечего), абсолютно невозможно..
Короче, проблема не в языках, а в общей культуре разработки. Язык это только инструмент, и с учетом правил и ограничений каждый выберет то, что наиболее ему подходит.
Языки типа SCL может кому то нравятся, но для написания компактного эффективного кода ни разу не подходят. В IL я могу, скажем, прочитать байт, а потом манипулировать с отдельными битами, в SCL ничего подобного не получится..
А вообще тема из серии - кто сильнее кит или слон..
Запуск и модернизация оборудования без проекта и документации. Дорого.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Вы мне уж морду то не бейте. :-) Я предстваляю как один человек юьет в ЛИЦО другого с криками: "бушь нормально переменные называть"!
Пример я наваял очень быстро, а то что переменные a и b...., Вы что хотели, если задача абсолютно не конкретная. Вы, Barsik, наверное с тех, которые LD, FBD и даже ST считают недоязыками.
Это Вы меня назвали программистом, аль наладчиком? Вам проще найти пробелму в тексте чем в графике? Да, причем в IL! Ну что ж, уверяю Вас, не все такие как Вы. По крайней мере один - точно не такой.
Пример я наваял очень быстро, а то что переменные a и b...., Вы что хотели, если задача абсолютно не конкретная. Вы, Barsik, наверное с тех, которые LD, FBD и даже ST считают недоязыками.
Это Вы меня назвали программистом, аль наладчиком? Вам проще найти пробелму в тексте чем в графике? Да, причем в IL! Ну что ж, уверяю Вас, не все такие как Вы. По крайней мере один - точно не такой.
-
- не первый раз у нас
- Сообщения: 321
- Зарегистрирован: 31 авг 2011, 22:14
- Имя: Кузнецов Владимир Сергеевич
- Страна: Россия
- город/регион: Казань
- Поблагодарили: 1 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Хотелось бы заметить, что возможность менять программу "на лету" не является прерогативой интерпретируемых сред. При должном подходе это возможно и для компилируемых. Например в Linux есть технология Ksplice, позволяющая применять обновления ядра без перезагрузки.san писал(а):Не забывайте также о том, что во многих (по райнгей мере всех мне известных) ПЛК крутится интерпритатор, который дает вам возможность в онлайн режиме менять программу.
Можно ли повторить показанный вами пример с циклом в LAD у Сименса или получается что он плохо реализован?san писал(а):Повторюсь уже н-й раз: каждый язык хорош для своей задачи, если у выбраной платформы эти языки нормально реализованы.
Лично я тоже за миксование - структуру алгоритма лучше делать в графическом языке, а сложные моменты реализовывать на IL или ST и прятать внутрь блоков.
Но есть оголтелые любители LAD, которые призывают полностью отказаться от "неправославных" языков.
Кстати, Сименс со мной согласен - системные блоки сделаны на STL/SCL.
Да я и не спорю, что в LD удобно наблюдать работу алгоритма в простых случаях.san писал(а):Вот, например, задача с концевиками. Где проще и быстрее найти причину?
Я к тому, что заявлять о 100% успехе такого подхода не корректно.
Есть ситуации, когда на экране кроме мельтешения ничего не увидишь.
Кстати, в ST тоже можно повысить наглядность онлайн режима, если грамотно подсвечивать код.
Просто разработчики не стали с этим заморачиваться.
-
- не первый раз у нас
- Сообщения: 321
- Зарегистрирован: 31 авг 2011, 22:14
- Имя: Кузнецов Владимир Сергеевич
- Страна: Россия
- город/регион: Казань
- Поблагодарили: 1 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Это как раз пример некачественного программирования.Barsik писал(а):Больше скажу, за такие имена переменных я пару раз бил морду некоторым программистам. Потому что разобратся в проекте, в котором имена перемнных ограничены тремя символами (так было у меня, про один символ сказать даже нечего), абсолютно невозможно.
Одно из основополагающих требований в программировании - программа должна быть самодокументируемой. Алгоритм (и имена переменных) должен быть четким и понятным, а не таким, что бы приходилось постоянно обращаться к справочникам и таблицам.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
А вот тут я первый раз обиделся. :-) Уважаемый Владимир. Для той задачи, которая используется в этом примере, это самое удачное название переменных, так как они сами по себе ничего не означают, а означает их состояние. А для того, чтоб показывать некачественное, покажите пожалуйста качественное. Давайте я придумаю для Вас задачку, а Вы ее наваете на CИ в любой удобной Вам платформе. Возможно посмотрев это решение я полностью поменяю свое мнение и о стиле программирования и о используемых языках. Пока это только слова, ничем не подтвержденные.Владимир Кузнецов писал(а): Это как раз пример некачественного программирования.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Не буду спорить, но это тема не этого топика.Владимир Кузнецов писал(а): Хотелось бы заметить, что возможность менять программу "на лету" не является прерогативой интерпретируемых сред. При должном подходе это возможно и для компилируемых. Например в Linux есть технология Ksplice, позволяющая применять обновления ядра без перезагрузки.
Да при чем тут Сименс! (По моему я эту фразу уже где то писал). Как тема-то называется?Владимир Кузнецов писал(а): Можно ли повторить показанный вами пример с циклом в LAD у Сименса или получается что он плохо реализован?
Есть сугубо "православные задачи" для которых очень подходят сугубо "православные языки". Кроме того, сами "православные служители" пользуются этими языками, дабы проще заниматься "чтением молитв". Как-то вспомнил наладчика, который приехал налаживать гомогенизатор какой-то немецкой конторы. Моя фраза "мы программы для ПЛК сами пишем" повергла его в легкое недоумение. В ихней конторе программеры пишут только один екзмепляр программы, а наладчики эту программу подстривают на объекте. Все наладчики должны это уметь. В другой фирме, в которой довелось подрабатывать, использовали только концептовский ФБД. Задачи там совсем другие, но они очень хорошо ложатся именно под ФБД.Владимир Кузнецов писал(а): Но есть оголтелые любители LAD, которые призывают полностью отказаться от "неправославных" языков.
Кстати, Сименс со мной согласен - системные блоки сделаны на STL/SCL.
Язык LD и FBD проще для наладчиков? - Конечно, но в очень большом круге задач он абсолютно достаточен. Кроме того, он в этих задачах удобнее в отладке.
Это Вы заявляли, что графические языки проигрывают текстовым, а я говорю, что все завист от задачи. Ваши частные случаи не говорят о правилах. Да, кстати, покажите пример грамотно подсвеченого кода в ST.Владимир Кузнецов писал(а): Да я и не спорю, что в LD удобно наблюдать работу алгоритма в простых случаях.
Я к тому, что заявлять о 100% успехе такого подхода не корректно.
Есть ситуации, когда на экране кроме мельтешения ничего не увидишь.
Кстати, в ST тоже можно повысить наглядность онлайн режима, если грамотно подсвечивать код.
Просто разработчики не стали с этим заморачиваться.
-
- БАН
- Сообщения: 642
- Зарегистрирован: 03 июн 2010, 12:26
- Имя: Козин Александр Елисеевич
- Страна: Украина
- город/регион: Одесса
- Благодарил (а): 2 раза
- Поблагодарили: 6 раз
- Забанен: Бессрочно
Re: Аргументы в пользу и против IL, LD, FBD, ST...
"Да, кстати, покажите пример грамотно подсвеченого кода в ST."
Хотелось-бы тоже взглянуть. Заодно и понять, чем это поможет в отладке....
Хотелось-бы тоже взглянуть. Заодно и понять, чем это поможет в отладке....
-
- не первый раз у нас
- Сообщения: 321
- Зарегистрирован: 31 авг 2011, 22:14
- Имя: Кузнецов Владимир Сергеевич
- Страна: Россия
- город/регион: Казань
- Поблагодарили: 1 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Я говорил про те случаи, когда программисту "морду били", у вас же академический пример и к нему это не применимо.san писал(а):А вот тут я первый раз обиделся.
Да я тоже так говорю :)san писал(а):а я говорю, что все завист от задачи
Ну вот если бы среда подсветили код примерно так, то стало бы понятнее что мешает:san писал(а):Да, кстати, покажите пример грамотно подсвеченого кода в ST
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Непонял логику подсветки. В Юнити как-то понятно с 1-го раза, что и почему подсвечивается. Да, и я думал, что у Вас на примете какая-то конкретная среда есть, где ST подсвечиватеся так, что все станет на свои места.
-
- не первый раз у нас
- Сообщения: 321
- Зарегистрирован: 31 авг 2011, 22:14
- Имя: Кузнецов Владимир Сергеевич
- Страна: Россия
- город/регион: Казань
- Поблагодарили: 1 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Я попытался подсветить зеленым не только переменные, но и операции, результат которых так же TRUE (главная причина, почему в примере с ST сразу не понятно что происходит).san писал(а):Непонял логику подсветки.
Тогда становится сразу видно какие цепочки схлопнулись, а где застряло.
Реализации подобного я не видел (видимо в этом нет нужды), но мы ведь и не о конкретных средах говорим.
Вообще в текстовых языках не принято такие конструкции так городить - становится нечитаемо.
Я бы переписал хотя бы так:
Код: Выделить всё
result = 0;
if(b)
{
if(!o && p)
{
if(h && b_int>2000 && !k && l && m) result = 1;
if(e && a_int>1000 && n)
if((c && !d) || (f && !g)) result = 1;
}
}
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Такую же конструкцию и в ST можно сделать, но скорость нахождения точек разрыва для этой задачи ... думаю в LD все равно больше.
Вобще, конечно откровенно говоря для меня ST самый универсальный язык. Но есть вещи, которые лучше делать в LD, в FBD или в SFC. Так что сам спор какой язык лучше может быть только в контексте:
- конкретной задачи;
- конкретной платформы;
- персонала учавствующего в разработке;
- персонала учавствующего в пусконаладке;
- фирменного стиля;
- и ряда других криетриев.
Иначе, этот спор как то терятет смысл. ИМХО.
Вобще, конечно откровенно говоря для меня ST самый универсальный язык. Но есть вещи, которые лучше делать в LD, в FBD или в SFC. Так что сам спор какой язык лучше может быть только в контексте:
- конкретной задачи;
- конкретной платформы;
- персонала учавствующего в разработке;
- персонала учавствующего в пусконаладке;
- фирменного стиля;
- и ряда других криетриев.
Иначе, этот спор как то терятет смысл. ИМХО.
-
- не первый раз у нас
- Сообщения: 321
- Зарегистрирован: 31 авг 2011, 22:14
- Имя: Кузнецов Владимир Сергеевич
- Страна: Россия
- город/регион: Казань
- Поблагодарили: 1 раз
Re: Аргументы в пользу и против IL, LD, FBD, ST...
Полностью поддерживаю :)
(и если посмотреть первое сообщение, то можно увидеть, что обратного я и не утверждал)
(и если посмотреть первое сообщение, то можно увидеть, что обратного я и не утверждал)