Форум 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 » Работа с приложениями (ODBC-SQL/OPC/DDE) » Запись данных в БД с заданной периодичностью

   
Автор / Author Тема / Topic: Запись данных в БД с заданной периодичностью
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день! Создаю программу, которая пишет данные с датчиков в БД MS SQL. По нажатию кнопки данные пишутся нормально. Но не могу понять, как писать эти данные автоматически, скажем, каждые 5 секунд.
И вообще, как можно выполнять какое-то действие через заданные интервалы времени?

Сообщения / Posts 45 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Способы организации периодичности исполнения каких-либо действий существенно зависят от механизмов реализации этих действий.

В частности, для организации периодической записи в БД, надо в канал CALL_SQL периодически подавать номер SQL-запроса, реализуемого этим каналом. Посылать этот номер в канал можно либо программно, либо с помощью каналов CALL_MOVE или CALL_Set (задав им соответствующие периоды обработки).
Надо при этом учитывать, что период посылки должен быть больше времени реализации SQL-запроса (после завершения запроса значение канала CALL_SQL сбрасывается).

Сообщения / Posts 17321 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
С помощью каналов пока не получается, а программно как именно?
Сообщения / Posts 45 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В программе должна быть всего 1 строка присвоения целочисленноу аргументу (OUT) значения, равного номеру запроса.
Аргумент программы должен быть связан с атрибутом ВХОД канала CALL_SQL.
Период обработки CALL_Program должен быть задан, например, 5 сек. Это при условии, что запрос в течение 5 секунд будет выполнен.

Именно такую функцию и выполнят для Вас каналы CALL_MOVE или CALL_Set.

Сообщения / Posts 17321 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо! Удобней всего получается при использовании канала типа Move.

Сделал:
1. Создаем канал CALL
2. Выставляем:
Тип вызова: Move
Период: 5 сек
3. В аргументах создаем:

Переменная "Номер_запроса" IN REAL зн-е по умолчанию=1 (1- номер SQL запроса на запись). Привязки нет.

Переменная "Команда_на_запись" OUT REAL.
"Команда_на_запись" привязана на База_данных:Входное значение.

Все, теперь каждые 5 сек идет запись в БД.

Сообщения / Posts 45 | Из / From: Ukraine  |  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



Powered by Infopop Corporation
UBB.classic™ 6.7.2