P&ID(配管計装図)

Schematex の P&ID エンジンを使って、ANSI/ISA-5.1-2009 準拠の配管計装図をテキスト DSL から生成する方法を解説します。

P&ID について

配管計装図(P&ID) は、プロセスプラントの「配線図」に相当するエンジニアリングドキュメントです。すべての容器、ポンプ、熱交換器、バルブ、計装ループが標準化されたシンボルで描かれ、配管とシグナルラインで接続されています。プロセスエンジニア、制御エンジニア、HSE 監査員は同じ P&ID を参照して、プラントの仕様策定、試運転、ハザード評価(HAZOP)、本番運転を行います。P&ID は、OSHA PSM および EPA RMP のもとで化学、石油化学、製薬、水処理、発電プロジェクトに法的に要求されるエンジニアリング成果物です。

Schematex は ANSI/ISA-5.1-2009 のシンボルカタログ(計器バブル、タグ文字コード、シグナルライン種別)と、ISO 10628-1:2014 の機器シンボル(容器、塔、ポンプ、熱交換器)を実装しています。DSL は意図的にコンパクトに設計されており、LLM がプロセス記述から制御ループ P&ID を一度のプロンプトで生成できます。

P&ID·§ ISA-5.1 / ISO 10628
↘ preview
100%
P&ID — Pump with Flow Control ISA-5.1 / ISO 10628 P&ID rendered by Schematex Pump with Flow Control Feed Tank P-101 V-101 Filter V-201 FT 101 FIC 101
UTF-8 · LF · 17 lines · 658 chars✓ parsed·3.8 ms·6.0 KB SVG

1. はじめての P&ID

最小構成の P&ID は、少なくとも 1 つの機器と 1 本のプロセスラインで成り立ちます。

P&ID·§ ISA-5.1 / ISO 10628
↘ preview
100%
P&ID ISA-5.1 / ISO 10628 P&ID rendered by Schematex T-1 P-1 V-1
UTF-8 · LF · 8 lines · 206 chars✓ parsed·0.6 ms·3.7 KB SVG

80% のケースは次の 3 つのルールで対応できます。

  1. ドキュメントの先頭に pid を記述します(タイトルと [direction: LR] 属性は省略可能)。
  2. 各機器を equip <ID> : <type> [tag: "label"] で宣言します。
  3. line <ID> from <equip>.<port> to <equip>.<port> [type: "process", size: "4\""] で機器を接続します。

計装は inst <TAG> : <category> とインデントされた measures / controls 節で別途追加します。

コメントは行頭の # を使用します。


2. 機器

equip 文でプロセス機器を宣言します。カタログは ISO 10628 / ISA-5.1 の規則に従っています。

equip T-101 : tank_atm [tag: "Feed Tank"]
equip P-101 : pump_centrifugal
equip E-201 : hx_shell_tube [tag: "Overhead Cond"]
equip T-201 : column_tray [tag: "Stripper"]

2.1 機器カタログ

タイプシンボル用途
tank_atmシリンダー+ドーム頂部常圧貯蔵タンク
tank_cone_roofシリンダー+コーン屋根コーン屋根貯蔵タンク
vessel_v縦型カプセル縦型圧力容器
vessel_h横型カプセル横型圧力容器
sphere塗りつぶし円LPG / アンモニア球形タンク
column_tray縦長カプセル+水平トレイライン蒸留トレイ塔
column_packed縦長カプセル+クロスハッチ充填吸収塔
hx_shell_tube横型カプセル+管束シェル&チューブ熱交換器
hx_air_cooled矩形+ファン円空冷式(フィンファン)クーラー
reboilerカプセル+平行チューブラインケトルリボイラー
condenser横型カプセル+チューブオーバーヘッドコンデンサー
pump_centrifugal円+右側三角形出口遠心ポンプ
pump_pd円+内部ギア容積式ポンプ
compressor台形(右側が狭い)遠心圧縮機
blower円+3 枚羽根ファンブロワー / ファン
reactor_cstr縦型カプセル+攪拌機攪拌槽型反応器(CSTR)
reactor_pfr横型カプセル+充填床ドットプラグフロー / 固定床反応器
filter矩形+斜線ハッチフィルター
cycloneシリンダー+コーン底部サイクロン分離器
flare縦長スタック+炎フレアスタック
cooling_tower砂時計形誘引通風型冷却塔

2.2 バルブカタログ

