Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Аргументы в пользу и против IL, LD, FBD, ST...

Модератор: специалисты по PLC

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение san » 14 сен 2011, 16:17

Изображение


Alexander
БАН
БАН
Сообщения: 642
Зарегистрирован: 03 июн 2010, 11:26
Ф.И.О.: Козин Александр Елисеевич
Благодарил (а): 2 раза
Поблагодарили: 5 раз
Забанен: Бессрочно

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Alexander » 14 сен 2011, 18:43

Ну, если оболочка нормальная (и контроллер нормальный), индексируйте, и берите следующую порцию данных. В чем проблема?

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение san » 14 сен 2011, 18:50

В продолжение темы. То что я вверху наваял в LAD для UNITY, не означает что это удобно. Для этой задачи (слишком громкое название) логичнее и удобнее и компактнее было бы использовать ST.

For counter:=1 to 10 do
A[counter]:=A[counter]+1.0;
end_for;

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

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение san » 14 сен 2011, 18:55

Alexander писал(а):Ну, если оболочка нормальная (и контроллер нормальный), индексируйте, и берите следующую порцию данных. В чем проблема?

Вот и я об этом. Хорошие среды дают 5 языков с возможнстью миксования. Как то не поленюсь и попробую привести два скриншота для сравнения LD и ST, FBD и ST, в пользу графических языков. Прелести ST уже выплывают с верхнего скриншота. Повторюсь уже н-й раз: каждый язык хорош для своей задачи, если у выбраной платформы эти языки нормально реализованы.


Alexander
БАН
БАН
Сообщения: 642
Зарегистрирован: 03 июн 2010, 11:26
Ф.И.О.: Козин Александр Елисеевич
Благодарил (а): 2 раза
Поблагодарили: 5 раз
Забанен: Бессрочно

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Alexander » 14 сен 2011, 19:07

Странно, ведь давал уже сообщение, Буквально 15 минут назад. И по поводу того, что циклы элемкентарно обеспечиваются, и реализация индексации элементарно обеспечивается, в зависимости от воли производителя. И куда это делось? К кому претензии, модератор? Может я там кого-то матом назвал?


Alexander
БАН
БАН
Сообщения: 642
Зарегистрирован: 03 июн 2010, 11:26
Ф.И.О.: Козин Александр Елисеевич
Благодарил (а): 2 раза
Поблагодарили: 5 раз
Забанен: Бессрочно

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Alexander » 14 сен 2011, 19:09

Ничего не понял.

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение san » 14 сен 2011, 19:31

Alexander писал(а): ...цикл...индексации...

Alexander писал(а):Может я там кого-то матом назвал?

:-)


Alexander
БАН
БАН
Сообщения: 642
Зарегистрирован: 03 июн 2010, 11:26
Ф.И.О.: Козин Александр Елисеевич
Благодарил (а): 2 раза
Поблагодарили: 5 раз
Забанен: Бессрочно

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Alexander » 14 сен 2011, 19:40

Каюсь :D

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение san » 14 сен 2011, 20:10

Вот, например, задача с концевиками. Найдите, почему не сработал result:
Вот онлайн режим на LD
Изображение
И онлайн на ST,
Изображение
Где проще и быстрее найти причину?
зелень в переменных - "TRUE"
красные - "FALSE"
П.С. Уже допустил одну ошибку в ST, вечер...блин. Исправил.

Аватара пользователя

Barsik
освоился
освоился
Сообщения: 294
Зарегистрирован: 02 фев 2010, 22:28
Ф.И.О.: Корнеев Дмитрий
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Barsik » 15 сен 2011, 00:50

ИМХО, тема выеденного гроша не стоит.. Когда я трудился на одну весьма известную европейскую компанию, там в качестве стандарта был FBD, но там где требовалась косвенная адресация и прочие ништяки, использовался IL. И надо сказать, ничего страшного, все весьма адекватно и понимаемо человеком который "только зашел".
С точки зрения наладчика главная проблема как найти то, что работает не правильно. Вот предыдущий оратор скриншот показал, на котором ясно видно, как не любят наладчиков программисты. Больше скажу, за такие имена переменных я пару раз бил морду некоторым программистам.. Потому что разобратся в проекте, в котором имена перемнных ограничены тремя символами (так было у меня, про один символ сказать даже нечего), абсолютно невозможно..
Короче, проблема не в языках, а в общей культуре разработки. Язык это только инструмент, и с учетом правил и ограничений каждый выберет то, что наиболее ему подходит.
Языки типа SCL может кому то нравятся, но для написания компактного эффективного кода ни разу не подходят. В IL я могу, скажем, прочитать байт, а потом манипулировать с отдельными битами, в SCL ничего подобного не получится..
А вообще тема из серии - кто сильнее кит или слон..
Запуск и модернизация оборудования без проекта и документации. Дорого.

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение san » 15 сен 2011, 07:57

