252
Manual de Referencia PL7 Micro/Junior/Pro Anexos 35009570_00 Marzo 2005 spa

PL7 - Anexos.pdf

Embed Size (px)

Citation preview

Page 1: PL7 - Anexos.pdf

Manual de Referencia

PL7 Micro/Junior/Pro

Anexos

35

0095

70_0

0

Marzo 2005spa

Page 2: PL7 - Anexos.pdf

2

Page 3: PL7 - Anexos.pdf

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

Page 4: PL7 - Anexos.pdf

Estructura de la documentación

4

Page 5: PL7 - Anexos.pdf

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

Page 6: PL7 - Anexos.pdf

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

Page 7: PL7 - Anexos.pdf

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

Page 8: PL7 - Anexos.pdf

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

Page 9: PL7 - Anexos.pdf

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

Page 10: PL7 - Anexos.pdf

Acerca de este libro

10

Page 11: PL7 - Anexos.pdf

1

Diferencias entre PL7-2/3 y PL7 Micro/Junior

Presentació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

Page 12: PL7 - Anexos.pdf

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

Page 13: PL7 - Anexos.pdf

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

Page 14: PL7 - Anexos.pdf

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

Page 15: PL7 - Anexos.pdf

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

Page 16: PL7 - Anexos.pdf

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

Page 17: PL7 - Anexos.pdf

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

Page 18: PL7 - Anexos.pdf

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

Page 19: PL7 - Anexos.pdf

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

Page 20: PL7 - Anexos.pdf

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

Page 21: PL7 - Anexos.pdf

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

Page 22: PL7 - Anexos.pdf

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

Page 23: PL7 - Anexos.pdf

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

Page 24: PL7 - Anexos.pdf

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

Page 25: PL7 - Anexos.pdf

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

Page 26: PL7 - Anexos.pdf

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

Page 27: PL7 - Anexos.pdf

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

Page 28: PL7 - Anexos.pdf

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

Page 29: PL7 - Anexos.pdf

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

Page 30: PL7 - Anexos.pdf

Diferencia PL7-2/3 y PL7 Micro/Junior

30

Page 31: PL7 - Anexos.pdf

2

Ayuda-memoria

Presentació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

Page 32: PL7 - Anexos.pdf

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

Page 33: PL7 - Anexos.pdf

Ayuda-memoria

Bloque de comparación vertical

-

MemoryPusHMemoryReaDMemoryPOP

MPS

MRD

MPP

Instrucciones booleanas

LD IL

COMPARE

>

=

<

<>

EN

33

Page 34: PL7 - Anexos.pdf

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

Page 35: PL7 - Anexos.pdf

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

Page 36: PL7 - Anexos.pdf

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

Page 37: PL7 - Anexos.pdf

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

Page 38: PL7 - Anexos.pdf

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

Page 39: PL7 - Anexos.pdf

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

Page 40: PL7 - Anexos.pdf

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

Page 41: PL7 - Anexos.pdf

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

Page 42: PL7 - Anexos.pdf

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

Page 43: PL7 - Anexos.pdf

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

Page 44: PL7 - Anexos.pdf

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

Page 45: PL7 - Anexos.pdf

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

Page 46: PL7 - Anexos.pdf

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

Page 47: PL7 - Anexos.pdf

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

Page 48: PL7 - Anexos.pdf

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

Page 49: PL7 - Anexos.pdf

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

Page 50: PL7 - Anexos.pdf

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

Page 51: PL7 - Anexos.pdf

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

Page 52: PL7 - Anexos.pdf

Ayuda-memoria

52

Page 53: PL7 - Anexos.pdf

3

Palabras reservadas

Palabras 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

Page 54: PL7 - Anexos.pdf

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

Page 55: PL7 - Anexos.pdf

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

Page 56: PL7 - Anexos.pdf

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

Page 57: PL7 - Anexos.pdf

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

Page 58: PL7 - Anexos.pdf

Palabras reservadas

Palabras con X, Y y otras

Lista de palabras reservadas

XXMXM_MONOXM_MULTIXORXORFXORNXORRXOR_ARX

YYES

*_TO_* * = LetraSRiAUXiEVTiXMi i = entero

58

Page 59: PL7 - Anexos.pdf

4

Conformidad con la norma CEI 1131-3

Presentació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

Page 60: PL7 - Anexos.pdf

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

Page 61: PL7 - Anexos.pdf

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

Page 62: PL7 - Anexos.pdf

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

Page 63: PL7 - Anexos.pdf

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

Page 64: PL7 - Anexos.pdf

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

Page 65: PL7 - Anexos.pdf

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

Page 66: PL7 - Anexos.pdf

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

Page 67: PL7 - Anexos.pdf

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

Page 68: PL7 - Anexos.pdf

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

Page 69: PL7 - Anexos.pdf

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

Page 70: PL7 - Anexos.pdf

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

