P&ID (Diagrama de Tuberías e Instrumentación)

Acerca de los P&IDs

Un diagrama de tuberías e instrumentación (P&ID) es el "diagrama de cableado" de ingeniería de una planta de proceso: cada recipiente, bomba, intercambiador de calor, válvula y lazo de instrumentos, dibujado con símbolos estandarizados y conectado por tuberías y líneas de señal. Los ingenieros de proceso, ingenieros de control y auditores de HSE leen el mismo P&ID para especificar la planta, ponerla en marcha, realizar revisiones de peligros (HAZOP) y operarla en producción. Son el entregable de ingeniería legalmente requerido para proyectos químicos, petroquímicos, farmacéuticos, de tratamiento de agua y generación de energía bajo OSHA PSM y EPA RMP.

Schematex implementa el catálogo de símbolos ANSI/ISA-5.1-2009 (burbujas de instrumentos, códigos de letras de etiqueta, tipos de líneas de señal) más símbolos de equipos de ISO 10628-1:2014 (recipientes, columnas, bombas, intercambiadores de calor). El DSL es intencionalmente compacto para que un LLM pueda generar un P&ID de lazo de control a partir de una descripción de proceso en un solo paso.

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·20.7 ms·6.0 KB SVG

1. Tu primer P&ID

Un P&ID mínimo tiene al menos un equipo y una línea de proceso.

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·2.9 ms·3.7 KB SVG

Tres reglas cubren el 80% del uso:

  1. Comienza el documento con pid (título opcional y atributos [direction: LR]).
  2. Declara cada equipo: equip <ID> : <type> [tag: "etiqueta"].
  3. Conéctalos con line <ID> from <equip>.<port> to <equip>.<port> [type: "process", size: "4\""].

La instrumentación se agrega por separado con inst <TAG> : <category> más cláusulas measures / controls indentadas.

Los comentarios usan # al inicio de una línea.


2. Equipos

La instrucción equip declara equipos de proceso. El catálogo sigue las convenciones 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 Catálogo de equipos

TipoSímboloPropósito
tank_atmCilindro + cúpula superiorTanque de almacenamiento atmosférico
tank_cone_roofCilindro + techo cónicoTanque de almacenamiento con techo cónico
vessel_vCápsula verticalRecipiente a presión vertical
vessel_hCápsula horizontalRecipiente a presión horizontal
sphereCírculo rellenoEsfera para GLP / amoníaco
column_trayCápsula alta + líneas horizontales de platosColumna de destilación con platos
column_packedCápsula alta + tramado cruzadoColumna de absorción empacada
hx_shell_tubeCápsula horizontal + haz de tubosIntercambiador de calor de carcasa y tubos
hx_air_cooledRectángulo + círculo de ventiladorEnfriador de aire (aletas)
reboilerCápsula + líneas de tubos paralelasRehervidor tipo caldera
condenserCápsula horizontal + tubosCondensador de cabezal
pump_centrifugalCírculo + triángulo de salida en el lado derechoBomba centrífuga
pump_pdCírculo + engranajes internosBomba de desplazamiento positivo
compressorTrapecio (estrecho a la derecha)Compresor centrífugo
blowerCírculo + ventilador de 3 aspasSoplador / ventilador
reactor_cstrCápsula vertical + agitadorReactor de tanque agitado (CSTR)
reactor_pfrCápsula horizontal + puntos de lecho empacadoReactor de flujo pistón / lecho fijo
filterRectángulo + tramado diagonalFiltro
cycloneCilindro + cono inferiorSeparador ciclónico
flareTorre alta + llamaTorre de antorcha
cooling_towerReloj de arenaTorre de enfriamiento de tiro inducido

2.2 Catálogo de válvulas

Las válvulas son equipos ubicados en la línea de tuberías. Se renderizan en estilo bowtie con decoración de actuador específica por tipo.

TipoDecoraciónPropósito
valve_gateBowtie simpleOn/off manual (paso completo)
valve_ballBowtie + círculo central rellenoOn/off manual (un cuarto de vuelta)
valve_globeBowtie + pequeño círculo superiorControl de flujo manual
valve_butterflyBowtie + línea vertical centralMariposa de estrangulamiento
valve_checkBowtie + arcoVálvula de retención
valve_controlBowtie + actuador de diafragmaVálvula de control neumática (en par con FIC)
valve_psvBowtie + salida 45° + pila de resorteVálvula de seguridad de alivio de presión
equip V-101 : valve_control [tag: "V-101 (FC)"]
equip V-303 : valve_psv     [tag: "V-303 · 150 psig"]

