PD Handler Modbus 2

注釈

  • 出力されるJSONデータは順不同です。

Modbusクライアント (Modbusマスター)

PLC 機器へのポーリング動作時

■ データサンプル

{
    "timestamp": "2019-11-15T10:02:17.277+09:00",
    "unitId": 1,
    "maker": "OMRON",
    "product": "Smart Power Monitor",
    "model": "KM-N1-FLK",
    "sku": "00",
    "voltage1": 103.6,
    "voltage2": 0.0,
          :
}

#

JSONキー

内容

データ型

常駐

補足

1

timestamp

データ取得日時

String

ISO8601拡張書式. *1

2

unitId

Modbus Unit ID

Integer or String

WEB UIから設定された値. *2

3

maker

メーカー名

String

WEB UIから設定された値. *3

4

product

プロダクト名

String

WEB UIから設定された値. *3

5

model

モデル名

String

WEB UIから設定された値. *3

6

sku

SKU名

String

WEB UIから設定された値. *3

注釈

上記以外の項目は、モデリングファイルの設定に応じて異なります。

  1. timestamp_key キーにより、JSONキーを変更することが可能です。

  2. id_formキーの設定に応じて、整数または '0x0 ' から始まる大文字16進数、小文字16進数の何れかとなります。

  3. モデリングの設定応じて非表示とすることができます。

クラウドからのオンデマンド動作時

ポーリング中のレジスタに対するオンデマンド読み込み

■ リクエストメッセージサンプル

{
    "unitId": 1
}

#

JSONキー

内容

必須

常駐

補足

1

unitId

Modbus Unit ID

Integer or String

整数または、'0x' から始まる16進数文字列.

■ 応答メッセージサンプル

{
    "timestamp": "2019-11-15T10:19:54.651+09:00",
    "unitId" : 1,
    "maker": "OMRON",
    "product": "Smart Power Monitor",
    "model": "KM-N1-FLK",
    "sku": "00",
    "request_from": "0x01(0)",
    "reply_to": "661d94902a592172865e6853159dc138",
    "result": true,
    "voltage1" : 103.5,
    "voltage2" : 0,
        :
}

#

JSONキー

内容

データ型

常駐

補足

1

timestamp

データ取得日時

String

ISO8601拡張書式. *1

2

unitId

Modbus Unit ID

Integer or String

WEB UIから設定された値. *2

3

maker

メーカー名

String

WEB UIから設定された値. *3

4

product

プロダクト名

String

WEB UIから設定された値. *3

5

model

モデル名

String

WEB UIから設定された値. *3

6

sku

SKU名

String

WEB UIから設定された値. *3

7

request_from

リクエスト元クラウドID

String

*4

8

reply_to

リクエストメッセージの MD5 値

String

*4

9

result

取得ステータス

Boolena

通常は true. *4

注釈

上記以外の項目は、モデリングファイルの設定に応じて異なります。

  1. timestamp_key キーにより、JSONキーを変更することが可能です。

  2. id_formキーの設定に応じて、整数または '0x0 ' から始まる大文字16進数、小文字16進数の何れかとなります。

  3. モデリングの設定応じて非表示とすることができます。

  4. replyキー が true に設定されている場合のみ表示されます。

レジスタに対するオンデマンド書き込み

■ リクエストメッセージサンプル

{
    "unitId": 1,
    "rawRequest": {
        "configMode": null
    },
        "write": {
            "ctType": 1
        }
    }
}

#

JSONキー

内容

必須

常駐

補足

1

unitId

Modbus Unit ID

Integer or String

整数または、'0x' から始まる16進数文字列.

2

rawRequest

RAWリクエスト

JSON obj

モデリングファイルの設定に応じて異なります。

3

write

書込み制御

JSON obj

モデリングファイルの設定に応じて異なります。

■応答メッセージサンプル

{
    "timestamp": "2019-11-18T10:07:46.587+09:00",
    "unitId": 1,
    "maker": "OMRON",
    "product": "Smart Power Monitor",
    "model": "KM-N1-FLK",
    "sku": "00",
    "request_from": "0x01(0)",
    "reply_to": "dd8d548a7adf42102a6a6762d0866520",
    "result": true,
    "configMode": "0x0106FFFF07008BDE",
    "ctType": 1
}

#

JSONキー

内容

データ型

常駐

補足

1

timestamp

データ取得日時

