データ連携方法
ここではダッシュボードの「デバイス管理」で登録した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"]が取得できます。
|
|||||||||
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 |