バルブは配管ライン上に配置される機器です。タイプ固有のアクチュエーター装飾付きの bowtie スタイルで描画されます。

タイプ装飾用途
valve_gateシンプルな蝶ネクタイ手動開閉(全口径)
valve_ball蝶ネクタイ+塗りつぶし中心円手動開閉(1/4 回転)
valve_globe蝶ネクタイ+上部小円手動流量制御
valve_butterfly蝶ネクタイ+中央縦線1/4 回転スロットル
valve_check蝶ネクタイ+アーク逆止弁
valve_control蝶ネクタイ+ダイアフラムアクチュエーター空気圧制御弁(FIC と組み合わせ)
valve_psv蝶ネクタイ+45° 出口+スプリングスタック圧力安全弁
equip V-101 : valve_control [tag: "V-101 (FC)"]
equip V-303 : valve_psv     [tag: "V-303 · 150 psig"]

3. 配管・シグナルライン

line 文で 2 つのアンカーポイント(機器ポートまたは計器タグ)を接続します。

line L1 from T-101.bottom to P-101.in  [size: "4\"", service: "water", type: "process"]
line s1 from FT-101 to FIC-101         [type: "electric"]
line s2 from FIC-101 to V-101          [type: "pneumatic"]

3.1 アンカー構文

ラインの各端点は次のいずれかです。

  • <equip-id>.<port> — §2.2 のポート名(inouttopbottomfeedshell_intube_outreflux など)
  • <equip-id> — ポートを省略した場合、機器ファミリーに応じてデフォルトは in(接続先)/ out(接続元)
  • <inst-tag> — 計器バブルの中心(シグナルライン用)

3.2 ラインタイプ(ISA-5.1 §5)

type:線種用途
process実線・太主プロセスライン(デフォルト)
process_minor実線・細補助 / ユーティリティ
pneumatic実線+斜めティックマーク空気圧アクチュエーターシグナル
electric長破線電気 / 4–20 mA シグナル
hydraulic長破線+休止油圧アクチュエーター
capillary点線(丸キャップ)充填システム温度
software短破線・細DCS / PLC 内部データリンク
mechanical混合破線機械的連結

3.3 ラインタグ

標準的な PIP PIC001 タグ形式は <size>"-<service>-<sequence>-<spec> です。tag: 属性で指定すると、ラインの中点に小さな白いタグ矩形が配置されます。

line L1 from T-101.bottom to P-101.in [size: "4\"", service: "PG", tag: "4\"-PG-101-A1B"]

4. 計装(ISA-5.1 §4)

inst 文で計器バブルを宣言します。タグは ISA 文字コード規則を使用します。最初の文字が測定変数、以降の文字が修飾子機能を表します。

inst FT-101  : field_discrete         %% 流量トランスミッター、ループ 101
inst FIC-101 : cr_shared              %% 流量指示コントローラー(DCS)
inst PSHH-301: cr_plc                 %% 圧力スイッチ高高(PLC)
inst LIC-201 : cr_shared
  measures D-201
  controls V-202

4.1 文字コード(第 1 文字)

よく使われるもの:F 流量 · L レベル · P 圧力 · T 温度 · A 分析 · S 速度 · H 手動 · Y イベント/状態。全リストは ISA-5.1 表 1 を参照。

4.2 機能修飾子

I 指示 · R 記録 · C 制御 · T 伝送 · E 検出素子 · V バルブ · S スイッチ · A アラーム · H/L 高/低。複数文字のタグに組み合わせます:FIC = 流量指示コントローラー;PSHH = 圧力スイッチ高高。

4.3 バブルカテゴリー

ISA-5.1 は設置場所(計器の配置場所)とタイプ(アナログ / 共有 / コンピューター / PLC)を区別します。Schematex は最も一般的な 4 つの組み合わせを実装しています。

カテゴリーバブル形状用途
field_discreteシンプルな円現場設置アナログ計器(FT、PT)
cr_shared円+水平線+六角形内書きDCS 制御 HMI ディスプレイ
cr_computer円+水平線+ダイヤモンド内書きコンピューター機能(FY、演算)
cr_plc円+水平線+四角形内書きPLC 駆動ロジック

field_* バリアントは水平中心線を省略;local_* バリアントは破線の中心線;cr_* バリアントは実線の中心線(「主制御盤前面」を示す)を使用します。

4.4 measures / controls

inst 宣言の下にインデントして記述します。

