データベースへのロギング

<< Click to Display Table of Contents >>

トレーニング > 応用編 > ロギング機能 >

データベースへのロギング

データベースへのロギングの作成

ここでは、定周期イベントを利用して、データベースへの1秒周期でのロギングを行います。仮想デバイスの特殊レジスタ(SD) 及び 特殊リレー(SM)の値を、SQL Serverで作成したデータベース上のテーブルに対してODBC経由でロギングを行います。

 

ログのフォーマット(テーブル)は以下のようなイメージになります。

 

F01

SD0000

SD0001

SM0006

SM0007

2016/9/9 20:50:00

12

1

0

1

2016/9/9 20:50:01

22

25

1

0

2016/9/9 20:50:02

57

165

1

1

・・・

・・・

・・・

・・・

・・・

 

準備作業(タグ登録)

まずは、Panel Serverで設定ファイルを新規作成し、ロギング対象とするタグを登録して下さい。

 

1.Panel Serverにタグを登録します。
Panel Serverを起動し、以下のような仮想デバイスとタグを追加してください。
 
ユニット名: “U01” ・・・仮想デバイス
フォルダ名: “F01”
 
登録するタグ:

タグ

デバイス種別

備考

“SD0000”,”SD0001”

SD(特殊レジスタ)

2点のタグを作成する

"SM0006","SM0007"

SM(特殊リレー)

2点のタグを作成する

 

2.設定ファイルを保存します。
タグの登録が終わったら、サーバ側の設定ファイルを一旦保存します。以降の作業でも、引き続きこの設定ファイルを使って作業を行います。
 
 

3.SQL Serverデータベースを作成する
SQL Serverで新規データベースを作成し、ロギングを行うテーブルを作成します。各名称は任意ですが、ここでは以下の設定に合わせて作成します。
 

項目

備考

データベース名

TRAINING

テーブル名

LOGTABLE
 
テーブルレイアウト
tra_0523
 
“F01”、“SD0000”など、テーブルレイアウトはログ設定のフィールド名と合わせる必要があります。また、フィールドのデータ型も、ログに書き込まれるデータの型に合わせて設定する必要があります。

 

 

 

hint

接続するSQL Serverへ接続可能なODBCドライバーがインストールされている必要があります。事前にご確認下さい。

 

ロガーアクションの設定

タグを登録したら、ロガーアクションの設定を行います。ロガーアクションの設定では、ログ出力するデータベースの設定(ODBCの設定)、ログデータ項目とするフィールドの定義を行います。

 

1.ロガーアクションを追加する
Panel Serverのツリーから、Actionを右クリックしてメニューを表示し、追加/アクションを選択します。
tra_0479
 
アクションの追加ダイアログが表示されるので、「ロガー(ODBC)」を選択してOKボタンをクリックします。
tra_0524
 
 

2.時刻フィールドを追加する
ツリーからA01を右クリックしてメニューを表示し、追加/時刻フィールドを選択します。
tra_0483
 
A01に、F01フィールドが追加されました
tra_0484
 

3.タグフィールドを追加する
これまでの手順と同様に、Multiviewからドラッグ&ドロップにより一括登録します。但し、ログフィールドの名称はデータベース側に設定したフィールド名称と同じにする必要があるので注意が必要です。
tra_0526
 
ドロップすると、タグフィールド連続追加のダイアログが表示されます。このままの設定で「次へ」をクリックします。
tra_0527
 
フィールド名の作成方法を指定します。ここでは、このままの設定で「完了」をクリックします(※フィールド名は後から変更します)。
tra_0528
 
フィールドが追加されました。ここで、自動生成されたフィールド名を、データベースに設定したフィールド名と同じ内容に変更します。
“U01_F01_SD0000”などを、“SD0000”に変更します。全てフィールド名を変更すると以下の形になります。
tra_0529
 

 

hint

複数のフィールドのプロパティを連続的に変更したい場合には、適用ボタンによって変更を適用することにより、ダイアログを表示したままで、次のフィールドの設定を連続的に変更することができます(プロパティダイアログを表示したままで、Multiviewから対象を再度選択します)。OKボタンによる確定操作は、その都度ダイアログが閉じてしまうため、連続作業を行う上で非効率です。

 

