- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
как писать в STL
-
- здесь недавно
- Сообщения: 33
- Зарегистрирован: 13 мар 2021, 21:02
- Имя: Азат
- Благодарил (а): 10 раз
как писать в STL
Доброго
занимаюсь самообучением. все пока нормально, но вот иногда про некоторые детали спросить не у кого, разрешите поинтересоваться у Вас.
вопрос вот в чем когда я захотел написать на СТЛ длинную и объёмную функцию она не заработала, не понял как это написал её на ладе и перевел её в стл и тут оно мне выдало нечто, с какой-то матерью я разобрался в машинном формировании программы. Но осадок остался. пришел к выводу что лучше писать большую программу разбив её на короткие команды, в литературе про это мало да и то если есть то только битовые команды. но это по моему муторно очень много само повторов получается, легко запутаться. Поэтому прошу знающих людей подсказать как писать программы. тут я пример накатал. не могли бы вы на её примере или на своём если не сложно как писать объёмные программы с задействованием множества элементов.
занимаюсь самообучением. все пока нормально, но вот иногда про некоторые детали спросить не у кого, разрешите поинтересоваться у Вас.
вопрос вот в чем когда я захотел написать на СТЛ длинную и объёмную функцию она не заработала, не понял как это написал её на ладе и перевел её в стл и тут оно мне выдало нечто, с какой-то матерью я разобрался в машинном формировании программы. Но осадок остался. пришел к выводу что лучше писать большую программу разбив её на короткие команды, в литературе про это мало да и то если есть то только битовые команды. но это по моему муторно очень много само повторов получается, легко запутаться. Поэтому прошу знающих людей подсказать как писать программы. тут я пример накатал. не могли бы вы на её примере или на своём если не сложно как писать объёмные программы с задействованием множества элементов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- корифей
- Сообщения: 792
- Зарегистрирован: 16 ноя 2016, 11:33
- Имя: Максим Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 16 раз
- Поблагодарили: 202 раза
как писать в STL
Сначала надо на STL базовые функции научиться писать и по меткам переходить, потом уже можно переходить на "длинные и объёмные функции".
Вот этой книги более, чем достаточно, чтобы понять, как писать на STL то, что в примере сделано на LAD:
Бергер Ганс. Автоматизация посредством STEP 7 с использованием STL и SCL, она спокойно находится во всемирной паутине.
Кстати, в STEP7 любой код из LAD спокойно переводится в STL, а в обратную сторону - нет (точнее не всегда, но более/менее сложные функции в LAD практически никогда не переведутся), поэтому нарисовать что-то в LAD и перевести в STL, пытаясь таким методом понять язык STL, это не самая хорошая идея.
Вообще, на STL можно хоть в одном нетворке написать весь код и всё будет работать, правда потом будет не легко искать ошибки и т.п., а вот с LAD так не получится...
Вот этой книги более, чем достаточно, чтобы понять, как писать на STL то, что в примере сделано на LAD:
Бергер Ганс. Автоматизация посредством STEP 7 с использованием STL и SCL, она спокойно находится во всемирной паутине.
Кстати, в STEP7 любой код из LAD спокойно переводится в STL, а в обратную сторону - нет (точнее не всегда, но более/менее сложные функции в LAD практически никогда не переведутся), поэтому нарисовать что-то в LAD и перевести в STL, пытаясь таким методом понять язык STL, это не самая хорошая идея.
Вообще, на STL можно хоть в одном нетворке написать весь код и всё будет работать, правда потом будет не легко искать ошибки и т.п., а вот с LAD так не получится...
-
- здесь недавно
- Сообщения: 66
- Зарегистрирован: 29 окт 2017, 19:52
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 13 раз
как писать в STL
Доброе утро. Данные примеры можно написать вот так. А вообще сейчас STL уже не популярен и сам Siemens от него к сожалению по потихоньку отказывается. В нем есть смысл разбираться если у Вас на предприятии проекты написаны в нем. Мой Вам совет напишите небольшой код, запустите симуляцию, экспериментируйте и разбирайтесь по потихоньку, потом усложняйте. Со временем начнете разбираться, я сам начинал с LAD, но когда попал на предприятие где разработчики были Немцы, у них что на LADe небыло ни одной программы. Пришлось разбираться, сейчас на LADe не пишу.
// Пример с Network 2
A I0.2
AN I0.3
NOT
JCN J001
L 30
L MW11
+i
T MW5
L MW5
T MW6
J001: NOP 0
A I0.2
AN I0.3
NOT
L MW2
SP T1
L T1
T MW3
LC T1
T MW4
A I0.0
JCN J002
L MW7
T MW 8
L MW9
T MW10
J002: NOP 0
// Пример с Network 1
A I0.0
S Q0.0
A I0.1
R Q0.0
A Q0.0
JCN J001
L 20
L MW1
==I
JCN J001
L MW2
T MW3
L MW4
T MW5
J001: NOP 0
// Пример с Network 2
A I0.2
AN I0.3
NOT
JCN J001
L 30
L MW11
+i
T MW5
L MW5
T MW6
J001: NOP 0
A I0.2
AN I0.3
NOT
L MW2
SP T1
L T1
T MW3
LC T1
T MW4
A I0.0
JCN J002
L MW7
T MW 8
L MW9
T MW10
J002: NOP 0
// Пример с Network 1
A I0.0
S Q0.0
A I0.1
R Q0.0
A Q0.0
JCN J001
L 20
L MW1
==I
JCN J001
L MW2
T MW3
L MW4
T MW5
J001: NOP 0
-
- здесь недавно
- Сообщения: 33
- Зарегистрирован: 13 мар 2021, 21:02
- Имя: Азат
- Благодарил (а): 10 раз
как писать в STL
Dmitriy1983, спасибо ОГРОМНОЕ, да так и есть у нас завод по немецкой технологии собран, контроллеры 300 й серии и все в СТЛ написано ну кроме разрешающих команд там что то вроде реле безопасности на ЛАДЕ через 20 проходов идет и это то что мне нужно было Спасибо еще раз.
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 16 июл 2021, 13:15
- Имя: Алексей
как писать в STL
Извините, что встреваю, но у меня такой же случай. Надо разобраться в коде и научиться вносить правки, ибо пока немцы соизволят откликнуться на жалобу и поработать, русские клиенты звереют.
Так вот вопрос: кто-нибудь знает, почему немцы до сих пор предпочитают писать на STL? Код чище или просто больше времени занимает при почасовой оплате труда? Это чтобы потом сказать: "Смотри, босс, что я тут наработал, аж на стопитсот человекочасов. Денег давай!"
Так вот вопрос: кто-нибудь знает, почему немцы до сих пор предпочитают писать на STL? Код чище или просто больше времени занимает при почасовой оплате труда? Это чтобы потом сказать: "Смотри, босс, что я тут наработал, аж на стопитсот человекочасов. Денег давай!"
-
- освоился
- Сообщения: 286
- Зарегистрирован: 15 сен 2016, 18:47
- Имя: Андрей
- Страна: Россия
- город/регион: Вологда
- Благодарил (а): 18 раз
- Поблагодарили: 73 раза
как писать в STL
Я тоже предпочитаю stl scl'лю. В контроллере оптимизация и скорость работы должны быть на первом месте, а удобство программиста на втором. То, что нельзя написать в lad, я пишу в stl. Конечно, scl я тоже использую. В нем удобнее писать всякие высокоуровневые вещи и математику.
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 16 июл 2021, 13:15
- Имя: Алексей
как писать в STL
Вот и я подозреваю, что можно было хотя бы иногда LAD и SCL использовать. Но нет. Сотни килобайт чистого STL.
-
- освоился
- Сообщения: 290
- Зарегистрирован: 09 авг 2016, 13:49
- Имя: Чистилин Андрей Анатольевич
- Страна: Россия
- город/регион: Малоярославец
- Благодарил (а): 31 раз
- Поблагодарили: 35 раз
как писать в STL
Если компания древняя, то некоторые фрагменты программ серийных станков еще с 5-го симатика тянутся...или программисты просто используют свои древниие наработки, болки готовые на пример.
-
- эксперт
- Сообщения: 1105
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 255 раз
- Поблагодарили: 184 раза
как писать в STL
Встречал подобное, но на технике AB: тупо перенесли код для SLC-500 на платформу Logix. У AB для этих целей есть конвертатор кода с PLC-5 и SLC-500.
Про "тупо перенесли код": имена тегов для физических I/O это наглядно показали. Агрегат был из USA, программеры - мексиканцы.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- почётный участник форума
- Сообщения: 3559
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 253 раза
как писать в STL
Инструкции STL делятся на инструкции-условия и инструкции-действия. Пока это не поймешь, общего понимания не будет. В прочем такое же деление есть и для LAD/FBD, но там не инструкции, а цепочки контактов и катушек...
В общем, деление инструкций на условия и действия - это особенность микропроцессоров ПЛК. У обычных процессоров AMD/Intel инструкции в основном безусловны и лишь некоторые имеют условия, которые реализуются вручную программистом через флаги и условные переходы. Короче, основные инструкции-условия - A, AN, O, ON, A(, O(, ). Основные инструкции-действия - S, R, =. Сначала идет последовательность инструкций-условий, затем одна инструкция-действие. Иногда бывают сдвоенные цепочки (networks): сначала идут инструкции-условия А, затем инструкции-условия Б, затем одна инструкция-действие АБ. Одним словом, надо научиться различать инструкции. Инструкция-действие всегда завершает цепочки (network), таким образом цепочка начинается после инструкции-действия предыдущей цепочки и заканчивается на инструкции-действии. Увидел такие инструкции - идентифицировал все networks и все условия.
В общем, деление инструкций на условия и действия - это особенность микропроцессоров ПЛК. У обычных процессоров AMD/Intel инструкции в основном безусловны и лишь некоторые имеют условия, которые реализуются вручную программистом через флаги и условные переходы. Короче, основные инструкции-условия - A, AN, O, ON, A(, O(, ). Основные инструкции-действия - S, R, =. Сначала идет последовательность инструкций-условий, затем одна инструкция-действие. Иногда бывают сдвоенные цепочки (networks): сначала идут инструкции-условия А, затем инструкции-условия Б, затем одна инструкция-действие АБ. Одним словом, надо научиться различать инструкции. Инструкция-действие всегда завершает цепочки (network), таким образом цепочка начинается после инструкции-действия предыдущей цепочки и заканчивается на инструкции-действии. Увидел такие инструкции - идентифицировал все networks и все условия.
-
- освоился
- Сообщения: 286
- Зарегистрирован: 15 сен 2016, 18:47
- Имя: Андрей
- Страна: Россия
- город/регион: Вологда
- Благодарил (а): 18 раз
- Поблагодарили: 73 раза
как писать в STL
Кстати, а по tiapoltal großBuch еще не перевели? Столько страниц читать на английском очень не хочется.Parliament74 писал(а): ↑26 июн 2021, 09:19 Бергер Ганс. Автоматизация посредством STEP 7 с использованием STL и SCL
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 16 июл 2021, 13:15
- Имя: Алексей
как писать в STL
Очень правдоподобный вариант. Компании больше полувека, программисты там с девяностых не менялись, если не ошибаюсь. Боюсь, копируют наборы блоков невзирая на нужность. Например, в первом же нетворке OB1 устанавливается согласование времени с панелью оператора каждые пять секунд с помощью job mailbox. Так вот в одной программе у панели оператора в connections есть ссылка на структуру обмена job mailbox, но отсутствует привязка в Date/time (кстати, уважаемые специалисты, куда в этом случае при задании 40 в mailbox.jobnumber на считывание времени из панели оператора, будет записываться значение Date_And_Time? Просто в следующую за тегом mailbox структуру в памяти?), а в другой программе в connections даже привязки к mailbox нет. То есть, по моему профанскому разумению, здесь синхронизация работать вообще не должна. При этом установить системное время с экрана можно (вернее, в экранах есть бокс с отображением системного времени с input\output). Вот и спрашивается, какой возраст у основы этой программы? Конечно, остаётся вариант, что окончательная настройка происходит удалённо уже у клиента и теги привязываются, но сомнения остаются.
(Извините, я просто вчера чуть мозг не сломал, ничего не зная про mailbox, зачем какие-то числа 40, 14 и 15 записываются в непонятный тег )