PLC Relay
PLC Relay を構成して、Allen-Bradley、Modbus TCP、または Siemens S7 経由で PLC タグを読み書きします。
PLC Relay は、PLCタグの読み取りと書き込みのための HTTP API を提供するエッジコンテナサービスです。プロトコルを選択し、接続詳細を入力し、タグを定義することで、Deployment Manager UI から設定します。
PLC Relay は Enterprise お客様限定でご利用いただけます。 Roboflow の営業チームにお問い合わせください 詳細をご確認ください。
サポートされているプロトコル
PLC Relay サービスを追加または編集する際には、3 つのプロトコルのうち 1 つを選択します。各プロトコルには、それぞれ独自の接続設定とタグ形式があります。
Allen-Bradley (EtherNet/IP)
CompactLogix、ControlLogix、Micro800
44818
Modbus TCP
任意の Modbus TCP デバイス
502
Siemens S7
S7-300、S7-400、S7-1200、S7-1500
102
プロトコルを切り替えると、タグのアドレス形式はプロトコル間で互換性がないため、設定済みのタグはすべて消去されます。変更を適用する前に、UI で確認が求められます。
接続設定
PLC アドレス
アドレス形式は、選択したプロトコルによって異なります:
Allen-Bradley: IP またはホスト名、必要に応じてその後に
/slot(例:192.168.1.100/0)または完全な CIP ルーティングパス。Modbus TCP: IP またはホスト名、必要に応じて
:port(例:192.168.1.100:502を付けます。また、32 ビット値には Unit ID (0-255) と Word Order (big または little) も必要です。Siemens S7: IP またはホスト名、必要に応じて
:port(例:192.168.1.100:102)。また、Rack (0-7) と Slot (0-31) も必要です。
シミュレーションモード
有効にすると、PLC Relay は実際の PLC に接続せず、メモリ内シミュレーターを使用します。すべての API 操作は通常どおり動作しますが、値はメモリに保存されます。これはハードウェアなしでのテストに便利です。
タグ設定
タグは、API を通じてアクセス可能な PLC のデータポイントを定義します。各タグには、名前、データ型、書き込み可否フラグ、および任意の説明があります。
データ型
BOOL
真偽値
true / false
INT
16 ビット符号付き整数
-32,768 から 32,767
DINT
32 ビット符号付き整数
-2,147,483,648 から 2,147,483,647
REAL
32 ビット浮動小数点数
IEEE 754
タグ名の形式
タグ名は PLC プログラムと一致し、大文字小文字を区別します。
シンプル
TagName
Program スコープ
Program:MainProgram.TagName
配列要素
TagName[0]
UDT メンバー
MyUDT.Member
形式: {area}:{address} ここで address は 0 以上の整数です。
coil
BOOL
書き込み可能
coil:0
discrete
BOOL
読み取り専用
discrete:5
holding
INT、DINT、REAL
書き込み可能
holding:100
input
INT、DINT、REAL
読み取り専用
input:200
Data Block 形式: DB{n}.DB[XWD]{byte}[.{bit}]
Area 形式: [MIQEA][WD]?{byte}[.{bit}]
DB1.DBX0.0
BOOL
Data Block 1 の byte 0 の bit 0
DB1.DBW0
INT
DB1 の 16 ビットワード
DB1.DBD0
DINT または REAL
DB1 の 32 ビットダブルワード
M0.0
BOOL
Merker ビット
I0.0 / Q0.0
BOOL
プロセス入出力ビット
MW0 / MD0
INT / DINT または REAL
Merker ワード / ダブルワード
S7-1200/1500 では、TIA Portal で PUT/GET を有効にし、アクセス対象の DB では最適化ブロックアクセスを無効にしてください。
Web Dashboard と REST API
PLC Relay には、タグ値をリアルタイムで監視するための組み込み Web Dashboard があります。サービスが起動したら、次の URL でアクセスできます: http://<device-ip>:8007.
Dashboard には、次の場所にある対話型 Swagger ドキュメントもあります: /docs また、次の場所にはビジュアル config builder があります: /static/config-builder.html.
API エンドポイント
GET
/healthz
接続状態と検証状態のヘルスチェック
GET
/all_tags
すべてのタグの現在値を読み取ります
GET
/read?tag=name
名前で単一タグを読み取ります
POST
/write
単一タグを書き込みます
POST
/read_batch
複数のタグを一度に読み取ります
POST
/write_batch
複数のタグを一度に書き込みます
GET
/schema
すべてのタグ定義を取得します
POST
/validate
PLC に対してタグ検証を再実行します
接続監視
デバイスページには、現在の接続状態、アクティブなプロトコル、最新のタグ値を示すライブの PLC Relay ステータスカードが表示されます。リレーが PLC に到達できない場合、カードには到達不能バナーが表示されます。
リレーが接続を失ったときに通知を受け取るには、デバイスの「Device Alerts」タブから「PLC Disconnected」アラートを追加してください。詳細は次を参照してください: Device Alerts の設定.
トラブルシューティング
「PLC に接続されていません」(Allen-Bradley)
PLC アドレス形式 (IP/Slot) を確認し、ポート 44818 に到達可能か確認してください
「PLC に接続されていません」(Modbus)
IP/ポート (デフォルト 502) を確認し、Unit ID がデバイスと一致することを確認してください
「PLC に接続されていません」(Siemens S7)
IP/ポート (デフォルト 102)、rack、slot の値を確認してください。S7-1200/1500 では PUT/GET を有効にし、optimized block access を無効にしてください
「Function refused」(Siemens S7)
TIA Portal で PUT/GET が無効、または対象 DB で optimized block access が有効
REAL 値の読み取りが文字化けする (Modbus)
逆の Word Order (big / little) を試してください
検証で NOT_FOUND が表示される
正確なタグ名が PLC プログラムにあるか確認してください (大文字小文字を区別)
最終更新
役に立ちましたか?