# ODBCデータベースにロギングする

マニュアル > カスタマイズガイド > サマリ > ロギング機能 > # ODBCデータベースにロギングする |

概要

本頁では、ODBCデータベースへのロギングについて解説します。

構築例として、Microsoft SQL Server2008のデータベースへのロギングを行います。

考え方：

•ODBCデータベースへのロギングを行う場合「サマリアクション（ODBC）」を使用します。

•データベース側のテーブルは自動的に生成されます。

尚、ここでの説明では、ロギングを行うサマリアクションを「A01」、サマリアクションを定期的に呼び出すイベントを「E01」として記述します。

また、以降の説明を簡潔にする意味で、ロギング対象とするタグは仮想デバイスを使用し、ロギング対象を設定するタグフィールドマスタは必要最低限の設定のみとします。

設定例

データベースの設定

ここでは、Microsoft SQL Server Management Studioを使用した例を紹介します。

オブジェクトエクスプローラーから「データベース」を右クリックし、「新しいデータベース」を選択し「TESTDB」というデータベースを作成します（※実際のデータベースの名前は実運用にあわせて作成してください）。

SQL Server側の準備は以上で完了です（※サマリアクションは実行時に必要なテーブルやフィールドを自動作成します）。

タグ設定

ロギング対象のタグとして、ここではPLCデバイスのかわりに仮想デバイスを使用します（実際にロギングするタグは実運用にあわせて定義してください）。

仮想デバイスユニットとして「U01」を作成し、その配下に、「U01.F01.SD0000」から「U01.F01.SD0999」の、連続した1000点のタグを作成します。

アクション設定

■サマリアクションのマスタ登録

サマリアクション（ODBC）として「A01」を追加し、タグフィールドマスターファイルにタグ（「SD0000」～「SD0999」）及びフィールド名（「T000」～「T999」）を登録します。尚、サマリアクションを開始すると、ここで指定したフィールド名がデータベース上のテーブルのフィールド名となります（※データベース側のテーブルおよびフィールドは自動的に生成されます）。

タグフィールドマスタに関する詳細は「タグフィールドマスタ」を参照してください。

（Excelでのタグフィールドマスタの編集例）

また、サマリマスタファイルに以下の記述を行ってください。

（サマリマスタの定義例）

[COMMON] DaysOfHoldingData=365 OdbcDatabaseType=SQLSERVER OdbcDateTimeFieldName=DTFLD OdbcDateTimeDataType=datetime PRIMARY KEY OdbcValueFieldName= OdbcValueDataType= float [TEST] TagFieldMaster=summary_fieldmaster_tag.csv TagFieldIndex=DB\summary_index_tag.txt OdbcTable=TESTTABLE OdbcMaxFields=250

サマリマスタに関する詳細は「サマリマスタ」を参照してください。

| フィールド名やテーブル名にSQLの予約語（「DATE」など）を使用することはできません。上記の「OdbcDateTimeFieldName」に設定するフィールド名についても、SQLの予約語に該当しない名称を指定してください。

■サマリアクションのODBC設定

先ほど作成したデータベースに接続するための「ODBC設定」を行います。

以下の画面設定例を参考にしてください。

１） | ２）
３） | ４）
５） | ６）
※上記は一例です。 |
７） | ８）
※ここでは「SUMMARYSAMPLE」と指定しています。 |
９） | １０）
※「TESTDB」を選択します。 |
１１） | １２）
※必要に応じてデータベースへログインするためのユーザーとパスワードを指定します。 | 設定が完了し、データソースが選択されました。

イベント設定

サマリアクション「A01」を呼び出すための定周期イベント「E01」を作成してください。

ここでは、周期を１０秒とし、実行アクションに「A01」を指定します

解説

サマリアクションを実行すると下記のテーブルやフィールド名が自動的に作成された後、ロギングが開始されます。既にテーブルやフィールドが作成されている場合は即座にロギングが開始されます。

テーブル名 | フィールド
TESTTABLE1 | T000～T249
TESTTABLE2 | T250～T499
TESTTABLE3 | T500～T749
TESTTABLE4 | T750～T999

サマリマスタで指定した最大フィールド数（OdbcMaxFields=250）に従い、自動的にテーブルが分割されて生成されます。分割の際には、「OdbcTable=TESTTABLE」で指定したテーブル名の後に連番が自動的に付加されます。自動分割を行わない場合は「OdbcMaxFields=250」の行を削除して下さい（その場合、全てのデータが１つのテーブルに格納され、テーブル名に連番は付加されません）。