Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Мониторы Реального Времени / Real Time Monitors » Отображение связи с сервером

   
Автор / Author Тема / Topic: Отображение связи с сервером
arkos
Forum Haunter / Завсегдатай форума
Участник № / Member № 6144


Icon 1 отправлено / posted      Профиль для / Profile for arkos           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте!
В нашем проекте (МРВ+(32000 ch) TM 6.08 )данные для отображения поступают из БД (My SQL Workbench 5.2 CE), находящейся на удаленном сервере по локальной сети. При разрыве связи с сервером нужно выводить сообщение об этом оператору. Привязали данное сообщение к атрибуту Достоверность канала Сall, вызывающего шаблон БД. При выключении сервера атрибут Достоверность не изменяется (даже через 600 с) проект продолжает работать, т. е. оператор не знает о том, что связь прервана. Пробовали привязывать атрибуты 52, 91, 120. Отсутствие связи с сервером они не отражают. Отображать сообщение о том, что нет связи с сервером нужно не позднее 10 с.

Есть ли разница в реализации этой задачи в Windows XP и Windows 7?

Сообщения / Posts 115 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
МРВ может зафиксировать отсутствие связи с БД только по возвращаемому ODBC-драйвером сообщении об ошибке исполнения транзакции.
Если признак недостоверности не выставляется, значит, ODBC-драйвер не возвращает соответствующий код ошибки.

Если не удастся настроить ODBC-драйвер соответствующим образом, можно попытаться периодически запрашивать у БД заведомо изменяющуюся переменную, по которой можно было бы судить о наличии связи.

Например, можно запросить у сервера текущее время.
Для SQL-сервера, начиная с версии 2008 г., есть такой оператор GETDATE ( ).

Встроенный в Trace Mode 6 SQL-интерфейс работает одинаково в Windows XP и Windows 7.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
arkos
Forum Haunter / Завсегдатай форума
Участник № / Member № 6144


Icon 1 отправлено / posted      Профиль для / Profile for arkos           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Для отработки Баз данных мы используем канал CALL.Move. При обрыве связи с Сервером канал CALL.Move прожолжает работать. В канале в который принимается данные (дата) остается все время последнее значение.Но ведь из БД (сервера) уже ничего не поступает, а в канале висит значение. Почему значение не обнуляется? Как можно обнулить канал?
Сообщения / Posts 115 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
"Почему значение не обнуляется?"
"Ноль" - это тоже вполне допустимое число. Обнуление аргументов канала не есть признак и необходимое следствие отсутствия связи с БД.

Признаком обнаружения отсутствия связи с БД является взведение атрибута ДОСТОВЕРНОСТЬ у канала вызова шаблона SQL-запроса или косвенный признак, как описано в предыдущем посте.

Непонятно, как Вы организуете обращение к БД с помощью канала MOVE.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
arkos
Forum Haunter / Завсегдатай форума
Участник № / Member № 6144


Icon 1 отправлено / posted      Профиль для / Profile for arkos           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Данные в БД обновляются раз в 1с, соответственно мы должны читать их с той же частотой. С помощью канала MOVE посылается 1 на вход всех шаблонов БД (хотя из-за объема мы все равно не принимаем данные с частотой 1с мин. 4 с). Возможно вы предложите другой вариант постоянного опрашивания БД.
Сообщения / Posts 115 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Мы не можем предложить более быстрый способ обмена с БД, поскольку динамика обмена определяется целиком возможностями ODBC-драйвера и СУБД.
Если драйвер не справляется и выдает ошибку, соответствующему каналу SQL-запроса выставляется признак недостоверности, который использоваться как при обработке, так и при отображении полученных данных.

Если стоит задача обработки и/или отображения данных из БД "на лету", то торможение безусловно будет иметь место.
Если Вас устроит считывание данных блоками, некими массивами последовательных записей, то, возможно, более редкое групповое считывание нескольких записей будет в конечном итоге более устойчивым. Об организации группового считывания столбцов и строк см. в Справочной системе.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
arkos
Forum Haunter / Завсегдатай форума
Участник № / Member № 6144


Icon 1 отправлено / posted      Профиль для / Profile for arkos           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Извините еще раз переспрошу: то есть если канал (CALL) отключить от источника данных , то он не обнулится, а будет хранить последний результат.
Сообщения / Posts 115 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Именно так.
Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
arkos
Forum Haunter / Завсегдатай форума
Участник № / Member № 6144


Icon 1 отправлено / posted      Профиль для / Profile for arkos           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Все данные из БД я получаю именно в CALL каналы (в том числе и дату). Как мне может пригодиться оператор GETDATE?
Сообщения / Posts 115 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Оператор GETDATE (текущее время SQL-сервера) можно записать в какой-нибудь аргумент динамику.
Если он меняется с ожидаемым периодом, значит связь с БД есть.
Если "застыл" - связи нет.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Баранов Вячеслав
Junior Member / Новичок
Участник № / Member № 6904


Icon 1 отправлено / posted      Профиль для / Profile for Баранов Вячеслав           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Тоже встал вопрос о выводе сообщения в ОТ при потере связи с сервером. Как я понял, необходимо мониторить атрибут 4 канала, и привязать его к соответствующему атрибуту 10-25 (биты канала hex16), а там уже в словаре прописать нужное сообщение. Так вот вопрос - как привязать атрибут 4 к атрибуту (10-25), или нужно идти каким-то другим путем?
Сообщения / Posts 22 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
"Потеря связи с БД" скажется одновременно на всех SQL-запросах к этому серверу. Поэтому достаточно мониторить только один CALL.SQL, который обращается к БД чаще других.
Если все-таки есть необходимость фиксировать устойчивость обмена по каждому SQL-запросу, надо "упаковывать" атрибуты 4 программно или использовать для пересылки канал CALL.MOVE.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2