3. Líneas de tuberías y señal

La instrucción line conecta dos puntos de anclaje (puertos de equipos o etiquetas de instrumentos).

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 Sintaxis de anclajes

Cada extremo de una línea es:

  • <equip-id>.<port> — nombre del puerto de §2.2 (in, out, top, bottom, feed, shell_in, tube_out, reflux, etc.)
  • <equip-id> — puerto omitido; por defecto in (destino) / out (fuente) según la familia de equipos
  • <inst-tag> — centro de la burbuja del instrumento (líneas de señal)

3.2 Tipos de línea (ISA-5.1 §5)

type:TrazoUso
processSólido, gruesoLínea de proceso principal (predeterminado)
process_minorSólido, delgadoAuxiliar / utilidades
pneumaticSólido + marcas diagonalesSeñal de actuador de aire
electricGuión largoSeñal eléctrica / 4–20 mA
hydraulicGuión largo + pausaActuador hidráulico
capillaryPunteado (caps redondas)Temperatura de sistema lleno
softwareGuión corto, claroEnlace de datos interno DCS / PLC
mechanicalGuión mixtoConexión mecánica

3.3 Etiquetas de línea

El formato estándar de etiqueta PIP PIC001 es <size>"-<service>-<sequence>-<spec>. Pásalo mediante el atributo tag: y el renderizador coloca un pequeño rectángulo de etiqueta blanca en el punto medio de la línea.

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

4. Instrumentación (ISA-5.1 §4)

La instrucción inst declara una burbuja de instrumento. La etiqueta usa la convención de código de letras ISA: la primera letra es la variable medida, las letras posteriores son modificadores y función.

inst FT-101  : field_discrete         %% Transmisor de flujo, lazo 101
inst FIC-101 : cr_shared              %% Controlador indicador de flujo (DCS)
inst PSHH-301: cr_plc                 %% Switch de presión alta-alta (PLC)
inst LIC-201 : cr_shared
  measures D-201
  controls V-202

4.1 Códigos de letras (primera letra)

Los más usados: F flujo · L nivel · P presión · T temperatura · A análisis · S velocidad · H manual · Y evento/estado. Lista completa en la Tabla 1 de ISA-5.1.

4.2 Modificadores de función

I indicador · R registrador · C controlador · T transmisor · E elemento · V válvula · S switch · A alarma · H/L alto/bajo. Se combinan en la etiqueta de múltiples letras: FIC = Controlador Indicador de Flujo; PSHH = Switch de Presión Alta-Alta.

4.3 Categorías de burbuja

ISA-5.1 distingue ubicación (dónde vive el instrumento) y tipo (analógico vs. compartido vs. computadora vs. PLC). Schematex implementa las cuatro combinaciones más comunes:

CategoríaForma de burbujaUso
field_discreteCírculo simpleInstrumento analógico montado en campo (FT, PT)
cr_sharedCírculo + línea horizontal + hexágono inscritoPantalla HMI controlada por DCS
cr_computerCírculo + línea horizontal + diamante inscritoFunción de computadora (FY, cálculo)
cr_plcCírculo + línea horizontal + cuadrado inscritoLógica controlada por PLC

Las variantes field_* omiten la línea central horizontal; las variantes local_* usan una línea central punteada; las variantes cr_* usan una línea central sólida que indica "panel de control principal — frente."

4.4 measures / controls

Indentadas bajo una declaración inst:

CláusulaEfecto
measures <equip-id>Línea de señal eléctrica punteada enrutada automáticamente desde el equipo hasta la burbuja
controls <equip-id>Línea de señal neumática enrutada automáticamente desde la burbuja hasta el equipo (normalmente un valve_control)
inst FT-101 : field_discrete
  measures P-101
inst FIC-101 : cr_shared
  controls V-101

Estas señales automáticas son independientes de las instrucciones line explícitas; se renderizan con el estilo de línea de señal apropiado según el tipo de relación.


5. Dirección del diseño

