This is topic Когда точно делается запрос in forum Работа в MS Windows (ODBC/DDE/OPC/NET) / Working under MS Windows at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/13/t/000033.html

Posted by Alexey (Участник № / Member № 386) on :
 
Я периодически посылаю данные в базу данных через интефейс ODBC.Для этого у меня есть специальные каналы "SQL_для вставки". Я изменяю их значения и посылаю в выход канала "SQL-выполнить" 0 (на входе у него всегда 1).Проходит некоторое время, и мне нужно сделать следующую подобную операцию, т.е присвоить каналам новые значения и послать на выход канала "SQL-выполнить" 0. Интервал времени может быть очень небольшой, возможно, 2 периода пересчета базы каналов (2х0.055 = 0.100 с).
Сущность вопроса: иногда (редко, но бывает), что одна серия значений каналов посылается два раза подряд, а другая не посылается (видно по базе данных). Я сделал вывод, что запрос к базе данных посылается не мгновенно после того как я послал на выход канала "SQL-выполнить" 0, а с задержкой (задержка большая, иногда (очень редко) больше 0.5 с). И получается, что на момент, когда делается запрос, значения каналов "SQL_для вставки" уже поменялись, и их предыдущие значения записаны не были. А это серйозная потеря данных.
Как вы можете объяснить эту ситуацию, т.е. прав ли я насчет задержки или этому может быть какое-то другое объяснение.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Причинами возникновения, описанной Вами ситуации, могут служить следующие:
1.Задержки в выполении запросов к самой базе данных. По опыту можно сказать, что у некоторых из них, например в Access, реакция в ответ на запрос может достигать сотен миллисекунд, что довольно много. (Отсутствие записей)
2.Рассинхронизация по времени канала, выполняющего запрос, и канала, управляющего выполнением запроса. Если мы в течении 2 циклов пересчета 1-го посылали ему на выход отличное значение, то будет выполнено 2 запроса. (Двойные записи)
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2