| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
zxigan Новичок


Зарегистрирован: Apr 30, 2010 Сообщения: 6 Рейтинг: +0/-0
|
Добавлено: Сб 01 Май, 2010 9:25:09 Заголовок сообщения: RSView32: AlarmBanner? |
|
|
Добрый день и с праздником 1мая!
Извиняюсь за возможно дурацкий вопрос, но:
| Цитата: | system\AlarmBanner
Строковый
Самый последний, самый опасный сигнал тревоги. Если возникает сигнал тревоги с равным или более высоким уровнем опасности, он замещает первый сигнал тревоги, даже если первый сигнал тревоги не был подтвержден. |
А как правильно и проще всего получить предпоследний сигнал тревоги?
Дело в том, что хотелось бы всегда видеть 3-4 последних аларма.
alarmsummary не выход.
Спасибо! |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Сб 01 Май, 2010 15:40:34 Заголовок сообщения: |
|
|
А чем Вам не нравится Alarm Summary? _________________ Обращайтесь к профессионалам. |
|
| Вернуться к началу |
|
 |
zxigan Новичок


Зарегистрирован: Apr 30, 2010 Сообщения: 6 Рейтинг: +0/-0
|
Добавлено: Сб 01 Май, 2010 17:49:36 Заголовок сообщения: |
|
|
.. ну хорошо, хоть кнопки убрать можно... но вот заголовки и скроллбар на главном экране не нужны.
алсо, если вы отвечаете вопросом на вопрос то?
1. я плохо сформулировал вопрос
2. очень много вариантов, но ни в один не хочется верить...  |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Вс 02 Май, 2010 7:54:10 Заголовок сообщения: |
|
|
Обычно функциональность Alarm Summary и Alarm Banner устраивает большинство пользователей. Но если Вам она не подходит, то можно написать код в VBA, который открывает Alarm Log File и показывает то и так, что и как захочется. _________________ Обращайтесь к профессионалам. |
|
| Вернуться к началу |
|
 |
zxigan Новичок


Зарегистрирован: Apr 30, 2010 Сообщения: 6 Рейтинг: +0/-0
|
Добавлено: Вт 04 Май, 2010 14:27:26 Заголовок сообщения: |
|
|
| понятно. к сожалению в VBA я пока очень не силен. Документ "получение результатов .. скриптинг" ничего насчет алармов не прояснил. Не могли бы вы подсказать каким способом на VBA можно получить последнее сообщение об аварии, и последнее -1 тоже. (если это возможно 4-5 строками кода, иначе черт с ними) |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Вт 04 Май, 2010 18:12:12 Заголовок сообщения: |
|
|
Файл Alarm Log ведётся в известном формате .dbf.
В VBA можно написать ActiveX, который открывает последний по дате-времени файл Alrm Log, вынимает нужные поля нужных записей и показывает в нужной форме на экране. Я писал такие вещи для RSView32 лет эдак 10-11 назад. _________________ Обращайтесь к профессионалам. |
|
| Вернуться к началу |
|
 |
s60 Эксперт


Зарегистрирован: Aug 17, 2007 Сообщения: 157 Рейтинг: +2/-0 Откуда: СПб
|
Добавлено: Пт 07 Май, 2010 18:50:50 Заголовок сообщения: |
|
|
ActiveX на VBA не сделать, сделать на VB. Но я считаю ActiveX это геморррр (до сих пор не могу заставить работать LogViewer на ADS клиенте )
Я делал связку RSView-VBA+MS-SQL, делал через ADO - ключевые слова для поиска VBA-ADO-ODBC, найдется очень хорошая толковая инфа как это блюдо готовить...
на картинке показано как добавить ADO в VBA :
Для доступа к содержимому БД надо знать имя БД, имена таблиц, имена полей, пользователя/пароль...
привожу кусок кода доступа к БД MS SQL из VBA
| Код: |
Attribute VB_Name = "DB"
Public connect As New ADODB.Connection
Public recset_report As New ADODB.Recordset
Public recset_XO As New ADODB.Recordset
Public recset_GO As New ADODB.Recordset
Public recset_ustavki As New ADODB.Recordset
' привет :)
Sub Check_motor_number()
' проверяем: нет ли такой же записи в базе
Dim message As String
Dim ADOErr As ADODB.Error
On Error GoTo Error_handler ' при отсутствии связи с SQL базой переход на обработчик ошибок
lb_Retry:
'connect.Open ("Provider=MSDASQL.1;Persist Security Info=False;User ID=Administrator;Data Source=RSdata;Mode=ReadWrite;Initial Catalog=RSViewBase")
connect.Open ("Provider=MSDASQL.1;Persist Security Info=False;Data Source=SQL_SRV-01;Mode=ReadWrite;Initial Catalog=RSViewBase")
'--- recset_report ---
recset_report.CursorType = adOpenKeyset
recset_report.LockType = adLockOptimistic
recset_report.Open " select * from ymz_report Where motor_number = " & gTagDb.GetTag("YMZ_tags\motor_number").Value & _
" AND step <> -1 ORDER BY date_time", connect
If recset_report.RecordCount <> 0 Then
recset_report.MoveLast
End If
' --- если двигатель в базе ---------------------------------------------------------
If recset_report.RecordCount <> 0 Then
... тут уж далее по смыслу
|
С *.dbf полагаю принцип тот же...
В AlarmSummary можно давать свои названия столбцам - дайте пробел или пусто. Убрали кнопки - "квитировать строку", "квитировать все"
Видеть три последних - а остальные не интересуют? |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пт 07 Май, 2010 19:46:20 Заголовок сообщения: |
|
|
Да, Вы правы, конечно на VB, а не на VBA. _________________ Обращайтесь к профессионалам. |
|
| Вернуться к началу |
|
 |
zxigan Новичок


Зарегистрирован: Apr 30, 2010 Сообщения: 6 Рейтинг: +0/-0
|
Добавлено: Чт 13 Май, 2010 17:13:36 Заголовок сообщения: |
|
|
оп. спасибо s60 и всем. страницу сохраню, но:
-- чем больше кода, тем больше глюков
-- жалко ресурсов системы.
а вообще когда вызываю/закрываю экран, где только один alarm summary, вся система подвисает на 1.5 - 2.5 сек. так ведь не должно быть? |
|
| Вернуться к началу |
|
 |
s60 Эксперт


Зарегистрирован: Aug 17, 2007 Сообщения: 157 Рейтинг: +2/-0 Откуда: СПб
|
Добавлено: Пт 14 Май, 2010 6:48:49 Заголовок сообщения: |
|
|
| zxigan писал(а): |
-- чем больше кода, тем больше глюков
|
с таким подходом надо отказаться от ПК и поставить бабку с флажком...
| zxigan писал(а): |
-- жалко ресурсов системы. |
помилуйте, батенька, у RSView32 по современным меркам микроскопические требования к железу (сравните с WinCC ) а-ля Pentium 3 и 256 оперативки . а щас ПК идут с двухядерными 2ГГц процами с 4 метровым кэшем , 2 гига оперативки и 250 гигов винт
| zxigan писал(а): |
а вообще когда вызываю/закрываю экран, где только один alarm summary, вся система подвисает на 1.5 - 2.5 сек. так ведь не должно быть? |
так не должно быть, у меня даж на виртуалке такого нету... |
|
| Вернуться к началу |
|
 |
|