Страница 1 из 1
Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Чт дек 06, 2012 5:25 pm
LSA
Уважаемые коллеги,
Прошу направить меня в правильном направлении по составлению отчетов.
Есть Historian Server 2012 (yна SQL server 2008), InTouch 2012
Необходимо сделать двухчасовые отчеты для группы аналоговых тегов,
в Intouch-е сделал скрипты , к-е по времени записывают в файл Excel, подготовленный по форме отчета, внутренние переменные InTouch (одна переменная соответствует одному значению переменной IO в данное время (например значение переменной в 2 часа дня) .
Теперь осталось "достать" значения переменных (например той в 2 часа дня) из архива и приравнять к внутренним переменным.
Есть ли необходимость настраивать "Источник данных (ODBC)" ?
Есть ли необходимость настраивать BindList в Интаче?
Или может усложняю всё,и есть вариант по-проще?
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Чт дек 06, 2012 5:41 pm
Генератор зла
LSA писал(а):Или может усложняю всё,и есть вариант по-проще?
Ещё как. Для этого есть WorkBook от Historian Client.
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Чт дек 06, 2012 5:43 pm
LSA
Разве Historian Client не требует дополнительной лицензии?
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Чт дек 06, 2012 5:58 pm
Генератор зла
Каким образом это сказывается на
трудоёмкости создания отчёта?
А вот наличие Hist Client - сказывается
Вариант 2: компонент Query для MS Office Excel. Позволяет создавать и исполнять запросы к БД из книги Excel.
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Чт дек 06, 2012 7:16 pm
LSA
Historian Client то стоит (но там вроде Демо на 15 минут),
я так понял,что для того чтобы использовать компоненты Historian Client необходимо докупать лицензии?
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Чт дек 06, 2012 8:32 pm
Генератор зла
Да есть такая лицензия
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Чт дек 06, 2012 9:18 pm
LSA
так в чём делать мне отчеты-то, никаких лицензий докупать уже не будут...
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Чт дек 06, 2012 10:14 pm
Генератор зла
LSA писал(а):в Intouch-е сделал скрипты , к-е по времени записывают в файл Excel, подготовленный по форме отчета, внутренние переменные InTouch (одна переменная соответствует одному значению переменной IO в данное время (например значение переменной в 2 часа дня) .
LSA писал(а):Есть ли необходимость настраивать "Источник данных (ODBC)" ?
Есть ли необходимость настраивать BindList в Интаче?
Как пишите, так и читайте. Зачем ODBC&Bind List?
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Пт дек 07, 2012 1:22 am
skom
Более того, если Historian и InTouch на разных компьютерах, то для узла интача нужна клиентская лицензия (бумажная) для доступа к данным Historian.
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Пт дек 07, 2012 1:25 am
skom
Если на станции с InTouch есть Excel, я бы получал данные через встроенный в него VBA (я собственно так и делаю). То есть из формы отчёта по нажатию кнопки.
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Пт дек 07, 2012 6:05 pm
LSA
"через встроенный в него VBA (я собственно так и делаю)"
Не сочтите за наглость, можно привести пример запроса, а конкретно, соединение с SQL и запрос из Runtime. dbo. History
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Пт дек 07, 2012 6:23 pm
skom
Часов через 5-6 приведу пример, т.к. сейчас нет доступа к рабочему ноутбуку. Ждите.
Re: Данные из Historian 2012 в InTouch 2012 для отчетов
Добавлено:
Сб дек 08, 2012 2:06 am
skom
У меня это выглядит примерно так:
- Код: Выделить всё
Private cnnInSQL As ADODB.Connection
Private Const cConnectionString As String = "Provider=SQLOLEDB.1;Password=**********;Persist Security Info=False;" _
& "User ID=sa;Initial Catalog=Runtime;Data Source=***********;"
Private Sub _(TagName As String, TargetDate As String, RowNum As Integer, ColNum As Integer, UserFormat As String)
Dim rstInSQL As ADODB.Recordset
Dim cmdInSQL As ADODB.Command
Set cmdInSQL = New ADODB.Command
Set cmdInSQL.ActiveConnection = cnnInSQL
With cmdInSQL
.CommandText = "SELECT Value from _ WHERE tagname = '" & TagName & _
"' AND DateTime = '" & TargetDate & "'"
.CommandType = adCmdText
.Execute
End With
Set rstInSQL = New ADODB.Recordset
Set rstInSQL.ActiveConnection = cnnInSQL
rstInSQL.Open cmdInSQL
Cells(RowNum, ColNum) = rstInSQL.Fields("Value")
Range(Cells(RowNum, ColNum), Cells(RowNum, ColNum)).NumberFormat = UserFormat
Set cmdInSQL = Nothing
Set rstInSQL = Nothing
End Sub
Перед использованием ADO необходимо отметить соответствующие галочки в Tools > References.