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

Псевдонимы и строковый тип в GraphWorX

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


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

Задача такая. Есть графический объект труба. У него есть псевдоним <<Наполнитель>>, через который хотелось бы в строковом виде задавать тип наполнителя: вода, газ и другие составляющие конкретного технологического процесса. В зависимости от значения этого псевдонима труба должна принимать соответствующий цвет в случае ее наполненности, т.е. к примеру вода - синий, газ - голубой и т.п.

Итак, труба составляется из нескольких наложенных друг на друга прямоугольников разных цветов соответствующих всем реактивам. Задача в том, чтобы скрывать все, кроме нужного.

Итого, на прямоугольник навешивается динамика "Скрыть" и ставится условие:

x= {{<<Наполнитель>>}} == $"воздух"$,

после этого в соответствующем меню задается значение псевдонима <<Наполнитель>> = воздух.

И... не работает!

Также не работает вариант:

x= tostring({{<<Наполнитель>>}}) == $"воздух"$.

Работает только вариант, когда в соответствующем меню задается значение псевдонима <<Наполнитель>> = $"воздух"$. Можно сделать предположение, что интерпретатор не может изначально определить тип данных в псевдониме, т.к. тот в отличие от локальных переменных к нему не привязывается. Но второй вариант должен ведь работать, т.к.:

tostring({{<<Наполнитель>>}}) = (после подстановки значения псевдонима) = tostring(воздух) = $"воздух"$.

В чем я не прав?

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


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

x=like({{<<Наполнение>>}},$"Воздух"$,1)

 

Удачи

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


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

 Уже пробовал, ничего не получается, вы не поверите, даже такой вариант не проходит:

x= like(tostring({{<<Наполнение>>}}),$"Воздух"$,1).

Такая печаль...  Пока задаю значения псевдонимов такими как $"воздух"$, $"вода"$ и т.п.

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


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

Да ведь работает.

Файл примера 8ACBC_Alias.zip(с вашими переменными)

 

Удачи.

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


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

Хм... Так-то работает, т.е. если задавать значения псевдонимов как псевдоним = $"название псевдонима"$, мне же хотелось задавать как псевдоним = название псевдонима. Я полагал, что функция tostring() как раз и сделает это преобазование 'название псевдонима' в строку $"название псевдонима"$.

Спасибо.

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


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

Сорри

 

Ну тогда вот так точно поможет

x= like($"<<Наполнение>>"$,$"воздух"$,1)

 

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


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

Точно, фурычит.

А я все пробовал так:

x= like($" + <<Наполнитель>> + "$,$"воздух"$,1),

но ничего не работало.

Спасибо!

Наверх
 Ответить Ответить

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

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