String

ISO8601拡張書式. *1

2

unitId

Modbus Unit ID

Integer or String

WEB UIから設定された値. *2

3

maker

メーカー名

String

WEB UIから設定された値. *3

4

product

プロダクト名

String

WEB UIから設定された値. *3

5

model

モデル名

String

WEB UIから設定された値. *3

6

sku

SKU名

String

WEB UIから設定された値. *3

7

request_from

リクエスト元クラウドID

String

*4

8

reply_to

リクエストメッセージの MD5 値

String

*4

9

result

取得ステータス

Boolena

通常は true. *4

注釈

上記以外の項目は、モデリングファイルの設定に応じて異なります。

  1. timestamp_key キーにより、JSONキーを変更することが可能です。

  2. id_formキーの設定に応じて、整数または '0x0 ' から始まる大文字16進数、小文字16進数の何れかとなります。

  3. モデリングの設定応じて非表示とすることができます。

  4. replyキー が true に設定されている場合のみ表示されます。

rawRequest と write を同時にリクエストした場合で、いずれか片方のみがエラーとなった場合、エラーとなったリクエストに対する応答のみが返されます。

エラー発生時の応答メッセージ

■応答メッセージサンプル

{
    "timestamp": "2019-11-15T11:34:54.679+09:00",
    "request_from": "0x01(0)",
    "reply_to": "8473b3a74dfe726d256314fcfd1186cf",
    "result": false,
    "reason": "parser_sub_socket(): unitId 2 not found"
}

#

JSONキー

内容

データ型

常駐

補足

1

timestamp

データ取得日時

String

ISO8601拡張書式. *1

2

request_from

リクエスト元クラウドID

String

3

reply_to

リクエストメッセージの MD5 値

String

4

result

取得ステータス

Boolena

失敗時は false

5

reason

エラーの理由

String

注釈

replyキー が true に設定されている場合のみ応答を返します。

Modbusサーバー(Modbusスレーブ)

PLC機器からの書き込み動作時

レジスタ出力への書き込み

■ データサンプル

{
    "timestamp": "2019-11-22T10:34:49.179+09:00",
    "unitId": 255,
    "maker": "PlatHome Co., Ltd.",
    "product": "Virtual PLC server",
    "model": "32 bits 8 port Register",
    "sku": "0000"
    "outRegs": [
        "0x00000001",
        "0x00000002",
        "0x00000003",
        "0x00000004",
        "0x00000005",
        "0x00000006",
        "0x00000007",
        "0x00000008"
    ]
}

#

JSONキー

内容

データ型

常駐

補足

1

timestamp

データ書き込み日時

String

ISO8601拡張書式. *1

2

unitId

Modbus Unit ID

Integer or String

WEB UIから設定された値. *2

3

maker

メーカー名

String

WEB UIから設定された値. *3

4

product

プロダクト名

String

WEB UIから設定された値. *3

5

model

モデル名

String

WEB UIから設定された値. *3

6

sku

SKU名

String

WEB UIから設定された値. *3

注釈

上記以外の項目は、モデリングファイルの設定に応じて異なります。

  1. timestamp_key キーにより、JSONキーを変更することが可能です。

  2. id_formキーの設定に応じて、整数または '0x0 ' から始まる大文字16進数、小文字16進数の何れかとなります。

  3. モデリングの設定応じて非表示とすることができます。

クラウドからのオンデマンド動作時

レジスタの読み込み

■ リクエストメッセージサンプル

{ }

レジスタの読み込みのためのリクエストメッセージは、空のJSONオブジェクトです。

■ 応答メッセージサンプル

{
    "timestamp": "2019-11-22T11:28:50.084+09:00",
    "unitId": 255,
    "maker": "PlatHome Co., Ltd.",
    "product": "Virtual PLC server",
    "model": "32 bits 8 port Register",
    "sku": "0000",
    "request_from": "0x01(0)",
    "reply_to": "99914b932bd37a50b983c5e7c90ae93b",
    "result": true,
    "outBits": "0x0",
    "inBit0": 0,
    "inBit1": 0,
    "inBit2": 0,
    "inBit3": 0,
    "outRegs": [
        "0x00000001",
        "0x00000002",
        "0x00000003",
        "0x00000004",
        "0x00000005",
        "0x00000006",
        "0x00000007",
        "0x00000008"
    ],
    "inReg0": 0,
    "inReg1": 0,
    "inReg2": 0,
    "inReg3": 0
}

