MQTTデバイスの設定・情報

この画面でMQTTデバイスのプロパティを設定と確認することができます。
タイトルのボタン
タイトル上に以下のボタンがあります。
タグ設定 :タグの設定画面が表示されます。デバイスのデータをタグ名を付けて、工業値変更の設定などが行えます。
ロガー設定 :デバイスのデータをロガーDBに保存するかどうかの設定などが行えます。
アラーム設定 :デバイスのデータの異常検出、メール送信などの設定が行えます。
蓄積データの削除 :クラウドサーバー上に存在するデータの削除が可能です。実行には管理者権限が必要になります。
ロックを解除:デバイスがロックされている場合にはこのボタンが表示されます。ロックを解除できるユーザは管理者、またはロックを施したユーザ本人のみです。
ロックをかける:デバイスがロックされていない場合にはこのボタンが表示されます。ロックされているデバイスは変更と削除することができません。
設定または情報項目
デバイスID
プロジェクト内ユニークなデバイスを識別するIDです。
アルファベットの小文字で始まり、アルファベットの小文字と数値で構成した文字列です。
デバイスIDは最大10文字です。
デバイス名
プロジェクト内ユニークなデバイスの名称です。デバイスの一覧にこの名称が表示されます。
デバイス名は最大40文字です。
HMIのリンク変数(dt:デバイスID:_name_)でデバイス名を取得できます。
シリアル番号
デバイスのシリアル番号です。クラウド・サーバはこのシリアル番号でデバイスを識別します。
シリアル番号は最大13文字です。
概要
デバイスを説明する概要です。任意の文字列を入力することが可能です。
概要は最大100文字です。
操作グループ
実行環境でデバイスを表示できるグループを指定します。許可されたグループに所属するユーザはこのデバイスのデータを表示することができます。
操作グループが許可された場合に、このグループに属するユーザも許可されます。
操作ユーザ
実行環境でデバイスを表示できるユーザを指定します。操作できるユーザは、ログインIDの左にあるチェックボックスにチェックマークを入れます。
プロジェクトの管理者、設定全般ユーザ、画面編集ユーザはすべてのデバイスを表示することができます。
テンプレートデバイスを使用
有効にするとテンプレートデバイスとして継承するデバイスIDを表示します。
テンプレートデバイスとして利用できるデバイスは同じデバイスタイプであること、既にテンプレートデバイスを継承していないデバイスに限ります。
既にテンプレートデバイスを設定中にチェックボックスを外して保存するとテンプレートデバイスのタグ設定、ログ設定をデバイスにコピーして継続して利用できます。
テンプレートデバイスID
使用するテンプレートデバイスを選択することが可能です。
テンプレートデバイスを設定することでテンプレートデバイスのタグ設定、ロガー設定、アラーム設定を引き継いで利用することができます。
引き継いで利用することになるので、タグ設定、ロガー設定の変更はできません。
ただしアラーム設定のみデバイスごとに各アラームの設定変更、アラームの追加等が可能です。
※テンプレートデバイスに設定されたデバイスは、タグ設定、ロガー設定の一部設定(タグ名、データタイプ、データサイズ、ロガーフラグ)が変更不可となります。
作成したテンプレートデバイスのデータをページで表示する方法はこちらを参照ください。
デバイスを一時停止
アラームを一時停止
チェック☑を入れて、アラームを一時停止されると自動解除されるまでに、デバイスのデータの異常状態を検出しません。異常状態の保存、または異常メールの送信もしません。
ロガーを一時停止
チェック☑を入れて、ロガーを一時停止されると自動解除されるまでに、デバイスのデータがの保存しません。(HMIの画面上は変化を反映します。)
自動回復日、時間
「アラームを一時停止」または「ロガーを一時停止」がチェック☑された場合に、自動回復日時を設定する必要があります。設定された日時が到達しますと「停止」が自動的に解除します。
更新ユーザID
デバイスの設定を最後に更新したログインIDです。(変更不能)
更新ユーザ名
デバイスの設定を最後に更新したユーザの名前です。(変更不能)
更新時のIP
デバイスの設定を最後に更新した端末のIPアドレスです。(変更不能)
更新時間
デバイスの設定を最後に更新された時の時間です。(変更不能)
ロック ログインID
デバイスをロックしたユーザのログインIDです。(変更不能)
ロックユーザ名
デバイスをロックしたユーザの名前です。(変更不能)
ロック時間
デバイスをロックした時の時間です。(変更不能)
MQTT設定
SSL設定
チェックすることでプロジェクト設定-MQTTブローカーのSSLポートを使用して接続することができます。
チェックしない場合は通常のポート番号を使用して接続します。
送信設定
デバイスからクラウド・サーバーに対してデータを送信する際の設定を行います。
トピック名(PUBLISH)
設定するデバイスがデータをPUBLISHするトピックを入力します。
トピック名は100字以内の半角英数字と/を使用できます。
送信ペイロードタイプ
デバイスがPUBLISHするJSON文字列の構造を選択することができます。
時間フォーマット
送信するメッセージにあるタイムスタンプの形式を選択します。
サーバー時間:メッセージ内のタイムスタンプは参照せず、サーバーで受信した時間を使用します。
ISO8601形式:メッセージ内のタイムスタンプがISO8601形式の文字列です。
UNIX時間:メッセージ内のタイムスタンプがUNIX時間(秒単位)の文字列です。
Time Key
送信ペイロードタイプで定義しているJSONの時間部分のキーを設定します。
Data Key
送信ペイロードタイプで定義しているJSONのデータ部分のキーを設定します。
トピックに送信するJSON文字列のサンプルを参照することができます。
ユーザー定義ペイロード
送信ペイロードタイプで"ユーザー定義ペイロード"を選んだ場合、ペイロードを定義するテキストボックスが出現します。
ペイロードの定義をする際に以下のメタ文字列を使用してJSONの構造を定義します。
JSON フォーマットとして正しい定義である必要があります。
メタ文字列 | 意味 |
---|---|
@TIME | 更新するタグ値のタイムスタンプを意味します。 時間フォーマットの選択と関係しています。 @TAGS_~@_TAGSブロック外に定義している必要があります。 |
@TAGNAME | タグ設定にある自動生成名を意味します。 @TAGS_~@_TAGSブロック内に定義している必要があります。 |
@VALUE | タグ値を意味します。 @TAGS_~@_TAGSブロック内に定義している必要があります。 |
@TAGS_,@_TAGS | @TAGS_から@_TAGS内の文字列を評価し、@TAGNAMEと@VALUEの関係性からMQTTブローカーに送られてきた、JSON文字列中の複数のタグを解釈します。 |
ユーザー定義ペイロードについて
例えば以下のユーザー定義ペイロードとデバイスのタグが存在するとき。
ユーザー定義ペイロード:{"T":@TIME,"data":[@TAGS_{"@TAGNAME":@VALUE}@_TAGS]}
タグ:tag1,tag2,tag3
時間フォーマットはUNIX時間として、トピックが受信できるメッセージは以下のようなJSONになります。
{"T":"1577804400","data":[{"tag1":1},{"tag2":2},{"tag3":3}]}
この場合tag1,tag2,tag3の値はそれぞれ1,2,3となり、タイムスタンプは2020/1/1 00:00:00(日本時間:+09:00)となります。
履歴データについて
1回の送信で時系列のデータを受信させたい場合、履歴データ有効のチェックボックスをONにしJSON中に存在する配列のキーをJSONキーに入力し保存します。
例えば以下の設定の場合
ユーザー定義ペイロード:{"T":@TIME,"data":[@TAGS_{"@TAGNAME":@VALUE}@_TAGS]}
タグ:tag1,tag2,tag3
時間フォーマット:UNIX時間
履歴データ存在:ON
JSONキー:Data
トピックが受信できるメッセージは以下のようなJSONになります。
{"Data":[
{"T":"1577804400","data":[{"tag1":1},{"tag2":2},{"tag3":3}]},
{"T":"1577804401","data":[{"tag1":11},{"tag2":12},{"tag3":13}]}
]}
この場合tag1,tag2,tag3の値は以下表の通りとなります。
時間 | tag1 | tag2 | tag3 |
---|---|---|---|
2020/1/1 00:00:00(日本時間:+09:00) | 1 | 2 | 3 |
2020/1/1 00:00:01(日本時間:+09:00) | 11 | 12 | 13 |
カスタムデータ定義
送信ペイロードタイプで"カスタムデータ定義"を選んだ場合、データ定義を決めるテキストボックスが出現します。
JSON内のData key内の文字列をタグデータに変換するための定義をここで設定できます。
JSONのプロパティ名がData Keyの要素を変換します。
定義には下記の文字を使用します。
- B:2進数
- O:8進数
- D:10進数
- X:16進数
- S:直値
進数変換オプション
- i:符号付き整数(32bit)に変換(デフォルト)
- u:符号なし整数(32bit)に変換
データ定義は"XXXX(タグ自動生成名)"または"X4(タグ自動生成名)"のような記述で定義します。
この場合はタグの値は16進数4文字を整数に変換した値となります。
複数タグがある場合は"XXXX(タグ自動生成名1)DDDD(タグ自動生成名2)"のような記述で入力値に対応した定義が必要です。
またデフォルトでは10進数変換の際に符号付き整数へ変換しますがuXXXX(タグ自動生成名)のような定義にすると符号なし整数へ変換可能です。
変換は32bitが上限になるので超える値は変換できません。
以下に設定例と取得例を示します。
ユーザー定義ペイロード:{"T":@TIME,"data":@VALUE}
カスタムデータフォーマット:"XXXX(tag1)DDDD(tag2)OOOO(tag3)SSSS(tag4)"
タグ:tag1,tag2,tag3,tag4
送信JSON:{"time":"2020-01-01T00:00:00","data":"10001000100010.0"}
- tag1:4096
- tag2:1000
- tag3:512
- tag4:10.0
また取得したタグ値に対して工業値変換の設定が可能です。
受信設定
タグ値がHMI画面から操作され変化したときに、サーバーからデバイスに送信する設定を行います。
トピック名(SUBSCRIBE)
Subscribeするトピック名を設定します。
ユーザー定義ペイロード
サーバーからトピックに書き込む、メッセージの構造を定義します。
送信設定と異なり一つのタグ名とタグ値がメッセージに含まれます。
メッセージの内容は特に制限はありません、以下のメタ文字を使用して定義できます。
メタ文字列 | 意味 |
---|---|
@TIME | タグ値の更新時間を示すタイムスタンプを意味します。 時間フォーマットの選択したフォーマットになります。 |
@TAGNAME | タグ設定にある自動生成名を意味します。 |
@VALUE | タグ値を意味します。 |
時間フォーマット
ペイロード中の@TIMEにあたるタイムスタンプの形式を選択します。
ISO8601形式:メッセージ内のタイムスタンプはISO8601形式の文字列です。
UNIX時間:メッセージ内のタイムスタンプはUNIX時間(秒単位)の文字列です。
サーバーがトピックに対してPUBLISHするメッセージのサンプルを確認できます。
トピックにPUBLISHされるメッセージについて
受信設定のユーザー定義ペイロードはHMI画面でタグに書き込みがあった場合に任意のトピックにPUBLISHするメッセージを定義できます。
ユーザー定義ペイロード:@TIME,@TAGNAME,@VALUE
タグ:tag1
書き換えた値:12345
時間フォーマットはUNIX時間として、トピックにPUBLISHするメッセージは以下になります。
1577804400,tag1,12345
タイムスタンプは値を書き換えたUNIX時間1577804400(この場合は2020/1/1 00:00:00(日本時間:+09:00))となります。
デバイスタグの設定
デバイスへのタグの追加と削除を行います。
テンプレートデバイスを使用している場合は表示されません。
タグリスト
デバイスに存在するまたは追加するタグを表示します。
ここで表示されるタグはタグ設定画面の自動生成名に該当します。
タグの右にある×ボタンをクリックすることで削除対象タグに移動します。
削除対象タグ
削除されるタグが表示されます。
タグの右にある×ボタンをクリックすることでタグリストに移動します。
ボタン
タグを追加ダイアログが開きタグの追加ができます。
ボタン
タグリストに存在するタグを保存し、削除対象タグを削除します。
ボタン
変更を保存せずに、「デバイス一覧」に戻ります。
ボタン
現在の変更を保存します。
ボタン
現在の変更を保存してから、「デバイス一覧」に戻ります。
タグを追加ダイアログ

タグ名
追加するタグの名前を入力します。
データタイプ
追加するタグのデータタイプを設定します。
ボタン
タグリストにタグを追加します。
※この時点ではサーバーには保存されないので「タグ設定を保存」ボタンで保存する必要があります。