Страница 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 :D
Одна из причин, почему удобен ладдер - заказчики часто желают получить исходники. Даже не для того, чтобы ковыряться, а чтоб мониторить в непонятных ситуациях. Мониторят, ессно, электрики. Лучше ладдера тут ничего не придумаешь. 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.