効果
measures <equip-id>機器からバブルへの自動ルーティング破線電気シグナルライン
controls <equip-id>バブルから機器(通常は valve_control)への自動ルーティング空気圧シグナルライン
inst FT-101 : field_discrete
  measures P-101
inst FIC-101 : cr_shared
  controls V-101

これらの自動シグナルは明示的な line 文とは独立しており、関係タイプに基づいて適切なシグナルライン種別でレンダリングされます。


5. レイアウト方向

デフォルト方向は LR(左から右)です。プロセスフィードが左から入り、製品が右に出ます。ヘッダーで変更できます。

pid "Distillation Tower" [direction: TB]

equip T-201 : column_tray

MVP レイアウトは宣言順に主方向沿いに機器を配置し、マンハッタンシグナルラインルーティングを使用します。多段 / 並列フローレイアウトと T 字分岐はロードマップ項目です(§9 参照)。


6. 使用例:蒸留塔

実際のオーバーヘッドコンデンサーループ(リボイラー、還流ドラム、計装付き):

P&ID·§ ISA-5.1 / ISO 10628
↘ preview
100%
P&ID — Distillation T-201 ISA-5.1 / ISO 10628 P&ID rendered by Schematex Distillation T-201 T-201 Overhead Cond Reflux Drum Reflux Pump Reboiler PT 201 LIC 201 TIC 201
UTF-8 · LF · 20 lines · 815 chars✓ parsed·2.4 ms·8.0 KB SVG

7. 文法(EBNF)

document    = header statement*
header      = "pid" ( title )? ( "[" attrs "]" )? NEWLINE
attrs       = attr ("," attr)*
attr        = "direction:" ("LR" | "TB")
            | "units:" ("imperial" | "metric")

statement   = comment
            | equipment-decl
            | line-decl
            | instrument-decl

equipment-decl = "equip" ID ":" equip-type ( "[" attr-list "]" )? NEWLINE
equip-type     = "tank_atm" | "tank_cone_roof"
               | "vessel_v" | "vessel_h" | "sphere"
               | "column_tray" | "column_packed"
               | "hx_shell_tube" | "hx_air_cooled" | "reboiler" | "condenser"
               | "pump_centrifugal" | "pump_pd"
               | "compressor" | "blower"
               | "reactor_cstr" | "reactor_pfr"
               | "filter" | "cyclone" | "flare" | "cooling_tower"
               | "valve_gate" | "valve_ball" | "valve_globe" | "valve_butterfly"
               | "valve_check" | "valve_control" | "valve_psv"

line-decl   = "line" ID "from" anchor "to" anchor ( "[" attr-list "]" )? NEWLINE
anchor      = ID ( "." port )?
port        = "in" | "out" | "top" | "bottom" | "left" | "right"
            | "feed" | "reflux" | "shell_in" | "shell_out"
            | "tube_in" | "tube_out" | "vapor_out" | "liquid_out"
            | "bottom_return"

instrument-decl = "inst" tag ":" inst-category ( "[" attr-list "]" )? NEWLINE
                  ( indented "measures" anchor NEWLINE )*
                  ( indented "controls" ID NEWLINE )*
tag             = letter-code "-" loop-num     %% 例:"FIC-101"
inst-category   = "field_discrete" | "field_shared" | "field_computer" | "field_plc"
                | "cr_discrete"    | "cr_shared"    | "cr_computer"    | "cr_plc"
                | "local_discrete" | "local_shared"

attr-list   = attr ("," attr)*
attr        = key ":" value
key         = "tag" | "size" | "service" | "type" | "set_pressure"
            | "actuator" | "fail" | "trays" | …
value       = quoted-string | bare-word

ID          = [A-Za-z] [A-Za-z0-9_-]*

正式な仕様は src/diagrams/pid/parser.ts です。このドキュメントとパーサーで差異がある場合はパーサーが優先されます。差異を発見した場合は Issue を開いてください。


8. 標準準拠

