Author |
Message |
Written on: 17. 02. 2009 [09:46]
|
dmitry
dmitry ilyin
Topic creator
registered since: 09.02.2009
Posts: 12
|
По поводу толщины линий
На примере того же насоса.
Исходный сценарий:
arc: (5|50): (5|50): (50|50): (50|5): (5|50):::::
fill: (5|50): (5|50):c2:
line: (30|18 ): (85|50):::::
line: (85|50): (30|82):::::
line: (30|82): (30|18 ):::::
fill: (30|18 ): (85|50): (30|82):c1:
- при перерисовке в процессе выполнения (на движке Qt) линии могут произвольно увеличиваться в толщине (вплоть до получения черного квадрата на всю область виджета). Вы говорите, что за толщину линий по умолчанию отвечает "Линия/ширина" (=1), т.е. свойство "lineWdth" в динамике.
Сделал следующее:
arc: (5|50): (5|50): (50|50): (50|5): (5|50):1::0::
fill: (5|50): (5|50):c2:
line: (30|18 ): (85|50):1::0::
line: (85|50): (30|82):1::0::
line: (30|82): (30|18 ):1::0::
fill: (30|18 ): (85|50): (30|82):c1:
- все в порядке, т.е. значения, заданные явным образом в сценарии, обрабатываются на 100% корректно, а умолчание - нет.
|
Written on: 17. 02. 2009 [10:00]
|
Maxim
Maxim Lisenko
Contributor
registered since: 18.08.2008
Posts: 141
|
Эта проблема была довольно давно и тогда же была решена. Вы какой версией пользуетесь? Из репозитория?
|
Written on: 17. 02. 2009 [16:05]
|
dmitry
dmitry ilyin
Topic creator
registered since: 09.02.2009
Posts: 12
|
Пользуюсь версией 0.6.3.1 от 02.02.2009 на ALT Linux 4.1 Desktop (загружено с ftp://diyaorg.dp.ua/OpenSCADA/0.6.3/ALTLinux4.1).
|
Written on: 17. 02. 2009 [23:30]
|
dmitry
dmitry ilyin
Topic creator
registered since: 09.02.2009
Posts: 12
|
Поставил версию с репозитория. Все равно имеется вышеозначенный эффект с толщиной линии (чуть подольше погонять, и даст о себе знать).
А вот исправление "Protocol" очевидно - ни тормозов, ни повторений, блеск!
|
Written on: 18. 02. 2009 [08:44]
|
Maxim
Maxim Lisenko
Contributor
registered since: 18.08.2008
Posts: 141
|
Сегодня попробую поймать у себя. Какую именно динамику выполняете?
С дугой и заливкой все поправилось? Остался глюк только с толщиной линий?
|
Written on: 18. 02. 2009 [10:01]
|
dmitry
dmitry ilyin
Topic creator
registered since: 09.02.2009
Posts: 12
|
Для раньше приведенного мной примера динамика следующая:
if (fault) z1=faultColor; else if (running) z1=runColor; else z1=stopColor;
if (ready) z2=readyColor; else z2=otherColor;
if (c1!=z1) c1=z1;
if (c2!=z2) c2=z2;
c1 и c2 - цветовые параметры графического сценария; все ...Color - цветовые свойства, добавленные мной; ready, running, fault - булевские свойства "насоса", привязанные к имитатору ПЛК на блочном вычислителе.
Глюк проявляется при использовании по умолчанию именно толщины линии (не толщины бордюра).
С заливкой - все OK.
|
Written on: 18. 02. 2009 [17:48]
|
Maxim
Maxim Lisenko
Contributor
registered since: 18.08.2008
Posts: 141
|
Да действительно, нашел глюк. Слил в репозиторий. Тестируйте.
|
Written on: 18. 02. 2009 [20:12]
|
dmitry
dmitry ilyin
Topic creator
registered since: 09.02.2009
Posts: 12
|
Пробовал. Все отлично! Спасибо.
|
Written on: 13. 04. 2009 [12:13]
|
Vladas
Владас Тамошайтис
registered since: 02.04.2009
Posts: 6
|
Доброго времени суток. Столкнулся с проблемой - вылетает скада Закономерности не наблюдаю: происходит при разных действиях. Понимаю что без конкретных симптомов об этом писать вообще нет смысла, следовательно вопрос будет заключаться в том, есть ли какой-то механизм сбора параметров при крахе программы? Так, чтобы сразу одним файликом отчет отправить... Или стандартный вывод в терминале дает исчерпывающее представление об ошибке?
в последний раз в терминале получил:
1|/DemoStation/sub_UI/mod_QTCfg/ | root| Set </DemoStation/sub_BD/mod_MySQL/db_GenDB%2fprm%2fcfg%2ftoen> to <1>!
terminate called after throwing an instance of 'TError'
7|/DemoStation/ | OpenSCADA is aborted!
|
Written on: 13. 04. 2009 [15:18]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
Vladas wrote:
Доброго времени суток. Столкнулся с проблемой - вылетает скада Закономерности не наблюдаю: происходит при разных действиях. Понимаю что без конкретных симптомов об этом писать вообще нет смысла, следовательно вопрос будет заключаться в том, есть ли какой-то механизм сбора параметров при крахе программы?
Функцию core-dump включайте. Часто она включена и достаточно просто указать "ulimit -c unlimited" перед запуском OpenSCADA. Обычно указывается в скриптах запуска OpenSCADA (/usr/bin/openscada_start, /usr/bin/openscada_demo_ru).
В результате краха в рабочей директории получится файл core, который можно обработать и получить backtrace в момент краха, т.е. место возможной ошибки.
Learn, learn and learn better than work, work and work.
|