Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Псевдонимы Genesis32: экспорт и импорт

 Ответить Ответить Страница  12>
Автор
Сообщение
rogachev Смотреть выпадающим
Новичок
Новичок


Присоединился: 25 Август 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 22
Свойства публикации Свойства публикации   Ответить, цитируя автора - rogachev Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Псевдонимы Genesis32: экспорт и импорт
    Опубликовано: 01 Октябрь 2004 09:01

Необходимо организовать экспорт и импорт настройки (конфигурации) псевдонимов осуществляемой с помощью окна Редактирование псевдонимов из меню Динамика - Псевдонимы... Версия Genesis 7.1.

Редактор файла псевдонимов из меню Сервис - Редактор файла псевдонимов... не подходит т.к., во-первых, почему-то отказывается эспортировать псевдонимы с русскими именами, во-вторых, автоматически не поднимает конфигурацию псевдонимов, в-третьих, возможно, это связано с моим недопониманием, не позволяет указать имя объекта, для которого экспортируется (или импортируется) псевдоним.

Решение я пока вижу в исполнении скрипта по событию, к примеру, GwxDisplay.PostRuntimeStart, который поднимал бы конфигурацию из некоторого файла. Но тут вопросы следующие:

1. Если использовать для импорта псевдонимов функцию ThisDisplay.SetAliasesFromFile, то каким образом в текстовом файле указывать имя объекта, для которого задается определение псевдонима?

2. Другой вариант. Насколько я понимаю, псевдонимы задаются для динамических объектов, т.е. можно осуществить пробежку по всем динамическим объектам дисплея, чтобы установить определения псевдонимов GwxDinamic.SetAliasDefinition. Но как в этом случае сделать привязку к именам объектов, которые у меня являются сгруппированными статическими и динамическими объектами?

2.1. Вопрос 2 актуален также и для экспорта определений псевдонимов.

Помогите, пожалуйста...

Наверх
Voronenkov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 15 Март 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 112
Свойства публикации Свойства публикации   Ответить, цитируя автора - Voronenkov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 01 Октябрь 2004 19:16

Проблема русских псевдонимов возникла у меня больше года назад, когда мы с V6 (NoUnicode) начали переходить на V7 (Unicode)/

Действительно, старые файлы псевдонимов не понимаються (вместо кирилицы палочки), а новые в редакторе файлов псевдонимов не создаються.

Были задействованы лучшие умы России, Европы и Америки.

И спустя год, а именно в Июле 2004 нас всех постигло счастье.

Цитирую почту, которую я рассылал своим коллегам, которые тоже страдали от этого бага.

**********************************************

 

Чтобы все работало необходимо сделать следующее.
 
Без него ничего работать не будет.
В 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
Наверх
Voronenkov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 15 Март 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 112
Свойства публикации Свойства публикации   Ответить, цитируя автора - Voronenkov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 01 Октябрь 2004 23:40

Что касаеться имени объекта, для которого импортируеться файл псевдонимов (экспорт файла не привязываеться к определенному объекту), то это имя необходимо указывать РУКАМИ в диалоге настройки Pick->SetAliases->Apply To "StaticObject/LayerName"->ПРОПИСАТЬ РУКАМИ ИМЯ ОБЪЕКТА или СЛОЯ.

 

А редактор файла псевдонимов, это просто "заточенный блокнот" для удобства выборки псевдонимов из экрана, привязки их к тегам и послед. сохранения в файл.

Он вас ни к чему не обязывает (в плане объекта или экрана). Этот файл вы также можете вручную создать в обычном Notepade(соблюдая формат табуляции и не забывая сохранять  в Unicode кодировке (см. предыдущее сообщение)). И затем подгрузить либо к конкретному объекту, либо ко всему экрану.

Удачи.

 

 

 

Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator
Наверх
rogachev Смотреть выпадающим
Новичок
Новичок


Присоединился: 25 Август 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 22
Свойства публикации Свойства публикации   Ответить, цитируя автора - rogachev Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Октябрь 2004 08:58

Родился еще один вопрос на счет псевдонимов...

К примеру есть объект - насос 0, у него два псевдонима: <<Вход>> (сигнла 0/1 свидетельствует об отсутствии или наличии соответственно воды во входном трубопроводе), <<Работа>> (сигнал 0/1 свидетельствует о выключенном и включенном соответственно состояниях насоса).

Визуализация наличия воды в выходном трубопроводе насоса 0(изменение на соответствующий воде цвет) происходит по следующему условию:

x = <<Вход>> && <<Работа>>                               (выражение 1)

