データ連携方法


ここではダッシュボードの「デバイス管理」で登録したCONPROSYSデバイスとのデータ連携方法、「クエリ」で作成したクエリの実行、結果の取得方法を説明します。


HMI Editorの「表示」メニューから「デバイスツリー」を表示すると、データベースに登録されたデバイスやクエリの一覧が表示されます。

デバイスツリーに表示される内容は以下の通りです。

カテゴリ グループ 説明
dt

dtカテゴリ以下には、登録されたCONPROSYSデバイスと、shareグループが表示されます。

これらのグループを選択すると、右側のパネルに使用可能なアイテムの一覧が表示されます。

share

shareグループには、同じプロジェクト内のページ間で共通して利用できるアイテムを自由に登録できます。

dt:share:<任意のアイテム名>をリンクして、値を出力すると新規にアイテムが登録されます。

デバイスID.クラウドキー

登録したCONPROSYSデバイスは、デバイスID + "." + クラウドキーの形式で表示されます。

デバイスIDは、デバイス登録時に設定されたものが表示されます。

クラウドキーは、CONPROSYSデバイスの接続先PLCの設定で登録されたCloudKeyです。

リスト内の各項目をクリックすると、現在値のビット値が16bitまたは32bit形式で下部に表示されます。


新しいデバイスの登録は、ダッシュボードメニューの「デバイス管理」から行います。


CONPROSYSデバイスの設定方法は、デバイス設定手順を参照してください。

タグとデバイス・ツリーの変数との関係は、こちらを参照してください。

デバイスID

ここではデバイス毎の固有の変数とデバイスデータを利用できるユーザ権限の情報が表示されます。

デバイスIDは、デバイス登録時に設定されたものが表示されます。

変数の一覧はデバイス・アラーム予約変数を参照ください。


操作グループや操作ユーザで有効に設定されているユーザのみ、このデバイスのデータを利用できます。

ただし「クエリ」を経由してデータを取得する場合と、shareグループについては、権限の対象外となります。


新しいデバイスの登録や権限の変更は、ダッシュボードメニューの「デバイス管理」から行います。


db

dbカテゴリ以下には、登録されたクエリが表示されます。

これらを選択すると、右側のパネルにクエリの実行方法に関する設定と、使用可能なアイテムの一覧が表示されます。


クエリの作成方法は、「クエリの一覧」を参照してください。

クエリで利用するデータベース テーブルの作成方法は、「テーブルの一覧」を参照してください。

クエリID 登録したクエリのクエリIDが表示されます。


クエリの利用方法


デバイスツリーでクエリを選択すると、以下の画面が表示されます。

上部には選択したクエリの種類と、自動実行を行うための設定が表示されます。


□ ページ読み込み時にクエリを自動実行

有効にすると、作成したページを読み込んだ時にクエリを一度実行します。


□ 定期的にクエリを実行

有効にすると、クエリを指定した実行間隔で実行します。

注:ブラウザ上でページを開いていない場合には、クエリは実行されません。


クエリのアイテムについて

表示されるアイテムや使い方は、クエリの種類によって異なります。各クエリの種類によって表示されるアイテムと、その内容を説明します。


■ 共通アイテム

アイテム名アクセス説明
Run Read/Write

0以外の値を書き込むと、クエリを実行します。クエリの実行が完了すると、Runの値は0になります。

例)db:query1:Run 「ボタン」「スイッチ」コントロールのイベント出力にリンクすると、コントロールのクリック時にクエリが実行されます。

Status Read only

クエリの実行状態を取得できます。

「OK」は正常に実行が完了、「Running」は実行中であることを示します。

その他の場合は、クエリの実行エラーとなります。

例)db:query1:Status

Time Read only

クエリが実行された時間を取得できます。値は、1970/1/1からの経過時間(ms)です。

ラベルコントロールの詳細プロパティを用いて、必要な時間形式で画面に表示させることができます。

例)db:query1:Time


■ 「取得」クエリ用のアイテム

アイテム名アクセス説明
Offset Write Only

クエリを実行時、このアイテムで指定した行から後のデータを取得します。

デフォルト値は0で、0以上の数値を指定する必要があります。

例)db:query1:Offset

Limit Write Only

クエリを実行時、結果にこのアイテムで指定した行数以上のデータがある場合、取得するデータの行数を制限します。

デフォルト値は2000です。

例)db:query1:Limit

NumTotal Read Only

クエリ実行結果の行数を取得するアイテムです。

例)db:query1:NumTotal

Row### Read Only

指定した行のデータを取得するアイテムです。

###には0~NumTotalの間の数値を指定することができます。

指定した行に複数のフィールドがある場合、値は配列に格納されます。配列に対応していないコントロールのプロパティにリンクした場合、最後の値が使用されます。

例)db:query1:Row0

Row###.フィールド名 Read Only

指定した行の、指定したフィールドのデータを取得するアイテムです。

###には0以上、取得された行数未満の数値を指定することができます。

フィールド名には、クエリ設定の「出力データ」で追加したフィールドを指定することができます。

例)db:query1:Row0.field_1

フィールド名 Read Only

指定したフィールドのデータを取得するアイテムです。

フィールド名には、クエリ設定の「出力データ」で追加したフィールドを指定することができます。

指定したフィールドに値がある場合、値は配列に格納されます。配列に対応していないコントロールのプロパティにリンクした場合、最後の値が使用されます。

例)db:query1:field_1

Row[キーフィールドの値] Read Only

指定したキーフィールドの値を用いてデータを取得するアイテムです。

キーフィールドの値が指定した値と一致した行を取得できます。

指定した行に複数のフィールドがある場合、値は配列に格納されます。配列に対応していないコントロールのプロパティにリンクした場合、最後の値が使用されます。

例)以下のテーブルで、キーフィールドが"Name"に設定されている場合

db:query1:Row[John]を指定すると、配列の["John", 38, "man"]が取得できます。

NameAgegender
John38man
Mary4woman
Row[キーフィールドの値].フィールド名 Read Only

指定したキーフィールドの値とフィールド名を用いてデータを取得するアイテムです。

キーフィールドの値が指定した値と一致した行の、指定したフィールド名の値を取得できます。

例)上記のテーブルで、db:query1:Row[John].Ageを指定すると、38が取得できます。


■ 「更新」「追加」クエリ用のアイテム

アイテム名アクセス説明
Row Write Only

1行分のデータを書き込むためのアイテムです。

クエリ設定の「書込みデータ」で追加したフィールドが複数ある場合、カンマ区切りの文字列でデータを書き込む必要があります。

クエリ種が「更新」の場合、クエリ設定で指定した条件に該当する行のデータが更新されます。

クエリ種が「追加」の場合、データが1行追加されます。

例)db:query1:Row


書き込みデータに"field_1"、"field_2"、"field_3"の3つが指定されている場合、"1,2,3"のような文字列を書き込む必要があります。

フィールドの数が一致しない場合、データは書き込まれません。

フィールド名 Write Only

指定したフィールドにデータに書き込むためのアイテムです。

フィールド名には、クエリ設定の「書き込みデータ」で追加したフィールドを指定することができます。

クエリ種が「更新」の場合、指定したフィールド以外はクエリ設定の内容に従い、データが更新されます。

クエリ種が「追加」の場合、指定したフィールド以外はクエリ設定の内容に従い、データが1行追加されます。

例)db:query1:field_1