• Обязательно представиться на русском языке кириллицей (заполнить поле «Имя»).
  • Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже предостаточно — придумайте что-то пооригинальнее.
  • Не писать свой вопрос в первую попавшуюся тему — вместо этого создать новую тему.
  • За поиск и предложение пиратского ПО — бан без предупреждения.
  • Рекламу и частные объявления «куплю/продам/есть халтура» мы не размещаем ни на каких условиях.
  • Перед тем как что-то написать — читать здесь и здесь.

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

satrew

здесь недавно
здесь недавно
Сообщения: 29
Зарегистрирован: 13 мар 2021, 21:02
Имя: Азат
Благодарил (а): 10 раз

как писать в STL

Сообщение

satrew »

Доброго
занимаюсь самообучением. все пока нормально, но вот иногда про некоторые детали спросить не у кого, разрешите поинтересоваться у Вас.
вопрос вот в чем когда я захотел написать на СТЛ длинную и объёмную функцию она не заработала, не понял как это написал её на ладе и перевел её в стл и тут оно мне выдало нечто, с какой-то матерью я разобрался в машинном формировании программы. Но осадок остался. пришел к выводу что лучше писать большую программу разбив её на короткие команды, в литературе про это мало да и то если есть то только битовые команды. но это по моему муторно очень много само повторов получается, легко запутаться. Поэтому прошу знающих людей подсказать как писать программы. тут я пример накатал. не могли бы вы на её примере или на своём если не сложно как писать объёмные программы с задействованием множества элементов.

У вас нет необходимых прав для просмотра вложений в этом сообщении.


Parliament74

завсегдатай
завсегдатай
Сообщения: 507
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Галкин Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 7 раз
Поблагодарили: 126 раз

как писать в STL

Сообщение

Parliament74 »

Сначала надо на STL базовые функции научиться писать и по меткам переходить, потом уже можно переходить на «длинные и объёмные функции».

Вот этой книги более, чем достаточно, чтобы понять, как писать на STL то, что в примере сделано на LAD:
Бергер Ганс. Автоматизация посредством STEP 7 с использованием STL и SCL, она спокойно находится во всемирной паутине.

Кстати, в STEP7 любой код из LAD спокойно переводится в STL, а в обратную сторону — нет (точнее не всегда, но более/менее сложные функции в LAD практически никогда не переведутся), поэтому нарисовать что-то в LAD и перевести в STL, пытаясь таким методом понять язык STL, это не самая хорошая идея.

Вообще, на STL можно хоть в одном нетворке написать весь код и всё будет работать, правда потом будет не легко искать ошибки и т.п., а вот с LAD так не получится…


Dmitriy1983

здесь недавно
здесь недавно
Сообщения: 33
Зарегистрирован: 29 окт 2017, 19:52
Имя: Дмитрий
Поблагодарили: 7 раз

как писать в STL

Сообщение

Dmitriy1983 »

Доброе утро. Данные примеры можно написать вот так. А вообще сейчас 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


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

satrew

здесь недавно
здесь недавно
Сообщения: 29
Зарегистрирован: 13 мар 2021, 21:02
Имя: Азат
Благодарил (а): 10 раз

как писать в STL

Сообщение

satrew »

Dmitriy1983, спасибо ОГРОМНОЕ, да так и есть у нас завод по немецкой технологии собран, контроллеры 300 й серии и все в СТЛ написано ну кроме разрешающих команд там что то вроде реле безопасности на ЛАДЕ через 20 проходов идет и это то что мне нужно было Спасибо еще раз.


AlexeyCh

здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 16 июл 2021, 13:15
Имя: Алексей

как писать в STL

Сообщение

AlexeyCh »

Извините, что встреваю, но у меня такой же случай. Надо разобраться в коде и научиться вносить правки, ибо пока немцы соизволят откликнуться на жалобу и поработать, русские клиенты звереют.
Так вот вопрос: кто-нибудь знает, почему немцы до сих пор предпочитают писать на STL? Код чище или просто больше времени занимает при почасовой оплате труда? Это чтобы потом сказать: «Смотри, босс, что я тут наработал, аж на стопитсот человекочасов. Денег давай!»


Andreywys

освоился
освоился
Сообщения: 251
Зарегистрирован: 15 сен 2016, 18:47
Имя: Андрей
Страна: Россия
город/регион: Вологда
Благодарил (а): 18 раз
Поблагодарили: 67 раз

как писать в STL

Сообщение

Andreywys »

Я тоже предпочитаю stl scl’лю. В контроллере оптимизация и скорость работы должны быть на первом месте, а удобство программиста на втором. То, что нельзя написать в lad, я пишу в stl. Конечно, scl я тоже использую. В нем удобнее писать всякие высокоуровневые вещи и математику.


AlexeyCh

здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 16 июл 2021, 13:15
Имя: Алексей

как писать в STL

Сообщение

AlexeyCh »

