Вход на форум 
В начало e-Mail

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  
Smart Solutions VDT :: Просмотр темы - Переключение языков в RSView32 на стадии выполнения
 FAQFAQ   ПоискПоиск   ГруппыГруппы   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Переключение языков в RSView32 на стадии выполнения
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации
Предыдущая тема :: Следующая тема  
Автор Сообщение
BigBug
Новичок
Новичок


Зарегистрирован: May 20, 2009
Сообщения: 8
Рейтинг: +0/-0

СообщениеДобавлено: Ср 20 Май, 2009 13:29:26    Заголовок сообщения: Переключение языков в RSView32 на стадии выполнения Ответить с цитатой

Доброе время суток!
Столкнулся со следующей задачей. Во-первых, заказчик хочет, чтобы в качестве SCADA использовалась RSView32 и ни что другое. Во-вторых, требуется, чтобы во время работы системы можно было бы переключать языки. Как минимум английский и русский, а по возможности еще и немецкий.

Как оказалось, какого-либо стандартного решения этой задачи в RSView32 нет. В следующих продвинутых версиях вроде Factory Talk для этой цели есть специальный action – “Language”. В RSView32 его нет. Можно довольно просто менять содержимое string-тегов, но это не решает проблему полностью. Многие графические элементы имеют свойства, к которым не добраться через теги, напр., текст на кнопках, окне тревог, трендах и т.д.

Если кто сталкивался с подобной проблемой, или есть идеи, как ее решить, чиркните, пожалуйста. Буду премного благодарен.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Zombi
Постоянный участник
Постоянный участник


Зарегистрирован: Mar 15, 2007
Сообщения: 97
Рейтинг: +12/-0

СообщениеДобавлено: Ср 20 Май, 2009 13:53:08    Заголовок сообщения: Ответить с цитатой

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

В КВ есть решение Вашей задачи!


Желаю удачи![/url]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BigBug
Новичок
Новичок


Зарегистрирован: May 20, 2009
Сообщения: 8
Рейтинг: +0/-0

СообщениеДобавлено: Ср 20 Май, 2009 14:15:22    Заголовок сообщения: Ответить с цитатой

Спасибо! Smile
Тогда следующий вопрос: что такое КВ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Ср 20 Май, 2009 16:46:08    Заголовок сообщения: Ответить с цитатой

KB - Это Knowledge Base:
http://www.rockwellautomation.com/knowledgebase/?OpenForm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
BigBug
Новичок
Новичок


Зарегистрирован: May 20, 2009
Сообщения: 8
Рейтинг: +0/-0

СообщениеДобавлено: Ср 20 Май, 2009 16:57:23    Заголовок сообщения: Ответить с цитатой

Если речь идет об ответе 9567, то это как раз замена содержимого string-тегов.

Есть ли другие способы?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Ср 20 Май, 2009 17:10:17    Заголовок сообщения: Ответить с цитатой

Кроме связки VBA и базы Access начиная с RSView32 7.30 в системе команд есть ещё пара штучек:

Цитата:
Language Tags Substitution utility is now available in RSView®32. Two commands LInsertStringTag and LTagSubstitute are added to allow users to create a spreadsheet of string tag values in different languages and to select the values in a particular language for the tags during runtime.


И это всё. Увы, RSView32 - это очень старый продукт. Он не рекомендуется для вновь создаваемых систем. Переключение языков есть только в более новом RSViewSE aka FTViewSE.

Самое мудрое - это отговорить Вашего клиента от ошибки, которую он совершает, настаивая на устаревшем продукте и уговорить его на FTViewSE, преимущества которого очевидны.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
BigBug
Новичок
Новичок


Зарегистрирован: May 20, 2009
Сообщения: 8
Рейтинг: +0/-0

СообщениеДобавлено: Ср 20 Май, 2009 17:24:47    Заголовок сообщения: Ответить с цитатой

Именно об этих штучках я и говорил... Sad Но они не решают и половины проблем. Например, что делать с алармами, вообще не знаю... Question
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Ср 20 Май, 2009 18:25:17    Заголовок сообщения: Ответить с цитатой

И я не знаю. RSView32, похоже, просто не обладает той функциональностью, которая нужна Вашему клиенту.

Что делать? Видимо, помочь клиенту выбрать правильный продукт.