現時点での実装(P0 MVP):

  • ✅ 22 種類のプロセス機器シンボル(容器、塔、ポンプ、熱交換器、反応器、分離器、フレア、冷却塔)
  • ✅ 7 種類のバルブシンボル(ゲート、ボール、グローブ、バタフライ、チェック、ダイアフラムアクチュエーター付き制御弁、斜め出口+スプリング付き PSV)
  • ✅ 計器バブルカテゴリー 4 種類 × 設置場所クラス 2 種類 = ISA-5.1 バブルバリアント 8 種類(現場 / 中央操作室 × 個別 / 共有 / コンピューター / PLC)
  • ✅ ISA 文字コードタグのパース(FT-101LIC-203PSHH-301
  • ✅ 8 種類のラインタイプスタイル(プロセス / プロセスマイナー / 空気圧 / 電気 / 油圧 / キャピラリー / ソフトウェア / 機械)
  • measurescontrols シグナルラインの自動ルーティング
  • ✅ ラインの中点に白背景矩形としてラインタグをレンダリング
  • ✅ マンハッタンルーティング、一段機器レイアウト

未実装(ロードマップ参照):

  • ⏳ 多段 / 並列フロー配置(例:2 台のポンプをミキサーに合流させる)
  • ⏳ T 字分岐と分岐配管
  • ⏳ 交差検出(配管交差時のジャンパーホップ)
  • ⏳ ファンクションブロックオーバーレイ(Σ サマー、PID、セレクター)
  • ⏳ インターロックダイヤモンドとパーミッシブ円(ISA-5.06)
  • ⏳ トレース加熱 / ジャケット付きラインの装飾
  • ⏳ インラインレデューサー(同心 / 偏心)
  • ⏳ 容器のノズルアノテーション

参考資料:

  • ANSI/ISA-5.1-2009 — Instrumentation Symbols and Identification(米国標準)
  • ISO 10628-1:2014 — Diagrams for the chemical and petrochemical industry(国際標準)
  • ISA-5.06.01-2007 — Functional Requirements Documentation for Control Software
  • PIP PIC001 — Piping & Instrumentation Diagram Documentation Criteria(業界補足)

9. ロードマップ

MVP の P&ID は単一の線形制御ループ(タンク → ポンプ → 制御弁 → 計装)をカバーします。実際のプラントでは 2D 配置と T 字分岐が必要です。v0.4 で予定:

  • DSL 拡張:多流れレイアウト用の equip ... [row: 0, col: 2] レーン / グリッドヒント
  • tee プリミティブ:プロセスラインの 3 方向分岐を表現する tee T1 on L1
  • junction プリミティブ:配管接続用の ISA 接続ドット
  • 交差検出:2 本の配管が交差する場合、下側の配管に小さなアーク膨らみをレンダリング
  • ファンクションブロックΣ サマー、PID コントローラー、LS/HS ロー / ハイセレクター
  • インターロックシンボルinterlock I-301 ダイヤモンド、permissive P-202
  • インラインレデューサー:ラインデコレーションとしての同心 / 偏心レデューサー
  • ノズルリスト:容器シンボルのサイドポートアノテーション(N1N2、…)

現時点では、単一ループ制御スキームがそのまま綺麗にレンダリングされます。複雑な多ストリーム P&ID には手動位置ヒントが必要です(後回し)。


関連サンプル

サンプルギャラリーからすぐに使えるシナリオ:

pid·§ ANSI/ISA-5.1-2009 + ISO 10628-1:2014
P&ID — Water Pump Flow Control ISA-5.1 / ISO 10628 P&ID rendered by Schematex Water Pump Flow Control Feed Tank Feed Pump V-101 Isolation FT 101 FIC 101
Pump with flow control loop (P&ID)
Classic centrifugal pump pulling from an atmospheric tank, with a flow transmitter (FT-101), flow indicating controller (FIC-101), and a fail-closed pneumatic control valve — the minimum viable P&ID that every process engineer recognises at a glance.
water-treatment
pid·§ ANSI/ISA-5.1-2009 + ISO 10628-1:2014
P&ID — High-Pressure Reactor Feed ISA-5.1 / ISO 10628 P&ID rendered by Schematex High-Pressure Reactor Feed Raw Material Tank Feed Pump P-201A/B Feed Pre-heater Reactor R-201 V-201 V-202 V-203 FT 201 FIC 201 TT 201 TIC 201 PT 201 PSHH 201
Reactor feed with multi-loop control and pressure safety (P&ID)
CSTR reactor system with centrifugal pump, shell-and-tube pre-heater, flow control on the feed line, temperature control on the product outlet, and a PSHH pressure switch interlock — four instrument loops in one diagram, covering the core vocabulary of ISA-5.1 P&ID engineering.
chemical-processing

Found this useful?

Schematex is free, fully open source, and zero-dependency. A star helps other developers discover it.