Вот и я подозреваю, что можно было хотя бы иногда LAD и SCL использовать. Но нет. Сотни килобайт чистого STL.


ZuElecRu

освоился
освоился
Сообщения: 245
Зарегистрирован: 09 авг 2016, 13:49
Имя: Чистилин Андрей Анатольевич
Страна: Россия
город/регион: Малоярославец
Благодарил (а): 22 раза
Поблагодарили: 26 раз

как писать в STL

Сообщение

ZuElecRu »

Если компания древняя, то некоторые фрагменты программ серийных станков еще с 5-го симатика тянутся…или программисты просто используют свои древниие наработки, болки готовые на пример.


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

Looker

авторитет
авторитет
Сообщения: 832
Зарегистрирован: 09 фев 2011, 11:32
Имя: Дитрих Евгений Линусович
город/регион: Донецк
Благодарил (а): 165 раз
Поблагодарили: 116 раз

как писать в STL

Сообщение

Looker »

ZuElecRu писал(а): ↑

16 июл 2021, 17:58

программисты просто используют свои древниие наработки

Встречал подобное, но на технике AB: тупо перенесли код для SLC-500 на платформу Logix. У AB для этих целей есть конвертатор кода с PLC-5 и SLC-500.
Про «тупо перенесли код»: имена тегов для физических I/O это наглядно показали. Агрегат был из USA, программеры — мексиканцы.

_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу


Михайло

почётный участник форума
почётный участник форума
Сообщения: 3165
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 3 раза
Поблагодарили: 166 раз

как писать в STL

Сообщение

Михайло »

