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

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

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

RSVIEW SE и Events

 
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Проблемы и пути их решения
Предыдущая тема :: Следующая тема  
Автор Сообщение
maxim
Эксперт
Эксперт


Зарегистрирован: Feb 16, 2007
Сообщения: 123
Рейтинг: +7/-0
Откуда: Енакиево

СообщениеДобавлено: Чт 08 Ноя, 2007 7:32:32    Заголовок сообщения: RSVIEW SE и Events Ответить с цитатой

Доброго времени дня, коллеги. Smile

Вопрос касается RSVIEW SE.

Кто сталкивался, поделитесь. Как работает обработчик событий (Events) в RSVIEW SE в частности команда Display.
Задача такая: при наступлении события вызывать окно на RSVIEW SE Client.
Заранее всех благодарю за помощь.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
dv_
Эксперт
Эксперт


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

СообщениеДобавлено: Чт 08 Ноя, 2007 8:29:55    Заголовок сообщения: Re: RSVIEW SE и Events Ответить с цитатой

maxim писал(а):
... Как работает обработчик событий (Events) в RSVIEW SE в частности команда Display.

При переходе в True - сработает, далее нужен опять переход в True.
maxim писал(а):
...Задача такая: при наступлении события вызывать окно на RSVIEW SE Client.

Вопрос на вопрос неправильно, но...
А какому клиенту (RSVIEW SE)?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
maxim
Эксперт
Эксперт


Зарегистрирован: Feb 16, 2007
Сообщения: 123
Рейтинг: +7/-0
Откуда: Енакиево

СообщениеДобавлено: Чт 08 Ноя, 2007 8:54:21    Заголовок сообщения: Ответить с цитатой

Существует распределенная система server – client. Client находится на удаленных рабочих станциях. Необходимо, чтобы дисплей вызывался на конкретном компьютере.
При переходе в True на Client - e в ответ на команду Display в Diagnostic List читаем Download и все... Question
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
dv_
Эксперт
Эксперт


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

СообщениеДобавлено: Чт 08 Ноя, 2007 9:04:01    Заголовок сообщения: Ответить с цитатой

maxim писал(а):
Существует распределенная система server – client. Client находится на удаленных рабочих станциях.

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

"Конкретный компьютер" может быть выключен (или не подключен как клиент) - что дальше должен делать сервер (даже если сервер умеет включить нужный экран на конкретном компьютере)?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
maxim
Эксперт
Эксперт


Зарегистрирован: Feb 16, 2007
Сообщения: 123
Рейтинг: +7/-0
Откуда: Енакиево

СообщениеДобавлено: Чт 08 Ноя, 2007 9:19:32    Заголовок сообщения: Ответить с цитатой

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


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

СообщениеДобавлено: Чт 08 Ноя, 2007 9:30:25    Заголовок сообщения: Ответить с цитатой

Вы же знаете, что в клиент-серверных системах все events исполняются не на клиенте, а на сервере. Поэтому, чтобы выполнить какую-то команду на клиенте по событию на сервере, нужно либо менять логику управления, либо использовать какие-нибудь специальные механизмы.
Вот что есть в Knowledge Base по этому поводу:

Цитата:
ID 22007

How to trigger a command on an SE client from an HMI server.

Question
How to trigger a command on an SE client from an HMI server

Answer

Background
In some RSView SE applications, there may be a need to execute a command on a client when an event occurs. Some examples of this would be displaying an alarm summary screen when an alarm occurs, play a wave to alert an operator of an alarm condition, or displaying a warning screen when communications are lost.

Since the Event Detector is designed to automatically execute commands when certain conditions are met, one might think that a Display command issued from an Event Detector would be the way to accomplish this goal. However, the Display command does not contain a mechanism to run a command at a remote client.

Therefore, any command run by an Event Detector will execute at the HMI server hosting the event file, not at a client. Depending on the command, that command may or may not be valid when issued at the HMI server. For example, if a Display command is executed from the Event Detector (or a command line), the following warning will appear:

The command 'Display' is ignored when issued from the development environment or an HMI Server

Solution:
The following technique will allow a command or macro to run on a client. Please note that since VBA is single-threaded, your application should only run one script at a time. VBA will queue up requests but there are variable limits to what it can hold in the queue. In general, VBA scripts should be short and to the point rather than continuously-running semi-applications.

Use an Event Detector to set a memory tag to 1. Alternatively, create an object (for example a button or an object with Touch animation) that sets the tag.

Create a numeric display that monitors the tag in step 1.
Right-click it and select "Property Panel".
Make sure the "ExposedToVBA" property is set to "VBA Control".
Close the Property Panel and right-click the numeric display. Select "VBA Code".

In the Change event for this numeric display, add the following code:

Код:
Private Sub NumericDisplay1_Change()
    On Error GoTo ErrorHandler
    If Not IsError(NumericDisplay1.Value) Then
        If NumericDisplay1.Value = 1 Then
            ExecuteCommand "command string"
        End If
    End If
    Exit Sub

ErrorHandler:
    LogDiagnosticsMessage Err.Description, ftDiagSeverityError
End Sub


For example, to display a graphic called "Popup", the syntax would be ExecuteCommand "Display Popup". Since this will execute on the client, no error will occur. Other RSView SE commands or macros can also be called in this way.

Catalog Number:
DocFullNum: A10738686
Revision:2.00.01;2.10.00;3.0;3.00.01;3.10.00;3.20.00;4.00 (CPR 7)

File Attachments
ZIP document 22007_example.zip




Последний раз редактировалось: oldDad (Чт 08 Ноя, 2007 10:11:57), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
maxim
Эксперт
Эксперт


Зарегистрирован: Feb 16, 2007
Сообщения: 123
Рейтинг: +7/-0
Откуда: Енакиево

СообщениеДобавлено: Чт 08 Ноя, 2007 10:03:29    Заголовок сообщения: Ответить с цитатой

Всем спасибо. Думаю, что с помощюь VBA мы решим нашу проблемму. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
dv_
Эксперт
Эксперт


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

СообщениеДобавлено: Чт 08 Ноя, 2007 11:17:35    Заголовок сообщения: Ответить с цитатой

maxim писал(а):
Всем спасибо. Думаю, что с помощюь VBA мы решим нашу проблемму. Smile

Лучше меняй логику управления.
На VBA сильно не надейся - в SE скрипт VBA принадлежит экрану.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Проблемы и пути их решения Часовой пояс: GMT + 1
Страница 1 из 1

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

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.135 секунды
/n