 | |
Предыдущие результаты
Вы же знаете, что в клиент-серверных системах все events исполняются не на клиенте, а на сервере. Поэтому, чтобы выполнить какую-то команду [i:cea8f7b8c9]на клиенте[/i:cea8f7b8c9] по событию [i:cea8f7b8c9]на сервере[/i:cea8f7b8c9], нужно либо менять логику управления, либо использовать какие-нибудь специальные механизмы.
Вот что есть в Knowledge Base по этому поводу:
[quote:cea8f7b8c9]ID 22007
[b:cea8f7b8c9]How to trigger a command on an SE client from an HMI server.[/b:cea8f7b8c9]
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:
[b:cea8f7b8c9]The command 'Display' is ignored when issued from the development environment or an HMI Server[/b:cea8f7b8c9]
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:
[code:1:cea8f7b8c9]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
[/code:1:cea8f7b8c9]
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
• [url=http://vdt-automation.de/files/22007_example.zip]ZIP document 22007_example.zip[/url]
[/quote:cea8f7b8c9]
|
Существует распределенная система server – client. Client находится на удаленных рабочих станциях. Необходимо, чтобы дисплей вызывался на конкретном компьютере.
При переходе в True на Client - e в ответ на команду Display в Diagnostic List читаем Download и все... :?:
|
А нельзя было сделать проще, без VBA.
Например:
Invoke Me.RStrendx.PrintChart(0,1)
|
Конечно.
Не только можно, но и нужно. Текущая версияя 7.30:
http://support.rockwellautomation.com/webupdates/product_list.asp
|
Заочно тяжело (практически невозможно) дать правильный ответ.
Проверь качество связм по DH-485 - в RSLinx правой кнопкой выбрать Station Diagnostics. При помехах на 1761-NET-AIC+ стоит ставить фиксированную скорость.
[quote:b3032f64d6]1761-NET-AIC Преобр-ль дополн. Интерфейса, сеть (DF1<->DH485)[/quote:b3032f64d6]
1761-NET-AIC+ не преобразует протокол.
А может в программах есть циклы?
См. http://vdt-automation.com.ua/modules.php?name=Forums&file=viewtopic&t=517
|
Снесла все и переустановила систему, только Server2003, RSLinx и RSView, симптомы теже.
Столкнулась с такой проблемой в первый раз, работает несколько серверов с серверной виндой с SQL с VisualStudio c RSView 6.40. :(
|
Добрый день!
Имеем Mobileview MT750, куплена в начале 2002 года, OS Windows CE 3.0 (Build 126), RSView ME Station нет.
Сейчас MT750 идут с установленной RSView ME Station. Хочется Windows CE поновее и RSView ME Station.
В документе MobileView™ Tablet T750 Flash Update (Publication 2727-GR001A-EN-P - September 2001 ) сказано
The latest Flash update image files will be available on the Allen-Bradley web site: http://www.ab.com/eoi/
но по этой ссылки вообще о mobileview ни слова, не то чтобы image лежал. В knowledgebase тоже ни слова. Где искать этот Flash update image???
Спасибо.
|
Предполагается использовать 2706-P44R с преобразователем 2706-PDNETM. Но в KNOWLEDGEBASE нашел следующее:
DeviceNet:
The 2706-PDNETP, 2706-PDNETM and 2706-PDENTK will work with any of the A-B DeviceNet scanners (i.e. 1747-SDN, 1769-SDN, 1788-DNBO, etc.)
They will NOT work with the 1761-NET-DNI module. The DeviceNet module must be mapped as a slave to the DeviceNet scanner.
NOTE: How to use the 2706-PDNI is not discussed here. Information included here is to explain their limitations only.
If using 2706-PDNI connected to the InView screen, this will only work with controllers that are capable of performing a MSG instruction over the DeviceNet path.
This would include the ControlLogix processor but exclude the PLC-5 and SLC processors because you cannot program the proper path for the instruction.
This would also exclude the CompactLogix L20 and L30 processors because they do not support backplane messaging
Это огорчает т.к в проекте заложена сетка DeviceNet с процессором 1769-L32E и сканером 1769-SDN. Видимо придется менять процессор на L40 или использовать Ethernet для подключения к InView.
|
Привет уважаемые участники форума, привет Den.
Позвольте мне немного поучаствовать в дискусси, подлить масла в огонь,
ведь так мы и не знаем ничего конечном результате и негоже,чтобы пользователь
не получил конкретного ответа на задаваемый специфический вопрос.
Прежде всего, я на 200 процентов согласен с предыдущими коллегами, что при применении ML1500
невозможно осуществить runtime access к вышеперечисленным конфигурационным параметрам.
У меня пару лет назад была похожая ситуация с конфигурационными параметрами (фильтрами)
аналоговых блоков 1769 но только не в локальной rack, Я имел удаленную конфигурацию по DeviceNet.
Прежде всего имя документа по 1769-IF8 есть Publication 1769-IN067B-EN-P-September 2005.
На странице 3-17 последний TIP гласит интересующую тебя фразу.
Но не в этом дело.Если в RSLogix 500 посмотришь I/O Date Files, то для модуля в Output file
you can see only one integer word. Значит доступ к параметрам имеешь только при конфигурации.
Другое дело если возмешь процессор 1769-L35E и RSLogix5000, получишь в конфигурационной структуре
Local:[slot]:C.CH0HAlarmLimit, Local:[slot]:C.CH0LAlarmLimit и так далее по всем каналам.
Так что при этой конфигурации можешь имтеь доступ с PLC and any SCADA as well.
Не зная application я не берусь давать советы по количеству алармов, но по всем канонам нужно иметь 2 пары алармов
как минимум, а то и три (LoLoLo, LoLo, Lo, Hi, HiHi, HiHiHi).
И кто будет alarms provider, PLC or SCADA, это нужно решать по конкретному проекту и топологии.
Напоследок проинформирую, что у Rockwell в последней версии RSLogix5000(16) появились
две новые команды ALMD and ALMA, а RSLInx Enterprise CPR9 has property page with Alarm and Event tab with enable
alarms support and history checkbox. Это уже немного начинает напоминать IAS от Wonderware.
Спасибо за внимание.
Успехов в нашем нелегком деле коллеги. Good luck.
|
RS View 32 настроил так: во вкладке System\node выбрал «OPC server». В поле «name» выбираю OPC Elemer OPC Server. Type Local.
То есть с RS Linx забирать данные получается, а с Elemer OPC Server не получается ни строковые, ни аналоговые.
У меня еще вопрос. Каким образом можно передать теги из Elemer OPC Server в RS Linx? Может так я решу задачу?
|
Предыдущие результаты
Ещё результаты |
|
| |
|