iaiops — 産業データタップ + インテリジェントトラブルシューティング
1つのガバナンス付きMCPサーバーが、8つの産業用プロトコルにまたがる66のツールと、クロスプロトコルインテリジェンス層を公開します。すべてのツールはiaiopsガバナンスハーネス(監査/予算/リスク階層/アンドゥ)を通過します。読み取り優先。 6つの書き込みツールは変更管理(Management-of-Change)としてゲートされています:risk=HIGH、dry_run=True(デフォルト)、CLIは二重確認が必要で、アンドゥのために変更前の値がキャプチャされます。許可なく本番制御システムに書き込まないでください。 プレビュー/モックまたはシミュレーションで検証してください — 実機と照合して確認してください。まずはprotocols_supportedで設定内容を確認し、<プロトコル> doctorでリンクをテストしてください。
ルーティングすべきケース
以下のトピックを含むタスク:OPC-UA / opc.tcp、Modbus、Siemens S7 / S7-1200/1500、Mitsubishi / MELSEC、MTConnect / CNC機械監視、MQTT / Sparkplug B / 統合名前空間、Allen-Bradley / ControlLogix / CompactLogix / EtherNet-IP、EtherCAT / CoE / SDO / PDO / SOEM、OEE / ダウンタイム、OT資産インベントリ、「データなし/古いタグ」診断、アラームフラッド / ISA-18.2。
プロトコル別ツール
OPC-UA(読み取り専用) — opc.tcp エンドポイント
opcua_server_info— ステータス、ビルド情報、名前空間配列opcua_browse— ノードIDからノードツリーをブラウズ(深さ制限あり)opcua_read_node— 値 + データ型 + ソースタイムスタンプ + ステータスコードopcua_read_many— ノードIDのバッチ読み取り(上限あり)opcua_subscribe_sample— 制限付きサンプリング、結果を返す(ループなし)opcua_read_alarms— ベストエフォートでアクティブアラーム/状態を表示opcua_read_history— Historical Access (HDA):指定期間の生の履歴health_summary— ノードIDを警告/アラーム閾値と照らし合わせて分類anomaly_scan— ノードをサンプリングし、統計的外れ値をフラグ付け
Modbus-TCP(ここでは読み取り専用)
modbus_read_holding(FC03)、modbus_read_input(FC04)、modbus_read_coils(FC01)、modbus_read_discrete(FC02) — デコードヒント付きmodbus_health_summary— レジスタを閾値と照らし合わせて分類
Siemens S7comm (pyS7; S7-300/400/1200/1500)
s7_cpu_info— CPU識別情報 + ラン/ストップs7_read_area— S7メモリ領域からN個のアイテムを読み取り(型指定)s7_read_db— データブロックからN個のアイテムを読み取りs7_read_many— 生のpyS7アドレス文字列をバッチ読み取りs7_write_db— [書き込み][高リスク][MOC] DBに1つの値を書き込む(デフォルトで無効)
Mitsubishi MC (pymcprotocol 3E; Q/L/iQ)
mc_cpu_status— MELSEC CPUの種類/コードmc_read_words/mc_read_bits— 先頭デバイスからのワード/ビットデバイスのバッチ読み取りmc_read_many— 1リクエストでワード+dwordをランダム読み取りmc_write_words— [書き込み][高リスク][MOC] ワードの書き込み(デフォルトで無効)
MTConnect(読み取り専用;すべてのCNC工作機械)
mtconnect_probe— デバイスモデル(デバイス→コンポーネント→データアイテム)mtconnect_current— 全データアイテムの最新値(マシンスナップショット)mtconnect_sample— 制限付きの最近の観測ストリームmtconnect_assets— 切削工具/治具/プログラムmtconnect_oee_snapshot— アベイラビリティ/実行/モード/プログラム(OEE入力)
MQTT / Sparkplug B / UNS (paho-mqtt; 完全なTahu protobufデコード)
mqtt_read_topic— プレーンMQTTの制限付きメッセージ収集sparkplug_decode_payload— 生のSparkplug Bペイロードをメトリクスにデコードsparkplug_subscribe_sample— 制限付きサンプリング、完全デコード + birth/death/seqsparkplug_node_list— エッジノード/デバイス + オンライン状態 + プライマリホストのSTATEuns_browse— フィルター下のライブトピックツリー(UNS)をブラウズ(制限付き)mqtt_publish— [書き込み][高リスク][MOC] トピックに公開/コマンド(デフォルトで無効)
Allen-Bradley EtherNet/IP (pycomm3; ControlLogix/CompactLogix)
eip_controller_info— コントローラーID(CIPリンクを証明)eip_list_tags— コントローラータグ一覧を発見(名前/型/構造)eip_read_tag— 1つのタグ(または配列要素)を型付きで読み取りeip_read_many— バッチ読み取り(自動マルチパケット)eip_write_tag— [書き込み][高リスク][MOC] タグ値を書き込む(デフォルトで無効)
EtherCAT (pysoem/SOEM; Linux + root/CAP_NET_RAW + 専用NIC + 実スレーブが必要)
オプションの追加インストール pip install iaiops[ethercat];ソフトウェアシミュレーターはなし(ハードウェアのみ、macOS非対応)。pysoem/パーミッション/NIC/バスがない場合、ツールは教育用エラーを返します。
ethercat_master_state— マスター/ワーキングカウンター状態 + 期待スレーブ数 vs 実際のスレーブ数ethercat_slaves— バススキャン:スレーブ列挙(id/ベンダー/製品/リビジョン/アドレス/AL状態)ethercat_slave_info— 1つのスレーブ:SM/FMMU設定 + オブジェクトディクショナリ概要ethercat_read_sdo— CoE SDOアップロード(非循環メールボックス読み取り)ethercat_read_pdo— スレーブの入力プロセスデータイメージの1回の循環スナップショットethercat_write_sdo— [書き込み][高リスク][MOC] CoE SDOダウンロード(デフォルトで無効)ethercat_set_state— [書き込み][高リスク][MOC] AL状態遷移(モーションの開始/停止が可能;デフォルトで無効)
クロスプロトコルインテリジェンス
診断 — skills 傘下:トラブルシューティング
diagnose_dataflow— エンドポイントの到達可能ホップ間で「データなし」の断線箇所を特定historian_health— 時系列データの不良タグ/フラットライン/ギャップ検出alarm_bad_actors— ISA-18.2 アラームフラッド分析(レート vs <6/12/30、パレート原因、チャタリング、滞留)をイベントリストから実行tag_health— 不良品質/フラットライン/範囲/異常値でタグの原因をランク付け
分析
oee_compute— OEE = アベイラビリティ × パフォーマンス × 品質downtime_events— 実行中→停止遷移を検出し、停止を分類oee_multidim— 機械 × 部品 × シフトでOEEを集計asset_inventory— エンドポイント(ベンダー/モデル/ファームウェア/プロトコル)を能動的に指紋採取し、資産台帳を作成(アクティブ発見、パッシブSPAN/タップではない)monitor_changes— 制限付きウィンドウ内のポイントの値変更のみをキャプチャ
メタ/ロードマップ
protocols_supported— 機能マップ(プロトコル、状態、ツール、接続パラメータ)- ロードマップ:EtherCAT EoE/FoE/SoEメールボックスプロトコル;EtherNet/IP PLC-5 / SLC(PCCC)、Micro800;パッシブ資産発見;OPC-UA証明書セキュリティ。
セットアップ
iaiops init(インタラクティブウィザード、プロトコルごとのプロンプト)で~/.iaiops/config.yamlを作成。認証情報は暗号化ストア(~/.iaiops/secrets.enc、マスターパスワードは環境変数IAIOPS_MASTER_PASSWORD)に保存されます。iaiops doctorを実行して各設定済みエンドポイントをプローブします。完全なプロトコル別リファレンス、接続パラメータ、シミュレータテストガイド、MCP JSONの例はREADMEにあります。
安全性
読み取り優先。6つの書き込みツール(s7_write_db、mc_write_words、mqtt_publish、eip_write_tag、ethercat_write_sdo、ethercat_set_state)はデフォルトでdry_run=True、CLI二重確認が必要で、キャプチャされた変更前の値/状態からアンドゥ記述子を記録します。EtherCATの状態変更は機械のモーションを開始または停止させる可能性があります。許可なくこれを本番制御システムに向けないでください。どのツールも機密情報を返しません。