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

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 5 » Архивирование в TRACE MODE / Data Logging in Trace Mode » Запись времени в базу ODBC

   
Автор / Author Тема / Topic: Запись времени в базу ODBC
Alexey
Junior Member / Новичок
Участник № / Member № 386


Icon 1 отправлено / posted      Профиль для / Profile for Alexey           Редактировать/удалить сообщение / Edit/Delete Post 
Можно ли записать дату и время в базу ODBC, т.е. сформировать запрос типа "INSERT INTO MYTABLE (TIMESTAMP) VALUES({ts '####-##-## ##:##:##'})" и чтобы вместо символов # подставлялись значения каналов? Можно ли это сделать каким-либо другим способом?
Сообщения / Posts 15 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 3 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
На данный момент есть два варианта:
1) Создать каналы типа день, месяц, год, час, секунда, минута (из FBD посылать в них соответствующие значения астрономических часов) и такие же поля в таблице, куда помещать значения этих каналов. Сформировать потом из этих данных полное время в СУБД - не проблема.
2) Создать в таблице поле - тип "дата" и в качестве настроек начального значения для него задать функцию, которая возвращает значение текущего времени (по крайней мере в MS Access это сделать можно). Канал для этого поля в ТМ создавать не нужно. Таким образом, когда Вы будете вставлять в такую таблицу новую запись или модифицировать уже существующую из ТМ через SQL-запрос, СУБД не найдя источника для этого поля отработает скрипт заданный для этого поля по умолчанию, т.е. поместит туда текущее время.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Alexey
Junior Member / Новичок
Участник № / Member № 386


Icon 1 отправлено / posted      Профиль для / Profile for Alexey           Редактировать/удалить сообщение / Edit/Delete Post 
Спасибо, что так быстро и полно ответили на вопрос
Сообщения / Posts 15 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Tag
Forum Member / Участник форума
Участник № / Member № 34


Icon 1 отправлено / posted      Профиль для / Profile for Tag           Редактировать/удалить сообщение / Edit/Delete Post 
Что есть тип ДАТА или ВРЕМЯ? Это число с плавающей точкой, где целая часть - число дней c 1 января 100 г. (для продуктов Microsoft), а дробная часть - доля суток с 0 часов (12 дня соответствует 0.5)

Можно написал FBD, "упаковывающую" дату и время в число описанного выше формата. Такое число можно писать напрямую в поля БД с типом ДАТА или ВРЕМЯ либо передавать в ячейки Excel.

Правда есть одно "но": формат ДАТА-ВРЕМЯ занимает 8 байт, а канал ТМ5 - 4 байта, поэтому неудасться писать одним каналом полную метку времени, содержащую и дату и время. Приходится одним каналом писать дату, вторым - время. Соответсвенно должны быть 2 поля БД - одно для даты, другое для времени

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

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