Косвенная адресация Simatic без заморочек ) / Будни АСУшника

Sdílet
Vložit
  • čas přidán 25. 12. 2020
  • Пример косвенной адресации на SCL
    По просьбам зрителей - карта МИР 2202 2013 9829 3288 Вячеслав Викторович С.
    Целевое назначение - развитие канала (оборудование для съёмки, м.б. какие то мини стенды и т.п.)
    Все плейлисты: / @slavaslavin1
  • Věda a technologie

Komentáře • 13

  • @virtstark
    @virtstark Před 3 lety

    для меня косвенная, это смещение в памяти, т.е. определяем для объекта например 16 байт для заданий/результата, и поехали прибавлять 16 байт до следующего объекта, интересно смотреть Ваши видео, спасибо

    • @SlavaSlavin1
      @SlavaSlavin1  Před 3 lety

      Все таки смысл косвенной адресации именно такой. Мы хотим обратиться к какой то переменной, но не знаем ее имени (читай адреса), но мы можем этот адрес высчитать допустим и инициализировать им другую переменную. И тогда мы говорим программе, вот в этой переменной - адрес, в котором лежат наши данные.
      Этот смысл присущ в традиционном программировании. А Simatic приобщился, как смог ) В силу архитектуры и чего там ещё. В этом примере, то есть в SCL - наиболее четко отражен тот самый общепринятый смысл. Ну наверно потому что SCL ближе всех к обычному программированию ;)

    • @virtstark
      @virtstark Před 3 lety

      @@SlavaSlavin1 не вижу, противоречий, даём ссылку на адрес, относительно его имею данные, не нужно устраивать case по входным данным, мы вычисляем и возвращаем результат

    • @SlavaSlavin1
      @SlavaSlavin1  Před 3 lety

      @@virtstark предыдущий ответ на бегу писал ) Мне показалось, что Вы говорите, что Вы мол только вот так понимаете ) А противоречий нет конечно

  • @PetrovAA
    @PetrovAA Před 3 lety

    Добрый день, вставлю свои пять копеек по поводу клапанов. Контролировать только конечное положение клапана в корне не правильно, нужно также учитывать команду на него, а то придет слесарь ревизию сделать - откроет клапан принудительно и у вас отработает технология на открытый клапан (что то засыпите или нальёте куда не нужно)

    • @SlavaSlavin1
      @SlavaSlavin1  Před 3 lety

      Приветствую. Ну как бы тут без вариантов ) подали команду и ждём сигнала концевика. Каким образом ещё контролировать команду? Обратный сигнал от гальвано развязки на DI завести? Не практикуем вроде. А слесаря не придут, пока их не позовут.
      PS А, да, алгоритм от концевиков работать не будет ни в какой части, без сигнала старт от оператора. Это уж конечно реализовано )

    • @PetrovAA
      @PetrovAA Před 3 lety

      @@SlavaSlavin1 я про алгоритм работы предыдущего устройства, для его включения проверяем открытое положение клапана и то что подана команда на его открытие в автоматическом режиме (просто Q). Возможно не в тему написал, показалось что это будет важным замечанием.

    • @SlavaSlavin1
      @SlavaSlavin1  Před 3 lety

      @@PetrovAA да нет, Андрей, такие замечания нужны. Сами знаете, что такое незамыленный взгляд ) Спасибо, я подумаю. Над алгоритмом все равно ещё придется работать, поскольку пользователи как всегда в последний момент вспоминают, а мы же ещё и вот так хотели )

    • @PetrovAA
      @PetrovAA Před 3 lety

      @@SlavaSlavin1 зачастую пользователи сами не понимают что им надо, если не сталкивались с чем то подобным.

    • @SlavaSlavin1
      @SlavaSlavin1  Před 3 lety +1

      @@PetrovAA ну тут уже плавный переход к сааавсем другой теме - ТЗ ) Обязательно что нибудь вспомню, расскажу ;)

  • @user-hm5vi6ic9k
    @user-hm5vi6ic9k Před 2 lety

    Это конечно все очень удобно, когда пишешь, и выглядит красиво код и все вроде бы супер. Но я напереводил подобного немецкого кода очень много. И может вы подскажите, но а как этот выход отследить? Или вход. Потому что когда ты откроешь кросс референс, эти входа и выхода даже не будут помечены как используемые

    • @SlavaSlavin1
      @SlavaSlavin1  Před 2 lety

      Видно) Либо нужно сделать Update в Crossreference. Локальные переменные, вы конечно не увидите, впрочем как и в простых FB, FC, но глобальные вещи - ровно так же, как и в тех же "простых" блоках

    • @SlavaSlavin1
      @SlavaSlavin1  Před 2 lety

      Видно) Либо нужно сделать Update в Crossreference. Локальные переменные, вы конечно не увидите, впрочем как и в простых FB, FC, но глобальные вещи - ровно так же, как и в тех же "простых" блоках