La dirección predeterminada es LR (izquierda a derecha) — la alimentación del proceso entra por la izquierda, el producto sale por la derecha. Puede sobreescribirse en el encabezado:

pid "Distillation Tower" [direction: TB]

equip T-201 : column_tray

El diseño MVP coloca los equipos en orden de declaración a lo largo de la dirección principal con enrutamiento de señales Manhattan. Los diseños de múltiples filas / flujo paralelo y las uniones T son elementos del roadmap — ver §9.


6. Ejemplo de trabajo: Columna de destilación

Un lazo real de condensador de cabezal con rehervidor, tambor de reflujo e instrumentación:

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.0 ms·8.0 KB SVG

7. Gramática (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     %% ej., "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_-]*

Fuente autorizada: src/diagrams/pid/parser.ts. Si esto difiere del parser, el parser tiene precedencia — por favor abre un issue.


8. Cumplimiento del estándar

Lo que está implementado hoy (MVP P0):

  • ✅ 22 símbolos de equipos de proceso (recipientes, columnas, bombas, intercambiadores, reactores, separadores, antorcha, torre de enfriamiento)
  • ✅ 7 símbolos de válvulas (compuerta, bola, globo, mariposa, retención, control con actuador de diafragma, PSV con salida diagonal + resorte)
  • ✅ 4 categorías de burbujas de instrumento × 2 clases de ubicación = 8 variantes de burbuja ISA-5.1 (campo/sala de control × discreta/compartida/computadora/PLC)
  • ✅ Análisis de etiquetas con código de letras ISA (FT-101, LIC-203, PSHH-301)
  • ✅ 8 estilos de tipo de línea (proceso / proceso_menor / neumática / eléctrica / hidráulica / capilar / software / mecánica)
  • ✅ Líneas de señal measures y controls enrutadas automáticamente
  • ✅ Etiquetas de línea renderizadas como rectángulos de fondo blanco en el punto medio de la línea
  • ✅ Enrutamiento Manhattan, diseño de equipos en fila única

Aún no implementado (ver roadmap):

  • ⏳ Colocación en múltiples filas / flujo paralelo (ej. dos bombas convergiendo en un mezclador)
  • ⏳ Uniones T y ramificaciones de tuberías
  • ⏳ Detección de cruces (saltos en cruces de tuberías)
  • ⏳ Superposiciones de bloques de función (Σ sumador, PID, selectores)
  • ⏳ Diamante de enclavamiento y círculo de permiso (ISA-5.06)
  • ⏳ Decoración de líneas trazadas térmicamente / con camisa
  • ⏳ Reductor (concéntrico / excéntrico) en línea
  • ⏳ Anotaciones de boquillas en recipientes

Referencias:

  • ANSI/ISA-5.1-2009 — Instrumentation Symbols and Identification (estándar de EE.UU.)
  • ISO 10628-1:2014 — Diagrams for the chemical and petrochemical industry (internacional)
  • ISA-5.06.01-2007 — Functional Requirements Documentation for Control Software
  • PIP PIC001 — Criterios de documentación de diagramas de tuberías e instrumentación (suplemento de la industria)

9. Roadmap

El P&ID MVP cubre un único lazo de control lineal (tanque → bomba → válvula de control → instrumentación). Las plantas reales necesitan colocación en 2D y uniones T. Planificado para v0.4:

  • Extensión de DSL: equip ... [row: 0, col: 2] sugerencias de carril / cuadrícula para diseños de flujo múltiple
  • Primitiva tee: tee T1 on L1 para expresar una ramificación de 3 vías en una línea de proceso
  • Primitiva junction: punto de unión ISA para conexión de tuberías
  • Detección de cruces: cuando dos tuberías se cruzan, renderizar la inferior con un pequeño arco de salto
  • Bloques de función: sumador Σ, controlador PID, selector LS/HS bajo/alto
  • Símbolos de enclavamiento: diamante interlock I-301, círculo permissive P-202
  • Reductor en línea: reductores concéntricos / excéntricos como decoraciones de línea
  • Lista de boquillas: anotaciones de puertos laterales en símbolos de recipientes (N1, N2, …)

Por ahora, los esquemas de control de lazo único se renderizan limpiamente; los P&IDs complejos de múltiples corrientes necesitan sugerencias de posición manual (diferido).


Ejemplos relacionados

Escenarios listos para usar de la galería de ejemplos:

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.