Вы мне уж морду то не бейте. :-) Я предстваляю как один человек юьет в ЛИЦО другого с криками: "бушь нормально переменные называть"!
Пример я наваял очень быстро, а то что переменные a и b...., Вы что хотели, если задача абсолютно не конкретная. Вы, Barsik, наверное с тех, которые LD, FBD и даже ST считают недоязыками.
Это Вы меня назвали программистом, аль наладчиком? Вам проще найти пробелму в тексте чем в графике? Да, причем в IL! Ну что ж, уверяю Вас, не все такие как Вы. По крайней мере один - точно не такой.


Автор темы
Владимир Кузнецов
не первый раз у нас
не первый раз у нас
Сообщения: 321
Зарегистрирован: 31 авг 2011, 21:14
Ф.И.О.: Кузнецов Владимир Сергеевич

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Владимир Кузнецов » 17 сен 2011, 22:29

san писал(а):Не забывайте также о том, что во многих (по райнгей мере всех мне известных) ПЛК крутится интерпритатор, который дает вам возможность в онлайн режиме менять программу.

Хотелось бы заметить, что возможность менять программу "на лету" не является прерогативой интерпретируемых сред. При должном подходе это возможно и для компилируемых. Например в Linux есть технология Ksplice, позволяющая применять обновления ядра без перезагрузки.
san писал(а):Повторюсь уже н-й раз: каждый язык хорош для своей задачи, если у выбраной платформы эти языки нормально реализованы.

Можно ли повторить показанный вами пример с циклом в LAD у Сименса или получается что он плохо реализован?
Лично я тоже за миксование - структуру алгоритма лучше делать в графическом языке, а сложные моменты реализовывать на IL или ST и прятать внутрь блоков.
Но есть оголтелые любители LAD, которые призывают полностью отказаться от "неправославных" языков.
Кстати, Сименс со мной согласен - системные блоки сделаны на STL/SCL.
san писал(а):Вот, например, задача с концевиками. Где проще и быстрее найти причину?

Да я и не спорю, что в LD удобно наблюдать работу алгоритма в простых случаях.
Я к тому, что заявлять о 100% успехе такого подхода не корректно.
Есть ситуации, когда на экране кроме мельтешения ничего не увидишь.
Кстати, в ST тоже можно повысить наглядность онлайн режима, если грамотно подсвечивать код.
Просто разработчики не стали с этим заморачиваться.


Автор темы
Владимир Кузнецов
не первый раз у нас
не первый раз у нас
Сообщения: 321
Зарегистрирован: 31 авг 2011, 21:14
Ф.И.О.: Кузнецов Владимир Сергеевич

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Владимир Кузнецов » 17 сен 2011, 22:41

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

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

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение san » 18 сен 2011, 18:34

Владимир Кузнецов писал(а):Это как раз пример некачественного программирования.

А вот тут я первый раз обиделся. :-) Уважаемый Владимир. Для той задачи, которая используется в этом примере, это самое удачное название переменных, так как они сами по себе ничего не означают, а означает их состояние. А для того, чтоб показывать некачественное, покажите пожалуйста качественное. Давайте я придумаю для Вас задачку, а Вы ее наваете на CИ в любой удобной Вам платформе. Возможно посмотрев это решение я полностью поменяю свое мнение и о стиле программирования и о используемых языках. Пока это только слова, ничем не подтвержденные.

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение san » 18 сен 2011, 18:51

Владимир Кузнецов писал(а):Хотелось бы заметить, что возможность менять программу "на лету" не является прерогативой интерпретируемых сред. При должном подходе это возможно и для компилируемых. Например в Linux есть технология Ksplice, позволяющая применять обновления ядра без перезагрузки.

Не буду спорить, но это тема не этого топика.
Владимир Кузнецов писал(а):Можно ли повторить показанный вами пример с циклом в LAD у Сименса или получается что он плохо реализован?

Да при чем тут Сименс! (По моему я эту фразу уже где то писал). Как тема-то называется?

Владимир Кузнецов писал(а):Но есть оголтелые любители LAD, которые призывают полностью отказаться от "неправославных" языков.
Кстати, Сименс со мной согласен - системные блоки сделаны на STL/SCL.

