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

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 5 » Работа в MS Windows (ODBC/DDE/OPC/NET) / Working under MS Windows » Определение факта приема данных

   
Автор / Author Тема / Topic: Определение факта приема данных
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119


Icon 5 отправлено / posted      Профиль для / Profile for Kramarenko Stanislav           Редактировать/удалить сообщение / Edit/Delete Post 
Как точно определить факт приема данных из внешнего источника?

Требуется выполнить последовательность:
1. Запросить данные (в частности из БД по SQL)
2. Удостоверится, что данные пришли (даже если они не изменились)
3. Передать другому узлу ТМ
1'. Запросить данные из тех же полей, но с другим WHERE
2'. Удостовериться, что пришли
3'. Передать
и т.д.

Сообщения / Posts 337 | Из / From: Russia  |  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 
По пункту №2 рекомендую создать канал ПУСТОЙ_SQL-выполнить, только типа INPUT. И если после выполнения запроса этот канал остался равным нулю, значит запрос прошел успешно.
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119


Icon 1 отправлено / posted      Профиль для / Profile for Kramarenko Stanislav           Редактировать/удалить сообщение / Edit/Delete Post 
Это я догадался.
Ладно, с SQL я придумал.

При SELECT можно обнулять поле, по которому задается WHERE и после запроса по равенству этого поля заданному в запросе значению судить о приходе данных.

При UPDATE же: завести заранее в базе поле счетчика для каждой записи и увеличивать его при каждой транзакции, затем считывать и сверять с переданным.

Других способов не вижу.

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


Icon 1 отправлено / posted      Профиль для / Profile for Kramarenko Stanislav           Редактировать/удалить сообщение / Edit/Delete Post 
В любом случае, для всех протоколов нужен признак обновления данных, независимо от изменения величин.

Иначе невозможно эффективно стороить логические последовательности, связанные с обработкой аналоговых сигналов - неизвестно какие данные обрабатываются старые или новые.
Например, если они старые, то дальше алгоритм не должен выполняться, а должен либо инициировать обновление, либо выдать ошибку о том, что данные не изменились, хотя должны были. А щас приходится работать на таймаутах, что абсолютно не годится, т.к. например задержки при передаче по сети могут быть очень разными.

Я вижу это как вечнорастущий счетчик в каждом канале, естественно с обнулением при переполнении. Достаточно большой, чтобы даже медленные каналы, пересчитываемые через несколько циклов (а то и часов) могли определить его изменение - в идеале 32 разрядный - хватит на всё.

Сообщения / Posts 337 | Из / From: Russia  |  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 
Лучше по флагу "Отработать" смотреть.
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

   Закрыть тему / 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