Если не тайна, кто Ваш клиент? Почему он так сильно хочет именно это устаревшее программное обеспечение и почему диктует Вам? Он что, знает лучше Вас, какой продукт применять?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
AlexV
Эксперт
Эксперт


Зарегистрирован: Jan 10, 2007
Сообщения: 126
Рейтинг: +6/-0
Откуда: г.Мирный, Якутия

СообщениеДобавлено: Чт 21 Май, 2009 0:29:15    Заголовок сообщения: Ответить с цитатой

oldDad писал(а):
Почему он так сильно хочет именно это устаревшее программное обеспечение и почему диктует Вам? Он что, знает лучше Вас, какой продукт применять?

Почему так категорично? Разве RSView32 уже официально снят с поддержки?
Да и заказчики бывают разные, есть которым все равно, а есть и продвинутые. Если требуют - значит знают, что хотят.

а если по делу - то:
Я сталкивался с задачей такого рода несколько лет назад...
В RSView32 единственное, что может потребовать отдельного экрана для языка - это всплывающие подсказки.
Если их наличие непринципиально - то всё достаточно легко разруливается без дублирования экранов путем параметризации.
Стандартные кнопки легко заменяются на Touch-анимацию (кстати, я уже давно считаю плохим тоном использование стандартных кнопок Rolling Eyes )
Ну а все статические надписи на экранах выводить из строковых Memory-тэгов через параметр
С трендами лучше все-таки использовать отдельные экраны с TrendX, благо он позволяет писать независимые описания для перьев.

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

Так что, в принципе, всё это реализуемо средствами RSView32 без особых трудностей...

ЗЫ
ну и практически все написанное в SE может делаться точно также, но боюсь, все на языковый Action не навесишь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Чт 21 Май, 2009 8:46:34    Заголовок сообщения: Ответить с цитатой

AlexV писал(а):
Разве RSView32 уже официально снят с поддержки?

Вы знаете, RSView32 с поддержки не снят и не будет снят, но для применения в новых системах уже не рекомендуется.

AlexV писал(а):
заказчики бывают разные, есть которым все равно, а есть и продвинутые. Если требуют - значит знают, что хотят.

Это, на самом деле, далеко не всегда так Smile
Не только мой личный опыт но и опыт моих коллег показывает, что очень часто (не всегда, но очень часто) заказчик просто не знает ничего другого, и заказывает то, что знает. И очень часто удаётся предотвратить ошибку, о которой я пишу и предложить более современный, функциональный и - часто - более дешёвый продукт.

Бывают случаи, когда администратор от автоматизации говорит: "применять вот это!" только потому, что он знает это название, а также потому, что инженеры по эксплуатации ему рассказали (и правильно рассказали!), что у них уже 5 или 8 лет стоит RSView32, прекрасно работает и ничего другого они не хотят Smile

В каждом таком случае, когда заказчик диктует применение устаревшего продукта в новых системах, имеет большой смысл поговорить с ним и проверить, действительно ли он точно знает, чего хочет (что далеко не всегда так). Рассказать о возможностях нового продукта и его преимуществах перед старым. Очень может оказаться, что Вы ломитесь в открытую дверь и вопрос решается легко и непринуждённо.

Хочет заказчик RSView32? Нет проблем, получит, конечно. Но это:
- не всегда лучше
- не всегда дешевле.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
dv_
Эксперт
Эксперт


Зарегистрирован: Sep 14, 2006
Сообщения: 776
Рейтинг: +41/-1
Откуда: Донецк

СообщениеДобавлено: Чт 21 Май, 2009 9:49:21    Заголовок сообщения: Ответить с цитатой

AlexV писал(а):

...Skip...
Так что, в принципе, всё это реализуемо средствами RSView32 без особых трудностей...

Не верю про "без особых трудностей" (см. область Skip в оригинальном письме).

AlexV писал(а):
...ну и практически все написанное в SE может делаться точно также, но боюсь, все на языковый Action не навесишь

Что понимать под "точно также"?
В SE версии 5 все языковые желания штатная функция, в версии 4 только Alarm одноязычный, остальное как требуется.
Начиная с CPR7+ многоязычность делается очень легко.
Когда наш клиент захотел украинский, наша самая большая трудность была в переводе, но нашелся парень, который в XLS файле написал украинский текст.
Забавно получилось:
рубашка двигателя - сорочка двигуна
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and123
Частый гость
Частый гость


