Obsidean_VM/01-Documentation/Python/Scripts Python/XML to SCL Siemens/LAD Descriptions from XDA f...

8.8 KiB

Objeto de TIA Portal Openness : TIA Portal Information System

Metodología para esta tabla:

  • Me centraré en los Name de Part que son comúnmente usados o deducibles para elementos LAD estándar.
  • Incluiré elementos estructurales (Wire_T, Network_T).
  • Consideraré los TemplateValue Name="..." Type="..." que ayudan a especializar un Part genérico.
  • Mencionaré cuando la Interface (de SW.InterfaceSections_v5.xlm.txt) es crucial para definir los pines de un bloque.

Tabla de Elementos LAD/FBD Derivados de los XSDs

Elemento XML Principal / Part Name (o inferido) Elemento LAD/FBD Típico Descripción / Función Pines/Parámetros Clave (XML) Operando Asociado (XML Access) / Tipo de Instancia Referencia XSD Primaria
Estructura de Red
Network_T (contenido dentro de FlgNet en CompileUnit) Red (Network) Contenedor para una secuencia lógica de LAD/FBD. Parts (lista de elementos), Wires (lista de conexiones) - SW.PlcBlocks.LADFBD_v4.xsd
Wire_T Cable (Wire) Conecta pines de diferentes Parts. NameCon (pin/UID origen), IdentCon (pin/UID destino), Points (para ruta visual) - SW.PlcBlocks.LADFBD_v4.xsd
Powerrail (como origen en Wire_T) Riel Izquierdo (Power Rail) Inicio del flujo de potencia en la red. - - SW.PlcBlocks.LADFBD_v4.xsd
Elementos Lógicos LAD Básicos (Part_T)
Part con Name="Contact" Contacto Evalúa una condición booleana. operand (pin para el valor lógico), EN, ENO.
TemplateValue Name="Type": "NormallyOpen", "NormallyClosed", "PositiveTransition", "NegativeTransition", "Comparator".
TemplateValue Name="Card" (Cardinalidad)
Access a BOOL SW.PlcBlocks.LADFBD_v4.xsd
Part con Name="Coil" Bobina Asigna un valor booleano. operand (pin para el valor lógico), EN, ENO.
TemplateValue Name="Type": "Assign", "Set", "Reset", "PositivePulse", "NegativePulse".
TemplateValue Name="Card"
Access a BOOL SW.PlcBlocks.LADFBD_v4.xsd
Part con Name="Negation" Bobina de Negación / NOT Invierte el estado lógico. IN (entrada), OUT (salida) - SW.PlcBlocks.LADFBD_v4.xsd
Elementos Estructurales LAD (Part_T)
Part con Name="OpenBranch" Abrir Rama Inicia una rama paralela. -
TemplateValue Name="Type": "OR" (típicamente)
- SW.PlcBlocks.LADFBD_v4.xsd
Part con Name="CloseBranch" Cerrar Rama Cierra una rama paralela. - - SW.PlcBlocks.LADFBD_v4.xsd
Bloques de Instrucción Comunes (Part_T con Name específico o genérico + Interface)
Part con Name="ADD", "SUB", "MUL", "DIV" (o Name="Box"/"InstructionBox" con interfaz correspondiente) Bloque Aritmético Realiza operaciones aritméticas. EN, ENO.
Interface: IN1, IN2 (entradas), OUT (salida). Tipos: INT, DINT, REAL, etc.
Access a numéricos SW.PlcBlocks.LADFBD_v4.xsd, SW.InterfaceSections_v5.xlm.txt
Part con Name="MOVE" (o Name="Box"/"InstructionBox" con interfaz correspondiente) Bloque de Movimiento Copia un valor a otro. EN, ENO.
Interface: IN (entrada), OUT (salida). Tipo: ANY.
Access a variables SW.PlcBlocks.LADFBD_v4.xsd, SW.InterfaceSections_v5.xlm.txt
Part con Name="CMP" (o Name="Compare", o Name="Box" con interfaz de comparación) Bloque de Comparación Compara dos valores. EN, ENO.
Interface: IN1, IN2 (entradas), OUT (salida BOOL).
TemplateValue Name="Mode": "EQ", "NE", "GT", "GE", "LT", "LE".
Access a numéricos/comparables SW.PlcBlocks.LADFBD_v4.xsd, SW.InterfaceSections_v5.xlm.txt
Part con Name="CONV" (o Name="Box" con interfaz de conversión) Bloque de Conversión Convierte un valor de un tipo a otro. EN, ENO.
Interface: IN (entrada), OUT (salida). Tipos varían.
Access a variables SW.PlcBlocks.LADFBD_v4.xsd, SW.InterfaceSections_v5.xlm.txt
Temporizadores y Contadores (Part_T con Name específico o como SFB)
Part con Name="TON", "TOF", "TP" (Temporizadores IEC, a menudo como SFBs) o Name="S_ONDELAY", "S_ODT", "S_PULSE" (Temporizadores S7) Bloque Temporizador Operaciones de temporización. EN, ENO.
Interface: IN (BOOL), PT (TIME), Q (BOOL), ET (TIME).
Instance_T (#timerVar o DB de instancia), Access para IN, PT. SW.PlcBlocks.LADFBD_v4.xsd, SW.InterfaceSections_v5.xlm.txt
Part con Name="CTU", "CTD", "CTUD" (Contadores IEC, a menudo como SFBs) o Name="S_CU", "S_CD", "S_CUD" (Contadores S7) Bloque Contador Operaciones de conteo. EN, ENO.
Interface: CU/CD (BOOL), R (Reset, BOOL), LD (Load, BOOL), PV (Preset Value, INT/DINT), Q/QU/QD (BOOL), CV (INT/DINT).
Instance_T (#counterVar o DB de instancia), Access para entradas. SW.PlcBlocks.LADFBD_v4.xsd, SW.InterfaceSections_v5.xlm.txt
Control de Programa (Part_T)
Part con Name="JMP" (o Name="Jump") Salto (JMP) Salta a una etiqueta. EN (para salto condicional), ENO.
Parámetro o atributo para el nombre de la etiqueta destino.
- SW.PlcBlocks.LADFBD_v4.xsd
Part con Name="LABEL" (o Name="Label") Etiqueta (LBL) Destino para un salto. Atributo con el nombre de la etiqueta. - SW.PlcBlocks.LADFBD_v4.xsd (implícito, a menudo asociado a un punto en la red)
Part con Name="RETURN" Retorno (RET) Termina la ejecución del bloque. EN (para retorno condicional). - SW.PlcBlocks.LADFBD_v4.xsd
Part con Name="CALL" (o el nombre del FC/FB llamado, o Name="Box"/"InstructionBox") Llamada a Bloque (FC/FB) Ejecuta otro bloque. EN, ENO.
Interface (pines del bloque llamado).
Access para parámetros de entrada/salida. Instance_T para FBs. SW.PlcBlocks.LADFBD_v4.xsd, SW.InterfaceSections_v5.xlm.txt
Misceláneos
Parameter_T (dentro de Part_T o CallInfo_T) Parámetro de Bloque Define un pin de entrada/salida/InOut de un Part. Name, Datatype, Section (Input, Output, InOut). Puede contener Access o Connection. Varía SW.PlcBlocks.LADFBD_v4.xsd
Access_T (referenciado desde Part o Parameter) Operando Representa una variable, constante o dirección. Varía según el tipo de acceso (Symbol, Constant, Address, etc.) - SW.PlcBlocks.Access_v4.xsd
Constant_T (dentro de Access_T) Constante Un valor literal. ConstantType, Value. - SW.PlcBlocks.Access_v4.xsd
Symbol_T (dentro de Access_T) Símbolo (Variable) Una variable simbólica. Component (para nombres estructurados o UDTs), Scope. - SW.PlcBlocks.Access_v4.xsd
Address_T (dentro de Access_T) Dirección Absoluta Una dirección de memoria directa (I, Q, M). Area, Type, BitOffset, ByteOffset. - SW.PlcBlocks.Access_v4.xsd
Comment_T (asociado a Red o Part) Comentario Texto descriptivo. MultiLanguageText. - SW.Common_v3.xsd
Elementos Gráficos (implícitos o atributos)
Atributos/Elementos para posición y tamaño (ej. ViewInfo_T, XPos, YPos, Width, Height) Posición/Tamaño Visual Dónde y cómo se dibuja el elemento. Coordenadas, dimensiones. - SW.Common_v3.xsd, atributos en Part_T o Wire_T

Consideraciones Adicionales:

  • CallInfo_T y Call_T: Estos tipos en SW.PlcBlocks.LADFBD_v4.xsd son importantes para las llamadas a bloques. CallInfo_T puede contener una lista de Parameter_T que especifican las asignaciones a los pines del bloque llamado.
  • Instrucciones Complejas: Algunas "instrucciones" que en STL son una sola línea (ej. ciertas conversiones o manipulaciones de bits) pueden aparecer como una "caja" (un Part) en LAD/FBD si tienen múltiples entradas/salidas o una interfaz más compleja.
  • Bloques Tecnológicos (Motion, PID): Estos tendrían sus propios Name para el Part (ej. "MC_MoveAbsolute", "PID_Compact") y una Interface muy específica definida por sus XSDs particulares (ej. SW.TechnologicalObjects_Parameters_v1.xlm.txt, etc., aunque estos XSDs describen más los parámetros internos que la representación LAD).

Esta tabla es un intento de cubrir los elementos más comunes y estructurales de LAD/FBD según los XSDs proporcionados. La forma más segura de confirmar la representación de un elemento LAD específico es siempre exportar un ejemplo de TIA Portal y analizar el XML resultante, usando estos XSDs como guía para interpretarlo.