Инструкции STL делятся на инструкции-условия и инструкции-действия. Пока это не поймешь, общего понимания не будет. В прочем такое же деление есть и для LAD/FBD, но там не инструкции, а цепочки контактов и катушек…
В общем, деление инструкций на условия и действия — это особенность микропроцессоров ПЛК. У обычных процессоров AMD/Intel инструкции в основном безусловны и лишь некоторые имеют условия, которые реализуются вручную программистом через флаги и условные переходы. Короче, основные инструкции-условия — A, AN, O, ON, A(, O(, ). Основные инструкции-действия — S, R, =. Сначала идет последовательность инструкций-условий, затем одна инструкция-действие. Иногда бывают сдвоенные цепочки (networks): сначала идут инструкции-условия А, затем инструкции-условия Б, затем одна инструкция-действие АБ. Одним словом, надо научиться различать инструкции. Инструкция-действие всегда завершает цепочки (network), таким образом цепочка начинается после инструкции-действия предыдущей цепочки и заканчивается на инструкции-действии. Увидел такие инструкции — идентифицировал все networks и все условия.


Andreywys

освоился
освоился
Сообщения: 251
Зарегистрирован: 15 сен 2016, 18:47
Имя: Андрей
Страна: Россия
город/регион: Вологда
Благодарил (а): 18 раз
Поблагодарили: 67 раз

как писать в STL

Сообщение

Andreywys »

Parliament74 писал(а): ↑

26 июн 2021, 09:19


Бергер Ганс. Автоматизация посредством STEP 7 с использованием STL и SCL

Кстати, а по tiapoltal großBuch еще не перевели? Столько страниц читать на английском очень не хочется.


AlexeyCh

здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 16 июл 2021, 13:15
Имя: Алексей

как писать в STL

Сообщение

AlexeyCh »

ZuElecRu писал(а): ↑

16 июл 2021, 17:58


Если компания древняя, то некоторые фрагменты программ серийных станков еще с 5-го симатика тянутся…или программисты просто используют свои древниие наработки, болки готовые на пример.

Очень правдоподобный вариант. Компании больше полувека, программисты там с девяностых не менялись, если не ошибаюсь. Боюсь, копируют наборы блоков невзирая на нужность. Например, в первом же нетворке OB1 устанавливается согласование времени с панелью оператора каждые пять секунд с помощью job mailbox. Так вот в одной программе у панели оператора в connections есть ссылка на структуру обмена job mailbox, но отсутствует привязка в Date/time (кстати, уважаемые специалисты, куда в этом случае при задании 40 в mailbox.jobnumber на считывание времени из панели оператора, будет записываться значение Date_And_Time? Просто в следующую за тегом mailbox структуру в памяти?), а в другой программе в connections даже привязки к mailbox нет. То есть, по моему профанскому разумению, здесь синхронизация работать вообще не должна. При этом установить системное время с экрана можно (вернее, в экранах есть бокс с отображением системного времени с inputoutput). Вот и спрашивается, какой возраст у основы этой программы? Конечно, остаётся вариант, что окончательная настройка происходит удалённо уже у клиента и теги привязываются, но сомнения остаются.
(Извините, я просто вчера чуть мозг не сломал, ничего не зная про mailbox, зачем какие-то числа 40, 14 и 15 записываются в непонятный тег :crazy0to: )


Вернуться в «Simatic Step7»


Перейти

  • Работа форума
  • База знаний (Knowledge Exchange)
  • ↳   Eplan Electric P8
  • ↳   Общий F.A.Q.
  • ↳   Общие вопросы
  • ↳   Новости
  • ↳   Ошибки
  • ↳   Проект
  • ↳   Изделия
  • ↳   Устройства
  • ↳   Соединения
  • ↳   Кабели
  • ↳   Клеммы
  • ↳   ПЛК
  • ↳   Компоновка 2D
  • ↳   Макросы
  • ↳   Eplan API
  • ↳   Сценарии (Только готовые решения)
  • ↳   Внешняя обработка
  • ↳   ProPanel
  • ↳   Инструкции ProPanel (Только готовые решения)
  • ↳   Прочие направления Eplan
  • ↳   FieldSys (Топология)
  • ↳   Preplanning
  • ↳   Harness proD
  • ↳   EEC One
  • ↳   Advantech
  • ↳   F.A.Q., Инструкции
  • ↳   Allen Bradley
  • ↳   Общие вопросы
  • ↳   ПЛК
  • ↳   Операторские панели
  • ↳   B&R Automation
  • ↳   F.A.Q.
  • ↳   DEIF A/S
  • ↳   Общие вопросы
  • ↳   UNI-LINE
  • ↳   MULTI-LINE, одиночные генераторы
  • ↳   MULTI-LINE, параллельная работа
  • ↳   Морское оборудование
  • ↳   Emerson
  • ↳   Общие вопросы
  • ↳   КИП и регуляторы
  • ↳   DeltaV
  • ↳   Schneider Electric
  • ↳   Общие вопросы
  • ↳   Электротехника
  • ↳   ПЛК
  • ↳   SCADA и HMI
  • ↳   SIEMENS
  • ↳   Общие вопросы
  • ↳   LOGO!
  • ↳   ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
  • ↳   Simatic Step7
  • ↳   Simatic TIA Portal
  • ↳   Simatic PCS 7
  • ↳   Операторские панели
  • ↳   WinCC
  • ↳   Приводная техника (Sinamics, Micromaster, Masterdrive, Simoreg, Simotics)
  • ↳   WEINTEK (операторские панели)
  • ↳   F.A.Q., Инструкции
  • ↳   Архив
  • ↳   ОВЕН
  • ↳   Микроконтроллеры
  • ↳   Arduino
  • ↳   Другие микроконтроллеры
  • Общие вопросы АСУТП
  • ↳   Общие вопросы
  • ↳   Вопросы от студентов
  • ↳   Учебные материалы
  • ↳   Новости и отчётность
  • ↳   Нормативы, ГОСТы, стандарты
  • ↳   Безопасность
  • ↳   Проектирование и САПР
  • ↳   Системная интеграция
  • ↳   Разбор полетов
  • ↳   околоАСУТПшные разговоры
  • ↳   Работа
  • ↳   Заготовки для базы знаний
  • ↳   Производство и технология
  • ↳   MES — Системы автоматизации управления производством
  • ↳   Метрология, КИП и датчики
  • ↳   Исполнительные устройства, регуляторы
  • ↳   Средний уровень автоматизации
  • ↳   Алгоритмы
  • ↳   Операторские панели
  • ↳   Верхний уровень автоматизации
  • ↳   GE iFix
  • ↳   Wonderware Intouch
  • ↳   MasterScada
  • ↳   SCADA+
  • ↳   Интерфейсы, протоколы, связь
  • ↳   Радиосвязь
  • ↳   Полезное ПО
  • ↳   Электротехника, энергетика и электропривод
  • ↳   Генераторы и электростанции
  • ↳   Теплотехника
  • F.A.Q. (краткая выжимка из некоторых сообщений форума)
  • ↳   Электротехника и электроэнергетика
  • ↳   Документация
  • ↳   Общие вопросы
  • ↳   Оформление документации
  • ↳   Нижний уровень автоматизации
  • ↳   Средний уровень автоматизации
  • ↳   Верхний уровень автоматизации
  • ↳   Интерфейсы, протоколы, связь
  • ↳   Функциональная и промышленная безопасность
  • ↳   Электротехника и энергетика
  • ↳   Автоматизация предприятия
  • ↳   Описания средств автоматизации
  • ↳   F.A.Q. по программируемым логическим контроллерам (PLC)
  • ↳   Обсуждение F.A.Q. по PLC
  • ↳   F.A.Q. по выбору PLC
  • ↳   F.A.Q. по аппаратной части PLC
  • ↳   F.A.Q. по языкам программирования
  • ↳   F.A.Q. по структуре программ
  • ↳   F.A.Q. по взаимодействию PLC с HMI
  • О жизни
  • ↳   Для дома, для семьи
  • ↳   О жизни вообще
  • ↳   Комната смеха
  • ↳   Электродвижение