MC Works 64でデータを見える化するとき、Historianのデータだけじゃなく、自前DBのデータも引っ張ってきたいときってあるよね。なくはないよね。
早速やってみよう。
自前DBのテーブル構成は以下のような感じ
Column | Data type | Primary key |
---|---|---|
id | bigint | ✔ |
A | int | |
B | int | |
C | int |
コマンドは以下。@param_idというパラメータに渡したidのものを検索するだけ、という単純なもの。
GraphWorXの画面は以下のようにしてみた。
検索ボタンを押すと、テキストボックスに入れたidで検索した結果をGridWorXViewerに表示する、という感じ。
テキストボックスの設定は以下。ローカル変数を割り当てている。
検索ボタンの設定は以下。検索ボタンを押したときにテキストボックスに割り当てられているローカル変数をグローバルエイリアスに放り込んでいる。
そしてGridWorXViewerの設定。DBコマンドのパラメータにグローバルエイリアスを設定している。
実行してみた結果が以下。テキストボックスに「2」を入れて、検索ボタンを押してみたら、id=2のデータをDBから取ってきている。
ポイントはGridWorXViewerに動的な値を渡すときにはグローバルエイリアスである必要があるということ。
ローカル変数であったり、デバイス値であったりは直接パラメータとしてGridWorXViewerに渡せない。
ので、少々面倒だが、グローバルエイリアスに変換してあげよう。
注:もしかしたら違うやり方があるのかもしれないし、今後渡せるようになるかもしれない)
[環境]
MC Works64 10.95.200.00
SQL Server 2017 Express