Page 71: PL7 - Anexos.pdf

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

Page 72: PL7 - Anexos.pdf

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

Page 73: PL7 - Anexos.pdf

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

Page 74: PL7 - Anexos.pdf

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

Page 75: PL7 - Anexos.pdf

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

Page 76: PL7 - Anexos.pdf

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

Page 77: PL7 - Anexos.pdf

5

Servidor OLE Automation

Presentació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

Page 78: PL7 - Anexos.pdf

Servidor OLE Automation

78

Page 79: PL7 - Anexos.pdf

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

Page 80: PL7 - Anexos.pdf

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

Page 81: PL7 - Anexos.pdf

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

Page 82: PL7 - Anexos.pdf

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

Page 83: PL7 - Anexos.pdf

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

Page 84: PL7 - Anexos.pdf

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

Page 85: PL7 - Anexos.pdf

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

Page 86: PL7 - Anexos.pdf

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

Page 87: PL7 - Anexos.pdf

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

Page 88: PL7 - Anexos.pdf

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

Page 89: PL7 - Anexos.pdf

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

Page 90: PL7 - Anexos.pdf

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

Page 91: PL7 - Anexos.pdf

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

Page 92: PL7 - Anexos.pdf

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

Page 93: PL7 - Anexos.pdf

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

Page 94: PL7 - Anexos.pdf

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

Page 95: PL7 - Anexos.pdf

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

Page 96: PL7 - Anexos.pdf

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

Page 97: PL7 - Anexos.pdf

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

Page 98: PL7 - Anexos.pdf

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

Page 99: PL7 - Anexos.pdf

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

Page 100: PL7 - Anexos.pdf

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

Page 101: PL7 - Anexos.pdf

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

Page 102: PL7 - Anexos.pdf

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

Page 103: PL7 - Anexos.pdf

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

Page 104: PL7 - Anexos.pdf

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

Page 105: PL7 - Anexos.pdf

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

Page 106: PL7 - Anexos.pdf

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

Page 107: PL7 - Anexos.pdf

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

Page 108: PL7 - Anexos.pdf

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

Page 109: PL7 - Anexos.pdf

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

Page 110: PL7 - Anexos.pdf

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

Page 111: PL7 - Anexos.pdf

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

Page 112: PL7 - Anexos.pdf

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

Page 113: PL7 - Anexos.pdf

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

Page 114: PL7 - Anexos.pdf

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

Page 115: PL7 - Anexos.pdf

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

Page 116: PL7 - Anexos.pdf

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

Page 117: PL7 - Anexos.pdf

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

Page 118: PL7 - Anexos.pdf

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

Page 119: PL7 - Anexos.pdf

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

Page 120: PL7 - Anexos.pdf

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

Page 121: PL7 - Anexos.pdf

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

Page 122: PL7 - Anexos.pdf

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

Page 123: PL7 - Anexos.pdf

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

Page 124: PL7 - Anexos.pdf

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

Page 125: PL7 - Anexos.pdf

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

Page 126: PL7 - Anexos.pdf

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

Page 127: PL7 - Anexos.pdf

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

Page 128: PL7 - Anexos.pdf

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

Page 129: PL7 - Anexos.pdf

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

Page 130: PL7 - Anexos.pdf

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

Page 131: PL7 - Anexos.pdf

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

Page 132: PL7 - Anexos.pdf

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

Page 133: PL7 - Anexos.pdf

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

Page 134: PL7 - Anexos.pdf

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

Page 135: PL7 - Anexos.pdf

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

Page 136: PL7 - Anexos.pdf

Servidor OLE Automation

136

Page 137: PL7 - Anexos.pdf

6

Rendimiento

Presentació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

Page 138: PL7 - Anexos.pdf

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

Page 139: PL7 - Anexos.pdf

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

Page 140: PL7 - Anexos.pdf

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

Page 141: PL7 - Anexos.pdf

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

Page 142: PL7 - Anexos.pdf

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

Page 143: PL7 - Anexos.pdf

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

Page 144: PL7 - Anexos.pdf

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

Page 145: PL7 - Anexos.pdf

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

Page 146: PL7 - Anexos.pdf

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

Page 147: PL7 - Anexos.pdf

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

Page 148: PL7 - Anexos.pdf

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

Page 149: PL7 - Anexos.pdf

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

Page 150: PL7 - Anexos.pdf

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

Page 151: PL7 - Anexos.pdf

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

Page 152: PL7 - Anexos.pdf

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

Page 153: PL7 - Anexos.pdf

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

Page 154: PL7 - Anexos.pdf

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

Page 155: PL7 - Anexos.pdf

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

Page 156: PL7 - Anexos.pdf

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

Page 157: PL7 - Anexos.pdf

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

Page 158: PL7 - Anexos.pdf

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

Page 159: PL7 - Anexos.pdf

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

Page 160: PL7 - Anexos.pdf

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

