Максим Поджидаев
Очередь скриптов; 4.2.03

Здравствуйте!

На экране имеется несколько объектов к свойствам которых привязаны actions возвращающие значения (например цвет).
При переходе на другой экран периодически можно наблюдать ошибку "WinCC Runtime: PDL Run time: picture not selected". Причина возникновения ошибки ясна, неясно только как её избежать (заменить action на динамический диалог не предлагать):).
Re: Максим Поджидаев
Евгений; 4.2.03

Следует более аккуратно использовать такие action's. Самые очевидные пути решения следующие:

1. Передачу значений закрываемой картинке делать не SetProp'ом, а через внутренний тэг, привязав последний к нужному свойству.
2. Создать искусственные симафоры, например, те-же внутренние тэги, опрос которых будет происходить при входе в action, а выставление - в action'е закрытия окна.
3. Не закрывать, а "сворачивать" текущее окно, делая свойства длины и ширины, допустим, в ноль.

Если не справитесь, могу выслать кусок кода , в котором обходится данная проблема.


Re: Очередь сообщений
Максим Поджидаев; 5.2.03

Спасибо за идеи. К сожалению, решения не назовешь красивыми :( (Увеличение нагрузки, усложнение проекта ...). Что будет, если оставить проект таким, какой он есть? Кроме некоторой задержки при переключении, чревато ли это еще какими либо проблемами (утечки памяти из прерванных actions...)? За "кусок кода" буду благодарен.

Re: Очередь скриптов
Л.Шерешевский; 6.2.03

В WinCC 5.0 после некоторого критического числа ошибок типа "Picture not selected" (зависящего от интенсивности вызова соответствующих экранных форм) происходило выпадение проекта. Судя по результатам наших экспериментов, в WinCC 5.1 этот недочет исправили, хотя явно в документации это нигде не заявлено. В нескольких проектах мы рискнули оставить скрипты таких типов и сбоев в работе не наблюдалось.

См. Центр компетенции WinCC