Страница 1 из 2
[TIA Portal] Какой язык программирования вы предпочитаете?
Добавлено: 24 ноя 2016, 06:17
Strohmann
Здравствуйте, товарищи.
Возник вопрос о целесообразности использования SCL в контроллерах 1500 серии и стало интересно, а кто на чем пишет.
В опросе - основной язык, в комментариях совершенно не возбраняется рассказать о предпочтениях в решении каких-то задач на других языках.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 24 ноя 2016, 09:43
Strohmann
А можно поинтересоваться у любителя LAD, почему предпочтение отдаётся именно ему. Ну и совсем здорово - какой-нибудь пример кода.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 24 ноя 2016, 12:02
Автоматизатор
Strohmann писал(а):Возник вопрос о целесообразности использования SCL в контроллерах 1500 серии и стало интересно, а кто на чем пишет.
Если надо использовать косвенную адресацию, то по крайней мере в S7-1200 SCL - это единственный вариант, т.к. STL нет.
Вот пример использования, без SCL было долго и нудно. Например, обнулить блок статистики:
Код: Выделить всё
IF #fCycle THEN
FOR #i := 0 TO 800 BY 1
DO
#POINT[#i].n := 0.0;
#POINT[#i].Npvo := 0;
#POINT[#i].Vppo := 0;
#POINT[#i].H_ACT := 0;
#POINT[#i].H_NEW := 0;
#POINT[#i].PVO_ActPos := 0;
#POINT[#i].V_Sync := 0;
#POINT[#i].E_1 := 0;
END_FOR;
END_IF;
Strohmann писал(а):А можно поинтересоваться у любителя LAD, почему предпочтение отдаётся именно ему.
Если идет битовая логика, то зеленые цепочки очень наглядны при отладке. Для человека с опытом разработки релейных схем - все просто и понятно. Не надо только всякие SET / RESET использовать.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 24 ноя 2016, 15:17
Михайло
Strohmann писал(а):А можно поинтересоваться у любителя LAD, почему предпочтение отдаётся именно ему. Ну и совсем здорово - какой-нибудь пример кода.
Примеры кода нет смысла приводить, так как неподготовленного они просто смутят.
Есть чисто теоретическое объяснение (не личное субъективное!), почему LD лучше по сравнению с FBD.
Тонкость заключается в изображении логических элементов
AND и
OR. В FBD для обозначения этих элементов применяются знаки "&" и ">=1" в прямоугольниках. Фактически разница между элементами очень важная, однако изображения очень похожи. Еще элемент NOT тоже похож и все они легко путаются. Это очень неудобно. В LD с этим получше: AND - это параллельное соединение цепочек, OR - последовательное соединение. В LD очень легко видеть, где логическое "И", а где логическое "ИЛИ". Это удобно.
Почему любят FBD
неспециалисты по автоматизации? Потому что FBD более близок к словесному описанию алгоритма. Однако после нескольких месяцев тренировок с языком LD или релейно-контакторными схемами это преимущество языка FBD становится ничтожным.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 25 ноя 2016, 08:48
dimon64
Автоматизатор писал(а):Если идет битовая логика, то зеленые цепочки очень наглядны при отладке. Для человека с опытом разработки релейных схем - все просто и понятно. Не надо только всякие SET / RESET использовать.
Тут дело не столько в отладке, в своей программе уж как-нибудь разберётесь, сколько в облегчении поиска неисправности.
Иногда вызывают на линию где-нибудь за полночь (что-нибудь не запускается), заходишь в онлайн, а там одни буковки и циферки,
Сразу хочется удавить этого писателя.
Не уловил, а чем плохи SET/RESET? Я их обычно в соседних нетворках пишу, всё очень наглядно получается.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 25 ноя 2016, 09:27
Михайло
dimon64 писал(а):Не уловил, а чем плохи SET/RESET? Я их обычно в соседних нетворках пишу, всё очень наглядно получается.
SET/RESET не позволяют увидеть текущее состояние тэга.
Вариант в) онлайн получается нагляднее, т.к. видим текущее состояние тэга К1.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 25 ноя 2016, 12:19
dimon64
Михайло писал(а):SET/RESET не позволяют увидеть текущее состояние тэга
Очень даже позволяют:
SR.jpg
Кто что использует - дело привычки, я пользую и SET/RESET и "самоподхват".
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 25 ноя 2016, 14:11
Автоматизатор
Михайло писал(а):SET/RESET не позволяют увидеть текущее состояние тэга.
dimon64 писал(а):Очень даже позволяют:
Видно плохо. А если еще навтыкать несколько ресетов в разных концах программы, то еще и искать придется.
dimon64 писал(а):Тут дело не столько в отладке, в своей программе уж как-нибудь разберётесь, сколько в облегчении поиска неисправности.
Иногда вызывают на линию где-нибудь за полночь (что-нибудь не запускается), заходишь в онлайн, а там одни буковки и циферки,
Сразу хочется удавить этого писателя.
Я и говорю про наглядность отладки. Собралась цепочка или нет. Одним взглядом пробежался - сразу видно.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 26 ноя 2016, 04:57
Михайло
dimon64 писал(а):Очень даже позволяют:
Точно.
Но все равно как-то непривычно, неестественно.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 26 ноя 2016, 05:28
Автоматизатор
В ладе еще плохо смотрится инверсия. Это очень не наглядно.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 28 ноя 2016, 05:35
LIV
На безвременно почившем форуме Сименса примерно раз в год кто-нибудь начинал вот такой холивар.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 28 ноя 2016, 15:26
Marrenoloth
Strohmann писал(а):Возник вопрос о целесообразности использования SCL в контроллерах 1500 серии
Не, ну если вы предпочитаете всё писать "в лоб и руками", то, конечно, можете не использовать. Мне таки лень, я использую.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 28 ноя 2016, 15:31
Михайло
SCL отличный язык для обработки массивов данных (array of). Однозначно использовать, но это довольно редкий случай.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 29 ноя 2016, 11:28
Muzzy
ладдер, STL, FBD. SCL очень редко. Мне на STL написать проще, чем на SCL
Одна из причин, почему удобен ладдер - заказчики часто желают получить исходники. Даже не для того, чтобы ковыряться, а чтоб мониторить в непонятных ситуациях. Мониторят, ессно, электрики. Лучше ладдера тут ничего не придумаешь. FBD лучше тем, что в нём есть инструкция XOR (в отличие от ладдера - там нет). Требуется редко, но метко.
STL хорош, когда надо написать что-либо, что на ладдере в удобоваримом виде сделать просто нереально.
Вся троица предпочтительна потому, что при аплоаде получается, в целом, исходная программа. А не фарш после компилятора.
Ещё люблю CFC - в сущности, продвинутый ладдер. Но проекты с PCS большая редкость.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 29 ноя 2016, 12:58
greg3d
Странноватый опрос) "Все профессии нужны, все профессии важны") Сравнивать можно, например FBD и LAD. В универе на лабах почему-то больше любил FBD (названия функций привычные, а эти "релейные диаграммы" были как темный лес), а в реальной работе увидел насколько LAD прост и понятен и позволяет по сути "оцифровать" реальную релейную схему, в проектах использую именно его.
SCL позволяет наглядно и гибко писать блоки для работы с коммуникациями, работой с данными и массивами. Собственно, на нем реализовал часть протокола IMPI over LAN, управляющий включением и выключением сервера по сети. Не говоря уж о всяких математических алгоритмах (к слову, вроде бы пресловутый FB41 имеет первоначальную реализацию именно на SCL).
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 29 ноя 2016, 18:47
Михайло
Muzzy писал(а):Ещё люблю CFC - в сущности, продвинутый ладдер. Но проекты с PCS большая редкость.
Не, CFC - это родственник FBD. Посмотри еще раз.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 30 ноя 2016, 11:29
Muzzy
Михайло писал(а):Не, CFC - это родственник FBD. Посмотри еще раз.
Согласен, ошибся.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 01 дек 2016, 08:24
Andrey.wys
Предпочитаю писать на LAD. То, что нельзя написать на LAD, пишу в STL. SCL использую для работы с косвенной адресацией, обменом данными, математикой и т.д.
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 09 дек 2016, 17:05
aktivizator
Andrey.wys писал(а):Предпочитаю писать на LAD. То, что нельзя написать на LAD, пишу в STL. SCL использую для работы с косвенной адресацией, обменом данными, математикой и т.д.
Подтяните начинающего! Что конкретно нельзя на LAD написать. Какие преимущества у STL по сравнению с LAD?
Re: [TIA Portal] Какой язык программирования вы предпочитает
Добавлено: 12 дек 2016, 15:46
Andrey.wys
Преимущество у STL по сравнению с LAD - на нем можно написать все. Недостаток - неудобно. Как ассемблер на PC.