Извините за тематический вопрос: Вроде все необходимые gsd присутствуют, но по всему проекту кучи темповых переменных. Это стиль такой, или все-таки чего-то не хватает для корректного отображения? Как привязать эти темпы к источникам данных (точнее понять, где эта привязка осуществляется)

Комментарии: 11

  1. Alinda

    это локальные

  2. Sergey

    Исходник надо. Проект выгруженный. В исходном проекте эти переменные имели названия. Но в ПЛК они загружаются

    • Boevoy

      Исходников нет и не будет. Дело в том, что идет работа с данными, источниками которых и являются локальные переменные, а реальный источник при этом не установить. Такое ощущение, что чего-то не хватает и этот обмен идет где-то "под капотом" того, чего не хватает для отображения.

      • Alinda

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

      • Denis

        локальные переменные могут являться источником данных только после их инициализации в теле подпрограммы где они именованы. Ищите инициализацию внутри блока по адресу или имени переменной. Без инициализации в данных переменных мусор(значения из прошлых вызовов других подпрограмм)

      • Sergey

        Так у тебя же на картинке видно, где присваивание осуществляется. Вход блока присваивается локальной переменной блока

        • Boevoy

          Есть такое, но это частный случай. По всему проекту куча мест, где не ясно, что откуда растет. Ну, потуплю еще немного, может что и сложится

          • Sergey

            Главное про косвенную адресацию не забыть. DB может неявно вызываться

            • Boevoy

              В общем действительно я проморгал работу с локальными, но тут вот в OB1 все равно непонятное место: SET = M 0.1 CLR = M 0.0 CALL FC 2 L #TEMP1 L 1 ==I = #TEMP10 = M 0.7 L #TEMP6 T DB255.DBW 0 L #TEMP7 T DB255.DBW 2 L #TEMP7 T DB255.DBW 4

          • Denis

            Cross Reference в помощь. Если там искомых данных нет, то они инициализируются в HMI/SCADA или неявно, косвенной адресацией

  3. Denis

    Эти переменные живут только внутри блока и в течении периода пока блок опрашивается. Все привязки внутри блока

Не нашли ответ?

Вам также может быть интересно