Есть сугубо "православные задачи" для которых очень подходят сугубо "православные языки". Кроме того, сами "православные служители" пользуются этими языками, дабы проще заниматься "чтением молитв". Как-то вспомнил наладчика, который приехал налаживать гомогенизатор какой-то немецкой конторы. Моя фраза "мы программы для ПЛК сами пишем" повергла его в легкое недоумение. В ихней конторе программеры пишут только один екзмепляр программы, а наладчики эту программу подстривают на объекте. Все наладчики должны это уметь. В другой фирме, в которой довелось подрабатывать, использовали только концептовский ФБД. Задачи там совсем другие, но они очень хорошо ложатся именно под ФБД.
Язык LD и FBD проще для наладчиков? - Конечно, но в очень большом круге задач он абсолютно достаточен. Кроме того, он в этих задачах удобнее в отладке.

Владимир Кузнецов писал(а): Да я и не спорю, что в LD удобно наблюдать работу алгоритма в простых случаях.
Я к тому, что заявлять о 100% успехе такого подхода не корректно.
Есть ситуации, когда на экране кроме мельтешения ничего не увидишь.
Кстати, в ST тоже можно повысить наглядность онлайн режима, если грамотно подсвечивать код.
Просто разработчики не стали с этим заморачиваться.

Это Вы заявляли, что графические языки проигрывают текстовым, а я говорю, что все завист от задачи. Ваши частные случаи не говорят о правилах. Да, кстати, покажите пример грамотно подсвеченого кода в ST.


Alexander
БАН
БАН
Сообщения: 642
Зарегистрирован: 03 июн 2010, 11:26
Ф.И.О.: Козин Александр Елисеевич
Благодарил (а): 2 раза
Поблагодарили: 5 раз
Забанен: Бессрочно

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Alexander » 18 сен 2011, 19:35

"Да, кстати, покажите пример грамотно подсвеченого кода в ST."

Хотелось-бы тоже взглянуть. Заодно и понять, чем это поможет в отладке....


Автор темы
Владимир Кузнецов
не первый раз у нас
не первый раз у нас
Сообщения: 321
Зарегистрирован: 31 авг 2011, 21:14
Ф.И.О.: Кузнецов Владимир Сергеевич

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Владимир Кузнецов » 18 сен 2011, 20:30

san писал(а):А вот тут я первый раз обиделся.

Я говорил про те случаи, когда программисту "морду били", у вас же академический пример и к нему это не применимо.
san писал(а):а я говорю, что все завист от задачи

Да я тоже так говорю :)
san писал(а):Да, кстати, покажите пример грамотно подсвеченого кода в ST

Ну вот если бы среда подсветили код примерно так, то стало бы понятнее что мешает:
Изображение

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение san » 18 сен 2011, 21:53

Непонял логику подсветки. В Юнити как-то понятно с 1-го раза, что и почему подсвечивается. Да, и я думал, что у Вас на примете какая-то конкретная среда есть, где ST подсвечиватеся так, что все станет на свои места.


Автор темы
Владимир Кузнецов
не первый раз у нас
не первый раз у нас
Сообщения: 321
Зарегистрирован: 31 авг 2011, 21:14
Ф.И.О.: Кузнецов Владимир Сергеевич

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Владимир Кузнецов » 18 сен 2011, 22:29

san писал(а):Непонял логику подсветки.

Я попытался подсветить зеленым не только переменные, но и операции, результат которых так же TRUE (главная причина, почему в примере с ST сразу не понятно что происходит).
Тогда становится сразу видно какие цепочки схлопнулись, а где застряло.
Реализации подобного я не видел (видимо в этом нет нужды), но мы ведь и не о конкретных средах говорим.
Вообще в текстовых языках не принято такие конструкции так городить - становится нечитаемо.
Я бы переписал хотя бы так:

Код: Выделить всё

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;
   }
}

и уже бы стало вполне понятно.

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение san » 18 сен 2011, 22:47

Такую же конструкцию и в ST можно сделать, но скорость нахождения точек разрыва для этой задачи ... думаю в LD все равно больше.
Вобще, конечно откровенно говоря для меня ST самый универсальный язык. Но есть вещи, которые лучше делать в LD, в FBD или в SFC. Так что сам спор какой язык лучше может быть только в контексте:
- конкретной задачи;
- конкретной платформы;
- персонала учавствующего в разработке;
- персонала учавствующего в пусконаладке;
- фирменного стиля;
- и ряда других криетриев.
Иначе, этот спор как то терятет смысл. ИМХО.


Автор темы
Владимир Кузнецов
не первый раз у нас
не первый раз у нас
Сообщения: 321
Зарегистрирован: 31 авг 2011, 21:14
Ф.И.О.: Кузнецов Владимир Сергеевич

Re: Аргументы в пользу и против IL, LD, FBD, ST...

Сообщение Владимир Кузнецов » 19 сен 2011, 08:27

Полностью поддерживаю :)
(и если посмотреть первое сообщение, то можно увидеть, что обратного я и не утверждал)


Вернуться в «Обсуждение F.A.Q. по PLC»



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

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