<< Click to Display Table of Contents >> マニュアル > サーバ作成ガイド > アクション編 > アクションリファレンス > サマリアクション(ロギング/集計/日報) > ODBCデータベースを使用したロギング/集計 |
概要
サマリアクションのロギング・集計機能は、CSVファイルのほか、ODBCデータベースにも対応可能です。
ODBCデータベースへのロギングを行う場合は、「サマリ(ODBC)」アクションを使用してください。
(アクション一覧からの選択)
尚、サマリ(ODBC)では、データベース側のテーブルは自動的に生成される仕組みとなっています。従って、データベースとして必要な準備としては、接続先のデータベースの領域を用意し、ODBCデータソースの定義を行うのみでOKです。
以下に、サマリアクションによるロギングを例として、設定例を紹介します。
設定例
データベースの設定
この例では、Microsoft SQL Server 2017を使用し、Microsoft SQL Server Management Studioを用いた設定例を紹介します。
SQLServer側の設定としては、Management Studioの画面から、サマリアクション用のデータベースを作成してください。
SQL Server側の準備は以上です。必要なテーブルやフィールドは、サマリアクションによって自動的に作成されます。
※実際のデータベースの名前は実運用にあわせて作成してください。
タグ設定
ロギング対象のタグとして、ここではPLCデバイスのかわりに仮想デバイスを使用します(実際にロギングするタグは実運用にあわせて定義してください)。
例として、仮想デバイスユニットとして「U01」を作成し、その配下に、「U01.F01.SD0000」から「U01.F01.SD0999」の、連続した1000点のタグを作成します。
アクションの設定
■サマリアクションのマスタ登録
サマリアクション(ODBC)として「A01」を追加し、タグフィールドマスターファイルにタグ(「SD0000」~「SD0999」)及びフィールド名(「T000」~「T999」)を登録します。尚、サマリアクションを開始すると、ここで指定したフィールド名がデータベース上のテーブルのフィールド名となります(※データベース側のテーブルおよびフィールドは自動的に生成されます)。
タグフィールドマスタに関する詳細は「タグフィールドマスタ」を参照してください。
(Excelでのタグフィールドマスタの編集例)
また、サマリマスタファイルに以下の記述を行います。
(サマリマスタの定義例)
[COMMON] DaysOfHoldingData=365 OdbcDatabaseType=SQLSERVER
[TEST] TagFieldMaster=summary_fieldmaster_tag.csv TagFieldIndex=DB\summary_index_tag.txt OdbcTable=TESTTABLE OdbcMaxFields=250
|
尚、上記はロギングを行う際の定義例です。サマリマスタに定義するパラメータのうち、接頭辞が「Odbc」となっているパラメータは、データベースに接続用のパラメータです。サマリマスタの設定に関する詳細は、「サマリマスタ」を参照してください。
上記のうち、OdbcTableで指定した名称がテーブル名となります。又、ロギングの対象とするフィールドの数がOdbcMaxFieldsで指定した列数を超えるような場合は、テーブルは自動的に分割されます(その場合は、テーブル名の末尾に自動的に連番が付与されます)。
フィールド名やテーブル名にSQLの予約語(「DATE」など)を使用することはできません。 |
■サマリアクションのODBC設定
データベースに接続するための「ODBC設定」を行います。
ODBC接続の設定は、アクションの設定ダイアログのODBC設定タブから行います。
ここで指定するデータソースの設定では、DBMS側であらかじめ用意しておいたデータベース名を指定するようにしてください。
ODBCデータソースの設定に関する詳細は、「ODBC設定」を参照してください。
イベントの設定
サマリアクション「A01」を呼び出すためのイベントを作成してください。
この例では、10秒周期の定周期イベントとして「E01」を作成し、実行アクションに「A01」を指定します
解説
サマリアクションを実行すると以下のテーブルやフィールド名が自動的に作成された後、ロギングが開始されます。既にテーブルやフィールドが作成されている場合は即座にロギングが開始されます。
テーブル名 |
フィールド |
TESTTABLE1 |
T000~T249 |
TESTTABLE2 |
T250~T499 |
TESTTABLE3 |
T500~T749 |
TESTTABLE4 |
T750~T999 |
サマリマスタで指定した最大フィールド数(OdbcMaxFields=250)に従い、自動的にテーブルが分割されて生成されます。分割の際には、「OdbcTable=TESTTABLE」で指定したテーブル名の後に連番が自動的に付加されます。自動分割を行わない場合は「OdbcMaxFields=250」の行を削除して下さい(その場合、全てのデータが1つのテーブルに格納され、テーブル名に連番は付加されません)。