4.3 コレクタ
ここでは、各コレクタコンポーネントについて説明します。
4.3.1 リソースコレクタ#
稼働マシンのシステムリソース(CPU使用率、メモリ消費など)を収集するコンポーネントです。
4.3.1.1 基本情報#
リソースコレクタの基本情報は、次の通りです。
項目 | 説明 |
---|---|
ベース名 | リソースコレクタ |
説明 | 稼働マシンのシステムリソースを収集します。 |
消費ポイント | 0 |
ポート | 入力:0 出力:1 収集した稼働マシンのシステムリソースを出力します。出力するデータの詳細は、「出力データ項目」をご覧ください。 システム:1 コンポーネントの稼働状況やエラー情報を出力します。出力するエラー情報の詳細は、「エラーコード一覧」をご覧ください。 |
4.3.1.2 設定項目#
リソースコレクタの設定項目は、次の通りです。
項目 | 説明 |
---|---|
名称 | コンポーネントの名前を入力 ※他のコンポーネント名と重複する事はできません。 |
自動起動無効 | コンポーネントの自動起動を無効にする場合ON |
取得周期(秒) | コレクタがデータを取得する周期を入力 |
I/Oデバイス | データを収集するI/Oデバイスを選択 |
NETデバイス | データを収集するネットワークデバイスを選択 |
CPU使用率 | 稼働マシンのCPU使用率を収集する場合ON |
CPUクロック数 | 稼働マシンのCPUクロック数を収集する場合ON ※Windowsでは使用できません ※Linuxでも使用できないことがあります |
CPU温度 | CPU温度を収集する場合ON ※Windowsでは使用できません ※Linuxでも使用できないことがあります |
I/O | 「I/Oデバイス」で選択したデバイスのI/Oの状態を収集する場合ON |
メモリ | 稼働マシンのメモリ使用量を収集する場合ON |
ネットワーク | 「NETデバイス」で選択したデバイスのネットワークの状態を収集する場合ON |
4.3.1.3 出力データ項目#
リソースコレクタは、次のデータを出力します。
項目 | カラム名 | データ型 | 説明 |
---|---|---|---|
CPU使用率 | cpu_usage | double | CPU使用率を収集する。単位は %、範囲は0.000~100.000 |
CPUコア毎の使用率 | cpu_core_usage | double[n] | CPUコア毎の使用率を収集する。単位は %、範囲は0.000~100.000 |
CPU実行周波数 | cpu_core_freq | int32[n] | CPUコア毎の実行周波数を収集する。単位は kHz |
CPU温度 | cpu_temp | double | CPU温度を収集する。単位は℃ |
IO情報収集デバイス名 | I_O | string | IO情報収集デバイス名(物理のみ) |
平均読込みリクエスト処理数 | kb_r_s | double | 平均読込みリクエスト処理数を収集する。単位はKB |
平均書込みリクエスト処理数 | kb_w_s | double | 平均書込みリクエスト処理数を収集する。単位はKB |
平均読込・書込み回数 | IOPS | double | 平均読込・書込み回数を収集する。単位はKB |
ディスク空き容量(MB) | storage_free_space_mb | double | 指定されたディスクの空き容量を収集する。単位はMB。 |
ディスク使用率(%) | storage_usage | double | 指定されたディスクの使用率を収集。単位は%、範囲は0.0~100.0 |
メモリ全容量 | mem_total | int32 | メモリ全容量を収集する。単位はKB |
メモリ使用量 | mem_used | int32 | メモリ使用量を収集する。単位はKB |
メモリ使用率 | mem_usage | double | メモリ使用率を収集する。単位は%、範囲は0.0~100.0 |
SWAP全容量 | swap_total | int32 | SWAP全容量を収集する。単位はKB |
SWAP使用量 | swap_used | int32 | SWAP使用量を収集する。単位はKB |
SWAP使用率 | swap_usage | double | SWAP使用率を収集する。単位は%、範囲は0.0~100.0 |
合計受信バイト数 | rx_bytes1 | uint64 | 受信バイト数を収集する。単位はbytes |
合計受信パケット数 | rx_pckt1 | uint64 | 受信パケット数を収集する。 |
合計送信バイト数 | tx_bytes1 | uint64 | 送信バイト数を収集する。単位はbytes |
合計送信パケット数 | tx_pckt1 | uint64 | 送信パケット数を収集する。 |
4.3.2 PLCコレクタ#
PLCのレジスタ/変数情報からデータ収集を行うコンポーネントです。
4.3.2.1 基本情報#
PLCコレクタの基本情報は、次の通りです。
項目 | 説明 |
---|---|
ベース名 | PLCコレクタ |
説明 | PLCのレジスタ/変数情報からデータを収集します。 |
消費ポイント | 0 |
ポート | 入力:0 出力:1 「設定項目」に従って、PLCから収集したデータを出力します。 システム:1 コンポーネントの稼働状況やエラー情報を出力します。出力するエラー情報の詳細は、「エラーコード一覧」をご覧ください。 |
その他 | ・PLCに対するテスト接続を行うことができます。詳細は「テスト接続」をご覧ください。 ・アドレスを自動で設定することができます。詳細は「アドレス自動設定」をご覧ください。 |
4.3.2.2 設定項目#
PLCコレクタの設定項目は、次の通りです。
項目 | 説明 |
---|---|
名称 | コンポーネントの名前を入力 ※他のコンポーネント名と重複する事はできません。 |
自動起動無効 | コンポーネントの自動起動を無効にする場合ON |
メーカ | 接続するPLCのメーカを選択 ※選択できるメーカは次の通りです。 ・三菱電機 ・ジェイテクト ・オムロン ・キーエンス ・パナソニック |
機種 | 接続するPLCの機種を選択 ※選択できる機種はメーカによって異なります。 |
ホスト | 接続するPLCのホスト名またはIPアドレスを入力 |
ポート | 接続するPLCのポートを入力 |
接続タイムアウト(ミリ秒) | 接続時のタイムアウト時間を入力 |
読込タイムアウト(ミリ秒) | 読込時のタイムアウト時間を入力 |
常時接続する | PLC接続を問い合わせの都度、切断しない場合ON |
一括取得 | 一度に複数のワードレジスタの読み込みを行う場合ON |
一括ブロック取得 | 一度に複数のビットレジスタ・ワードレジスタの読み込みを行う場合ON |
- PLCコレクタの出力データは、次の設定項目によって定義されます。
項目 | 説明 |
---|---|
データ名 | データの名前を入力 |
アドレス | PLCのレジスタアドレスを入力 |
プログラム | レジスタのプログラム番号を選択 ※メーカがジェイテクトの場合のみ選択可能 |
データ型 | 取得するレジスタ値のデータ型を選択 |
連続領域数 | 入力したアドレスを先頭として連続するレジスタの中から、値取得の対象とする範囲を入力 |
収集間隔(秒) | レジスタ値を取得する間隔を入力 |
有効 | レジスタ値を取得する場合ON |
4.3.2.3 テスト接続#
次の手順で、設定した接続先に対してテスト接続を行うことができます。
-
登録したPLCコレクタの設定画面を開きます。
-
「テスト」を押下します。
-
設定した接続先へのテスト接続が行われ、設定画面の下部に結果が表示されます。
4.3.2.4 アドレス自動設定#
一部のPLCでは、ラダー編集ツールで出力したファイルを読み込むことで、アドレスを自動で一括設定する事が出来ます。
-
ラダー編集ツールで、作成したラダーをファイルとして出力します。出力するファイルの形式は、PLCのメーカ・機種によって異なります。ファイルのサンプルは次の通りです。
-
三菱電機 MELSEC-Qシリーズ(QnA互換3Eフレーム)
-
オムロン SYSMAC CS/CJ/CP/NSJシリーズ(FINS)
-
-
「アドレス自動設定」を押下します。
-
ラダー編集ツールで出力したファイルを選択します。
-
ファイルをもとに、アドレスが自動で設定されます。
4.3.3 Modbus TCPコレクタ#
Modbus TCP対応機器からデータ収集を行うコンポーネントです。
4.3.3.1 基本情報#
Modbus TCPコレクタの基本情報は、次の通りです。
項目 | 説明 |
---|---|
ベース名 | Modbus TCPコレクタ |
説明 | Modbus TCP対応機器からデータを収集します。 |
消費ポイント | 2 |
ポート | 入力:0 出力:1 「設定項目」に従って、Modbus TCP対応機器から収集したデータを出力します。 システム:1 コンポーネントの稼働状況やエラー情報を出力します。出力するエラー情報の詳細は、「エラーコード一覧」をご覧ください。 |
その他 | Modbus TCP対応機器に対するテスト接続を行うことができます。詳細は「テスト接続」をご覧ください。 |
4.3.3.2 設定項目#
Modbus TCPコレクタの設定項目は、次の通りです。
項目 | 説明 |
---|---|
名称 | コンポーネントの名前を入力 ※他のコンポーネント名と重複する事はできません。 |
自動起動無効 | コンポーネントの自動起動を無効にする場合ON |
ホスト | 接続するModbus機器のホスト名またはIPアドレスを入力 |
ポート | 接続するPLCのポートを入力 |
エンディアン | バイトオーダを選択 |
接続タイムアウト(ミリ秒) | 接続時のタイムアウト時間を入力 |
読込タイムアウト(ミリ秒) | 読込時のタイムアウト時間を入力 |
スレーブID | 接続先のスレーブIDを入力 |
一括取得 | 一度に複数のワードレジスタの読み込みを行う場合ON |
- Modbus TCPコレクタの出力データは、次の設定項目によって定義されます。
項目 | 説明 |
---|---|
データ名 | データの名前を入力 |
アドレス | レジスタアドレスを入力 ※Modbusの仕様上、アドレス範囲は通常「1~65536」となっていますが、SpeeDBee Synapseで設定する際のアドレス範囲は「0~65535」のように-1したアドレスを設定する必要があります。 |
データ型 | 取得するレジスタ値のデータ型を選択 |
連続領域数 | 入力したアドレスを先頭として連続するレジスタの中から、値取得の対象とする範囲を入力 |
種類 | レジスタ値の種類を選択 |
エンディアン | レジスタ単位でのバイトオーダを選択 |
収集間隔(秒) | レジスタ値を取得する間隔を入力 |
有効 | レジスタ値を取得する場合ON |
4.3.3.3 テスト接続#
次の手順で、設定した接続先に対してテスト接続を行うことができます。
-
登録したModbus TCPコレクタの設定画面を開きます。
-
「テスト」を押下します。
-
設定した接続先へのテスト接続が行われ、設定画面の下部に結果が表示されます。
4.3.4 Ethernet IPコレクタ#
Ethernet/IP対応機器からデータ収集を行うコンポーネントです。
4.3.4.1 基本情報#
Ethernet IPコレクタの基本情報は、次の通りです。
項目 | 説明 |
---|---|
ベース名 | Ethernet IPコレクタ |
説明 | Ethernet/IP対応機器からデータを収集します。 |
消費ポイント | 2 |
ポート | 入力:0 出力:1 「設定項目」に従って、Ethernet/IP対応機器から収集したデータを出力します。 システム:1 コンポーネントの稼働状況やエラー情報を出力します。出力するエラー情報の詳細は、「エラーコード一覧」をご覧ください。 |
その他 | アドレスを自動で設定することができます。詳細は「アドレス自動設定」をご覧ください。 |
4.3.4.2 設定項目#
Ethernet IPコレクタの設定項目は、次の通りです。
項目 | 説明 |
---|---|
名称 | コンポーネントの名前を入力 ※他のコンポーネント名と重複する事はできません。 |
自動起動無効 | コンポーネントの自動起動を無効にする場合ON |
ホスト | Ethernet/IP対応機器のホスト名またはIPアドレスを入力 |
ポート | Ethernet/IP対応機器のポートを入力 |
接続タイムアウト(ミリ秒) | 接続時のタイムアウト時間を入力 |
取得間隔(ミリ秒) | データを取得する間隔を入力 |
- Ethernet IPコレクタの出力データは、次の設定項目によって定義されます。
項目 | 説明 |
---|---|
設定方法 | 取得するデータの設定方法を選択 |
変数名 | タグ名を入力 ※設定方法が変数名の場合のみ入力可能です。 |
構造体 | 複数のメンバを登録する場合ON ※設定方法が変数名の場合のみ設定可能です。 |
クラスID | CIPオブジェクトのクラスIDを入力 ※設定方法がCIPObjectの場合のみ入力可能です。 |
インスタンスID | CIPオブジェクトのインスタンスIDを入力 ※設定方法がCIPObjectの場合のみ入力可能です。 |
アトリビュートID | CIPオブジェクトのアトリビュートIDを入力 ※設定方法がCIPObjectの場合のみ入力可能です。 |
カラム名 | メンバの名前 |
データ型 | メンバのデータ型 |
配列数 | メンバの配列数 |
4.3.4.3 テスト接続#
次の手順で、設定した接続先に対してテスト接続を行うことができます。
-
登録したEthernet IPコレクタの設定画面を開きます。
-
「テスト」を押下します。
-
設定した接続先へのテスト接続が行われ、設定画面の下部に結果が表示されます。
4.3.4.4 アドレス自動設定#
Sysmac Studioがエクスポートするグローバル変数情報などを、指定のフォーマットのテキストファイルに変換して読み込むことで、アドレスを自動設定することができます。
-
Sysmac Studioがエクスポートするグローバル変数情報などを、次の列情報を持つテキストファイルに変換します。
- HOST
- NAME
- DATATYPE
- ADDRESS
- COMMENT
- TAGLINK
- RW
- POU
例HOST NAME DATATYPE ADDRESS COMMENT TAGLINK RW POU b_test BOOL test1 TRUE RW i_test UINT test2 TRUE RW s_test STRING(256) test3 TRUE RW
-
「アドレス自動設定」を押下します。
-
用意したテキストファイルを選択します。
-
ファイルをもとに、アドレスが自動で設定されます。
4.3.5 MQTTコレクタ#
MQTTプロトコル(Subscribe)によるデータ収集を行うコンポーネントです。
4.3.5.1 基本情報#
MQTTコレクタの基本情報は、次の通りです。
項目 | 説明 |
---|---|
ベース名 | MQTTコレクタ |
説明 | MQTTプロトコル(Subscribe)によるデータ収集を行います。 |
消費ポイント | 2 |
ポート | 入力:0 出力:1 「設定項目」によって指定されたMQTTブローカーから受け取ったデータを出力します。 システム:1 コンポーネントの稼働状況やエラー情報を出力します。出力するエラー情報の詳細は、「エラーコード一覧」をご覧ください。 |
その他 | MQTTブローカーに対するテスト接続を行うことができます。詳細は「テスト接続」をご覧ください。 |
4.3.5.2 設定項目#
MQTTコレクタの設定項目は、次の通りです。
項目 | 説明 |
---|---|
名称 | コンポーネントの名前を入力 ※他のコンポーネント名と重複する事はできません。 |
自動起動無効 | コンポーネントの自動起動を無効にする場合ON |
ホスト | MQTTブローカーのホスト名またはIPアドレスを入力 |
ポート | MQTTブローカーのポートを入力 |
MQTT Qos | MQTTのQuality of Serviceを選択 |
匿名アクセス | ユーザー認証を行わない場合ON |
ユーザー名 | 認証ユーザー名を入力 ※匿名アクセスが無効の場合のみ入力が可能です。 |
パスワード | 認証パスワードを入力 ※匿名アクセスが無効の場合のみ入力が可能です。 |
暗号化 | 暗号化を行う場合ON |
CA証明書 | 暗号化通信に使用するCA証明書をアップロード ※暗号化が有効の場合のみアップロードが可能です。 |
トピック | 収集対象のトピックを入力 |
クライアントID | MQTTクライアントID ※接続先仕様によっては指定する必要があります。省略時は、ランダムな文字列が使用されます。 ※複数のコンポーネントで、同一MQTTブローカーへ接続する場合、クライアントIDは被らないように設定してください。通信が正しく行われなくなります。 |
カスタム認証を使用してAWS Iot Coreからデータを受け取る | AWS Iot Coreのカスタム認証の機能を使用して、AWS IoT Coreからデータを受け取る場合ON ※AWS Iot Coreでカスタム認証の設定を有効にしておく必要があります。くわしくは、こちら を参照してください。 |
キープアライブ(秒) | MQTTキープアライブ間隔を入力 |
タイムアウト(ミリ秒) | MQTTブローカー接続時のタイムアウト秒数を入力 |
タイムスタンプ誤差許容範囲(秒) | タイムスタンプ誤差の許容範囲を入力 |
動的カラム生成 | MQTTブローカーから受け取ったデータから、動的にカラムを作成する場合ON ※1 MQTTブローカーからデータを受け取って初めてカラムが生成されます。 ※2 動的に生成されたカラムはコンポーネントが停止するとなくなります。データを使いたい場合は固定カラムとして登録してください。 |
データ名 | 固定カラムの名前を入力 |
データ型 | 固定カラムの型を選択 |
データ数 | 固定カラムの配列数を入力 |
4.3.5.3 テスト接続#
次の手順で、設定した接続先に対してテスト接続を行うことができます。
-
登録したMQTTコレクタの設定画面を開きます。
-
「テスト」を押下します。
-
設定した接続先へのテスト接続が行われ、設定画面の下部に結果が表示されます。
MQTTコレクタのテスト接続に関する注意点
テスト接続は、次の場合のみ操作可能です。
・コンポーネントが停止している場合
・コンポーネントのステータスがエラーの場合
※ステータスについての詳細は「ステータス一覧」をご覧ください。
4.3.5.4 受信データのフォーマット#
MQTTコレクタの受信データのフォーマットは、JSONシリアライザと互換性があります。JSONシリアライザの出力データ項目を確認してください。
4.3.5.5 クラウドサービスからのデータ受信#
MQTTコレクタは、次のクラウドサービスからのデータを受信可能です。それぞれ次の補足事項を確認してください。
AWS IoT Core
AWS IoT Coreへ送信されたデータをMQTTコレクタで受信するには、
「カスタム認証を使用してAWS Iot Coreからデータを受け取る」の設定が必須となります。
また、クラウド側での設定も必要となります。
詳細についてはAWS公式ページの「カスタム認証と認可」を参照してください。
これらの情報は、2024年6月時点のものとなっています。
Azure IoT Hub
Azure IoT Hubのデータを受信するには、IoT Hubの仕様に即した設定が必要となります。また、MQTTコレクタで受信できるのは、「cloud-to-device向けに送信されたデータ」となります。
他のデバイス側からIoT Hub向けに送信されたデータは受信できません。
cloud-to-deviceから複数のデバイス向けにブロードキャストすることはできません。
これらの情報は、2024年6月時点のものとなっています。詳しくは、次の公式ページを確認してください。
- MQTT プロトコルを使用した IoT ハブとの通信
- IoT ハブから cloud-to-device メッセージを送信する
- IoT Hub を使用したクラウドからデバイスへのメッセージの送信 (Python)
- Shared Access Signature を使用して IoT Hub へのアクセスを制御する(SASトークン)
- IoT Hubは、Standardレベルである必要があります。Basic、Freeでは使用できません。
- ホスト:{IoT Hubの名称}.azure-devices.net
- ポート:8883
- ユーザー名:{IoT Hubの名称}.azure-devices.net/{デバイスId}/?api-version=2021-04-12
- パスワード:SASトークン
- トピック:devices/{デバイスId}/messages/events/"
- クライアントID:{デバイスId}
- 暗号化:有効
- CA証明書:DigiCert ルート証明書(DigiCert Global Root G2)
Azure Event GridのMQTTブローカーには現在対応していません。
4.3.5.6 各種エミッタからのデータ受信#
JSONシリアライザで生成したデータを、各種エミッタでデータ送信して、別のMQTTコレクタで受信することが可能です。
送信側 | 受信側 | 可否 |
---|---|---|
MQTTエミッタ | MQTTコレクタ | 〇 ※同一のMQTTブローカーへの接続設定が必要です。 |
AWS IoT Coreエミッタ | MQTTコレクタ | 〇 ※MQTTコレクタはカスタム認証を設定する必要があります。 |
Azure IoT Hubエミッタ | MQTTコレクタ | × ※デバイス向けのデータをMQTTコレクタでは受信できません。 |
他エミッタからデータを受信する場合の注意点
各種エミッタで送信されたデータを受信する場合、下記の点に注意してください。
1.送信側で1件ごとにエミッタでデータ送信する場合:
例)
送信側のJSONシリアライザのデータを1件で切替
受信側のMQTTコレクタの誤差許容範囲(秒)を10
この場合、データ登録から10秒以内でデータを受信できれば、元のタイムスタンプのままデータは登録されます。ただし、クラウドへのデータ送信が頻繁に行われる点に注意してください。
2.送信側で集約した値をエミッタで送信する場合:
例)
送信側のJSONシリアライザのデータを1件で切替
送信側のJSONシリアライザでは、入力ポートで集約する、任意のデータの平均値とする、ウィンドウ幅60秒
受信側のMQTTコレクタの誤差許容範囲(秒)を10
この場合、指定された幅で、値の平均値が登録され、エミッタで送信されます。コレクタは、これを受信して、元のタイムスタンプでデータを登録します。全データを送信しないことから、ネットワークへの負荷は小さくなります。
3.送信側で一定時間データをためてエミッタで送信する場合:
例)
送信側のJSONシリアライザのデータを60秒で切替
受信側のMQTTコレクタの誤差許容範囲(秒)を0
この場合、すべてのデータが受信した現在時刻で登録されます。元のタイムスタンプでの登録とならない点に注意してください。
4.送信側で一定時間データをためてエミッタで送信する場合(タイムスタンプも元のまま登録):
これを実現するには、少なくとも以下の設定が必要です。
例)
送信側のJSONシリアライザのデータを10~30秒程度で切替
受信側のMQTTコレクタの誤差許容範囲(秒)を60
MQTTコレクタに接続されるコンポーネントの入力ポートで、遅延時間を61000(ミリ秒)とする
この設定により、送信されたデータのタイムスタンプが60秒以内に収まっていれば、データは登録できます。ただし、送受信の確認を行い、性能的に問題ないか、受信したデータ処理が期待結果となっているかを十分に検証した上でご利用ください。
4.3.6 演算コレクタ#
収集データを使った演算の結果を新しい別データとして登録するコンポーネントです。
4.3.6.1 基本情報#
演算コレクタの基本情報は、次の通りです。
項目 | 説明 |
---|---|
ベース名 | 演算コレクタ |
説明 | 他のコレクタからデータを受け取って演算を行い、新しい別データとして扱います。 |
消費ポイント | 2 |
ポート | 入力:1 他のコンポーネントからデータを受け取ります。 出力:1 「設定項目」に従って、演算結果を出力します。 システム:1 コンポーネントの稼働状況やエラー情報を出力します。出力するエラー情報の詳細は、「エラーコード一覧」をご覧ください。 |
その他 | 入力ポートの設定画面を開き、他のコンポーネントから受け取ったデータに集約などの設定を行うことができます。詳細は「入力ポート設定」 をご覧ください。 |
4.3.6.2 設定項目#
演算コレクタの設定項目は、次の通りです。
項目 | 説明 |
---|---|
名称 | コンポーネントの名前を入力 ※他のコンポーネント名と重複する事はできません。 |
自動起動無効 | コンポーネントの自動起動を無効にする場合ON |
変数名 | 入力データに自動で付与される名前 |
コンポーネント名 | 入力ポートのデータ一覧からコンポーネントを選択 |
データ名 | 上で選択したコンポーネントのデータ一覧からデータを選択 |
集約 | 集約値を選択 ※コンポーネントのデータに集約オプションを適用していた場合のみ選択可能です。集約の詳細は「入力ポート」をご覧ください。 |
- 演算コレクタの出力データは、次の設定項目によって定義されます。
項目 | 説明 |
---|---|
データ名 | データの名前を入力 |
データ型 | データの型を選択 |
トリガ変数 | 演算を実行するトリガとなる変数 入力データで設定した変数を選択可能です。選択した変数が更新されると演算が実行されます。 |
演算式 | コレクタが実行する演算式を入力 ※表題の「演算式」の右のアイコンをクリックすると、入力例と式に使用できる要素一覧が表示されます。 |
4.3.6.3 入力ポート設定#
追加済みの演算コレクタでは、設定画面で「入力ポート設定」を押下して、演算コレクタの入力ポートの設定画面を開くことができます。 入力ポートの設定画面では、他のコンポーネントから受け取ったデータに集約などの設定を行うことができます。 詳細は「入力ポート」をご覧ください。