読み込みのリクエストに対しては、全てのレジスタの情報を返します。

#

JSONキー

内容

データ型

常駐

補足

1

timestamp

データ取得日時

String

ISO8601拡張書式. *1

2

unitId

Modbus Unit ID

Integer or String

WEB UIから設定された値. *2

3

maker

メーカー名

String

WEB UIから設定された値. *3

4

product

プロダクト名

String

WEB UIから設定された値. *3

5

model

モデル名

String

WEB UIから設定された値. *3

6

sku

SKU名

String

WEB UIから設定された値. *3

7

request_from

リクエスト元クラウドID

String

*4

8

reply_to

リクエストメッセージの MD5 値

String

*4

9

result

取得ステータス

Boolena

通常は true. *4

注釈

上記以外の項目は、モデリングファイルの設定に応じて異なります。

  1. timestamp_key キーにより、JSONキーを変更することが可能です。

  2. id_formキーの設定に応じて、整数または '0x0 ' から始まる大文字16進数、小文字16進数の何れかとなります。

  3. モデリングの設定応じて非表示とすることができます。

  4. replyキー が true に設定されている場合のみ表示されます。

レジスタへの書き込み

■ リクエストメッセージサンプル

{
    "write": {
        "inBit0": 1,
        "inReg3": 34586
    }
}

#

JSONキー

内容

必須

常駐

補足

1

write

書込み制御

JSON obj

モデリングファイルの設定に応じて異なります。

■ 応答メッセージサンプル

{
    "timestamp": "2019-11-22T13:17:20.327+09:00",
    "unitId" : 255,
    "maker": "PlatHome Co., Ltd.",
    "product": "Virtual PLC server",
    "model": "32 bits 8 port Register",
    "sku": "0000",
    "request_from": "0x01(0)",
    "reply_to": "10348911fddda12f880575e5dec3d698",
    "result" : true,
    "inBit0" : 1,
    "inBit1" : 0,
    "inBit2" : 0,
    "inBit3" : 0,
    "inReg0" : 0,
    "inReg1" : 0,
    "inReg2" : 0,
    "inReg3" : 34586
}

書込みのリクエストに対しては、書き込み後の関連するレジスタセットの情報を返します。

#

JSONキー

内容

データ型

常駐

補足

1

timestamp

データ取得日時

String

ISO8601拡張書式. *1

2

unitId

Modbus Unit ID

Integer or String

WEB UIから設定された値. *2

3

maker

メーカー名

String

WEB UIから設定された値. *3

4

product

プロダクト名

String

WEB UIから設定された値. *3

5

model

モデル名

String

WEB UIから設定された値. *3

6

sku

SKU名

String

WEB UIから設定された値. *3

7

request_from

リクエスト元クラウドID

String

*4

8

reply_to

リクエストメッセージの MD5 値

String

*4

9

result

取得ステータス

Boolena

通常は true. *4

注釈

上記以外の項目は、モデリングファイルの設定に応じて異なります。

  1. timestamp_key キーにより、JSONキーを変更することが可能です。

  2. id_formキーの設定に応じて、整数または '0x0 ' から始まる大文字16進数、小文字16進数の何れかとなります。

  3. モデリングの設定応じて非表示とすることができます。

  4. replyキー が true に設定されている場合のみ表示されます。

エラー発生時の応答メッセージ

■応答メッセージサンプル

{
    "timestamp": "2019-11-15T11:34:54.679+09:00",
    "request_from": "0x01(0)",
    "reply_to": "8473b3a74dfe726d256314fcfd1186cf",
    "result": false,
    "reason": "parser_sub_socket(): invalid write request '{\"inBitr10\": 0}'"
}

#

JSONキー

内容

データ型

常駐

補足

1

timestamp

データ取得日時

String

ISO8601拡張書式. *1

2

request_from

リクエスト元クラウドID

String

3

reply_to

リクエストメッセージの MD5 値

String

4

result

取得ステータス

Boolena

失敗時は false

5

reason

エラーの理由

String

注釈

  • replyキー が true に設定されている場合のみ応答を返します。

  • 複数の書き込みリクエストが、行われた場合で、そのいずれかの書き込みが成功した場合、エラー出力は行われず、正常に書き込まれたレジスタの情報のみが返されます。