Зарегистрирован: May 18, 2009
Сообщения: 34
Рейтинг: +0/-0

СообщениеДобавлено: Пт 22 Май, 2009 0:55:47    Заголовок сообщения: ереключение языков в RSView32 на стадии выполнения Ответить с цитатой

Уважаемый BigBug. Язык, если я правильно понимаю раскладка клавиатуры на АРМ переключается независимо ни от чего, тоесть не важно какая запущена скада. другое дело как это увидеть. Предлагаю в VBA написать процедуру.
В модуле скрипта надо обьявить API функцию

Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long

А сама процедура для нажатия клавиши на какой нибудь форме(сделайте какуюнибудь форму в VBA)

Private Sub Button1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim layoutname As String * KL_NAMELENGTH
Dim capslock
Dim dl&
dl& = GetKeyboardLayoutName(layoutname)
capslock = GetKeyState(VK_CAPITAL)
If layoutname = EN_LANG Then
If capslock And 1 Then
Label1.Caption = "EN"
Label2.Caption = "Caps Lock"
Else
Label1.Caption = "en"
Label2.Caption = ""
End If
ElseIf layoutname = RU_LANG Then
If capslock And 1 Then
Label1.Caption = "RU"
Labe2.Caption = "Caps Lock"
Else
Label1.Caption = "ru"
Label2.Caption = ""
End If
Else: Label1.Caption = "??"
End If
End Sub
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and123
Частый гость
Частый гость


Зарегистрирован: May 18, 2009
Сообщения: 34
Рейтинг: +0/-0

СообщениеДобавлено: Пт 22 Май, 2009 1:25:27    Заголовок сообщения: Ответить с цитатой

Забыл еще функцию
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
А саму функцию можно сделать отдельную, те без окна и кнопки
а значения соответсвующие label1 и 2 передавать двум строковым тэгам
проекта = gTagDb.GetTag("string1").Value
= gTagDb.GetTag("string2").Value
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DIMIOKS
Эксперт
Эксперт


Зарегистрирован: May 14, 2005
Сообщения: 290
Рейтинг: +9/-0
Откуда: г.Самара

СообщениеДобавлено: Пт 22 Май, 2009 6:47:54    Заголовок сообщения: Ответить с цитатой

Плохо, очень плохо я знаю VBA...
and123, таким образом можно подключать любые библиотеки?
А динамически библиотеки можно подключать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Пт 22 Май, 2009 7:59:06    Заголовок сообщения: Ответить с цитатой

Можно написать и не только это, подключив любые библиотеки. Если какие-нибудь библиотеки и нельзя подключить, то можно написать такой код и подклчить такие бибиотеки, которые позволят подключить библиотеки, которые до этого нельзя было подключить Smile

Можно ещё много чего написать, хоть всю SCADA полностью, с любыми функциями, библиотеками и с любой функциональностью.

При этом, правда, возникает вопрос: а что будет, если написавший сей уникальный и неповторимый продукт программер уволится или переквалифицируется в десантники, или эмигрирует, к примеру, в Австралию? Как тогда быть бедному клиенту, ставшему объектом для программистских экспериментов и ставшему счастливым обладателем уникального know-how, существующего у него в компьютере? Кто будет отлаживать или сопровождать этот уникально написанный продукт? Сможет ли он вообще и будет ли разобираться в этих кодах? Вряд ли.

Тяжелый вопрос. Клиента таким образом можно хор-рошо подставить, оставив его один на один с непонятно кем и когда написанным кодом. Представляю, как он будет потом "благодарен" и какими ласковыми словами будет крыть и программиста, написавшего "За отсутвие кометариев извиняйте" и канувшего в Лету, и фирму-подрядчика, и совершенно к этим негуманным экспериментам непричастный и ни в чём неповинный продукт RSView, и саму компанию Rockwell.

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


and123,
Дружеский совет, касающийся Вашего абзаца, который я вырезал: не надо писать того, чего писать не надо. ОК? Готов ответить на все вопросы, заданные в личном сообщении.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации Часовой пояс: GMT + 1
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

Powered by phpBB © 2001, 2005 phpBB Group
Яндекс цитирования

Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany
Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de
Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна.
Открытие страницы: 0.136 секунды
/n