Page 161: PL7 - Anexos.pdf

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

Page 162: PL7 - Anexos.pdf

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

Page 163: PL7 - Anexos.pdf

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

Page 164: PL7 - Anexos.pdf

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

Page 165: PL7 - Anexos.pdf

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

Page 166: PL7 - Anexos.pdf

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

Page 167: PL7 - Anexos.pdf

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

Page 168: PL7 - Anexos.pdf

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

Page 169: PL7 - Anexos.pdf

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

Page 170: PL7 - Anexos.pdf

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

Page 171: PL7 - Anexos.pdf

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

Page 172: PL7 - Anexos.pdf

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

Page 173: PL7 - Anexos.pdf

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

Page 174: PL7 - Anexos.pdf

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

Page 175: PL7 - Anexos.pdf

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

Page 176: PL7 - Anexos.pdf

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

Page 177: PL7 - Anexos.pdf

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

Page 178: PL7 - Anexos.pdf

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

Page 179: PL7 - Anexos.pdf

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

Page 180: PL7 - Anexos.pdf

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

Page 181: PL7 - Anexos.pdf

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

Page 182: PL7 - Anexos.pdf

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

Page 183: PL7 - Anexos.pdf

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

Page 184: PL7 - Anexos.pdf

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

Page 185: PL7 - Anexos.pdf

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

Page 186: PL7 - Anexos.pdf

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

Page 187: PL7 - Anexos.pdf

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

Page 188: PL7 - Anexos.pdf

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

Page 189: PL7 - Anexos.pdf

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

Page 190: PL7 - Anexos.pdf

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

Page 191: PL7 - Anexos.pdf

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

Page 192: PL7 - Anexos.pdf

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

Page 193: PL7 - Anexos.pdf

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

Page 194: PL7 - Anexos.pdf

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

Page 195: PL7 - Anexos.pdf

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

Page 196: PL7 - Anexos.pdf

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

Page 197: PL7 - Anexos.pdf

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

Page 198: PL7 - Anexos.pdf

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

Page 199: PL7 - Anexos.pdf

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

Page 200: PL7 - Anexos.pdf

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

Page 201: PL7 - Anexos.pdf

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

Page 202: PL7 - Anexos.pdf

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

Page 203: PL7 - Anexos.pdf

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

Page 204: PL7 - Anexos.pdf

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

Page 205: PL7 - Anexos.pdf

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

Page 206: PL7 - Anexos.pdf

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

Page 207: PL7 - Anexos.pdf

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

Page 208: PL7 - Anexos.pdf

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

Page 209: PL7 - Anexos.pdf

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

Page 210: PL7 - Anexos.pdf

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

Page 211: PL7 - Anexos.pdf

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

Page 212: PL7 - Anexos.pdf

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

Page 213: PL7 - Anexos.pdf

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

Page 214: PL7 - Anexos.pdf

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

Page 215: PL7 - Anexos.pdf

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

Page 216: PL7 - Anexos.pdf

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

Page 217: PL7 - Anexos.pdf

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

Page 218: PL7 - Anexos.pdf

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

Page 219: PL7 - Anexos.pdf

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

Page 220: PL7 - Anexos.pdf

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

Page 221: PL7 - Anexos.pdf

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

Page 222: PL7 - Anexos.pdf

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

Page 223: PL7 - Anexos.pdf

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

Page 224: PL7 - Anexos.pdf

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

Page 225: PL7 - Anexos.pdf

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

Page 226: PL7 - Anexos.pdf

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

Page 227: PL7 - Anexos.pdf

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

Page 228: PL7 - Anexos.pdf

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

Page 229: PL7 - Anexos.pdf

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

Page 230: PL7 - Anexos.pdf

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

Page 231: PL7 - Anexos.pdf

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

Page 232: PL7 - Anexos.pdf

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

Page 233: PL7 - Anexos.pdf

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

Page 234: PL7 - Anexos.pdf

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

Page 235: PL7 - Anexos.pdf

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

Page 236: PL7 - Anexos.pdf

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

Page 237: PL7 - Anexos.pdf

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

Page 238: PL7 - Anexos.pdf

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

Page 239: PL7 - Anexos.pdf

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

Page 240: PL7 - Anexos.pdf

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

Page 241: PL7 - Anexos.pdf

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

Page 242: PL7 - Anexos.pdf

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

Page 243: PL7 - Anexos.pdf

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

Page 244: PL7 - Anexos.pdf

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

Page 245: PL7 - Anexos.pdf

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

Page 246: PL7 - Anexos.pdf

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

Page 247: PL7 - Anexos.pdf

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

Page 248: PL7 - Anexos.pdf

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

Page 249: PL7 - Anexos.pdf

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

Page 250: PL7 - Anexos.pdf

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

Page 251: PL7 - Anexos.pdf

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

Page 252: PL7 - Anexos.pdf

Index

252