Upload
liz-fabiola
View
78
Download
8
Embed Size (px)
Citation preview
Manual de Referencia
PL7 Micro/Junior/Pro
Anexos
35
0095
70_0
0
Marzo 2005spa
2
Estructura de la documentación
Estructura de la documentación
Presentación Este manual se compone de tres tomos:� Tomo 1: Descripción del programa PL7
� Generalidades� Lenguaje de contactos� Lenguaje de la lista de instrucciones� Lenguaje del literal estructurado� Lenguaje Grafcet� Bloques de función DFB� Módulos Funcionales
� Tomo 2: Descripción detallada de las instrucciones y de las funciones� Instrucciones de base� Instrucciones avanzadas� Objetos bit y palabras del sistema
� Tomo 3: Anexos� Diferencias entre PL7-2/3 y PL7-Micro/Junior� Ayuda-memoria� Lista de las palabras reservadas� Normas CEI 1131-3� Servidor OLE Automation� Rendimiento
3
Estructura de la documentación
4
Tabla de materias
Acerca de este libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Capítulo 1 Diferencias entre PL7-2/3 y PL7 Micro/Junior . . . . . . . . . . . . . 11Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Valores inmediatos y etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Palabras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Bloques de función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Tablas de bits y de palabras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Bloques de función opcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Delimitadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Capítulo 2 Ayuda-memoria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Instrucciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Instrucciones ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Bloques de función LD e IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Bloques de función ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Estructuras de control ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Aritmética entera (longitud simple y doble) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Aritmética en flotantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Conversiones numéricas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Tablas de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Instrucciones sobre tablas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Instrucciones sobre tablas de flotantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Instrucciones "Orphée" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Intercambios explícitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Instrucciones de gestión del tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Instrucciones de temporización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Instrucciones de archivado de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Instrucciones de cadenas de caracteres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Multitarea y sucesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5
Capítulo 3 Palabras reservadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Palabras reservadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Capítulo 4 Conformidad con la norma CEI 1131-3 . . . . . . . . . . . . . . . . . . 59Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Conformidad con la norma CEI 1131-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Elementos comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Elementos de lenguaje IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Elementos de lenguaje ST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Elementos gráficos comunes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Elementos de lenguaje LD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Parámetros que dependen de la implementación . . . . . . . . . . . . . . . . . . . . . . . . 72Situaciones de error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Capítulo 5 Servidor OLE Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79Presentación del servidor OLE Automation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80Modos de funcionamiento del servidor OLE Automation. . . . . . . . . . . . . . . . . . . 82
5.2 Puesta en marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Instalación de OLE Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Mecanismo de acceso al servidor PL7 OLE Automation. . . . . . . . . . . . . . . . . . . 85Inicio del servidor en modo local (modo COM) . . . . . . . . . . . . . . . . . . . . . . . . . . 86Inicio del servidor en modo remoto (DCOM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Puesta en marcha del servidor en modo remoto . . . . . . . . . . . . . . . . . . . . . . . . . 89Modos de ejecución del servidor PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Puntos de entrada: función OLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.3 Funciones OLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93OpenStx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95CloseStx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96OpenStxWithMaj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97ExportScyFile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98ExportFeFile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99ExportFefFileWithConfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100DisconnectPLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101ConnectPLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102SaveStx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103DownloadDataToPLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104DownloadToPLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106UploadFromPLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107UploadDataFromPLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108UploadFromPLCWithSymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110GetSymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6
SetServerIHM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113SetDownloadFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114GetPL7State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115GetSTXAppIdentity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116GetPLCAppIdentity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117SendCommandToPLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119SetDriverAndAdresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120OpenTool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121SetPosPL7Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123ShowProgram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124CloseProgram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125ShowIOModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126CloseIOModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127ShowDFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128CloseDFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129GetMessageError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130GetServerVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131ImportScyFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132DownloadStationWithSymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133CompareSymbolPCAndSymbolPLCAppli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Capítulo 6 Rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
6.1 Información general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Principios de cálculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
6.2 Rendimiento de las instrucciones en autómatas Micro . . . . . . . . . . . . . . . . . . . 140Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Rendimiento de las instrucciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . 141Rendimiento de los bloques de función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Aritmética entera y con coma flotante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Instrucciones sobre el programa y estructuras de control. . . . . . . . . . . . . . . . . 150Conversiones digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152Instrucciones sobre cadena de bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Instrucción sobre tablas de palabras, palabras dobles y flotantes . . . . . . . . . . 156Instrucciones de gestión del tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Instrucciones sobre cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . 166Funciones específicas y funciones Orphée. . . . . . . . . . . . . . . . . . . . . . . . . . . . 168Instrucciones de entradas/salidas explícitas . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.3 Rendimiento de las instrucciones en autómatas Premium . . . . . . . . . . . . . . . . 172Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Rendimiento de las instrucciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . 173Rendimiento de los bloques de función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180Aritmética entera y con coma flotante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Instrucciones sobre el programa y estructuras de control. . . . . . . . . . . . . . . . . 187Conversiones digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189Instrucciones sobre cadena de bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
7
Instrucción sobre tablas de palabras, palabras dobles y flotantes . . . . . . . . . . 193Instrucciones de gestión del tiempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202Instrucciones sobre cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . 203Funciones específicas y funciones Orphée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206Instrucciones de entradas/salidas explícitas . . . . . . . . . . . . . . . . . . . . . . . . . . . 209Bloque de función DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
6.4 Funciones avanzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Descripción de las zonas de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Tamaño de memoria de los objetos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217Resumen del consumo de memoria de los módulos en Micro . . . . . . . . . . . . . 218Resumen del consumo de memoria de los módulos en Premium. . . . . . . . . . . 221Tamaño de la memoria de las funciones avanzadas. . . . . . . . . . . . . . . . . . . . . 228Método de cálculo del número de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . 242
Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
8
Acerca de este libro
Presentación
Objeto Este manual ofrece la información complementaria a la programación de los autómatas Micro, Premium y Atrium.
Comentarios del usuario
Envíe sus comentarios a la dirección electrónica [email protected].
9
Acerca de este libro
10
1
Diferencias entre PL7-2/3 y PL7 Micro/JuniorPresentación
Contenido Este capítulo describe las diferencias de los objetos e instrucciones entre los programas PL7-2/PL7-3 y PL7 Micro/PL7 Junior
Contenido Este capítulo contiene los siguiente apartados:
Apartado Página
Valores inmediatos y etiquetas 12
Bits 13
Palabras 15
Bloques de función 17
Tablas de bits y de palabras 20
Bloques de función opcionales 22
Instrucciones 23
Delimitadores 29
11
Diferencia PL7-2/3 y PL7 Micro/Junior
Valores inmediatos y etiquetas
Valores inmediatos
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Etiquetas Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos PL7-2/3 PL7 Micro/Junior
Entero base 10 1234 1234
Entero base 2 L’10011110’ 2#10011110
Entero base 16 H’ABCD’ 16#ABCD
Flotante -1.32e12 (PL7-3) -1.32e12
Cadena de caracteres M’aAbBcC’ ‘aAbBcC’
Objetos PL7-2/3 PL7 Micro/Junior
Etiqueta Li i = 0 a 999 %Li i = 0 a 999
12
Diferencia PL7-2/3 y PL7 Micro/Junior
Bits
Bits de entrada en rack
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Bits de salida en rack
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Bits de fallo de E/S en rack
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Bits de fallo de E/S remotas
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos PL7-2/3 PL7 Micro/Junior
Bit de entrada en rack Ixy,i %Ixy.i
Bit de entrada en rack indexado Ixy,i(Wj) (PL7-3) %Ixy.i[%MWj]
Bit de entrada remota RIx,y,i (PL7-3) %I\ruta\mod.vía
Bit de entrada remota indexado RIx,y,i(Wj) (PL7-3) -
Objetos PL7-2/3 PL7 Micro/Junior
Bit de salida en rack Oxy,i %Qxy.i
Bit de salida en rack indexado Oxy,i(Wj) (PL7-3) %Qxy.i[%MWj]
Bit de salida remota ROx,y,i (PL7-3) %Q\ruta\mod.vía
Bit de salida remota indexado ROx,y,i(Wj) (PL7-3) -
Objetos PL7-2/3 PL7 Micro/Junior
Bit de fallo de módulo Ixy,S / Oxy,S %Ixy.MOD.ERR
Bit de vía - %Ixy.i.ERR
Objetos PL7-3 (únicamente) PL7 Micro/Junior
Bit de fallo de módulo - %I\ruta\mod.MOD.ERR
Bit de vía RDx,y,i/ERRORx,y,i %I\ruta\mod.vía.ERR
Bit de disyunción de vía de salida TRIPx,y,i -
Bit de reactivación de vía de salida RSTx,y,i -
13
Diferencia PL7-2/3 y PL7 Micro/Junior
Bits internos y bits de sistema
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Bits de etapas Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Bits de palabras Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos PL7-2/3 PL7 Micro/Junior
Bit interno Bi %Mi
Bit interno indexado Bi(Wj) (PL7-3) %Mi[%MWj]
Bit de sistema SYi %Si
Objetos PL7-2/3 PL7 Micro/Junior
Bits de etapa Xi %Xi
Bit de macroetapa XMj (PL7-3) %XMj
Bit de etapa i de macroetapa j Xj,i (PL7-3) %Xj.i
Bit de etapa de entrada de macroetapa j Xj,I (PL7-3) %Xj.IN
Bit de etapa de salida de macroetapa j Xj,O (PL7-3) %Xj.OUT
Objetos PL7-2/3 PL7 Micro/Junior
Bit j de la palabra interna i Wi,j %MWi:Xj
Bit j de la palabra interna i indexada Wi(Wk),j (PL7-3) %MWi[%MWk]:Xj
Bit j de la palabra constante i CWi,j %KWi:Xj
Bit j de la palabra constante i indexada CWi(Wk),j (PL7-3) %KWi[%MWk]:Xj
Bit j del registro i IW/OWxy,i,j %IW/%QWxy.i:Xj
Bit k da la palabra común j de la estación i COMi,j,k
COMXi,j,k (X = B, C, D)%NWi.j:Xk
%NXWi.j:Xk
Bit j de la palabra de sistema i SWi,j %SWi:Xj
14
Diferencia PL7-2/3 y PL7 Micro/Junior
Palabras
Palabras internas
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Palabras constantes
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos PL7-2/3 PL7 Micro/Junior
Palabra interna de longitud simple Wi %MWi
Palabra interna de longitud simple indexada
Wi(Wj) (PL7-3) %MWi[%MWj]
Palabra interna de longitud doble DWi (PL7-3) %MDi
Palabra interna de longitud doble indexada
DWi(Wj) (PL7-3) %MDi[%MWj]
Palabra interna real - %MFi
Palabra interna real indexada - %MFi[%MWj]
Objetos PL7-2/3 PL7 Micro/Junior
Palabra constante de longitud simple CWi %KWi
Palabra constante de longitud simple indexada
CWi(Wj) %KWi[%MWj]
Palabra constante de longitud doble CDWi (PL7-3) %KDi
Palabra constante de longitud doble indexada
CDWi(Wj) (PL7-3) %KDi[%MWj]
Palabra constante real - %KFi
Palabra constante real indexada - %KFi[%MWj]
15
Diferencia PL7-2/3 y PL7 Micro/Junior
Palabras de registro
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Otras palabras Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos PL7-2/3 PL7 Micro/Junior
Palabra de registro de entrada de longitud simple
IWxy,i %IWxy.i
Palabra de registro de entrada de longitud doble
- %IDxy.i
Palabra de registro de salida de longitud simple
OWxy,i %QWxy.i
Palabra de registro de salida de longitud doble
- %QDxy.i
Palabra de registro de una entrada remota
RIWx,y,i (PL7-3) %IW\ruta\mod.vía
Palabra de registro de una salida remota
ROWx,y,i (PL7-3) %QW\ruta\mod.vía
Objetos PL7-3 (únicamente) PL7 Micro/Junior
Palabra de sistema SWi %SWi
Palabra común j de la estación COMi,j COMXi,j (con X=B,C,D) %NW{i}j %NW{[r.]i}j r=núm. de red
Palabra de estado de un módulo TON remoto
STATUSAx,y,i (PL7-3) STATUSBx,y,i (PL7-3)
-
Palabra de estado de una vía de un módulo TON remoto
STSx,y,i (PL7-3) %IW\ruta\mod.vía.ERR
16
Diferencia PL7-2/3 y PL7 Micro/Junior
Bloques de función
Temporizador Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Monoestable Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Contador/Descontador
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos PL7-2/3 PL7 Micro/Junior
Variable Ti %Ti
Valor de preselección (palabra) TI,P %Ti.P
Valor actual (palabra) Ti,V %Ti.V
Temporizador en curso (bit) Ti,R %Ti.R
Temporizador transcurrido (bit) Ti,D %Ti.D
Objetos PL7-2/3 PL7 Micro/Junior
Variable Mi %MNi
Valor de preselección (palabra) Mi,P %MNi.P
Valor actual (palabra) Mi,V %MNi.V
Monoestable en curso (bit) Mi,R %MNi.R
Objetos PL7-2/3 PL7 Micro/Junior
Variable Ci %Ci
Valor de preselección (palabra) Ci,P %Ci.P
Valor actual (palabra) Ci,V %Ci.V
Rebasamiento de contaje (bit) Ci,E %Ci.E
Preselección alcanzada (bit) Ci,D %Ci.D
Rebasamiento de descontaje (bit) Ci,F %Ci.F
17
Diferencia PL7-2/3 y PL7 Micro/Junior
Registro Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Bloque de texto Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Programador cíclico
Tabla de diferencias entre PL7-2 y PL7-Micro/Junior
Contador/Temporizador rápido
Tabla de diferencias entre PL7-2 y PL7-Micro/Junior
Objetos PL7-2/3 PL7 Micro/Junior
Variable Ri %Ri
Palabra de entrada (palabra) Ri,I %Ri.I
Palabra de salida (palabra) Ri,O %Ri.O
Registro completo (bit) Ri,F %Ri.F
Registro vacío (bit) Ri,E %Ri.E
Objetos PL7-2/3 PL7 Micro/Junior
Variable TXTi Sin bloques de texto
Objetos PL7-2 PL7 Micro/Junior
Variable Di (PL7-2) %DRi
Número del paso activo (palabra) Di,S %DRi.S
Tiempo de actividad del paso actual (palabra)
Di,V %DRi.V
16 bits de órdenes (palabra) Di,Wj %DRi.Wj
Último paso en curso (bit) Di,F %DRi.F
Objetos PL7-2 PL7 Micro/Junior
Variable FC (PL7-2) -
Valor de preselección (palabra) FC,P -
Valor actual (palabra) FC,V -
Puesta a 0 externa (bit) FC,E -
Preselección alcanzada (bit) FC,D -
Contaje en curso (bit) FC,F -
18
Diferencia PL7-2/3 y PL7 Micro/Junior
Reloj-calendario Tabla de diferencias entre PL7-2 y PL7-Micro/Junior
Objetos PL7-2 PL7 Micro/Junior
Variable H (PL7-2) -
Tipo "WEEK" o "YEAR" selección de días LMMJVSD (palabra) VD -
Consigna de inicio (palabra) BGN -
Consigna de final (palabra) END -
Valor actual < consigna (bit) < -
Valor actual = consigna (bit) = -
Valor actual > consigna (bit) > -
19
Diferencia PL7-2/3 y PL7 Micro/Junior
Tablas de bits y de palabras
Cadenas de bits Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Cadenas de caracteres
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos PL7-2/3 PL7 Micro/Junior
Cadena de bits internos Bi[L] %Mi:L
Cadena de bits de entrada Ixy,i[L] (PL7-3) %Ixy.i:L
Cadena de bits de salida Oxy.i[L] (PL7-3) %Qxy.i:L
Cadena de bits de etapa Grafcet Xi[L] (PL7-3) %Xi:L
Cadena de bits de macroetapa XMi[L] (PL7-3) -
Objetos PL7-2/3 PL7 Micro/Junior
Cadena - %MBi:L (con i par)
20
Diferencia PL7-2/3 y PL7 Micro/Junior
Tablas de palabras
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos PL7-2/3 PL7 Micro/Junior
Tabla de palabras internas Wi[L] %MWi:L
Tabla de palabras internas indexadas Wi(Wj)[L] %MWi[%MWj]:L
Tabla de palabras dobles internas DWi[L] (PL7-3) %MDi:L
Tabla de palabras dobles internas indexadas DWi(Wj)[L] (PL7-3) %MDi[%MWj]:L
Tabla de palabras constantes CWi[L] %KWi:L
Tabla de palabras constantes indexadas CWi(Wj)[L] %KWi[%MWj]:L
Tabla de palabras dobles constantes CDWi[L] (PL7-3) %KDi:L
Tabla de palabras dobles constantes indexadas CDWi(Wj)[L] (PL7-3) %KDi[%MWj]:L
Tabla de reales - %MFi:L
Tabla de reales indexados - %MFi[%MWj]:L
Tabla de reales constantes - %KFi:L
Tabla de reales constantes indexados - %KFi[%MWj]:L
Tabla de elementos de entrada remota RIx,y,i[L] (PL7-3) -
Tabla de elementos de salida remota ROx,y,i[L] (PL7-3) -
Tabla de elementos indexados de entrada remota RIx,y,i(Wj)[L] (PL7-3) -
Tabla de elementos indexados de salida remota ROx,y,i(Wj)[L] (PL7-3) -
21
Diferencia PL7-2/3 y PL7 Micro/Junior
Bloques de función opcionales
OFB Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos PL7-3 (únicamente) PL7 Micro/Junior
Variable < OFB >i -
Elemento de OFB < OFB >i, <elemento> -
Elemento de OFB indexado < OFB >i, <elemento>(Wj) -
Tabla de elementos de OFB < OFB >i, <elemento>[L] -
Tabla de elementos de OFB indexados < OFB >i, <elemento>(Wj)[L] -
22
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones
Instrucciones sobre bits
Tabla de diferencias entre PL7-2, PL7-3 y PL7-Micro/Junior
Objetos PL7-2 PL7-3 PL7 Micro/Junior
Inversión lógica - NOT NOT
ET AND * AND
O OR + OR
O exclusivo XOR - XOR
Flanco ascendente - RE RE
Flanco descendente - FE FE
Puesta a 1 - SET SET
Puesta a 0 - RESET RESET
23
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones de palabras y palabras dobles
Tabla de diferencias entre PL7-2, PL7-3 y PL7-Micro/Junior
Objetos PL7-2 PL7-3 PL7 Micro/Junior
Suma + + +
Resta - - -
Multiplicación * * *
División / / /
Comparación >,>=,<,<=,=,<> >,>=,<,<=,=,<> >,>=,<,<=,=,<>
Resto de una división MOD REM REM
Raíz cuadrada - SQRT SQRT
Valor absoluto - - ABS
Y lógico AND AND AND
O lógico OR OR OR
O lógico exclusivo XOR XOR XOR
Complemento lógico CPL CPL CPL
Incremento - INC INC
Decremento - DEC DEC
Desplazamiento lógico a la izquierda - SHL SHL
Desplazamiento lógico a la derecha - SHR SHR
Desplazamiento circular a la izquierda SLC SLC ROL
Desplazamiento circular a la derecha SRC SRC ROR
24
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones de tipo flotante
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Instrucción de cadenas de bytes
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos PL7-3 PL7 Micro/Junior
Suma ADDF +
Resta SUBF -
Multiplicación MULF *
División DIVF /
Raíz cuadrada SQRTF SQRT
Valor absoluto - ABS
Prueba de igualdad EQUF =
Prueba de superioridad estricta SUPF >
Prueba de inferioridad estricta INFF <
Otras pruebas - >=, <=, <>
Objetos PL7-3 PL7 Micro/Junior
Desplazamiento circular SLCWORD -
25
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones de conversión
Tabla de diferencias entre PL7-2, PL7-3 y PL7-Micro/Junior
Instrucciones sobre tablas
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos PL7-2 PL7-3 PL7 Micro/Junior
Conversión BCD binario BCD DTB BCD_TO_INT
Conversión binario BCD BIN BTD INT_TO_BCD
Conversión ASCII binario ATB ATB STRING_TO_INT oSTRING_TO_DINT
Conversión binario ASCII BTA BTA INT_TO_STRING oDINT_TO_STRING
Conversión Gray binario - GTB GRAY_TO_INT
Conversión flotante entero - FTB REAL_TO_INT oREAL_TO_DINT
Conversión entero flotante - FTF INT_TO_REAL oDINT_TO_REAL
Conversión BCD Flotante - DTF BCD_TO_REAL
Conversión flotante BCD - FTD REAL_TO_BCD
Conversión flotante ASCII - ATF STRING_TO_REAL
Conversión ASCII flotante - FTA REAL_TO_STRING
Objetos PL7-3 PL7 Micro/Junior
Operaciones aritméticas +,-,*,/,REM +,-,*,/,REM
Operaciones lógicas AND, OR, XOR AND, OR, XOR, NOT
Suma de las palabras de una tabla + SUM
Búsqueda de la 1ª palabra diferente EQUAL EQUAL
Búsqueda de la 1ª palabra igual SEARCH FIND_EQU
26
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones de programa
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Instrucciones de interrupciones
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Instrucciones de E/S explícitas
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos PL7-3 PL7 Micro/Junior
Salto JUMP Li JUMP %Li
Llamada de subprograma - CALL SRi SRi
Retorno de subprograma RET RETURN
Parada de la aplicación HALT HALT
Sentencia condicional IF/THEN/ELSE IF/THEN/ELSE/END_IF
Sentencia iterativa WHILE/DO WHILE/DO/END_WHILE
Objetos PL7-3 PL7 Micro/Junior
Prueba READINT -
Enmascaramiento MASKINT MASKEVT
Desenmascaramiento DMASKINT UNMASKEVT
Confirmación ACKINT -
Generación de una IT hacia el acoplador SETIT -
Objetos PL7-3 PL7 Micro/Junior
Lectura de las entradas TON READBIT -
Escritura de las salidas TON WRITEBIT -
Lectura de los registros READREG -
Escritura de los registros WRITEREG -
Lectura de palabras READEXT -
Escritura de palabras WRITEEXT -
27
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones de bloques de función
Tabla de diferencias entre PL7-2, PL7-3 y PL7-Micro/Junior
Objetos PL7-3 PL7 Micro/Junior
Preselección PRESET Ti / Ci PRESET %Ti / %Ci
Inicio START Ti / Mi START %Ti / %MNi
Activación de la tarea START CTRLi -
Reset RESET Ci / Ri / TXTi RESET %Ci / %Ri
Desactivación de la tarea RESET CTRLi -
Contaje UP Ci UP %Ci
Descontaje DOWN Ci DOWN %Ci
Almacenamiento en un registro PUT Ri PUT %Ri
Vaciado de un registro GET Ri GET %Ri
Recepción de un mensaje INPUT TXTi -
Emisión de un mensaje OUTPUT TXTi -
Emisión/Recepción de un mensaje EXCHG TXTi -
Ejecución de un OFB EXEC < OFBi > -
Lectura de telegramas READTLG -
28
Diferencia PL7-2/3 y PL7 Micro/Junior
Delimitadores
Diferencias Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos PL7-2/3 PL7 Micro/Junior
Asignación -> :=
Paréntesis izquierdo para la indexación ( [
Paréntesis derecho para la indexación ) ]
Longitud de tabla [longitud] :longitud
29
Diferencia PL7-2/3 y PL7 Micro/Junior
30
2
Ayuda-memoriaPresentación
Contenido Este capítulo contiene una ayuda-memoria de las instrucciones del lenguaje PL7
Contenido Este capítulo contiene los siguiente apartados:
Apartado Página
Instrucciones booleanas 32
Instrucciones ST 34
Bloques de función LD e IL 35
Bloques de función ST 36
Estructuras de control ST 37
Aritmética entera (longitud simple y doble) 38
Aritmética en flotantes 39
Conversiones numéricas 40
Tablas de bits 41
Instrucciones sobre tablas 42
Instrucciones sobre tablas de flotantes 43
Instrucciones "Orphée" 44
Intercambios explícitos 45
Instrucciones de gestión del tiempo 46
Instrucciones de temporización 47
Instrucciones de archivado de datos 48
Instrucciones de cadenas de caracteres 49
Multitarea y sucesos 50
Comunicación 51
31
Ayuda-memoria
Instrucciones booleanas
Memoria de ayuda
Memoria de ayuda rápida sobre las instrucciones booleanas
Instrucciones booleanas
LD IL
Inicio de acumulador o red
LD TRUE
Prueba (lectura) directa, inversa, flanco ascendente, flanco descendente
LD, LDN
LDF, LDR
Y lógica AND ANDN ANDR ANDF
AND( AND(N AND(R AND(F
Inversión - N
O lógica exclusivo (directo, inverso, flanco ascendente, flanco descendente)
- XOR XORN
XORR XORF
Escritura (directa, inversa)
ST
STN
Puesta a 1Puesta a 0
S
R
Bloque de operación(contenido: véanse las páginas siguientes)
[acción]
Bloque de comparación horizontal(contenido: véanse las páginas siguientes)
LD [comparación]
AND [comparación]
AND( [comparación]
OR [comparación]
OR( [comparación]
XOR [comparación]
P N
P N
P N
S R
OPERATEacción
COMPAREcomparación
32
Ayuda-memoria
Bloque de comparación vertical
-
MemoryPusHMemoryReaDMemoryPOP
MPS
MRD
MPP
Instrucciones booleanas
LD IL
COMPARE
>
=
<
<>
EN
33
Ayuda-memoria
Instrucciones ST
Ayuda-memoria Ayuda-memoria rápida de las instrucciones ST
Instrucciones ST
Asignación :=
O booleano OR
Y booleano AND
O exclusivo booleano XOR
Inversión NOT
Flanco ascendente, descendente RE, FE
Puesta a 1, puesta a 0 SET, RESET
34
Ayuda-memoria
Bloques de función LD e IL
Ayuda-memoria Ayuda-memoria rápida de los bloques de función LD e IL
Bloques de función LD IL
Temporizadores IEC IN
Estructura BLK..END_BLK
Temporizador PL-3 -
Contador-descontador R
S
CU
CD
Estructura BLK..END_BLK
Monoestable S
Estructura BLK..END_BLK
Registro R
I
O
STN
Estructura BLK..END_BLK
Programador cíclico R
U
Estructura BLK..END_BLK
IN Q
%TMi
D
R
E
C
%Ti
%Ci
R
S
CU
CD
E
D
F
S R
%MNi
%Ri
R
I
O
F
E
FR
U
%DRi
35
Ayuda-memoria
Bloques de función ST
Ayuda-memoria Ayuda-memoria rápida de los bloques de función ST
Bloques de función ST
Temporizador IEC START%TMi
DOWN%TMi
Temporizador PL-3 PRESET%Ti
START%Ti
STOP%Ti
Contador-descontador RESET%Ci
PRESET%Ci
UP%Ci,DOWN%Ci
Monoestable START%MNi
Registro RESET%Ri
PUT%Ri
GET%Ri
Programador cíclico RESET%DRi
UP%DRi
36
Ayuda-memoria
Estructuras de control ST
Ayuda-memoria Ayuda-memoria rápida sobre las estructuras de control ST
Estructuras de control ST
Acción condicional IF...THEN...ELSIF...THEN..ELSE...END_IF;
Acción iterativa condicional WHILE...DO...END_WHILE;
Acción iterativa condicional REPEAT...UNTIL...END_REPEAT;
Acción repetitiva FOR...DO...END_FOR;
Instrucción de salida de bucle EXIT
37
Ayuda-memoria
Aritmética entera (longitud simple y doble)
Ayuda-memoria Ayuda-memoria rápida de las instrucciones aritméticas enteras
Aritmética entera (longitud simple y doble) LD/IL/ST
Transferencia o inicialización :=
Comparaciones = <> <= < > >=
Suma, resta, multiplicación, división, resto de la división
+ - * / REM
Y, O, O exclusivo, complemento AND OR XOR NOT
Valor absoluto, raíz cuadrada ABS, SQRT
Incremento INC
Decremento DEC
Desplazamiento a la izquierda SHL
Desplazamiento a la derecha SHR
Desplazamiento circular a la izquierda ROL
Desplazamiento circular a la derecha ROR
38
Ayuda-memoria
Aritmética en flotantes
Ayuda-memoria Ayuda-memoria rápida de las instrucciones aritméticas en flotantes
Aritmética en flotantes LD/IL/ST
Transferencia o inicialización :=
Comparaciones = <> <= < > >=
Suma, resta, multiplicación, división, parte entera + - * / TRUNC
Valor absoluto, raíz cuadrada ABS, SQRT
Logaritmo, exponenciales LOG, LN, EXPT, EXP
Seno, coseno, tangente SIN, COS, TAN
Arco seno, arco coseno, arco tangente ASIN, ACOS, ATAN
Conversión grados <--> radianes DEG_TO_RAD, RAD_TO_DEG
39
Ayuda-memoria
Conversiones numéricas
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de conversiones numéricas
Conversiones numéricas LD/IL/ST
Conversión BCD en entero de longitud simpleConversión GRAY en entero de longitud simpleConversión de entero de longitud simple en BCDConversión de entero de longitud simple en flotanteConversión de entero de longitud doble en flotanteConversión de flotante en entero de longitud simpleConversión de flotante en entero de longitud dobleConversión BCD de 32 bits en entero de 32 bitsConversión de entero de 32 bits en BCD de 32 bitsConversión BCD de 32 bits en entero de 16 bitsConversión de entero de 16 bits en BCD de 32 bitsExtracción de una palabra de peso menos significativo de una palabra dobleExtracción de una palabra de peso más significativo de una palabra dobleConcatenación de 2 palabras simples
BCD_TO_INT
GRAY_TO_INT
INT_TO_BCD
INT_TO_REAL
DINT_TO_REAL
REAL_TO_INT
REAL_TO_DINT
DBCD_TO_DINT
DINT_TO_DBCD
DBCD_TO_INT
INT_TO_DBCD
LW
HW
CONCATW
40
Ayuda-memoria
Tablas de bits
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de tablas de bits
Tablas de bits LD/IL/ST
Transferencia o inicialización :=
Copia de una tabla de bits a una tabla de bitsY entre dos tablasO entre dos tablasO exclusivo entre dos tablasNegación en una tablaCopia de una tabla de bits a una tabla de palabrasCopia de una tabla de bits a una tabla de palabras doblesCopia de una tabla de palabras en una tabla de bitsCopia de una tabla de palabras dobles en una tabla de bitsCálculo de la longitud de una tabla
COPY_BIT
AND_ARX
OR_ARX
XOR_ARX
NOT_ARX
BIT_W
BIT_D
W_BIT
D_BIT
LENGTH_ARX
41
Ayuda-memoria
Instrucciones sobre tablas
Ayuda-memoria Ayuda-memoria rápida de las instrucciones sobre tablas
Instrucciones sobre tablas LD/IL/ST
Transferencia o inicialización :=
Operaciones aritméticas entre tablas + - * / REM
Operaciones lógicas entre tablas AND OR XOR
Operaciones aritméticas entre una tabla y un entero + - * / REM
Operaciones lógicas entre una tabla y un entero AND OR XOR
Complemento de los elementos de una tabla NOT
Suma de todos los elementos de una tabla SUM
Comparación de dos tablas EQUAL
Búsqueda del 1er elemento de una tabla igual a un valor FIND_EQW, FIND_EQD
Búsqueda del 1er elemento de una tabla igual a un valor desde un rango FIND_EQWP, FIND_EQDP
Búsqueda del 1er elemento de una tabla superior a un valor FIND_GTW, FIND_GTD
Búsqueda del 1er elemento de una tabla inferior a un valor FIND_LTW, FIND_LTD
Búsqueda del valor más alto en una tabla MAX_ARW, MAX_ARD
Búsqueda del valor más pequeño en una tabla MIN_ARW, MIN_ARD
Número de ocurrencias de un valor en una tabla OCCUR_ARW, OCCUR_ARD
Desplazamiento circular a la izquierda de una tabla ROL_ARW, ROL_ARD
Desplazamiento circular a la derecha de una tabla ROR_ARW, ROL_ARW
Clasificación de una tabla (ascendente o descendente) SORT_ARW, SORT_ARD
Cálculo de la longitud de una tabla LENGTH_ARW, LENGTH_ARD
42
Ayuda-memoria
Instrucciones sobre tablas de flotantes
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de tablas de flotantes
Instrucciones sobre tablas de flotantes LD/IL/ST
Transferencia e inicialización :=
Suma de todos los elementos de una tabla SUM_ARR
Comparación de dos tablas EQUAL_ARR
Búsqueda del 1er elemento de una tabla igual a un valor FIND_EQR
Búsqueda del 1er elemento de una tabla superior a un valor FIND_GTR
Búsqueda del 1er elemento de una tabla inferior a un valor FIND_LTR
Búsqueda del valor más alto en una tabla MAX_ARR
Búsqueda del valor más pequeño en una tabla MIN_ARR
Número de ocurrencias de un valor en una tabla OCCUR_ARR
Desplazamiento circular a la izquierda de una tabla ROL_ARR
Desplazamiento circular a la derecha de una tabla ROR_ARR
Clasificación de una tabla (ascendente o descendente) SORT_ARR
Cálculo de la longitud de una tabla LENGHT_ARR
43
Ayuda-memoria
Instrucciones "Orphée"
Ayuda-memoria Ayuda-memoria rápida de las instrucciones "Orphée"
Instrucciones "Orphée" LD/IL/ST
Desplazamiento a la izquierda en una palabra con recuperación de los bits desplazados
WSHL_RBIT, DSHL_RBIT
Desplazamiento hacia la derecha en una palabra con extensión de signo y recuperación de los bits desplazados
WSHR_RBIT, DSHR_RBIT
Desplazamiento hacia la derecha en una palabra con relleno mediante 0 y recuperación de los bits desplazados
WSHRZ_C, DSHRZ_C
Contaje/descontaje con señalización de rebasamiento SCOUNT
Desplazamiento circular izquierdo ROLW, ROLD
Desplazamiento circular derecho RORW, RORD
44
Ayuda-memoria
Intercambios explícitos
Ayuda-memoria Ayuda-memoria rápida de los intercambios explícitos
Intercambios explícitos LD/IL/ST
Lectura de los parámetros %M de una vía lógica READ_PARAM
Lectura de los %M de estado de una vía lógica READ_STS
Restitución de los parámetros %M de una vía lógica RESTORE_PARAM
Guardado de los parámetros %M de una vía lógica SAVE_PARAM
Escritura de los %M de comando de una vía lógica WRITE_CMD
Escritura de los parámetros %M de una vía lógica WRITE_PARAM
45
Ayuda-memoria
Instrucciones de gestión del tiempo
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de gestión del tiempo
Instrucciones de gestión del tiempo LD/IL/ST
Reloj-calendario SCHEDULE
Comparaciones = <> <= < > >=
Transferencia :=
Lectura de la fecha y del código de la última parada del autómata PTC
Lectura de la fecha del sistema RRTC
Actualización de la fecha del sistema WRTC
Suma de una duración a una fecha completa ADD_DT
Suma de una duración a una hora del día ADD_TOD
Conversión de una fecha en cadena DATE_TO_STRING
Día de la semana DAY_OF_WEEK
Diferencia entre dos fechas DELTA_D
Diferencia entre dos fechas completas DELTA_DT
Diferencia entre dos horas del día DELTA_TOD
Conversión de una fecha completa en cadena DT_TO_STRING
Resta de una duración a una fecha completa SUB_DT
Resta de una duración a una hora del día SUB_TOD
Conversión de una duración en cadena TIME_TO_STRING
Conversión de una hora del día en cadena TOD_TO_STRING
Puesta de una duración en formato horas-mn-seg TRANS_TIME
46
Ayuda-memoria
Instrucciones de temporización
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de temporización
Instrucciones de temporización LD/IL/ST
Temporización en la desconexión FTON
Temporización en la desconexión FTOF
Temporización de impulso FTP
Generador de señales rectangulares FPULSOR
47
Ayuda-memoria
Instrucciones de archivado de datos
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de archivado de datos
Instrucciones de archivado de datos LD/IL/ST
Inicialización de zona de archivado en tarjeta PCMCIA SET_PCMCIA
Escritura de datos en tarjeta PCMCIA WRITE_PCMCIA
Lectura de datos en tarjeta PCMCIA READ_PCMCIA
Inicialización de zona de archivado en tarjeta DATA Archiving SET_PCM_EXT
Escritura de datos en tarjeta DATA Archiving WRITE_PCM_EXT
Lectura de datos en tarjeta DATA Archiving READ_PCM_EXT
48
Ayuda-memoria
Instrucciones de cadenas de caracteres
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de cadenas de caracteres
Instrucciones de cadenas de caracteres LD/IL/ST
Comparaciones = <> <= < > >=
Transferencia :=
Conversión de un entero doble en cadena DINT_TO_STRING
Conversión de un entero simple en cadena INT_TO_STRING
Conversión de una cadena en entero doble STRING_TO_DINT
Conversión de una cadena en entero simple STRING_TO_INT
Conversión de una cadena en flotante STRING_TO_REAL
Conversión de un flotante en cadena REAL_TO_STRING
Concatenación de dos cadenas CONCAT
Eliminación de una subcadena DELETE
Búsqueda del primer carácter diferente EQUAL_STR
Búsqueda de una subcadena FIND
Inserción de una subcadena INSERT
Extracción de la parte izquierda de una cadena LEFT
Longitud de una cadena LEN
Extracción de una subcadena MID
Sustitución de una subcadena REPLACE
Extracción de la parte derecha de una cadena RIGHT
49
Ayuda-memoria
Multitarea y sucesos
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de multitarea y sucesos
Multitarea y sucesos LD/IL/ST
Activación / desactivación de una tarea posicionamiento %Si
Ajustar el tiempo de ciclo de una tarea posicionamiento %SWi
Enmascaramiento global de sucesos MASKEVT
Desenmascaramiento global de sucesos UNMASKEVT
50
Ayuda-memoria
Comunicación
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de comunicación
Comunicación LD/IL/ST
Petición de parada de una función en curso CANCEL
Emisión o recepción de datos DATA_EXCH
Petición de lectura de una cadena de caracteres INPUT_CHAR
Emisión y/o petición de recepción de una cadena de caracteres OUT_IN_CHAR
Emisión de una cadena de caracteres PRINT_CHAR
Recepción de un telegrama RCV_TLG
Lectura de objetos de lenguaje de base READ_VAR
Emisión/recepción de peticiones UNI-TE SEND_REQ
Emisión de un telegrama SEND_TLG
Escritura de objetos de lenguaje de base WRITE_VAR
Desplazamiento de un byte a la derecha en una tabla ROR1_ARB
Permuta de bytes en una tabla de palabras SWAP
Lectura de datos comunes Modbus+ READ_GDATA
Escritura de datos comunes Modbus+ WRITE_GDATA
Gestión de la conexión de la tarjeta de módem CALL_MODEM
Servidor inmediato SERVER
Escritura 1 K mensajería WRITE_ASYN
Lectura 1 K mensajería READ_ASYN
51
Ayuda-memoria
52
3
Palabras reservadasPalabras reservadas
Lista de palabras reservadas
Las palabras reservadas que se indican a continuación no deben utilizarse como símbolos.
Palabras de la A a la C
Lista de palabras reservadas
AABSACCEPTACOSACTIONACTIVATE_PULSEACTIVE_TIMEADDADDRESSADD_DTADD_TODADRANDANDFANDNANDRAND_ARXANYANY_BITANY_DATEANY_INT
ANY_REALARRAYAR_DAR_DINTAR_FAR_INTAR_RAR_WAR_XASINASKASK_MSGASK_VALUEASSIGN_KEYSATATANAUXBBCD_TO_INTBIT_DBIT_W
BLOCKBODYBOOLBOTTOMBTIBTRBYBYTECCALCALCCALCNCALLCALL_COILCANCELCASECDCHARTCH_MCLKCLOSE
COILCOMMANDCOMMENTSCOMP4COMPCHCONCATCONCATWCONFCONFIGURATIONCONSTANTCONTROL_LEDSCOPY_BITCOSCTDCTUCTUDCUCLOSED_CONTACTBLKANY_NUM
53
Palabras reservadas
Palabras de la D a la E
Lista de palabras reservadas
DDATEDATE_AND_TIMEDAT_FMTDAY_OF_WEEKDA_TYPEDEACTIVATE_PULSEDECDELETEDELTA_DDELTA_DTDELTA_TODDINTDINT_TO_REALDINT_TO_STRINGDISPLAY_ALRMDISPLAY_GRPDISPLAY_MSGDIVDMOVE
DODOWNDRDRUMDSDSHL_RBITDSHRZ_CDSHR_RBITDSORT_ARDDSORT_ARWDTDTSDWORDD_BITEEBOOLELSEELSIFEMPTYEMPTY_LINE
ENDENDCENDCNEND_ACTIONEND_BLKEND_BLOCKEND_CASEEND_COMMENTSEND_CONFIGURATIONEND_FOREND_FUNCTIONEND_FUNCTION_BLOCKEND_IFEND_MACRO_STEPEND_PAGEEND_PHRASEEND_PROGEND_PROGRAMEND_REPEATEND_RESOURCE
END_RUNGEND_STEPEND_STRUCTEND_TRANSITIONEND_TYPEEND_VAREND_WHILEEQEQUALEQUAL_ARRERREVTEXCHGEXCH_DATAEXITEXPEXPT
54
Palabras reservadas
Palabras de la F a la J
Lista de palabras reservadas
Palabras de L a la M
Lista de palabras reservadas
FFALSEFASTFBDFEFIFOFINDFIND_EQFIND_EQDFIND_EQDPFIND_EQRFIND_EQWFIND_EQWPFIND_GTDFIND_GTRFIND_GTWFIND_LTDFIND_LTRFIND_LTW
FORFPULSORFROMFTOFFTONFTPFUNCFUNCTIONFUNCTION_BLOCKF_BF_EDGEF_TRIGGGEGETGET_MSGGET_VALUEGLOBAL_COMMENTGR7
GRAY_TO_INTGTGTIHHALTHALT_COILHASH_COILHWH_COMPAREH_LINKIIFILININCINCJUMPINDEX_CHINFOINITIAL_STEP
INIT_BUTTONSINPUTINPUT_CHARINSERTINTINTERVALINT_TO_BCDINT_TO_REALINT_TO_STRINGITBITSJJMPJMPCJMPCNJUMPJUMP_COIL
LLADLANGAGELANGUAGELDLDFLDNLDRLELEFTLENLENGTH_ARDLENGTH_ARRLENGTH_ARWLENGTH_ARX
LIFOLIMITLINTLISTLITLNLOCATIONLOGLREALLTLWLWORDMMACRO_STEPMAIN
MASKEVTMASTMAXMAX_ARDMAX_ARRMAX_ARWMAX_PAGESMAX_STEPMCRMCR_COILMCSMCS_COILMIDMINMIN_ARD
MIN_ARRMIN_ARWMNMODMONOMOVEMPPMPSMRDMSMULMUXM_CHM_MACRO_STEP
55
Palabras reservadas
Palabras de la N a la P
Lista de palabras reservadas
Palabras de la Q a la R
Lista de palabras reservadas
NN1NAMENB_ACTIVE_STEPSNB_ACTIVE_TIMENB_BLOCKSNB_COMMON_WORDSNB_CONSTANT_WORDSNB_CPTNB_DRUMNB_INTERNAL_BITSNB_INTERNAL_WORDSNB_MACRO_STEPSNB_MONONB_PAGESNB_REGNB_TIMERNB_TMNB_TRANSITIONSNENIL
NONON_STOREDNOPNOTNOT_ARXNOT_COILNOT_READABLENO_GR7NO_PERIODN_CONTACTOOCCUROCCUR_ARDOCCUR_ARROCCUR_ARWOFONOPENOPEN_CONTACTOPERATEOR
ORFORNORROR_ARXOTHERSOUTOUTIN_CHAROUTPUTOUT_BLKPP0P1PAGEPAGE_COMMENTPANEL_CMDPERIODPHRASEPHRASE_COMMENTPIDPID_MMIPLC
POSTPRESETPRINTPRINT_CHARPRIO0PRIO1PRIORITYPRLPROGPROGRAMPROG_LANGAGEPROG_LANGUAGEPTPTCPUTPVPWMP_CONTACT
QQUERYRR1RCV_TLGREREADREAD_EVT_UTWREAD_ONLYREAD_PARAMREAD_STSREAD_VARREAD_WRITEREALREAL_TO_DINT
REAL_TO_INTREAL_TO_STRINGREGREMREPEATREPLACEREQRESETRESET_COILRESOURCERESTORE_PARAMRETRETAINRETCRETCN
RETURNRET_COILRIGHTROLROLDROLWROL_ARDROL_ARRROL_ARWROL_DWORDROL_WORDRORRORDRORWROR_ARD
ROR_ARRROR_ARWROR_DWORDROR_WORDRRTCRSRTBRTCRTSRUNGR_EDGER_TRIG
56
Palabras reservadas
Palabras con S Lista de palabras reservadas
Palabras de la T a la W
Lista de palabras reservadas
SS1SAVESAVE_PARAMSCHEDULESDSEARCHSECTIONSELSEMASENDSENDERSEND_ALARMSEND_MBX_ALARMSEND_MBX_MSGSEND_MSG
SEND_REQSEND_TLGSERVOSETSET_COILSFCSHIFTSHLSHOW_ALARMSHOW_MSGSHOW_PAGESHRSHRZSINSINGLESINT
SLSLCWORDSMOVESOFT_CONFIGURATIONSORTSORT_ARDSORT_ARRSORT_ARWSQRTSRSTSTANDARDSTARTSTDSTEPSTI
STNSTOPSTRSTRINGSTRING_TO_DINTSTRING_TO_INTSTRING_TO_REALSTRUCTSUBSUB_DTSUB_TODSUMSU_TYPESWAPS_T_AND_LINKS_T_OR_LINK
TTANTASKTASKSTHENTIMETIMERTIME_OF_DAYTMTMAXTMOVETOTODTOFTOFFTON
TOPTPTRANSITIONTRANS_TIMETRUETRUNCTYPETYPEST_S_AND_LINKT_S_OR_LINKUUDINTUINTULINTUNMASKEVTUNTIL
UPUSINTUSORT_ARDUSORT_ARWUTIN_CHARVVARVAR_ACCESSVAR_EXTERNALVAR_GLOBALVAR_INPUTVAR_IN_OUTVAR_OUTPUTVAR_PUBLICVERSIONV_COMPARE
V_LINKWWHILEWITHWORDWRITEWRITE_CMDWRITE_PARAMWRITE_VARWRTCWSHL_RBITWSHRZ_CWSHR_RBITW_BIT
57
Palabras reservadas
Palabras con X, Y y otras
Lista de palabras reservadas
XXMXM_MONOXM_MULTIXORXORFXORNXORRXOR_ARX
YYES
*_TO_* * = LetraSRiAUXiEVTiXMi i = entero
58
4
Conformidad con la norma CEI 1131-3Presentación
Contenido En este capítulo se describe la conformidad con la norma CEI 1131-3: "Autómatas Programables"
Contenido Este capítulo contiene los siguiente apartados:
Apartado Página
Conformidad con la norma CEI 1131-3 60
Elementos comunes 61
Elementos de lenguaje IL 67
Elementos de lenguaje ST 68
Elementos gráficos comunes 70
Elementos de lenguaje LD 71
Parámetros que dependen de la implementación 72
Situaciones de error 76
59
Conformidad con CEI 1131-3
Conformidad con la norma CEI 1131-3
Presentación de la norma CEI 1131-3
La norma CEI 1131-3 «Autómatas programables - Parte 3: lenguajes de programación» especifica la sintaxis y la semántica de los elementos de programa establecidos para programar autómatas.
Esta norma describe 2 lenguajes textuales, IL (Instruction List) y ST (Structured Text), 2 lenguajes gráficos, LD (Ladder Diagram) y FBD (Function Block Diagram), y un formalismo gráfico, SFC (Sequential Function Chart), que permite estructurar la organización interna de una secuencia programada.
La aplicación de programación PL7 permite programar un autómata programable conforme a la norma CEI: PL7 implementa un subconjunto de elementos de lenguaje definidos en la norma y determina las extensiones permitidas en el marco de esta norma.
La norma CEI 1131-3 no define las reglas de interactividad del programa suministrado por un fabricante que se define conforme a la norma, lo que permite una gran flexibilidad para la presentación e introducción de los elementos de programación con el fin de hacer la tarea más cómoda para el usuario.
Los elementos de la norma aplicados en PL7 , la información específica de implementación y los casos de detección de errores se sintetizan en tablas de conformidad.
60
Conformidad con CEI 1131-3
Elementos comunes
Generalidades Descripción de las características comunes a los lenguajes conformes a la CEI 1131-3En la siguiente tabla se enumeran, respecto a las tablas de características descritas en la norma IEC 1131-3, las implementaciones realizadas en los lenguajes PL7. Todo ello respecto a las características comunes a todos los lenguajes PL7.
61
Conformidad con CEI 1131-3
Tabla de características
Características comunes a todos los lenguajes:
Tabla nº Característica nº Descripción de las características
1 1 Juego de caracteres necesario (véase el apartado 2.1.1 de 1131-3)
1 2 Caracteres en minúsculas
1 3a Signo del número (#)
1 4a Signo del dólar ($)
1 5a Barra vertical (|)
1 6a Delimitadores de índices: Corchetes izquierdo y derecho "[ ]"
2 1 Mayúsculas y números
2 2 Mayúsculas, minúsculas, números, caracteres de guión bajo integrados
3 1 Comentarios
4 1 Literales enteros (nota 1)
4 2 Literales reales (nota 1)
4 3 Literales reales con exponentes
4 4 Literales en base 2 (nota 1)
4 6 Literales en base 16 (nota 1)
4 7 Booleanos cero y uno
4 8 Booleanos TRUE y FALSE
5 1 Características de los literales de cadenas de caracteres
6 2 $$ Signo del dólar
6 3 $’ Apóstrofe
6 4 $L o $l Cambio de línea
6 5 $N o $n Línea nueva
6 6 $P o $p Cambio de página
6 7 $R o $r Retorno de cursor
6 8 $T o $t Tabulación
7 1a Literales de duración con prefijo corto t# (nota 2)
10 1 BOOL -1 bit-
10 10 REAL -32 bits-
10 12 TIME -32 bits- (nota 3)
10 13 DATE -32 bits- (nota 3)
10 14 TIME_OF_DAY -32 bits- (nota 3)
10 15 DATE_AND_TIME -64 bits- (nota 3)
10 16 STRING
62
Conformidad con CEI 1131-3
10 17 BYTE -8 bits-
10 18 WORD -16 bits-
10 19 DWORD -32 bits-
15 1 Prefijo I para Input
15 2 Prefijo Q para Output
15 3 Prefijo M para Memory
15 4 Prefijo X, tamaño de un bit
15 5 Ningún prefijo, tamaño de un bit
15 6 Prefijo B, tamaño de un byte (8 bits)
15 7 Prefijo W, tamaño de una palabra (16 bits)
15 8 Prefijo D, tamaño de una palabra doble (32 bits)
16 VARVAR_INPUTVAR_OUTPUTVAR_IN_OUTVAR_EXTERNALVAR_GLOBALCONSTANTAT
Palabras clave (nota 4)
17 2 Declaración de variables no volátiles directamente representadas (variables) (nota 4)
17 3 Declaración de emplazamientos de variables simbólicas (símbolos o variables) (nota 4)
17 5 Asignación automática en la memoria de variables simbólicas (variables de bloques de función) (nota 4)
18 2 Inicialización de variables no volátiles directamente representadas (variables) (nota 4)
18 3 Asignación de emplazamientos y valores iniciales de variables simbólicas (símbolos en variables) (nota 4)
18 5 Inicialización de variables simbólicas (variables de bloques de función) (nota 4)
21 1 A continuación se indican las funciones sobrecargadas de PL7:ABS, EQUAL, ROL, ROR, SHL, SHR, SQRT, SUM
21 2 Por lo general, las funciones de PL7 pertenecen a esta categoría.
22 3 Función de conversión BCD_TO_INT (nota 6)
22 4 Función de conversión INT_TO_BCD (nota 6)
23 1 Función ABS: valor absoluto
23 2 Función SQRT: raíz cuadrada
Tabla nº Característica nº Descripción de las características
63
Conformidad con CEI 1131-3
23 3 Función LN: logaritmo neperiano
23 4 Función LOG: logaritmo en base 10
23 5 Función EXP: exponencial natural
23 6 Función SIN: seno en radianes
23 7 Función COS: coseno en radianes
23 8 Función TAN: tangente en radianes
23 9 Función ASIN: arco seno
23 10 Función ACOS: arco coseno
23 11 Función ATAN: arco tangente
25 1 Función SHL: desplazamiento a la izquierda
25 2 Función SHR: desplazamiento a la derecha
25 3 Función ROR: rotación a la derecha
25 4 Función ROL: rotación a la izquierda
29 1 Función LEN: longitud de cadena
29 2 Función LEFT: n caracteres situados más a la izquierda
29 3 Función RIGHT: n caracteres situados más a la derecha
29 4 Función MID: n caracteres a partir de una posición determinada
29 5 Función CONCAT: concatenación de cadenas (nota 7)
29 6 Función INSERT: insertar una cadena en otra
29 7 Función DELETE: eliminar caracteres
29 8 Función REPLACE: sustituir otros caracteres
29 9 Función FIND: buscar una cadena en otra
32 InputreadInputwriteOutputreadOutputwrite
(nota 8)
33 1 Calificativo RETAIN para las variables internas de los bloques de función.) (nota 9) (nota 4)
33 2 Calificativo RETAIN para las salidas de los bloques de función (nota 9) (nota 4)
33 4a Declaración de entradas/salidas de bloques de función (literal). (nota 4)
37 1 Temporizador de impulso: TP (nota 10)
37 2a Temporizador en la conexión: TON (nota 10)
37 3a Temporizador en la desconexión: TOF (nota 10)
38 esquemas temporales
TP, TON, TOF
Tabla nº Característica nº Descripción de las características
64
Conformidad con CEI 1131-3
39 19 Utilización de variables representadas directamente (variables)
40 1 Etapa, forma gráficaNota: un número de etapa sustituye a un identificador de etapa.
40 2 Etapa, forma textual utilizada en la forma fuente del Grafcet únicamente.
41 1 Condición de transición en lenguaje ST
41 2 Condición de transición en lenguaje LD
42 2l Declaración de las acciones en lenguaje LD
43 1 Bloque de acción
2 Bloques de acción concatenados
45 2 Calificativo de acción N (sin almacenar)
45 11 Calificativo de acción P1 (Pulse rising edge)
45 12 Calificativo de acción P0 (Pulse falling edge)
46 1 Secuencia simple, alternancia etapa/transición
46 2c Divergencia de "o": el usuario debe asegurarse de que todas las condiciones de las transiciones se excluyen mutuamente
46 3 Convergencia de "o":
46 4 Divergencia de "y", convergencia de "y"
46 5c Salto de secuencia en una divergencia de "o"
46 6c Bucle de secuencia: retorno a una etapa anterior
46 7 Flechas de direcciónNota: las flechas de dirección son ascendentes y descendentes
48 40414243444546
El lenguaje Grafcet reúne las condiciones para contar con el nivel mínimo de conformidad con SFC 1131-3
Representación gráfica
49 3 Construcción RESOURCE...ON...END_RESOURCE
49 5a Construcción TASK periódica en RESOURCE
49 6a Declaración PROGRAM con asociación PROGRAM-to-TASK
49 7 Declaración de variables directamente representadas en VAR_GLOBAL
50 5b Orden preventivo en el modelo multitarea
Tabla nº Característica nº Descripción de las características
65
Conformidad con CEI 1131-3
Nota: � Nota 1: Los guiones bajos (_) insertados entre las cifras de un literal numérico
no se admiten.� Nota 2: Estos literales sólo son visibles en la aplicación fuente, para expresar
el tiempo de las tareas configuradas.� Nota 3: Este tipo de datos aún no está implantado de forma visible para el
usuario. La tabla indica no obstante la ocupación de memoria de su representación interna.
� Nota 4: Estas palabras clave sólo se utilizan en las fuentes generadas por PL7 y por las herramientas de conversión de aplicaciones PL7-2 y PL7-3.
� Nota 5: Efectos de conversión con los límites:DINT_TO_STRING: si la cadena que recibe el resultado es inferior a 13 caracteres, se trunca y se coloca %S15.INT_TO_STRING: si la cadena que recibe el resultado es inferior a 7 caracteres, se trunca y se coloca %S15.STRING_TO_DINT y STRING_TO_INT: si la cadena no se puede convertir en entero, el resultado es indeterminado y se coloca %S18.DATE_TO_STRING: si la cadena que recibe el resultado es inferior a 11 caracteres, se trunca y se coloca %S15.DT_TO_STRING: si la cadena que recibe el resultado es inferior a 20 caracteres, se trunca y se coloca %S15.TIME_TO_STRING: si la cadena que recibe el resultado es inferior a 15 caracteres, se trunca y se coloca %S15.TOD_TO_STRING: si la cadena que recibe el resultado es inferior a 9 caracteres, se trunca y se coloca %S15.REAL_TO_STRING: si la cadena que recibe el resultado es inferior a 15 caracteres, se trunca y se coloca %S15.STRING_TO_REAL: si la cadena no se puede convertir en real, el resultado es «1.#NAN» (16#FFC0_0000) y se coloca %S18.REAL_TO_INT: si el real no se puede convertir en los límites [-32768, +32767], el resultado es -32768 y se colocan %S18 y %SW17:X0.REAL_TO_DINT: si el real no se puede convertir en los límites [-2147483648, +2147483647], el resultado es -2147483648 y se colocan %S18 y %SW17:X0.INT_TO_REAL: la conversión siempre es posible.DINT_TO_REAL: la conversión siempre es posible.
� Nota 6: Al no estar formalmente implementado el tipo INT (aunque se utiliza), estas funciones permiten cambiar el formato de codificación de WORD.
� Nota 7: Limitación de la función CONCAT a la concatenación de 2 cadenas.� Nota 8: Este párrafo se aplica a los bloques de función predefinidos PL7.� Nota 9: El calificativo RETAIN es implícito.� Nota 10: Los temporizadores TP, TON y TOF respetan los diagramas
temporales de la tabla 38, pero presentan una interfaz de E/S diferente de 1131-3.
66
Conformidad con CEI 1131-3
Elementos de lenguaje IL
Generalidades Descripción de las características de los elementos de lenguaje IL conformes a la norma CEI 1131-3En la siguiente tabla se enumeran, respecto a las tablas de características descritas en la norma IEC 1131-3, las implementaciones realizadas en los lenguajes PL7.
Tabla de características
Características de los elementos de lenguaje IL:
Tabla nº Característica nº Descripción de las características
51 Campos de instrucción
Etiqueta, operador, operando, comentario
52 1 LD
52 2 ST
52 3 S y R
52 456
ANDORXOR
52 18 JMP
52 20 RET
52 21 )
53 3 Utilización de operadores de entrada para lanzar bloques de función en lenguaje IL
54 11 IN (véase la nota)
54 12 IN (véase la nota)
54 13 IN (véase la nota)
Nota: El operador PT no está implementado.
67
Conformidad con CEI 1131-3
Elementos de lenguaje ST
Generalidades Descripción de las características de los elementos de lenguaje ST conformes a la norma CEI 1131-3En la siguiente tabla se enumeran, respecto a las tablas de características descritas en la norma IEC 1131-3, las implementaciones realizadas en los lenguajes PL7.Este lenguaje se utiliza íntegramente en los módulos ST. También se utiliza un subconjunto ST en los bloques OPERATION y COMPARAISON de los lenguajes IL y LD.
68
Conformidad con CEI 1131-3
Tabla de características
Características de los elementos de lenguaje ST:
Tabla nº Característica nº Descripción de las características
55 1 Escritura entre paréntesis
55 2 Evaluación de función
55 3 - Negación
55 4 NOT Complemento
55 5 JMP
55 67
* Multiplicación/ División
55 910
+ Suma- Resta
55 11 <, >, <=, >= Comparación
55 12 = Igualdad
55 13 <> Desigualdad
55 15 AND para el "y" booleano
55 16 XOR para el "o exclusivo" booleano
55 17 OR para el "o" booleano
56 1 := Asignación
56 3 Estructura RETURN
56 4 Estructura IF «if... then... elsif... then... else... end_if»
56 6 Estructura FOR «for... to... do... end_for» (véase la nota)
56 7 Estructura WHILE «while... do... end_while»
56 8 Estructura REPEAT «repeat ... until... end_repeat»
56 9 Estructura EXIT
Nota: Implementación del bucle FOR con un paso implícito de 1 (por 1).
69
Conformidad con CEI 1131-3
Elementos gráficos comunes
Generalidades Descripción de las características de los elementos gráficos comunes conformes a la norma CEI 1131-3En la siguiente tabla se enumeran, respecto a las tablas de características descritas en la norma IEC 1131-3, las implementaciones realizadas en los lenguajes PL7.
Tabla de características
Características de los elementos gráficos comunes:
Tabla nº Característica nº Descripción de las características
57 2 Líneas horizontales gráficas
57 4 Líneas verticales gráficas
57 6 Unión línea horizontal / línea vertical gráfica
57 8 Intersección gráfica de líneas sin conexión
57 10 Esquinas gráficas conectadas y sin conectar
57 12 Bloques con líneas conectadas gráficas
58 2 Salto incondicional en lenguaje LD
58 4 Salto condicional en lenguaje LD incondicional
58 5 Retorno condicional en lenguaje LD
58 8 Retorno incondicional en lenguaje LD
70
Conformidad con CEI 1131-3
Elementos de lenguaje LD
Generalidades Descripción de las características de los elementos de lenguaje LD conformes a la norma CEI 1131-3En la siguiente tabla se enumeran, respecto a las tablas de características descritas en la norma IEC 1131-3, las implementaciones realizadas en los lenguajes PL7.
Tabla de características
Características de los elementos de lenguaje LD:
Tabla nº Característica nº Descripción de las características
59 1 Barra de alimentación izquierda
59 2 Barra de alimentación derecha
60 1 Enlace horizontal
60 2 Enlace vertical
61 1 Contacto abierto
61 3 Contacto cerrado
61 5 Contacto de detección de transición positiva
61 7 Contacto de detección de transición negativa
62 1 Bobina
62 2 Bobina negativa
62 3 Bobina SET
62 4 Bobina RESET
71
Conformidad con CEI 1131-3
Parámetros que dependen de la implementación
Generalidades Descripción de los parámetros de PL7 que dependen de la implementación efectuadaEn la siguiente tabla se enumeran, respecto a las tablas de características descritas en la norma IEC 1131-3, las implementaciones realizadas en los lenguajes PL7.
72
Conformidad con CEI 1131-3
Tabla de características
Características de los elementos de lenguaje IL:
Parámetros Limitación y comportamiento de PL7
Procedimiento de tratamiento de errores Numerosos errores se indican en la ejecución mediante posicionamiento de bits y palabras de sistema
Caracteres nacionales utilizados ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔ ÕÖØÙÚÛÜàáâãäåæçèéêëìí îïñòóôõöøùúûüßÿ#, $, |
Longitud máxima de los identificadores 32
Longitud máxima de los comentarios 222
Margen de los valores de duración Nota 1
Margen de los valores de tipo TIME
Precisión de la representación de los segundos en los tipos TIME_OF_DAY y DATE_AND_TIME
Nota 1
Nota 2
Número máximo de índices de tabla
Tamaño máximo de las tablas
1 (Nota 3)
en función de la zona indexada (nota 3)
Longitud máxima por defecto de las variables STRING
Longitud máxima permitida para las variables STRING
no se aplica
255
Número máximo de niveles jerárquicosConfiguración lógica o física
3Configuración lógica
Intervalo máximo de los valores de índices en función de la zona indexada (nota 3)
Inicialización de las entradas del sistema El sistema inicializa las variables:� al valor inicial especificado por el usuario, en su caso� de lo contrario, a cero
Efectos de la conversión de tipos sobre la precisión véase la tabla 22, característica 1
Número máximo de tipos e instancias de bloques de función
Sin número máximo (los límites están relacionados con el volumen de la aplicación)
Límite del tamaño de los programas Volumen máximo del código de un programa = 64 Kbytes
Precisión sobre el tiempo transcurrido asociado a una etapa
100ms
Número máximo de etapas por gráfico 96 en autómatas 3710128 en autómatas 37201024 en autómatas 57xx V3.0
Número máximo de transiciones por gráfico y por etapa) 1024 transiciones por gráfico11 transiciones por etapa 1
73
Conformidad con CEI 1131-3
Mecanismo de comando de acciones Calificativos P0, P1 y N1
Número máximo de bloques de acción por etapa Existen 3 acciones posibles: en la activación (P1), continua (N1) y en la desactivación (P0)
Indicación gráfica del estado de una etapa Etapa activa en vídeo inverso
Tiempo de alcance de una transición (desactivación de las etapas ascendentes y activación de las etapas descendentes)
El tiempo de alcance es variable y nunca nulo
Profundidad de las construcciones divergentes y convergentes
Límite proporcionado por la rejilla de introducción
Lista de los autómatas programables por PL7 TSX MICRO, TSX PREMIUM
Número máximo de tareas
Márgenes de los intervalos de las tareasOrden preventivo o no preventivo
1 tarea periódica o cíclica1 tarea periódica8 tareas de sucesos para autómatas 37 1016 tareas de sucesos para autómatas 37 2032 tareas de sucesos para autómatas 57 1064 tareas de sucesos para autómatas 57 20/30de 1 ms a 255 msOrden preventivo
Longitud máxima de una expresiónEvaluación parcial de las expresiones booleanas
variableno
Longitud máxima de las estructuras de comandos en ST variable
Valor de la variable de comando después de la ejecución completa de un bucle FOR
El valor de la variable de comando tiene el valor límite + 1 (ya que el paso es de 1)
Representación gráfica/semigráficaRestricción sobre la topología de las redes
Representaciones gráficasUna red LD puede extenderse en 16 columnas y 7 líneas como máximo
Parámetros Limitación y comportamiento de PL7
74
Conformidad con CEI 1131-3
Nota: � Nota 1: Este tipo de datos aún no está implantado de forma visible para el
usuario. La tabla indica no obstante sus márgenes de valores en el formato IEC 1131-3.TIME: de T#0 a T#429496729.5sTIME_OF_DAY: de TOD#0:0:0 a TOD#23:59:59DATE_AND_TIME: de DT#1990-01-01:0:0:0 a DT#2099-12-31:23:59:59DATE: de D#1990-01-01 a D#2099-12-31DT#2099-12-3
� Nota 2: Los redondeos se efectúan como sigue: de x.0 s a x.4 s, se redondea a x s y de x.5 s a x.9 s se redondea a x+1 s.
� Nota 3: Es posible indexar positiva y negativamente cualquier tipo de variable directamente representada en el límite del número máximo respectivo definido en la configuración.
75
Conformidad con CEI 1131-3
Situaciones de error
Generalidades Descripción de los parámetros de PL7 que dependen de la implementación efectuada.En la siguiente tabla se enumeran las implementaciones realizadas en los lenguajes PL7, respecto a las tablas de características descritas en la norma IEC 1131-3.
Tabla de características
Situaciones de error:
Situaciones de error Limitación y comportamiento de PL7.
Errores de conversión de tipo. Indicado en la ejecución posicionando un bit de sistema: véase la tabla Elementos comunes: tabla 22, característica 1.
El resultado numérico supera el margen para el tipo de datos.
Indicado en la ejecución posicionando el bit de sistema %S18.
Posición de caracteres especificada no válida. Indicado en la ejecución posicionando el bit de sistema %S18.
El resultado supera la longitud máxima de la cadena. Indicado en la ejecución posicionando el bit de sistema %S15.
Efectos de borde durante la evaluación de una transición. Detectado durante la programación.
Tiempo de ejecución no respetado.
Otros conflictos de orden de tareas.
Indicado en la ejecución posicionando el bit de sistema %S19.
Detectado durante la configuración.
División por cero.
Tipo de datos no válido para una operación.
Detectado, si es posible, durante la programación; de lo contrario, se indicaen la ejecución posicionando el bit de sistema %S18.
Error de iteración FOR o WHILE para terminar. El autómata pasa al fallo de rebasamiento de watchdog y se indica la unidad de programación correspondiente.
76
5
Servidor OLE AutomationPresentación
Contenido Este capítulo describe el funcionamiento del servidor OLE Automation
Contenido: Este capítulo contiene las siguientes secciones:
Sección Apartado Página
5.1 Presentación 79
5.2 Puesta en marcha 83
5.3 Funciones OLE 93
77
Servidor OLE Automation
78
Servidor OLE Automation
5.1 Presentación
Presentación
Objeto de este apartado
Este apartado describe las generalidades del servidor OLE Automation
Contenido Esta sección contiene los siguientes apartados:
Apartado Página
Presentación del servidor OLE Automation 80
Modos de funcionamiento del servidor OLE Automation 82
79
Servidor OLE Automation
Presentación del servidor OLE Automation
Introducción La funcionalidad PL7 del servidor OLE Automation ofrece la posibilidad de «controlar» la ejecución de un PL7 de forma programada, no interactiva (sin intervención del operador) para las aplicaciones ajenas a PL7. Se utiliza la terminología de aplicaciones clientes de la funcionalidad PL7 del servidor OLE Automation.
Según el estándar definido por Microsoft en su oferta OLE para responder a esta necesidad, la funcionalidad PL7 dispone de una interface estándar, pública, expandida, propia e independiente del lenguaje de programación de la aplicación cliente.Sus características principales son las siguientes:� Automatización de tareas repetitivas,� delegación de tratamientos en PL7 que éste sabe ejecutar por sí solo,� acceso a información sobre las aplicaciones incluidas en los archivos *.stx y� de modo más general, el desarrollo de funciones de nivel superior a PL7, de tipo
integrador, conservando al mismo tiempo los detalles de implementación específicos de PL7.
Autómata
*.stx
OLE
Aut
omat
ion
ClienteServidor
PL7
Aplicacionescliente
OLE
Aut
omat
ion
80
Servidor OLE Automation
Contexto de ejecución
La funcionalidad PL7 del servidor OLE Automation está integrada en PL7 Pro. Se instala y ejecuta con las mismas condiciones de instalación y ejecución que para PL7. La funcionalidad PL7 del servidor OLE Automation se basa en el tiempo de ejecución de OLE Automation Microsoft suministrado con Windows 95, 98 y NT.
Nota: Para realizar una aplicación cliente del servidor OLE es preciso conocer uno de los siguientes lenguajes para la programación OLE Automation:� Microsoft Visual Basic, versión 5.0 o superior� Microsoft Visual C++, versión 4.2 o superior� Microsoft VBA en Excel, versión 5.0 o superior
81
Servidor OLE Automation
Modos de funcionamiento del servidor OLE Automation
Generalidades Al modo de funcionamiento de PL7 que existía hasta ahora y que se denomina "interactivo", en el que PL7 responde únicamente a las acciones del operador, se añade el modo de funcionamiento del servidor OLE automation, en el que PL7 responde además a comandos emitidos por una aplicación cliente OLE.
Descripción La elección del modo de funcionamiento depende del procedimiento de inicio de PL7:� El modo interactivo se inicializa al lanzar PL7 a través de Windows (menú
Inicio/Programas/Modicon Telemecanique/PL7 Pro.).� El modo servidor se selecciona al acceder al servidor PL7 OLE Automation en
la programación de una aplicación cliente OLE. Una instancia no puede cambiar de modo en curso.
Cada vez que una aplicación cliente accede al servidor OLE Automation con PL7, se lanza una instancia específica de PL7, independientemente de otras eventuales instancias ya iniciadas. En el mismo puesto puede ejecutarse al mismo tiempo un número cualquiera de instancias de PL7 tanto en modo servidor como en modo interactivo. Existe una independencia perfecta entre las instancias, que pueden ejecutarse cada una en su propio contexto.
Para todas estas instancias se aplican las mismas reglas de exclusión de acceso concurrente a una aplicación STX o a un autómata, a saber: una aplicación STX o un autómata sólo pueden manipularse por una instancia al mismo tiempo.Esta regla se ha establecido para el servidor OLE Automation con PL7, que puede abrir una aplicación STX ya abierta pero cuyo registro no puede efectuar. De igual forma, puede efectuar mediante solicitud explícita una transferencia autómata —> PC desde un autómata reservado en otro lugar.Una aplicación cliente puede iniciar instancias en varios "servidores OLE Automation con PL7" concurrentes.
82
Servidor OLE Automation
5.2 Puesta en marcha
Presentación
Objeto de este apartado
Este apartado describe la puesta en marcha del servidor OLE Automation
Contenido Esta sección contiene los siguientes apartados:
Apartado Página
Instalación de OLE Automation 84
Mecanismo de acceso al servidor PL7 OLE Automation 85
Inicio del servidor en modo local (modo COM) 86
Inicio del servidor en modo remoto (DCOM) 87
Puesta en marcha del servidor en modo remoto 89
Modos de ejecución del servidor PL7 90
Puntos de entrada: función OLE 91
83
Servidor OLE Automation
Instalación de OLE Automation
Descripción La instalación del servidor OLE Automation con PL7 es transparente para el usuario y se realiza de forma implícita al instalar PL7. La instalación incluye:� Cuatro ejemplos de cliente OLE Automation completos con su código fuente y un
archivo README suministrados con el programa.Dichos ejemplos corresponden a:� un cliente Visual C++ 4.2 "mínimo": los conocimientos mínimos para escribir
un cliente OLE.� un cliente Visual C++ 4.2 "completo" que utiliza todos los puntos de entrada
disponibles.� un cliente Visual Basic ++ 5.0 que utiliza todos los puntos de entrada
disponibles.� un cliente Excel.
� Un archivo *.h que define los valores de los códigos de error procedentes del servidor.
� Un archivo TLB de interfaz para un cliente Visual C++.
84
Servidor OLE Automation
Mecanismo de acceso al servidor PL7 OLE Automation
El servidor PL7 OLE Automation permite dos modos de acceso a los servicios que ofrece.
Acceso en modo local
La aplicación cliente y el servidor PL7 OLE Automation están en el mismo puesto.
Acceso remoto a través de DCOM
La aplicación cliente y el servidor PL7 Automation están en puestos distintos, conectados a través de la red TCP/IP:
DCOM
Estación del cliente Estación del servidor
85
Servidor OLE Automation
Inicio del servidor en modo local (modo COM)
Introducción El modo COM (Component Object Model) define una interface de comunicación entre aplicaciones que proporciona independencia respecto a las herramientas de desarrollo.
Inicio del servidor en modo local (modo COM)
Para iniciar el servidor en modo local, siga el procedimiento que se describe a continuación:
1 Declare un objeto «A» en la aplicación cliente para comunicarse con la aplicación del servidor.
2 Ejecute la función Createdispatch en el objeto "A" de la aplicación cliente para iniciar una instancia en la aplicación del servidor.
3 Registre PL7Pro en la base de registro como servidor OLE para un funcionamiento correcto en modo servidor (el enlace entre la aplicación cliente y la aplicación servidor se crea si éste se ha referenciado en la base de registro).
4 La aplicación cliente puede ahora interrogar a la aplicación servidor a través de la interface accesible del objeto «A». Ejemplo: OpenStx("C:\appli.stx).
86
Servidor OLE Automation
Inicio del servidor en modo remoto (DCOM)
Introducción El servidor Pl7 se ejecuta en función de la información presente en la base de registro. Puede encontrarse en la máquina cliente o en una máquina remota.
El modo DCOM es una extensión del modo COM (Component Object Model). Este modo permite establecer el diálogo entre una aplicación cliente y una aplicación servidor en una misma máquina.
El modo DCOM permite dialogar entre dos máquinas remotas. Sustituye los protocolos de comunicación entre procesos por los protocolos de red.En la siguiente figura se muestra el funcionamiento de OLE Automation en modo servidor remoto:
Driver choice
PL7Servur
Client P C
X
Client
Driver choice
PL7Server
P C
X
PC aPC b PC c
DCE RPCSecurityprovider
Protocol stack
DCE RPCSecurityprovider
Protocol stack
DCOM networkprotocol
ClientCOM
run-timeCOM
run-time Component
87
Servidor OLE Automation
Utilidad de configuración
Para establecer la comunicación entre dos máquinas, emplearemos una utilidad de configuración denominada "DCOMCNFG.EXE".Por defecto, la utilidad "DCOMCNFG.EXE" no está instalada en Windows 95. Es necesario que el usuario se conecte en Internet a la siguiente dirección: "http://www.microsoft.com"y realice una búsqueda en el sitio para cargar la utilidad. Todo ello con objeto de que el servidor en DCOM funcione en Windows 95.
88
Servidor OLE Automation
Puesta en marcha del servidor en modo remoto
Ejemplo de utilización
Ejemplo con una máquina A (Windows NT 4) instalada con el servidor PL7 Pro.El usuario de las máquinas debe conectarse como «administrador» para poder gestionar los derechos de acceso.El cliente es la máquina B (Windows 95).
Procedimiento Siga el procedimiento que se indica a continuación:
Para obtener más información
Existen grupos de debate ("newsgroups") en Internet en los que es posible realizar preguntas relativas a DCOM.
1 En la máquina B, inicie DCOMCNFG:� Seleccione la pestaña «Default Properties» para ver la información siguiente:
� [X] «Enable Distributed COM on this computer».� Default Authentication Level: CONNECT.� Default Impersonation Level: Identify.
� En la pestaña «Default Security», seleccione la opción:� [X] Enable remote connection.
� En la pestaña «Application»:� Seleccione el servidor PL7Pro «PL7 server» y, a continuación,
«Properties».
2 En la máquina A, inicie DCOMCNFG:� Seleccione la pestaña «Default Properties» para ver la información siguiente:
� [X] «Enable Distributed COM on this computer».� Default Authentication Level: CONNECT.� Default Impersonation Level: Identify.
3 La máquina B «Cliente» puede controlar el «servidor PL7 Pro» situado en la máquina A.
4 Seleccione la pestaña «Default security», añada los usuarios que tendrán derechos de escritura en la máquina.
89
Servidor OLE Automation
Modos de ejecución del servidor PL7
Introducción El servidor OLE Automation con PL7 posee dos modos de ejecución que se pueden elegir de forma dinámica durante la ejecución (véase SetIHMServer )
Modos de ejecución
� Modo de ejecución sin IHM. PL7 se inicia como "tarea de fondo" sin ninguna visualización ni posibilidad de entrada del operador. Es el modo típico que debe emplearse, por ejemplo, para automatizar las tareas repetitivas o acceder a información en una aplicación contenida en un archivo stx.
� Modo de ejecución con IHM. PL7 se inicia como un PL7 "interactivo" con visualización y posibilidad de entrada del operador, y sigue recibiendo los comandos emitidos por su aplicación cliente. Este modo se ha desarrollado para visualizar elementos de programa o de configuración de una aplicación contenida en un archivo stx desde herramientas externas, por ejemplo, DIAG Viewer.
Nota: Los servicios relativos a la visualización de programas, herramientas o módulos sólo se ejecutan en el modo con IHM.El servidor OLE Automation con PL7, en el modo con IHM, está sujeto a los controles de derechos de usuarios. Está situado en el perfil del derecho de usuario "Read Only", que corresponde a su función de visualizador de códigos y módulos de E/S PL7.El servidor OLE Automation con PL7, en el modo sin IHM, no está sujeto a los controles de derechos de usuarios, pero los servicios ofrecidos no permiten modificar la aplicación.
90
Servidor OLE Automation
Puntos de entrada: función OLE
Introducción Los puntos de entrada se clasifican en cuatro tipos:� Contexto de ejecución� Control API� Lectura de la información� Visualización de elementos de la aplicación
Contexto de ejecución
Puntos de entrada
Control API Puntos de entrada
Nombre Descripción
OpenStx Apertura de una aplicación
SaveStx Registro de la aplicación activa
CloseStx Cierre de la aplicación activa
Set DriverAndAddress Modificación de la dirección y el driver del autómata al que se accede
SetServerIHM Cambio del modo interactivo del servidor PL7 OLE Automation
GetPL7IHM Proporciona el estado: aplicación abierta o cerrada, modo local - conectado, estado API
GetMessageError Lee el mensaje de error asociado al código de error
Nombre Descripción
ConnectPLC Entra en el modo conectado
DisconnectPLC Sale del modo conectado
SenCommandToPLC Envía un comando al autómata (RUN, STOP INIT)
DownloadToPLC Carga de la aplicación activa en un autómata
UploadFromPLCM Copia de una aplicación del autómata en la aplicación activa
DownloadStationWithSym
bol
Carga de una aplicación y su base comprimida de símbolos en el autómata
91
Servidor OLE Automation
Lectura de la información
Puntos de entrada
Visualización de elementos de la aplicación
Puntos de entrada
Nombre Descripción
ExportScyFile Exportación de los símbolos a la aplicación activa en forma de archivo scy
ExportFefFile Exportación de la aplicación activa en forma de archivo tipo fef
GetSymbol Lee el símbolo y el comentario asociado a una variable
GetSTXAppIdentity Lee la información general de una aplicación incluida en un archivo STX
GetPLCAppIdentity Lee la información general de una aplicación incluida en un autómata
GetServerVersion Lee la versión del servidor
CompareSymbolPCAndSymb
olPLCAppli
Muestra la información general de una aplicación incluida en un autómata
Nombre Descripción
SetPosPL7Window Modifica las características de visualización del PL7 (posición y forma)
ShowProgram Apertura de un editor en un módulo de programa determinado
CloseProgram Cierre de un editor de programa
ShowIOModule Apertura de un editor en un módulo de E/S determinado
CloseIOModule Cierre de un editor en un módulo de E/S determinado
ShowDFB Apertura de un editor en el código de un DFB determinado
CloseDFB Cierre de un editor en el código de un DFB
OpenTool Apertura de una herramienta MDI cualquiera sin contexto
Nota: Los puntos de entrada relativos a la visualización de elementos de la aplicación no funcionan si el servidor está en modo sin IHM.
92
Servidor OLE Automation
5.3 Funciones OLE
Presentación
Objeto de este apartado
Este apartado describe las funciones OLE del servidor OLE Automation
Contenido Esta sección contiene los siguientes apartados:
Apartado Página
OpenStx 95
CloseStx 96
OpenStxWithMaj 97
ExportScyFile 98
ExportFeFile 99
ExportFefFileWithConfiguration 100
DisconnectPLC 101
ConnectPLC 102
SaveStx 103
DownloadDataToPLC 104
DownloadToPLC 106
UploadFromPLC 107
UploadDataFromPLC 108
UploadFromPLCWithSymbol 110
GetSymbol 112
SetServerIHM 113
SetDownloadFunction 114
GetPL7State 115
GetSTXAppIdentity 116
GetPLCAppIdentity 117
SendCommandToPLC 119
SetDriverAndAdresse 120
OpenTool 121
SetPosPL7Windows 123
ShowProgram 124
CloseProgram 125
93
Servidor OLE Automation
ShowIOModule 126
CloseIOModule 127
ShowDFB 128
CloseDFB 129
GetMessageError 130
GetServerVersion 131
ImportScyFile 132
DownloadStationWithSymbol 133
CompareSymbolPCAndSymbolPLCAppli 134
Apartado Página
94
Servidor OLE Automation
OpenStx
Generalidades Esta función permite abrir un archivo de tipo aplicación stx.
Descripción Sintaxis:
� Entrada:Introduzca la cadena de caracteres que contiene el nombre del archivo que desee abrir.
� Función llamada:OpenStation: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 está activo.
� Casos de error:
� Salida:Código de retorno de tipo short. Será 0 cuando se haya abierto de forma correcta; de lo contrario, será un código de error.
integer OpenStx(String lpAppPathName)
SRV_ERR_GEN_FILENOTFOUND No se ha encontrado el archivo.
SRV_ERR_OPEN_BADZIP Problema de descompresión de archivo.
SRV_ERR_OPEN_BADFILE Problema de lectura del archivo stx.
SRV_ERR_OPEN_NOK_COMPATIBLE El procesador no funciona con PL7 abierto.
SRV_ERR_OPEN_OPEN Ya hay otra aplicación abierta.
SRV_ERR_GEN_PARAM_EMPTY El nombre de la ruta está vacío.
SRV_ERR_GEN_ACTION Error al abrir la aplicación.
SRV_ERR_GEN_DRIVE FULL No hay suficiente espacio libre en el disco para abrir la aplicación.
95
Servidor OLE Automation
CloseStx
Generalidades Esta función permite cerrar la aplicación en curso
Descripción Sintaxis:
� Entrada:Si se ha modificado la aplicación, es posible cerrarla sin avisar al usuario (p_bWithoutSave a TRUE)
� Función llamada:CloseStation: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 está activo, una aplicación se encuentra abierta.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 en caso de conseguir cerrarla, bien un código de error.
integer CloseStx( integer p_bWithoutSave)
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_CLOSE_NOTSAVE Se ha modificado la aplicación, es preciso guardarla para salir.
96
Servidor OLE Automation
OpenStxWithMaj
Generalidades Esta función permite exportar la aplicación activa con su configuración en un archivo de tipo fef.
Descripción Sintaxis:
� Entrada:� Introducir 1 cadena de caracteres que contenga el nombre y la ruta del archivo
stx que se desea abrir.� Un entero que indica si es necesario actualizar los archivos del catálogo o no
(valor 0 para no actualización o 1 para una actualización).� Función denominada:
OpenStation: Función de la gestión estación (gesta.dll).� Contexto nominal:
� El servidor PL7 está activo,� PL7 está en modo local.
� Caso de error:
� Salida:Código de retorno de tipo short. 0 en el caso de una apertura de estación con éxito, si un código de error.
� Limitaciones:El servidor de PL7, sin IHM, una vez que la importación haya tenido éxito, no puede funcionar en modo con IHM sin un guardado previo de la aplicación abierta.
entero OpenStxWithMaj (string NameFile, integer WithNewCat)
SRV_ERR_GEN_ACTION Error producido durante la ejecución de la función.
SRV_ERR_GEN_PARAM_EMPTY El nombre del archivo dat no es correcto o está vacío.
SRV_ERR_GEN_DRIVEFULL Más espacio libre en el disco para la apertura de la aplicación.
SRV_ERR_OPEN_OPEN Ya está abierta una aplicación.
SRV_ERR_GEN_FILENOTFOUND No se ha encontrado el archivo.
SRV_ERR_OPEN_BADZIP Problema de extracción del archivo zip.
97
Servidor OLE Automation
ExportScyFile
Generalidades Esta función permite exportar los símbolos contenidos en la aplicación activa en forma de archivo de tipo scy.
Descripción Sintaxis:
� Entrada:Introduzca la cadena de caracteres que contiene el nombre del archivo scy.
� Función llamada:ExportScyFile: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo. Se encuentra abierta una aplicación.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 si la exportación se realiza correctamente, bien un código de error.
integer ExportScyFile(String p_psScyFile)
SRV_ERR_GEN_ACTION Error al crear el archivo de origen.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_PARAM_EMPTY p_ psScyFile está vacío
SRV_EXPORT_ERRFILE Error al escribir en el archivo de origen.
98
Servidor OLE Automation
ExportFeFile
Generalidades Esta función permite exportar la aplicación activa en forma de archivo de tipo fef.
Descripción Sintaxis:
� Entrada:Introduzca la cadena de caracteres que contiene el nombre del archivo fef.
� Función llamada:ExportFefFile: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo. Se encuentra abierta una aplicación.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 si la exportación se realiza correctamente, bien un código de error.
integer ExportFefFile(String p_psNamefile)
SRV_ERR_GEN_ACTION Error al crear el archivo fuente de la aplicación.
SRV_ERR_GEN_PARAM_EMPTY No hay ninguna aplicación abierta.
SRV_ERR_GEN_PARAM_EMPTY p_ psNamefile está vacío.
SRV_EXPORT_ERRFILE Error al escribir en el archivo de origen.
99
Servidor OLE Automation
ExportFefFileWithConfiguration
Generalidades Esta función permite exportar la aplicación activa con su configuración en un archivo de tipo fef.
Descripción Sintaxis:
� Entrada:Introducir 1 cadena de caracteres que contenga el nombre y la ruta del archivo scy que se va a exportar.
� Función denominada:ExportFefFileWithConf: Función de la gestión estación (gesta.dll).
� Contexto nominal:� El servidor PL7 está activo,� PL7 está en modo local, estación abierta.
� Caso de error:
� Salida:Código de retorno de tipo short. 0 en el caso de una exportación con éxito, si un código de error.
entero ExportFefFileWithConfiguration (string FefFile)
SRV_ERR_GEN_ACTION Error producido durante la ejecución de la función.
SRV_ERR_GEN_PARAM_EMPTY El nombre del archivo dat no es correcto o está vacío.
SRV_ERR_GEN_NOTOPEN No hay aplicación STX abierta.
SRV_EXPORT_ERRFILE Imposible crear el archivo a exportar.
100
Servidor OLE Automation
DisconnectPLC
Generalidades Esta función permite desconectar el autómata del PL7.
Descripción Sintaxis:
� Función llamada:DisconnectStation: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo.
� Salida:Código de retorno de tipo short. Bien 0 en caso de realizar la desconexión correctamente, bien un código de error (SRV_ERR_GEN_ACTION).
integer ExportFefFile(String p_psNamefile)
101
Servidor OLE Automation
ConnectPLC
Generalidades Esta función permite conectarse a un autómata.
Descripción Sintaxis:
� Entrada:Introduzca dos cadenas de caracteres que contengan el controlador y la dirección del autómata.
� Función llamada:ConnectStation: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo. En caso de que los parámetros sean cadenas vacías, el servidor ejecuta la función con el controlador o la dirección actuales.
� Caso de error:
� Salida:
integer ConnectPLC(String p_lpDriver, String p_lpAddress)
SRV_ERR_GEN_CONNECT No ha podido efectuarse la conexión.
SRV_ERR_GEN_COMMUNICATION Problema de comunicación entre PL7pro y el autómata.
SRV_ERR_GEN_RESERVED El autómata está reservado, por lo no es posible conectarse.
SRV_ERR_PLC_BLANK El autómata no contiene ninguna aplicación, por lo que no es posible conectarse.
SRV_ERR_PC_BLANK No hay ninguna aplicación abierta, por lo que no es posible conectarse.
SRV_ERR_DIFFERENCE_PLC_STX La aplicación abierta y la aplicación contenida en al autómata son diferentes, por lo que no es posible conectarse.
SRV_ERR_GEN_ADDRESS El parámetro de la dirección es incorrecto.
SRV_ERR_GEN_ACTION Error al ejecutar la función.
SRV_ERR_GEN_DRIVER El parámetro del controlador es incorrecto.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_PROTECTEDAPPLI Aplicación protegida.
SRV_COMPATIBLE_PLC Problema de compatibilidad con el autómata.
102
Servidor OLE Automation
Código de retorno de tipo short. Bien 0 en caso de efectuar la conexión correctamente, bien un código de error.
SaveStx
Generalidades Esta función permite guardar la aplicación abierta.
Descripción Sintaxis:
� Entrada:Introduzca una cadena de caracteres que contenga la ruta y el nombre del archivo para guardar.
� Función llamada:SaveStx: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo. Una aplicación está abierta, PL7 está en modo local.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 en caso de conseguir guardar el archivo, bien un código de error.
integer SaveStx(String p_lpStxFile)
SRV_ERR_SAVEDENIED Acceso al archivo denegado.
SRV_ERR_SAVEERRZIP Error al comprimir la aplicación.
SRV_ERR_SAVEERRREN Cambio de nombre denegado.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_PARAM_EMPTY p_ lpStxFile está vacío.
SRV_ERR_GEN_ACTION Error al guardar la aplicación.
SRV_ERR_PLC_CONNECT Sólo es posible guardar el archivo en modo local.
103
Servidor OLE Automation
DownloadDataToPLC
Generalidades Esta función permite cargar un archivo que contenga palabras en el autómata.
Descripción Sintaxis:
� Entrada:Introducir las 3 cadenas de caracteres que contiene el controlador, la dirección del autómata y el nombre completo del archivo de formato dat.
� Función denominada:DownloadData: Función de la gestión estación (gesta.dll).
� Contexto nominal:� El servidor PL7 está activo,� PL7 está en modo local,� Si los parámetros (controlador y dirección) son cadenas vacías, el servidor
ejecuta la función con el controlador o con la dirección actual.� Casi de error:
entero DownLoadDataToPLC (string Driver, string Address, string NameFile)
SRV_ERR_DOWNLOAD_CART Problema de compatibilidad del cartucho entre la aplicación abierta y el autómata.
SRV_ERR_COMPATIBLE_PLC Problema de compatibilidad entre la aplicación abierta y el autómata.
SRV_ERR_PC_BLANK No hay ninguna aplicación abierta.
SRV_ERR_GEN_ADDRESS El parámetro p_IpAddress no es correcto.
SRV_ERR_GEN_DRIVER El parámetro p_IpDriver no es correcto.
SRV_ERR_GEN_RESERVED El autómata está reservado, por lo que es imposible realizar la conexión.
SRV_ERR_GEN_COMMUNICATION Problema de comunicación entre PL7pro y el autómata.
SRV_ERR_PLC_CONNECT Es necesario estar en modo local para efectuar la descarga.
SRV_ERR_GEN_ACTION Error producido durante la ejecución de la función.
SRV_ERR_GEN_PARAM_EMPTY El nombre del archivo dat no es correcto o está vacío.
SRV_ERR_GEN_PROTECTEAPPLI La aplicación está protegida en modo lectura, por lo que no es posible conectarse con el autómata.
104
Servidor OLE Automation
� Salida:Código de retorno de tipo short. 0 en el caso de una carga con éxito, si un código de error.
SRV_ERR_TRFDATA_READDS Error de comunicación.
SRV_ERR_TRFDATA_NODATA Variables numéricas no configuradas o leídas de forma incorrecta. No se ha creado el archivo.
SRV_ERR_TRFDATA_READWRITE Problema en el archivo dat.
SRV_ERR_TRFDATA_INFOFILE Problema en el archivo dat.
SRV_ERR_TRFDATA_RUNREFUSED El autómata rechazó la petición de paso a RUN (Entrada Run/Stop posicionada a STOP).
SRV_ERR_TRFDATA_READOBJ Error de lectura o de escritura de las variables numéricas.
SRV_ERR_TRFDATA_WRITEOBJ Error de lectura o de escritura de las variables numéricas.
SRV_TRFDATA_OVERFLOW Atención, el margen de valores era demasiado grande, por lo que ha habido un rebasamiento.
SRV_TRFDATA_BORNENOCORRECT Los valores mínimo y máximo son incorrectos.
105
Servidor OLE Automation
DownloadToPLC
Generalidades Esta función permite telecargar una aplicación en la memoria del autómata.
Descripción Sintaxis:
� Entrada:Introduzca dos cadenas de caracteres que contengan el controlador y la dirección del autómata.
� Función llamada:DownloadStation: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo. Una aplicación está abierta, PL7 está en modo local. En caso de que los parámetros sean cadenas vacías, el servidor ejecuta la función con el controlador o la dirección actuales.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 si la carga se realiza correctamente, bien un código de error.
integer DownloadToPLC(String p_lpDriver, String p_lpAdresse)
SRV_ERR_DOWNLOAD_CART Problema de compatibilidad del cartucho de memoria entre la aplicación abierta y el autómata.
SRV_ERR_COMPATIBLE_PLC Problema de compatibilidad entre la aplicación abierta y el autómata.
SRV_ERR_GEN_ADDRESS El parámetro p_lpAdresse es incorrecto.
SRV_ERR_GEN_DRIVER El parámetro p_lpDriver es incorrecto.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_RESERVED El autómata está reservado.
SRV_ERR_GEN_COMMUNICATION Problema de comunicación.
SRV_ERR_PLC_CONNECT El autómata ya está conectado.
SRV_ERR_PLC_ACTION Error al realizar la descarga.
106
Servidor OLE Automation
UploadFromPLC
Generalidades Esta función permite copiar en la memoria una aplicación contenida en un autómata.
Descripción Sintaxis:
� Entrada:Introduzca dos cadenas de caracteres que contengan el controlador y la dirección del autómata. Un entero (p_iReservedMode) permite llevar a cabo la carga en un autómata reservado.
� Función llamada:UploadStation: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo. No hay ninguna aplicación abierta y PL7 está en modo local. En caso de que los parámetros sean cadenas vacías, el servidor ejecuta la función con el controlador o la dirección actuales.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 si la carga se realiza correctamente, bien un código de error.
integer UploadFromPLC(String p_lpDriver, String p_lpAdresse, integer p_iReservedMode)
SRV_ERR_UPLOAD_TRANSFER Problema al transferir la aplicación contenida en el autómata.
SRV_ERR_UPLOAD_ABORT Cancelación de la transferencia.
SRV_ERR_UPLOAD_RESERVED Aplicación reservada.
SRV_ERR_UPLOAD_NOAPPLI Autómata virgen.
SRV_ERR_GEN_ADDRESS Dirección incorrecta.
SRV_ERR_GEN_ACTION Error de ejecución de la función.
SRV_ERR_PLC_CONNECT Error de conexión.
SRV_ERR_GEN_DRIVER Controlador incorrecto.
SRV_ERR_GEN_COMMUNICATION Error de comunicación.
SRV_ERR_PLC_CONNECT El autómata está en modo conectado.
SRV_OPEN_NOT_COMPATIBLE Problema de compatibilidad.
107
Servidor OLE Automation
UploadDataFromPLC
Generalidades Esta función permite descargar un archivo que contenga palabras en el autómata.
Descripción Sintaxis:
� Entrada:� Introducir las 3 cadenas de caracteres que contiene el controlador, la
dirección del autómata y el nombre completo del archivo de formato dat,� Introducir los 2 enteros que son los valores mínimo y máximo que se desean
recuperar.� Función denominada:
UploadData: Función de la gestión estación (gesta.dll).� Contexto nominal:
� El servidor PL7 está activo,� PL7 está en modo local,� Si los parámetros (controlador y dirección) son cadenas vacías, el servidor
ejecuta la función con el controlador o con la dirección actual.� Casi de error:
entero UpLoadDataFromPLC (string Driver, string Address, entero ValMin, entero ValMax, string NameFile)
SRV_ERR_COMPATIBLE_PLC Problema de compatibilidad entre la aplicación abierta y el autómata.
SRV_ERR_GEN_ADDRESS El parámetro p_IpAddress no es correcto.
SRV_ERR_GEN_DRIVER El parámetro p_IpDriver no es correcto.
SRV_ERR_GEN_RESERVED El autómata está reservado, por lo que es imposible realizar la conexión.
SRV_ERR_GEN_COMMUNICATION Problema de comunicación entre PL7pro y el autómata.
SRV_ERR_PLC_CONNECT Es necesario estar en modo local para efectuar la descarga.
SRV_ERR_GEN_ACTION Error producido durante la ejecución de la función.
SRV_ERR_GEN_PARAM_EMPTY El nombre del archivo dat no es correcto o está vacío.
SRV_ERR_GEN_PROTECTEAPPLI La aplicación está protegida en modo lectura, por lo que no es posible conectarse con el autómata.
SRV_ERR_TRFDATA_READDS Error de comunicación.
108
Servidor OLE Automation
� Salida:Código de retorno de tipo short. 0 en el caso de una descarga con éxito, si un código de error.
SRV_ERR_TRFDATA_NODATA Variables numéricas no configuradas o leídas de forma incorrecta. No se ha creado el archivo.
SRV_ERR_TRFDATA_READWRITE Problema en el archivo dat.
SRV_ERR_TRFDATA_INFOFILE Problema en el archivo dat.
SRV_ERR_TRFDATA_RUNREFUSED El autómata rechazó la petición de paso a RUN (Entrada Run/Stop posicionada a STOP).
SRV_ERR_TRFDATA_READOBJ Error de lectura o de escritura de las variables numéricas.
SRV_ERR_TRFDATA_WRITEOBJ Error de lectura o de escritura de las variables numéricas.
SRV_TRFDATA_OVERFLOW Atención, el margen de valores era demasiado grande, por lo que ha habido un rebasamiento.
SRV_TRFDATA_BORNENOCORRECT Los valores mínimo y máximo son incorrectos.
109
Servidor OLE Automation
UploadFromPLCWithSymbol
Generalidades Esta función permite descargar una aplicación con los símbolos asociados que contiene el autómata.
Descripción Sintaxis:
� Entrada:Introduzca las dos cadenas de caracteres que contiene el controlador, la dirección del autómata. Un entero (p_IReserveMode) que permite transferir PLC a un PC en un autómata reservado.
� Función llamada:UploadStationWithSymbol: función de la gestión de estación (gesta.dll).
� Contexto nominal:� El servidor PL7 está activo.� PL7 está en modo local.� Si los parámetros (controlador y dirección) son cadenas vacías, el servidor
ejecuta la función con el controlador o con la dirección actual.� Casos de error:
integer UpLoadFromPLCWithSymbol (string Driver, string Address, integer ReserveMode)
SRV_ERR_COMPATIBLE_PLC Problema de compatibilidad entre la aplicación abierta y el autómata.
SRV_ERR_GEN_ADDRESS El parámetro p_IpAddress no es correcto.
SRV_ERR_GEN_DRIVER El parámetro p_IpDriver no es correcto.
SRV_ERR_GEN_RESERVED El autómata está reservado, por lo que es imposible realizar la conexión.
SRV_ERR_GEN_COMMUNICATION Problema de comunicación entre PL7Pro y el autómata.
SRV_ERR_PLC_CONNECT Es necesario estar en modo local para efectuar la descarga.
SRV_ERR_GEN_ACTION Error producido durante la ejecución de la función.
SRV_ERR_GEN_PARAM_EMPTY El nombre del archivo dat no es correcto o está vacío.
SRV_ERR_GEN_PROTECTEAPPLI La aplicación está protegida en modo lectura, por lo que no es posible conectarse con el autómata.
SRV_OPEN_NOK_COMPATIBLES El servidor no soporta el nivel de la aplicación STX que desea abrir.
110
Servidor OLE Automation
� Salida:Código de retorno de tipo short. Será 0 cuando la carga se haya realizado correctamente; de lo contrario, será un código de error.
SRV_ERR_UPLOAD_NOAPPLI Se ha producido un error durante la transferencia de la aplicación.
SRV_ERR_UPLOAD_READINFOSYMB Error de comunicación durante la lectura de la información integrada de la base.
SRV_ERR_UPLOAD_WRITEINFOSYMBOL Error de escritura. Si el disco de almacenamiento está saturado en el archivo dat.
SRV_ERR_UPLOAD_INVALIDSYMB Base de símbolos integrada en el autómata inválida.
SRV_ERR_UPLOAD_INVALIDVERSION Esta versión de PL7 no soporta la versión de la base de símbolos integrada.
SRV_ERR_UPLOAD_SYMBERR Error interno en la base de símbolos integrada.
SRV_ERR_UPLOAD_NBSYMBERR_NOCORRECT
Incoherencia en los objetos almacenados en la base comprimida.
SRV_ERR_UPLOAD_SYMBFILE Problema de lectura de la base que contiene el autómata.
SRV_ERR_UPLOAD_READSYMBFILE Error de lectura de la base que contiene el autómata.
SRV_ERR_UPLOAD_PBMEM La memoria está saturada, la operación no puede realizarse normalmente.
SRV_ERR_UPLOAD_ABORTSYMB Abandono de la lectura del archivo de la base de símbolos integrada.
SRV_ERR_UPLOAD_CHECKSYMB Se ha detectado una diferencia entre la suma de control integrada y la suma de control recalculada.
SRV_ERR_UPLOAD_DIFFSYMB Se ha detectado una diferencia entre la información transferida y la información recalculada.
111
Servidor OLE Automation
GetSymbol
Generalidades Esta función permite dar el símbolo y el comentario asociados a una variable.
Descripción Síntesis:
� Entrada:Introduzca la cadena de caracteres que contiene la variable que se va a modificar o respecto a la que se van a introducir los datos.
� Función llamada:GetSymbol: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo. Una aplicación está abierta en modo local.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 si la carga se realiza correctamente, bien un código de error.Dos cadenas de caracteres:� El símbolo asociado ( p_bsSymbole).� El comentario asociado ( p_bsComment).
integer GetSymbol(String p_lpRepere, String* p_bsSymbole, String* p_bsComment)
SRV_ERR_ADDRESSSYNTAX La cadena de caracteres pasada a parámetros no corresponde a ninguna variable.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_PARAM_EMPTY p_lpRepere está vacío.
SRV_ERR_GEN_ACTION Error al ejecutar la función.
SRV_ERR_GEN_ADDRESS Dirección incorrecta.
SRV_ERR_GEN_ACTION Error de ejecución de la función.
112
Servidor OLE Automation
SetServerIHM
Generalidades Esta función permite visualizar o no el servidor PL7. Permite pasar de un modo de funcionamiento a otro. Es decir, de un servidor PL7Pro sin IHM a un servidor PL7 Pro con IHM y a la inversa.
Descripción Sintaxis:
� Entrada:Un booleano (visualización IHM o sin visualización).
� Función llamada:SetIHMServer: función de la aplicación Windows (sawinapp.cpp).
� Contexto nominal:el servidor PL7 está activo.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 si la carga se realiza correctamente, bien un código de error.
integer SetServerIHM (integer p_bIHM)
SRV_ERR_GEN_ACTION Error al ejecutar la función.
SRV_ERR_GEN_MODIFAPPLI Aplicación en curso de modificación.
113
Servidor OLE Automation
SetDownloadFunction
Generalidades Esta función permite autorizar o no autorizar la transferencia de una aplicación mediante el servidor en un autómata.
Descripción Sintaxis:
� Entrada:Introducir 1 entero (valor 0 ó 1) que permita activas o no activar la transferencia de la aplicación en el autómata,
� Contexto nominal:� El servidor PL7 está activo,� PL7 está en modo local.
� Salida:TRUE.
� Limitaciones:Esta función sólo prohibe la transferencia para una utilización en modo servidor.
booleano SetDownloadFunction (integrar Download)
114
Servidor OLE Automation
GetPL7State
Generalidades Esta función permite obtener el estado del servidor.
Descripción Sintaxis:
� Función llamada:GetEtatPL7: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 si la carga se realiza correctamente, bien un código de error.Dos cadenas de caracteres informan al usuario sobre:� el estado de la estación (abierta o cerrada);� el estado del modo (local o conectado). En modo conectado, se indica si el
estado del autómata es run o stop.
integer GetPL7State(String* p_lpStation, String * p_lpConnection)
SRV_ERR_GEN_ACTION Error al ejecutar la función.
115
Servidor OLE Automation
GetSTXAppIdentity
Generalidades Esta función permite conocer la información general sobre una aplicación.
Descripción Sintaxis:
� Entrada:Introduzca la cadena de caracteres (p_lpNameStx) que contiene el nombre de la aplicación.
� Función llamada:FicheIdentAppli: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 está activo.
� Casos de error:
� Salida:Código de retorno de tipo short. Será 0 cuando la carga se haya realizado correctamente; de lo contrario, será un código de error.
Información visualizada:
integer GetSTXAppIdentity(String p_lpNameStx, VARIANT FAR* p_pVarInfo)
SRV_ERR_GEN_PARAM_EMPTY p_ lpNameStx está vacío.
SRV_ERR_GEN_ACTION Error al ejecutar la función.
SRV_ERR_APPLIINFO_NOK Información incorrecta.
0 Nombre de la estación
1 Número de versión de la aplicación
2 Fecha y hora de modificación
3 Firma de la estación
4 Firma relativa a la configuración de las entradas/salidas locales
5 Firma relativa a la configuración de las entradas/salidas remotas
6 Firma relativa al código PL7
7 Firma relativa al grafcet
8 Firma relativa a las constantes
9 Firma relativa a los símbolos
10 Firma relativa a la reserva
11 Comentario asociado a la aplicación
116
Servidor OLE Automation
GetPLCAppIdentity
Generalidades Esta función permite conocer la información general sobre la aplicación contenida en un autómata.
Descripción Sintaxis:
� Entrada:Introduzca las dos cadenas de caracteres que contienen el controlador y la dirección del autómata.
� Función llamada:FicheIdentAppliOnAutomate: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo y en modo local.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 si la carga se realiza correctamente, bien un código de error.
Información visualizada:
integer GetPLCAppIdentity(String p_lpDriver, String p_lpAdresse, VARIANTFAR* p_pvInfoAppli)
SRV_ERR_APPLIINFO_NOK Información incorrecta.
SRV_ERR_GEN_ACTION Error al ejecutar la función.
SRV_ERR_GEN_ADDRESS Dirección incorrecta.
SRV_ERR_COMPATIBLE_PLC Problema de compatibilidad entre API y el programa PL7.
SRV_ERR_PLC_BLANK El autómata no contiene ninguna aplicación.
SRV_ERR_GEN_ACTION Problema al guardar la información relativa a la aplicación.
SRV_ERR_GEN_DRIVER El parámetro p_lpDriver es incorrecto.
SRV_ERR_GEN_COMMUNICATION Error de comunicación.
0 nombre de la estación,
1 número de la versión de la aplicación,
2 fecha y hora de modificación,
3 firma de la estación,
4 firma relativa a la configuración de las entradas/salidas locales,
5 firma relativa a la configuración de las entradas/salidas remotas,
117
Servidor OLE Automation
6 firma relativa al código PL7,
7 firma relativa al grafcet,
8 firma relativa a las constantes,
9 firma relativa a los símbolos,
10 firma relativa a la reserva,
11 comentario asociado a la aplicación.
118
Servidor OLE Automation
SendCommandToPLC
Generalidades Esta función permite enviar un comando al autómata.
Descripción Sintaxis:
� Entrada:tipo de comando que el usuario desee ejecutar.Hay 3 tipos posibles:� SRV_COMMAND_INIT: comando de inicialización del autómata.� SRV_COMMAND_STOP: comando Stop.� SRV_COMMAND_RUN: comando Run
� Función llamada:StationCommand: función de la gestión de estación (gesta.dll).
� Contexto nominal:el servidor PL7 está activo. Una aplicación está abierta, PL7 está en modo conectado, en STOP.
� Caso de error:
� Salida:Código de retorno de tipo short. Bien 0 si la carga se realiza correctamente, bien un código de error.
integer SendCommandToPLC(integer p_iCommand)
SRV_ERR_GEN_ACTION Comando incorrecto.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_COMMAND_NOTINLOCAL El servidor está en modo local.
SRV_COMMAND_ERRINIT No es posible llevar a cabo la función INIT, el autómata está en RUN.
119
Servidor OLE Automation
SetDriverAndAdresse
Generalidades Esta función permite guardar el controlador y la dirección de la estación actual.
Descripción Sintaxis:
� Entrada:Introduzca las dos cadenas de caracteres que contienen el controlador y la dirección del autómata.
� Función llamada:DriverAndAdresse: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 está activo. Una aplicación está abierta en modo local. Si no se introducen los parámetros o éstos son incorrectos, los valores actuales son invariables.
� Casos de error:
� Salida:Código de retorno de tipo short. Será 0 cuando la carga se haya realizado correctamente; de lo contrario, será un código de error.
integer SetDriverAndAdresse(String p_lpDriver, String p_lpAdresse)
SRV_ERR_GEN_ADDRESS La dirección pasada a parámetro es incorrecta.
SRV_ERR_GEN_DRIVER El controlador pasado a parámetro es incorrecto.
SRV_ERR_PLC_CONNECT El servidor está en modo conectado.
SRV_ERR_PLC_ACTION Error al ejecutar la función.
SRV_ERR_PARAM_EMPTY Los parámetros están vacíos.
120
Servidor OLE Automation
OpenTool
Generalidades Esta función permite abrir las herramientas presentes en la cadena de caracteres pasada a parámetro.
Descripción Sintaxis:
� Entrada:Cadena de caracteres que contiene la lista de las herramientas que debe abrir el servidor. Ejemplo de formato: tools1;tools2;tools3.
� Función llamada:OpenTool: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 con IHM está activo. Hay una aplicación abierta.
� Casos de error:
integer OpenTool(String p_lpListTool)
SRV_ERR_GEN_ACTION No es posible abrir la herramienta.
SRV_ERR_GEN_PARAM_EMPTY Parámetro vacío
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_WITHIHM Función disponible con el servidor PL7 en modo IHM.
SRV_ERR_GEN_OPENEDTVDATA No se puede abrir la herramienta "Tabla de animación".
121
Servidor OLE Automation
� Salida:Código de retorno de tipo short.
Lista de los números de herramientas aplicables a PL7
Número Designación
5 Abre el editor LD.
6 Abre el editor Grafcet.
7 Abre el editor IL.
8 Abre el editor ST.
10 Abre el editor de configuración.
12 Abre el editor de variables.
13 Abre el navegador de referencias cruzadas.
14 Crea una tabla de animación.
15 Abre el editor de documentación.
188 Abre la herramienta de importación de la aplicación.
189 Abre el editor de texto.
207 Abre la pantalla de funcionamiento.
210 Abre el editor de tipo DFB.
212 Abre el navegador de la aplicación.
214 Abre el navegador de depuración Grafcet.
215 Abre el editor de código DFB en ST.
122
Servidor OLE Automation
SetPosPL7Windows
Generalidades Esta función permite dimensionar la ventana PL7.
Descripción Sintaxis:
� Entrada:coordenadas x, y de la ventana.
� Función llamada:MoveWindow: Función mfc.
� Contexto nominal:el servidor PL7 con IHM está activo.
� Caso de error:
� Salida:Código de retorno de tipo short.
integer PosPL7Windows(integer CoordX, integer CoordY, integer CoordCX,integer CoordCY)
SRV_ERR_GEN_ACTION Error del comando.
SRV_ERR_GEN_PARAM_EMPTY Parámetro vacío.
SRV_ERR_GEN_WITHIHM Función disponible con el servidor PL7 en modo IHM.
123
Servidor OLE Automation
ShowProgram
Generalidades Esta función permite abrir los programas presentes en la cadena de caracteres pasada a parámetro.
Descripción Sintaxis:
� Entrada:Introduzca las cadenas de caracteres que contienen la lista de programas que el servidor debe abrir.Ejemplo de formato: mast\lad1;mast\lit2;evt\evt0;sr1;mast\prl
� Función llamada:ShowProgram: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 con IHM está activo.Hay una aplicación abierta.
� Casos de error:
� Salida:Código de retorno de tipo short. Será 0 cuando la carga se haya realizado correctamente; de lo contrario, será un código de error.
� Limitaciones:Esta función no puede abrir un DFB en el que no se hayan iniciado instancias. Para visualizar el código de un DFB en el que no se hayan iniciado instancias, es necesario utilizar la función ShowDFB.
integer ShowProgram(String p_lpListProgram)
SRV_ERR_GEN_ACTION Error del comando
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_PARAM_EMPTY Parámetro vacío
SRV_ERR_GEN_WITHIHM Función disponible con el servidor PL7 en modo IHM
SRV_ERR_GEN_SHOWPROGRAM No es posible abrir el módulo.
124
Servidor OLE Automation
CloseProgram
Generalidades Esta función permite cerrar los programas presentes en la cadena de caracteres pasada a parámetro.
Descripción Sintaxis:
� Entrada:Cadena de caracteres que contiene la lista de programas que el servidor debe cerrar.Ejemplo de formato: mast\lad1;mast\lit2;evt\evt0;sr1;mast\prl.
� Función llamada:CloseProgram: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 con IHM está activo.Hay una aplicación abierta.
� Casos de error:
� Salida:Código de retorno de tipo short. Será 0 cuando la carga se haya realizado correctamente; de lo contrario, será un código de error.
� Limitaciones:Esta función no puede cerrar un DFB abierto.
integer CloseProgram(String p_lpListProgram)
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_ACTION Error al cerrar
SRV_ERR_GEN_PARAM_EMPTY Parámetro vacío
SRV_ERR_GEN_WITHIHM Función disponible con el servidor PL7 en modo IHM.
SRV_ERR_GEN_CLOSEPROGRAMM No se puede cerrar el módulo.
125
Servidor OLE Automation
ShowIOModule
Generalidades Esta función permite abrir los módulos de entradas/salidas presentes en la cadena de caracteres pasada a parámetro.
Descripción � Entrada:Cadena de caracteres que contiene la lista de módulos que el servidor debe abrir.El formato de la cadena de caracteres es rack,módulo; rack,módulo.Ejemplo de formato: 0,0;0,1;1,2.
� Función llamada:ShowIOModule: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 con IHM está activo.Hay una aplicación abierta.
� Casos de error:
� Salida:Código de retorno de tipo short. Será 0 cuando la carga se haya realizado correctamente; de lo contrario, será un código de error.
� Limitaciones:La apertura de un módulo de E/S se realiza en el modo local; la pantalla de configuración del módulo está abierta. Si el usuario pasa del modo local al modo conectado, el servidor no cambia de la pantalla de configuración a la pantalla de depuración. El usuario puede actuar directamente en el pl7pro o bien abrir o cerrar el módulo a través del cliente.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ACTION_NOK Problema de activación de los derechos de usuario
SRV_ERR_GEN_PARAM_EMPTY Parámetro vacío
SRV_ERR_GEN_WITHIHM Función disponible con el servidor PL7 en modo IHM
126
Servidor OLE Automation
CloseIOModule
Generalidades Esta función permite cerrar los módulos de entrada/salida presentes en la cadena de caracteres pasada a parámetro.
Descripción Sintaxis
� Entrada:Cadena de caracteres que contiene la lista de módulos que el servidor debe abrir.Ejemplo de formato: 0,0;0,1;1,2.
� Función llamada:CloseIOModule: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 con IHM está activo.Hay una aplicación abierta.
� Casos de error:
� Salida:Código de retorno de tipo short. Será 0 cuando la carga se haya realizado correctamente; de lo contrario, será un código de error.
� Limitaciones:Esta función no cierra el editor de configuración abierto a través de la función ShowIOModule.
integer CloseIOModule(String p_lpListIOModule).
SRV_ERR_GEN_ACTION Error del comando de cierre
SRV_ERR_GEN_PARAM_EMPTY Parámetro vacío
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_WITHIHM Función disponible con el servidor PL7 en modo IHM
127
Servidor OLE Automation
ShowDFB
Generalidades Esta función permite visualizar el código de uno o varios DFB presentes en la cadena de caracteres pasada a parámetro. Para la apertura de un DFB a través de esta función, no es necesario iniciar una instancia.
Descripción Sintaxis
� Entrada:Cadena de caracteres que contiene la lista de DFB que el servidor debe abrir.
� Función llamada:ShowDFB: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 con IHM está activo.Hay una aplicación abierta.
� Casos de error:
� Salida:Código de retorno de tipo short. Será 0 cuando la carga se haya realizado correctamente; de lo contrario, será un código de error.
integer ShowDFB(String p_lpListeDFB)
SRV_ERR_GEN_PARAM_EMPTY Parámetro vacío.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_ACTION Problema al abrir un DFB.
SRV_ERR_GEN_WITHIHM Función disponible con el servidor PL7 en modo IHM.
128
Servidor OLE Automation
CloseDFB
Generalidades Esta función permite cerrar uno o varios DFB presentes en la cadena de caracteres pasada a parámetro.
Descripción Sintaxis
� Entrada:Cadena de caracteres que contiene la lista de DFB que el servidor debe cerrar.
� Función llamada:CloseDFB: función de la gestión de estación (gesta.dll).
� Contexto nominal:El servidor PL7 con IHM está activo.Hay una aplicación abierta.
� Casos de error:
� Salida:Código de retorno de tipo short. Será 0 cuando la carga se haya realizado correctamente; de lo contrario, será un código de error.
integer CloseDFB(String p_lpListeDFB)
SRV_ERR_GEN_PARAM_EMPTY Parámetro vacío.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_ACTION Problema al abrir un DFB
SRV_ERR_GEN_WITHIHM Función disponible con el servidor PL7 en modo IHM.
129
Servidor OLE Automation
GetMessageError
Generalidades Esta función permite asociar un mensaje de error en función del código pasado a parámetro.
Descripción Sintaxis
� Entrada:El código de error de uno de los servicios que debe obtenerse.
� Contexto nominal:el servidor PL7 está activo.
� Salida:Una cadena de caracteres que corresponde al mnemónico del error.
String GetMessageError(integer p_iCodeError)
130
Servidor OLE Automation
GetServerVersion
Generalidades Esta función permite conocer el número de la versión del servidor PL7pro.
Descripción Sintaxis
� Contexto nominal:el servidor PL7 está activo.
� Salida:Una cadena de caracteres que corresponde al mnemónico de la versión del servidor PL7pro.
String GetServerVersion()
131
Servidor OLE Automation
ImportScyFile
Generalidades Esta función permite importar a partir de un archivo scy de los símbolos en la aplicación activa.
Descripción Sintaxis:
� Entrada:Introducir 1 cadena de caracteres que contenga el nombre y la ruta del archivo scy que se va a importar.
� Función denominada:ImportScyFile: Función de la gestión estación (gesta.dll).
� Contexto nominal:� El servidor PL7 está activo,� PL7 está en modo local, estación abierta.
� Caso de error:
� Salida:Código de retorno de tipo short. 0 en el caso de una importación con éxito.
� Limitaciones:El servidor de PL7, sin IHM, una vez que la importación haya tenido éxito, no puede funcionar en modo con IHM sin un guardado previo de la aplicación abierta.
entero ImportScyFile (string ScyFile)
SRV_ERR_GEN_ACTION Error producido durante la ejecución de la función.
SRV_ERR_GEN_PARAM_EMPTY El nombre del archivo dat no es correcto o está vacío.
SRV_ERR_GEN_NOTOPEN No hay aplicación STX abierta.
SRV_ERR_SRC_FILE Problema en el archivo original.
132
Servidor OLE Automation
DownloadStationWithSymbol
Generalidades Esta función permite cargar una aplicación y su base comprimida de símbolos en el autómata.
Descripción Sintaxis:
� Entrada:� 2 cadenas de caracteres que contiene el driver y la dirección del autómata.
� Función denominada:DownloadStationWithSymbol: Función de la gestión de la estación (gesta.dll).
� Contexto nominal:� El servidor PL7 está activo.� Una aplicación está abierta, contiene símbolos y/o dfb. La aplicación se ha
configurado con un cartucho de memoria que admite la base de símbolos, PL7 está en local,
� Si los parámetros son cadenas vacías, el servidor ejecuta la función con el driver o con la dirección actual.
� Caso de error:
� Salida:Código de retorno de tipo short. Ya sea 0 en el caso de una carga con éxito o un código de error.
entero DownloadStationWithSymbol (String p_IpDriver, String p_IpAdresse)
SRV_ERR_DOWNLOAD_CART Problema de compatibilidad del cartucho entre la aplicación abierta y el autómata.
SRV_ERR_COMPATIBLE_PLC Problema de compatibilidad entre la aplicación abierta y el autómata.
SRV_ERR_PC_BLANK No hay ninguna aplicación abierta.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_ADDRESS El parámetro p_lpAddresse no es correcto.
SRV_ERR_GEN_DRIVER El parámetro p_lpDriver no es correcto.
SRV_ERR_GEN_RESERVED El autómata está reservado, por lo que es imposible realizar la conexión.
SRV_ERR_GEN_COMMUNICATION Problema de comunicación entre el PL7pro y el autómata.
SRV_ERR_PLC_CONNECT Es necesario estar en modo local para efectuar la descarga.
SRV_ERR_GEN_ACTION Error producido durante la ejecución de la función.
SRV_ERR_GEN_PROTECTEDAPPLI La aplicación incluida en el autómata está protegida.
133
Servidor OLE Automation
CompareSymbolPCAndSymbolPLCAppli
Generalidades Esta función permite conocer la información general de una aplicación incluida en un autómata.
Descripción Sintaxis:
� Función denominada:FicheCompareSymbolPCAndSymbolPLCAppli: Función de la gestión de la estación (gesta.dll).
� Contexto nominal:� El servidor PL7 está activo, y además se encuentra en modo local. Una
aplicación está abierta, contiene símbolos y/o dfbs.� La aplicación se ha configurado con un cartucho de memoria que admite la
base de símbolos.� Caso de error:
Entero CompareSymbolPCAndSymbolPLCAppli (VARIANT FAR* p_pVarInfo i)
SRV_ERR_GEN_ADDRESS Dirección incorrecta.
SRV_ERR_COMPATIBLE_PLC Problema de compatibilidad del TSX con el software PL7.
SRV_ERR_PLC_BLANK El autómata no contiene aplicación.
SRV_ERR_GEN_ACTION Problema durante el almacenamiento de información de la aplicación.
SRV_ERR_APPLIINFO_NOK Información incorrecta.
SRV_ERR_GEN_DRIVER El parámetro p_lpDriver no es correcto.
SRV_ERR_GEN_COMMUNICATION Error de comunicación.
SRV_ERR_GEN_NOTOPEN No hay ninguna aplicación abierta.
SRV_ERR_GEN_CONNECT No se ha podido realizar la conexión.
SRV_ERR_GEN_COMPARESYMB Se ha producido un error durante la comparación.
134
Servidor OLE Automation
� Salida:Código de retorno de tipo short. Ya sea 0 en el caso de una carga con éxito o un código de error.� 1: Número total de símbolos contenidos en la aplicación local.� 2: Suma de control de la base de símbolos contenidos en la aplicación local.� 3: Tamaño de los símbolos contenidos en una aplicación local.� 4: Tamaño de los símbolos de la base comprimida contenida en la aplicación
local.� 5: Fecha de la última modificación de la base comprimida contenida en la
aplicación local.� 6: Número total de dfb contenidos en la aplicación local.� 7: Fecha de la última modificación de los dfb de la base comprimida contenida
en la aplicación local.� 8: Número total de símbolos contenidos en la aplicación integrada.� 9: Suma de control de la base de símbolos contenidos en la aplicación
integrada.� 10: Tamaño de los símbolos contenidos en la aplicación integrada.� 11: Tamaño de los símbolos de la base comprimida contenida en la aplicación
integrada.� 12: Fecha de la última modificación de la base comprimida contenida en la
aplicación integrada.� 13: Número total de dfb contenidos en la aplicación integrada.� 14: Fecha de la última modificación de dfb de la base comprimida contenida
en la aplicación integrada.� 15: Resultado de la comparación.
135
Servidor OLE Automation
136
6
RendimientoPresentación
Objeto En este capítulo se describe el rendimiento de las instrucciones del lenguaje PL7. De este modo, se puede calcular el tiempo de ejecución de una aplicación y el tamaño de memoria ocupada.
Contenido Este capítulo contiene las siguientes secciones:
Sección Apartado Página
6.1 Información general 138
6.2 Rendimiento de las instrucciones en autómatas Micro 140
6.3 Rendimiento de las instrucciones en autómatas Premium 172
6.4 Funciones avanzadas 215
137
Rendimiento
6.1 Información general
Principios de cálculo
Duración de la ejecución del programa de aplicación
El cálculo del tiempo de ejecución del programa se efectúa con la ayuda de las tablas de las páginas siguientes, realizando la suma de los tiempos para cada instrucción del programa.
El cálculo del tiempo de ciclo completo hace que intervengan los parámetros específicos del autómata (tiempo de overhead, duración del intercambio de entradas/salidas...). Para el procedimiento de cálculo completo, remítase al manual de puesta en marcha del autómata al que se hace referencia (capítulo de rendimiento).
Nota: el tiempo obtenido corresponde a un tiempo máximo. En efecto, sólo se tratará un bloque de operación o un subprograma si la condición de ejecución (ecuación lógica que condiciona la ejecución del bloque o del subprograma) es verdadera. Por lo tanto, es posible que el tiempo efectivo sea muy inferior al tiempo máximo calculado.
138
Rendimiento
Tamaño de la memoria de aplicación
El tamaño de la aplicación es la suma de los elementos siguientes:
En las tablas que figuran en las páginas siguientes, la información sobre los tamaños se refiere al volumen de códigos de las instrucciones.
Para saber el tamaño total de una instrucción o de un programa, ha de aplicarse un coeficiente multiplicador que tenga en cuenta la información típica por lenguaje.
En el capítulo Descripción de las zonas de memoria, p. 216 se recuerdan las diferentes zonas de memoria ocupadas por la aplicación.
Elemento Método de cálculo
Programa Efectúe la suma de cada una de las instrucciones del programa y multiplique por el coeficiente correspondiente al lenguaje utilizado (véase la página siguiente).
Funciones avanzadas Véase Tamaño de la memoria de las funciones avanzadas, p. 228.
Objetos PL7 configurados Véase Tamaño de memoria de los objetos, p. 217.
Módulo de entradas/salidas configuradas
Véase Resumen del consumo de memoria de los módulos en Micro, p. 218 y Resumen del consumo de memoria de los módulos en Premium, p. 221
Comentarios Los comentarios del programa ocupan un byte por carácter.
Lenguaje Tamaño
Lenguaje de contactos
Volumen total = 1,7 x Volumen de código
Literal estructurado Volumen total = 1,6 x Volumen de código
Lista de instrucciones
Para autómata Micro: Volumen total = 1,4 x Volumen de código
Para autómata Premium: Volumen total = 1,6 x Volumen de código
Grafcet Volumen gráfico (en palabras) = 214 + 17 * n.º de etapas del gráfico + 2 * n.º total de etapas configuradas + 4 * n.º de acciones programadas
Nota: Las cifras indicadas en las tablas siguientes son estimaciones de los promedios obtenidos tras una aplicación tipo. No es posible ofrecer información exacta ya que PL7 optimiza el empleo de la memoria en función del contenido y de la estructura de la aplicación.
139
Rendimiento
6.2 Rendimiento de las instrucciones en autómatas Micro
Presentación
Objeto Esta sección describe el rendimiento de las instrucciones ejecutadas en autómata Micro.
Contenido Esta sección contiene los siguientes apartados:
Apartado Página
Rendimiento de las instrucciones booleanas 141
Rendimiento de los bloques de función 143
Aritmética entera y con coma flotante 146
Instrucciones sobre el programa y estructuras de control 150
Conversiones digitales 152
Instrucciones sobre cadena de bits 153
Instrucción sobre tablas de palabras, palabras dobles y flotantes 156
Instrucciones de gestión del tiempo 164
Instrucciones sobre cadenas de caracteres 166
Funciones específicas y funciones Orphée 168
Instrucciones de entradas/salidas explícitas 171
140
Rendimiento
Rendimiento de las instrucciones booleanas
Rendimiento La tabla siguiente describe el rendimiento de las instrucciones booleanas.
LD IL ST Objetos Tiempo de ejecución (µs) TamañoEn palabras
37 05/08/10 37 20 RAM
37 20 cart.
0,25 0,13 0,19 1
LDLDN
%M1 (1) 0,25 0,13 0,19 1
%M1[%MW2] 13,10 12,85 12,85 7
%MW0:X0 (2) 6,06 5,75 5,75 4
%IWi.j:Xk (3) 77,04 69,25 69,25 8
%MW0[%MW8]:X0 16,29 15,55 15,55 8
%KW0[%MW8]:X0 87,27 79,05 79,05 12
LDR,LDF
%M1 0,50 0,25 0,38 2
%M1[%MW2] 13,01 12,75 12,75 7
AND,ANDN , AND (, AND (N , idem OR
idem LD,LDN
ANDR, ANDF, AND (R, AND (F, idem OR idem LDR,LDF
XORXORN
%M1 1,25 0,63 0,94 5
%M1[%MW2] 26,94 26,08 26,26 13
%MW0:X0 12,86 11,88 12,06 10
%IWi.j:Xk 83,84 75,38 75,56 14
%MW0[%MW8]:X0 33,33 31,48 31,66 14
%KW0[%MW8]:X0 104,31 94,98 95,16 18
XORR, XORF
%M1 2,25 1,13 1,69 9
%M1[%MW2] 27,28 26,13 26,44 19
P
N
P
N
141
Rendimiento
Leyenda1. Se refiere a todos los objetos bit que se pueden forzar: %I, %Q, %X, %M, %S,2. otros objetos del mismo tipo: bits de salida del bloque de función %TMi.Q..., bits
extraídos de palabras del sistema %SWi:Xj3. otros objetos del mismo tipo: bits extraídos de palabras comunes %NW{i}j:Xk,
bits extraídos de palabras de E/S %IWi.j.Xk, %QWi.j.Xk, bits extraídos de %KW, bits de fallo %Ii.j.ERR.
STSTNSR
%M1 (1) 0,50 0,25 0,38 2
%M1[%MW2] 13,10 12,85 12,85 7
%MW0:X0 5,88 5,60 5,60 4
%NW{i}.j:Xk (3) 76,86 69,10 69,10 8
%MW0[%MW8]:X0 16,41 15,65 15,65 8
bobinas múltiples en ladder, «coste» de la segunda bobina y de las siguientes
0,25 0,13 0,19 1
bloque de operación
[ acción] bloque ejecutado 0,74 0,75 0,75 1
no ejecutado 5,55 5,40 5,40 1
bloque de comparación horizontal
[ LD [comparación]]
Tiempo no comprendido en la comparación
0,00 0,00 0,00 0
bloque de operación vertical
entre 2 %MWi 12,38 11,85 11,85 4
Convergencia [ )] [ )] bloque ejecutado 0,25 0,13 0,19 1
Divergencia no seguida de una convergencia
[ ] Ladder, 1 divergencia 0,25 0,13 0,19 1
[MPS, MPP, MRD]
Lista MPS+MPP 0,75 0,38 0,56 3
Lista MRD 0,25 0,13 0,19 1
LD IL ST Objetos Tiempo de ejecución (µs) TamañoEn palabras
37 05/08/10 37 20 RAM
37 20 cart.
S
R
142
Rendimiento
Rendimiento de los bloques de función
Temporizador IEC
La tabla siguiente describe el rendimiento del bloque de función del temporizador IEC.
Temporizador PL7-3
La tabla siguiente describe el rendimiento del bloque de función del temporizador PL7-3.
LD IL ST Condiciones Tiempo de ejecución (µs)
Tamaño (palabras)
3705/08/10 3720
Flanco ascendente en IN
IN %TM1 (flanco ascendente)
START %TM1
Inicio del temporizador
43,39 41,11 3
Flanco descendente en IN
IN %TM1 (flanco descendente)
DOWN %TM1
Parada del temporizador
17,47 17,01
IN =1 IN %TM1 (=1)
Temporizador activo
18,74 17,99
IN =0 IN %TM1 (=0)
Temporizador inactivo
17,40 16,67
LD IL ST Condiciones Tiempo de ejecución (µs)
Tamaño (palabras)
3705/08/10 3720
START %T1
Activar 3
STOP %T1
Inmovilizar 12,63 12,15
E =0 RESET %T1
Poner a cero 12,94 12,15
Temporizador activo
17,55 17,00
Temporizador inactivo
143
Rendimiento
Contador progresivo/regresivo
La tabla siguiente describe el rendimiento del bloque de función del contador progresivo/regresivo.
Monoestable La tabla siguiente describe el rendimiento del bloque de función monoestable.
LD IL ST Condiciones Tiempo de ejecución (µs)
Tamaño (palabras)
3705/08/10 3720
Puesta a cero, R=1
R %C8 (=1) RESET %C8
Puesta a cero 18,69 17,92 3
Preconfiguración, S=1
S %C9 (=1) PRESET %C9
Preconfiguración
20,42 19,73
Flanco ascendente en CU
CU %C8 (flanco)
UP %C8 Up 19,92 19,10
Flanco ascendente en CD
CD %C9 (flanco)
DOWN %C9
Down 19,92 19,10
Entradas inactivas
R/S/CU/CD bit inactivo
Ninguna acción
13,27 12,81
LD IL ST Condiciones Tiempo de ejecución (µs)
Tamaño (palabras)
3705/08/10 3720
Flanco ascendente en S
S %MN0, flanco ascendente
START %MN0
Inicio 35,08 33,16 3
S=1 S %MN0, S =1/0
Monoestable activo
11,64 11,17
144
Rendimiento
Registro La tabla siguiente describe el rendimiento del bloque de función del registro.
Programador cíclico
La tabla siguiente describe el rendimiento del programador cíclico.
LD IL ST Condiciones Tiempo de ejecución (µs)
Tamaño (palabras)
Flanco en I I %R2 (flanco)
PUT %R2 Almacenamiento
21,90 21,27 3
Flanco en O O %R2 (flanco)
GET %R2 Retirada del almacenamiento
21,90 21,27
R=1 R %R1 (=1)
RESET %R2
Puesta a cero 16,90 16,02
Entradas inactivas
I/O/R, bit inactivo
No hay ninguna acción
12,61 12,19
LD IL ST Condiciones Tiempo de ejecución (µs)
Tamaño (palabras)
Flanco en U U %DR0 UP %DR1 Up, fijo 181,37 169,13 3
Por bit de orden 19,30 19,30
R=1 R %DR1 RESET %DR2
Puesta a cero, fijo
174,15 162,03
Por bit de orden 19,30 19,30
Entradas inactivas
R/U, bit inactivo
No hay ninguna acción, fijo
175,92 164,00
Por bit de orden 19,30 19,30
145
Rendimiento
Aritmética entera y con coma flotante
Correcciones en función del tipo de objetos
El tiempo y volúmenes de las páginas siguientes vienen dados para los objetos de tipo %MW0, %MD0 o %MF0.La tabla siguiente describe las correcciones que han de añadirse a los valores dados en la tabla de rendimiento de las instrucciones aritméticas si se emplean otros tipos de objetos.
Tipo de objeto Posición del objeto
Tipo de corrección
Tiempo de ejecución (µs)
Tamaño en palabras3705/08/10 3720
Valor inmediato de longitud simple
- Valor que ha de eliminarse del mencionado para %MW
1,20 1,10 0
Valor inmediato de longitud doble
- Valor que ha de eliminarse del mencionado para %MD o %MF
0,75 1 0
Palabras, palabras dobles o flotantes indexadas
Tras el signo:= Valor que ha de añadirse
10,52 10,05 4
Primera operación, el primer operando no se ha indexado, o asignación
Valor que ha de añadirse
11,20 10,60 5
Segundo operando, si el primero se ha indexado de la misma manera
Valor que ha de añadirse
13,37 12,60 5
%KWi, %KWi[%MWj]%KDi, %KFiPalabras comunes, palabras de entrada/salida
- Valor que ha de añadirse
70,98 63,50 2
146
Rendimiento
Corrección en función del contexto de la operación
La tabla siguiente describe las correcciones que han de añadirse a los valores dados en la tabla de rendimiento de las instrucciones aritméticas en función del contexto de la operación.
Contexto de la operación
Tipo de objeto Tipo de corrección
Tiempo de ejecución (µs)
Tamaño
3705/08/10 3720 37xx
La operación se encuentra, como mínimo, en segunda posición dentro de la frase.Ejemplo: %MW2 en:=%MW0*%MW1*%MW2
%MW Valor que ha de añadirse al mencionado para %MW
0,69 0,55 0
%MD o %MF Valor que ha de añadirse al mencionado para %MD o %MF
0,99 0,75 0
Operación con resultado de una operación entre paréntesis o de mayor prioridadEjemplo:%MW0+%MW2+(...)
%MW Valor que ha de añadirse al mencionado para %MW
2,86 2,55 1
%MD o %MF Valor que ha de añadirse al mencionado para %MD o %MF
3,60 3,15 1
147
Rendimiento
Tabla de rendimiento de las instrucciones
La tabla siguiente describe el rendimiento de las instrucciones aritméticas.
ST Objetos Condiciones Tiempo de ejecución (µs)
Tamaño (palabras)37xx3705/08/10 3720
objeto tras:= %MW0 4,81 4,50 2
%MD0, %MF0 6,45 5,70 2
:= %MW0 4,46 4,30 2
%MD0 y %MF0
5,15 4,85 2
=, <>, <=, <, >, >= %MW0 8,94 8,50 4
%MD0 10,71 10,26 4
%MF0 29,06 28,39 4
AND, OR, XOR %MW0 7,29 6,90 3
%MD0 9,21 8,55 3
+, - %MW0 7,29 6,90 3
%MD0 9,21 8,55 3
%MF0 62,83 61,20 3
* %MW0 9,75 9,10 3
%MD0 39,63 36,50 3
%MF0 58,26 56,90 3
/, REM %MW0 10,69 10,08 3
%MD0 205,21 201,38 3
/ %MF0 62,47 60,25 3
ABS, -objeto %MW0 7,20 6,95 3
%MD0 9,97 9,53 3
%MF0 13,01 12,50 3
NOT %MW0 6,69 6,45 3
%MD0 7,80 7,40 3
SQRT %MW0 17,02 16,70 3
%MD0 85,73 85,25 3
%MF0 165,04 158,40 3
INC, DEC %MW0 4,86 4,40 2
%MD0 5,20 4,75 2
148
Rendimiento
SHL, SHR, ROL, ROR
%MW0 Para un bit 17,74 17,05 5
%MD0 Para un bit 20,58 19,15 5
Por bit suplementario
0,063
LN %MF0 1371,60 1270,00
3
LOG %MF0 1458,00 1350,00
3
EXP %MF0 1155,60 1070,00
3
EXPT %MF0 2988,00 2490,00
3
TRUNC %MF0 204,00 170,00 3
COS %MF0 2829,60 2620,00
3
SIN %MF0 2840,40 2630,00
3
TAN %MF0 2937,60 2720,00
3
ACOS %MF0 4082,40 3780,00
3
ASIN %MF0 4082,40 3780,00
3
ATAN %MF0 2786,40 2580,00
3
DEG_TO_RAD %MF0 852,00 710,00 3
RAD_TO_DEG %MF0 720,00 600,00 3
ST Objetos Condiciones Tiempo de ejecución (µs)
Tamaño (palabras)37xx3705/08/10 3720
149
Rendimiento
Instrucciones sobre el programa y estructuras de control
Rendimiento de las instrucciones en el programa
La tabla siguiente describe el rendimiento de las instrucciones sobre el programa.
ST Tiempo de ejecución (µs) Tamaño (palabras)37xx3705/08/10 3720
Jump %Li 41,93 38,20 3
Maskevt 12,21 10,80 1
Unmaskevt 40,27 37,10 1
SRi 48,68 42,88 3
Return 42,18 38,33 3
150
Rendimiento
Rendimiento de las estructuras de control
La tabla siguiente describe el rendimiento de las instrucciones de tipo de estructuras de control.
ST Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720
<cond> evaluación de la condición
bit que se puede forzar
véase la instrucción booleana LD %M1
comparación véase comparaciones =,<,> ...
if <cond > then <action> end_if;
los tiempos y volúmenes indicados anteriormente se han de añadir a los de la acción que contiene la estructura
condición verdadera
3,60 3,30 2
condición falsa (salto)
5,55 5,40
If <cond> then <action1> else <action2> end_if;
condición verdadera
9,15 8,70 4
condición falsa 5,55 5,40
while <cond> do.<action> end_while
paso al anillo con nuevo cierre
9,15 8,70 2
salida del anillo 5,55 5,40
repeat <action> until <cond> end_repeat
paso al anillo con nuevo cierre
5,55 5,40 2
último paso 3,60 3,30
for <mot1:=mot2>to <mot3> do <action> end_for
entrada en el ámbito, ejecutada una sola vez
8,58 8,25 15
paso al anillo con nuevo cierre
29,38 27,35
salida del anillo 20,42 19,40
151
Rendimiento
Conversiones digitales
Rendimiento La tabla siguiente describe el rendimiento de las instrucciones de conversiones digitales.
ST Tiempo de ejecución (µs) Volumen (palabras)
3705/08/10 3720 RAM 3720 cart 37xx
BCD_TO_INT 25,03 24,55 24,55 3
INT_TO_BCD 21,66 21,15 21,15 3
GRAY_TO_INT 36,98 36,55 36,55 3
INT_TO_REAL 40,90 40,75 40,75 3
DINT_TO_REAL 33,32 32,55 32,55 3
REAL_TO_INT 58,75 58,55 58,55 3
REAL_TO_DINT 44,59 44,05 44,05 3
DBCD_TO_DINT 1 324,85 1 065,15 1 134,70 5
DBCD_TO_INT 1 265,54 925,70 986,15 5
DINT_TO_DBCD 1 124,85 825,15 879,10 5
INT_TO_DBCD 564,85 445,15 474,40 5
152
Rendimiento
Instrucciones sobre cadena de bits
Inicio de una tabla de bits
La tabla siguiente describe el rendimiento de las instrucciones de inicio de una tabla de bits.
Copia de una tabla de bits en una tabla de bits
La tabla siguiente describe el rendimiento de las instrucciones de copia de una tabla de bits en otra tabla de bits.
ST Tamaño (bit) Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%M30:8:= 0 8 19,38 18,88 18,88 6
%M30:16:= 1 16 20,38 19,88 19,88 6
%M30:24:= 2 24 24,25 23,35 23,35 6
%M30:32:= 2 32 25,25 24,35 24,35 6
ST Tamaño (bit) Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%M30:8:= %M20:8 8 25,54 24,79 24,79 6
%M30:16:= %M20:16 16 26,16 25,41 25,41 6
%M30:24:= %M20:24 24 33,41 32,26 32,26 6
%M30:32:= %M20:32 32 35,91 34,76 34,76 6
%M30:16:= COPY_BIT(%M20:16)
16 281,63 230,00 244,95 9
32 440,82 360,00 383,40 9
128 1261,22 1030,00 1096,95 9
153
Rendimiento
Instrucciones lógicas sobre tabla de bits
La tabla siguiente describe el rendimiento de las instrucciones lógicas sobre tabla de bits.
Copia de una tabla de bits en una tabla de palabras
La tabla siguiente describe el rendimiento de las instrucciones de copia de tablas de bits en una tabla de palabras.
ST Tamaño(bits)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
AND_ARX, OR_ARX, XOR_ARX
%M0:16:= AND_ARX(%M30:16,%M50:16)
16 397,42 320,00 340,80 12
%M0:32:= AND_ARX(%M30:32,%M50:32)
32 620,97 500,00 532,50 12
%M0:128:= AND_ARX(%M30:128,%M50:128)
128 1 887,74 1 520,00 1 618,80 12
NOT_ARX
%M0:16:= NOT_ARX(%M30:16) 16 281,63 230,00 244,95 9
32 440,82 360,00 383,40 9
128 1261,22 1030,00 1096,95 9
ST Tamaño(bits)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%MW1:= %M30:8 8 14,84 14,36 14,36 5
%MW1:= %M30:16 16 16,34 15,86 15,86 5
%MD2:= %M30:24 24 14,54 14,23 14,23 5
%MD2:= %M30:32 32 16,04 15,73 15,73 5
%MW1:4:= BIT_W(%M40:80,0,17,2)
17 501,43 390,00 415,35 16
%MD1:4:= BIT_D(%M30:80,0,33,0) 33 379,53 530,00 564,45 16
154
Rendimiento
Copia de una tabla de palabras en una tabla de bits
La tabla siguiente describe el rendimiento de las instrucciones de copia de tablas de palabras en una tabla de bits.
ST Tamaño(bits)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%M30:8:= %MW1 8 19,28 18,68 18,68 5
%M30:16:= %MW2 16 20,28 19,68 19,68 5
%M30:24:= %MD1 24 21,20 20,37 20,37 5
%M30:32:= %MD3 32 22,20 21,37 21,37 5
%M30:32:= W_BIT(%MW200:2,0,2,0)
32 488,68 370,00 394,05 16
%M30:32:= D_BIT(%MD0:1,0,2,0) 32 567,33 460,00 489,90 16
155
Rendimiento
Instrucción sobre tablas de palabras, palabras dobles y flotantes
Inicio de una tabla de palabras por una palabra
La tabla siguiente describe el rendimiento de las instrucciones de inicio de una tabla de palabras por una palabra.
Copia de una tabla de palabras en una tabla de palabras
La tabla siguiente describe el rendimiento de las instrucciones de copia de una tabla de palabras en otra tabla de palabras.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%MW0:10:= %MW100 10 palabras 47,46 42,15 42,15 7
por palabra 0,34 0,20 0,20
%MD0:10:= %MD100 10 palabras dobles 81,27 74,45 74,45 7
por palabra doble 2,87 2,65 2,65
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%MW0:10:=%MW20:10; 10 palabras 95,80 85,35 85,35 9
por palabra 0,77 0,50 0,50
%MD0:10:=%MD20:10; 10 palabras dobles
111,13 97,65 97,65 9
por palabra doble
1,54 1,00 1,00
156
Rendimiento
Instrucciones aritméticas y lógicas entre 2 tablas de palabras
La tabla siguiente describe el rendimiento de las instrucciones aritméticas y lógicas entre 2 tablas de palabras.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
+, -
%MW0:10:=%MW10:10 + %MW20:10;
10 palabras 168,04 151,95 151,95 14
por palabra 7,13 6,35 6,35
%MD0:10:=%MD10:10+%MD20:10;
10 palabras dobles
239,17 214,40 214,40 14
por palabra doble
13,84 12,25 12,25
*
%MW0:10:=%MW10:10 * %MW20:10;
10 palabras 189,32 175,40 175,40 14
por palabra 9,27 8,70 8,70
%MD0:10:=%MD10:10 * %MD20:10;
10 palabras dobles
710,35 603,80 603,80 14
por palabra doble
61,64 51,20 51,20
/, REM
%MW0:10:=%MW10:10 / %MW20:10;
10 palabras 224,76 181,40 181,40 14
por palabra 13,14 9,30 9,30
%MD0:10:=%MD10:10 / %MD20:10;
10 palabras dobles
2 192,38 2 157,35 2 157,35 14
por palabra doble
209,16 206,55 206,55
AND, OR, XOR
%MW0:10:=%MW10:10 AND %MW20:10;
10 palabras 163,69 147,40 147,40 14
por palabra 6,66 5,85 5,85
%MD0:10:=%MD10:10 AND %MD20:10;
10 palabras dobles
240,14 215,90 215,90 14
por palabra doble
13,94 12,40 12,40
157
Rendimiento
Instrucciones aritméticas y lógicas entre 1 tabla de palabras y 1 palabra
La tabla siguiente describe el rendimiento de las instrucciones aritméticas y lógicas entre 1 tabla de palabras y 1 palabra.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM 3720 cart
+, -
%MW0:10:=%MW10:10 + %MW20; o %MW0:10:= %MW20 + %MW10:10
10 palabras
119,12 108,55 108,55 12
por palabra
2,87 2,65 2,65
%MD0:10:=%MD10:10 + %MD20;
10 palabras dobles
159,68 147,45 147,45 12
por palabra doble
6,57 6,25 6,25
*
%MW0:10:= %MW20*%MW10:10;
10 palabras
166,86 132,45 132,45 12
por palabra
7,94 5,05 5,05
%MD0:10:=%MD20*%MD10:10;
10 palabras dobles
587,01 522,95 522,95 12
por palabra doble
49,18 43,80 43,80
/, REM
%MW0:10:=%MW10:10 / %MW30;
10 palabras
196,69 155,85 155,85 15
por palabra
10,86 7,30 7,30
%MD0:10:=MD10:10 / %MD30
10 palabras dobles
2 230,17 2 173,95 2 173,95 12
por palabra doble
213,66 208,90 208,90
AND, OR, XOR
158
Rendimiento
%MW0:10:=%MW10:10 AND %MW20;
10 palabras
117,20 106,45 106,45 12
por palabra
2,64 2,40 2,40
%MD0:10:=%MD20 AND %MD10:10;
10 palabras dobles
587,01 522,95 522,95 12
por palabra doble
6,47 6,15 6,15
NOT
%MW0:10:=NOT(%MW10:10);
10 palabras
110,28 100,25 100,25 9
por palabra
2,96 2,75 2,75
%MD0:10:=NOT(%MD10:10)
10 palabras dobles
126,39 114,00 114,00 9
por palabra doble
4,50 4,05 4,05
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM 3720 cart
159
Rendimiento
Función de suma sobre la tabla
La tabla siguiente describe el rendimiento de las instrucciones de suma sobre la tabla.
Función de comparación de tablas
La tabla siguiente describe el rendimiento de las instrucciones de comparación de tablas.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%MW20:=SUM(%MW0:10); 10 palabras 74,30 69,00 69,00 10
por palabra 2,44 2,35 2,35
%MD20:=SUM(%MD0:10); 10 palabras dobles
83,58 76,90 76,90 10
por palabra doble
3,17 2,95 2,95
%MF20:=SUM_ARR(%MF0:10); 10 palabras dobles
1634 1257 1257 10
por palabra doble
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%MW20:=EQUAL(%MW0:10;%MW10:10);
10 palabras 103,78 93,50 93,50 11
por palabra 1,13 0,90 0,90
%MD20:=EQUAL(%MD0:10;%MD10:10);
10 palabras dobles
116,17 103,40 103,40 11
por palabra doble
2,23 1,75 1,75
%MF20:=EQUAL_ARR(%MF0:10;%MF10:10);
10 palabras dobles
741 570 607 11
por palabra doble
160
Rendimiento
Función de búsqueda
La tabla siguiente describe el rendimiento de las instrucciones de búsqueda en una tabla.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%MW20:= FIND_EQW(%MW0:10,%KW0)
10 palabras, caso máximo
340,00 250,00 266,25 15
%MD20:= FIND_EQD(%MD0:10, %KD0)
10 palabras dobles, caso máximo
350,00 260,00 276,90 16
%MF20:= FIND_EQR(%MF0:10, %KF0)
10 palabras dobles
833 648 690,12 15
%MF20:= FIND_EQRP(%MF0:10, %KF0)
10 palabras dobles
845 650 692,25 15
%MD20:= FIND_GTR(%MF0:10, %KF0)
10 palabras dobles
836 643 684,79 15
%MD20:= FIND_LTR(%MF0:10, %KF0)
10 palabras dobles
836 643 684,79 15
161
Rendimiento
Búsqueda de valores máximos y mínimos
La tabla siguiente describe el rendimiento de las instrucciones de búsqueda de valores máximos y mínimos de una tabla.
Cálculo del número de casos
La tabla siguiente describe el rendimiento de las instrucciones del número de casos de un valor de una tabla de palabras.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM 3720 cart
%MW20:= MAX_ARW(%MW0:10)
10 palabras 350,00 260,00 276,90 9
%MD20:= MAX_ARD(%MD0:10)
10 palabras dobles
410,00 300,00 319,50 9
%MF20:= MAX_ARR(%MF0:10)
10 palabras dobles
1366 1051 1119,31 9
%MF20:= MIN_ARR(%MF0:10)
10 palabras dobles
1270 977 1040,50 9
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%MW20:= OCCUR_ARW(%MW0:10, %KW0)
10 palabras 350,00 250,00 266,25 15
%MD20:= OCCUR_ARD(%MD0:10, %KD0)
10 palabras dobles
370,00 270,00 287,55 16
%MF20:= OCCUR_ARR(%MF0:10, %KF0)
10 palabras dobles
1265 973 1036,24
16
162
Rendimiento
Desplazamiento circular
La tabla siguiente describe el rendimiento de las instrucciones de desplazamiento circular.
Instrucción de orden
La tabla siguiente describe el rendimiento de las instrucciones de orden de los elementos de una tabla.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
ROL_ARW(palabra o valor,%MWj:10)
10 palabras 550,00 400,00 426,00 9
ROL_ARD(%MDi,%MDj:10) 10 palabras dobles
590,00 430,00 457,95 9
ROL_ARR(%MFi,%MFj:10) 10 palabras dobles
585 450 479,25
9
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
SORT_ARW(%MWi,%MWj:10) 10 palabras, caso máximo
970,00 700,00 745,50 9
SORT_ARD(%MDi,%MDj:10) 5 palabras dobles, caso máximo
610,00 450,00 479,25 9
SORT_ARR(%MFi,%MFj:10) 10 palabras dobles
1863 1433 1526,14 9
163
Rendimiento
Instrucciones de gestión del tiempo
Instrucciones de gestión de datos, horas y duración
La tabla siguiente describe el rendimiento de las instrucciones de gestión de datos, horas y duración.
ST Tiempo de ejecución (µs) Volumen (palabras)
3705/08/10 3720 RAM 3720 cart 37xx
%MW2:4:= ADD_DT(%MW2:4,%MD8) 4 400,00 3 300,00 3 514,50 13
%MD2:= ADD_TOD(%MD2,%MD8) 2 100,00 1 550,00 1 650,75 9
%MB2:11:= DATE_TO_STRING(%MD40)
1 370,00 900,00 958,50 9
%MW5:= DAY_OF_WEEK() 220,00 280,00 298,20 5
%MD10:= DELTA_D(%MD2, %MD4) 1 520,00 1 130,00 1 203,45 9
%MD10:= DELTA_DT(%MD2:4,%MW6:4)
3 170,00 2 300,00 2 449,50 13
%MD10:= DELTA_TOD(%MD2,%MD4) 2 330,00 1 700,00 1 810,50 9
%MB2:20:= DT_TO_STRING(%MW50:4)
2 050,00 1 450,00 1 544,25 11
%MW2:4:= SUB_DT(%MW2:4,%MD8) 4 750,00 3 500,00 3 727,50 13
%MD2:= SUB_TOD(%MD2,%MD8) 2 330,00 1 700,00 1 810,50 9
%MB2:15:= TIME_TO_STRING(%MD40)
1 560,00 1 200,00 1 278,00 9
%MB2:9:= TOD_TO_STRING(%MD40) 1 270,00 800,00 852,00 9
%MD100:= TRANS_TIME(%MD2) 500,00 500,00 532,50 7
164
Rendimiento
Acceso al reloj-calendario
La tabla siguiente describe el rendimiento de las instrucciones del reloj-calendario.
ST Tiempo de ejecución (µs) Volumen (palabras)
3705/08/10 3720 RAM 3720 cart 37xx
RRTC(%MW0:4) 93,60 84,80 84,80 5
WRTC(%MW0:4) 248,61 230,85 230,85 5
PTC(%MW0:5) 97,98 88,60 88,60 5
SCHEDULE(%MW0,%MW1,%MW2,%MD10,%MD12,%M0)ÿ
1430 1100 1171,5 5
165
Rendimiento
Instrucciones sobre cadenas de caracteres
Asignación, nueva copia de cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de asignación y nueva copia de las cadenas de caracteres.
Conversiones palabra <-> cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de conversión de palabras y de cadenas de caracteres.
Conversiones palabra doble <-> cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de conversión de palabras dobles y de cadenas de caracteres.
ST Tamaño (caracteres)
Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM 3720 cart
%MB0:8:=%MB10:8 Ocho caracteres
105,16 93,80 93,80 9
Por carácter 1,65 1,30 1,30
%MB0:8:=’abcdefg’ Ocho caracteres
120,72 110,20 110,20 11
Por carácter 4,15 3,85 3,85 0,5
ST Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM 3720 cart
%MW1:=STRING_TO_INT(%MB0:7)
97,69 91,95 91,95 7
%MB0:7:=INT_TO_STRING(%MW0)
104,36 96,70 96,70 7
ST Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM 3720 cart
%MD1:=STRING_TO_DINT(%MB0:13)
1070,53 965,62 965,62 7
%MB0:13:=DINT_TO_STRING(%MD0)
322,29 295,35 295,35 7
166
Rendimiento
Conversiones flotante <-> cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de conversión de flotante a cadenas de caracteres.
Instrucciones de manipulación de cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de manipulación de las cadenas de caracteres.
ST Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM 3720 cart
%MF1:=STRING_TO_REAL(%MB0:15)
1783,70 1634,53 1634,53 7
%MB0:15:=REAL_TO_STRING(%MF0)
741,75 681,20 681,20 7
ST Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM
3720 cart
%MB10:20:= CONCAT(%MB30:10,%MB50:10)
1170,00 770,00 820,05 15
%MB10:20:= DELETE(%MB10:22,2,3); 950,00 600,00 639,00 15
%MW0:= EQUAL_STR(%MB10:20,%MB30:20); (el quinto carácter difiere)
860,00 520,00 553,80 13
%MW0:= FIND(%MB10:20,%MB30:10); 1610,00 1000,00 1065,00 13
%MB10:20:= INSERT(%MB30:10,%MB50:10,4);
1270,00 800,00 852,00 17
%MB10:20:= LEFT(%MB30:30,20); 920,00 570,00 607,05 13
%MW0:= LEN(%MB10:20); 770,00 340,00 362,10 9
%MB10:20:= MID(%MB30:30,20,10); 1080,00 700,00 745,50 15
%MB10:20:= REPLACE(%MB30:20,%MB50:10,10,10);
1450,00 870,00 926,55 19
%MB10:20:= RIGHT(%MB30:30,20); 1480,00 950,00 1011,75 13
167
Rendimiento
Funciones específicas y funciones Orphée
Funciones de comunicación
La tabla siguiente describe el rendimiento de las funciones de comunicación.
Función de diálogo operador
La tabla siguiente describe el rendimiento de las instrucciones de diálogo operador.
ST Tiempo de ejecución (µs) Tamaño (palabras)37••
3705/08/10 3720 RAM 3720 cart
SEND_REQ(%KW0:6,15,%MW0:1,%MW10:10,%MW30:4)
2182 1818 1936 21
SEND_TLG(%KW0:6,1,%MW0:5,%MW30:2)
1636 1364 1452 15
ST Tiempo de ejecución (µs) Tamaño (palabras)37••
3705/08/10 3720 RAM
3720 cart
SEND_MSG(ADR#1.0,%MW0:2,%MW10:2) 2240 2000 2208 19
SEND_ALARM(ADR#1.0,%MW0:2,%MW10:2) 2240 2000 2208 19
GET_MSG(ADR#1.0,%MW0:2,%MW10:2) 2240 2000 2208 19
GET_VALUE(ADR#1.0,%MW0,%MW10:2) 1120 1000 1104 17
ASK_MSG(ADR#1.0,%MW0:2,%MW10:2,%MW20:2)
2240 2000 2208 23
ASK_VALUE(ADR#1.0,%MW0,%MW10:2,%MW20:2)
2240 2000 2208 21
DISPLAY_ALRM(ADR#1.0,%MW0,%MW10:2) 1120 1000 1104 17
DISPLAY_GRP(ADR#1.0,%MW0,%MW10:2) 1120 1000 1104 17
DISPLAY_MSG(ADR#1.0,%MW0,%MW10:2) 1120 1000 1104 17
CONTROL_LEDS(ADR#1.0,%MW0:2,%MW10:2) 2240 2000 2208 19
ASSIGN_KEYS(ADR#1.0,%MW0:2,%MW10:2) 2240 2000 2208 19
PANEL_CMD(ADR#1.0,%MW0:2,%MW10:2) 2240 2000 2208 19
168
Rendimiento
Función de regulación
La tabla siguiente describe el rendimiento de las funciones de regulación.
Guardado de datos
La tabla siguiente describe el rendimiento de las funciones de almacenamiento de datos.
ST Condición Tiempo de ejecución (µs) Tamaño (palabras)37••
3705/08/10 3720 RAM
3720 cart
PID("PIDS1",’Unité’,%IW3.5,%MW12,%M16,%MW284:43)
deval_mmi=0
1320 1100 1172 24
deval_mmi=1
1080 900 958,5
PWM(%MW11,%Q2.1,%MW385:5) 600 500 532,5 11
SERVO(%MW12,%IW3.6,%Q2.2,%Q2.3,%MW284:43,%MW390:10)
960 800 852 19
PID_MMI(ADR#0.0.4,%M1,%M2:5,%MW410:62)
EN=1 1140 950 1012 20
ST Tiempo de ejecución (µs) Tamaño (palabras)
3705/08/10 3720 RAM
3720 cart
37••
SET_PCMCIA (para 1.600 palabras) 1000 24
WRITE_PCMCIA (para 1.600 palabras) 2000 24
READ_PCMCIA (para 1.600 palabras) 2000 24
169
Rendimiento
Función Orphée La tabla siguiente describe el rendimiento de las funciones de regulación.
ST Condición Tiempo de ejecución (µs)
Tamaño (palabras)37••3705/08/10 3720
RAM3720 cart
DSHR_RBIT(%MD102,16,%MD204,%MD206)
Escritura de 10 palabras
660 480 511 13
DSHRZ_C(%MD102,16,%MD204,%MD206)
Petición espejo de 10 palabras
410 310 330 13
WSHL_RBIT(%MW102,8,%MW204,%MW206)
Intercambio de 10 palabras
300 220 234 13
WSHR_RBIT(%MW102,8,%MW204,%MW206)
20 bytes 390 280 298 13
WSHRZ_C(%MW102,8,%MW204,%MW206)
20 bytes 300 220 234 13
SCOUNT(%M100,%MW100,%M101,%M102,%MW101,%MW102,%M200,%M201,%MW200,%MW201)
20 bytes 510 410 437 25
170
Rendimiento
Instrucciones de entradas/salidas explícitas
Rendimiento La tabla siguiente describe el rendimiento de las instrucciones de entradas/salidas explícitas.
ST Tiempo de ejecución (µs) Tamaño (palabras)37xx
3705/08/10 3720 RAM 3720 cart
Read_Sts %CHi.MOD
Cualquier función específica, exceptuando la vía de comunicación del procesador
30 30 32 2
Read_Sts %CHi
Entrada analógica 180 180 216 6
Salida analógica 90 70 74
Módulo de contaje CTZ 110 95 104
Write_Param %CHi
Entrada analógica 790 570 790 6
Módulo de contaje CTZ 1127 1080 1083
Read_Param %CHi
Entrada analógica 260 290 316 6
Módulo de contaje CTZ 338 295 300
Save_Param %CHi
Entrada analógica 1234 1220 1240 6
Módulo de contaje CTZ 1370 1220 1240
Restore_Param %CHi
Entrada analógica 550 510 535 6
Módulo de contaje CTZ 1160 1080 1097
Write_Cmd %CHi
Salida TON 50 47 52 6
171
Rendimiento
6.3 Rendimiento de las instrucciones en autómatas Premium
Presentación
Objeto Este apartado describe el rendimiento de las instrucciones ejecutadas en autómatas Premium.
Contenido Esta sección contiene los siguientes apartados:
Apartado Página
Rendimiento de las instrucciones booleanas 173
Rendimiento de los bloques de función 180
Aritmética entera y con coma flotante 183
Instrucciones sobre el programa y estructuras de control 187
Conversiones digitales 189
Instrucciones sobre cadena de bits 190
Instrucción sobre tablas de palabras, palabras dobles y flotantes 193
Instrucciones de gestión del tiempo 202
Instrucciones sobre cadenas de caracteres 203
Funciones específicas y funciones Orphée 206
Instrucciones de entradas/salidas explícitas 209
Bloque de función DFB 211
172
Rendimiento
Rendimiento de las instrucciones booleanas
Rendimiento de los procesadores P57 1•/2•
La tabla siguiente describe el rendimiento de las instrucciones booleanas de los procesadores P57 1•/2•.
LD IL ST Objetos Tiempo de ejecución (µs) Tamaño(palabras)57 1•
RAM57 1• cart
57 1• RAM > 4 K
57 1• cart > 4 K
57 2• RAM
57 2• cart
57 2• RAM > 4 K
57 2• cart > 4 K
0,37 0,50 0,06 0,21 1
LDLDN
%M1 (1) 0,50 0,62 0,62 0,87 0,19 0,21 0,25 0,42 1
%M1[%MW2] 1,50 2,25 1,50 2,25 0,62 1,25 0,62 1,25 6
%MW0:X0 (2) 1,12 1,62 1,12 1,62 0,37 0,83 0,37 0,83 4
%IWi.j:Xk (3) 1,75 2,50 1,75 2,50 0,62 1,25 0,62 1,25 6
%MW0[%MW8]:X0
2,25 3,37 2,25 3,37 0,94 1,87 0,94 1,87 9
%KW0[%MW8]:X0
2,25 3,37 2,25 3,37 0,94 1,87 0,94 1,87 9
LDR,LDF
%M1 0,87 1,12 1,00 1,37 0,25 0,42 0,31 0,62 2
%M1[%MW2] 1,87 2,75 1,87 2,75 0,69 1,46 0,69 1,46 7
AND,ANDN , AND (, AND (N , idem OR
idem LD,LDN
ANDR, ANDF, AND (R, AND (F, idem OR
idem LDR,LDF
P
N
P
N
173
Rendimiento
XORXORN
%M1 2,12 2,75 2,37 3,25 0,56 1,04 0,69 1,46 5
%M1[%MW2] 3,37 4,75 3,37 4,75 0,94 2,29 0,94 2,29 12
%MW0:X0 3,37 4,62 3,37 4,62 0,75 2,08 0,75 2,08 10
%IWi.j:Xk 4,00 5,50 4,00 5,50 1,00 2,50 1,00 2,50 12
%MW0[%MW8]:X0
4,50 6,37 4,50 6,37 1,31 3,12 1,31 3,12 15
%KW0[%MW8]:X0
4,50 6,37 4,50 6,37 1,31 3,12 1,31 3,12 15
XORR, XORF
%M1 3,62 4,75 3,87 5,25 0,81 1,87 0,94 2,29 9
%M1[%MW2] 5,62 8,00 5,62 8,00 1,69 3,96 1,69 3,96 19
STSTNSR
%M1 (1) 1,00 1,25 1,12 1,50 0,37 0,46 0,44 0,62 2
%M1[%MW2] 1,62 2,37 1,62 2,37 0,75 1,29 0,75 1,29 6
%MW0:X0 1,25 1,75 1,25 1,75 0,50 0,83 0,50 0,83 4
%NW{i}.j:Xk (3) 1,87 2,62 1,87 2,62 0,75 1,25 0,75 1,25 6
%MW0[%MW8]:X0
2,37 3,50 2,37 3,50 0,75 1,92 0,75 1,92 9
bobinas múltiples en ladder, «coste» de la segunda bobina y de las siguientes
0,62 0,75 0,75 1,00 0,31 0,25 0,37 0,42 1
bloque de operación
[ acción]
bloque ejecutado
0,25 0,50 0,25 0,50 0,12 0,42 0,12 0,42 2
no ejecutado 0,50 0,75 0,50 0,75 0,12 0,42 0,12 0,42 2
bloque de operación vertical
entre 2 %MWi 1,62 11,85 1,62 2,25 0,56 1,04 0,56 1,04 5
Convergencia
[ )] [ )] bloque ejecutado
0,37 0,13 0,37 0,50 0,06 0,21 0,06 0,21 1
Divergencia no seguida de una convergencia
[ ] Ladder, 1 divergencia
0,37 0,50 0,37 0,50 0,06 0,21 0,06 0,21 1
LD IL ST Objetos Tiempo de ejecución (µs) Tamaño(palabras)57 1•
RAM57 1• cart
57 1• RAM > 4 K
57 1• cart > 4 K
57 2• RAM
57 2• cart
57 2• RAM > 4 K
57 2• cart > 4 K
S
R
174
Rendimiento
S
R
XORXORN
%M1 2,12 2,75 2,37 3,25 0,56 1,04 0,69 1,46 5
%M1[%MW2] 3,37 4,75 3,37 4,75 0,94 2,29 0,94 2,29 12
%MW0:X0 3,37 4,62 3,37 4,62 0,75 2,08 0,75 2,08 10
%IWi.j:Xk 4,00 5,50 4,00 5,50 1,00 2,50 1,00 2,50 12
%MW0[%MW8]:X0
4,50 6,37 4,50 6,37 1,31 3,12 1,31 3,12 15
%KW0[%MW8]:X0
4,50 6,37 4,50 6,37 1,31 3,12 1,31 3,12 15
XORR, XORF
%M1 3,62 4,75 3,87 5,25 0,81 1,87 0,94 2,29 9
%M1[%MW2] 5,62 8,00 5,62 8,00 1,69 3,96 1,69 3,96 19
STSTNSR
%M1 (1) 1,00 1,25 1,12 1,50 0,37 0,46 0,44 0,62 2
%M1[%MW2] 1,62 2,37 1,62 2,37 0,75 1,29 0,75 1,29 6
%MW0:X0 1,25 1,75 1,25 1,75 0,50 0,83 0,50 0,83 4
%NW{i}.j:Xk (3) 1,87 2,62 1,87 2,62 0,75 1,25 0,75 1,25 6
%MW0[%MW8]:X0
2,37 3,50 2,37 3,50 0,75 1,92 0,75 1,92 9
bobinas múltiples en ladder, «coste» de la segunda bobina y de las siguientes
0,62 0,75 0,75 1,00 0,31 0,25 0,37 0,42 1
bloque de operación
[ acción]
bloque ejecutado
0,25 0,50 0,25 0,50 0,12 0,42 0,12 0,42 2
no ejecutado 0,50 0,75 0,50 0,75 0,12 0,42 0,12 0,42 2
bloque de operación vertical
entre 2 %MWi 1,62 11,85 1,62 2,25 0,56 1,04 0,56 1,04 5
Convergencia
[ )] [ )] bloque ejecutado
0,37 0,13 0,37 0,50 0,06 0,21 0,06 0,21 1
Divergencia no seguida de una convergencia
[ ] Ladder, 1 divergencia
0,37 0,50 0,37 0,50 0,06 0,21 0,06 0,21 1
LD IL ST Objetos Tiempo de ejecución (µs) Tamaño(palabras)57 1•
RAM57 1• cart
57 1• RAM > 4 K
57 1• cart > 4 K
57 2• RAM
57 2• cart
57 2• RAM > 4 K
57 2• cart > 4 K
175
Rendimiento
S
R
XORXORN
%M1 2,12 2,75 2,37 3,25 0,56 1,04 0,69 1,46 5
%M1[%MW2] 3,37 4,75 3,37 4,75 0,94 2,29 0,94 2,29 12
%MW0:X0 3,37 4,62 3,37 4,62 0,75 2,08 0,75 2,08 10
%IWi.j:Xk 4,00 5,50 4,00 5,50 1,00 2,50 1,00 2,50 12
%MW0[%MW8]:X0
4,50 6,37 4,50 6,37 1,31 3,12 1,31 3,12 15
%KW0[%MW8]:X0
4,50 6,37 4,50 6,37 1,31 3,12 1,31 3,12 15
XORR, XORF
%M1 3,62 4,75 3,87 5,25 0,81 1,87 0,94 2,29 9
%M1[%MW2] 5,62 8,00 5,62 8,00 1,69 3,96 1,69 3,96 19
STSTNSR
%M1 (1) 1,00 1,25 1,12 1,50 0,37 0,46 0,44 0,62 2
%M1[%MW2] 1,62 2,37 1,62 2,37 0,75 1,29 0,75 1,29 6
%MW0:X0 1,25 1,75 1,25 1,75 0,50 0,83 0,50 0,83 4
%NW{i}.j:Xk (3) 1,87 2,62 1,87 2,62 0,75 1,25 0,75 1,25 6
%MW0[%MW8]:X0
2,37 3,50 2,37 3,50 0,75 1,92 0,75 1,92 9
bobinas múltiples en ladder, «coste» de la segunda bobina y de las siguientes
0,62 0,75 0,75 1,00 0,31 0,25 0,37 0,42 1
bloque de operación
[ acción]
bloque ejecutado
0,25 0,50 0,25 0,50 0,12 0,42 0,12 0,42 2
no ejecutado 0,50 0,75 0,50 0,75 0,12 0,42 0,12 0,42 2
bloque de operación vertical
entre 2 %MWi 1,62 11,85 1,62 2,25 0,56 1,04 0,56 1,04 5
Convergencia
[ )] [ )] bloque ejecutado
0,37 0,13 0,37 0,50 0,06 0,21 0,06 0,21 1
Divergencia no seguida de una convergencia
[ ] Ladder, 1 divergencia
0,37 0,50 0,37 0,50 0,06 0,21 0,06 0,21 1
LD IL ST Objetos Tiempo de ejecución (µs) Tamaño(palabras)57 1•
RAM57 1• cart
57 1• RAM > 4 K
57 1• cart > 4 K
57 2• RAM
57 2• cart
57 2• RAM > 4 K
57 2• cart > 4 K
176
Rendimiento
Leyenda1. Se refiere a todos los objetos bit que se pueden forzar: %I, %Q, %X, %M, %S,2. otros objetos del mismo tipo: bits de salida del bloque de función %TMi.Q..., bits
extraídos de palabras del sistema %SWi:Xj3. otros objetos del mismo tipo: bits extraídos de palabras comunes %NW{i}j:Xk,
bits extraídos de palabras de E/S %IWi.j.Xk, %QWi.j.Xk, bits extraídos de %KW, bits de fallo %Ii.j.ERR.
[MPS, MPP, MRD]
Lista MPS+MPP
1,12 1,50 1,12 1,50 0,19 0,62 0,19 0,62 3
Lista MRD 0,37 0,50 0,37 0,50 0,06 0,21 0,06 0,21 1
LD IL ST Objetos Tiempo de ejecución (µs) Tamaño(palabras)57 1•
RAM57 1• cart
57 1• RAM > 4 K
57 1• cart > 4 K
57 2• RAM
57 2• cart
57 2• RAM > 4 K
57 2• cart > 4 K
177
Rendimiento
Rendimiento de los procesadores P57 3•/4•
La tabla siguiente describe el rendimiento de las instrucciones booleanas de los procesadores P57 3•/4•.
LD IL ST Objetos Tiempo de ejecución (µs) Tamañoen palabras
57 3• RAM
57 3• cart
57 3• RAM > 4 K
57 3• cart > 4 K
57 4• RAM
57 4• > 4K
0,04 0,17 0,02 1
LDLDN
%M1 (1) 0,12 0,17 0,17 0,33 0,06 0,08 1
%M1[%MW2] 0,42 1,00 0,42 1,00 0,21 0,21 6
%MW0:X0 (2) 0,25 0,67 0,25 0,67 0,12 0,12 4
%IWi.j:Xk (3) 0,42 1,00 0,42 1,00 0,21 0,21 6
%MW0[%MW8]:X0 0,62 1,50 0,62 1,50 0,31 0,31 9
%KW0[%MW8]:X0 0,62 1,50 0,62 1,50 0,31 0,31 9
LDR,LDF
%M1 0,17 0,33 0,21 0,50 0,08 0,10 2
%M1[%MW2] 0,46 1,17 0,46 1,17 0,23 0,23 7
AND,ANDN , AND (, AND (N , idem OR
idem LD,LDN
ANDR, ANDF, AND (R, AND (F, idem OR
idem LD,LDN
XORXORN
%M1 0,37 0,83 0,46 1,17 0,19 0,23 5
%M1[%MW2] 0,62 1,83 0,62 1,83 0,31 0,31 12
%MW0:X0 0,50 1,67 0,50 1,67 0,25 0,25 10
%IWi.j:Xk 0,67 2,00 0,67 2,00 0,33 0,33 12
%MW0[%MW8]:X0 0,87 2,50 0,87 2,50 0,44 0,44 15
%KW0[%MW8]:X0 0,87 2,50 0,87 2,50 0,44 0,44 15
XORR, XORF
%M1 0,54 1,50 0,62 1,83 0,27 0,31 9
%M1[%MW2] 1,12 3,17 1,12 3,17 0,56 0,56 19
P
N
P
N
178
Rendimiento
Leyenda1. Se refiere a todos los objetos bit que se pueden forzar: %I, %Q, %X, %M, %S,2. otros objetos del mismo tipo: bits de salida del bloque de función %TMi.Q..., bits
extraídos de palabras del sistema %SWi:Xj3. otros objetos del mismo tipo: bits extraídos de palabras comunes %NW{i}j:Xk,
bits extraídos de palabras de E/S %IWi.j.Xk, %QWi.j.Xk, bits extraídos de %KW, bits de fallo %Ii.j.ERR.
STSTNSR
%M1 (1) 0,25 0,33 0,29 0,50 0,12 0,15 2
%M1[%MW2] 0,50 1,00 0,50 1,00 0,25 0,25 6
%MW0:X0 0,33 0,67 0,33 0,67 0,17 0,17 4
%NW{i}.j:Xk (3) 0,50 1,00 0,50 1,00 0,25 0,25 6
%MW0[%MW8]:X0 0,62 0,75 0,50 1,50 0,25 0,25 9
bobinas múltiples en ladder, «coste» de la segunda bobina y de las siguientes
0,21 0,17 0,25 033 0,10 0,12 1
bloque de operación
[ acción]
bloque ejecutado 0,25 0,50 0,08 0,33 0,04 0,04 2
no ejecutado 0,50 0,75 0,08 0,33 0,04 0,04 2
bloque de operación vertical
entre 2 %MWi 1,62 11,85 0,37 0,83 0,19 0,19 5
Convergencia [ )] [ )] bloque ejecutado 0,37 0,13 0,04 0,17 0,02 0,02 1
Divergencia no seguida de una convergencia
[ ] Ladder, 1 divergencia
0,37 0,50 0,04 0,17 0,02 0,02 1
[MPS, MPP, MRD]
Lista MPS+MPP 1,12 1,50 0,12 0,50 0,06 0,06 3
Lista MRD 0,37 0,50 0,04 0,17 0,02 0,02 1
LD IL ST Objetos Tiempo de ejecución (µs) Tamañoen palabras
57 3• RAM
57 3• cart
57 3• RAM > 4 K
57 3• cart > 4 K
57 4• RAM
57 4• > 4K
S
R
179
Rendimiento
Rendimiento de los bloques de función
Temporizador CEI
La tabla siguiente describe el rendimiento del bloque de función de temporizador CEI
Temporizador PL7-3
La tabla siguiente describe el rendimiento del bloque de función de temporizador PL7-3
LD IL ST Condiciones Tiempo de ejecución (µs) Tamaño (palabras)571• 572• 573• 574•
flanco ascendente en IN
IN %TM1 (flanco ascendente)
START %TM1
inicio del temporizador
29 8,0 5,4 3,7 3
flanco descendente en IN
IN %TM1 (flanco descendente)
DOWN %TM1
parada del temporizador
9 2,6 1,7 1,2
IN =1 IN %TM1 (=1) temporizador activo
12 3,5 2,3 1,6
IN =0 IN %TM1 (=0) temporizador inactivo
10 3,3 2,2 1,5
LD IL ST Condiciones
Tiempo de ejecución (µs) Tamaño (palabras)571• 572• 573• 574•
START %T1
activar 3
STOP %T1
inmovilizar 7 2,8 2,0 1,4
E =0 RESET %T1
puesta a cero
7 3,1 2,2 1,6
temporizador activo
11 3,4 2,3 1,7
temporizador inactivo
180
Rendimiento
Contador/descontador
La tabla siguiente describe el rendimiento del bloque de función de contador/descontador
Monoestable La tabla siguiente describe el rendimiento del bloque de función monoestable
Registro La tabla siguiente describe el rendimiento del bloque de función registro
LD IL ST Condiciones
Tiempo de ejecución (µs) Tamaño (palabras)571• 572• 573• 574•
puesta a cero, R=1
R %C8 (=1) RESET %C8
puesta a cero
11 3,4 2,3 1,7 3
preselección, S=1
S %C9 (=1) PRESET %C9
preselección
12 3,6 2,4 1,7
flanco ascendente en CU
CU %C8 (flanco
UP %C8 up 12 3,7 2,5 1,8
flanco ascendente en CD
CD %C9 (flanco
DOWN %C9
down 12 3,7 2,5 1,8
entradas inactivas
R/S/CU/CD bit inactivo
ninguna acción
7 2,5 1,7 1,2
LD IL ST Condiciones
Tiempo de ejecución (µs) Tamaño (palabras)571• 572• 573• 574•
flanco ascendente en S
S %MN0, flanco ascendente
START %MN0
inicio 24 7,2 4,9 3,4 3
S=1 S %MN0, S =1/0
monoestable activo
6 2,2 1,5 1,1
LD IL ST Condiciones Tiempo de ejecución (µs) Tamaño (palabras)571• 572• 573• 574•
flanco en I I %R2 (flanco)
PUT %R2 almacenamiento
13 3,9 2,6 1,8 3
flanco en O O %R2 (flanco)
GET %R2 retirada del almacenamiento
13 3,9 2,6 1,8
R=1 R %R1 (=1)
RESET %R2
puesta a cero 9 3,3 2,3 1,6
entradas inactivas
I/O/R, bit inactivo
no hay acción 6 2,6 1,8 1,3
181
Rendimiento
Programador cíclico
La tabla siguiente describe el rendimiento del programador cíclico
LD IL ST Condiciones Tiempo de ejecución (µs) Tamaño (palabras)571• 572• 573• 574•
flanco en U U %DR0 UP %DR1 up, fijo 124 35 24 16 3
por bit de orden 25 25 25 25
R=1 R %DR1 RESET %DR2
puesta a cero, fijo
118 33 23 15
por bit de orden 25 25 25 25
entradas inactivas
R/U, bit inactivo
no hay acción, fijo
120 34 23 16
por bit de orden 25 25 25 25
182
Rendimiento
Aritmética entera y con coma flotante
Correcciones en función del tipo de objetos
Los tiempos y volúmenes de las páginas siguientes vienen dados para los objetos de tipo %MW0, %MD0 o %MF0.La tabla siguiente describe las correcciones que se han de añadir a los valores dados en la tabla de rendimiento de las instrucciones aritméticas si se emplean otros tipos de objetos.
Tipo de objeto Posición del objeto
Tipo de corrección
Tiempo de ejecución (µs) Tamaño (palabras)57 1•
RAM57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4•
Valor inmediato de longitud simple
- Valor que se ha de eliminar del mencionado para %MW o añadir al mismo
-0,12 -0,12 -0,12 0,00 -0,08 0,00 -0,04 0
Valor inmediato de longitud doble
- Valor que se ha de eliminar del mencionado para %MD o %MF, o añadir al mismo
-0,12 0,00 -0,19 0,21 -0,12 0,17 -0,06 1
Palabras, palabras dobles o flotantes indexadas
Tras el signo:=
Valor que se ha de añadir
1,12 1,75 0,56 1,04 0,37 0,83 0,19 5
Primera operación, el primer operando no se ha indexado, o asignación
Valor que se ha de añadir
1,12 1,75 0,56 1,04 0,37 0,83 0,19 5
Segundo operando si el primero se ha indexado de la misma manera
Valor que se ha de añadir
1,12 1,75 0,56 1,04 0,37 0,83 0,19 5
183
Rendimiento
Corrección en función del contexto de la operación
La tabla siguiente describe las correcciones que se han de añadir a los valores dados en el tabla de rendimiento de las instrucciones aritméticas en función del contexto de la operación.
%KWi, %KWi[%MWj]%KDi, %KFipalabras comunes, palabras de entradas/salidas
- Valor que se ha de añadir
0,62 0,87 0,25 0,42 0,17 0,33 0,08 2
Tipo de objeto Posición del objeto
Tipo de corrección
Tiempo de ejecución (µs) Tamaño (palabras)57 1•
RAM57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4•
Contexto de la operación
Tipo de objeto
Tipo de corrección
Tiempo de ejecución (µs) Tamaño(palabras)57 1•
RAM57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4•
La operación se encuentra como mínimo en segunda posición dentro de la fraseEjemplo: %MW2 en:=%MW0*%MW1*%MW2
%MW Valor que se ha de añadir al mencionado para %MW
0,50 0,62 0,19 0,33 0,12 0,25 0,06 1
%MD o %MF
Valor que se ha de eliminar del mencionado para %MD o %MF
0,62 0,75 0,31 0,46 0,21 0,33 0,10 1
Operación con resultado de una operación entre paréntesis o de mayor prioridadEjemplo:%MW0+%MW2+(...)
%MW Valor que se ha de añadir al mencionado para %MW
0,37 0,37 0,12 0,12 0,08 0,08 0,04 1
%MD o %MF
Valor que se ha de eliminar del mencionado para %MD o %MF
0,50 0,50 0,25 0,25 0,17 0,17 0,08 1
184
Rendimiento
Tabla de rendimiento de las instrucciones
La tabla siguiente describe el rendimiento de las instrucciones aritméticas.
ST Objetos Condiciones Tiempo de ejecución (µs) Tamaño (palabras)57 1•
RAM57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4•
objeto tras:= %MW0 - 0,6 0,9 0,2 0,4 0,2 0,3 0,08 2
%MW0+(...o %MW0 delante de *,/ o REM)
0,7 1,0 0,4 0,4 0,2 0,3 0,12 2
%MD0 - 0,7 1,0 0,4 0,4 0,2 0,3 0,12 2
%MW0+(...o %MW0 delante de *,/ o REM)
1,0 1,2 0,6 0,5 0,4 0,3 0,21 2
%MF0 1,0 1,2 0,6 0,5 0,4 0,3 0,21 2
:= %MW0 0,6 0,9 0,2 0,4 0,2 0,3 0,08 2
%MD0y %MF0
0,7 1,0 0,4 0,4 0,2 0,3 0,12 2
=, <>, <=, <, >, >=
%MW0 1,0 1,4 0,3 0,6 0,2 0,5 0,10 3
%MD0 1,5 1,5 0,4 0,6 0,3 0,5 0,15 3
%MF0 24 24 2,6 2,6 1,9 2,0 1,4 4
AND, OR, XOR %MW0 0,6 0,9 0,2 0,4 0,2 0,3 0,08 2
%MD0 0,7 1,0 0,4 0,4 0,2 0,3 0,12 2
+, - %MW0 0,6 0,9 0,2 0,4 0,2 0,3 0,08 2
%MD0 0,7 1,0 0,4 0,4 0,2 0,3 0,12 2
%MF0 48 48 2,5 2,5 1,9 2,0 1,4 3
* %MW0 6,3 6,5 2,0 2,2 1,5 1,6 1,2 3
%MD0 29 29 9,3 9,3 6,3 6,4 4,7 3
%MF0 44 44 2,5 2,5 1,9 2,0 1,4 3
/, REM %MW0 6,9 7,2 2,1 2,3 1,5 1,6 1,2 3
%MD0 148 149 34 34 21 21 15 3
/ %MF0 46 47 3,3 3,4 2,5 2,6 1,8 3
ABS, objeto %MW0 0,6 0,9 0,2 0,4 0,2 0,3 0,08 2
%MD0 0,7 1,0 0,4 0,4 0,2 0,3 0,12 2
%MF0 9 10 2,1 2,1 1,6 1,7 1,2 3
NOT %MW0 0,6 0,9 0,2 0,4 0,2 0,3 0,1 2
%MD0 0,7 1,0 0,4 0,4 0,2 0,3 0,1 2
185
Rendimiento
SQRT %MW0 19 19 3,5 3,7 2,1 2,2 1,5 3
%MD0 62 62 10,2 10,3 5,7 5,8 4,4 3
%MF0 117 117 2,8 2,8 2,1 2,1 1,5 3
INC, DEC %MW0 0,7 1,0 0,4 0,4 0,2 0,3 0,12 2
%MD0 1,0 1,2 0,6 0,5 0,4 0,3 0,21 2
SHL, SHR, ROL, ROR
%MW0 para 1 bit 2,0 2,9 0,8 1,5 0,5 1,2 0,27 7
%MD0 para 1 bit 2,1 3,0 0,9 1,5 0,6 1,2 0,31 7
por bit suplementario
0,042
LN %MF0 847 847 2,2 2,2 1,6 1,6 1,5
LOG %MF0 900 900 2,2 2,2 1,6 1,6 1,5
EXP %MF0 713 713 6,4 6,4 4,7 4,7 4,0
EXPT %MF0 1 747 1 747 2,2 2,2 1,6 1,6 1,5
TRUNC %MF0 1 753 1 753 2,2 2,2 1,6 1,6 1,5
COS %MF0 1 813 1 813 2,2 2,2 1,6 1,6 1,5
SIN %MF0 2 520 2 520 2,7 2,7 2,0 2,0 1,8
TAN %MF0 2 520 2 520 3,4 3,4 2,5 2,5 2,2
ACOS %MF0 1 720 1 720 2,1 2,1 1,6 1,6 1,4
ASIN %MF0 1 640 1 640 61 68 43 49 32
ATAN %MF0 103 142 32 36 23 26 17
DEG_TO_RAD %MF0 392 537 86 96 61 69 45
RAD_TO_DEG %MF0 380 522 86 96 61 69 46
ST Objetos Condiciones Tiempo de ejecución (µs) Tamaño (palabras)57 1•
RAM57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4•
186
Rendimiento
Instrucciones sobre el programa y estructuras de control
Rendimiento de las instrucciones en el programa
La tabla siguiente describe el rendimiento de las instrucciones sobre el programa.
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
Jump %Li 1,2 1,6 0,8 0,6 0,5 0,5 0,3 3
Maskevt 15,5 15,5 5,8 5,8 4,0 4,0 2,8 1
Unmaskevt 15,7 15,7 6,0 6,0 4,2 4,2 3,0 1
SRi 1,9 2,2 1,4 1,2 1,0 0,8 0,5 2
Return 0,6 0,9 0,2 0,4 0,2 0,3 0,1 2
187
Rendimiento
Rendimiento de las estructuras de control
La tabla siguiente describe el rendimiento de las instrucciones de tipo de estructuras de control.
ST Tiempo de ejecución (µs) Volumen (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
<cond> evaluación de la condición
bit que se puede forzar
véase la instrucción booleana LD %M1
comparación véase comparaciones =,<,> ...
if <cond > then <action> end_if;
los tiempos y volúmenes indicados anteriormente se han de añadir a los de la acción contenida en la estructura
condición verdadera
0,2 0,5 0,1 0,4 0,1 0,3 0,04 2
condición falsa (salto)
0,5 0,7 0,1 0,4 0,1 0,3 0,04
If <cond> then <action1> else <action2> end_if;
condición verdadera
0,7 1,2 0,2 0,8 0,2 0,7 0,08 4
condición falsa 0,5 0,7 0,1 0,4 0,1 0,3 0,04
while <cond> do.<action> end_while
paso al anillo con nuevo cierre
0,7 1,2 0,2 0,8 0,2 0,7 0,08 2
salida del anillo 0,5 0,7 0,1 0,4 0,1 0,3 0,04
repeat <action> until <cond> end_repeat
paso al anillo con nuevo cierre
0,5 0,7 0,1 0,4 0,1 0,3 0,04 2
último paso 0,2 0,5 0,1 0,4 0,1 0,3 0,04
for <mot1:=mot2>to <mot3> do <action> end_for
entrada en el ámbito, ejecutada una sola vez
1,2 1,7 0,5 0,8 0,3 0,7 0,17 15
paso al anillo con nuevo cierre
3,5 5,0 1,2 2,5 0,8 2,0 0,42
salida del anillo 1,7 2,5 0,6 1,2 0,4 1,0 0,21
188
Rendimiento
Conversiones digitales
Rendimiento La tabla siguiente describe el rendimiento de las instrucciones de conversiones digitales.
ST Tiempo de ejecución (µs) Volumen (palabras)
57 1• RAM 57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
BCD_TO_INT(%MW0) 17 17 3,3 3,4 1,9 2,1 1,5 3,0
INT_TO_BCD(%MW0) 14 14 2,8 3,0 1,7 1,9 1,3 3,0
GRAY_TO_INT(%MW0) 27 28 4,7 4,9 2,7 2,8 1,9 3,0
INT_TO_REAL(%MW0) 28 28 1,5 1,7 1,4 1,6 1,0 3,0
DINT_TO_REAL(%MD0) 24 24 1,7 1,8 1,6 1,7 1,2 3,0
REAL_TO_INT(%MF0) 41 42 1,6 1,7 1,5 1,6 1,1 3,0
REAL_TO_DINT(%MF0) 33 33 1,7 1,8 1,6 1,7 1,2 3,0
DBCD_TO_DINT(%MD0) 612 840 231 233 178 179 138 5
DBCD_TO_INT(%MD0) 537 737 203 204 156 157 121 5
DINT_TO_DBCD(%MD0) 512 702 193 195 149 150 115 5
INT_TO_DBCD(%MW0) 274 376 104 104 80 80 62 5
189
Rendimiento
Instrucciones sobre cadena de bits
Inicio de una tabla de bits
La tabla siguiente describe el rendimiento de las instrucciones de inicio de una tabla de bits.
Copia de una tabla de bits en una tabla de bits
La tabla siguiente describe el rendimiento de las instrucciones de copia de una tabla de bits en otra tabla de bits.
ST Tamaño (bit)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%M30:8:= 0 8 3,6 4,5 2,4 3,2 1,6 2,3 0,8 7
%M30:16:= 1 16 5,6 6,5 4,4 5,2 3,0 3,7 1,5 7
%M30:24:= 2 24 12 14 5,6 6,8 3,7 4,8 2,4 12
%M30:32:= 2 32 14 16 7,6 8,8 5,1 6,1 3,1 12
ST Tamaño (bit)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%M30:8:= %M20:8 8 6,9 7,9 5,4 6,0 3,6 4,2 1,8 8
%M30:16:= %M20:16 16 8,1 9,1 6,6 7,3 4,4 5,1 2,2 8
%M30:24:= %M20:24 24 22 23 14 16 10 11 5,4 13
%M30:32:= %M20:32 32 27 28 19 21 13 14 7,0 13
%M30:16:= COPY_BIT(%M20:16)
16 173 237 65 66 50 50 39 17
32 263 360 99 100 76 77 59 17
128 818 1 122 309 312 238 239 184 17
190
Rendimiento
Instrucciones lógicas sobre tabla de bits
La tabla siguiente describe el rendimiento de las instrucciones lógicas sobre tabla de bits.
ST Tamaño(bits)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
AND_ARX, OR_ARX, XOR_ARX
%M0:16:= AND_ARX(%M30:16,%M50:16)
16 233 319 88 89 68 68 52 24
%M0:32:= AND_ARX(%M30:32,%M50:32)
32 368 504 139 140 107 107 83 24
%M0:128:= AND_ARX(%M30:128,%M50:128)
128 1 178 1 616 445 449 343 344 265 24
NOT_ARX
%M0:16:= NOT_ARX(%M30:16) 16 173 237 65 66 50 50 39 17
32 263 360 99 100 76 77 59 17
128 818 1 122 309 312 238 239 184 17
191
Rendimiento
Copia de una tabla de bits en una tabla de palabras
La tabla siguiente describe el rendimiento de las instrucciones de copia de tablas de bits en una tabla de palabras.
Copia de una tabla de palabras en una tabla de bits
La tabla siguiente describe el rendimiento de las instrucciones de copia de tablas de palabras en una tabla de bits.
ST Tamaño(bits)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MW1:= %M30:8 8 4,5 5,2 3,4 3,9 2,2 2,7 1,1 6
%MW1:= %M30:16 16 7,5 8,2 6,4 6,9 4,2 4,7 2,1 6
%MD2:= %M30:24 24 11 11 10 10 6,8 7,2 3,8 6
%MD2:= %M30:32 32 14 14 13 13 8,8 9,2 4,8 6
%MW1:4:= BIT_W(%M40:80,0,17,2)
17 231 317 87 88 67 68 52 23
%MD1:4:= BIT_D(%M30:80,0,33,0)
33 325 446 123 124 95 95 73 23
ST Tamaño(bits)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%M30:8:= %MW1 8 3,6 4,4 2,5 3,0 1,7 2,2 0,8 6
%M30:16:= %MW2 16 5,6 6,4 4,5 5,0 3,0 3,5 1,5 6
%M30:24:= %MD1 24 12 13 6,1 6,9 4,3 5,1 3,1 11
%M30:32:= %MD3 32 14 15 8,1 8,9 5,7 6,4 3,7 11
%M30:32:= W_BIT(%MW200:2,0,2,0)
32 231 317 87 88 67 68 52 23
%M30:32:= D_BIT(%MD0:1,0,2,0)
32 275 377 104 105 80 80 62 23
192
Rendimiento
Instrucción sobre tablas de palabras, palabras dobles y flotantes
Inicio de una tabla de palabras por una palabra
La tabla siguiente describe el rendimiento de las instrucciones de inicio de una tabla de palabras por una palabra.
Copia de una tabla de palabras en una tabla de palabras
La tabla siguiente describe el rendimiento de las instrucciones de copia de una tabla de palabras en otra tabla de palabras.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MW0:10:= %MW100 10 palabras 34 35 14 15 10 11 6,7 10
por palabra 0,16 0,16 0,15 0,15 0,12 0,12 0,08
%MD0:10:= %MD100 10 palabras dobles
53 54 19 20 13 14 8,8 10
por palabra doble
1,98 1,98 0,57 0,57 0,37 0,37 0,26
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MW0:10:=%MW20:10; 10 palabras 63 65 25 26 17 19 12 15
por palabra 0,28 0,28 0,31 0,31 0,24 0,24 0,15
%MD0:10:=%MD20:10; 10 palabras dobles
69 71 29 30 20 22 14 15
por palabra doble
0,79 0,79 0,71 0,71 0,53 0,53 0,36
193
Rendimiento
Instrucciones aritméticas y lógicas entre 2 tablas de palabras
La tabla siguiente describe el rendimiento de las instrucciones aritméticas y lógicas entre 2 tablas de palabras.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
+, -
%MW0:10:=%MW10:10 + %MW20:10;
10 palabras
110 112 41 43 28 30 19 23
por palabra
4,7 4,7 1,8 1,8 1,3 1,3 0,9
%MD0:10:=%MD10:10+%MD20:10;
10 palabras dobles
154 156 60 62 41 43 28 23
por palabra doble
8,9 8,9 3,6 3,6 2,5 2,5 1,7
*
%MW0:10:=%MW10:10 * %MW20:10;
10 palabras
127 129 47 50 33 35 23 23
por palabra
6,4 6,4 2,4 2,4 1,7 1,7 1,2
%MD0:10:=%MD10:10 * %MD20:10;
10 palabras dobles
441 444 153 155 104 106 73 23
por palabra doble
37,6 37,6 12,9 12,9 8,7 8,7 6,2
/, REM
%MW0:10:=%MW10:10 / %MW20:10;
10 palabras
133 135 49 52 34 36 24 23
por palabra
7,0 7,0 2,6 2,6 1,8 1,8 1,4
194
Rendimiento
%MD0:10:=%MD10:10 / %MD20:10;
10 palabras dobles
1 639 1 642 395 397 248 250 172 23
por palabra doble
157 157 37 37 23 23 16
AND, OR, XOR
%MW0:10:=%MW10:10 AND %MW20:10;
10 palabras
108 111 40 43 28 30 19 23
por palabra
4,5 4,5 1,7 1,7 1,2 1,2 0,8
%MD0:10:=%MD10:10 AND %MD20:10;
10 palabras dobles
155 158 61 63 42 44 29 23
por palabra doble
9 9 4 4 3 3 2
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
195
Rendimiento
Instrucciones aritméticas y lógicas entre 1 tabla de palabras y 1 palabra
La tabla siguiente describe el rendimiento de las instrucciones aritméticas y lógicas entre 1 tabla de palabras y 1 palabra.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
+, -
%MW0:10:=%MW10:10 + %MW20; o %MW0:10:= %MW20 + %MW10:10
10 palabras 86 88 30 32 21 22 14 18
por palabra 2,8 2,8 0,8 0,8 0,5 0,5 0,4
%MD0:10:=%MD10:10 + %MD20;
10 palabras dobles
112 114 41 43 28 30 19 18
por palabra doble
5,2 5,2 1,9 1,9 1,3 1,3 0,9
*
%MW0:10:= %MW20*%MW10:10;
10 palabras 113 115 38 40 26 27 18 18
por palabra 5,6 5,6 1,6 1,6 1,1 1,1 0,7
%MD0:10:=%MD20*%MD10:10;
10 palabras dobles
381 383 132 134 90 92 64 18
por palabra doble
32 32 11 11 7,4 7,4 5,3
/, REM
%MW0:10:=%MW10:10 / %MW30;
10 palabras 140 142 46 48 31 33 21 18
por palabra 8,4 8,4 2,4 2,4 1,6 1,6 1,1
%MD0:10:=MD10:10 / %MD30
10 palabras dobles
1 585 1 587 375 377 235 236 163 18
por palabra doble
152 152 35 35 22 22 15
AND, OR, XOR
%MW0:10:=%MW10:10 AND %MW20;
10 palabras 86 88 30 32 21 22 14 18
por palabra 2,8 2,8 0,8 0,8 0,5 0,5 0,4
196
Rendimiento
Función de suma sobre la tabla
La tabla siguiente describe el rendimiento de las instrucciones de suma sobre la tabla.
%MD0:10:=%MD20 AND %MD10:10;
10 palabras dobles
381 383 132 134 90 92 64 18
por palabra doble
4,2 4,2 1,5 1,5 1,0 1,0 0,7
NOT
%MW0:10:=NOT(%MW10:10);
10 palabras 74 75 26 28 18 19 12 15
por palabra 1,9 1,9 0,5 0,5 0,4 0,4 0,2
%MD0:10:=NOT(%MD10:10)
10 palabras dobles
84 86 31 33 22 23 15 15
por palabra doble
2,9 2,9 1,0 1,0 0,7 0,7 0,5
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MW20:=SUM(%MW0:10); 10 palabras 51 53 17 18 12 12 8 16
por palabra 1,6 1,6 0,4 0,4 0,3 0,3 0,2
%MD20:=SUM(%MD0:10); 10 palabras dobles
58 59 19 20 13 14 9 16
por palabra doble
2,1 2,1 0,6 0,6 0,4 0,4 0,3
197
Rendimiento
Función de comparación de tablas
La tabla siguiente describe el rendimiento de las instrucciones de comparación de tablas.
Función de búsqueda
La tabla siguiente describe el rendimiento de las instrucciones de búsqueda en una tabla.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MW20:=EQUAL(%MW0:10;%MW10:10);
10 palabras
67 69 26 28 18 20 13 27
por palabra
0,6 0,6 0,4 0,4 0,3 0,3 0,2
%MD20:=EQUAL(%MD0:10;%MD10:10);
10 palabras dobles
74 76 31 33 22 23 15 27
por palabra doble
1,2 1,2 0,9 0,9 0,7 0,7 0,5
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MW20:= FIND_EQW(%MW0:10,%KW0)
10 palabras, caso máximo
150 206 57 57 44 44 34 14
%MD20:= FIND_EQD(%MD0:10, %KD0)
10 palabras dobles, caso máximo
163 223 61 62 47 48 37 15
198
Rendimiento
Búsqueda de valores máximos y mínimos
La tabla siguiente describe el rendimiento de las instrucciones de búsqueda de valores máximos y mínimos de una tabla.
Cálculo del número de casos
La tabla siguiente describe el rendimiento de las instrucciones del número de casos de un valor de una tabla de palabras.
Desplazamiento circular
La tabla siguiente describe el rendimiento de las instrucciones de desplazamiento circular.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MW20:= MAX_ARW(%MW0:10)
10 palabras 163 223 61 62 47 48 37 12
%MD20:= MAX_ARD(%MD0:10)
10 palabras dobles
194 266 73 74 56 57 44 12
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MW20:= OCCUR_ARW(%MW0:10, %KW0)
10 palabras 163 223 61 62 47 48 37 14
%MD20:= OCCUR_ARD(%MD0:10, %KD0)
10 palabras dobles
175 240 66 67 51 51 39 15
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
ROL_ARW(palabra o valor,%MWj:10)
10 palabras 250 343 94 95 73 73 56 12
ROL_ARD(%MDi,%MDj:10) 10 palabras dobles
269 369 102 102 78 79 61 12
199
Rendimiento
Instrucción de orden
La tabla siguiente describe el rendimiento de las instrucciones de orden de los elementos de una tabla.
Cálculo de longitud
La tabla siguiente describe el rendimiento de las instrucciones de cálculo de longitud de una tabla.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
SORT_ARW(%MWi,%MWj:10) 10 palabras, caso máximo
450 618 170 172 131 132 101 12
SORT_ARD(%MDi,%MDj:10) 5 palabras dobles, caso máximo
275 377 104 105 80 80 62 12
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
LENGTH_ARW(tab_mot) 31 43 12 12 9 9 7 6
LENGTH_ARD(tab_dmot) 31 43 12 12 9 9 7 6
LENGTH_ARW(tab_reel) 31 43 12 12 9 9 7 6
LENGTH_ARW(tab_bit) 31 43 12 12 9 9 7 6
200
Rendimiento
Tablas de flotantes
La tabla siguiente describe el rendimiento de las instrucciones sobre tabla de flotantes.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
SUM_ARR 10 reales 794 942 186 207 132 149 98
FIND_EQR 10 reales, caso mediano
390 535 83 93 59 67 44
FIND_EQRP 10 reales, caso mediano
391 536 83 93 59 67 44
FIND_GTR 10 reales, caso mediano
390 535 83 93 59 67 44
FIND_LTR 10 reales, caso mediano
390 535 83 93 59 67 44
MAX_ARR 10 reales 648 889 160 179 114 128 85
MIN_ARR 10 reales 601 825 148 164 105 118 78
OCCUR_ARR 10 reales 598 821 147 164 104 118 78
ROL_ARR 10 reales 273 374 67 75 48 54 35
ROR_ARR 10 reales 264 363 65 72 46 52 34
SORT_ARR 10 reales 896 1 229 220 245 156 176 116
EQUAL_ARR 10 reales 344 472 84 94 60 68 45
201
Rendimiento
Instrucciones de gestión del tiempo
Instrucciones de gestión de datos, horas y duración
La tabla siguiente describe el rendimiento de las instrucciones de gestión de datos, horas y duración.
Acceso al reloj-calendario
La tabla siguiente describe el rendimiento de las instrucciones del reloj-calendario.
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MW2:4:= ADD_DT(%MW2:4,%MD8) 1 951 2 677 737 744 568 571 440 19
%MD2:= ADD_TOD(%MD2,%MD8) 1 025 1 407 387 391 298 300 231 9
%MB2:11:= DATE_TO_STRING(%MD40)
606 832 229 231 176 177 137 12
%MW5:= DAY_OF_WEEK() 88 121 33 34 26 26 20 5
%MD10:= DELTA_D(%MD2, %MD4) 731 1 004 276 279 213 214 165 9
%MD10:= DELTA_DT(%MD2:4,%MW6:4)
1 506 2 067 569 574 438 441 339 19
%MD10:= DELTA_TOD(%MD2,%MD4)
1 113 1 527 421 424 324 325 251 9
%MB2:20:= DT_TO_STRING(%MW50:4)
707 970 267 269 206 207 159 17
%MW2:4:= SUB_DT(%MW2:4,%MD8) 2 344 3 216 886 893 682 685 528 19
%MD2:= SUB_TOD(%MD2,%MD8) 1 113 1 527 421 424 324 325 251 9
%MB2:15:= TIME_TO_STRING(%MD40)
794 1 089 300 303 231 232 179 12
%MB2:9:= TOD_TO_STRING(%MD40)
519 712 196 198 151 152 117 12
%MD100:= TRANS_TIME(%MD2) 331 455 125 126 96 97 75 7
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
RRTC(%MW0:4) 88 89 30 30 21 21 14 8
WRTC(%MW0:4) 69 70 25 25 17 17 11 8
202
Rendimiento
Funciones del temporizador
La tabla siguiente describe el rendimiento de las instrucciones del temporizador.
Instrucciones sobre cadenas de caracteres
Asignación, nueva copia de cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de asignación y la nueva copia de cadenas de caracteres.
PTC(%MW0:5) 74 75 26 27 18 19 12 8
SCHEDULE(%MW0,%MW1,%MW2,%MD10,%MD12,%M0)ÿ
88 89 30 30 21 21 14 8
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
FTON 53 53 28 32 21 24 12
FTOF 53 53 28 32 21 24 12
FTP 53 53 28 32 21 24 12
FPULSOR 181 249 69 69 53 53 41
ST Tamaño (caracteres)
Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MB0:8:=%MB10:8 Ocho caracteres
66 67 27 27 18 19 14 15
Por carácter 0,39 0,39 0,30 0,30 0,23 0,23 0,16
%MB0:8:=’abcdefg’ Ocho caracteres
85 85 29 29 20 20 14 14
Por carácter 2,37 2,37 0,68 0,68 0,47 0,47 0,36 0,5
203
Rendimiento
Conversiones palabra <-> cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de conversión de palabras y de cadenas de caracteres.
Conversiones palabra doble <-> cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de conversión de palabras dobles y de cadenas de caracteres.
Conversiones flotante <-> cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de conversión de flotante a cadenas de caracteres.
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MW1:=STRING_TO_INT(%MB0:7)
69 71 23 23 16 16 12 10
%MB0:7:=INT_TO_STRING(%MW0)
74 75 23 23 15 16 12 10
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MD1:=STRING_TO_DINT(%MB0:13)
706 707 237 237 160 160 115 10
%MB0:13:=DINT_TO_STRING(%MD0)
215 216 66 67 44 45 33 10
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MF1:=STRING_TO_REAL(%MB0:15)
1 912 1 913 344 344 237 237 155 10
%MB0:15:=REAL_TO_STRING(%MF0)
500 501 140 140 96 96 63 10
204
Rendimiento
Instrucciones de manipulación de cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de manipulación de cadenas de caracteres.
Extracción de palabras
La tabla siguiente describe el rendimiento de las instrucciones de extracción de palabras.
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
%MB10:20:= CONCAT(%MB30:10,%MB50:10)
494 678 187 188 144 144 111 24
%MB10:20:= DELETE(%MB10:22,2,3); 400 549 151 152 116 117 90 21
%MW0:= EQUAL_STR(%MB10:20,%MB30:20); (el quinto carácter difiere)
338 463 128 129 98 99 76 19
%MW0:= FIND(%MB10:20,%MB30:10);
650 892 246 248 189 190 146 19
%MB10:20:= INSERT(%MB30:10,%MB50:10,4);
519 712 196 198 151 152 117 26
%MB10:20:= LEFT(%MB30:30,20); 369 506 139 141 107 108 83 19
%MW0:= LEN(%MB10:20); 219 300 83 83 64 64 49 12
%MB10:20:= MID(%MB30:30,20,10); 444 609 168 169 129 130 100 21
%MB10:20:= REPLACE(%MB30:20,%MB50:10,10,10);
556 763 210 212 162 163 125 28
%MB10:20:= RIGHT(%MB30:30,20); 606 832 229 231 176 177 137 19
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
LW 32 44 12 12 9 9 7
HW 32 44 12 12 9 9 7
CONCATW 32 44 12 12 9 9 7
205
Rendimiento
Funciones específicas y funciones Orphée
Funciones de comunicación
La tabla siguiente describe el rendimiento de las funciones de comunicación.
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
SEND_REQ: tiempo de ejecución de la instrucción, tiempo que se debe añadir al sistema de comunicación
SEND_REQ(%KW0:6,15,%MW0:1,%MW10:10,%MW30:4)
1 250 1 715 472 476 364 366 282 33
SEND_TLG: el tratamiento es síncrono a la instrucción, no hay tiempo que se debe añadir al sistema de comunicación
SEND_TLG(%KW0:6,,%MW0:5, %MW30:2)
938 1 287 354 357 273 274 211 24
SERVER para 120 bytes 3 825 4 244 2 225 2 229 1 677 1 679 1 427 16
WRITE_ASYN para 500 palabras 2 975 3 301 1 731 1 734 1 305 1 306 1 110 16
READ_ASYN para 500 palabras 2 975 3 301 1 731 1 734 1 305 1 306 1 110 16
206
Rendimiento
Función de diálogo operador
La tabla siguiente describe el rendimiento de las instrucciones de diálogo operador.
Función de regulación
La tabla siguiente describe el rendimiento de las funciones de regulación.
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
SEND_MSG(ADR#1.0,%MW0:2,%MW10:2) 1250 1715 472 476 364 366 282 25
SEND_ALARM(ADR#1.0,%MW0:2,%MW10:2) 1250 1715 472 476 364 366 282 25
GET_MSG(ADR#1.0,%MW0:2,%MW10:2) 1250 1715 472 476 364 366 282 25
GET_VALUE(ADR#1.0,%MW0,%MW10:2) 625 858 236 238 182 183 141 20
ASK_MSG(ADR#1.0,%MW0:2,%MW10:2,%MW20:2) 1250 1715 472 476 364 366 282 32
ASK_VALUE(ADR#1.0,%MW0,%MW10:2,%MW20:2) 1250 1715 472 476 364 366 282 27
DISPLAY_ALRM(ADR#1.0,%MW0,%MW10:2) 625 858 236 238 182 183 141 20
DISPLAY_GRP(ADR#1.0,%MW0,%MW10:2) 625 858 236 238 182 183 141 20
DISPLAY_MSG(ADR#1.0,%MW0,%MW10:2) 625 858 236 238 182 183 141 20
CONTROL_LEDS(ADR#1.0,%MW0:2,%MW10:2) 1250 1715 472 476 364 366 282 25
ASSIGN_KEYS(ADR#1.0,%MW0:2,%MW10:2) 1250 1715 472 476 364 366 282 25
PANEL_CMD(ADR#1.0,%MW0:2,%MW10:2) 1250 1715 472 476 364 366 282 25
ST Condición Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
PID("PIDS1",’Unité’,%IW3.5,%MW12, %M16,%MW284:43)
deval_mmi=0
688 943 260 262 200 201 155 32
deval_mmi=1
563 772 213 214 164 165 127
PWM(%MW11,%Q2.1,%MW385:5) 313 429 118 119 91 91 70 17
SERVO(%MW12,%IW3.6,%Q2.2,%Q2.3, %MW284:43,%MW390:10)
500 686 189 191 145 146 113 31
PID_MMI(ADR#0.0.4,%M1,%M2:5,%MW410:62)
EN=1 625 858 236 238 182 183 141 30
207
Rendimiento
Guardado de datos
La tabla siguiente describe el rendimiento de las funciones de guardado de datos.
Función Orphée La tabla siguiente describe el rendimiento de las funciones de regulación.
ST Condición Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
SET_PCMCIA fijo 350 70 40 30
por palabra 0,4 0,3 0,2 0,2
WRITE_PCMCIA fijo 350 70 40 30
por palabra 0,8 0,3 0,3 0,2
READ_PCMCIA fijo 350 70 40 30
por palabra 0,7 0,4 0,3 0,4
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
DSHL_RBIT(%MD102,16,%MD204,%MD206) 200 274 76 76 58 58 45 17
DSHR_RBIT(%MD102,16,%MD204,%MD206) 319 437 120 122 93 93 72 17
DSHRZ_C(%MD102,16,%MD204,%MD206) 194 266 73 74 56 57 44 17
WSHL_RBIT(%MW102,8,%MW204,%MW206) 138 189 52 52 40 40 31 17
WSHR_RBIT(%MW102,8,%MW204,%MW206) 181 249 69 69 53 53 41 17
WSHRZ_C(%MW102,8,%MW204,%MW206) 138 189 52 52 40 40 31 17
SCOUNT(%M100,%MW100,%M101,%M102, %MW101,%MW102,%M200,%M201,%MW200, %MW201)
263 360 99 100 76 77 59 38
208
Rendimiento
Instrucciones de entradas/salidas explícitas
Rendimiento La tabla siguiente describe el rendimiento de las instrucciones de entradas/salidas explícitas.
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
Read_Sts %CHi.MOD
Cualquier función específica, exceptuando la vía de comunicación del procesador
552 651 291 292 220 220 2
Read_Sts %CHi
EntradaTON 296 317 180 181 136 136 117 6
Salida TON 386 426 227 227 171 171 145
Entrada analógica 334 363 201 201 151 151 129
Salida analógica 327 354 197 197 148 148 127
Módulo de contaje CTY 2A/4A 327 354 197 197 148 148 127
Módulo de contaje CTY 2C 311 335 189 189 142 142 122
Módulo paso por paso CFY 11/22 448 505 254 255 192 192 163
Módulo de comando de eje CAY 21/41 334 363 201 201 151 151 129
Write_Param %CHi
Entrada analógica 499 574 274 275 207 207 174 6
Salida analógica 474 540 265 265 200 200 169
Módulo de contaje CTY 2A/4A 603 731 302 303 229 230 190
Módulo de contaje CTY 2C 400 444 233 234 176 176 150
Módulo paso por paso CFY 11/22 577 691 297 298 225 226 187
Módulo de comando de eje CAY 21/41 461 522 260 260 196 196 166
Read_Param %CHi
Entrada analógica 115 118 75 75 56 56 49 6
Salida analógica 115 118 75 75 56 56 49
Módulo de contaje CTY 2A/4A 334 363 201 201 151 151 129
Módulo de contaje CTY 2C 349 381 209 209 157 157 134
Módulo paso por paso CFY 11/22 393 435 230 230 173 173 148
Módulo de comando de eje CAY 21/41 386 426 227 227 171 171 145
Save_Param %CHi
209
Rendimiento
Entrada analógica 635 787 306 307 232 233 191 6
Salida analógica 640 795 306 307 233 233 191
Módulo de contaje CTY 2A/4A 752 1 049 271 274 209 211 160
Módulo de contaje CTY 2C 379 417 223 223 168 168 143
Módulo paso por paso CFY 11/22 421 470 243 243 183 183 155
Módulo de comando de eje CAY 21/41 421 470 243 243 183 183 155
Restore_Param %CHi
Entrada analógica 467 531 262 263 198 198 167 6
Salida analógica 467 531 262 263 198 198 167
Módulo de contaje CTY 2A/4A 608 739 303 304 230 230 190
Módulo de contaje CTY 2C 349 381 209 209 157 157 134
Módulo paso por paso CFY 11/22 588 707 299 300 227 227 188
Módulo de comando de eje CAY 21/41 480 548 267 268 202 202 170
Write_Cmd %CHi
Salida TON 288 308 176 176 133 133 114 6
Entradas analógicas 0
Forzado de entrada 134 138 86 86 65 65 56
Resincronización de entrada 691 895 303 304 231 232 186
Salidas analógicas 0
Forzado 143 147 92 92 69 69 60
Smove %CH1.0(%MW1,%MW2,%MW3,%MD4,%MD5,%MW6)
Módulo paso por paso CFY 11/22 617 755 304 305 231 231 190 19
Módulo de comando de eje CAY 21/41 608 739 303 304 230 230 190
ST Tiempo de ejecución (µs) Tamaño (palabras)
57 1• RAM
57 1• cart
57 2• RAM
57 2• cart
57 3• RAM
57 3• cart
57 4• 57• •
210
Rendimiento
Bloque de función DFB
Tamaño ocupado por el tipo DFB
Mediante la fórmula siguiente se calcula el tamaño ocupado por el tipo DFB:
Tamaño del tipo DFB = Tamaño de las variables y los parámetros DFB + Tamaño del código DFB
Tamaño de las variables y los parámetros DFB
El cálculo del tamaño de las variables y de los parámetros DFB se realiza de la siguiente manera:
Tamaño de las variables y los parámetros DFB = 110 + Suma de los descriptores de las variables y los parámetros + Suma de los tamaños ocupados por cada variable o parámetro
con: Descriptor de'una variable o de'un parámetro = 5,5 + (Número de caracteres del nombre de la variable o del parámetro)/2
y
Tamaño ocupado por cada variable o parámetro:
N = número de'elementos de la tabla o longitud de la cadena de caracteres (STRING)
Tipo IN IN/OUT OUT PUBLICA PRIVADA
EBOOL 0,5 2 0,5 0,5 0,5
BOOL 0,5 2 0,5 0,5 0,5
WORD 1 2 1 1 1
DWORD 2 2 2 2 2
REAL 2 2 2 2 2
AR_X 3 3 0,5*N 0,5*N 0,5*N
AR_W 3 3 N N N
AR_D 3 3 2*N 2*N 2*N
AR_R 3 3 2*N 2*N 2*N
STRING 3 3 0,5*N 0,5*N 0,5*N
211
Rendimiento
Tamaño del código DFB
El cálculo del tamaño de las variables y de los parámetros DFB se realiza de la siguiente manera:
Tamaño del código DFB = 11 + Suma de los tamaños de cada una de las instrucciones (1)(1) Al tamaño de las instrucciones se le vuelve a añadir los volúmenes siguientes en función de la variable o del parámetro contenido en la'instrucción:
Objeto indexado:
Naturaleza Tipo Volumen
IN EBOOL 0,5
BOOL, WORD, DWORD, REAL 0
AR_X,AR_W,AR_D,AR_R,STRING 3
IN/OUT EBOOL 3
BOOL, WORD, DWORD, REAL 3
AR_X,AR_W,AR_D,AR_R,STRING 3
OUT, PUBLCPRIVADA
EBOOL 0,5
BOOL, WORD, DWORD, REAL 0
AR_X,AR_W,AR_D,AR_R,STRING 0
Naturaleza Tipo Volumen
IN AR_X,AR_W,AR_D,AR_R 7
IN/OUT AR_X,AR_W,AR_D,AR_R 7
OUT, PUBLICA, PRIVADA
AR_X,AR_W,AR_D,AR_R 6
212
Rendimiento
Tamaño ocupado por el'empleo del DFB
Llamada de'una instancia de DFB sin ningún parámetro = 6 palabras
Cálculo para un parámetro
Empleo de'una variable de'una instancia: volver a añadir 1 palabra en relación con
Naturaleza Tipo Volumen
IN EBOOL, BOOL, WORD, DWORD, REAL ídem asignación:=
AR_X,AR_W,AR_D,AR_R, STRING 14
IN/OUT EBOOL, WORD, DWORD, REAL 10
BOOL, AR_X,AR_W,AR_D,AR_R 14
OUT, Todo tipo ídem asignación:=
213
Rendimiento
Tiempo de ejecución
El tiempo total de ejecución del DFB viene dado por la fórmula siguiente:
Tiempo total de'ejecución del DFB = Talón de código DFB + Suma de los tiempos de'acceso a las variables y parámetros DFB + Llamada DFB (sin parámetro) + Suma de los tiempos de'acceso de cada parámetroLa tabla siguiente ofrece los tiempos de ejecución en µs.
(1) valor que se debe añadir en relación con las operaciones que se aplican a objetos de tipo %M.
Elemento Tipo 571• RAM
571• cart
572• RAM
572• cart
573• RAM
573• cart
574•
Talón para código DFB 13,0 16,3 4,8 4,8 3,4 3,8 1,1
Acceso a una variable o a un parámetro DFB (1)
Objetos indexados
IN EBOOL 0,2 0,3 0,09 0,12 0,06 0,10 0,02
BOOL,WORD,DWORD,REAL 0 0 0 0 0 0 0
AR_X,AR_W,AR_D,AR_R,STRING 1,4 1,7 0,5 0,8 0,4 0,6 0,1
IN/OUT 1,4 1,7 0,5 0,8 0,4 0,6 0,1
OUT, PUBLICA, PRIVADA
EBOOL 0,2 0,3 0,09 0,12 0,06 0,10 0,02
BOOL,WORD,DWORD,REAL 0 0 0 0 0 0 0
AR_X,AR_W,AR_D,AR_R,STRING 0 0 0 0 0 0 0
Objetos no indexados
IN, IN/OUT
AR_X,AR_W,AR_D,AR_R, 2,8 3,5 1,0 0,9 0,7 0,7 0,2
OUT, PUBLICA, PRIVADA
AR_X,AR_W,AR_D,AR_R, 2,1 2,6 0,8 1,1 0,5 0,9 0,2
Llamada DFB (sin parámetro) 3,8 4,8 1,5 1,8 1,0 1,4 0,3
Cálculo por parámetro (1)
IN EBOOL ídem:=
BOOL,WORD,DWORD,REAL ídem:=
AR_X,AR_W,AR_D,AR_R,STRING 3,5 4,4 1,5 1,9 1,0 1,6 0,3
IN/OUT EBOOL,WORD,DWORD,REAL 2,8 3,5 1,0 1,4 0,7 1,1 0,2
BOOL,AR_X,AR_W,AR_D,AR_R,STRING 3,5 4,4 1,5 1,9 1,0 1,6 0,3
OUT Todo tipo ídem:=
214
Rendimiento
6.4 Funciones avanzadas
Presentación
Objeto Esta sección describe los tamaños de la memoria ocupados por las funciones avanzadas y el método de cálculo del número de instrucciones.
Contenido Esta sección contiene los siguientes apartados:
Apartado Página
Descripción de las zonas de memoria 216
Tamaño de memoria de los objetos 217
Resumen del consumo de memoria de los módulos en Micro 218
Resumen del consumo de memoria de los módulos en Premium 221
Tamaño de la memoria de las funciones avanzadas 228
Método de cálculo del número de instrucciones 242
215
Rendimiento
Descripción de las zonas de memoria
Nota La aplicación se reparte en varias zonas de la memoria:� zona de memoria bit:
� esta zona es específica para los autómatas TSX 37 y se limita a 1280 bits� esta zona forma parte de la zona de memoria dada para los autómatas
TSX 57,� zona de memoria de datos (palabras),� zona de memoria de aplicación, que comprende:
� la configuración,� el programa,� las constantes.
Las zonas de memoria de bits y datos se almacenan siempre en la RAM interna, la zona de memoria de aplicación se puede almacenar en la RAM interna o en la tarjeta de memoria.
216
Rendimiento
Tamaño de memoria de los objetos
Descripción La tabla siguiente describe el tamaño de memoria ocupada por cada tipo de objeto del lenguaje PL7.
Datos del intérprete Grafcet = 355 + 2 x Nº etapas activas configuradas + (Nº de transiciones válidas configuradas) / 2
Tipo de objeto Memoria bit (en palabras)
Datos (en palabras)
Aplicación (en palabras)
Etapas Grafcet (%Xi, %Xi.T) 0,5 1
%Mi 0,5
Digitales (%MWi) 1
Constantes (%KWi) 1,25
%NWi 1
%Ti 4 2
%TMi 5 2
%MNi 4 2
%Ci 3 1
%Ri (longitud lg) 6+lg 2
%DRi 6 49
217
Rendimiento
Resumen del consumo de memoria de los módulos en Micro
Generalidades
Para cada tipo de módulo, las tablas siguientes ofrecen tanto el tamaño ocupado en cada una de las zonas, como un tamaño fijo que ha de añadirse al resumen del consumo la primera vez que se utilice una función específica.
Procesadores La tabla siguiente ofrece el consumo de memoria de los módulos de procesadores TSX 37.
Módulos Todo o nada
La tabla siguiente ofrece el consumo de memoria de los módulos Todo o nada.
Nota: Esta información aparece en una versión específica de procesadores, por lo que puede sufrir «ligeras» variaciones en función de la evolución del producto.
Procesadores Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
TSX 37-05/08/10 70 1560 920
TSX 37-21 70 1570 930
TSX 37 -22 70 2110 1280
Empleo de la tarea FAST (TSX 37) 260
Empleo del primer suceso(TSX 37) 520
Familia Todo o nada Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
Ocho entradas TON 4 12 40
16 entradas TON 8 12 50
Cuatro salidas TON 2 12 40
Ocho salidas TON 4 12 40
8E / 8S TON 4 12 40
16E / 12S TON 16 20 100
32E / 32S TON 32 20 142
218
Rendimiento
Módulos analógicos
La tabla siguiente ofrece el consumo de memoria de los módulos analógicos.
Módulos de contaje
La tabla siguiente ofrece el consumo de memoria de los módulos de contaje.
Familia analógica Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
Módulo de cuatro entradas analógicas
AEZ414 0 156 56
Coste adicional del primer módulo de la familia de cuatro entradas analógicas
120
Módulo de ocho entradas analógicas
AEZ801/AEZ802 0 212 72
Coste adicional del primer módulo de la familia de ocho entradas analógicas
120
Módulo de salidas analógicas
ASZ200 0 52 40
ASZ401 0 100 59
Coste adicional del primer módulo de la familia de salidas analógicas
120
Familia de contaje Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
CTY1A 16 108 64
CTY2A 32 212 106
Coste adicional de la primera vía en contaje
144
Coste adicional de la primera vía en descontaje
144
Coste adicional de la primera vía en CPT/DCPT
144
219
Rendimiento
Módulos de comunicación
La tabla siguiente ofrece el consumo de memoria de los módulos de comunicación.
Familia de comunicación Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
STZ010 0 36 168
SCP111/SCP112/SCP114 (en UC UTW)
0 40 763
FPP 20 en UC (vía 0 UTW) 0 40 755
MDM 10 0 2528 12880
220
Rendimiento
Resumen del consumo de memoria de los módulos en Premium
Generalidades
Para cada tipo de módulo, las tablas siguientes ofrecen tanto el tamaño ocupado en cada una de las zonas, como un tamaño fijo que ha de añadirse al resumen del consumo la primera vez que se utilice una función específica.
Procesadores La tabla siguiente ofrece el consumo de memoria de los módulos de procesadores TSX 57.
Nota: Esta información aparece en una versión específica de procesadores, por lo que puede sufrir «ligeras» variaciones en función de la evolución del producto.
Procesadores Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
P 57-1• 70 4714 1720
P 57-2•/3•/4• 70 4714 1784
Empleo de la tarea FAST (TSX 57) 520
Coste adicional del primer módulo en la configuración
600
P 57-1•: por anillo de regulación 500
Coste adicional del primer anillo 25000
P 57-2•/3•/4•: por anillo de regulación 500
Coste adicional del primer anillo 5000
221
Rendimiento
Módulos TON La tabla siguiente ofrece el consumo de memoria de los módulos Todo o nada.
Familia TON Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
Familia de entradas TON sencillas
Ocho entradas TON 4 100 100
16 entradas TON 8 130 110
32 entradas TON 16 230 120
64 entradas TON 32 430 190
Coste adicional del primer módulo de la familia de entradas
610
Familia de salidas TON sencillas
Ocho salidas TON 4 110 100
16 salidas TON 8 160 110
32 salidas TON 16 280 120
64 salidas TON 32 550 190
Coste adicional del primer módulo de la familia de salidas
570
Familia de entradas TON de suceso
16 entradas TON (DEY 16FK) 8 220 130
Coste adicional del primer módulo de la familia de entradas
680
Familia de entradas/salidas TON de seguridad
12E/4S o 12E/2S(PAY) 16 128 200
Coste adicional del primer módulo de la familia de entradas TON de suceso
1320
Familia de entradas/salidas TON mixta
16 entradas/12 salidas (DMY 28FK) 16 304 152
Coste adicional del primer módulo de familia
1432
TON mixta
16 E/12 S de sucesos (DMY 28RFK) 32 976 656
Coste adicional del primer módulo de la familia TON mixta refleja
5596
222
Rendimiento
Módulos analógicos
La tabla siguiente ofrece el consumo de memoria de los módulos analógicos.
Familia analógica Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
Familias de entradas analógicas
AEY414 4 430 160
AEY800 8 840 240
AEY1600 16 1670 430
Coste adicional del primer módulo de la familia de entradas analógicas (AEY 414/800/1600)
2990
AEY810 8 888 248
AEY1614 16 1768 432
Coste adicional del primer módulo de la familia de entradas analógicas (AEY 810/1614)
3056
AEY420 4 476 168
Coste adicional del primer módulo de la familia de entradas analógicas (AEY 810/1614)
2080
Familia de salidas analógicas
ASY410 4 430 160
Coste adicional del primer módulo de salidas analógicas ASY410
1700
ASY800 8 744 248
Coste adicional del primer módulo de salidas analógicas ASY800
1760
223
Rendimiento
Módulos de contaje
La tabla siguiente ofrece el consumo de memoria de los módulos de contaje.
Módulos servo motor
La tabla siguiente ofrece el consumo de memoria de los módulos servo motor.
Módulos paso a paso
La tabla siguiente ofrece el consumo de memoria de los módulos de paso a paso.
Familia de contaje Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
Módulo CTY2A 32 410 170
Módulo CTY4A 64 800 250
Coste adicional de la primera vía de contaje configurada
1740
Módulo CTY2C 48 672 184
Coste adicional de la primera vía de contaje configurada
1992
Familia servo motor Memoria de bits(palabras)
(palabras) (palabras)
CAY•1 78 520 140
CAY•2 78 376 232
CAY33 vía 3 78 264 170
Coste adicional de la primera vía configurada CAY•1
2130
Coste adicional de la primera vía configurada CAY•2/33
3600
Coste adicional de la primera vía 3 configurada CAY33
3600
Familia de paso a paso Memoria de bits(palabras)
Datos (palabras)
Zona de aplicación(palabras)
CFY11 29 323 104
CFY21 58 646 152
Coste adicional de la primera vía de paso a paso configurada
2368
224
Rendimiento
Módulos de comunicación
La tabla siguiente ofrece el consumo de memoria de los módulos de comunicación.
Submódulos de comunicación
La tabla siguiente ofrece el consumo de memoria de los submódulos de comunicación.
Acoplador AS-i La tabla siguiente ofrece el consumo de memoria de los acopladores AS-i.
Familia de módulos de comunicación
Memoria de bits(palabras)
Datos(palabras)
Zona de aplicación(palabras)
SCY21600 (vía 0 UTW) 1 230 80
En SCY21600 (vía 1 UTW) 1 450 40
Coste adicional de la primera vía configurada en UTW
1280
ETY 110 1 431 256
Coste adicional de la primera vía configurada ETY•110
1984
ETY 120 1 48 136
Coste adicional de la primera vía configurada ETY•120
1368
ETY 210 1 434 400
Coste adicional de la primera vía configurada ETY•210
3424
IBY 100 1 450 40
Submódulo de comunicación Memoria de bits(palabras)
Datos(palabras)
Zonade aplicación(palabras)
SCP111/ SCP112/ SCP114 (UTW) 1 60 580
en UC (vía 0 UTW)
FPP 20 en UC (vía 0 UTW) 1 60 580
FPP 10 en UC (vía 0 UTW) 1 40 870
Familia AS-i Memoria de bits(palabras)
Datos(palabras)
Zonade aplicación(palabras)
SAY 3 373 176
Coste adicional de la primera vía AS-i 2272
225
Rendimiento
Módulos de pesaje
La tabla siguiente ofrece el consumo de memoria de los módulos de pesaje.
Módulos de entradas/salidas remotas TBX
La tabla siguiente ofrece el consumo de memoria de los módulos de entradas/salidas remotas TBX.
Familia de pesaje Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
AWY001 1 170 120
Coste adicional de la primera vía de pesaje configurada
3920
Familia de entradas/salidas remotas Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
Entradas TON 8 152 88
Coste adicional de la primera platina principal configurada
1400
Salidas TON 8 176 88
Coste adicional de la primera platina principal configurada
1320
Programable 8 160 88
Coste adicional de la primera platina principal configurada
2304
Almacenamiento del estado 8 160 88
Coste adicional de la primera platina principal configurada
1400
AES 400 2 270 104
ASS 200 2 270 104
AMS 620 4 508 112
Coste adicional de la primera platina principal configurada
3968
226
Rendimiento
Módulos Momentum
La tabla siguiente ofrece el consumo de memoria de los módulos Momentum.
Módulos de traslado del bus X
La tabla siguiente ofrece el consumo de memoria del módulo de traslado del bus X.
Familia Momentum Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
Entradas 16 96 72
Coste adicional de la primera platina principal configurada
1384
Salida 16 112 72
Coste adicional de la primera platina principal configurada
1256
Mixta 16 104 72
Coste adicional de la primera platina principal configurada
1424
Traslado del bus X Memoria de bits (palabras)
Datos (palabras)
Zona de aplicación (palabras)
Módulo TSX REY 200 0 0 56
227
Rendimiento
Tamaño de la memoria de las funciones avanzadas
Descripción Las tablas siguientes indican el tamaño del código integrado en la aplicación (zona de aplicación) tras la llamada de una función avanzada para cada función avanzada (OF).
Las funciones de una misma familia comparten el código (código común). Este código común se integra en el autómata tras la primera llamada de una función de esta familia. El código específico de una función se integra tras la primera llamada de esta función.
Ejemplo � Primera llamada de una función de la familia de conversiones digitales. Caso de DBCD_TO_DINT, código integrado en la zona de aplicación:� Código común = 154 palabras.� Código OF DBCD_TO_INT = 149 palabras.
� Llamada de otra función de la familia de conversiones digitales. Caso de DINT_TO_DBCD, código integrado en la zona de aplicación:� Código OF DINT_TO_DBCD = 203 palabras.� Llamada de una función de la familia de conversiones digitales que ya ha sido
llamada (DBCD_TO_DINT o DINT_TO_DBCD): ningún código integrado.
228
Rendimiento
Conversiones digitales
La tabla siguiente ofrece el consumo de memoria de las funciones avanzadas de conversión.
Conversiones digitales OF Tamaño del código (en palabras)
Conversión de un número BCD de 32 bits en un entero de 32 bits
DBCD_TO_DINT 203
Conversión de un número BCD de 32 bits en un entero de 16 bits
DBCD_TO_INT 149
Conversión de un entero de 32 bits en número BCD de 32 bits
DINT_TO_DBCD 203
Conversión de un entero de 16 bits en un número BCD de 32 bits
INT_TO_DBCD 75
Extracción de la palabra menos significativa de una palabra doble
LW 33
Extracción de la palabra más significativa de una palabra doble
HW 33
Formación de una palabra doble con 2 palabras CONCATW 33
Código común 154
229
Rendimiento
Instrucciones sobre cadenas de bits
La tabla siguiente ofrece el consumo de memoria de las funciones avanzadas de cadenas de bits.
Cadenas de bits OF Tamaño del código
Y lógica entre dos tablas AND_ARX 209
Copia de una tabla de bits a una tabla de palabras dobles BIT_D 248
Copia de una tabla de bits en una tabla de palabras BIT_W 205
Copia de una tabla de bits a una tabla de bits COPY_BIT 146
Copia de una tabla de palabras dobles a una tabla de bits D_BIT 196
Complemento de uno de una tabla NOT_ARX 157
O lógica entre dos tablas OR_ARX 209
Copia de una tabla de palabras a una tabla de bits W_BIT 195
O exclusiva entre dos tablas XOR_ARX 209
Longitud en número de elementos LENGTH_ARX 20
Código común 427
230
Rendimiento
Instrucciones sobre la tabla de palabras
La tabla siguiente ofrece el consumo de memoria de las funciones avanzadas de tablas de palabras.
Instrucciones sobre tablas de palabras OF Tamaño del código (en palabras)
Búsqueda del primer elemento de una tabla igual a un valor
FIND_EQW 75
Búsqueda del primer elemento de una tabla superior a un valor
FIND_GTW 75
Búsqueda del primer elemento de una tabla inferior a un valor
FIND_LTW 78
Búsqueda del mayor valor dentro de una tabla MAX_ARW 78
Búsqueda del menor valor de una tabla MIN_ARW 74
Número de repeticiones de un valor dentro de una tabla OCCUR_ARW 145
Desplazamiento circular de una tabla hacia la izquierda ROL_ARW 150
Desplazamiento circular de una tabla hacia la derecha ROR_ARW 144
Ordenación de una tabla (creciente o decreciente) SORT_ARW 164
Búsqueda parcial del primer elemento de una tabla igual a un valor
FIND_EQWP 77
Longitud en número de elementos LENGTH_ARW 20
Código común 162
231
Rendimiento
Instrucciones sobre tablas de palabras dobles
La tabla siguiente ofrece el consumo de memoria de las funciones avanzadas de las tablas de palabras dobles.
Instrucciones sobre tablas de palabras dobles OF Tamaño del código (en palabras)
Búsqueda del primer elemento de una tabla igual a un valor
FIND_EQD 79
Búsqueda del primer elemento de una tabla superior a un valor
FIND_GTD 80
Búsqueda del primer elemento de una tabla inferior a un valor
FIND_LTD 95
Búsqueda del mayor valor dentro de una tabla MAX_ARD 95
Búsqueda del menor valor de una tabla MIN_ARD 78
Número de repeticiones de un valor dentro de una tabla OCCUR_ARD 163
Desplazamiento circular de una tabla hacia la izquierda ROL_ARD 170
Desplazamiento circular de una tabla hacia la derecha ROR_ARD 178
Ordenación de una tabla (creciente o decreciente) SORT_ARD
Búsqueda parcial del primer elemento de una tabla igual a un valor
FIND_EQWP 77
Longitud en número de elementos LENGTH_ARW 20
Código común 162
232
Rendimiento
Instrucciones sobre tablas de flotantes
La tabla siguiente ofrece el consumo de memoria de las funciones avanzadas de tablas de flotantes.
Instrucciones sobre tablas de flotantes OF Tamaño del código (en palabras)
Suma de los elementos de una tabla de reales SUM_ARR 152
Búsqueda del primer elemento de una tabla igual a un valor
FIND_EQR 134
Búsqueda del primer elemento de una tabla igual a un valor a partir de una posición
FIND_EQRP 135
Búsqueda del primer elemento de una tabla superior a un valor
FIND_GTR 134
Búsqueda del primer elemento de una tabla inferior a un valor
FIND_LTR 134
Búsqueda del mayor valor dentro de una tabla MAX_ARR 161
Búsqueda del menor valor de una tabla MIN_ARR 162
Número de repeticiones de un valor dentro de una tabla OCCUR_ARR 132
Desplazamiento circular de una tabla hacia la izquierda ROL_ARR 167
Desplazamiento circular de una tabla hacia la derecha ROR_ARR 173
Ordenación de una tabla (creciente o decreciente) SORT_ARR 271
Comparación de dos tablas de reales EQUAL_ARR 173
Ordenación de una tabla (creciente o decreciente) LENGTH_ARR 20
Código común 124
233
Rendimiento
Instrucciones de gestión del tiempo
La tabla siguiente ofrece el consumo de memoria de las funciones avanzadas de gestión del tiempo.
Fechas, horas y duración OF Tamaño del código
Añadido de una duración a una fecha completa ADD_DT 519
Añadido de una duración a una hora del día ADD_TOD 188
Conversión de una fecha en cadena DATE_TO_STRING 150
Día de la semana DAY_OF_WEEK 99
Desviación entre dos fechas DELTA_D 374
Desviación entre dos fechas completas DELTA_DT 547
Desviación entre dos horas del día DELTA_TOD 110
Conversión de una fecha completa en cadena DT_TO_STRING 266
Supresión de la duración de una fecha completa SUB_DT 548
Supresión de una duración a una hora del día SUB_TOD 186
Conversión de una duración en cadena TIME_TO_STRING 413
Conversión de una hora del día en cadena TOD_TO_STRING 156
Conversión en forma de horas-min-seg de una duración TRANS_TIME 211
Función reloj–calendario SCHEDULE 700
Código común 1703
234
Rendimiento
Instrucciones sobre cadenas de caracteres
La tabla siguiente ofrece el consumo de memoria de las funciones avanzadas de cadenas de caracteres.
Fechas, horas y duración OF Tamaño del código
Instrucciones sobre cadenas de caracteres Tamaño del código
Concatenación de dos cadenas CONCAT
Supresión de una subcadena DELETE 279
Búsqueda del primer carácter diferente EQUAL_STR 212
Búsqueda de una subcadena FIND 225
Inserción de una subcadena INSERT 287
Extracción de la parte izquierda de una cadena LEFT 38
Longitud de una cadena LEN 70
Extracción de una subcadena MID 44
Sustitución de una subcadena REPLACE 365
Extracción de la parte derecha de una cadena RIGHT 55
Código común 418
235
Rendimiento
Funciones Orphée
La tabla siguiente ofrece el consumo de memoria de las funciones Orphée.
Funciones de temporización
La tabla siguiente ofrece el consumo de memoria de las funciones de temporización.
Funciones Orphée OF Tamaño del código
Desplazamiento en 32 hacia la izquierda con recuperación de bits desplazados
DSHL_RBIT 152
Desplazamiento en 32 hacia la derecha con extensión de signo, recuperación de bits desplazados
DSHR_RBIT 152
Desplazamiento en 32 hacia la derecha con relleno de cero, recuperación de bits desplazados
DSHRZ_C 133
Desplazamiento en 16 hacia la izquierda con recuperación de bits desplazados
WSHL_RBIT 91
Desplazamiento en 16 hacia la derecha con extensión de signo, recuperación de bits desplazados
WSHR_RBIT 103
Desplazamiento en 16 hacia la derecha con relleno de cero, recuperación de bits desplazados
WSHRZ_C 90
Código común 173
Contaje/descontaje con señalización de alcance SCOUNT 617
Rotación de una palabra hacia la izquierda ROLW 41
Rotación de una palabra hacia la derecha RORW
Rotación de una palabra doble hacia la izquierda ROLD 49
Rotación de una palabra doble hacia la izquierda RORD 49
Funciones de temporización OF Tamaño del código (en palabras)
Salida de posicionamiento FPULSOR 215
Temporización de desconexión FTOF 272
Temporización de conexión FTON 217
Temporización de impulsión FTP 245
236
Rendimiento
Funciones logarítmicas, exponenciales y trigonométricas
La tabla siguiente ofrece el consumo de memoria de las funciones logarítmicas, exponenciales y trigonométricas.
Funciones de regulación
La tabla siguiente ofrece el consumo de memoria de las funciones de regulación.
Funciones logarítmicas, exponenciales y trigonométricas
OF Tamaño del código (en palabras)
Logaritmo neperiano LN 0
Logaritmo decimal LOG 0
Exponencial EXP 0
Potenciación de un real elevado a un entero EXPT 523
Parte entera TRUNC 128
Coseno de un ángulo en radianes COS 0
Seno de un ángulo en radianes SIN 0
Tangente de un ángulo en radianes TAN 0
Arcocoseno (resultado entre cero y pi) ACOS 0
Arcoseno (resultado entre -pi/2 y pi/2) ASIN 0
Arcotangente (resultado entre -pi/2 y pi/2) ATAN 0
Conversión de grados a radianes DEG_TO_RAD 257
Conversión de radianes a grados RAD_TO_DEG 247
Código común 392
Funciones de regulación OF Tamaño del código (en palabras)
Regulador PID mixto PID 1800
Modulación en ancho de impulsión de una magnitud digital
PWM 600
Escalón de salida de PID para comandos de válvula TON
SERVO 1200
Gestión del diálogo de operador destinado en CCX17 de PID
PID_MMI 4400
Código común 573
237
Rendimiento
Funciones de diálogos de operador
La tabla siguiente ofrece el consumo de memoria de las funciones de diálogos de operador.
Funciones de diálogos de operador OF Tamaño del código (en palabras)
Introducción que bloquea una variable en CCX17 Ask_msg, 46,5
Introducción que bloquea una variable en msg contenida en CCX17
Ask_value, 46,5
Asignación dinámica de las teclas Assign_keyS, 46,5
Comando de control de los LED de indicaciones Control_leds, 46,5
Visualización de una alarma contenida en CCX17 Display_alarm, 46,5
Visualización de un grupo de mensajes contenidos en CCX17
Display_GRP, 46,5
Visualización de un mensaje contenido en CCX17 Display_MSG, 46,5
Introducción múltiple de una variable en CCX17 GET_MSG, 46,5
Introducción múltiple de una variable en msg contenida en CCX17
GET_VALUE, 46,5
Envío de un comando a CCX17 PANEL_CMD, 46,5
Visualización de un msg de alarma contenido en la memoria del autómata
SEND_alarm, 46,5
Visualización de un mensaje contenido en la memoria del autómata
Send_msg 46,5
Código común 573
238
Rendimiento
Funciones de comunicación
La tabla siguiente ofrece el consumo de memoria de las funciones de comunicación.
Funciones de comandos de movimiento
La tabla siguiente ofrece el consumo de memoria de las funciones de comandos de movimiento.
Funciones de comunicación OF Tamaño del código (en palabras)
Lectura de objetos de lenguaje de base READ_VAR 617
Escritura de objetos de lenguaje de base WRITE_VAR 500
Emisión o recepción de peticiones UNI-TE SEND_REQ 438
Emisión o recepción de datos DATA_EXCH 375
Emisión de una cadena de caracteres PRINT_CHAR 476
Solicitud de lectura de una cadena de caracteres INPUT_CHAR 625
Emisión o recepción de una cadena de caracteres OUT_IN_CHAR 531
Emisión de un telegrama SEND_TLG 219
Recepción de un telegrama RCV_TLG 172
Demanda de parada de una función de comunicación en curso
CANCEL
Código común 506
Desplazamiento de un byte de una tabla de bytes hacia la derecha
ROR1_ARB 235
Servidor inmediato SERVER 32
Código común 648
Escritura de 1 K de mensajería 32
Código común 936
Lectura de 1 K de mensajería READ_ASYN 32
Código común 920
Funciones de comandos de movimiento OF Tamaño del código (palabras)
Comando de movimiento automático de un solo eje SMOVE 24
Comando de movimiento automático multieje XMOVE 32
239
Rendimiento
Almacena-miento de datos
La tabla siguiente ofrece el consumo de memoria de las funciones de almacena-miento de datos.
Función de intercambio explícito
La tabla siguiente ofrece el consumo de memoria de las funciones de comandos de intercambio explícito.
Almacenamiento de datos OF Tamaño del código (palabras)
Inicio de la zona de almacenamiento en la tarjeta PCMCIA
SET_PCMCIA 24
Escritura de datos en la tarjeta PCMCIA WRITE_PCMCIA 24
Lectura de datos en la tarjeta PCMCIA READ_PCMCIA 24
Código común 288
Intercambios explícitos OF Tamaño del código (palabras)
Lectura de parámetros de estado READ_STS 0
Lectura de parámetros de ajuste READ_PARAM 0
Actualización de parámetros de ajuste WRITE_PARAM 0
Almacenamiento de parámetros de ajuste SAVE_PARAM 0
Restauración de parámetros de ajuste RESTORE_PARAM 0
Actualización de parámetros de comando WRITE_CMD 0
(1) OF específico, el código se tiene en cuenta en el volumen del módulo de E/S.
240
Rendimiento
DFB de diagnóstico
En la primera programación de uno de los DFB de diagnóstico, se reservan 200 palabras en la zona de programa de la aplicación.
La tabla siguiente indica el tamaño del código integrado en la aplicación (en la zona del programa) y el tamaño ocupado por instancia en la zona dada y en la zona del programa para cada tipo de DFB de diagnóstico.
DFB de diagnóstico (tamaños en palabras)
Tamaño de tipo DFB
Tamaño del código de tipo DFB
Tamaño de datos por instancia
IO_DIA 800 64 72
ALRM_DIA 608 40 48
NEPO_DIA 15184 128 136
TEPO_DIA 10896 128 136
EV_DIA 1144 48 56
MV_DIA 2616 80 88
ASI_DIA 7912 304 312
241
Rendimiento
Método de cálculo del número de instrucciones
Generalidades Mediante este método se calcula el número de instrucciones de base (nivel alzador) booleanas o digitales.
Cálculo del número de instrucciones booleanas
Dentro de este cálculo se tiene en cuenta el siguiente número de elementos:� operaciones unitarias booleanas: carga (LD), AND, OR, XOR,ST...� paréntesis de cierre (o las convergencias ladder: enlaces verticales de
convergencia)� bloques de comparación (AND[...], OR[...]...) y operación ([...])
No se deben considerar como instrucción booleana los operadores NOT, RE y FE.
Ejemplo:LD %M0AND (%M1OR %M2)ST %M3= 5 instrucciones booleanas
Cálculo del número de instrucciones Digitales
Dentro de este cálculo se tiene en cuenta el siguiente número de elementos:� asignaciones (:=)� carga del primer valor después de:=� instrucciones aritméticas (+, -, *, /, <, =...), operaciones en palabras o tablas de
palabras, palabras dobles, flotantes)� instrucciones lógicas en palabras� funciones (OF, EQUAL...) sea cual sea el número de parámetros� bloques de función (o instrucción de bloque de función)
Ejemplo:%MW0:=(%MW1+%MW2)*%MW3;
instrucciones contabilizadas::=%MW1 (corresponde a la instrucción de carga en el acumulador)+*si son 4 instrucciones.
242
Rendimiento
Ejemplo Ejemplo de programa que contiene 65% de booleano y 35% de digital:
%M0 %M3 %M4 %M20 %M21
%M22 %M23%M1
%M2
%M10 %M11 %M12 %M13
%M14 %M15 %M16
%M10 %M11 %M12 %M13 %M14 %M15
%M18 %M16
%M30 %M31 %M32 %M34%M33
%M0 %M1 %M2 %M4%M3 %M5 %M6
%M7 %M8 %M17 %M18 %M19
%M10 %M11 %M12 %M13
%M15 %M16
%M5
%M6
%M17
%M20
%M35
%M30
243
Rendimiento
Ejemplo (continuación)
%M0 %M1
%M11 %M12 %M13 %M14
%M2 %M7
%M0 %M1 %M2 %M4%M3
%M20 %M21 %M22 %M23
%M29
%M26 %M27
%M3
%M4
%M17
%M10
%M40
%M5 %M6 %M7 %M8 %M10%M9
%M15 %M16
%M0 %M1 %M3 %M5 %M6 %M9
%M8 %M11
%M5 %M6 %M7 %M9%M8 %M10
%M28
%M24 %M25
%M4
%M42
%M41
R
R
244
Rendimiento
Ejemplo (continuación)
%M0
%M6
%M1 %M2 %M5
%M3 %M4
%M1
%M3
%M7
%M4 %M5
%M8 %M10 %M11 %M13
%M10
%M2
%M12%M9
%M6 %M7
%M8
%M11
%M9
245
Rendimiento
Ejemplo (continuación)
%M1 %M2
%M9
%M8
%M7
%M10 %M11 %M12 %M14%M13
%M10
%M21
%M6 %M13 %M7 %M11
%M0 %M1 %M2 %M8 %M9 %M20
%M22
%M6
S
%M12 %M5 %M14
%M3 %M4 %M15
%M4
%M5
%M3
P N
P
P
246
Rendimiento
Ejemplo (continuación)
%MW100:=%MW78+SHL[%MW3,4]OPERATE
%MW2[%MW100]:=%MW3+%MW50*1OPERATE
%MW100:=%MW18-%KW10OPERATE
%MW2:=%MW3+%MW5+%KW0/2OPERATE
%MW100:=%MW78+ABS[%MW3]OPERATE
%MW2[%MW100]:=%MW3+%MW50*1OPERATE
%MW14:=14OPERATE
%MW2:=%MW3*%MW5-%KW0OPERATE
DEC%MW190OPERATE
INC%MW10OPERATE
%MW3:=%MW5+1COMPARE
%MW3< =1000COMPARE
%MW3:=%MW5+1COMPARE
%MW3<>%MW4COMPARE
247
Rendimiento
Ejemplo (continuación)
%MW16:=1+%MW70+%MW71+%MW72OPERATE
%MW15:=15OPERATE
%MW14:=14OPERATE
%MW13:=%KW13+%MW2+%MW3-1OPERATE
%MW12:=%MW0*3+4OPERATE
%MW11:=%MW10+1OPERATE
%MW10[%MW0]:=%KW10[%MW0]+1OPERATE
%MW6:=%MW10/1024OPERATE
%MW5:=%KW0+5OPERATE
%MW4:=%KW0+4OPERATE
%TM0.P:%MW88+%MW89-1OPERATE
%MW2:=2OPERATE
%MW1:=1OPERATE
%MW0:=16#FFFFOPERATE
%MW1:=1OPERATE
%MW14:=14OPERATE
248
Rendimiento
Ejemplo (continuación)
(1):%MW0:=%MW1+%MW2+%MW3+%MW4+%MW5+%MW6+%MW7+%MW8+%MW9+%MW10+1
%MW26:=%MW0+%MW25+1OPERATE
%MW25:=%MW87/1024+22OPERATE
%MW24:=1OPERATE
%MW23:=0OPERATE
%MW22:=%MW0+3*%MW1-1OPERATE
%MW21:=ROL[%MW0.7]OPERATE
%MW20:=%SW10-1OPERATE
%MW0:=%MW1+%MW2+%MW3+%MW>>OPERATE
R C E
S D
CU F
CD
C.P.: 9999
MODIF: YS M R
MODO: TONTB: 1mn
MN.P: 9999MODIF: Y
IN TM QMODO: TONTB: 1mn
TM.P: 9999MODIF: Y
%M0
%MN0
%C0
%TM0
(1)
249
Rendimiento
Resumen
Número de instrucciones
%
Booleano sin flanco 187 54,05% 64,16%
Booleano con flanco 4 1,16%
Bloque de operación 31 8,96%
Bloque de función 3 0,87% 35,84%
Aritmética sencilla (+,-,:=,AND...) 111 32,08%
Aritmética indexada 4 1,16%
*, / 6 1,73%
Valores inmediatos 24
Total 346 100,00%
250
CBÍndice
CCEI1131-3, 60CloseDFB, 129CloseIOModule, 127CloseProgram, 125CloseStx, 96CompareSymbolPCAndSymbolPLCAppli, 134ConnectPLC, 102
DDisconnectPLC, 101DownloadDataToPLC, 104DownloadStationWithSymbol, 133DownloadToPLC, 106
EExportFefFileWithConfiguration, 100ExportFeFile, 99ExportScyFile, 98
FFunciones OLE, 93
GGetMessageError, 130GetPL7State, 115GetPLCAppIdentity, 117
GetServerVersion, 131GetSTXAppIdentity, 116GetSymbol, 112
IImportScyFile, 132
OOLE, 84OpenStx, 95OpenStxWithMaj, 97OpenTool, 121
SSaveStx, 103SendCommandToPLC, 119SetDownloadFunction, 114SetDriverAndAdresse, 120SetPosPL7Windows, 123SetServerIHM, 113ShowDFB, 128ShowIOModule, 126ShowProgram, 124
UUploadDataFromPLC, 108UploadFromPLC, 107UploadFromPLCWithSymbol, 110
251
Index
252