4.ロガーアクションのODBC設定を行う
データベースとのODBC接続設定は、ロガーアクションのプロパティから設定します。
A01アクションのプロパティを表示し、ODBCタブを表示します。画面からデータソース名の「...」ボタンをクリックします。
tra_0530
 
ODBC設定画面が表示されるので、「選択」ボタンをクリックします。
tra_0531
 
データソースの選択ダイアログが表示されるので、新規作成ボタンをクリックします。
tra_0532
 
データソースの新規作成ダイアログが表示されるので、次へをクリックします。
tra_0533
 
接続するデータベースに合わせて、セットアップするドライバを選択します。ここでは「SQL Server」を選択して次へをクリックします。SQL Serverへ接続する為のODBCドライバがインストールされていない場合、設定前にインストールして下さい。
tra_0534
 
完了ボタンをクリックします。
tra_0535
 
次に表示される画面から、データソース名を入力します(ここでは“LOGDB”と入力します)。また、SQL Serverが稼働するPCのホスト名かIPアドレスを指定します。次へボタンをクリックします。
tra_0536
 
データベースへ接続する為のユーザパスワードを設定します。設定後、次へをクリックします。
tra_0537
 
デフォルトデータベースを選択します。設定後、次へをクリックします。
tra_0538
 
完了ボタンをクリックします。
tra_0539
 
確認画面が表示されるので、「Test...」ボタンをクリックして接続を確認します。「... SUCCESSFULLY!」が表示されたら、接続可能状態です。「OK」ボタンで設定を保存します。
tra_0540
 
データソースの選択ダイアログに新たに追加したデータソースが表示されたのを確認し、OKボタンをクリックしてダイアログを閉じます。
tra_0541
 
表示がアクションのプロパティ画面に戻ります。ロギングするテーブル名に先ほど設定したテーブルが設定されていることを確認し、テーブルを選択ボタンをクリックします。
SQL Serverへのログイン確認が表示された場合、ID/Passwordを入力してOKをクリックします。
tra_0542
 
tra_0543
 
ロギングを行う対象のテーブルを選択して、OKボタンをクリックしてダイアログを閉じます。
tra_0544
 
選択したテーブル名が設定されていることを確認し、OKボタンをクリックしてダイアログを閉じます。
tra_0545
 

 

 

 
 

イベントの設定

次に、イベントの設定を行います。一秒ごとに発生する定周期イベントを作成し、先ほど設定したロガーアクションの呼び出しを定義します。

 

1.定周期イベントを追加する
Panel ServerのツリーからEventを右クリックしてメニューを表示し、追加/定周期イベントを選択します。
tra_0489
 
新たに“E01”というイベントが追加されました
tra_0490

 

 

2.イベントのプロパティを設定します。
Multiviewから“E01”を右クリックしてメニューを表示し、プロパティを表示します。
 
定周期イベントタブを開き、設定が1秒になっていることを確認します(デフォルトが1秒です)。
tra_0491
 
実行アクションタブを開き、アクション名のコンボボックスから先ほど設定した“A01”アクションを選び、追加ボタンをクリックします。
tra_0492
 
追加ボタンをクリックすると、リストに登録されます。
tra_0493
 
これで、“E01”というイベントが1秒周期で発生する度に、“A01”というロガーアクションが実行されます。OKボタンをクリックしてプロパティ画面を閉じ、設定ファイルを保存してください。
 
以上で設定は完了です。

 

 

 


 
動作確認

 

1.Panel Serverをオンライン状態にします(黄色矢印)。
 
tra_0494
 
Multiviewにアクションを表示してみて下さい。「完了/要求」の値が1秒周期でカウントアップされていれば、定周期イベントに応じてアクションが正しく実行されています。
tra_0547
 

2.次に、ロギングによってデータベースにログが生成されていることを確認します。
データベースからLOGTABLEのデータを確認します。
 
LOGTABLEのデータ確認結果例:
tra_0546

 

3.動作確認が終わったら、Panel Serverをオフラインに戻します。
 
tra_0497