Siemens STL 01 - Задача на собеседовании

Поделиться
HTML-код
  • Опубликовано: 28 сен 2024
  • Сегодня мы начнем решать задачу с собеседования. Писать программу будем в TIA Portal.
    Это первая часть. В этом видео я напишу программу двух основных блоков программы.
    Наша группа ВК: clickcl...

Комментарии • 20

  • @АртемНеволин-ф1з
    @АртемНеволин-ф1з 2 года назад +2

    Спасибо, за Ваш труд! Отличное видео. Много полезного узнал. Если это возможно, то сделайте ещё видео с реальными примерами, где используются "сдвиги" , а также косвенная адресация на STL и SCL.
    Заранее, спасибо!

    • @ClickClackLogic
      @ClickClackLogic  2 года назад

      Добрый день. На канале уже есть вторая часть, в которой мы немного рассказали про косвенную адресацию.

  • @seoonlyRU
    @seoonlyRU 2 года назад +1

    спасибо за живой пример! лайк с ходу от легендарного вебмастера СЕООНЛИ

    • @ClickClackLogic
      @ClickClackLogic  2 года назад

      Не знаю кто он, но спасибо! Мы старались.

  • @АлексейБороздин-ю1м
    @АлексейБороздин-ю1м 5 месяцев назад +2

    А если мы посмотрим в кросреференс на используемые таймер Т1 там будет показан как используемый? Как потом инженеру в большой программе понять какие таймер используются, а какие нет? Просмотреть всю программу и увидеть место где на вход функции подается номер таймер. А если он не заметит то он просто использует таймер два раза. К чему это приведет? на стимуляторе конечно ничего не случиться, а с реальным оборудованием ...

    • @ClickClackLogic
      @ClickClackLogic  5 месяцев назад +1

      Добрый день. Мне приходилось обслуживать десятки немецких станков различного назначения где весь код написан через указатели и косвенную адресацию. Были даже программы, где перекрестные ссылки показывали, что в программе вызывается только OB1, а все остально друг с другом не связано 🤷🏻‍♂️. Иногда к такому коду шла документация с перечислением занятых ресурсов плк. Но чаще всего, если я что-то и писал дополнительно, то как правило либо уже досконально знал, какие ресурсы свободны, либо использовал программные аналоги таймеров и счетчиков. А пример этот в том, что такой подход встречается сплошь и рядом в различный станках. Правильно это ли нет… наверное скорее нет, чем да. Но имеем, что имеем…

    • @АлексейБороздин-ю1м
      @АлексейБороздин-ю1м 5 месяцев назад +1

      @@ClickClackLogic Да согласен, что так пишут. Делается это для того, чтобы максимально завязать покупателя на производителя. Но говорить о том как делать правильно с мыслью о том, что этот код в дальнейшем будет инструментом диагностики оборудования. Такие компании как Jacobs или General Motors разрешают в требованиях к оборудованию писать код на только на lad. Все остальные языки запрещены. Так как когда это модернизация то время затраченное на нее обычно не на что не влияет. Точнее все время на заводах влияет на деньги но в случае модернизации это недополученная прибыль, а в случае ремонта это огромные потери денег просто потому, что поиск занимает больше времени чем мог бы занимать при правленом написании кода. Учите писать правильный код это действительно улучшит положение на заводах, тогда не придется людям разбираться в "помойках".

    • @ClickClackLogic
      @ClickClackLogic  5 месяцев назад +1

      Есть другая сторона медали. Я работал на предприятии, где на замену и ПНР нового станка в поточной линии дают 1.5-2 недели максимум. Так вот, в качестве поставщика станков всегда выбирали KHS или KRONES, так как эти фирмы сейчас производят модульные станки. Такой станок монтируется в течении 1 недели, потом представители производителя заливают в него свою типовую программу (вся на косвенной и по сути универсальная под все комплектации), и производят конфигурирование через HMI, согласно приобретенной конфигурации, без программирования и уже на следующий или даже в этот же день можно запускать продукцию и производить корректировку рецептов.
      Конечно покупатель вправе выбирать поставщиков и даже вправе предъявлять свои требования, но вот такой «модульный» принцип конфигурирования имеет свои преимущества… ведь позже можно просто докупить еще какой то модуль, установить его самостоятельно, а производитель просто по удаленке активирует его, изменив конфигурацию.
      И если производство уже «подсело» на подобный способ модернизации, то никто как правило уже не спрашивает у инженеров эксплуатации будет ли ему удобно возиться в подобной «лапше»…
      И как правило проблемы на заводах были именно потому, что люди впринципе не понимали, что возможно писать подобный код и всегда надеялись на перекресные ссылки. Из-за этого потом, как вы правильно заметили, возникали коллизии и остановки линий.
      Код в видео лишь показывает, что такая возможность есть, а пользоваться ей или нет пусть решает каждый сам.

  • @carljonson555
    @carljonson555 Год назад

    Почему у вас на видео, на слайде младший байт аккумулятора это байт 0 а не 1?

    • @ClickClackLogic
      @ClickClackLogic  Год назад +1

      Добрый день.
      ACCU1 устроен следующим образом:
      ACCU1-H-H ACCU1-H-L ACCU1-L-H ACCU1-L-L
      Поэтому когда мы говорим о расположении информации в аккумуляторе, то мы оперируем этой структурой.
      При выполнении команды
      L MB10 - Содержимое MB10 попадет в ACCU1-L-L
      При выполнении команды
      L MW10 - Данные распределяться так, MB10 в ACCU1-L-H, а MB11 в ACCU1-L-L
      www.siemens-pro.ru/docs/simatic/s7-300/STEP7.V53_STL_r.pdf
      Стр. 128

  • @fara0n333
    @fara0n333 3 дня назад

    S5Time))) Ви що в древній вік живете)))) Акамулятори це треш повний :D

    • @ClickClackLogic
      @ClickClackLogic  День назад

      Собственно чему вы удивляетесь?! На чем немцы новейшие станки нам в 2022-2024 году поставляют, то и обслуживаем. Зато код очень быстро работает и места мало занимает. 🤷🏻‍♂️ Такие фирмы как Krones, KHS свой код на STL даже в 1500е перетащили. Им видимо так удобнее.

  • @АртурСагеев
    @АртурСагеев 10 месяцев назад +2

    Можете, пожалуйста разобрать на канале использование языка SCL и LAD? Именно эти два языка составляют костяк в написании кода

    • @ClickClackLogic
      @ClickClackLogic  9 месяцев назад

      Добрый день. Я подумаю. Нужно придумать хороший пример для этого.

    • @АртурСагеев
      @АртурСагеев 8 месяцев назад

      @@ClickClackLogic у меня на совбесе в начале лета была задача сделать программу по схеме

  • @carljonson555
    @carljonson555 Год назад

    И опять же на 15.12 выговорите про младший байт аккумулятора а в комментариях возле строки кода пишите старший байт.

    • @ClickClackLogic
      @ClickClackLogic  Год назад

      Мы действительно сохраняем младший байт аккумулятора, в котором содержится старший байт загруженного в него слова.

  • @ВячеславА-д8х
    @ВячеславА-д8х 2 года назад

    Здравствуйте. Объясните пожалуйста, про добавленный таймер Т1 в FC1 не понял как именно мы его настроили?

    • @ClickClackLogic
      @ClickClackLogic  2 года назад

      Добрый день. Перед вызовом команды "SD T1" мы загружаем в память контроллера время "L S5T#1S". Команда запуска таймера при запуске использует содержимое аккумулятора 1 в качестве уставки времени. Таким образом таймер T1 запускается с параметром в 1 секунду.

    • @ВячеславА-д8х
      @ВячеславА-д8х 2 года назад

      @@ClickClackLogic спасибо