Далее, наличие воды на входе насоса 0 (т.е. псевдоним <<Вход>>) определяется также некоторым выражением, к примеру, таким:

x = (~~Открыт насос 1~~ || ~~Открыт насос 2~~)                               (выражение 2)

Ну и к примеру, псевдоним <<Работа>> определен как локальная переменная ~~Работа~~.

В результате получается, что выражение 1 (см. выше) принимает вид:

x = x = (~~Открыт насос 1~~ || ~~Открыт насос 2~~) && ~~Работа~~,

но не желаемое:

x = (~~Открыт насос 1~~ || ~~Открыт насос 2~~) && ~~Работа~~,

что приводит к неправильной визуализации, т.е. цвет не изменяется.

Как обойти эту "кривость" подстановки?

Наверх
Voronenkov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 15 Март 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 112
Свойства публикации Свойства публикации   Ответить, цитируя автора - Voronenkov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Октябрь 2004 10:12

Вообщем-то оно работает так, как и должно работать.

Т.к. псевдоним в выражении заменяеться символьной строкой, определенной для него. ИМЕННО СТРОКОЙ, а не значением выражения, которое эта строка описывает. И только после подстановки происходят вычисления.

Поэтому, в первом случае заменив псевдоним на х=.... интерпретатор обнаруживает правильное выражение и вычисляет его значения.

А во втором случает после подстановки получаеться законченное выражение внутри законченного выражния.

И интерпретатор, естественно, не может понять как разрулить два знака =

 

Данный частный случай решаеться просто

Выражение 1 вы пишите как

<<Вход>> && <<Работа>>  без х=

ЭТО ЧАСТНОЕ РЕШЕНИЕ ЧАСТНОГО СЛУЧАЯ.

 

Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator
Наверх
rogachev Смотреть выпадающим
Новичок
Новичок


Присоединился: 25 Август 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 22
Свойства публикации Свойства публикации   Ответить, цитируя автора - rogachev Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Октябрь 2004 12:34

Да, предложенное вами решение я уже пробовал, оно мне не подходит, т.к. выражение 2 в свою очередь представляет условие для визуализации факта наличия жидкости во входном трубопроводе насоса, а если убрать символы "x = ", то визуализация перестает работать.

Вобщем такой вот тупик...

Наверх
Voronenkov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 15 Март 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 112
Свойства публикации Свойства публикации   Ответить, цитируя автора - Voronenkov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Октябрь 2004 12:55

Почему тупик?

Рассмотрим на вашем примере:

Определите псевдоним <<Вход>> как

~~Открыт насос 1~~ || ~~Открыт насос 2~~

без всяких х и =

Теперь в сложных выражениях это псевдоним будет подставляться корректно. Например х=<<Вход>>&&<<Работа>>

А если вам нужно менять динамику только по значению этого псевдонима, то пишите

х=<<Вход>>

 

Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator
Наверх
rogachev Смотреть выпадающим
Новичок
Новичок


Присоединился: 25 Август 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 22
Свойства публикации Свойства публикации   Ответить, цитируя автора - rogachev Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Октябрь 2004 13:08

Действительно работает, спасибо!

 

Наверх
rogachev Смотреть выпадающим
Новичок
Новичок


Присоединился: 25 Август 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 22
Свойства публикации Свойства публикации   Ответить, цитируя автора - rogachev Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 08 Октябрь 2004 10:24

И еще... По поводу поддержки русских псевдонимов в версии 7.1.

Часто происходит критическая ошибка при попытке построить выражение, к примеру, такого вида:

x= <<Псевдоним1>> || <<Псевдоним2>>,

при нажатии на кнопку Ок вылетает ошибка VC и GraphWorX выгружается.

Обнаружил, что можно обойти данную багу включив псевдонимы в двойные фигурные скобки, которые вообще-то предназначены для обозначения OPC-тегов. Т.е. выражение переписывается так:

x= {{<<Псевдоним1>>}} || {{<Псевдоним2>>}},

после этого все работает корректно.

Наверх
Voronenkov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 15 Март 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 112
Свойства публикации Свойства публикации   Ответить, цитируя автора - Voronenkov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 08 Октябрь 2004 14:09

По поводу критической ошибки (если это действительно она)

ОБЯЗАТЕЛЬНО

Перед запуском GraphWorX запустите TraceWorx, установите там галочку "наблюдать за GraphWorX"

После этого запускайте GraphWorX, провоцируйте критическую ошибку.

 

После этого, весь отчет Ане, с подробным описанием.

 

Самый эффективный способ устранения ошибок.

Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator
Наверх
 Ответить Ответить Страница  12>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz