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

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.พ. 2022
  • Сегодня мы начнем решать задачу с собеседования. Писать программу будем в TIA Portal.
    Это первая часть. В этом видео я напишу программу двух основных блоков программы.
    Наша группа ВК: clickclacklogic

ความคิดเห็น • 18

  • @user-hx5il7xj3t
    @user-hx5il7xj3t 2 ปีที่แล้ว +2

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

    • @ClickClackLogic
      @ClickClackLogic  2 ปีที่แล้ว

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

  • @seoonlyRU
    @seoonlyRU 2 ปีที่แล้ว +1

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

    • @ClickClackLogic
      @ClickClackLogic  2 ปีที่แล้ว

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

  • @user-wg6xg8tu4b
    @user-wg6xg8tu4b 2 หลายเดือนก่อน +1

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

    • @ClickClackLogic
      @ClickClackLogic  2 หลายเดือนก่อน +1

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

    • @user-wg6xg8tu4b
      @user-wg6xg8tu4b 2 หลายเดือนก่อน +1

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

    • @ClickClackLogic
      @ClickClackLogic  2 หลายเดือนก่อน +1

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

  • @user-dy9we9rj8y
    @user-dy9we9rj8y 8 หลายเดือนก่อน +1

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

    • @ClickClackLogic
      @ClickClackLogic  6 หลายเดือนก่อน

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

    • @user-dy9we9rj8y
      @user-dy9we9rj8y 5 หลายเดือนก่อน

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

  • @user-ru7xk5oq4z
    @user-ru7xk5oq4z 2 ปีที่แล้ว

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

    • @ClickClackLogic
      @ClickClackLogic  2 ปีที่แล้ว

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

    • @user-ru7xk5oq4z
      @user-ru7xk5oq4z 2 ปีที่แล้ว

      @@ClickClackLogic спасибо

  • @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

  • @carljonson555
    @carljonson555 ปีที่แล้ว

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

    • @ClickClackLogic
      @ClickClackLogic  ปีที่แล้ว

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