Просмотр полной версии : Как принудительно обновить мнемосхему или комбинированное окно (Массив)?
aaaSashaMGGU
23.10.2023, 19:27
Добрый день!
Есть самое обычное "Комбинированное окно (Массив)", привязанный к обычному же массиву из обычного POU. В окне выбран условный 25-й элемент.
Где-то через код я меняю значение этого 25-го элемента. Теперь в окне у меня УЖЕ неверное значение. Значение обновится только после щелчка на окно, либо после выбора туда-сюда другой визуализации
Как принудительно обновить всё окно? Или только хотя бы этот элемент?
P.S.
Пока придумал только делать плюс 1 к индексу, ждать секунду, затем минус к индексу. Так работает, хоть и костыль, конечно...
P.P.S.
Быстро сменить мнемосхему туда-сюда не работает; быстро сменить индекс туда-сюда не работает (поэтому и пауза 1 секунда); вызвать дочернее окно с одной кнопкой "ОК" не работает
МихаилГл
24.10.2023, 01:41
У меня вроде всё меняется без проблем. Поменял индекс, всё элементы на окне привязались к другим данным из массива.
У меня сделано так, есть временная структура, при изменении индекса в структуру копируются данные из массива с этим индексом. А в визуализации всё привязано к временной структуре.
aaaSashaMGGU
24.10.2023, 07:10
У меня вроде всё меняется без проблем. Поменял индекс, всё элементы на окне привязались к другим данным из массива.
У меня сделано так, есть временная структура, при изменении индекса в структуру копируются данные из массива с этим индексом. А в визуализации всё привязано к временной структуре.
Не-не, если меняется индекс, то как раз всё ОК. А у меня меняется значение по выбранному в данный момент индексу - но в окне остаётся старое значение, пока по нему не щёлкнешь (или пока не сменишь мнемосхему)
Евгений Кислов
24.10.2023, 08:13
Не-не, если меняется индекс, то как раз всё ОК. А у меня меняется значение по выбранному в данный момент индексу - но в окне остаётся старое значение, пока по нему не щёлкнешь (или пока не сменишь мнемосхему)
Не смог повторить вашу проблему.
Проверьте - я делаю то же самое, что и вы?
https://disk.yandex.ru/i/AA1O_lpjbmUKyg
МихаилГл
24.10.2023, 08:51
Ну у меня таких проблем не было...
aaaSashaMGGU
24.10.2023, 08:56
Не смог повторить вашу проблему.
Проверьте - я делаю то же самое, что и вы?
https://disk.yandex.ru/i/AA1O_lpjbmUKyg
Как будто всё верно. Но у меня вот именно так и не работает.
Выбранное значение не обновляется
Может, сам элемент как-то специфично настроен?
Евгений Кислов
24.10.2023, 08:56
Как будто всё верно. Но у меня вот именно так и не работает.
Выбранное значение не обновляется
Может, сам элемент как-то специфично настроен?
Какой контроллер, версию CODESYS и версию плагина визуализации вы используете?
Выложите, пожалуйста, простейший проект, в котором у вас повторяется данная проблема.
aaaSashaMGGU
24.10.2023, 09:28
Какой контроллер, версию CODESYS и версию плагина визуализации вы используете?
Выложите, пожалуйста, простейший проект, в котором у вас повторяется данная проблема.
Имя: PLC200-01
Производитель: Production association OWEN
Группы:
Тип: 40102
ID: 1628 0001
Версия: 3.5.17.3001
Порядковый номер: -
Описание: PLC200-01
71133
Евгений Кислов
24.10.2023, 09:48
Попробуйте снять эту галочку:
71135
aaaSashaMGGU
24.10.2023, 09:51
Попробуйте снять эту галочку:
71135
Снял. Не помогло
Евгений Кислов
24.10.2023, 10:05
Снял. Не помогло
Повторил проблему с вашим проектом.
Она исчезла, когда поменял начальный индекс массива с 1 на 0.
В исходном проекте, кстати, значение первого элемента массива в комбобоксе (который я в нем выбрал) обновляется при изменении значения второго элемента массива.
В общем, там действительно есть какой-то специфический баг, который, возможно, связан с тем, что при запуске в качестве индекса указан "несуществующий" индекс массива.
МихаилГл
24.10.2023, 10:24
Повторил проблему с вашим проектом.
Она исчезла, когда поменял начальный индекс массива с 1 на 0.
В исходном проекте, кстати, значение первого элемента массива в комбобоксе (который я в нем выбрал) обновляется при изменении значения второго элемента массива.
В общем, там действительно есть какой-то специфический баг, который, возможно, связан с тем, что при запуске в качестве индекса указан "несуществующий" индекс массива.
Да уж, интересный баг... Скоро напишу тему по багу с ПЛК210 и ИП320, когда кнопочная панель в виде мастера шлет в контроллер переменную и похоже проверяет ее или досылает, что в результате для определенных программ требуется программная заплатка... Пока нет времени...
aaaSashaMGGU
24.10.2023, 11:09
Да, спасибо, всё получилось
Не люблю массивы с нуля - вот и поплатился :)
К слову о при запуске в качестве индекса указан "несуществующий" индекс массива - это не так. У меня (в моем текущем проекте) индекс массива - это RETAIN, так что, там точно был не ноль по старту
У меня (в моем текущем проекте) индекс массива - это RETAIN, так что, там точно был не ноль по старту
возможно такое приходит в голову, если считать что инициализация происходит позже чем применяются загруженные ретайн переменные
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot