Показано с 1 по 7 из 7

Тема: Элемент "Отображение линейки" в объектном окне ведёт себя некорректно

  1. #1

    Question Элемент "Отображение линейки" в объектном окне ведёт себя некорректно

    Добрый
    У меня 32 таких окошка:
    111.png

    При поочерёдном их открытии значение уровня в столбике ВСЕГДА показывается как предыдущее (с прошлого окна). Если открыть то же окно второй раз - то отобразится правильно
    Рядом находится это же значение, но уже в виде текста внутри прямоугольника - и там всё верно
    Как бы мелочь - и конкретно в этом моём проекте некритично
    Но что я делаю не так?
    Спасибо

  2. #2

  3. #3

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    Выложите, пожалуйста, проект, в котором я смогу это воспроизвести.
    Проблема в том, что данные для этих столбиков приходят по сети
    Я, конечно, попробую сэмулировать всё это в тестовом проекте, но пока вот проект целиком как есть:

    ВЗОР Главный Контроллер.zip
    Облака все заблочены, приходится выкручиваться...
    "ВЗОР Главный Контроллер.zip" переименовать в "ВЗОР Главный Контроллер.7z"
    Пароль от архива выслал на e.kislov@owen.ru
    Последний раз редактировалось aaaSashaMGGU; 08.07.2026 в 16:17.

  4. #4

    По умолчанию

    Убрал лишнее с проекта
    На эмуляции проблема не воспроизводится
    ВЗОР Главный Контроллер Убрано лишнее.zip
    Так же zip переименовать в 7z
    Пароль тот же

    P.S. в общем, на эмуляции такого эффекта нет. Только на реальном контроллере
    Свободного контроллера нет, проверить простой проект не могу. А чистить этот мне не позволят, он в работе
    Последний раз редактировалось aaaSashaMGGU; 08.07.2026 в 16:41.

  5. #5
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,958

    По умолчанию

    Цитата Сообщение от aaaSashaMGGU Посмотреть сообщение
    Убрал лишнее с проекта
    На эмуляции проблема не воспроизводится
    ВЗОР Главный Контроллер Убрано лишнее.zip
    Так же zip переименовать в 7z
    Пароль тот же

    P.S. в общем, на эмуляции такого эффекта нет. Только на реальном контроллере
    Свободного контроллера нет, проверить простой проект не могу. А чистить этот мне не позволят, он в работе
    Загрузил этот проект в свой контроллер.
    В нем я не увидел проблемы - при открытии диалога в его линейке отображается такое же значение, что и на мнемосхеме.

    В программе есть ошибка, связанная с записью в несуществующие элементы массива:

    Код:
    FOR i := 201 TO 238 DO
    
       ...
    
       Massiv_Pirovano[i - 200] := (INT_TO_WORD(i) - 200) * 100;
       // Massiv_Pirovano : ARRAY [200..300] OF WORD;
    
       ...
    
    END_FOR
    Если что-то подобное есть в основном проекте - то последствия могут быть разными (в том числе и с влиянием на линейку).

  6. #6

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Загрузил этот проект в свой контроллер.
    В нем я не увидел проблемы - при открытии диалога в его линейке отображается такое же значение, что и на мнемосхеме.

    В программе есть ошибка, связанная с записью в несуществующие элементы массива:

    Код:
    FOR i := 201 TO 238 DO
    
       ...
    
       Massiv_Pirovano[i - 200] := (INT_TO_WORD(i) - 200) * 100;
       // Massiv_Pirovano : ARRAY [200..300] OF WORD;
    
       ...
    
    END_FOR
    Если что-то подобное есть в основном проекте - то последствия могут быть разными (в том числе и с влиянием на линейку).
    В основном проекте такого, конечно, нет. Это я для проверочного проекта недоглядел. Massiv_Pirovano - массив от 0 до 100, который из модбаса, да не суть
    Про линейку. На моём реальном контроллере происходит запись в SQL, все данные прилетают по сети... Может, кто-то где-то не успевает

    GPT говорит, что проблема в том, что не происходит обновление графики, а исправить это можно как-то так:
    1) Способ 1: Сброс через системную переменную VisuElems.Visu_Globals.g_VisuEventManager.SetUpdat eNecessary();
    2) Способ 2: Использование триггера видимости (Visibility)Обманите элемент, заставив его «исчезнуть» и «появиться» за один цикл контроллера. Вот это как раз должно сработать
    3) Используйте передачу структуры во фрейм через VAR_IN_OUT. При смене индекса фрейм гарантированно переинициализирует внутренние ссылки, включая графические элементы.
    4) Заменить линейку прямоугольником, меняя его размеры из кода. Тоже должно сработать

    Ладно - это всё баловство, как я уже сказал, эти окошки нужны, чтобы вбить 3 уставки - и более их открывать не будут

  7. #7

    По умолчанию

    Заменил линейку на прямоугольник, у которого через код меняются размеры
    Глюк пропал, теперь всё хорошо
    Зато теперь могу динамически менять цвет графика по уровню, а у линейки так нельзя (точнее, можно, но только с явно заданными значениями, а не через код)

Похожие темы

  1. Ответов: 9
    Последнее сообщение: 16.07.2023, 10:31
  2. Ответов: 8
    Последнее сообщение: 31.07.2021, 17:17
  3. Ответов: 15
    Последнее сообщение: 17.02.2021, 11:09
  4. Элемент "текстовый ввод" в MasterSCADA 4d
    от AlexProc в разделе Master SCADA 4D
    Ответов: 7
    Последнее сообщение: 29.12.2019, 09:27
  5. Конфигуратор СП270 элемент "Окно"
    от Алексей Александрович в разделе Панели оператора (HMI)
    Ответов: 3
    Последнее сообщение: 09.08.2012, 10:51

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •