Псевдонимы Genesis32: экспорт и импорт |
Ответить | Страница 12> |
Автор | |
Новичок Присоединился: 25 Август 2004 Категория: Russian Federation Online Status: Offline Публикации: 22 |
Опубликовано: 01 Октябрь 2004 09:01 |
Необходимо организовать экспорт и импорт настройки (конфигурации) псевдонимов осуществляемой с помощью окна Редактирование псевдонимов из меню Динамика - Псевдонимы... Версия Genesis 7.1. Редактор файла псевдонимов из меню Сервис - Редактор файла псевдонимов... не подходит т.к., во-первых, почему-то отказывается эспортировать псевдонимы с русскими именами, во-вторых, автоматически не поднимает конфигурацию псевдонимов, в-третьих, возможно, это связано с моим недопониманием, не позволяет указать имя объекта, для которого экспортируется (или импортируется) псевдоним. Решение я пока вижу в исполнении скрипта по событию, к примеру, GwxDisplay.PostRuntimeStart, который поднимал бы конфигурацию из некоторого файла. Но тут вопросы следующие: 1. Если использовать для импорта псевдонимов функцию ThisDisplay.SetAliasesFromFile, то каким образом в текстовом файле указывать имя объекта, для которого задается определение псевдонима? 2. Другой вариант. Насколько я понимаю, псевдонимы задаются для динамических объектов, т.е. можно осуществить пробежку по всем динамическим объектам дисплея, чтобы установить определения псевдонимов GwxDinamic.SetAliasDefinition. Но как в этом случае сделать привязку к именам объектов, которые у меня являются сгруппированными статическими и динамическими объектами? 2.1. Вопрос 2 актуален также и для экспорта определений псевдонимов. Помогите, пожалуйста... |
|
Действительный член Присоединился: 15 Март 2004 Категория: Russian Federation Online Status: Offline Публикации: 112 |
|
Проблема русских псевдонимов возникла у меня больше года назад, когда мы с V6 (NoUnicode) начали переходить на V7 (Unicode)/ Действительно, старые файлы псевдонимов не понимаються (вместо кирилицы палочки), а новые в редакторе файлов псевдонимов не создаються. Были задействованы лучшие умы России, Европы и Америки. И спустя год, а именно в Июле 2004 нас всех постигло счастье. Цитирую почту, которую я рассылал своим коллегам, которые тоже страдали от этого бага. **********************************************
Чтобы все работало необходимо сделать следующее.
1. Установить патч ftp://ftp.prosoft.ru/pub/Software/Genesis32/Fixes/V7/Unicode/7_1/GraphWorX32 7.02.zip
Без него ничего работать не будет.
В aboute GraphWorx32 должно обязательно значиться, что это версия 7.02.
С созданием новых файлов псевдонимов в GWX32 7.02 и с их последующим Импортом\Экспортом проблем никаких.
Чтобы использовать файлы псевдонимов из 6-ой версии необходимо
1. Открыть файл псевдонимов в проводнике Windows (не в ВинКомандире, а именно в Проводнике)
2. Save as....
3. При сохранении поменять кодировку с ANSI на Unicode.
(размер файла увеличивается в ~2 раза)
Все, файлы будут работать в 7.02
ВВЮ
P.S. В версиях 7.00 и 7.01 файлы русских псевдонимов не работают вообще никак
**************************************************************************
Удачи.
|
|
Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator |
|
Действительный член Присоединился: 15 Март 2004 Категория: Russian Federation Online Status: Offline Публикации: 112 |
|
Что касаеться имени объекта, для которого импортируеться файл псевдонимов (экспорт файла не привязываеться к определенному объекту), то это имя необходимо указывать РУКАМИ в диалоге настройки Pick->SetAliases->Apply To "StaticObject/LayerName"->ПРОПИСАТЬ РУКАМИ ИМЯ ОБЪЕКТА или СЛОЯ.
А редактор файла псевдонимов, это просто "заточенный блокнот" для удобства выборки псевдонимов из экрана, привязки их к тегам и послед. сохранения в файл. Он вас ни к чему не обязывает (в плане объекта или экрана). Этот файл вы также можете вручную создать в обычном Notepade(соблюдая формат табуляции и не забывая сохранять в Unicode кодировке (см. предыдущее сообщение)). И затем подгрузить либо к конкретному объекту, либо ко всему экрану. Удачи.
|
|
Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator |
|
Новичок Присоединился: 25 Август 2004 Категория: Russian Federation Online Status: Offline Публикации: 22 |
|
Родился еще один вопрос на счет псевдонимов... К примеру есть объект - насос 0, у него два псевдонима: <<Вход>> (сигнла 0/1 свидетельствует об отсутствии или наличии соответственно воды во входном трубопроводе), <<Работа>> (сигнал 0/1 свидетельствует о выключенном и включенном соответственно состояниях насоса). Визуализация наличия воды в выходном трубопроводе насоса 0(изменение на соответствующий воде цвет) происходит по следующему условию: x = <<Вход>> && <<Работа>> (выражение 1) Далее, наличие воды на входе насоса 0 (т.е. псевдоним <<Вход>>) определяется также некоторым выражением, к примеру, таким: x = (~~Открыт насос 1~~ || ~~Открыт насос 2~~) (выражение 2) Ну и к примеру, псевдоним <<Работа>> определен как локальная переменная ~~Работа~~. В результате получается, что выражение 1 (см. выше) принимает вид: x = x = (~~Открыт насос 1~~ || ~~Открыт насос 2~~) && ~~Работа~~, но не желаемое: x = (~~Открыт насос 1~~ || ~~Открыт насос 2~~) && ~~Работа~~, что приводит к неправильной визуализации, т.е. цвет не изменяется. Как обойти эту "кривость" подстановки? |
|
Действительный член Присоединился: 15 Март 2004 Категория: Russian Federation Online Status: Offline Публикации: 112 |
|
Вообщем-то оно работает так, как и должно работать. Т.к. псевдоним в выражении заменяеться символьной строкой, определенной для него. ИМЕННО СТРОКОЙ, а не значением выражения, которое эта строка описывает. И только после подстановки происходят вычисления. Поэтому, в первом случае заменив псевдоним на х=.... интерпретатор обнаруживает правильное выражение и вычисляет его значения. А во втором случает после подстановки получаеться законченное выражение внутри законченного выражния. И интерпретатор, естественно, не может понять как разрулить два знака =
Данный частный случай решаеться просто Выражение 1 вы пишите как <<Вход>> && <<Работа>> без х= ЭТО ЧАСТНОЕ РЕШЕНИЕ ЧАСТНОГО СЛУЧАЯ.
|
|
Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator |
|
Новичок Присоединился: 25 Август 2004 Категория: Russian Federation Online Status: Offline Публикации: 22 |
|
Да, предложенное вами решение я уже пробовал, оно мне не подходит, т.к. выражение 2 в свою очередь представляет условие для визуализации факта наличия жидкости во входном трубопроводе насоса, а если убрать символы "x = ", то визуализация перестает работать. Вобщем такой вот тупик... |
|
Действительный член Присоединился: 15 Март 2004 Категория: Russian Federation Online Status: Offline Публикации: 112 |
|
Почему тупик? Рассмотрим на вашем примере: Определите псевдоним <<Вход>> как ~~Открыт насос 1~~ || ~~Открыт насос 2~~ без всяких х и = Теперь в сложных выражениях это псевдоним будет подставляться корректно. Например х=<<Вход>>&&<<Работа>> А если вам нужно менять динамику только по значению этого псевдонима, то пишите х=<<Вход>>
|
|
Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator |
|
Новичок Присоединился: 25 Август 2004 Категория: Russian Federation Online Status: Offline Публикации: 22 |
|
Действительно работает, спасибо!
|
|
Новичок Присоединился: 25 Август 2004 Категория: Russian Federation Online Status: Offline Публикации: 22 |
|
И еще... По поводу поддержки русских псевдонимов в версии 7.1. Часто происходит критическая ошибка при попытке построить выражение, к примеру, такого вида: x= <<Псевдоним1>> || <<Псевдоним2>>, при нажатии на кнопку Ок вылетает ошибка VC и GraphWorX выгружается. Обнаружил, что можно обойти данную багу включив псевдонимы в двойные фигурные скобки, которые вообще-то предназначены для обозначения OPC-тегов. Т.е. выражение переписывается так: x= {{<<Псевдоним1>>}} || {{<Псевдоним2>>}}, после этого все работает корректно. |
|
Действительный член Присоединился: 15 Март 2004 Категория: Russian Federation Online Status: Offline Публикации: 112 |
|
По поводу критической ошибки (если это действительно она) ОБЯЗАТЕЛЬНО Перед запуском GraphWorX запустите TraceWorx, установите там галочку "наблюдать за GraphWorX" После этого запускайте GraphWorX, провоцируйте критическую ошибку.
После этого, весь отчет Ане, с подробным описанием.
Самый эффективный способ устранения ошибок. |
|
Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator |
|
Ответить | Страница 12> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |