Anuncio
Manual de Referencia
PL7 Micro/Junior/Pro
Anexos
07/2008 spa www.schneider-electric.com
2
Estructura de la documentación
Estructura de la documentación
Presentación Este manual se compone de tres tomos: z z z
Tomo 1: Descripción del programa PL7 z z
Generalidades
Lenguaje de contactos z z z
Lenguaje de la lista de instrucciones
Lenguaje del literal estructurado
Lenguaje Grafcet
Bloques de función DFB z z Módulos Funcionales
Tomo 2: Descripción detallada de las instrucciones y de las funciones z z
Instrucciones de base
Instrucciones avanzadas z Objetos bit y palabras del sistema
Tomo 3: Anexos z z z z z z
Diferencias entre PL7-2/3 y PL7-Micro/Junior
Ayuda-memoria
Lista de las palabras reservadas
Normas CEI 1131-3
Servidor OLE Automation
Rendimiento
35013159.01 07/2008
3
Estructura de la documentación
4
35013159.01 07/2008
Tabla de materias
Acerca de este libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Capítulo 1
Diferencias entre PL7-2/3 y PL7 Micro/Junior . . . . . . . . . . . . . 11
Capítulo 2
Ayuda-memoria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
35013159.01 07/2008
5
6
Capítulo 3
Palabras reservadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Capítulo 4
Conformidad con la norma CEI 1131-3 . . . . . . . . . . . . . . . . . . 59
Parámetros que dependen de la implementación . . . . . . . . . . . . . . . . . . . . . . . . 72
Capítulo 5
Servidor OLE Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.1
Modos de funcionamiento del servidor OLE Automation. . . . . . . . . . . . . . . . . . . 81
5.2
Mecanismo de acceso al servidor PL7 OLE Automation. . . . . . . . . . . . . . . . . . . 84
Inicio del servidor en modo local (modo COM) . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Inicio del servidor en modo remoto (DCOM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Puesta en funcionamiento del servidor de forma remota . . . . . . . . . . . . . . . . . . 87
5.3
35013159.01 07/2008
CompareSymbolPCAndSymbolPLCAppli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Capítulo 6
Rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
6.1
6.2
Rendimiento de las instrucciones en autómatas Micro . . . . . . . . . . . . . . . . . . . 140
Rendimiento de las instrucciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Instrucciones sobre el programa y estructuras de control. . . . . . . . . . . . . . . . . 151
Instrucción sobre tablas de palabras, palabras dobles y flotantes . . . . . . . . . . 157
Instrucciones sobre cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Funciones específicas y funciones Orphée. . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
6.3
Rendimiento de las instrucciones en autómatas Premium . . . . . . . . . . . . . . . . 173
Rendimiento de las instrucciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Instrucciones sobre el programa y estructuras de control. . . . . . . . . . . . . . . . . 188
35013159.01 07/2008
7
8
Instrucción sobre tablas de palabras, palabras dobles y flotantes . . . . . . . . . . 194
Instrucciones sobre cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Funciones específicas y funciones Orphée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
6.4
Resumen del consumo de memoria de los módulos en Micro . . . . . . . . . . . . . 221
Resumen del consumo de memoria de los módulos en Premium. . . . . . . . . . . 224
Tamaño de la memoria de las funciones avanzadas. . . . . . . . . . . . . . . . . . . . . 231
Método de cálculo del número de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . 245
Índice
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
35013159.01 07/2008
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.
Campo de aplicación
La actualización de esta publicación toma en cuenta las funcionalidades de
PL7 V4.5. Sin embargo, también permite poner en marcha las versiones anteriores de PL7.
Comentarios del usuario
Envíe sus comentarios a la dirección electrónica [email protected]
35013159.01 07/2008
9
Acerca de este libro
10
35013159.01 07/2008
Diferencias entre PL7-2/3 y
PL7 Micro/Junior
1
Presentación
Contenido
Contenido
Este capítulo describe las diferencias de los objetos e instrucciones entre los programas PL7-2/PL7-3 y PL7 Micro/PL7 Junior
Este capítulo contiene los siguiente apartados:
Apartado
Valores inmediatos y etiquetas
Bits
Palabras
Bloques de función
Tablas de bits y de palabras
Bloques de función opcionales
Instrucciones
Delimitadores
Página
35013159.01 07/2008
11
Diferencia PL7-2/3 y PL7 Micro/Junior
Valores inmediatos y etiquetas
Valores inmediatos
Objetos
Entero base 10
Entero base 2
Entero base 16
Flotante
Cadena de caracteres
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
PL7-2/3
1234
L’10011110’
H’ABCD’
-1.32e12
(PL7-3)
M’aAbBcC’
PL7 Micro/Junior
1234
2#10011110
16#ABCD
-1.32e12
‘aAbBcC’
Etiquetas
Objetos
Etiqueta
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
PL7-2/3
Li i = 0 a 999
PL7 Micro/Junior
%Li i = 0 a 999
12
35013159.01 07/2008
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
Objetos
Bit de entrada en rack
Bit de entrada en rack indexado
Bit de entrada remota
Bit de entrada remota indexado
PL7-2/3
Ixy,i
Ixy,i(Wj) (PL7-3)
RIx,y,i (PL7-3)
RIx,y,i(Wj) (PL7-3)
PL7 Micro/Junior
%Ixy.i
%Ixy.i[%MWj]
%I\ruta\mod.vía
-
Bits de salida en rack
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Bit de salida en rack
Bit de salida en rack indexado
Bit de salida remota
Bit de salida remota indexado
PL7-2/3
Oxy,i
Oxy,i(Wj) (PL7-3)
ROx,y,i (PL7-3)
ROx,y,i(Wj) (PL7-3)
PL7 Micro/Junior
%Qxy.i
%Qxy.i[%MWj]
%Q\ruta\mod.vía
-
Bits de fallo de
E/S en rack
Objetos
Bit de fallo de módulo
Bit de vía
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
PL7-2/3
Ixy,S / Oxy,S
-
PL7 Micro/Junior
%Ixy.MOD.ERR
%Ixy.i.ERR
Bits de fallo de
E/S remotas
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos
Bit de fallo de módulo
Bit de vía
Bit de disyunción de vía de salida
Bit de reactivación de vía de salida
PL7-3 (únicamente)
-
RDx,y,i/ERRORx,y,i
TRIPx,y,i
RSTx,y,i
PL7 Micro/Junior
%I\ruta\mod.MOD.ERR
%I\ruta\mod.vía.ERR
-
-
35013159.01 07/2008
13
Diferencia PL7-2/3 y PL7 Micro/Junior
Bits internos y bits de sistema
Objetos
Bit interno
Bit interno indexado
Bit de sistema
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
PL7-2/3
Bi
Bi(Wj) (PL7-3)
SYi
PL7 Micro/Junior
%Mi
%Mi[%MWj]
%Si
Bits de etapas Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Bits de etapa
Bit de macroetapa
Bit de etapa i de macroetapa j
PL7-2/3
Xi
XMj (PL7-3)
Xj,i (PL7-3)
Bit de etapa de entrada de macroetapa j Xj,I (PL7-3)
Bit de etapa de salida de macroetapa j Xj,O (PL7-3)
PL7 Micro/Junior
%Xi
%XMj
%Xj.i
%Xj.IN
%Xj.OUT
Bits de palabras Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Bit j de la palabra interna i
Bit j de la palabra interna i indexada
Bit j de la palabra constante i
Bit j de la palabra constante i indexada
PL7-2/3
Wi,j
Wi(Wk),j
CWi,j
(PL7-3)
CWi(Wk),j (PL7-3)
Bit j del registro i
Bit j de la palabra de sistema i
IW/OWxy,i,j
Bit k da la palabra común j de la estación i COMi,j,k
COMXi,j,k (X = B, C, D)
SWi,j
PL7 Micro/Junior
%MWi:Xj
%MWi[%MWk]:Xj
%KWi:Xj
%KWi[%MWk]:Xj
%IW/%QWxy.i:Xj
%NWi.j:Xk
%NXWi.j:Xk
%SWi:Xj
14
35013159.01 07/2008
Diferencia PL7-2/3 y PL7 Micro/Junior
Palabras
Palabras internas
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Palabra interna de longitud simple
Palabra interna de longitud simple indexada
Palabra interna de longitud doble
Palabra interna de longitud doble indexada
Palabra interna real
Palabra interna real indexada
-
-
PL7-2/3
Wi
Wi(Wj) (PL7-3)
DWi (PL7-3)
DWi(Wj) (PL7-3)
PL7 Micro/Junior
%MWi
%MWi[%MWj]
%MDi
%MDi[%MWj]
%MFi
%MFi[%MWj]
Palabras constantes
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos PL7-2/3
Palabra constante de longitud simple CWi
Palabra constante de longitud simple indexada
Palabra constante de longitud doble
Palabra constante de longitud doble indexada
Palabra constante real
Palabra constante real indexada
CWi(Wj)
CDWi
-
-
(PL7-3)
CDWi(Wj) (PL7-3)
PL7 Micro/Junior
%KWi
%KWi[%MWj]
%KDi
%KDi[%MWj]
%KFi
%KFi[%MWj ]
35013159.01 07/2008
15
Diferencia PL7-2/3 y PL7 Micro/Junior
Palabras de registro
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Palabra de registro de entrada de longitud simple
Palabra de registro de entrada de longitud doble
Palabra de registro de salida de longitud simple
Palabra de registro de salida de longitud doble
Palabra de registro de una entrada remota
Palabra de registro de una salida remota
PL7-2/3
IWxy,i
-
OWxy,i
-
RIWx,y,i (PL7-3)
ROWx,y,i (PL7-3)
PL7 Micro/Junior
%IWxy.i
%IDxy.i
%QWxy.i
%QDxy.i
%IW\ruta\mod.vía
%QW\ruta\mod.vía
Otras palabras Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos PL7-3 (únicamente) PL7 Micro/Junior
Palabra de sistema
Palabra común j de la estación
SWi %SWi
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
Palabra de estado de una vía de un módulo TON remoto
STATUSAx,y,i (PL7-3)
STATUSBx,y,i (PL7-3)
STSx,y,i (PL7-3) %IW\ruta\mod.vía.ERR
16
35013159.01 07/2008
Diferencia PL7-2/3 y PL7 Micro/Junior
Bloques de función
Temporizador Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Variable
Valor de preselección (palabra)
Valor actual (palabra)
Temporizador en curso (bit)
Temporizador transcurrido (bit)
PL7-2/3
Ti
TI,P
Ti,V
Ti,R
Ti,D
PL7 Micro/Junior
%Ti
%Ti.P
%Ti.V
%Ti.R
%Ti.D
Monoestable Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Variable
Valor de preselección (palabra)
Valor actual (palabra)
Monoestable en curso (bit)
PL7-2/3
Mi
Mi,P
Mi,V
Mi,R
PL7 Micro/Junior
%MNi
%MNi.P
%MNi.V
%MNi.R
Contador/
Descontador
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Variable
Valor de preselección (palabra)
Valor actual (palabra)
Rebasamiento de contaje (bit)
Preselección alcanzada (bit)
Rebasamiento de descontaje (bit)
PL7-2/3
Ci
Ci,P
Ci,V
Ci,E
Ci,D
Ci,F
PL7 Micro/Junior
%Ci
%Ci.P
%Ci.V
%Ci.E
%Ci.D
%Ci.F
35013159.01 07/2008
17
Diferencia PL7-2/3 y PL7 Micro/Junior
Registro Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Variable
Palabra de entrada (palabra)
Palabra de salida (palabra)
Registro completo (bit)
Registro vacío (bit)
PL7-2/3
Ri
Ri,I
Ri,O
Ri,F
Ri,E
PL7 Micro/Junior
%Ri
%Ri.I
%Ri.O
%Ri.F
%Ri.E
Bloque de texto
Objetos
Variable
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
PL7-2/3
TXTi
PL7 Micro/Junior
Sin bloques de texto
Programador cíclico
Tabla de diferencias entre PL7-2 y PL7-Micro/Junior
Objetos
Variable
Número del paso activo (palabra)
Tiempo de actividad del paso actual
(palabra)
16 bits de órdenes (palabra)
Último paso en curso (bit)
PL7-2
Di (PL7-2)
Di,S
Di,V
Di,Wj
Di,F
PL7 Micro/Junior
%DRi
%DRi.S
%DRi.V
%DRi.Wj
%DRi.F
Contador/
Temporizador rápido
Tabla de diferencias entre PL7-2 y PL7-Micro/Junior
Objetos
Variable
Valor de preselección (palabra)
Valor actual (palabra)
Puesta a 0 externa (bit)
Preselección alcanzada (bit)
Contaje en curso (bit)
PL7-2
FC (PL7-2)
FC,P
FC,V
FC,E
FC,D
FC,F
-
-
-
-
-
PL7 Micro/Junior
-
18
35013159.01 07/2008
Diferencia PL7-2/3 y PL7 Micro/Junior
Reloj-calendario Tabla de diferencias entre PL7-2 y PL7-Micro/Junior
Objetos
Variable
Tipo "WEEK" o "YEAR" selección de días LMMJVSD (palabra)
Consigna de inicio (palabra)
Consigna de final (palabra)
Valor actual < consigna (bit)
Valor actual = consigna (bit)
Valor actual > consigna (bit)
<
=
>
PL7-2
H (PL7-2)
VD
BGN
END
-
-
-
-
-
-
PL7 Micro/Junior
-
35013159.01 07/2008
19
Diferencia PL7-2/3 y PL7 Micro/Junior
Tablas de bits y de palabras
Cadenas de bits Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Cadena de bits internos
Cadena de bits de entrada
Cadena de bits de salida
Cadena de bits de etapa Grafcet
Cadena de bits de macroetapa
PL7-2/3
Bi[L]
Ixy,i[L] (PL7-3)
Oxy.i[L] (PL7-3)
Xi[L] (PL7-3)
XMi[L] (PL7-3)
PL7 Micro/Junior
%Mi:L
%Ixy.i:L
%Qxy.i:L
%Xi:L
-
Cadenas de caracteres
Objetos
Cadena
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
PL7-2/3
-
PL7 Micro/Junior
%MBi:L (con i par)
20
35013159.01 07/2008
Diferencia PL7-2/3 y PL7 Micro/Junior
Tablas de palabras
Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Tabla de palabras internas
Tabla de palabras internas indexadas
Tabla de palabras dobles internas
Tabla de palabras dobles internas indexadas
Tabla de palabras constantes
Tabla de palabras constantes indexadas
Tabla de palabras dobles constantes
Tabla de palabras dobles constantes indexadas
Tabla de reales
Tabla de reales indexados
Tabla de reales constantes
Tabla de reales constantes indexados
Tabla de elementos de entrada remota
Tabla de elementos de salida remota
Tabla de elementos indexados de entrada remota
Tabla de elementos indexados de salida remota
PL7-2/3
Wi[L]
Wi(Wj)[L]
DWi[L] (PL7-3)
DWi(Wj)[L] (PL7-3)
CWi[L]
PL7 Micro/Junior
%MWi:L
%MWi[%MWj]:L
%MDi:L
%MDi[%MWj]:L
%KWi:L
CWi(Wj)[L] %KWi[%MWj]:L
-
-
CDWi[L] (PL7-3)
CDWi(Wj)[L] (PL7-3)
%KDi:L
%KDi[%MWj]:L
%MFi:L
%MFi[%MWj]:L
-
-
RIx,y,i[L]
ROx,y,i[L]
(PL7-3)
(PL7-3)
%KFi:L
%KFi[%MWj]:L
RIx,y,i(Wj)[L] (PL7-3) -
ROx,y,i(Wj)[L] (PL7-3) -
-
-
35013159.01 07/2008
21
Diferencia PL7-2/3 y PL7 Micro/Junior
Bloques de función opcionales
OFB Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos
Variable
Elemento de OFB
Elemento de OFB indexado
PL7-3 (únicamente)
< OFB >i
< OFB >i
< OFB >i
, <elemento>
, <elemento> (Wj)
Tabla de elementos de OFB < OFB >i , <elemento> [L]
Tabla de elementos de OFB indexados < OFB >i , <elemento> (Wj)[L]
PL7 Micro/Junior
-
-
-
-
-
22
35013159.01 07/2008
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones
Instrucciones sobre bits
Objetos
Inversión lógica
ET
O
O exclusivo
Flanco ascendente
Flanco descendente
Puesta a 1
Puesta a 0
Tabla de diferencias entre PL7-2, PL7-3 y PL7-Micro/Junior
PL7-2
-
AND
OR
XOR
-
-
-
-
PL7-3
NOT
*
+
-
RE
FE
SET
RESET
PL7 Micro/Junior
NOT
AND
OR
XOR
RE
FE
SET
RESET
35013159.01 07/2008
23
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones de palabras y palabras dobles
Tabla de diferencias entre PL7-2, PL7-3 y PL7-Micro/Junior
Objetos
Suma
Resta
Multiplicación
División
Comparación
Resto de una división
Raíz cuadrada
Valor absoluto
Y lógico
O lógico
O lógico exclusivo
PL7-2
+
-
*
/
>,>=,<,<=,=,<>
MOD
-
-
AND
OR
XOR
Complemento lógico
Incremento
Decremento
CPL
-
-
Desplazamiento lógico a la izquierda -
Desplazamiento lógico a la derecha -
Desplazamiento circular a la izquierda SLC
Desplazamiento circular a la derecha SRC
AND
OR
XOR
CPL
INC
DEC
SHL
SHR
SLC
SRC
-
*
PL7-3
+
/
>,>=,<,<=,=,<>
REM
SQRT
ABS
AND
OR
XOR
CPL
INC
DEC
SHL
-
*
PL7 Micro/Junior
+
/
>,>=,<,<=,=,<>
REM
SQRT
SHR
ROL
ROR
24
35013159.01 07/2008
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones de tipo flotante
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos
Suma
Resta
Multiplicación
División
Raíz cuadrada
Valor absoluto
Prueba de igualdad
Prueba de superioridad estricta
Prueba de inferioridad estricta
Otras pruebas
PL7-3
ADDF
SUBF
MULF
DIVF
SQRTF
-
EQUF
SUPF
INFF
-
-
*
PL7 Micro/Junior
+
/
SQRT
ABS
=
>
<
>=, <=, <>
Instrucción de cadenas de bytes
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos
Desplazamiento circular
PL7-3
SLCWORD
PL7 Micro/Junior
-
35013159.01 07/2008
25
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones de conversión
Tabla de diferencias entre PL7-2, PL7-3 y PL7-Micro/Junior
Objetos
Conversión BCD binario
Conversión binario BCD
Conversión ASCII binario
PL7-2
BCD
BIN
ATB
PL7-3
DTB
BTD
ATB
Conversión binario ASCII
Conversión Gray binario
Conversión flotante entero
Conversión entero flotante
Conversión BCD Flotante
Conversión flotante BCD
Conversión flotante ASCII
Conversión ASCII flotante
BTA
-
-
-
-
-
-
-
BTA
GTB
FTB
FTF
DTF
FTD
ATF
FTA
PL7 Micro/Junior
BCD_TO_INT
INT_TO_BCD
STRING_TO_INT o
STRING_TO_DINT
INT_TO_STRING o
DINT_TO_STRING
GRAY_TO_INT
REAL_TO_INT o
REAL_TO_DINT
INT_TO_REAL o
DINT_TO_REAL
BCD_TO_REAL
REAL_TO_BCD
STRING_TO_REAL
REAL_TO_STRING
Instrucciones sobre tablas
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos PL7-3
Operaciones aritméticas
Operaciones lógicas
Suma de las palabras de una tabla
+,-,*,/,REM
AND, OR, XOR
+
Búsqueda de la 1ª palabra diferente EQUAL
Búsqueda de la 1ª palabra igual SEARCH
PL7 Micro/Junior
+,-,*,/,REM
AND, OR, XOR, NOT
SUM
EQUAL
FIND_EQU
26
35013159.01 07/2008
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones de programa
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos
Salto
Llamada de subprograma
Retorno de subprograma
Parada de la aplicación
Sentencia condicional
Sentencia iterativa
PL7-3
JUMP Li
-
RET
HALT
IF/THEN/ELSE
WHILE/DO
PL7 Micro/Junior
JUMP %Li
CALL SRi SRi
RETURN
HALT
IF/THEN/ELSE/END_IF
WHILE/DO/END_WHILE
Instrucciones de interrupciones
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos
Prueba
Enmascaramiento
Desenmascaramiento
PL7-3
READINT
MASKINT
DMASKINT
Confirmación ACKINT
Generación de una IT hacia el acoplador SETIT
PL7 Micro/Junior
-
MASKEVT
UNMASKEVT
-
-
Instrucciones de
E/S explícitas
Tabla de diferencias entre PL7-3 y PL7-Micro/Junior
Objetos
Lectura de las entradas TON
Escritura de las salidas TON
Lectura de los registros
Escritura de los registros
Lectura de palabras
Escritura de palabras
PL7-3
READBIT
WRITEBIT
READREG
WRITEREG
READEXT
WRITEEXT
-
-
-
PL7 Micro/Junior
-
-
-
35013159.01 07/2008
27
Diferencia PL7-2/3 y PL7 Micro/Junior
Instrucciones de bloques de función
Tabla de diferencias entre PL7-2, PL7-3 y PL7-Micro/Junior
Objetos
Preselección
Inicio
Activación de la tarea
Reset
PL7-3
PRESET Ti / Ci
START Ti / Mi
START CTRLi
PL7 Micro/Junior
PRESET %Ti / %Ci
START %Ti / %MNi
-
Desactivación de la tarea
Contaje
Descontaje
Almacenamiento en un registro
Vaciado de un registro
Recepción de un mensaje
RESET Ci / Ri / TXTi RESET %Ci / %Ri
RESET CTRLi
UP Ci
DOWN Ci
PUT Ri
GET Ri
Lectura de telegramas
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 >
READTLG
-
UP %Ci
DOWN %Ci
PUT %Ri
GET %Ri
-
-
-
-
-
28
35013159.01 07/2008
Diferencia PL7-2/3 y PL7 Micro/Junior
Delimitadores
Diferencias Tabla de diferencias entre PL7-2/3 y PL7-Micro/Junior
Objetos
Longitud de tabla
PL7-2/3
Asignación ->
Paréntesis izquierdo para la indexación (
Paréntesis derecho para la indexación )
[longitud]
[
]
PL7 Micro/Junior
:=
:longitud
35013159.01 07/2008
29
Diferencia PL7-2/3 y PL7 Micro/Junior
30
35013159.01 07/2008
Ayuda-memoria
2
Presentación
Contenido
Contenido
Este capítulo contiene una ayuda-memoria de las instrucciones del lenguaje PL7
Este capítulo contiene los siguiente apartados:
Apartado
Instrucciones booleanas
Instrucciones ST
Bloques de función LD e IL
Bloques de función ST
Estructuras de control ST
Aritmética entera (longitud simple y doble)
Aritmética en flotantes
Conversiones numéricas
Tablas de bits
Instrucciones sobre tablas
Instrucciones sobre tablas de flotantes
Instrucciones "Orphée"
Intercambios explícitos
Instrucciones de gestión del tiempo
Instrucciones de temporización
Instrucciones de archivado de datos
Instrucciones de cadenas de caracteres
Multitarea y sucesos
Comunicación
Página
35013159.01 07/2008
31
Ayuda-memoria
Instrucciones booleanas
32
35013159.01 07/2008
Ayuda-memoria
Memoria de ayuda
Memoria de ayuda rápida sobre las instrucciones booleanas
Instrucciones booleanas
Inicio de acumulador o red
LD IL
LD TRUE
Prueba (lectura) directa, inversa, flanco ascendente, flanco descendente
Y lógica
P N
LD, LDN
LDF, LDR
P
P
N
N
AND ANDN ANDR ANDF
AND( AND(N AND(R AND(F
Inversión -
O lógica exclusivo
(directo, inverso, flanco ascendente, flanco descendente)
-
Escritura (directa, inversa)
Puesta a 1
Puesta a 0
Bloque de operación
(contenido: véanse las páginas siguientes)
Bloque de comparación horizontal
(contenido: véanse las páginas siguientes)
S acción
OPERATE
COMPARE comparación
R
N
XOR XORN
XORR XORF
ST
STN
S
R
[acción]
LD [comparación]
AND [comparación]
AND( [comparación]
OR [comparación]
OR( [comparación]
XOR [comparación]
35013159.01 07/2008
33
Ayuda-memoria
Instrucciones booleanas
Bloque de comparación vertical
LD
MemoryPusH
MemoryReaD
MemoryPOP
COMPARE
EN
>
=
<
<>
IL
-
MPS
MRD
MPP
34
35013159.01 07/2008
Instrucciones ST
Ayuda-memoria Ayuda-memoria rápida de las instrucciones ST
Instrucciones ST
Asignación
O booleano
Y booleano
:=
OR
Puesta a 1, puesta a 0
AND
O exclusivo booleano
Inversión
XOR
NOT
Flanco ascendente, descendente RE, FE
SET, RESET
Ayuda-memoria
35013159.01 07/2008
35
Ayuda-memoria
Bloques de función LD e IL
Ayuda-memoria
Bloques de función
Temporizadores IEC
Ayuda-memoria rápida de los bloques de función LD e IL
LD
%TMi
IN Q
IL
IN
Estructura BLK..END_BLK
Temporizador PL-3 -
E
%Ti
C
D
R
Contador-descontador
R
%Ci
S
E
D
F CU
CD
R
S
CU
CD
Estructura BLK..END_BLK
Monoestable
S
%MNi
R
S
Estructura BLK..END_BLK
Registro
Programador cíclico
R
%Ri
I
O
F
E
R
%DRi
U
F
R
I
O
STN
Estructura BLK..END_BLK
R
U
Estructura BLK..END_BLK
36
35013159.01 07/2008
Bloques de función ST
Ayuda-memoria Ayuda-memoria rápida de los bloques de función ST
Bloques de función
Temporizador IEC
Temporizador PL-3
Contador-descontador
Monoestable
Registro
Programador cíclico
ST
START%TMi
DOWN%TMi
PRESET%Ti
START%Ti
STOP%Ti
RESET%Ci
PRESET%Ci
UP%Ci,DOWN%Ci
START%MNi
RESET%Ri
PUT%Ri
GET%Ri
RESET%DRi
UP%DRi
Ayuda-memoria
35013159.01 07/2008
37
Ayuda-memoria
Estructuras de control ST
Ayuda-memoria Ayuda-memoria rápida sobre las estructuras de control ST
Estructuras de control
Acción condicional
Acción iterativa condicional
Acción iterativa condicional
Acción repetitiva
Instrucción de salida de bucle
ST
IF...THEN...ELSIF...THEN..ELSE...END_IF;
WHILE...DO...END_WHILE;
REPEAT...UNTIL...END_REPEAT;
FOR...DO...END_FOR;
EXIT
38
35013159.01 07/2008
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)
Transferencia o inicialización
Comparaciones
Suma, resta, multiplicación, división, resto de la división
Y, O, O exclusivo, complemento
Valor absoluto, raíz cuadrada
Incremento
Decremento
Desplazamiento a la izquierda
Desplazamiento a la derecha
Desplazamiento circular a la izquierda
Desplazamiento circular a la derecha
LD/IL/ST
:=
= <> <= < > >=
+ - * / REM
AND OR XOR NOT
ABS, SQRT
INC
DEC
SHL
SHR
ROL
ROR
Ayuda-memoria
35013159.01 07/2008
39
Ayuda-memoria
Aritmética en flotantes
Ayuda-memoria Ayuda-memoria rápida de las instrucciones aritméticas en flotantes
Aritmética en flotantes
Transferencia o inicialización
Comparaciones
Suma, resta, multiplicación, división, parte entera
Valor absoluto, raíz cuadrada
Logaritmo, exponenciales
Seno, coseno, tangente
Arco seno, arco coseno, arco tangente
Conversión grados <--> radianes
LD/IL/ST
:=
= <> <= < > >=
+ - * / TRUNC
ABS, SQRT
LOG, LN, EXPT, EXP
SIN, COS, TAN
ASIN, ACOS, ATAN
DEG_TO_RAD, RAD_TO_DEG
40
35013159.01 07/2008
Ayuda-memoria
Conversiones numéricas
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de conversiones numéricas
Conversiones numéricas
Conversión BCD en entero de longitud simple
Conversión GRAY en entero de longitud simple
Conversión de entero de longitud simple en BCD
Conversión de entero de longitud simple en flotante
Conversión de entero de longitud doble en flotante
Conversión de flotante en entero de longitud simple
Conversión de flotante en entero de longitud doble
Conversión BCD de 32 bits en entero de 32 bits
Conversión de entero de 32 bits en BCD de 32 bits
Conversión BCD de 32 bits en entero de 16 bits
Conversión de entero de 16 bits en BCD de 32 bits
Extracción de una palabra de peso menos significativo de una palabra doble
Extracción de una palabra de peso más significativo de una palabra doble
Concatenación de 2 palabras simples
LD/IL/ST
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
35013159.01 07/2008
41
Ayuda-memoria
Tablas de bits
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de tablas de bits
Tablas de bits
Transferencia o inicialización
Copia de una tabla de bits a una tabla de bits
Y entre dos tablas
O entre dos tablas
O exclusivo entre dos tablas
Negación en una tabla
Copia de una tabla de bits a una tabla de palabras
Copia de una tabla de bits a una tabla de palabras dobles
Copia de una tabla de palabras en una tabla de bits
Copia de una tabla de palabras dobles en una tabla de bits
Cálculo de la longitud de una tabla
LD/IL/ST
:=
COPY_BIT
AND_ARX
OR_ARX
XOR_ARX
NOT_ARX
BIT_W
BIT_D
W_BIT
D_BIT
LENGTH_ARX
42
35013159.01 07/2008
Ayuda-memoria
Instrucciones sobre tablas
Ayuda-memoria Ayuda-memoria rápida de las instrucciones sobre tablas
Instrucciones sobre tablas
Transferencia o inicialización
Operaciones aritméticas entre tablas
Operaciones lógicas entre tablas
Operaciones aritméticas entre una tabla y un entero
Operaciones lógicas entre una tabla y un entero
Complemento de los elementos de una tabla
Suma de todos los elementos de una tabla
Comparación de dos tablas
Búsqueda del 1er elemento de una tabla igual a un valor
Búsqueda del 1er elemento de una tabla igual a un valor desde un rango
Búsqueda del 1er elemento de una tabla superior a un valor
Búsqueda del 1er elemento de una tabla inferior a un valor
Búsqueda del valor más alto en una tabla
Búsqueda del valor más pequeño en una tabla
Número de ocurrencias de un valor en una tabla
Desplazamiento circular a la izquierda de una tabla
Desplazamiento circular a la derecha de una tabla
Clasificación de una tabla (ascendente o descendente)
Cálculo de la longitud de una tabla
LD/IL/ST
:=
+ - * / REM
AND OR XOR
+ - * / REM
AND OR XOR
NOT
SUM
EQUAL
FIND_EQW, FIND_EQD
FIND_EQWP, FIND_EQDP
FIND_GTW, FIND_GTD
FIND_LTW, FIND_LTD
MAX_ARW, MAX_ARD
MIN_ARW, MIN_ARD
OCCUR_ARW, OCCUR_ARD
ROL_ARW, ROL_ARD
ROR_ARW, ROL_ARW
SORT_ARW, SORT_ARD
LENGTH_ARW, LENGTH_ARD
35013159.01 07/2008
43
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
Transferencia e inicialización
Suma de todos los elementos de una tabla
Comparación de dos tablas
Búsqueda del 1er elemento de una tabla igual a un valor
Búsqueda del 1er elemento de una tabla superior a un valor
Búsqueda del 1er elemento de una tabla inferior a un valor
Búsqueda del valor más alto en una tabla
Búsqueda del valor más pequeño en una tabla
Número de ocurrencias de un valor en una tabla
Desplazamiento circular a la izquierda de una tabla
Desplazamiento circular a la derecha de una tabla
Clasificación de una tabla (ascendente o descendente)
Cálculo de la longitud de una tabla
LD/IL/ST
:=
SUM_ARR
EQUAL_ARR
FIND_EQR
FIND_GTR
FIND_LTR
MAX_ARR
MIN_ARR
OCCUR_ARR
ROL_ARR
ROR_ARR
SORT_ARR
LENGHT_ARR
44
35013159.01 07/2008
Ayuda-memoria
Instrucciones "Orphée"
Ayuda-memoria Ayuda-memoria rápida de las instrucciones "Orphée"
Instrucciones "Orphée"
Desplazamiento a la izquierda en una palabra con recuperación de los bits desplazados
Desplazamiento hacia la derecha en una palabra con extensión de signo y recuperación de los bits desplazados
Desplazamiento hacia la derecha en una palabra con relleno mediante 0 y recuperación de los bits desplazados
Contaje/descontaje con señalización de rebasamiento
Desplazamiento circular izquierdo
Desplazamiento circular derecho
LD/IL/ST
WSHL_RBIT, DSHL_RBIT
WSHR_RBIT, DSHR_RBIT
WSHRZ_C, DSHRZ_C
SCOUNT
ROLW, ROLD
RORW, RORD
35013159.01 07/2008
45
Ayuda-memoria
Intercambios explícitos
Ayuda-memoria Ayuda-memoria rápida de los intercambios explícitos
Intercambios explícitos
Lectura de los parámetros %M de una vía lógica
Lectura de los %M de estado de una vía lógica
Restitución de los parámetros %M de una vía lógica
Guardado de los parámetros %M de una vía lógica
Escritura de los %M de comando de una vía lógica
Escritura de los parámetros %M de una vía lógica
LD/IL/ST
READ_PARAM
READ_STS
RESTORE_PARAM
SAVE_PARAM
WRITE_CMD
WRITE_PARAM
46
35013159.01 07/2008
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
Reloj-calendario
Comparaciones
Transferencia
Lectura de la fecha y del código de la última parada del autómata
Lectura de la fecha del sistema
Actualización de la fecha del sistema
Suma de una duración a una fecha completa
Suma de una duración a una hora del día
Conversión de una fecha en cadena
Día de la semana
Diferencia entre dos fechas
Diferencia entre dos fechas completas
Diferencia entre dos horas del día
Conversión de una fecha completa en cadena
Resta de una duración a una fecha completa
Resta de una duración a una hora del día
Conversión de una duración en cadena
Conversión de una hora del día en cadena
Puesta de una duración en formato horas-mn-seg
LD/IL/ST
SCHEDULE
= <> <= < > >=
:=
PTC
RRTC
WRTC
ADD_DT
ADD_TOD
DATE_TO_STRING
DAY_OF_WEEK
DELTA_D
DELTA_DT
DELTA_TOD
DT_TO_STRING
SUB_DT
SUB_TOD
TIME_TO_STRING
TOD_TO_STRING
TRANS_TIME
35013159.01 07/2008
47
Ayuda-memoria
Instrucciones de temporización
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de temporización
Instrucciones de temporización
Temporización en la desconexión
Temporización en la desconexión
Temporización de impulso
Generador de señales rectangulares
LD/IL/ST
FTON
FTOF
FTP
FPULSOR
48
35013159.01 07/2008
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
Inicialización de zona de archivado en tarjeta PCMCIA
Escritura de datos en tarjeta PCMCIA
Lectura de datos en tarjeta PCMCIA
Inicialización de zona de archivado en tarjeta DATA Archiving
Escritura de datos en tarjeta DATA Archiving
Lectura de datos en tarjeta DATA Archiving
LD/IL/ST
SET_PCMCIA
WRITE_PCMCIA
READ_PCMCIA
SET_PCM_EXT
WRITE_PCM_EXT
READ_PCM_EXT
35013159.01 07/2008
49
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
Comparaciones
Transferencia
Conversión de un entero doble en cadena
Conversión de un entero simple en cadena
Conversión de una cadena en entero doble
Conversión de una cadena en entero simple
Conversión de una cadena en flotante
Conversión de un flotante en cadena
Concatenación de dos cadenas
Eliminación de una subcadena
Búsqueda del primer carácter diferente
Búsqueda de una subcadena
Inserción de una subcadena
Extracción de la parte izquierda de una cadena
Longitud de una cadena
Extracción de una subcadena
Sustitución de una subcadena
Extracción de la parte derecha de una cadena
LD/IL/ST
= <> <= < > >=
:=
DINT_TO_STRING
INT_TO_STRING
STRING_TO_DINT
STRING_TO_INT
STRING_TO_REAL
REAL_TO_STRING
CONCAT
DELETE
EQUAL_STR
FIND
INSERT
LEFT
LEN
MID
REPLACE
RIGHT
50
35013159.01 07/2008
Ayuda-memoria
Multitarea y sucesos
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de multitarea y sucesos
Multitarea y sucesos
Activación / desactivación de una tarea
Ajustar el tiempo de ciclo de una tarea
Enmascaramiento global de sucesos
Desenmascaramiento global de sucesos
LD/IL/ST posicionamiento %Si posicionamiento %SWi
MASKEVT
UNMASKEVT
35013159.01 07/2008
51
Ayuda-memoria
Comunicación
Ayuda-memoria Ayuda-memoria rápida de las instrucciones de comunicación
Comunicación
Petición de parada de una función en curso
Emisión o recepción de datos
Petición de lectura de una cadena de caracteres
Emisión y/o petición de recepción de una cadena de caracteres
Emisión de una cadena de caracteres
Recepción de un telegrama
Lectura de objetos de lenguaje de base
Emisión/recepción de peticiones UNI-TE
Emisión de un telegrama
Escritura de objetos de lenguaje de base
Desplazamiento de un byte a la derecha en una tabla
Permuta de bytes en una tabla de palabras
Lectura de datos comunes Modbus+
Escritura de datos comunes Modbus+
Gestión de la conexión de la tarjeta de módem
Servidor inmediato
Escritura 1 K mensajería
Lectura 1 K mensajería
LD/IL/ST
CANCEL
DATA_EXCH
INPUT_CHAR
OUT_IN_CHAR
PRINT_CHAR
RCV_TLG
READ_VAR
SEND_REQ
SEND_TLG
WRITE_VAR
ROR1_ARB
SWAP
READ_GDATA
WRITE_GDATA
CALL_MODEM
SERVER
WRITE_ASYN
READ_ASYN
52
35013159.01 07/2008
Palabras reservadas
3
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
A
ABS
ACCEPT
ACOS
ACTION
ACTIVATE_PULSE
ACTIVE_TIME
ADD
ADDRESS
ADD_DT
ADD_TOD
ADR
AND
ANDF
ANDN
ANDR
AND_ARX
ANY
ANY_BIT
ANY_DATE
ANY_INT
Lista de palabras reservadas
ANY_REAL
ARRAY
AR_D
AR_DINT
AR_F
AR_INT
AR_R
AR_W
AR_X
ASIN
ASK
ASK_MSG
ASK_VALUE
ASSIGN_KEYS
AT
ATAN
AUX
B
BCD_TO_INT
BIT_D
BIT_W
BLOCK
BODY
BOOL
BOTTOM
BTI
BTR
BY
BYTE
C
CAL
CALC
CALCN
CALL
CALL_COIL
CANCEL
CASE
CD
CHART
CH_M
CLK
CLOSE
COIL
COMMAND
COMMENTS
COMP4
COMPCH
CONCAT
CONCATW
CONF
CONFIGURATION
CONSTANT
CONTROL_LEDS
COPY_BIT
COS
CTD
CTU
CTUD
CU
CLOSED_CONTACT
BLK
ANY_NUM
53
35013159.01 07/2008
Palabras reservadas
Palabras de la
D a la E
D
DATE
DATE_AND_TIME
DAT_FMT
DAY_OF_WEEK
DA_TYPE
DEACTIVATE_PULSE
DEC
DELETE
DELTA_D
DELTA_DT
DELTA_TOD
DINT
DINT_TO_REAL
DINT_TO_STRING
DISPLAY_ALRM
DISPLAY_GRP
DISPLAY_MSG
DIV
DMOVE
Lista de palabras reservadas
DO
DOWN
DR
DRUM
DS
DSHL_RBIT
DSHRZ_C
DSHR_RBIT
DSORT_ARD
DSORT_ARW
DT
DTS
DWORD
D_BIT
E
EBOOL
ELSE
ELSIF
EMPTY
EMPTY_LINE
END
ENDC
ENDCN
END_ACTION
END_BLK
END_BLOCK
END_CASE
END_COMMENTS
END_CONFIGURATION
END_FOR
END_FUNCTION
END_FUNCTION_BLOCK
END_IF
END_MACRO_STEP
END_PAGE
END_PHRASE
END_PROG
END_PROGRAM
END_REPEAT
END_RESOURCE
END_RUNG
END_STEP
END_STRUCT
END_TRANSITION
END_TYPE
END_VAR
END_WHILE
EQ
EQUAL
EQUAL_ARR
ERR
EVT
EXCHG
EXCH_DATA
EXIT
EXP
EXPT
54
35013159.01 07/2008
Palabras de la
F a la J
F
FALSE
FAST
FBD
FE
FIFO
FIND
FIND_EQ
FIND_EQD
FIND_EQDP
FIND_EQR
FIND_EQW
FIND_EQWP
FIND_GTD
FIND_GTR
FIND_GTW
FIND_LTD
FIND_LTR
FIND_LTW
Lista de palabras reservadas
FOR
FPULSOR
FROM
FTOF
FTON
FTP
FUNC
FUNCTION
FUNCTION_BLOCK
F_B
F_EDGE
F_TRIG
G
GE
GET
GET_MSG
GET_VALUE
GLOBAL_COMMENT
GR7
GRAY_TO_INT
GT
GTI
H
HALT
HALT_COIL
HASH_COIL
I
IF
IL
HW
H_COMPARE
H_LINK
IN
INC
INCJUMP
INDEX_CH
INFO
INITIAL_STEP
Palabras de
L a la M
L
LAD
LANGAGE
LANGUAGE
LD
LDF
LDN
LDR
LE
LEFT
LEN
LENGTH_ARD
LENGTH_ARR
LENGTH_ARW
LENGTH_ARX
Lista de palabras reservadas
LIFO
LIMIT
LINT
LIST
LIT
LN
LOCATION
LOG
LREAL
LT
LW
LWORD
M
MACRO_STEP
MAIN
MASKEVT
MAST
MAX
MAX_ARD
MAX_ARR
MAX_ARW
MAX_PAGES
MAX_STEP
MCR
MCR_COIL
MCS
MCS_COIL
MID
MIN
MIN_ARD
MIN_ARR
MIN_ARW
MN
MOD
MONO
MOVE
MPP
MPS
MRD
MS
MUL
MUX
M_CH
M_MACRO_STEP
Palabras reservadas
INIT_BUTTONS
INPUT
INPUT_CHAR
INSERT
INT
INTERVAL
INT_TO_BCD
INT_TO_REAL
INT_TO_STRING
ITB
ITS
J
JMP
JMPC
JMPCN
JUMP
JUMP_COIL
35013159.01 07/2008
55
Palabras reservadas
Palabras de la
N a la P
Lista de palabras reservadas
N
N1
NAME
NB_ACTIVE_STEPS
NB_ACTIVE_TIME
NB_BLOCKS
NB_COMMON_WORDS
NB_CONSTANT_WORDS
NB_CPT
NB_DRUM
NB_INTERNAL_BITS
NB_INTERNAL_WORDS
NB_MACRO_STEPS
NB_MONO
NB_PAGES
NB_REG
NB_TIMER
NB_TM
NB_TRANSITIONS
NE
NIL
NO
NON_STORED
NOP
NOT
NOT_ARX
NOT_COIL
NOT_READABLE
NO_GR7
NO_PERIOD
N_CONTACT
O
OCCUR
OCCUR_ARD
OCCUR_ARR
OCCUR_ARW
OF
ON
OPEN
OPEN_CONTACT
OPERATE
OR
ORF
ORN
ORR
OR_ARX
OTHERS
OUT
OUTIN_CHAR
OUTPUT
OUT_BLK
P
P0
P1
PAGE
PAGE_COMMENT
PANEL_CMD
PERIOD
PHRASE
PHRASE_COMMENT
PID
PID_MMI
PLC
POST
PRESET
PRINT_CHAR
PRIO0
PRIO1
PRIORITY
PRL
PROG
PROGRAM
PROG_LANGAGE
PROG_LANGUAGE
PT
PTC
PUT
PV
PWM
P_CONTACT
Palabras de la
Q a la R
Q
QUERY
R
R1
RCV_TLG
RE
READ
READ_EVT_UTW
READ_ONLY
READ_PARAM
READ_STS
READ_VAR
READ_WRITE
REAL
REAL_TO_DINT
Lista de palabras reservadas
REAL_TO_INT
REAL_TO_STRING
REG
REM
REPEAT
REPLACE
REQ
RESET
RESET_COIL
RESOURCE
RESTORE_PARAM
RET
RETAIN
RETC
RETCN
RETURN
RET_COIL
RIGHT
ROL
ROLD
ROLW
ROL_ARD
ROL_ARR
ROL_ARW
ROL_DWORD
ROL_WORD
ROR
RORD
RORW
ROR_ARD
ROR_ARR
ROR_ARW
ROR_DWORD
ROR_WORD
RRTC
RS
RTB
RTC
RTS
RUNG
R_EDGE
R_TRIG
56
35013159.01 07/2008
Palabras reservadas
Palabras con S
S
S1
SAVE
SAVE_PARAM
SCHEDULE
SD
SEARCH
SECTION
SEL
SEMA
SEND
SENDER
SEND_ALARM
SEND_MBX_ALARM
SEND_MBX_MSG
SEND_MSG
Lista de palabras reservadas
SEND_REQ
SEND_TLG
SERVO
SET
SET_COIL
SFC
SHIFT
SHL
SHOW_ALARM
SHOW_MSG
SHOW_PAGE
SHR
SHRZ
SIN
SINGLE
SINT
SL
SLCWORD
SMOVE
SOFT_CONFIGURATION
SORT
SORT_ARD
SORT_ARR
SORT_ARW
SQRT
SR
ST
STANDARD
START
STD
STEP
STI
STN
STOP
STR
STRING
STRING_TO_DINT
STRING_TO_INT
STRING_TO_REAL
STRUCT
SUB
SUB_DT
SUB_TOD
SUM
SU_TYPE
SWAP
S_T_AND_LINK
S_T_OR_LINK
Palabras de la
T a la W
T
TAN
TASK
TASKS
THEN
TIME
TIMER
TIME_OF_DAY
TM
TMAX
TMOVE
TO
TOD
TOF
TOFF
TON
Lista de palabras reservadas
TOP
TP
TRANSITION
TRANS_TIME
TRUE
TRUNC
TYPE
TYPES
T_S_AND_LINK
T_S_OR_LINK
U
UDINT
UINT
ULINT
UNMASKEVT
UNTIL
UP
USINT
USORT_ARD
USORT_ARW
UTIN_CHAR
V
VAR
VAR_ACCESS
VAR_EXTERNAL
VAR_GLOBAL
VAR_INPUT
VAR_IN_OUT
VAR_OUTPUT
VAR_PUBLIC
VERSION
V_COMPARE
V_LINK
W
WHILE
WITH
WORD
WRITE
WRITE_CMD
WRITE_PARAM
WRITE_VAR
WRTC
WSHL_RBIT
WSHRZ_C
WSHR_RBIT
W_BIT
35013159.01 07/2008
57
Palabras reservadas
Palabras con
X, Y y otras
Lista de palabras reservadas
X
XM
XM_MONO
XM_MULTI
XOR
XORF
XORN
XORR
XOR_ARX
Y
YES
*_TO_* * = Letra
SRi
AUXi
EVTi
XMi
i = entero
58
35013159.01 07/2008
Conformidad con la norma
CEI 1131-3
4
Presentación
Contenido
Contenido
En este capítulo se describe la conformidad con la norma CEI 1131-3: "Autómatas
Programables"
Este capítulo contiene los siguiente apartados:
Apartado
Conformidad con la norma CEI 1131-3
Elementos comunes
Elementos de lenguaje IL
Elementos de lenguaje ST
Elementos gráficos comunes
Elementos de lenguaje LD
Parámetros que dependen de la implementación
Situaciones de error
Página
59
35013159.01 07/2008
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
35013159.01 07/2008
Conformidad con CEI 1131-3
Elementos comunes
Generalidades Descripción de las características comunes a los lenguajes conformes a la
CEI 1131-3
En 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.
35013159.01 07/2008
61
Conformidad con CEI 1131-3
Tabla de características
Características comunes a todos los lenguajes:
10
10
10
10
10
6
7
10
10
6
6
6
6
6
6
4
5
4
4
4
4
4
4
2
3
1
2
1
1
1
1
Tabla nº Característica nº
1 1
2
3a
4a
5a
6a
1
2
1
1
2
3
4
6
7
12
13
14
15
16
8
1a
1
10
6
7
4
5
2
3
8
1
Descripción de las características
Juego de caracteres necesario (véase el apartado 2.1.1 de 1131-3)
Caracteres en minúsculas
Signo del número (#)
Signo del dólar ($)
Barra vertical (|)
Delimitadores de índices: Corchetes izquierdo y derecho "[ ]"
Mayúsculas y números
Mayúsculas, minúsculas, números, caracteres de guión bajo integrados
Comentarios
Literales enteros (nota 1)
Literales reales (nota 1)
Literales reales con exponentes
Literales en base 2 (nota 1)
Literales en base 16 (nota 1)
Booleanos cero y uno
Booleanos TRUE y FALSE
Características de los literales de cadenas de caracteres
$$ Signo del dólar
$’ Apóstrofe
$L o $l Cambio de línea
$N o $n Línea nueva
$P o $p Cambio de página
$R o $r Retorno de cursor
$T o $t Tabulación
Literales de duración con prefijo corto t# (nota 2)
BOOL -1 bit-
REAL -32 bits-
TIME -32 bits- (nota 3)
DATE -32 bits- (nota 3)
TIME_OF_DAY -32 bits- (nota 3)
DATE_AND_TIME -64 bits- (nota 3)
STRING
62
35013159.01 07/2008
Conformidad con CEI 1131-3
18
18
18
21
21
22
22
23
23
17
17
15
15
15
15
15
15
15
15
16
Tabla nº Característica nº
10
10
10
17
18
19
17
1
2
3
4
5
6
7
8
VAR
VAR_INPUT
VAR_OUTPUT
VAR_IN_OUT
VAR_EXTERNAL
VAR_GLOBAL
CONSTANT
AT
2
Descripción de las características
BYTE -8 bits-
WORD -16 bits-
DWORD -32 bits-
Prefijo I para Input
Prefijo Q para Output
Prefijo M para Memory
Prefijo X, tamaño de un bit
Ningún prefijo, tamaño de un bit
Prefijo B, tamaño de un byte (8 bits)
Prefijo W, tamaño de una palabra (16 bits)
Prefijo D, tamaño de una palabra doble (32 bits)
Palabras clave (nota 4)
3
5
2
3
5
1
4
1
2
3
2
Declaración de variables no volátiles directamente representadas (variables) (nota
4)
Declaración de emplazamientos de variables simbólicas (símbolos o variables)
(nota 4)
Asignación automática en la memoria de variables simbólicas (variables de bloques de función) (nota 4)
Inicialización de variables no volátiles directamente representadas (variables)
(nota 4)
Asignación de emplazamientos y valores iniciales de variables simbólicas
(símbolos en variables) (nota 4)
Inicialización de variables simbólicas (variables de bloques de función) (nota 4)
A continuación se indican las funciones sobrecargadas de PL7:
ABS, EQUAL, ROL, ROR, SHL, SHR, SQRT, SUM
Por lo general, las funciones de PL7 pertenecen a esta categoría.
Función de conversión BCD_TO_INT (nota 6)
Función de conversión INT_TO_BCD (nota 6)
Función ABS: valor absoluto
Función SQRT: raíz cuadrada
35013159.01 07/2008
63
Conformidad con CEI 1131-3
33
33
37
37
37
38
29
29
29
29
29
29
29
32
25
29
29
25
25
25
23
23
23
23
23
23
Tabla nº Característica nº
23
23
23
3
4
5
6
7
8
9
10
11
33
6
7
8
3
4
5
4
1
2
1
2
3
9
Inputread
Inputwrite
Outputread
Outputwrite
1
2
4a
1
2a
3a esquemas temporales
Descripción de las características
Función LN: logaritmo neperiano
Función LOG: logaritmo en base 10
Función EXP: exponencial natural
Función SIN: seno en radianes
Función COS: coseno en radianes
Función TAN: tangente en radianes
Función ASIN: arco seno
Función ACOS: arco coseno
Función ATAN: arco tangente
Función SHL: desplazamiento a la izquierda
Función SHR: desplazamiento a la derecha
Función ROR: rotación a la derecha
Función ROL: rotación a la izquierda
Función LEN: longitud de cadena
Función LEFT: n caracteres situados más a la izquierda
Función RIGHT: n caracteres situados más a la derecha
Función MID: n caracteres a partir de una posición determinada
Función CONCAT: concatenación de cadenas (nota 7)
Función INSERT: insertar una cadena en otra
Función DELETE: eliminar caracteres
Función REPLACE: sustituir otros caracteres
Función FIND: buscar una cadena en otra
(nota 8)
Calificativo RETAIN para las variables internas de los bloques de función.) (nota
9) (nota 4)
Calificativo RETAIN para las salidas de los bloques de función (nota 9) (nota 4)
Declaración de entradas/salidas de bloques de función (literal). (nota 4)
Temporizador de impulso: TP (nota 10)
Temporizador en la conexión: TON (nota 10)
Temporizador en la desconexión: TOF (nota 10)
TP, TON, TOF
64
35013159.01 07/2008
Conformidad con CEI 1131-3
49
49
49
49
50
46
46
46
46
46
48
3
4
5c
6c
7
6a
7
5b
43
44
45
46
40
41
42
3
5a
45
45
45
46
46
40
41
41
42
43
Tabla nº Característica nº
39
40
19
1
1
2
2
11
2
2l
2
1
12
1
2c
Descripción de las características
Utilización de variables representadas directamente (variables)
Etapa, forma gráfica
Nota: un número de etapa sustituye a un identificador de etapa.
Etapa, forma textual utilizada en la forma fuente del Grafcet únicamente.
Condición de transición en lenguaje ST
Condición de transición en lenguaje LD
Declaración de las acciones en lenguaje LD
Bloque de acción
Bloques de acción concatenados
Calificativo de acción N (sin almacenar)
Calificativo de acción P1 (Pulse rising edge)
Calificativo de acción P0 (Pulse falling edge)
Secuencia simple, alternancia etapa/transición
Divergencia de "o": el usuario debe asegurarse de que todas las condiciones de las transiciones se excluyen mutuamente
Convergencia de "o":
Divergencia de "y", convergencia de "y"
Salto de secuencia en una divergencia de "o"
Bucle de secuencia: retorno a una etapa anterior
Flechas de dirección
Nota: las flechas de dirección son ascendentes y descendentes
El lenguaje Grafcet reúne las condiciones para contar con el nivel mínimo de conformidad con SFC 1131-3
Representación gráfica
Construcción RESOURCE...ON...END_RESOURCE
Construcción TASK periódica en RESOURCE
Declaración PROGRAM con asociación PROGRAM-to-TASK
Declaración de variables directamente representadas en VAR_GLOBAL
Orden preventivo en el modelo multitarea
35013159.01 07/2008
65
Conformidad con CEI 1131-3
66 z z z z
Nota: z Nota 1: Los guiones bajos (_) insertados entre las cifras de un literal numérico z no se admiten.
Nota 2: Estos literales sólo son visibles en la aplicación fuente, para expresar z 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.
z z
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 z 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.
35013159.01 07/2008
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-3
En 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
Tabla nº
51
54
54
54
52
52
52
52
52
52
52
53
11
12
13
Características de los elementos de lenguaje IL:
2
3
4
5
6
18
20
21
3
Característica nº
Campos de instrucción
1
Descripción de las características
Etiqueta, operador, operando, comentario
LD
ST
S y R
AND
OR
XOR
JMP
RET
)
Utilización de operadores de entrada para lanzar bloques de función en lenguaje IL
IN (véase la nota)
IN (véase la nota)
IN (véase la nota)
Nota: El operador PT no está implementado.
35013159.01 07/2008
67
Conformidad con CEI 1131-3
Elementos de lenguaje ST
Generalidades Descripción de las características de los elementos de lenguaje ST conformes a la norma CEI 1131-3
En 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
35013159.01 07/2008
Conformidad con CEI 1131-3
55
55
55
56
56
55
55
55
55
56
56
56
56
56
Tabla de características
55
55
55
Tabla nº
55
55
55
Características de los elementos de lenguaje ST:
1
3
16
17
11
12
13
15
7
8
4
6
9
4
5
6
7
9
10
2
3
Característica nº
1
Descripción de las características
Escritura entre paréntesis
Evaluación de función
- Negación
NOT Complemento
JMP
* Multiplicación
/ División
+ Suma
- Resta
<, >, <=, >= Comparación
= Igualdad
<> Desigualdad
AND para el "y" booleano
XOR para el "o exclusivo" booleano
OR para el "o" booleano
:= Asignación
Estructura RETURN
Estructura IF «if... then... elsif... then... else... end_if»
Estructura FOR «for... to... do... end_for» (véase la nota)
Estructura WHILE «while... do... end_while»
Estructura REPEAT «repeat ... until... end_repeat»
Estructura EXIT
Nota: Implementación del bucle FOR con un paso implícito de 1 (por 1).
35013159.01 07/2008
69
Conformidad con CEI 1131-3
Elementos gráficos comunes
Generalidades Descripción de las características de los elementos gráficos comunes conformes a la norma CEI 1131-3
En 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
58
58
58
57
57
58
Tabla nº
57
57
57
57
Características de los elementos gráficos comunes:
4
5
8
10
12
2
4
6
8
Característica nº
2
Descripción de las características
Líneas horizontales gráficas
Líneas verticales gráficas
Unión línea horizontal / línea vertical gráfica
Intersección gráfica de líneas sin conexión
Esquinas gráficas conectadas y sin conectar
Bloques con líneas conectadas gráficas
Salto incondicional en lenguaje LD
Salto condicional en lenguaje LD incondicional
Retorno condicional en lenguaje LD
Retorno incondicional en lenguaje LD
70
35013159.01 07/2008
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-3
En 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
61
62
62
61
61
61
62
62
Tabla nº
59
59
60
60
Características de los elementos de lenguaje LD:
7
1
2
3
4
1
3
5
2
1
2
Característica nº
1
Descripción de las características
Barra de alimentación izquierda
Barra de alimentación derecha
Enlace horizontal
Enlace vertical
Contacto abierto
Contacto cerrado
Contacto de detección de transición positiva
Contacto de detección de transición negativa
Bobina
Bobina negativa
Bobina SET
Bobina RESET
35013159.01 07/2008
71
Conformidad con CEI 1131-3
Parámetros que dependen de la implementación
Generalidades Descripción de los parámetros de PL7 que dependen de la implementación efectuada
En 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
35013159.01 07/2008
Conformidad con CEI 1131-3
Tabla de características
Características de los elementos de lenguaje IL:
Parámetros
Procedimiento de tratamiento de errores
Caracteres nacionales utilizados
Longitud máxima de los identificadores
Longitud máxima de los comentarios
Margen de los valores de duración
Margen de los valores de tipo TIME
Limitación y comportamiento de PL7
Numerosos errores se indican en la ejecución mediante posicionamiento de bits y palabras de sistema
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔ
ÕÖØÙÚÛÜàáâãäåæçèéêëìí îïñòóôõöøùúûüßÿ
#, $, |
32
222
Nota 1
Nota 1
Precisión de la representación de los segundos en los tipos TIME_OF_DAY y DATE_AND_TIME
Número máximo de índices de tabla
Nota 2
1 (Nota 3)
Tamaño máximo de las tablas
Longitud máxima por defecto de las variables STRING en función de la zona indexada (nota 3) no se aplica
Longitud máxima permitida para las variables STRING 255
Número máximo de niveles jerárquicos
Configuración lógica o física
Intervalo máximo de los valores de índices
Inicialización de las entradas del sistema
Efectos de la conversión de tipos sobre la precisión
Número máximo de tipos e instancias de bloques de función
Límite del tamaño de los programas
3
Configuración lógica en función de la zona indexada (nota 3) z z
El sistema inicializa las variables: al valor inicial especificado por el usuario, en su caso de lo contrario, a cero véase la tabla 22, característica 1
Sin número máximo (los límites están relacionados con el volumen de la aplicación)
Volumen máximo del código de un programa = 64
Kbytes
Precisión sobre el tiempo transcurrido asociado a una etapa
Número máximo de etapas por gráfico
100ms
96 en autómatas 3710
128 en autómatas 3720
1024 en autómatas 57xx V3.0
Número máximo de transiciones por gráfico y por etapa) 1024 transiciones por gráfico
11 transiciones por etapa 1
35013159.01 07/2008
73
Conformidad con CEI 1131-3
Parámetros
Mecanismo de comando de acciones
Número máximo de bloques de acción por etapa
Limitación y comportamiento de PL7
Calificativos P0, P1 y N1
Existen 3 acciones posibles: en la activación (P1), continua (N1) y en la desactivación (P0)
Etapa activa en vídeo inverso
El tiempo de alcance es variable y nunca nulo
Indicación gráfica del estado de una etapa
Tiempo de alcance de una transición (desactivación de las etapas ascendentes y activación de las etapas descendentes)
Profundidad de las construcciones divergentes y convergentes
Límite proporcionado por la rejilla de introducción
Lista de los autómatas programables por PL7
Número máximo de tareas
TSX MICRO, TSX PREMIUM
1 tarea periódica o cíclica
1 tarea periódica
8 tareas de sucesos para autómatas 37 10
16 tareas de sucesos para autómatas 37 20
32 tareas de sucesos para autómatas 57 10
64 tareas de sucesos para autómatas 57 20/30 de 1 ms a 255 ms
Orden preventivo Márgenes de los intervalos de las tareas
Orden preventivo o no preventivo
Longitud máxima de una expresión
Evaluación parcial de las expresiones booleanas variable no
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áfica
Restricción sobre la topología de las redes
Representaciones gráficas
Una red LD puede extenderse en 16 columnas y 7 líneas como máximo
74
35013159.01 07/2008
Conformidad con CEI 1131-3
Nota: z 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.5s
TIME_OF_DAY: de TOD#0:0:0 a TOD#23:59:59
DATE_AND_TIME: de DT#1990-01-01:0:0:0 a DT#2099-12-31:23:59:59
DATE: de D#1990-01-01 a D#2099-12-31DT#2099-12-3 z z
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.
35013159.01 07/2008
75
Conformidad con CEI 1131-3
Situaciones de error
Generalidades Descripción de los parámetros de PL7 que dependen de la implementación efectuada.
En la siguiente tabla se enumeran las implementaciones realizadas en los lenguajes
PL7, respecto a las tablas de características descritas en la norma IEC 1131-3.
Tabla de características
Situaciones de error:
Situaciones de error
Errores de conversión de tipo.
El resultado numérico supera el margen para el tipo de datos.
Posición de caracteres especificada no válida.
Limitación y comportamiento de PL7.
Indicado en la ejecución posicionando un bit de sistema: véase la tabla Elementos comunes: tabla 22, característica 1.
Indicado en la ejecución posicionando el bit de sistema
%S18.
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.
Indicado en la ejecución posicionando el bit de sistema
%S19.
Otros conflictos de orden de tareas.
División por cero.
Tipo de datos no válido para una operación.
Error de iteración FOR o WHILE para terminar.
Detectado durante la configuración.
Detectado, si es posible, durante la programación; de lo contrario, se indica en la ejecución posicionando el bit de sistema %S18.
El autómata pasa al fallo de rebasamiento de watchdog y se indica la unidad de programación correspondiente.
76
35013159.01 07/2008
Servidor OLE Automation
5
Presentación
Contenido
Contenido:
Este capítulo describe el funcionamiento del servidor OLE Automation.
Este capítulo contiene las siguientes secciones:
Sección
5.1
5.2
5.3
Apartado
Presentación
Puesta en marcha
Funciones OLE
Página
35013159.01 07/2008
77
Servidor OLE Automation
5.1
Presentación
Presentación
Objeto de este apartado
Contenido
Este apartado describe las generalidades del servidor OLE Automation.
Esta sección contiene los siguientes apartados:
Apartado
Presentación del servidor OLE Automation
Modos de funcionamiento del servidor OLE Automation
Página
78
35013159.01 07/2008
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.
Autómata
Servidor
Cliente
Aplicaciones cliente
PL7
*.stx
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: z z z z
La 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.
35013159.01 07/2008
79
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 XP Professional y Windows VISTA Professional Edition 32.
z z z
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
80
35013159.01 07/2008
Servidor OLE Automation
Modos de funcionamiento del servidor OLE Automation
Generalidades
Descripción
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.
La elección del modo de funcionamiento depende del procedimiento de inicio de
PL7: z z
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.
35013159.01 07/2008
81
Servidor OLE Automation
5.2
Puesta en marcha
Presentación
Objeto de este apartado
Contenido
Este apartado describe la puesta en marcha del servidor OLE Automation.
Esta sección contiene los siguientes apartados:
Apartado
Instalación de OLE Automation
Mecanismo de acceso al servidor PL7 OLE Automation
Inicio del servidor en modo local (modo COM)
Inicio del servidor en modo remoto (DCOM)
Puesta en funcionamiento del servidor de forma remota
Modos de ejecución del servidor PL7
Puntos de entrada: función OLE
Página
82
35013159.01 07/2008
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: z z z
Cuatro ejemplos de cliente OLE Automation completos con su código fuente y un archivo README suministrados con el programa.
Dichos ejemplos corresponden a: z z 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.
z un cliente Visual Basic ++ 5.0 que utiliza todos los puntos de entrada disponibles.
z 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++.
35013159.01 07/2008
83
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:
Estación del cliente Estación del servidor
DCOM
84
35013159.01 07/2008
Servidor OLE Automation
Inicio del servidor en modo local (modo COM)
Introducción
Inicio del servidor en modo local
(modo COM)
El modo COM (Component Object Model) define una interface de comunicación entre aplicaciones que proporciona independencia respecto a las herramientas de desarrollo.
Para iniciar el servidor en modo local, siga el procedimiento que se describe a continuación:
1
2
3
4
Declare un objeto «A» en la aplicación cliente para comunicarse con la aplicación del servidor.
Ejecute la función Createdispatch en el objeto "A" de la aplicación cliente para iniciar una instancia en la aplicación del servidor.
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).
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).
35013159.01 07/2008
85
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 el equipo cliente o en un equipo remoto.
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 un mismo equipo.
El modo DCOM permite dialogar entre dos equipos remotos. 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:
Elección del driver
Servidor PL7
Cliente
PC a
Cliente
Cliente
PC b
COM tiempo de ejecución
Seguridad proveedor
DCE RPC
Pila de protocolos
Elección del driver
Servidor PL7
PC c
COM tiempo de ejecución
Seguridad proveedor
DCE RPC
Pila de protocolos
Componente red DCOM protocolo
86
35013159.01 07/2008
Servidor OLE Automation
Puesta en funcionamiento del servidor de forma remota
Introducción
Configuración del Cliente
DCOM es una configuración específica necesaria en un PC cliente para soportar el acceso remoto al PC en el que está instalado el servidor (PL7 Pro Server). En un
PC que soporte Windows XP Professionnal o
Windows VISTA Professional Edition 32, DCOM debe estar configurado utilizando la herramienta DCOMCnfg.exe.
El siguiente procedimiento explica cómo configurar el DCOM y se aplica a los sistemas de explotación Windows XP Professional o
Windows VISTA Professional Edition 32:
Etapa
1
2
3
Acción z z
Inicie DCOMCnfg.exe
situado en la agenda:
C:\Windows\System32
Y en el icono Raíz de la consola
→
Servicio de componentes
→
Ordenadores
→
Puesto de trabajo , muestre las propiedades haciendo clic con el botón derecho del ratón, o
Haga clic en Panel de configuración
→
Herramientas de administración
→
Servicios de componentes .
En la ventana que aparece, haga glic en Servicios de componentes
→
Ordenadores .
En el icono Puesto de trabajo , muestre las propiedades haciendo clic con el botón derecho del ratón.
En la pestaña Propiedades por defecto , verifique que: z La opción Activar Distributed COM (DCOM) en este ordenador se encuentra seleccionada.
z El campo
Conectar .
Nivel de autenticación por defecto se encuentra definido en z El campo Nivel de copia de identidad por defecto se encuentra definido en Identificar .
En la pestaña Seguridad COM :
Modifique la lista Autorizaciones de acceso con el fin de asegurarse de que los usuarios SISTEMA , INTERACTIVO , RED y Todo el mundo aparezcan.
Este último parámetro sólo se necesita para autorizar al servidor para que reenvíe notificaciones al cliente.
35013159.01 07/2008
87
Servidor OLE Automation
Configuración del Servidor
Estos parámetros de configuración deben ser definidos en el curso de conexión con el equipo cuando disponga de una cuenta con las autorizaciones necesarias de acceso y de inicio del servidor
Etapa
1
2
3
Acción z z
Inicie DCOMCnfg.exe
situado en la agenda:
C:\Windows\System32
Y en el icono Raíz de la consola
→
Servicio de componentes
→
Ordenadores
→
Puesto de trabajo , muestre las propiedades haciendo clic con el botón derecho del ratón, o
Haga clic en Panel de configuración
→
Herramientas de administración
→
Servicios de componentes .
En la ventana que aparece, haga glic en Servicios de componentes
→
Ordenadores .
En el icono Puesto de trabajo , muestre las propiedades haciendo clic con el botón derecho del ratón.
En la pestaña Propiedades por defecto , verifique que: z La opción Activar Distributed COM (DCOM) en este ordenador se encuentra z z seleccionada.
El campo Nivel de autenticación por defecto se encuentra definido en Conectar .
El campo Nivel de copia de identidad por defecto
Identificar .
se encuentra definido en
En la agenda Configuración DCOM
→
OLE Automation muestre las propiedades haciendo clic con el botón derecho del ratón. La ventana de diálogo Propiedades de
OLE Automation Server aparece.
z Haga clic en la pestaña Identidad . La opción El usuario interactivo debe ser seleccionada. La opción Este usuario con la contraseña adecuada debe ser seleccionada si ningún usuario se conecta al servidor o si la sesión es modificada o interrumpida sin motivo.
z Haga clic en la pestaña defecto .
General , el nivel de autentificación debe ser definido en Por z z
Haga clic en la pestaña Ubicación , la opción Ejecutar la aplicación en este equipo debe ser seleccionada.
En la pestaña Seguridad
→
Autorizaciones de ejecución y de activación , seleccione Personalizar .
z Haga clic en Modificar , la ventana de diálogo Autorización de ejecución z z aparece.
Haga clic en Agregar , agregar usuarios, y autorizar el acceso (los usuarios
SISTEMA , INTERACTIVO y RED deben aparecer en esta lista, otros como Todo el mundo pueden ser agregados), z Haga clic en OK y cierre las ventanas de diálogo.
En la pestaña Seguridad
→
Autorizaciones de acceso , seleccione Personalizar .
z Haga clic en Modificar , la ventana de diálogo Autorización de acceso aparece.
z Haga clic en Agregar , agregar usuarios, y autorizar el inicio del servidor (los z usuarios SISTEMA , INTERACTIVO y RED deben aparecer en esta lista, otros como Todo el mundo pueden ser agregados).
Haga clic en OK y cierre las ventanas de diálogo.
88
35013159.01 07/2008
Servidor OLE Automation
Nota: si el cliente y el servidor no pertenecen al mismo dominio XP o VISTA, o si no existe ningún dominio XP o vista, no olvide que unos usuarios idénticos que dispongan de una contraseña idéntica deben crearse en los dos equipos (tenga cuidado en respetar la casilla).
35013159.01 07/2008
89
Servidor OLE Automation
Modos de ejecución del servidor PL7
Introducción
Modos de ejecució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 ).
z z
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
35013159.01 07/2008
Servidor OLE Automation
Puntos de entrada: función OLE
Introducción
Contexto de ejecución
Los puntos de entrada se clasifican en cuatro tipos: z z z z
Contexto de ejecución
Control API
Lectura de la información
Visualización de elementos de la aplicación
Puntos de entrada
Nombre
OpenStx
SaveStx
CloseStx
Set DriverAndAddress
SetServerIHM
GetPL7IHM
GetMessageError
Descripción
Apertura de una aplicación
Registro de la aplicación activa
Cierre de la aplicación activa
Modificación de la dirección y el driver del autómata al que se accede
Cambio del modo interactivo del servidor PL7 OLE
Automation
Proporciona el estado: aplicación abierta o cerrada, modo local - conectado, estado API
Lee el mensaje de error asociado al código de error
Control API Puntos de entrada
Nombre
ConnectPLC
DisconnectPLC
SenCommandToPLC
DownloadToPLC
UploadFromPLCM
DownloadStationWithSym bol
Descripción
Entra en el modo conectado
Sale del modo conectado
Envía un comando al autómata (RUN, STOP INIT)
Carga de la aplicación activa en un autómata
Copia de una aplicación del autómata en la aplicación activa
Carga de una aplicación y su base comprimida de símbolos en el autómata
35013159.01 07/2008
91
Servidor OLE Automation
Lectura de la información
Puntos de entrada
Nombre
ExportScyFile
ExportFefFile
GetSymbol
GetSTXAppIdentity
GetPLCAppIdentity
GetServerVersion
CompareSymbolPCAndSymb olPLCAppli
Descripción
Exportación de los símbolos a la aplicación activa en forma de archivo scy
Exportación de la aplicación activa en forma de archivo tipo fef
Lee el símbolo y el comentario asociado a una variable
Lee la información general de una aplicación incluida en un archivo STX
Lee la información general de una aplicación incluida en un autómata
Lee la versión del servidor
Muestra la información general de una aplicación incluida en un autómata
Visualización de elementos de la aplicación
Puntos de entrada
Nombre
SetPosPL7Window
ShowProgram
CloseProgram
ShowIOModule
CloseIOModule
ShowDFB
CloseDFB
OpenTool
Descripción
Modifica las características de visualización del PL7
(posición y forma)
Apertura de un editor en un módulo de programa determinado
Cierre de un editor de programa
Apertura de un editor en un módulo de E/S determinado
Cierre de un editor en un módulo de E/S determinado
Apertura de un editor en el código de un DFB determinado
Cierre de un editor en el código de un DFB
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
35013159.01 07/2008
Servidor OLE Automation
5.3
Funciones OLE
Presentación
Objeto de este apartado
Contenido
Este apartado describe las funciones OLE del servidor OLE Automation.
Esta sección contiene los siguientes apartados:
Apartado
OpenStx
CloseStx
OpenStxWithMaj
ExportScyFile
ExportFeFile
ExportFefFileWithConfiguration
DisconnectPLC
ConnectPLC
SaveStx
DownloadDataToPLC
DownloadToPLC
UploadFromPLC
UploadDataFromPLC
UploadFromPLCWithSymbol
GetSymbol
SetServerIHM
SetDownloadFunction
GetPL7State
GetSTXAppIdentity
GetPLCAppIdentity
SendCommandToPLC
SetDriverAndAdresse
OpenTool
SetPosPL7Windows
ShowProgram
CloseProgram
Página
35013159.01 07/2008
93
Servidor OLE Automation
Apartado
ShowIOModule
CloseIOModule
ShowDFB
CloseDFB
GetMessageError
GetServerVersion
ImportScyFile
DownloadStationWithSymbol
CompareSymbolPCAndSymbolPLCAppli
Página
94
35013159.01 07/2008
Servidor OLE Automation
OpenStx
Generalidades
Descripción
Esta función permite abrir un archivo de tipo aplicación stx.
Sintaxis: integer OpenStx (String lpAppPathName) z z z z
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:
SRV_ERR_GEN_FILENOTFOUND No se ha encontrado el archivo.
SRV_ERR_OPEN_BADZIP
SRV_ERR_OPEN_BADFILE
Problema de descompresión de archivo.
Problema de lectura del archivo stx.
SRV_ERR_OPEN_NOK_COMPATIBLE El procesador no funciona con PL7 abierto.
SRV_ERR_OPEN_OPEN
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_DRIVE FULL
Ya hay otra aplicación abierta.
El nombre de la ruta está vacío.
Error al abrir la aplicación.
No hay suficiente espacio libre en el disco para abrir la aplicación.
z 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.
35013159.01 07/2008
95
Servidor OLE Automation
CloseStx
Generalidades
Descripción
Esta función permite cerrar la aplicación en curso.
Sintaxis: integer CloseStx ( integer p_bWithoutSave) z z z z
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:
SRV_ERR_GEN_NOTOPEN
SRV_ERR_CLOSE_NOTSAVE
No hay ninguna aplicación abierta.
Se ha modificado la aplicación, es preciso guardarla para salir.
z Salida:
Código de retorno de tipo short . Bien 0 en caso de conseguir cerrarla, bien un código de error.
96
35013159.01 07/2008
Servidor OLE Automation
OpenStxWithMaj
Generalidades
Descripción
Esta función permite exportar la aplicación activa con su configuración en un archivo de tipo fef.
Sintaxis: entero OpenStxWithMaj (string NameFile, integer WithNewCat) z z z z
Entrada: z Introducir 1 cadena de caracteres que contenga el nombre y la ruta del archivo stx que se desea abrir.
z 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: z El servidor PL7 está activo, z PL7 está en modo local.
Caso de error:
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_DRIVEFULL
SRV_ERR_OPEN_OPEN
SRV_ERR_GEN_FILENOTFOUND
SRV_ERR_OPEN_BADZIP
Error producido durante la ejecución de la función.
El nombre del archivo dat no es correcto o está vacío.
Más espacio libre en el disco para la apertura de la aplicación.
Ya está abierta una aplicación.
No se ha encontrado el archivo.
Problema de extracción del archivo zip.
z z
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.
35013159.01 07/2008
97
Servidor OLE Automation
ExportScyFile
Generalidades
Descripción
Esta función permite exportar los símbolos contenidos en la aplicación activa en forma de archivo de tipo scy.
Sintaxis: integer ExportScyFile (String p_psScyFile) z z z z
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:
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.
z Salida:
Código de retorno de tipo short . Bien 0 si la exportación se realiza correctamente, bien un código de error.
98
35013159.01 07/2008
Servidor OLE Automation
ExportFeFile
Generalidades
Descripción
Esta función permite exportar la aplicación activa en forma de archivo de tipo fef.
Sintaxis: integer ExportFefFile (String p_psNamefile) z z z z
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:
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.
z Salida:
Código de retorno de tipo short . Bien 0 si la exportación se realiza correctamente, bien un código de error.
35013159.01 07/2008
99
Servidor OLE Automation
ExportFefFileWithConfiguration
Generalidades
Descripción
Esta función permite exportar la aplicación activa con su configuración en un archivo de tipo fef.
Sintaxis: entero ExportFefFileWithConfiguration (string FefFile) z z z z
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: z El servidor PL7 está activo, z PL7 está en modo local, estación abierta.
Caso de error:
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_NOTOPEN
SRV_EXPORT_ERRFILE
Error producido durante la ejecución de la función.
El nombre del archivo dat no es correcto o está vacío.
No hay aplicación STX abierta.
Imposible crear el archivo a exportar.
z Salida:
Código de retorno de tipo short. 0 en el caso de una exportación con éxito, si un código de error.
100
35013159.01 07/2008
Servidor OLE Automation
DisconnectPLC
Generalidades
Descripción
Esta función permite desconectar el autómata del PL7.
Sintaxis: integer ExportFefFile (String p_psNamefile) z z
Función llamada:
DisconnectStation : función de la gestión de estación ( gesta.dll
).
Contexto nominal : el servidor PL7 está activo.
z 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).
35013159.01 07/2008
101
Servidor OLE Automation
ConnectPLC
Generalidades
Descripción
Esta función permite conectarse a un autómata.
Sintaxis: integer ConnectPLC (String p_lpDriver, String p_lpAddress) z z z z
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:
SRV_ERR_GEN_CONNECT
SRV_ERR_GEN_COMMUNICATION
SRV_ERR_GEN_RESERVED
SRV_ERR_PLC_BLANK
SRV_ERR_PC_BLANK
SRV_ERR_DIFFERENCE_PLC_STX
SRV_ERR_GEN_ADDRESS
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_DRIVER
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_PROTECTEDAPPLI
SRV_COMPATIBLE_PLC
No ha podido efectuarse la conexión.
Problema de comunicación entre PL7pro y el autómata.
El autómata está reservado, por lo no es posible conectarse.
El autómata no contiene ninguna aplicación, por lo que no es posible conectarse.
No hay ninguna aplicación abierta, por lo que no es posible conectarse.
La aplicación abierta y la aplicación contenida en al autómata son diferentes, por lo que no es posible conectarse.
El parámetro de la dirección es incorrecto.
Error al ejecutar la función.
El parámetro del controlador es incorrecto.
No hay ninguna aplicación abierta.
Aplicación protegida.
Problema de compatibilidad con el autómata.
z Salida:
Código de retorno de tipo short . Bien 0 en caso de efectuar la conexión correctamente, bien un código de error.
102
35013159.01 07/2008
Servidor OLE Automation
SaveStx
Generalidades
Descripción
Esta función permite guardar la aplicación abierta.
Sintaxis: integer SaveStx (String p_lpStxFile) z z z z
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:
SRV_ERR_SAVEDENIED
SRV_ERR_SAVEERRZIP
SRV_ERR_SAVEERRREN
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_ACTION
SRV_ERR_PLC_CONNECT
Acceso al archivo denegado.
Error al comprimir la aplicación.
Cambio de nombre denegado.
No hay ninguna aplicación abierta.
p_ lpStxFile está vacío.
Error al guardar la aplicación.
Sólo es posible guardar el archivo en modo local.
z Salida:
Código de retorno de tipo short. Bien 0 en caso de conseguir guardar el archivo, bien un código de error.
35013159.01 07/2008
103
Servidor OLE Automation
DownloadDataToPLC
Generalidades
Descripción
104
Esta función permite cargar un archivo que contenga palabras en el autómata.
Sintaxis: entero DownLoadDataToPLC (string Driver, string Address, string NameFile) z z z z
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: z z
El servidor PL7 está activo,
PL7 está en modo local, z 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:
SRV_ERR_DOWNLOAD_CART
SRV_ERR_COMPATIBLE_PLC
SRV_ERR_PC_BLANK
SRV_ERR_GEN_ADDRESS
SRV_ERR_GEN_DRIVER
SRV_ERR_GEN_RESERVED
SRV_ERR_GEN_COMMUNICATION
SRV_ERR_PLC_CONNECT
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_PROTECTEAPPLI
SRV_ERR_TRFDATA_READDS
Problema de compatibilidad del cartucho entre la aplicación abierta y el autómata.
Problema de compatibilidad entre la aplicación abierta y el autómata.
No hay ninguna aplicación abierta.
El parámetro p_IpAddress no es correcto.
El parámetro p_IpDriver no es correcto.
El autómata está reservado, por lo que es imposible realizar la conexión.
Problema de comunicación entre PL7pro y el autómata.
Es necesario estar en modo local para efectuar la descarga.
Error producido durante la ejecución de la función.
El nombre del archivo dat no es correcto o está vacío.
La aplicación está protegida en modo lectura, por lo que no es posible conectarse con el autómata.
Error de comunicación.
35013159.01 07/2008
35013159.01 07/2008
Servidor OLE Automation
SRV_ERR_TRFDATA_NODATA
SRV_ERR_TRFDATA_READWRITE
SRV_ERR_TRFDATA_INFOFILE
Variables numéricas no configuradas o leídas de forma incorrecta. No se ha creado el archivo.
Problema en el archivo dat.
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.
z Salida:
Código de retorno de tipo short. 0 en el caso de una carga con éxito, si un código de error.
105
Servidor OLE Automation
DownloadToPLC
Generalidades
Descripción
Esta función permite telecargar una aplicación en la memoria del autómata.
Sintaxis: integer DownloadToPLC (String p_lpDriver, String p_lpAdresse) z z z z
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:
SRV_ERR_DOWNLOAD_CART
SRV_ERR_COMPATIBLE_PLC
SRV_ERR_GEN_ADDRESS
SRV_ERR_GEN_DRIVER
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_RESERVED
SRV_ERR_GEN_COMMUNICATION
SRV_ERR_PLC_CONNECT
SRV_ERR_PLC_ACTION
Problema de compatibilidad del cartucho de memoria entre la aplicación abierta y el autómata.
Problema de compatibilidad entre la aplicación abierta y el autómata.
El parámetro p_lpAdresse es incorrecto.
El parámetro p_lpDriver es incorrecto.
No hay ninguna aplicación abierta.
El autómata está reservado.
Problema de comunicación.
El autómata ya está conectado.
Error al realizar la descarga.
z Salida:
Código de retorno de tipo short . Bien 0 si la carga se realiza correctamente, bien un código de error.
106
35013159.01 07/2008
Servidor OLE Automation
UploadFromPLC
Generalidades
Descripción
Esta función permite copiar en la memoria una aplicación contenida en un autómata.
Sintaxis: integer UploadFromPLC (String p_lpDriver, String p_lpAdresse, integer p_iReservedMode) z z z z
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:
SRV_ERR_UPLOAD_TRANSFER
SRV_ERR_UPLOAD_ABORT
SRV_ERR_UPLOAD_RESERVED
SRV_ERR_UPLOAD_NOAPPLI
SRV_ERR_GEN_ADDRESS
SRV_ERR_GEN_ACTION
SRV_ERR_PLC_CONNECT
SRV_ERR_GEN_DRIVER
SRV_ERR_GEN_COMMUNICATION
SRV_ERR_PLC_CONNECT
SRV_OPEN_NOT_COMPATIBLE
Problema al transferir la aplicación contenida en el autómata.
Cancelación de la transferencia.
Aplicación reservada.
Autómata virgen.
Dirección incorrecta.
Error de ejecución de la función.
Error de conexión.
Controlador incorrecto.
Error de comunicación.
El autómata está en modo conectado.
Problema de compatibilidad.
z Salida:
Código de retorno de tipo short . Bien 0 si la carga se realiza correctamente, bien un código de error.
35013159.01 07/2008
107
Servidor OLE Automation
UploadDataFromPLC
Generalidades
Descripción
Esta función permite descargar un archivo que contenga palabras en el autómata.
Sintaxis: entero UpLoadDataFromPLC (string Driver, string Address, entero ValMin, entero ValMax, string NameFile) z z z z
Entrada: z 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, z 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: z El servidor PL7 está activo, z z
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:
SRV_ERR_COMPATIBLE_PLC
SRV_ERR_GEN_ADDRESS
SRV_ERR_GEN_DRIVER
SRV_ERR_GEN_RESERVED
SRV_ERR_GEN_COMMUNICATION
SRV_ERR_PLC_CONNECT
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_PROTECTEAPPLI
Problema de compatibilidad entre la aplicación abierta y el autómata.
El parámetro p_IpAddress no es correcto.
El parámetro p_IpDriver no es correcto.
El autómata está reservado, por lo que es imposible realizar la conexión.
Problema de comunicación entre PL7pro y el autómata.
Es necesario estar en modo local para efectuar la descarga.
Error producido durante la ejecución de la función.
El nombre del archivo dat no es correcto o está vacío.
La aplicación está protegida en modo lectura, por lo que no es posible conectarse con el autómata.
108
35013159.01 07/2008
35013159.01 07/2008
Servidor OLE Automation
SRV_ERR_TRFDATA_READDS
SRV_ERR_TRFDATA_NODATA
SRV_ERR_TRFDATA_READWRITE
SRV_ERR_TRFDATA_INFOFILE
SRV_ERR_TRFDATA_RUNREFUSED
SRV_ERR_TRFDATA_READOBJ
SRV_ERR_TRFDATA_WRITEOBJ
SRV_TRFDATA_OVERFLOW
SRV_TRFDATA_BORNENOCORRECT
Error de comunicación.
Variables numéricas no configuradas o leídas de forma incorrecta. No se ha creado el archivo.
Problema en el archivo dat.
Problema en el archivo dat.
El autómata rechazó la petición de paso a
RUN (Entrada Run/Stop posicionada a
STOP).
Error de lectura o de escritura de las variables numéricas.
Error de lectura o de escritura de las variables numéricas.
Atención, el margen de valores era demasiado grande, por lo que ha habido un rebasamiento.
Los valores mínimo y máximo son incorrectos.
z Salida:
Código de retorno de tipo short. 0 en el caso de una descarga con éxito, si un código de error.
109
Servidor OLE Automation
UploadFromPLCWithSymbol
Generalidades
Descripción
Esta función permite descargar una aplicación con los símbolos asociados que contiene el autómata.
Sintaxis: integer UpLoadFromPLCWithSymbol (string Driver, string Address, integer ReserveMode) z z z z
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: z z
El servidor PL7 está activo.
PL7 está en modo local.
z 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:
SRV_ERR_COMPATIBLE_PLC
SRV_ERR_GEN_ADDRESS
SRV_ERR_GEN_DRIVER
SRV_ERR_GEN_RESERVED
SRV_ERR_GEN_COMMUNICATION
SRV_ERR_PLC_CONNECT
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_PARAM_EMPTY
Problema de compatibilidad entre la aplicación abierta y el autómata.
El parámetro p_IpAddress no es correcto.
El parámetro p_IpDriver no es correcto.
El autómata está reservado, por lo que es imposible realizar la conexión.
Problema de comunicación entre
PL7Pro y el autómata.
Es necesario estar en modo local para efectuar la descarga.
Error producido durante la ejecución de la función.
El nombre del archivo dat no es correcto o está vacío.
110
35013159.01 07/2008
35013159.01 07/2008
Servidor OLE Automation
SRV_ERR_GEN_PROTECTEAPPLI
SRV_OPEN_NOK_COMPATIBLES
SRV_ERR_UPLOAD_NOAPPLI
SRV_ERR_UPLOAD_READINFOSYMB
SRV_ERR_UPLOAD_WRITEINFOSYMBOL
SRV_ERR_UPLOAD_INVALIDSYMB
SRV_ERR_UPLOAD_INVALIDVERSION
SRV_ERR_UPLOAD_SYMBERR
SRV_ERR_UPLOAD_NBSYMBERR_NOCORRECT
SRV_ERR_UPLOAD_SYMBFILE
SRV_ERR_UPLOAD_READSYMBFILE
SRV_ERR_UPLOAD_PBMEM
SRV_ERR_UPLOAD_ABORTSYMB
SRV_ERR_UPLOAD_CHECKSYMB
SRV_ERR_UPLOAD_DIFFSYMB
La aplicación está protegida en modo lectura, por lo que no es posible conectarse con el autómata.
El servidor no soporta el nivel de la aplicación STX que desea abrir.
Se ha producido un error durante la transferencia de la aplicación.
Error de comunicación durante la lectura de la información integrada de la base.
Error de escritura. Si el disco de almacenamiento está saturado en el archivo dat.
Base de símbolos integrada en el autómata inválida.
Esta versión de PL7 no soporta la versión de la base de símbolos integrada.
Error interno en la base de símbolos integrada.
Incoherencia en los objetos almacenados en la base comprimida.
Problema de lectura de la base que contiene el autómata.
Error de lectura de la base que contiene el autómata.
La memoria está saturada, la operación no puede realizarse normalmente.
Abandono de la lectura del archivo de la base de símbolos integrada.
Se ha detectado una diferencia entre la suma de control integrada y la suma de control recalculada.
Se ha detectado una diferencia entre la información transferida y la información recalculada.
z 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.
111
Servidor OLE Automation
GetSymbol
Generalidades
Descripción
Esta función permite dar el símbolo y el comentario asociados a una variable.
Síntesis: integer GetSymbol (String p_lpRepere, String* p_bsSymbole, String* p_bsComment) z z z z
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:
SRV_ERR_ADDRESSSYNTAX
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_ADDRESS
SRV_ERR_GEN_ACTION
La cadena de caracteres pasada a parámetros no corresponde a ninguna variable.
No hay ninguna aplicación abierta.
p_lpRepere está vacío.
Error al ejecutar la función.
Dirección incorrecta.
Error de ejecución de la función.
z 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: z El símbolo asociado ( p_bsSymbole ).
z El comentario asociado ( p_bsComment ).
112
35013159.01 07/2008
Servidor OLE Automation
SetServerIHM
Generalidades
Descripción
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.
Sintaxis: integer SetServerIHM (integer p_bIHM) z z z z
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:
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_MODIFAPPLI
Error al ejecutar la función.
Aplicación en curso de modificación.
z Salida:
Código de retorno de tipo short . Bien 0 si la carga se realiza correctamente, bien un código de error.
35013159.01 07/2008
113
Servidor OLE Automation
SetDownloadFunction
Generalidades
Descripción
Esta función permite autorizar o no autorizar la transferencia de una aplicación mediante el servidor en un autómata.
Sintaxis: booleano SetDownloadFunction (integrar Download) z z z z
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: z El servidor PL7 está activo, z PL7 está en modo local.
Salida:
TRUE.
Limitaciones:
Esta función sólo prohibe la transferencia para una utilización en modo servidor.
114
35013159.01 07/2008
Servidor OLE Automation
GetPL7State
Generalidades
Descripción
Esta función permite obtener el estado del servidor.
Sintaxis: integer GetPL7State (String* p_lpStation, String * p_lpConnection) z z z
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:
SRV_ERR_GEN_ACTION Error al ejecutar la función.
z 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: z el estado de la estación (abierta o cerrada); z el estado del modo (local o conectado). En modo conectado, se indica si el estado del autómata es run o stop.
35013159.01 07/2008
115
Servidor OLE Automation
GetSTXAppIdentity
Generalidades
Descripción
Esta función permite conocer la información general sobre una aplicación.
Sintaxis: integer GetSTXAppIdentity (String p_lpNameStx, VARIANT FAR* p_pVarInfo) z z z z
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:
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_ACTION
SRV_ERR_APPLIINFO_NOK p_ lpNameStx está vacío.
Error al ejecutar la función.
Información incorrecta.
8
9
6
7
10
11
4
5
2
3
0
1 z 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:
Nombre de la estación
Número de versión de la aplicación
Fecha y hora de modificación
Firma de la estación
Firma relativa a la configuración de las entradas/salidas locales
Firma relativa a la configuración de las entradas/salidas remotas
Firma relativa al código PL7
Firma relativa al grafcet
Firma relativa a las constantes
Firma relativa a los símbolos
Firma relativa a la reserva
Comentario asociado a la aplicación
116
35013159.01 07/2008
Servidor OLE Automation
GetPLCAppIdentity
Generalidades
Descripción
Esta función permite conocer la información general sobre la aplicación contenida en un autómata.
Sintaxis: integer GetPLCAppIdentity (String p_lpDriver, String p_lpAdresse, VARIANTFAR* p_pvInfoAppli) z z z z
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:
SRV_ERR_APPLIINFO_NOK
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_ADDRESS
SRV_ERR_COMPATIBLE_PLC
SRV_ERR_PLC_BLANK
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_DRIVER
SRV_ERR_GEN_COMMUNICATION
Información incorrecta.
Error al ejecutar la función.
Dirección incorrecta.
Problema de compatibilidad entre API y el programa PL7.
El autómata no contiene ninguna aplicación.
Problema al guardar la información relativa a la aplicación.
El parámetro p_lpDriver es incorrecto.
Error de comunicación.
35013159.01 07/2008
117
Servidor OLE Automation
6
7
4
5
2
3
0
1
8
9
10
11 z 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: nombre de la estación, número de la versión de la aplicación, fecha y hora de modificación, firma de la estación, firma relativa a la configuración de las entradas/salidas locales, firma relativa a la configuración de las entradas/salidas remotas, firma relativa al código PL7, firma relativa al grafcet, firma relativa a las constantes, firma relativa a los símbolos, firma relativa a la reserva, comentario asociado a la aplicación.
118
35013159.01 07/2008
Servidor OLE Automation
SendCommandToPLC
Generalidades
Descripción
Esta función permite enviar un comando al autómata.
Sintaxis: integer SendCommandToPLC (integer p_iCommand) z z z z
Entrada: tipo de comando que el usuario desee ejecutar.
Hay 3 tipos posibles: z SRV_COMMAND_INIT: comando de inicialización del autómata.
z z
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:
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_NOTOPEN
SRV_ERR_COMMAND_NOTINLOCAL
SRV_COMMAND_ERRINIT
Comando incorrecto.
No hay ninguna aplicación abierta.
El servidor está en modo local.
No es posible llevar a cabo la función INIT, el autómata está en RUN.
z Salida:
Código de retorno de tipo short . Bien 0 si la carga se realiza correctamente, bien un código de error.
35013159.01 07/2008
119
Servidor OLE Automation
SetDriverAndAdresse
Generalidades
Descripción
Esta función permite guardar el controlador y la dirección de la estación actual.
Sintaxis: integer SetDriverAndAdresse (String p_lpDriver, String p_lpAdresse) z z z z
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:
SRV_ERR_GEN_ADDRESS
SRV_ERR_GEN_DRIVER
SRV_ERR_PLC_CONNECT
SRV_ERR_PLC_ACTION
SRV_ERR_PARAM_EMPTY
La dirección pasada a parámetro es incorrecta.
El controlador pasado a parámetro es incorrecto.
El servidor está en modo conectado.
Error al ejecutar la función.
Los parámetros están vacíos.
z 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.
120
35013159.01 07/2008
Servidor OLE Automation
OpenTool
Generalidades
Descripción
Esta función permite abrir las herramientas presentes en la cadena de caracteres pasada a parámetro.
Sintaxis: integer OpenTool (String p_lpListTool) z z z z
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:
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_WITHIHM
SRV_ERR_GEN_OPENEDTVDATA
No es posible abrir la herramienta.
Parámetro vacío
No hay ninguna aplicación abierta.
Función disponible con el servidor PL7 en modo IHM.
No se puede abrir la herramienta "Tabla de animación".
35013159.01 07/2008
121
Servidor OLE Automation z Salida:
Código de retorno de tipo short .
Lista de los números de herramientas aplicables a PL7
188
189
207
210
212
214
215
13
14
15
8
10
12
Número
5
6
7
Designación
Abre el editor LD.
Abre el editor Grafcet.
Abre el editor IL.
Abre el editor ST.
Abre el editor de configuración.
Abre el editor de variables.
Abre el navegador de referencias cruzadas.
Crea una tabla de animación.
Abre el editor de documentación.
Abre la herramienta de importación de la aplicación.
Abre el editor de texto.
Abre la pantalla de funcionamiento.
Abre el editor de tipo DFB.
Abre el navegador de la aplicación.
Abre el navegador de depuración Grafcet.
Abre el editor de código DFB en ST.
122
35013159.01 07/2008
Servidor OLE Automation
SetPosPL7Windows
Generalidades
Descripción
Esta función permite dimensionar la ventana PL7.
Sintaxis: integer PosPL7Windows (integer CoordX, integer CoordY, integer CoordCX,integer
CoordCY) z z z z
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:
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_WITHIHM
Error del comando.
Parámetro vacío.
Función disponible con el servidor PL7 en modo
IHM.
z Salida:
Código de retorno de tipo short .
35013159.01 07/2008
123
Servidor OLE Automation
ShowProgram
Generalidades
Descripción
Esta función permite abrir los programas presentes en la cadena de caracteres pasada a parámetro.
Sintaxis: integer ShowProgram (String p_lpListProgram) z z z z
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:
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_WITHIHM
Error del comando
No hay ninguna aplicación abierta.
Parámetro vacío
Función disponible con el servidor PL7 en modo
IHM
No es posible abrir el módulo.
SRV_ERR_GEN_SHOWPROGRAM z z
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 .
124
35013159.01 07/2008
Servidor OLE Automation
CloseProgram
Generalidades
Descripción
Esta función permite cerrar los programas presentes en la cadena de caracteres pasada a parámetro.
Sintaxis: integer CloseProgram (String p_lpListProgram) z z z z
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:
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_WITHIHM
No hay ninguna aplicación abierta.
Error al cerrar
Parámetro vacío
Función disponible con el servidor PL7 en modo
IHM.
No se puede cerrar el módulo.
SRV_ERR_GEN_CLOSEPROGRAMM z z
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.
35013159.01 07/2008
125
Servidor OLE Automation
ShowIOModule
Generalidades
Descripción
Esta función permite abrir los módulos de entradas/salidas presentes en la cadena de caracteres pasada a parámetro.
z z z z
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:
SRV_ERR_GEN_NOTOPEN
SRV_ACTION_NOK
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_WITHIHM
No hay ninguna aplicación abierta.
Problema de activación de los derechos de usuario
Parámetro vacío
Función disponible con el servidor PL7 en modo
IHM z z
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.
126
35013159.01 07/2008
Servidor OLE Automation
CloseIOModule
Generalidades
Descripción
Esta función permite cerrar los módulos de entrada/salida presentes en la cadena de caracteres pasada a parámetro.
Sintaxis integer CloseIOModule (String p_lpListIOModule).
z z z z
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:
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_WITHIHM
Error del comando de cierre
Parámetro vacío
No hay ninguna aplicación abierta.
Función disponible con el servidor PL7 en modo
IHM z z
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 .
35013159.01 07/2008
127
Servidor OLE Automation
ShowDFB
Generalidades
Descripción
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.
Sintaxis integer ShowDFB (String p_lpListeDFB) z z z z
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:
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_WITHIHM
Parámetro vacío.
No hay ninguna aplicación abierta.
Problema al abrir un DFB.
Función disponible con el servidor PL7 en modo
IHM.
z 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.
128
35013159.01 07/2008
Servidor OLE Automation
CloseDFB
Generalidades
Descripción
Esta función permite cerrar uno o varios DFB presentes en la cadena de caracteres pasada a parámetro.
Sintaxis integer CloseDFB (String p_lpListeDFB) z z z z
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:
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_WITHIHM
Parámetro vacío.
No hay ninguna aplicación abierta.
Problema al abrir un DFB
Función disponible con el servidor PL7 en modo
IHM.
z 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.
35013159.01 07/2008
129
Servidor OLE Automation
GetMessageError
Generalidades
Descripción
Esta función permite asociar un mensaje de error en función del código pasado a parámetro.
Sintaxis
String GetMessageError (integer p_iCodeError) z z
Entrada:
El código de error de uno de los servicios que debe obtenerse.
Contexto nominal: el servidor PL7 está activo.
z Salida:
Una cadena de caracteres que corresponde al mnemónico del error.
130
35013159.01 07/2008
Servidor OLE Automation
GetServerVersion
Generalidades
Descripción
Esta función permite conocer el número de la versión del servidor PL7pro.
Sintaxis
String GetServerVersion () z Contexto nominal: el servidor PL7 está activo.
z Salida:
Una cadena de caracteres que corresponde al mnemónico de la versión del servidor PL7pro.
35013159.01 07/2008
131
Servidor OLE Automation
ImportScyFile
Generalidades
Descripción
Esta función permite importar a partir de un archivo scy de los símbolos en la aplicación activa.
Sintaxis: entero ImportScyFile (string ScyFile) z z z z
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: z El servidor PL7 está activo, z PL7 está en modo local, estación abierta.
Caso de error:
SRV_ERR_GEN_ACTION
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_NOTOPEN
SRV_ERR_SRC_FILE
Error producido durante la ejecución de la función.
El nombre del archivo dat no es correcto o está vacío.
No hay aplicación STX abierta.
Problema en el archivo original.
z z
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.
132
35013159.01 07/2008
Servidor OLE Automation
DownloadStationWithSymbol
Generalidades
Descripción
Esta función permite cargar una aplicación y su base comprimida de símbolos en el autómata.
Sintaxis: entero DownloadStationWithSymbol (String p_IpDriver, String p_IpAdresse) z z z z
Entrada: z 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: z z
El servidor PL7 está activo.
Una aplicación está abierta, contiene símbolos y/o dfb. La aplicación se ha z 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:
SRV_ERR_DOWNLOAD_CART
SRV_ERR_COMPATIBLE_PLC
SRV_ERR_PC_BLANK
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_ADDRESS
SRV_ERR_GEN_DRIVER
SRV_ERR_GEN_RESERVED
Problema de compatibilidad del cartucho entre la aplicación abierta y el autómata.
Problema de compatibilidad entre la aplicación abierta y el autómata.
No hay ninguna aplicación abierta.
No hay ninguna aplicación abierta.
El parámetro p_lpAddresse no es correcto.
El parámetro p_lpDriver no es correcto.
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.
35013159.01 07/2008
133
Servidor OLE Automation z 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.
134
35013159.01 07/2008
Servidor OLE Automation
CompareSymbolPCAndSymbolPLCAppli
Generalidades
Descripción
Esta función permite conocer la información general de una aplicación incluida en un autómata.
Sintaxis:
Entero CompareSymbolPCAndSymbolPLCAppli (VARIANT FAR* p_pVarInfo i) z z z
Función denominada:
FicheCompareSymbolPCAndSymbolPLCAppli: Función de la gestión de la estación ( gesta.dll
).
Contexto nominal: z El servidor PL7 está activo, y además se encuentra en modo local. Una z 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:
SRV_ERR_GEN_ADDRESS
SRV_ERR_COMPATIBLE_PLC
SRV_ERR_PLC_BLANK
SRV_ERR_GEN_ACTION
SRV_ERR_APPLIINFO_NOK
SRV_ERR_GEN_DRIVER
SRV_ERR_GEN_COMMUNICATION
SRV_ERR_GEN_NOTOPEN
SRV_ERR_GEN_CONNECT
SRV_ERR_GEN_COMPARESYMB
Dirección incorrecta.
Problema de compatibilidad del TSX con el software PL7.
El autómata no contiene aplicación.
Problema durante el almacenamiento de información de la aplicación.
Información incorrecta.
El parámetro p_lpDriver no es correcto.
Error de comunicación.
No hay ninguna aplicación abierta.
No se ha podido realizar la conexión.
Se ha producido un error durante la comparación.
35013159.01 07/2008
135
Servidor OLE Automation z 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.
z 1: Número total de símbolos contenidos en la aplicación local.
z z z
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.
z z z z z
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.
z z z z z z
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.
136
35013159.01 07/2008
Rendimiento
6
Presentación
Objeto
Contenido
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.
Este capítulo contiene las siguientes secciones:
Sección
6.1
6.2
6.3
6.4
Apartado
Información general
Rendimiento de las instrucciones en autómatas Micro
Rendimiento de las instrucciones en autómatas Premium
Funciones avanzadas
Página
137
35013159.01 07/2008
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.
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.
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).
138
35013159.01 07/2008
Tamaño de la memoria de aplicación
Rendimiento
El tamaño de la aplicación es la suma de los elementos siguientes:
Elemento
Programa
Método de cálculo
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,
.
Objetos PL7 configurados Véase
Tamaño de memoria de los objetos, p. 220
.
Módulo de entradas/ salidas configuradas
Comentarios
Véase Resumen del consumo de memoria de los módulos en
y Resumen del consumo de memoria de los
Los comentarios del programa ocupan un byte por carácter.
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.
Lenguaje
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
Tamaño
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.
En el capítulo
Descripción de las zonas de memoria, p. 219 se recuerdan las
diferentes zonas de memoria ocupadas por la aplicación.
35013159.01 07/2008
139
Rendimiento
6.2
Rendimiento de las instrucciones en autómatas
Micro
Presentación
Objeto
Contenido
Esta sección describe el rendimiento de las instrucciones ejecutadas en autómata
Micro.
Esta sección contiene los siguientes apartados:
Apartado
Rendimiento de las instrucciones booleanas
Rendimiento de los bloques de función
Aritmética entera y con coma flotante
Instrucciones sobre el programa y estructuras de control
Conversiones digitales
Instrucciones sobre cadena de bits
Instrucción sobre tablas de palabras, palabras dobles y flotantes
Instrucciones de gestión del tiempo
Instrucciones sobre cadenas de caracteres
Funciones específicas y funciones Orphée
Instrucciones de entradas/salidas explícitas
Página
140
35013159.01 07/2008
Rendimiento de las instrucciones booleanas
Rendimiento
35013159.01 07/2008
141
Rendimiento
Rendimiento
LD IL
La tabla siguiente describe el rendimiento de las instrucciones booleanas.
ST Objetos Tiempo de ejecución (
μ s)
37 05/08/10 37 20
RAM
37 20 cart.
0,25 0,13 0,19 1
Tamaño
En palabras
P
N
LD
LDN
LDR,
LDF
%M1 (1)
%M1[%MW2]
%MW0:X0 (2)
%IWi.j:Xk (3)
%MW0[%MW8]:X0
%KW0[%MW8]:X0
%M1
%M1[%MW2]
0,25
13,10
6,06
77,04
16,29
87,27
0,50
13,01
0,13
12,85
5,75
69,25
15,55
79,05
0,25
12,75
0,19
12,85
5,75
69,25
15,55
79,05
0,38
12,75
2
7
8
12
4
8
1
7
AND,
ANDN , AND (, AND (N , idem OR idem LD,LDN
ANDR, ANDF, AND (R, AND (F, idem OR idem LDR,LDF
P
N
XOR
XORN
XORR,
XORF
%M1
%M1[%MW2]
%MW0:X0
%IWi.j:Xk
%MW0[%MW8]:X0
%KW0[%MW8]:X0
%M1
%M1[%MW2]
1,25
26,94
12,86
83,84
33,33
104,31
2,25
27,28
0,63
26,08
11,88
75,38
31,48
94,98
1,13
26,13
0,94
26,26
12,06
75,56
31,66
95,16
1,69
26,44
14
18
9
19
5
13
10
14
142
35013159.01 07/2008
Rendimiento
LD IL ST Objetos
ST
STN
S
R
%M1 (1)
%M1[%MW2]
S
%MW0:X0
%NW{i}.j:Xk (3)
R
%MW0[%MW8]:X0 bobinas múltiples en ladder, «coste» de la segunda bobina y de las siguientes bloque de operación
[ acción] bloque de comparación horizontal bloque de operación vertical
Convergencia
Divergencia no seguida de una convergencia
[ LD
[comparación
]]
[ )]
[ ]
[ )] bloque ejecutado no ejecutado
Tiempo no comprendido en la comparación entre 2 %MWi bloque ejecutado
Ladder, 1 divergencia
[MPS, MPP,
MRD]
Lista MPS+MPP
Lista MRD
Tiempo de ejecución (
μ s)
37 05/08/10 37 20
RAM
37 20 cart.
0,50
13,10
5,88
76,86
16,41
0,25
0,25
12,85
5,60
69,10
15,65
0,13
0,38
12,85
5,60
69,10
15,65
0,19
0,74
5,55
0,00
12,38
0,25
0,25
0,75
0,25
0,75
5,40
0,00
11,85
0,13
0,13
0,38
0,13
0,75
5,40
0,00
11,85
0,19
0,19
0,56
0,19
4
1
1
3
1
1
1
0
4
8
2
7
8
1
Tamaño
En palabras
Leyenda
1.
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:Xj
3.
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.
35013159.01 07/2008
143
Rendimiento
Rendimiento de los bloques de función
Temporizador
IEC
La tabla siguiente describe el rendimiento del bloque de función del temporizador
IEC.
LD IL ST Condiciones Tiempo de ejecución
(
μ s)
3705/08/10 3720
Tamaño
(palabras)
41,11 3 Flanco ascendente en IN
IN %TM1
(flanco ascendente)
START
%TM1
Inicio del temporizador
Flanco descendente en IN
IN %TM1
(flanco descendente)
DOWN
%TM1
Parada del temporizador
IN =1 IN %TM1
(=1)
Temporizador activo
43,39
17,47
18,74
17,01
17,99
IN =0 IN %TM1
(=0)
Temporizador inactivo
17,40 16,67
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)
3705/08/10 3720
Activar
Tamaño
(palabras)
3
E =0
START
%T1
STOP
%T1
RESET
%T1
Inmovilizar 12,63
Poner a cero 12,94
12,15
12,15
Temporizador activo
17,55
Temporizador inactivo
17,00
144
35013159.01 07/2008
Contador progresivo/ regresivo
Monoestable
Rendimiento
La tabla siguiente describe el rendimiento del bloque de función del contador progresivo/regresivo.
LD IL ST Condiciones Tiempo de ejecución
(
μ s)
3705/08/10 3720
17,92 Puesta a cero, R=1
Preconfigur ación, S=1
R %C8 (=1) RESET
%C8
S %C9 (=1) PRESET
%C9
Puesta a cero 18,69
Preconfigura ción
UP %C8 Up
20,42
19,92 Flanco ascendente en CU
CU %C8
(flanco)
19,73
19,10
Flanco ascendente en CD
CD %C9
(flanco)
Entradas inactivas
R/S/CU/CD bit inactivo
DOWN
%C9
Down
Ninguna acción
19,92
13,27
19,10
12,81
Tamaño
(palabras)
3
La tabla siguiente describe el rendimiento del bloque de función monoestable.
LD IL ST
Flanco ascendente en S
S %MN0, flanco ascendente
S=1 S %MN0,
S =1/0
START
%MN0
Condiciones Tiempo de ejecución
(
μ s)
Inicio
3705/08/10
35,08
3720
33,16
Tamaño
(palabras)
3
Monoestable activo
11,64 11,17
35013159.01 07/2008
145
Rendimiento
Registro
Programador cíclico
La tabla siguiente describe el rendimiento del bloque de función del registro.
LD IL
Flanco en I I %R2
(flanco)
Flanco en O O %R2
(flanco)
R=1
Entradas inactivas
R %R1
(=1)
I/O/R, bit inactivo
ST
PUT %R2
Condiciones Tiempo de ejecución
(
μ s)
Almacenamie nto
21,90 21,27
21,27 GET %R2 Retirada del almacenamie nto
RESET
%R2
21,90
Puesta a cero 16,90
No hay ninguna acción
12,61
16,02
12,19
Tamaño
(palabras)
3
La tabla siguiente describe el rendimiento del programador cíclico.
LD
Flanco en U
R=1
Entradas inactivas
IL
U %DR0
R %DR1
R/U, bit inactivo
ST
UP %DR1
RESET
%DR2
Condiciones
Up, fijo
Puesta a cero, fijo
Tiempo de ejecución (
μ s)
181,37 169,13
Por bit de orden 19,30
174,15
Por bit de orden 19,30
No hay ninguna acción, fijo
175,92
19,30
162,03
19,30
164,00
Por bit de orden 19,30 19,30
Tamaño
(palabras)
3
146
35013159.01 07/2008
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
Valor inmediato de longitud simple
Valor inmediato de longitud doble
Palabras, palabras dobles o flotantes indexadas
Posición del objeto
-
-
Tipo de corrección
Tiempo de ejecución (
μ s)
3705/08/10 3720
1,20 1,10 Valor que ha de eliminarse del mencionado para %MW
Valor que ha de eliminarse del mencionado para %MD o
%MF
0,75 1
0
0
10,05 4 Tras el signo:=
Primera operación, el primer operando no se ha indexado, o asignación
Valor que ha de añadirse
10,52
Valor que ha de añadirse
11,20 10,60
Tamaño en palabras
5
Segundo operando, si el primero se ha indexado de la misma manera
Valor que ha de añadirse
Valor que ha de añadirse
13,37
70,98
12,60 5
63,50 2 %KWi,
%KWi[%MWj]
%KDi, %KFi
Palabras comunes, palabras de entrada/salida
35013159.01 07/2008
147
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
La operación se encuentra, como mínimo, en segunda posición dentro de la frase.
Ejemplo: %MW2 en:=%MW0*%MW1*
%MW2
Operación con resultado de una operación entre paréntesis o de mayor prioridad
Ejemplo:
%MW0+%MW2+(...)
Tipo de objeto Tipo de
%MW
%MD o %MF
%MW
%MD o %MF corrección
Tiempo de ejecución
(
μ s)
3705/08/10 3720
0,55 Valor que ha de añadirse al mencionado para %MW
0,69
Valor que ha de añadirse al mencionado para %MD o
%MF
0,99
Valor que ha de añadirse al mencionado para %MW
2,86
Valor que ha de añadirse al mencionado para %MD o
%MF
3,60
0,75
2,55
3,15
Tamaño
37xx
0
0
1
1
148
35013159.01 07/2008
Rendimiento
Tabla de rendimiento de las instrucciones
La tabla siguiente describe el rendimiento de las instrucciones aritméticas.
ST Objetos
/ objeto tras:=
:=
%MW0
%MD0, %MF0
%MW0
%MD0 y %MF0
=, <>, <=, <, >, >= %MW0
%MD0
%MF0
AND, OR, XOR %MW0
%MD0
+, %MW0
*
/, REM
ABS, -objeto
NOT
SQRT
INC, DEC
%MD0
%MF0
%MW0
%MD0
%MF0
%MW0
%MD0
%MF0
%MW0
%MD0
%MF0
%MW0
%MD0
%MW0
%MD0
%MF0
%MW0
%MD0
Condiciones
205,21
62,47
7,20
9,97
13,01
6,69
7,80
17,02
85,73
165,04
4,86
5,20
9,21
62,83
9,75
39,63
58,26
10,69
8,94
10,71
29,06
7,29
9,21
7,29
Tiempo de ejecución (
μ s)
3705/08/10 3720
4,81
6,45
4,50
5,70
4,46
5,15
4,30
4,85
2
2
2
2
Tamaño
(palabras)
37xx
201,38 3
60,25 3
6,95 3
9,53 3
12,50 3
6,45 3
7,40 3
16,70 3
85,25 3
158,40 3
4,40 2
4,75 2
8,50 4
10,26 4
28,39 4
6,90
8,55
6,90
3
3
3
8,55 3
61,20 3
9,10 3
36,50 3
56,90 3
10,08 3
35013159.01 07/2008
149
Rendimiento
ST Objetos
SHL, SHR, ROL,
ROR
%MW0
%MD0
LN
LOG
EXP
EXPT
TRUNC
COS
SIN
TAN
ACOS
ASIN
ATAN %MF0
DEG_TO_RAD
RAD_TO_DEG
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
Condiciones
Para un bit
Para un bit
Por bit suplementario
Tiempo de ejecución (
μ s)
3705/08/10 3720
17,74
20,58
0,063
17,05
19,15
5
5
Tamaño
(palabras)
37xx
1371,60
1458,00
1155,60
2988,00
204,00
2829,60
2840,40
2937,60
4082,40
4082,40
2786,40
852,00
720,00
2620,0
0
2630,0
0
2720,0
0
3780,0
0
3780,0
0
2580,0
0
1270,0
0
1350,0
0
1070,0
0
3
3
3
2490,0
0
3
170,00 3
3
3
3
3
3
3
710,00 3
600,00 3
150
35013159.01 07/2008
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
Jump %Li
Maskevt
Tiempo de ejecución (
μ s)
3705/08/10
41,93
12,21
3720
38,20
10,80
3
1
Tamaño (palabras)
37xx
Unmaskevt
SRi
Return
40,27
48,68
42,18
37,10
42,88
38,33
1
3
3
35013159.01 07/2008
151
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 (
3705/08/10 3720
μ s) Tamaño
(palabras)
37xx
<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; condición verdadera condición falsa
(salto) los tiempos y volúmenes indicados anteriormente se han de añadir a los de la acción que contiene la estructura
3,60
5,55
If <cond> then <action1> else <action2> end_if; condición verdadera
9,15
3,30
5,40
8,70
2
4
5,40 condición falsa while <cond> do.<action> end_while
5,55 paso al anillo con nuevo cierre
9,15 salida del anillo 5,55 repeat <action> until <cond> end_repeat
5,55 paso al anillo con nuevo cierre
último paso 3,60
8,70
5,40
5,40
3,30
2
2 for <mot1:=mot2>to <mot3> do <action> end_for entrada en el
ámbito, ejecutada una sola vez
8,58
29,38 paso al anillo con nuevo cierre salida del anillo 20,42
8,25
27,35
19,40
15
152
35013159.01 07/2008
Rendimiento
Conversiones digitales
Rendimiento La tabla siguiente describe el rendimiento de las instrucciones de conversiones digitales.
ST Tiempo de ejecución (
μ s)
BCD_TO_INT
INT_TO_BCD
GRAY_TO_INT
INT_TO_REAL
DINT_TO_REAL
REAL_TO_INT
REAL_TO_DINT
DBCD_TO_DINT
DBCD_TO_INT
DINT_TO_DBCD
INT_TO_DBCD
3705/08/10
25,03
21,66
36,98
40,90
33,32
58,75
44,59
1 324,85
1 265,54
1 124,85
564,85
3720 RAM
24,55
21,15
36,55
40,75
32,55
58,55
44,05
1 065,15
925,70
825,15
445,15
3720 cart
24,55
21,15
36,55
40,75
32,55
58,55
44,05
1 134,70
986,15
879,10
474,40
5
5
3
3
5
5
3
3
3
3
Volumen
(palabras)
37xx
3
35013159.01 07/2008
153
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.
ST
%M30:8:= 0
%M30:16:= 1
%M30:24:= 2
%M30:32:= 2
Tamaño (bit)
8
16
24
32
Tiempo de ejecución (
μ s)
3705/08/10 3720
RAM
3720 cart
Tamaño
(palabras)
37xx
19,38
20,38
24,25
25,25
18,88
19,88
23,35
24,35
18,88
19,88
23,35
24,35
6
6
6
6
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)
3705/08/10 3720
RAM
3720 cart
%M30:8:= %M20:8 8
%M30:16:= %M20:16 16
25,54
26,16
24,79
25,41
24,79
25,41
%M30:24:= %M20:24 24
%M30:32:= %M20:32 32
%M30:16:=
COPY_BIT(%M20:16)
16
32
128
33,41
35,91
281,63
440,82
1261,22
32,26
34,76
230,00
360,00
32,26
34,76
244,95
383,40
1030,00 1096,95
9
9
9
6
6
6
6
Tamaño
(palabras)
37xx
154
35013159.01 07/2008
Instrucciones lógicas sobre tabla de bits
Rendimiento
La tabla siguiente describe el rendimiento de las instrucciones lógicas sobre tabla de bits.
ST Tamaño
(bits)
Tiempo de ejecución (
μ s)
3705/08/10 3720
RAM
3720 cart
AND_ARX, OR_ARX, XOR_ARX
%M0:16:=
AND_ARX(%M30:16,%M50:16)
%M0:32:=
AND_ARX(%M30:32,%M50:32)
%M0:128:=
AND_ARX(%M30:128,%M50:12
8)
NOT_ARX
16 397,42
32
128
%M0:16:= NOT_ARX(%M30:16) 16
620,97
1 887,74
281,63
32
128
440,82
1261,22
320,00
500,00
1 520,00
230,00
360,00
340,80
532,50
1 618,80 12
244,95
Tamaño
(palabras)
37xx
12
12
9
383,40 9
1030,00 1096,95 9
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
%MW1:= %M30:8
%MW1:= %M30:16
%MD2:= %M30:24
%MD2:= %M30:32
24
32
%MW1:4:=
BIT_W(%M40:80,0,17,2)
17
%MD1:4:= BIT_D(%M30:80,0,33,0) 33
Tamaño
(bits)
Tiempo de ejecución (
μ s)
3705/08/10 3720
RAM
3720 cart
8
16
14,84
16,34
14,36
15,86
14,36
15,86
14,54
16,04
501,43
379,53
14,23 14,23
15,73 15,73
5
5
390,00 415,35 16
530,00 564,45
Tamaño
(palabras)
37xx
5
5
16
35013159.01 07/2008
155
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
%M30:8:= %MW1
%M30:16:= %MW2
%M30:24:= %MD1
%M30:32:= %MD3
%M30:32:=
W_BIT(%MW200:2,0,2,0)
32
%M30:32:= D_BIT(%MD0:1,0,2,0) 32
8
16
24
32
Tamaño
(bits)
Tiempo de ejecución (
μ s) Tamaño
3705/08/10 3720
RAM
3720 cart
(palabras)
37xx
19,28
20,28
21,20
22,20
488,68
18,68
19,68
20,37
21,37
18,68
19,68
20,37
21,37
5
5
5
5
370,00 394,05 16
567,33 460,00 489,90 16
156
35013159.01 07/2008
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.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
3705/08/10 3720
RAM
3720 cart
%MW0:10:= %MW100 10 palabras por palabra
%MD0:10:= %MD100 10 palabras dobles por palabra doble
47,46
0,34
81,27
42,15
0,20
74,45
2,87
42,15
0,20
74,45
2,65
Tamaño
(palabras)
37xx
7
7
2,65
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
3705/08/10 3720 3720
(palabras)
RAM cart
37xx
%MW0:10:=%MW20:10; 10 palabras por palabra
%MD0:10:=%MD20:10; 10 palabras dobles por palabra doble
95,80
0,77
111,13
1,54
85,35 85,35 9
0,50 0,50
97,65 97,65 9
1,00 1,00
35013159.01 07/2008
157
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)
3705/08/10 3720
RAM
3720 cart
Tamaño
(palabras)
37xx
+, -
%MW0:10:=
%MW10:10 + %MW20:10;
%MD0:10:=
%MD10:10+%MD20:10;
10 palabras 168,04 por palabra 7,13
10 palabras dobles
239,17 por palabra doble
13,84
*
%MW0:10:=
%MW10:10 * %MW20:10;
%MD0:10:=
%MD10:10 * %MD20:10;
10 palabras 189,32 por palabra 9,27
10 palabras dobles
710,35 por palabra doble
61,64
/, REM
%MW0:10:=
%MW10:10 / %MW20:10;
%MD0:10:=
%MD10:10 / %MD20:10;
10 palabras 224,76 por palabra 13,14
10 palabras dobles
2 192,38 por palabra doble
209,16
AND, OR, XOR
%MW0:10:=%MW10:10
AND %MW20:10;
10 palabras 163,69 por palabra 6,66
%MD0:10:=%MD10:10 AND
%MD20:10;
10 palabras dobles
240,14 por palabra doble
13,94
151,95 151,95 14
6,35 6,35
214,40 214,40 14
12,25
175,40 175,40 14
8,70 8,70
603,80 603,80 14
51,20
12,40
12,25
51,20
181,40 181,40 14
9,30 9,30
2 157,35 2 157,35 14
206,55 206,55
147,40 147,40 14
5,85 5,85
215,90 215,90 14
12,40
158
35013159.01 07/2008
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)
3705/08/10 3720 RAM 3720 cart
Tamaño
(palabras)
37xx
+, -
%MW0:10:=%MW10:10 +
%MW20; o %MW0:10:= %MW20 +
%MW10:10
%MD0:10:=%MD10:10 +
%MD20;
10 palabras por palabra
10 palabras dobles por palabra doble
119,12
2,87
159,68
6,57
108,55
2,65
147,45
6,25
108,55
2,65
147,45
6,25
12
12
*
%MW0:10:=
%MW20*%MW10:10;
166,86 132,45 132,45 12
%MD0:10:=
%MD20*%MD10:10;
10 palabras por palabra
10 palabras dobles por palabra doble
7,94
587,01
49,18
5,05
522,95
43,80
5,05
522,95
43,80
12
/, REM
%MW0:10:=%MW10:10 /
%MW30;
196,69 155,85 155,85 15
%MD0:10:=
MD10:10 / %MD30
10 palabras por palabra
10 palabras dobles por palabra doble
10,86
2 230,17
213,66
7,30
2 173,95 2 173,95 12
208,90
7,30
208,90
AND, OR, XOR
35013159.01 07/2008
159
Rendimiento
ST
%MW0:10:=%MW10:10
AND %MW20;
Tamaño
(de la tabla de palabras)
10 palabras por palabra
%MD0:10:=%MD20 AND
%MD10:10;
10 palabras dobles por palabra doble
NOT
%MW0:10:=NOT(%MW10:
10);
10 palabras por palabra
%MD0:10:=NOT(%MD10:
10)
10 palabras dobles por palabra doble
Tiempo de ejecución (
μ s)
3705/08/10 3720 RAM 3720 cart
117,20
2,64
587,01
6,47
110,28
2,96
126,39
4,50
106,45
2,40
522,95
6,15
100,25
2,75
114,00
4,05
106,45
2,40
522,95
6,15
100,25
2,75
114,00
4,05
Tamaño
(palabras)
37xx
12
12
9
9
160
35013159.01 07/2008
Rendimiento
Función de suma sobre la tabla
La tabla siguiente describe el rendimiento de las instrucciones de suma sobre la tabla.
ST
%MW20:=SUM(%MW0:10);
Tamaño (de la tabla de palabras)
10 palabras
Tiempo de ejecución (
μ s) Tamaño
3705/08/10 3720 3720
(palabras)
RAM cart
37xx
74,30 69,00 69,00 10
2,44
83,58
2,35 2,35
76,90 76,90 10 %MD20:=SUM(%MD0:10); por palabra
10 palabras dobles por palabra doble
%MF20:=SUM_ARR(%MF0:10); 10 palabras dobles por palabra doble
3,17
1634
2,95
1257
2,95
1257 10
Función de comparación de tablas
La tabla siguiente describe el rendimiento de las instrucciones de comparación de tablas.
ST
%MW20:=
EQUAL(%MW0:10;%MW10:10);
Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
3705/08/10 3720
RAM
3720 cart
10 palabras por palabra
103,78
1,13
Tamaño
(palabras)
37xx
93,50 93,50 11
0,90 0,90
%MD20:=
EQUAL(%MD0:10;%MD10:10);
%MF20:=
EQUAL_ARR(%MF0:10;%MF10
:10);
10 palabras dobles por palabra doble
10 palabras dobles por palabra doble
116,17
2,23
741
103,40 103,40 11
1,75
570
1,75
607 11
35013159.01 07/2008
161
Rendimiento
Función de búsqueda
La tabla siguiente describe el rendimiento de las instrucciones de búsqueda en una tabla.
ST
%MW20:=
FIND_EQW(%MW0:10,%KW0)
Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
3705/08/10 3720
RAM
3720 cart
250,00 266,25 15 10 palabras, caso máximo
340,00
Tamaño
(palabras)
37xx
%MD20:=
FIND_EQD(%MD0:10, %KD0)
10 palabras dobles, caso máximo
350,00
833 %MF20:= FIND_EQR(%MF0:10,
%KF0)
10 palabras dobles
%MF20:=
FIND_EQRP(%MF0:10, %KF0)
10 palabras dobles
845
260,00 276,90 16
648
650
690,12 15
692,25 15
%MD20:=
FIND_GTR(%MF0:10, %KF0)
10 palabras dobles
%MD20:= FIND_LTR(%MF0:10,
%KF0)
10 palabras dobles
836
836
643
643
684,79 15
684,79 15
162
35013159.01 07/2008
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.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
3705/08/10 3720 RAM 3720 cart
260,00 276,90 %MW20:=
MAX_ARW(%MW0:10)
%MD20:=
MAX_ARD(%MD0:10)
%MF20:=
MAX_ARR(%MF0:10)
%MF20:=
MIN_ARR(%MF0:10)
10 palabras 350,00
10 palabras dobles
10 palabras dobles
10 palabras dobles
410,00
1366
1270
300,00
1051
977
319,50
1119,31
1040,50
9
9
9
Tamaño
(palabras)
37xx
9
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)
3705/08/10 3720
RAM
10 palabras 350,00
3720 cart
250,00 266,25 15
Tamaño
(palabras)
37xx
%MW20:=
OCCUR_ARW(%MW0:10,
%KW0)
%MD20:=
OCCUR_ARD(%MD0:10,
%KD0)
10 palabras dobles
%MF20:=
OCCUR_ARR(%MF0:10, %KF0)
10 palabras dobles
370,00
1265
270,00 287,55
973
1036,24
16
16
35013159.01 07/2008
163
Rendimiento
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)
3705/08/10 3720
RAM
3720 cart
10 palabras 550,00 400,00 426,00 9
Tamaño
(palabras)
37xx
ROL_ARW(palabra o valor,%MWj:10)
ROL_ARD(%MDi,%MDj:10) 430,00 457,95 9
ROL_ARR(%MFi,%MFj:10)
10 palabras dobles
590,00
10 palabras dobles
585 450
479,25
9
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)
3705/08/10 3720
RAM
3720 cart
700,00 745,50 9 SORT_ARW(%MWi,%MWj:10) 10 palabras, caso máximo
970,00
SORT_ARD(%MDi,%MDj:10) 5 palabras dobles, caso máximo
610,00
SORT_ARR(%MFi,%MFj:10) 10 palabras dobles
1863
450,00 479,25
1433
Tamaño
(palabras)
37xx
9
1526,14 9
164
35013159.01 07/2008
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
%MW2:4:= ADD_DT(%MW2:4,%MD8) 4 400,00
%MD2:= ADD_TOD(%MD2,%MD8)
%MB2:11:=
DATE_TO_STRING(%MD40)
Tiempo de ejecución (
μ s) Volumen
(palabras)
3705/08/10 3720 RAM 3720 cart 37xx
2 100,00
1 370,00
%MW5:= DAY_OF_WEEK()
%MD10:= DELTA_D(%MD2, %MD4)
220,00
1 520,00
%MD10:=
DELTA_DT(%MD2:4,%MW6:4)
3 170,00
%MD10:= DELTA_TOD(%MD2,%MD4) 2 330,00
3 300,00 3 514,50 13
1 550,00 1 650,75 9
900,00 958,50 9
280,00
1 130,00
2 300,00
1 700,00
298,20
1 203,45
2 449,50
1 810,50
5
9
13
9
1 450,00 1 544,25 11 %MB2:20:=
DT_TO_STRING(%MW50:4)
2 050,00
%MW2:4:= SUB_DT(%MW2:4,%MD8) 4 750,00
%MD2:= SUB_TOD(%MD2,%MD8) 2 330,00
%MB2:15:=
TIME_TO_STRING(%MD40)
1 560,00
3 500,00
1 700,00
1 200,00
3 727,50
1 810,50
1 278,00
13
9
9
%MB2:9:= TOD_TO_STRING(%MD40) 1 270,00
%MD100:= TRANS_TIME(%MD2) 500,00
800,00
500,00
852,00
532,50
9
7
35013159.01 07/2008
165
Rendimiento
Acceso al relojcalendario
La tabla siguiente describe el rendimiento de las instrucciones del reloj-calendario.
ST
RRTC(%MW0:4)
WRTC(%MW0:4)
PTC(%MW0:5)
SCHEDULE(%MW0,%MW1,%MW2,
%MD10,%MD12,%M0)ÿ
Tiempo de ejecución (
3705/08/10
93,60
μ s) Volumen
(palabras)
3720 RAM 3720 cart 37xx
84,80 84,80 5
248,61
97,98
1430
230,85
88,60
1100
230,85
88,60
1171,5
5
5
5
166
35013159.01 07/2008
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.
ST Tamaño
(caracteres)
Tiempo de ejecución (
μ s)
3705/08/10 3720 RAM 3720 cart
105,16 93,80 93,80
Tamaño
(palabras)
37xx
9 %MB0:8:=%MB10:8 Ocho caracteres
Por carácter
%MB0:8:=’abcdefg’ Ocho caracteres
Por carácter
1,65
120,72
4,15
1,30
110,20
3,85
1,30
110,20
3,85
11
0,5
Conversiones palabra <-> cadenas de caracteres
La tabla siguiente describe el rendimiento de las instrucciones de conversión de palabras y de cadenas de caracteres.
ST Tiempo de ejecución (
μ s)
3705/08/10 3720 RAM 3720 cart
97,69 91,95 91,95
Tamaño
(palabras)
37xx
7 %MW1:=
STRING_TO_INT(%MB0:7)
%MB0:7:=
INT_TO_STRING(%MW0)
104,36 96,70 96,70 7
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 Tiempo de ejecución (
μ s)
3705/08/10 3720 RAM 3720 cart
1070,53 965,62 965,62
Tamaño
(palabras)
37xx
7 %MD1:=
STRING_TO_DINT(%MB0:13)
%MB0:13:=
DINT_TO_STRING(%MD0)
322,29 295,35 295,35 7
35013159.01 07/2008
167
Rendimiento
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)
3705/08/10 3720 RAM 3720 cart
1783,70 1634,53 1634,53
Tamaño
(palabras)
37xx
7 %MF1:=
STRING_TO_REAL(%MB0:15)
%MB0:15:=
REAL_TO_STRING(%MF0)
741,75 681,20 681,20 7
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)
3705/08/10 3720
RAM
3720 cart
1170,00
Tamaño
(palabras)
37xx
770,00 820,05 15 %MB10:20:=
CONCAT(%MB30:10,%MB50:10)
%MB10:20:= DELETE(%MB10:22,2,3); 950,00 600,00 639,00 15
860,00 520,00 553,80 13 %MW0:=
EQUAL_STR(%MB10:20,%MB30:20); (el quinto carácter difiere)
%MW0:= FIND(%MB10:20,%MB30:10);
%MB10:20:=
INSERT(%MB30:10,%MB50:10,4);
%MB10:20:= LEFT(%MB30:30,20);
%MW0:= LEN(%MB10:20);
%MB10:20:= MID(%MB30:30,20,10);
%MB10:20:=
REPLACE(%MB30:20,%MB50:10,10,10);
%MB10:20:= RIGHT(%MB30:30,20);
1610,00
1270,00
920,00
770,00
1080,00
1450,00
1480,00
1000,00 1065,00 13
800,00 852,00 17
570,00 607,05 13
340,00 362,10 9
700,00 745,50 15
870,00 926,55 19
950,00 1011,75 13
168
35013159.01 07/2008
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)
3705/08/10 3720 RAM 3720 cart
1818 1936
Tamaño
(palabras)
37••
21 SEND_REQ(%KW0:6,15,%MW0:1,%M
W10:10,%MW30:4)
2182
SEND_TLG(%KW0:6,1,%MW0:5,%M
W30:2)
1636 1364 1452 15
Función de diálogo operador
La tabla siguiente describe el rendimiento de las instrucciones de diálogo operador.
ST
SEND_MSG(ADR#1.0,%MW0:2,%MW10:2)
SEND_ALARM(ADR#1.0,%MW0:2,%MW10:2)
GET_MSG(ADR#1.0,%MW0:2,%MW10:2)
GET_VALUE(ADR#1.0,%MW0,%MW10:2)
ASK_MSG(ADR#1.0,%MW0:2,%MW10:2,%MW2
0:2)
Tiempo de ejecución (
μ s) Tamaño
3705/08/10 3720 3720
(palabras)
RAM cart
37••
2240
2240
2000
2000
2208
2208
19
19
2240
1120
2240
2000
1000
2000
2208
1104
2208
19
17
23
ASK_VALUE(ADR#1.0,%MW0,%MW10:2,%MW2
0:2)
DISPLAY_ALRM(ADR#1.0,%MW0,%MW10:2)
DISPLAY_GRP(ADR#1.0,%MW0,%MW10:2)
2240
1120
1120
DISPLAY_MSG(ADR#1.0,%MW0,%MW10:2) 1120
CONTROL_LEDS(ADR#1.0,%MW0:2,%MW10:2) 2240
ASSIGN_KEYS(ADR#1.0,%MW0:2,%MW10:2)
PANEL_CMD(ADR#1.0,%MW0:2,%MW10:2)
2240
2240
2000 2208 21
1000 1104 17
1000 1104 17
1000 1104 17
2000 2208 19
2000 2208 19
2000 2208 19
35013159.01 07/2008
169
Rendimiento
Función de regulación
Guardado de datos
La tabla siguiente describe el rendimiento de las funciones de regulación.
ST
PID("PIDS1",’Unité’,%IW3.5,%MW
12,%M16,%MW284:43)
Condición Tiempo de ejecución (
μ s) Tamaño
3705/08/10 3720 3720
(palabras)
RAM cart
37•• deval_mmi
=0
1320 1100 1172 24
1080 900 958,5 deval_mmi
=1
PWM(%MW11,%Q2.1,%MW385:5)
SERVO(%MW12,%IW3.6,%Q2.2,
%Q2.3,%MW284:43,%MW390:10)
PID_MMI(ADR#0.0.4,%M1,%M2:5,
%MW410:62)
EN=1
600
960
1140
500
800
950
532,5 11
852 19
1012 20
La tabla siguiente describe el rendimiento de las funciones de almacenamiento de datos.
ST
SET_PCMCIA (para 1.600 palabras)
WRITE_PCMCIA (para 1.600 palabras)
READ_PCMCIA (para 1.600 palabras)
Tiempo de ejecución (
3705/08/10 3720
RAM
1000
2000
2000
μ s)
3720 cart
Tamaño
(palabras)
37••
24
24
24
170
35013159.01 07/2008
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)
3705/08/10 3720
RAM
Tamaño
(palabras)
3720 cart
37••
660 480 511 13 DSHR_RBIT(%MD102,16,%MD2
04,%MD206)
Escritura de 10 palabras
DSHRZ_C(%MD102,16,%MD204
,%MD206)
Petición espejo de 10 palabras
410 310 330 13
WSHL_RBIT(%MW102,8,%MW2
04,%MW206)
WSHR_RBIT(%MW102,8,%MW2
04,%MW206)
WSHRZ_C(%MW102,8,%MW20
4,%MW206)
SCOUNT(%M100,%MW100,%M
101,%M102,%MW101,
%MW102,%M200,%M201,%MW
200,%MW201)
Intercambio de
10 palabras
20 bytes
20 bytes
20 bytes
300
390
300
510
220 234 13
280
220
410
298
234
437
13
13
25
35013159.01 07/2008
171
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)
3705/08/10 3720 RAM 3720 cart
Tamaño
(palabras)
37xx
Read_Sts %CHi.MOD
Cualquier función específica, exceptuando la vía de comunicación del procesador
Read_Sts %CHi
Entrada analógica
Salida analógica
Módulo de contaje CTZ
Write_Param %CHi
Entrada analógica
Módulo de contaje CTZ
Read_Param %CHi
Entrada analógica
Módulo de contaje CTZ
Save_Param %CHi
Entrada analógica
Módulo de contaje CTZ
Restore_Param %CHi
Entrada analógica
Módulo de contaje CTZ
Write_Cmd %CHi
Salida TON
30
180
90
110
790
1127
260
338
1234
1370
550
1160
50
30
180
70
95
570
1080
290
295
1220
1220
510
1080
47
32
216
74
104
790
1083
316
300
1240
1240
535
1097
52
2
6
6
6
6
6
6
172
35013159.01 07/2008
6.3
Rendimiento
Rendimiento de las instrucciones en autómatas
Premium
Presentación
Objeto
Contenido
Este apartado describe el rendimiento de las instrucciones ejecutadas en autómatas Premium (excepto en las referencias TSX P57•A).
Esta sección contiene los siguientes apartados:
Apartado
Rendimiento de las instrucciones booleanas
Rendimiento de los bloques de función
Aritmética entera y con coma flotante
Instrucciones sobre el programa y estructuras de control
Conversiones digitales
Instrucciones sobre cadena de bits
Instrucción sobre tablas de palabras, palabras dobles y flotantes
Instrucciones de gestión del tiempo
Instrucciones sobre cadenas de caracteres
Funciones específicas y funciones Orphée
Instrucciones de entradas/salidas explícitas
Bloque de función DFB
Página
35013159.01 07/2008
173
Rendimiento
Rendimiento de las instrucciones booleanas
174
35013159.01 07/2008
Rendimiento
Rendimiento de los procesadores
P57 1•/2•
LD IL
La tabla siguiente describe el rendimiento de las instrucciones booleanas de los procesadores P57 1•/2•.
ST Objetos Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 1•
RAM
> 4 K
57 1• cart >
4 K
57 2•
RAM
0,37 0,50
57 2• cart
0,06 0,21
57 2•
RAM
> 4 K
57 2• cart >
4 K
Tamaño
(palabras)
1
P
N
LD
LDN
LDR
,
LDF
%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
%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
P
N
ANDR, ANDF, AND (R, AND
(F, idem OR idem LDR,LDF
35013159.01 07/2008
175
Rendimiento
LD IL ST Objetos Tiempo de ejecución (
μ s)
57 1•
RAM
57 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
Tamaño
(palabras)
XOR
XOR
N
%IWi.j:Xk
%MW0[%MW8
]:X0
4,00
4,50
5,50
6,37
4,00
4,50
5,50
6,37
1,00
1,31
2,50
3,12
1,00
1,31
2,50
3,12
12
15
%KW0[%MW8]
:X0
%M1
4,50 6,37 4,50 6,37 1,31 3,12 1,31 3,12 15
3,62 4,75 3,87 5,25 0,81 1,87 0,94 2,29 9 XOR
R,
XOR
F
ST
STN
S
R
%M1[%MW2]
%M1 (1)
%M1[%MW2]
5,62
1,00
1,62
8,00
1,25
2,37
5,62
1,12
1,62
8,00
1,50
2,37
1,69
0,37
0,75
3,96
0,46
1,29
1,69
0,44
0,75
3,96
0,62
1,29
19
2
6
S
R
%MW0:X0
%NW{i}.j:Xk (3) 1,87
%MW0[%MW8
]:X0 bobinas múltiples en ladder, «coste» de la segunda bobina y de las siguientes
1,25 1,75 1,25 1,75 0,50 0,83 0,50 0,83 4
2,37
0,62
2,62
3,50
0,75
1,87
2,37
0,75
2,62
3,50
1,00
0,75
0,75
0,31
1,25
1,92
0,25
0,75
0,75
0,37
1,25
1,92
0,42
6
9
1 bloque de operación
[ acci
ón]
%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 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 entre 2 %MWi 1,62 11,85 1,62 2,25 0,56 1,04 0,56 1,04 5 bloque de operación vertical
Converge ncia
[ )]
Divergenci a no seguida de una convergen cia
[ ]
[ )] bloque ejecutado
Ladder, 1 divergencia
0,37
0,37
0,13
0,50
0,37
0,37
0,50
0,50
0,06
0,06
0,21
0,21
0,06
0,06
0,21
0,21
1
1
176
35013159.01 07/2008
LD
[MP
S,
MPP
,
MR
D]
IL ST Objetos
Lista
MPS+MPP
Lista MRD
Rendimiento
Tiempo de ejecución (
μ s)
57 1•
RAM
57 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
Tamaño
(palabras)
1,12 1,50 1,12 1,50 0,19 0,62 0,19 0,62 3
0,37 0,50 0,37 0,50 0,06 0,21 0,06 0,21 1
Leyenda
1.
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:Xj
3.
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.
35013159.01 07/2008
177
Rendimiento
Rendimiento de los procesadores
P57 3•/4•
LD IL
La tabla siguiente describe el rendimiento de las instrucciones booleanas de los procesadores P57 3•/4•.
ST Objetos Tiempo de ejecución (
μ s)
57 3•
RAM
57 3• cart
57 3•
RAM
> 4 K
57 3• cart >
4 K
57 4•
RAM
0,04 0,17 0,02
57 4•
> 4K
Tamaño en palabras
1
LD
LDN
P
N
LDR,
LDF
%M1 (1)
%M1[%MW2]
%MW0:X0 (2)
%IWi.j:Xk (3)
0,12 0,17
0,42 1,00
0,25 0,67
0,42 1,00
%MW0[%MW8]:X0 0,62 1,50
%KW0[%MW8]:X0 0,62 1,50
%M1
%M1[%MW2]
0,17
0,46
0,33
1,17
0,17 0,33
0,42 1,00
0,25 0,67
0,42 1,00
0,62 1,50
0,62 1,50
0,21 0,50
0,46 1,17
0,06
0,21
0,12
0,21
0,31
0,31
0,08
0,23
0,08 1
0,21 6
0,12 4
0,21 6
0,31 9
0,31 9
0,10 2
0,23 7
AND,
ANDN , AND (, AND (N , idem OR idem LD,LDN
178
P
N
ANDR, ANDF, AND (R, AND (F, idem OR idem LD,LDN
XOR
XORN
XORR,
XORF
%M1
%M1[%MW2]
%MW0:X0
%IWi.j:Xk
0,37 0,83
0,62 1,83
0,50 1,67
0,67 2,00
%MW0[%MW8]:X0 0,87 2,50
%KW0[%MW8]:X0 0,87 2,50
%M1
%M1[%MW2]
0,54
1,12
1,50
3,17
0,46 1,17
0,62 1,83
0,50 1,67
0,67 2,00
0,87 2,50
0,87 2,50
0,62 1,83
1,12 3,17
0,19
0,31
0,25
0,33
0,44
0,44
0,27
0,56
0,23 5
0,31 12
0,25 10
0,33 12
0,44 15
0,44 15
0,31 9
0,56 19
35013159.01 07/2008
Rendimiento
LD IL ST Objetos Tiempo de ejecución (
μ s)
57 3•
RAM
57 3• cart
57 3•
RAM
> 4 K
57 3• cart >
4 K
57 4•
RAM
S
R
%NW{i}.j:Xk (3) 0,50 1,00
%MW0[%MW8]:X0 0,62 0,75
0,21 0,17 bobinas múltiples en ladder, «coste» de la segunda bobina y de las siguientes bloque de operación
[ acción] bloque ejecutado no ejecutado bloque de operación vertical
Convergencia
Divergencia no seguida de una convergencia
ST
STN
S
R
[ )]
[ ]
[ )]
%M1 (1)
%M1[%MW2]
%MW0:X0 entre 2 %MWi bloque ejecutado
Ladder, 1 divergencia
0,25
0,50
0,33
0,25
0,50
0,33
1,00
0,67
0,50
0,75
1,62 11,85 0,37 0,83
0,37 0,13
0,37 0,50
0,29
0,50
0,33
0,25
0,50
1,00
0,67
0,50 1,00
0,50 1,50
033
0,08 0,33
0,08 0,33
0,04 0,17
0,04 0,17
[MPS,
MPP,
MRD]
Lista MPS+MPP
Lista MRD
1,12
0,37
1,50
0,50
0,12 0,50
0,04 0,17
0,12
0,25
0,17
0,04
0,04
0,19
0,02
0,02
57 4•
> 4K
0,15
0,25
0,17
0,04
0,04
0,19
0,02
0,02
Tamaño en palabras
2
6
4
0,25 0,25 6
0,25 0,25 9
0,10 0,12 1
2
2
5
1
1
0,06 0,06 3
0,02 0,02 1
Leyenda
1.
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:Xj
3.
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.
35013159.01 07/2008
179
Rendimiento
Rendimiento de los bloques de función
Temporizador
CEI
LD flanco ascendente en IN flanco descendente en IN
IN =1
IN =0
IL
La tabla siguiente describe el rendimiento del bloque de función de temporizador
CEI
ST Condiciones Tiempo de ejecución (
μ s)
571• 572• 573• 574•
Tamaño
(palabras)
START
%TM1 inicio del temporizador
29 8,0 5,4 3,7 3 IN %TM1
(flanco ascendente)
IN %TM1
(flanco descendente)
IN %TM1 (=1)
IN %TM1 (=0)
DOWN
%TM1 parada del temporizador temporizador activo temporizador inactivo
9
12
10
2,6
3,5
3,3
1,7
2,3
2,2
1,2
1,6
1,5
Temporizador
PL7-3
LD IL
E =0
La tabla siguiente describe el rendimiento del bloque de función de temporizador
PL7-3
ST Condicione s
Tiempo de ejecución (
μ s)
571• 572• 573• 574•
Tamaño
(palabras)
START
%T1
STOP
%T1
RESET
%T1 activar inmovilizar 7 2,8
3,1
2,0
2,2
1,4
1,6
3 puesta a cero temporizado r activo temporizado r inactivo
7
11 3,4 2,3 1,7
180
35013159.01 07/2008
Rendimiento
Contador/ descontador
LD IL
La tabla siguiente describe el rendimiento del bloque de función de contador/ descontador
ST Condicio nes
Tiempo de ejecución (
μ s)
571•
11
572•
3,4
573•
2,3
574•
1,7
Tamaño
(palabras)
3 puesta a cero, R=1 preselecció n, S=1
S %C9 (=1) PRESET
%C9 preselecci
ón
UP %C8 up flanco ascendente en CU
CU %C8
(flanco flanco ascendente en CD entradas inactivas
R %C8 (=1) RESET
%C8
CD %C9
(flanco
R/S/CU/CD bit inactivo
DOWN
%C9 puesta a cero down ninguna acción
12
12
12
7
3,6
3,7
3,7
2,5
2,4
2,5
2,5
1,7
1,7
1,8
1,8
1,2
Monoestable
LD IL flanco ascendente en S
S %MN0, flanco ascendente
S=1 S %MN0,
S =1/0
La tabla siguiente describe el rendimiento del bloque de función monoestable
ST
START
%MN0
Condicione s inicio
Tiempo de ejecución (
μ s)
571• 572• 573•
24 7,2 4,9
574•
3,4
Tamaño
(palabras)
3 monoestabl e activo
6 2,2 1,5 1,1
Registro
LD
R=1 entradas inactivas
IL flanco en I I %R2
(flanco) flanco en O O %R2
(flanco)
R %R1
(=1)
I/O/R, bit inactivo
La tabla siguiente describe el rendimiento del bloque de función registro
ST
PUT %R2
RESET
%R2
Condiciones Tiempo de ejecución (
μ s) almacenamie nto
GET %R2 retirada del almacenamie nto
571•
13
13 puesta a cero 9
572•
3,9
3,9
3,3
573•
2,6
2,6
2,3
574•
1,8
1,8
1,6
Tamaño
(palabras)
3 no hay acción 6 2,6 1,8 1,3
35013159.01 07/2008
181
Rendimiento
Programador cíclico
LD IL
La tabla siguiente describe el rendimiento del programador cíclico flanco en U U %DR0 UP %DR1
R=1 entradas inactivas
R %DR1
R/U, bit inactivo
ST
RESET
%DR2
Condiciones Tiempo de ejecución (
μ s) up, fijo
571•
124 por bit de orden 25
572•
35
25
573•
24
25
33 23 puesta a cero, fijo
118 por bit de orden 25 no hay acción, fijo
120 por bit de orden 25
25
34
25
25
23
25
574•
16
25
15
25
16
25
Tamaño
(palabras)
3
182
35013159.01 07/2008
Aritmética entera y con coma flotante
Rendimiento
35013159.01 07/2008
183
Rendimiento
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
Valor inmediato de longitud simple
Valor inmediato de longitud doble
Palabras, palabras dobles o flotantes indexadas objeto
-
Tipo de corrección
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
57 3• cart
57 4•
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
Tamaño
(palabras)
-
Tras el signo:=
Primera operación, el primer operando no se ha indexado, o asignación
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
Valor que se ha de añadir
Valor que se ha de añadir
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
1,12
1,12
1,75
1,75
0,56
0,56
1,04
1,04
0,37
0,37
0,83
0,83
0,19
0,19
5
5
184
35013159.01 07/2008
Rendimiento
Tipo de objeto Posición del objeto
%KWi,
%KWi[%MWj]
%KDi, %KFi palabras comunes, palabras de entradas/ salidas
-
Tipo de corrección
Valor que se ha de añadir
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
57 3• cart
57 4•
0,62 0,87 0,25 0,42 0,17 0,33 0,08 2
Tamaño
(palabras)
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.
Contexto de la operación
La operación se encuentra como mínimo en segunda posición dentro de la frase
Ejemplo: %MW2 en:=%MW0*%MW
1*%MW2
Operación con resultado de una operación entre paréntesis o de mayor prioridad
Ejemplo:
%MW0+%MW2+(.
..)
Tipo de objeto
%MW
%MD o
%MF
%MW
%MD o
%MF
Tipo de corrección
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
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
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
Valor que se ha de eliminar del mencionado para
%MD o %MF
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
57 3• cart
57 4•
Tamaño
(palabras)
0,50 0,50 0,25 0,25 0,17 0,17 0,08 1
35013159.01 07/2008
185
Rendimiento
Tabla de rendimiento de las instrucciones
La tabla siguiente describe el rendimiento de las instrucciones aritméticas.
ST Objetos Condiciones
/ objeto tras:=
:=
%MW0 -
%MD0
%MW0+(...o
%MW0 delante de *,/ o REM)
-
%MW0+(...o
%MW0 delante de *,/ o REM)
%MF0
%MW0
%MD0 y %MF0
=, <>, <=, <, >,
>=
%MW0
%MD0
%MF0
AND, OR, XOR %MW0
%MD0
+, %MW0
*
/, REM
ABS, objeto
NOT
%MD0
%MF0
%MW0
%MD0
%MF0
%MW0
%MD0
%MF0
%MW0
%MD0
%MF0
%MW0
%MD0
0,7
1,0
1,0
0,6
0,7
0,7
48
6,3
29
44
6,9
1,0
1,5
24
0,6
0,7
0,6
148
46
0,6
0,7
9
0,6
0,7
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
0,6
0,7
0,9
1,0
0,2
0,4
0,4
0,4
57 3•
RAM
0,2
0,2
1,0
1,2
1,2
0,9
1,0
1,4
1,5
24
0,9
1,0
0,9
1,0
48
6,5
29
44
7,2
149
47
0,9
1,0
10
0,9
1,0
0,4
0,6
0,6
0,2
0,4
0,3
0,4
2,6
0,2
0,4
0,2
0,4
2,5
2,0
9,3
2,5
2,1
34
3,3
0,2
0,4
2,1
0,2
0,4
0,4
0,5
0,5
0,4
0,4
0,2
0,4
0,4
0,2
0,2
0,4
2,5
2,2
9,3
2,5
2,3
0,6
0,6
2,6
0,4
0,4
0,4
34
3,4
0,4
0,4
2,1
0,4
0,4
0,2
1,9
1,5
6,3
1,9
1,5
0,2
0,3
1,9
0,2
0,2
0,2
21
2,5
0,2
0,2
1,6
0,2
0,2
0,3
0,3
0,3
0,3
0,3
0,3
2,0
1,6
6,4
2,0
1,6
0,5
0,5
2,0
0,3
0,3
0,3
21
2,6
0,3
0,3
1,7
0,3
0,3
57 3• cart
0,3
0,3
57 4•
0,08 2
0,12 2
Tamaño
(palabras)
0,12 2
0,21 2
0,21 2
0,08 2
0,12 2
0,10 3
0,15 3
1,4 4
0,08 2
0,12 2
0,08 2
0,12 2
1,4 3
1,2 3
4,7
1,4
1,2
3
3
3
15
1,8
0,08 2
3
3
0,12 2
1,2 3
0,1 2
0,1 2
186
35013159.01 07/2008
Rendimiento
ST Objetos Condiciones
SQRT
INC, DEC
SHL, SHR,
ROL, ROR
LN
LOG
EXP
EXPT
TRUNC
COS
SIN
TAN
ACOS
ASIN
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
%MF0
ATAN %MF0
DEG_TO_RAD %MF0
RAD_TO_DEG %MF0
%MW0
%MD0
%MF0
%MW0
%MD0
%MW0 para 1 bit
%MD0 para 1 bit por bit suplementario
%MF0
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
19
62
117
0,7
1,0
2,0
2,1
0,042
19
62
117
1,0
1,2
2,9
3,0
3,5
10,2 10,3
2,8
0,4
0,6
0,8
0,9
3,7
2,8
0,4
0,5
1,5
1,5
2,1
0,2
0,4
0,5
0,6
57 3•
RAM
2,1
5,7
2,1
0,3
0,3
1,2
1,2
57 3• cart
2,2
5,8
57 4•
847 847 2,2 2,2 1,6 1,6 1,5
900 900 2,2 2,2 1,6 1,6 1,5
713 713 6,4 6,4 4,7 4,7 4,0
1 747 1 747 2,2 2,2 1,6 1,6 1,5
1 753 1 753 2,2 2,2 1,6 1,6 1,5
1 813 1 813 2,2 2,2 1,6 1,6 1,5
2 520 2 520 2,7 2,7 2,0 2,0 1,8
2 520 2 520 3,4 3,4 2,5 2,5 2,2
1 720 1 720 2,1 2,1 1,6 1,6 1,4
1 640 1 640 61 68 43 49 32
103 142 32 36 23 26 17
392 537 86 96 61 69 45
380 522 86 96 61 69 46
1,5
4,4
1,5
0,12
0,21
0,27
0,31
2
7
7
3
2
3
3
Tamaño
(palabras)
35013159.01 07/2008
187
Rendimiento
Instrucciones sobre el programa y estructuras de control
Rendimiento de las instrucciones en el programa
ST
La tabla siguiente describe el rendimiento de las instrucciones sobre el programa.
Tiempo de ejecución (
μ s)
57 4•
Tamaño
(palabras)
57• •
Jump %Li
Maskevt
Unmaskevt
SRi
Return
57 1•
RAM
1,2
15,5
15,7
1,9
0,6
57 1• cart
1,6
15,5
15,7
2,2
0,9
57 2•
RAM
0,8
5,8
6,0
1,4
0,2
57 2• cart
0,6
5,8
6,0
1,2
0,4
57 3•
RAM
0,5
4,0
4,2
1,0
0,2
57 3• cart
0,5
4,0
4,2
0,8
0,3
0,3
2,8
3,0
0,5
0,1
1
2
3
1
2
188
35013159.01 07/2008
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 4• 57• •
<cond> bit que se puede forzar comparación
57 1•
RAM evaluación de la condición
57 1• cart
57 2•
RAM véase la instrucción booleana LD %M1
57 2• cart
57 3•
RAM
57 3• cart if <cond > then
<action> end_if; condición verdadera véase comparaciones =,<,> ...
los tiempos y volúmenes indicados anteriormente se han de añadir a los de la acción contenida en la estructura
0,2 0,5 condición falsa
(salto)
0,5
If <cond> then <action1> else <action2> end_if;
0,7
0,1
0,1
0,4
0,4
0,1
0,1
0,3
0,3
0,04
0,04
2
0,2 0,8 0,2 0,7 0,08 4 condición verdadera condición falsa while <cond> do.<action> end_while paso al anillo con nuevo cierre
0,7
0,5
0,7
1,2
0,7
1,2 salida del anillo 0,5 repeat <action> until <cond> end_repeat paso al anillo con nuevo cierre
0,5
último paso 0,2 for <mot1:=mot2>to <mot3> do <action> end_for
0,5 entrada en el
ámbito, ejecutada una sola vez
1,2 1,7 paso al anillo con nuevo cierre salida del anillo
3,5
1,7
0,7
0,7
5,0
2,5
0,1
0,2
0,1
0,1
0,1
0,5
1,2
0,6
0,4
0,8
0,4
0,4
0,4
0,8
2,5
1,2
0,1
0,2
0,1
0,1
0,1
0,3
0,8
0,4
0,3
0,7
0,3
0,3
0,3
0,7
2,0
1,0
0,04
0,08
0,04
0,04
0,04
0,17
0,42
0,21
2
2
15
35013159.01 07/2008
189
Rendimiento
Conversiones digitales
Rendimiento
ST
BCD_TO_INT(%MW0)
La tabla siguiente describe el rendimiento de las instrucciones de conversiones digitales.
Tiempo de ejecución (
μ s)
57 4•
Volumen
(palabras)
57• • 57 1• RAM 57 1• cart
17 17
57 2•
RAM
3,3
57 2• cart
3,4
57 3•
RAM
1,9
57 3• cart
2,1 1,5 3,0
INT_TO_BCD(%MW0)
GRAY_TO_INT(%MW0)
INT_TO_REAL(%MW0)
DINT_TO_REAL(%MD0) 24
REAL_TO_INT(%MF0) 41
REAL_TO_DINT(%MF0) 33
14
27
28
DBCD_TO_DINT(%MD0) 612
DBCD_TO_INT(%MD0) 537
DINT_TO_DBCD(%MD0) 512
INT_TO_DBCD(%MW0) 274
840
737
702
376
24
42
33
14
28
28
231
203
193
104
2,8
4,7
1,5
1,7
1,6
1,7
233
204
195
104
3,0
4,9
1,7
1,8
1,7
1,8
178
156
149
80
1,7
2,7
1,4
1,6
1,5
1,6
179
157
150
80
1,9
2,8
1,6
1,7
1,6
1,7
138
121
115
62
1,3
1,9
1,0
1,2
1,1
1,2
5
5
5
5
3,0
3,0
3,0
3,0
3,0
3,0
190
35013159.01 07/2008
Rendimiento
Instrucciones sobre cadena de bits
Inicio de una tabla de bits
ST
%M30:8:= 0
%M30:16:= 1
%M30:24:= 2
%M30:32:= 2
8
16
24
32
La tabla siguiente describe el rendimiento de las instrucciones de inicio de una tabla de bits.
Tamaño
(bit)
Tiempo de ejecución (
μ s) Tamaño
(palabras)
57 4• 57• • 57 1•
RAM
3,6
5,6
12
14
57 1• cart
4,5
6,5
14
16
57 2•
RAM
2,4
4,4
5,6
7,6
57 2• cart
3,2
5,2
6,8
8,8
57 3•
RAM
1,6
3,0
3,7
5,1
57 3• cart
2,3
3,7
4,8
6,1
0,8
1,5
2,4
3,1
7
7
12
12
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
%M30:8:= %M20:8
%M30:16:= %M20:16
Tamaño
(bit)
Tiempo de ejecución (
μ s)
8
16
57 1•
RAM
6,9
8,1
57 1• cart
7,9
9,1
57 2•
RAM
5,4
6,6
57 2• cart
6,0
7,3
57 3•
RAM
3,6
4,4
57 3• cart
4,2
5,1
Tamaño
(palabras)
57 4• 57• •
1,8
2,2
8
8
%M30:24:= %M20:24 24
%M30:32:= %M20:32 32
%M30:16:=
COPY_BIT(%M20:16)
16
32
128
22
27
173
263
818
23
28
237
360
1 122
14
19
65
99
309
16
21
66
100
312
10
13
50
76
238
11
14
50
77
239
5,4
7,0
39
59
184
13
13
17
17
17
35013159.01 07/2008
191
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)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
Tamaño
(palabras)
57 3• cart
57 4• 57• •
AND_ARX, OR_ARX, XOR_ARX
%M0:16:=
AND_ARX(%M30:16,%M50:16)
%M0:32:=
AND_ARX(%M30:32,%M50:32)
%M0:128:=
AND_ARX(%M30:128,%M50:128)
NOT_ARX
%M0:16:= NOT_ARX(%M30:16)
16 233
32
128
368
1 178
319
504
1 616
16
32
128
173
263
818
237
360
1 122
88
139
445
65
99
89
140
449
66
100
68
107
343
50
76
68
107
344
50
77
52
83
265
39
59
309 312 238 239 184
24
24
24
17
17
17
192
35013159.01 07/2008
Rendimiento
Copia de una tabla de bits en una tabla de palabras
ST
La tabla siguiente describe el rendimiento de las instrucciones de copia de tablas de bits en una tabla de palabras.
%MW1:= %M30:8
%MW1:= %M30:16
%MD2:= %M30:24
%MD2:= %M30:32
%MW1:4:=
BIT_W(%M40:80,0,17,2)
%MD1:4:=
BIT_D(%M30:80,0,33,0)
Tamaño
(bits)
Tiempo de ejecución (
μ s)
8
16
24
32
17
57 1•
RAM
4,5
7,5
11
14
231
57 1• cart
5,2
8,2
11
14
317
10
13
87
57 2•
RAM
3,4
6,4
10
13
88
57 2• cart
3,9
6,9
Tamaño
(palabras)
57 4• 57• • 57 3•
RAM
2,2
4,2
6,8
8,8
67
57 3• cart
2,7
4,7
7,2
9,2
68
1,1
2,1
3,8
4,8
52
6
6
6
6
23
33 325 446 123 124 95 95 73 23
Copia de una tabla de palabras en una tabla de bits
ST
La tabla siguiente describe el rendimiento de las instrucciones de copia de tablas de palabras en una tabla de bits.
%M30:8:= %MW1
%M30:16:= %MW2
%M30:24:= %MD1
%M30:32:= %MD3
%M30:32:=
W_BIT(%MW200:2,0,2,0)
%M30:32:=
D_BIT(%MD0:1,0,2,0)
8
16
24
32
32
Tamaño
(bits)
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
3,6
5,6
12
14
231
4,4
6,4
13
15
317
2,5
4,5
6,1
8,1
87
3,0
5,0
6,9
8,9
88
57 3•
RAM
1,7
3,0
4,3
5,7
67
57 3• cart
2,2
3,5
5,1
6,4
68
Tamaño
(palabras)
57 4• 57• •
0,8
1,5
3,1
3,7
52
6
6
11
11
23
32 275 377 104 105 80 80 62 23
35013159.01 07/2008
193
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.
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
%MW0:10:= %MW100 10 palabras 34 por palabra 0,16
%MD0:10:= %MD100 10 palabras dobles por palabra doble
53
1,98
35
0,16
54
1,98
14
0,15
19
0,57
15
0,15
20
0,57
57 3•
RAM
10
0,12
13
0,37
57 3• cart
11
0,12
14
0,37
Tamaño
(palabras)
57 4• 57• •
6,7
0,08
8,8
0,26
10
10
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 (
%MW0:10:=%MW20:10; 10 palabras 63 por palabra 0,28
%MD0:10:=%MD20:10; 10 palabras dobles por palabra doble
57 1•
RAM
69
0,79
57 1• cart
65
0,28
71
0,79
57 2•
RAM
25
0,31
29
μ
0,71 s)
57 2• cart
26
0,31
30
0,71
57 3•
RAM
17
0,24
20
0,53
57 3• cart
19
0,24
22
0,53
Tamaño
(palabras)
57 4• 57• •
12
0,15
14
0,36
15
15
194
35013159.01 07/2008
Rendimiento
Instrucciones aritméticas y lógicas entre 2 tablas de palabras
ST
La tabla siguiente describe el rendimiento de las instrucciones aritméticas y lógicas entre 2 tablas de palabras.
Tamaño
(de la tabla de palabras)
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
57 3• cart
Tamaño
(palabras)
57 4• 57• •
+, -
%MW0:10:=
%MW10:10 + %MW20:10;
%MD0:10:=
%MD10:10+%MD20:10;
10 palabras por palabra
10 palabras dobles por palabra doble
110
4,7
154
8,9
112
4,7
156
8,9
41
1,8
60
3,6
*
%MW0:10:=
%MW10:10 * %MW20:10;
%MD0:10:=
%MD10:10 * %MD20:10;
43
1,8
62
3,6
28
1,3
41
2,5
30
1,3
43
2,5
19
0,9
28
1,7
10 palabras por palabra
10 palabras dobles por palabra doble
127
6,4
441
37,6
129
6,4
444
37,6
47
2,4
153
12,9
50
2,4
155
33
1,7
104
12,9 8,7
35
1,7
106
8,7
23
1,2
73
6,2
/, REM
%MW0:10:=
%MW10:10 / %MW20:10;
10 palabras por palabra
133
7,0
135
7,0
49
2,6
52
2,6
34
1,8
36
1,8
24
1,4
23
23
23
23
23
35013159.01 07/2008
195
Rendimiento
ST Tamaño
(de la tabla de palabras)
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
1 639 1 642 395 %MD0:10:=
%MD10:10 / %MD20:10;
10 palabras dobles por palabra doble
AND, OR, XOR
%MW0:10:=%MW10:10 AND
%MW20:10;
10 palabras por palabra
%MD0:10:=%MD10:10 AND
%MD20:10;
10 palabras dobles por palabra doble
157
108
4,5
155
9
157
111
4,5
158
9
37
40
1,7
61
4
57 2• cart
397
37
43
1,7
63
4
57 3•
RAM
248
23
28
1,2
42
3
23
30
1,2
44
3
57 3• cart
250
Tamaño
(palabras)
57 4• 57• •
172 23
16
19
0,8
29
2
23
23
196
35013159.01 07/2008
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)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
+, -
%MW0:10:=%MW10:10 +
%MW20; o %MW0:10:= %MW20 +
%MW10:10
%MD0:10:=%MD10:10 +
%MD20;
10 palabras 86 por palabra 2,8
10 palabras dobles por palabra doble
112
5,2
*
%MW0:10:=
%MW20*%MW10:10;
10 palabras por palabra
113
5,6
88
2,8
114
5,2
115
5,6
30
0,8
41
1,9
38
1,6
32
0,8
43
1,9
40
1,6
57 3•
RAM
21
0,5
28
1,3
26
1,1
57 3• cart
22
0,5
30
1,3
27
1,1
Tamaño
(palabras)
57 4• 57• •
14
0,4
19
0,9
18
0,7
18
18
18
134 90 92 64 18 %MD0:10:=
%MD20*%MD10:10;
10 palabras dobles por palabra doble
381
32
/, REM
%MW0:10:=%MW10:10 /
%MW30;
10 palabras 140 por palabra 8,4
383
32
142
8,4
132
11
46
2,4
%MD0:10:=
MD10:10 / %MD30
10 palabras dobles por palabra doble
1 585 1 587 375
152 152 35
AND, OR, XOR
%MW0:10:=%MW10:10
AND %MW20;
10 palabras 86 por palabra 2,8
88
2,8
30
0,8
11
48
2,4
377
35
32
0,8
7,4
31
1,6
235
22
21
0,5
7,4
33
1,6
236
22
22
0,5
5,3
21
1,1
163
15
14
0,4
18
18
18
35013159.01 07/2008
197
Rendimiento
ST Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
383 132 134 %MD0:10:=%MD20 AND
%MD10:10;
10 palabras dobles por palabra doble
381
4,2
NOT
%MW0:10:=NOT(%MW10:
10);
10 palabras 74
%MD0:10:=NOT(%MD10:
10) por palabra 1,9
10 palabras dobles
84 por palabra doble
2,9
4,2
75
1,9
86
2,9
1,5
26
0,5
31
1,0
1,5
28
0,5
33
1,0
1,0
18
0,4
22
0,7
57 3•
RAM
90
57 3• cart
92
Tamaño
(palabras)
57 4• 57• •
64 18
1,0
19
0,4
23
0,7
0,7
12
0,2
15
0,5
15
15
Función de suma sobre la tabla
ST
La tabla siguiente describe el rendimiento de las instrucciones de suma sobre la tabla.
Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
57 3• cart
Tamaño
(palabras)
57 4• 57• •
%MW20:=SUM(%MW0:10); 10 palabras 51 por palabra 1,6
58 %MD20:=SUM(%MD0:10); 10 palabras dobles por palabra doble
2,1
53
1,6
59
2,1
17
0,4
19
0,6
18
0,4
20
0,6
12
0,3
13
0,4
12
0,3
14
0,4
8
0,2
9
0,3
16
16
198
35013159.01 07/2008
Rendimiento
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)
57 1•
RAM
67
57 1• cart
69
57 2•
RAM
26 %MW20:=
EQUAL(%MW0:10;%MW10:10);
10 palabras
%MD20:=
EQUAL(%MD0:10;%MD10:10); por palabra
10 palabras dobles por palabra doble
0,6
74
1,2
0,6
76
1,2
0,4
31
0,9
57 2• cart
28
0,4
33
0,9
57 3•
RAM
18
0,3
22
0,7
57 3• cart
20
0,3
23
0,7
Tamaño
(palabras)
57 4• 57• •
13
0,2
15
0,5
27
27
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)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
150 206 57 57 %MW20:=
FIND_EQW(%MW0:10,%KW0
)
10 palabras, caso máximo
223 61 62 %MD20:=
FIND_EQD(%MD0:10, %KD0)
10 palabras dobles, caso máximo
163
57 3•
RAM
44
47
57 3• cart
44
Tamaño
(palabras)
57 4• 57• •
34 14
48 37 15
35013159.01 07/2008
199
Rendimiento
Búsqueda de valores máximos y mínimos
ST
La tabla siguiente describe el rendimiento de las instrucciones de búsqueda de valores máximos y mínimos de una tabla.
Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
10 palabras 163 223 61 62
57 3•
RAM
47
57 3• cart
48
Tamaño
(palabras)
57 4• 57• •
37 12 %MW20:=
MAX_ARW(%MW0:10)
%MD20:=
MAX_ARD(%MD0:10)
10 palabras dobles
194 266 73 74 56 57 44 12
Cálculo del número de casos
ST
La tabla siguiente describe el rendimiento de las instrucciones del número de casos de un valor de una tabla de palabras.
Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
10 palabras 163 223 61 62
57 3•
RAM
57 3• cart
47 48
Tamaño
(palabras)
57 4• 57• •
37 14 %MW20:=
OCCUR_ARW(%MW0:10, %KW0)
%MD20:=
OCCUR_ARD(%MD0:10, %KD0)
10 palabras dobles
175 240 66 67 51 51 39 15
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)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
343 94 95 ROL_ARW(palabra o valor,%MWj:10)
10 palabras
ROL_ARD(%MDi,%MDj:10) 10 palabras dobles
250
269 369 102 102
57 3•
RAM
73
78
57 3• cart
73
79
Tamaño
(palabras)
57 4• 57• •
56
61
12
12
200
35013159.01 07/2008
Rendimiento
Instrucción de orden
ST
La tabla siguiente describe el rendimiento de las instrucciones de orden de los elementos de una tabla.
Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
Tamaño
(palabras)
57 3• cart
57 4• 57• •
SORT_ARW(%MWi,%MWj:10) 10 palabras, caso máximo
450
SORT_ARD(%MDi,%MDj:10) 5 palabras dobles, caso máximo
275
618
377
170
104
172
105
131
80
132
80
101
62
12
12
Cálculo de longitud
ST
LENGTH_ARW(tab_mot)
LENGTH_ARD(tab_dmot)
LENGTH_ARW(tab_reel)
LENGTH_ARW(tab_bit)
La tabla siguiente describe el rendimiento de las instrucciones de cálculo de longitud de una tabla.
Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
31
31
43
43
12
12
12
12
31
31
43
43
12
12
12
12
9
9
9
9
57 3•
RAM
9
9
9
9
57 3• cart
7
7
7
7
Tamaño
(palabras)
57 4• 57• •
6
6
6
6
35013159.01 07/2008
201
Rendimiento
Tablas de flotantes
ST
SUM_ARR
FIND_EQR
FIND_EQRP
FIND_GTR
FIND_LTR
MAX_ARR
MIN_ARR
OCCUR_ARR
ROL_ARR
ROR_ARR
SORT_ARR
EQUAL_ARR
La tabla siguiente describe el rendimiento de las instrucciones sobre tabla de flotantes.
Tamaño (de la tabla de palabras)
Tiempo de ejecución (
μ s) Tamaño
(palabras)
57 4• 57• • 57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
57 3• cart
794 942 186 207 132 149 98
390 535 83 93 59 67 44
10 reales
10 reales, caso mediano
10 reales, caso mediano
10 reales, caso mediano
10 reales, caso mediano
10 reales
10 reales
10 reales
10 reales
10 reales
10 reales
10 reales
391
390
390
536 83 93 59 67 44
535 83 93 59 67 44
535 83 93 59 67 44
648
601
889 160 179 114 128 85
825 148 164 105 118 78
598 821 147 164 104 118 78
273 374 67 75 48 54 35
264 363 65 72 46 52 34
896 1 229 220 245 156 176 116
344 472 84 94 60 68 45
202
35013159.01 07/2008
Rendimiento
Instrucciones de gestión del tiempo
Instrucciones de gestión de datos, horas y duración
ST
La tabla siguiente describe el rendimiento de las instrucciones de gestión de datos, horas y duración.
Tiempo de ejecución (
μ s) Tamaño
(palabras)
57 4• 57• • 57 1•
RAM
57 1• cart
57 2•
RAM
%MW2:4:= ADD_DT(%MW2:4,%MD8) 1 951 2 677 737
%MD2:= ADD_TOD(%MD2,%MD8)
%MB2:11:=
DATE_TO_STRING(%MD40)
%MW5:= DAY_OF_WEEK() 88
%MD10:= DELTA_D(%MD2, %MD4) 731
%MD10:=
DELTA_DT(%MD2:4,%MW6:4)
%MD10:=
DELTA_TOD(%MD2,%MD4)
1 025
606
1 407
832
121
1 004
387
229
33
276
1 506 2 067 569
1 113 1 527 421
%MB2:20:=
DT_TO_STRING(%MW50:4)
707 970 267
%MW2:4:= SUB_DT(%MW2:4,%MD8) 2 344 3 216 886
1 113 1 527 421
794 1 089 300
%MD2:= SUB_TOD(%MD2,%MD8)
%MB2:15:=
TIME_TO_STRING(%MD40)
%MB2:9:=
TOD_TO_STRING(%MD40)
%MD100:= TRANS_TIME(%MD2)
519
331
712
455
196
125
57 2• cart
744
391
231
34
279
574
424
269
893
424
303
198
126
57 3•
RAM
568
298
176
57 3• cart
571
300
177
26
213
438
324
206
682
324
231
151
96
26
214
441
325
207
685
325
232
152
97
440
231
137
20
165
339
251
159
528
251
179
117
75
19
9
12
19
9
12
5
9
19
9
17
12
7
35013159.01 07/2008
203
Rendimiento
Acceso al relojcalendario
ST
La tabla siguiente describe el rendimiento de las instrucciones del reloj-calendario.
Tiempo de ejecución (
μ s)
RRTC(%MW0:4)
WRTC(%MW0:4)
PTC(%MW0:5)
SCHEDULE(%MW0,%MW1,%MW2,
%MD10,%MD12,%M0)ÿ
57 1•
RAM
88
69
74
88
57 1• cart
89
70
75
89
57 2•
RAM
30
25
26
30
57 2• cart
30
25
27
30
57 3•
RAM
21
17
18
21
57 3• cart
21
17
19
21
14
11
12
14
Tamaño
(palabras)
57 4• 57• •
8
8
8
8
Funciones del temporizador
ST
FTON
FTOF
FTP
FPULSOR
La tabla siguiente describe el rendimiento de las instrucciones del temporizador.
Tiempo de ejecución (
μ s)
57 1•
RAM
53
53
53
181
57 1• cart
53
53
53
249
57 2•
RAM
28
28
28
69
57 2• cart
32
32
32
69
57 3•
RAM
21
21
21
53
57 3• cart
24
24
24
53
Tamaño
(palabras)
57 4• 57• •
12
12
12
41
204
35013159.01 07/2008
Rendimiento
Instrucciones sobre cadenas de caracteres
Asignación, nueva copia de cadenas de caracteres
ST
La tabla siguiente describe el rendimiento de las instrucciones de asignación y la nueva copia de cadenas de caracteres.
%MB0:8:=%MB10:8
%MB0:8:=’abcdefg’
Tamaño
(caracteres)
Tiempo de ejecución (
57 1•
RAM
66
57 1• cart
67
μ s)
57 2•
RAM
27
57 2• cart
27
57 3•
RAM
18
57 3• cart
19
Tamaño
(palabras)
57 4• 57• •
14 15 Ocho caracteres
Por carácter
Ocho caracteres
Por carácter
0,39
85
2,37
0,39
85
2,37
0,30
29
0,68
0,30
29
0,68
0,23
20
0,47
0,23
20
0,47
0,16
14
0,36
14
0,5
Conversiones palabra <-> cadenas de caracteres
ST
La tabla siguiente describe el rendimiento de las instrucciones de conversión de palabras y de cadenas de caracteres.
%MW1:=
STRING_TO_INT(%MB0:7)
%MB0:7:=
INT_TO_STRING(%MW0)
Tiempo de ejecución (
57 1•
RAM
69
57 1• cart
71
μ s)
57 2•
RAM
23
57 2• cart
23
57 3•
RAM
16
57 3• cart
16
Tamaño
(palabras)
57 4• 57• •
12 10
74 75 23 23 15 16 12 10
35013159.01 07/2008
205
Rendimiento
Conversiones palabra doble <-> cadenas de caracteres
ST
La tabla siguiente describe el rendimiento de las instrucciones de conversión de palabras dobles y de cadenas de caracteres.
Tiempo de ejecución (
57 1•
RAM
706
57 1• cart
707
μ s)
57 2•
RAM
237
57 2• cart
237
57 3•
RAM
160
Tamaño
(palabras)
57 4• 57• • 57 3• cart
160 115 10 %MD1:=
STRING_TO_DINT(%MB0:13)
%MB0:13:=
DINT_TO_STRING(%MD0)
215 216 66 67 44 45 33 10
Conversiones flotante <-> cadenas de caracteres
ST
La tabla siguiente describe el rendimiento de las instrucciones de conversión de flotante a cadenas de caracteres.
%MF1:=
STRING_TO_REAL(%MB0:15)
%MB0:15:=
REAL_TO_STRING(%MF0)
Tiempo de ejecución (
57 1•
RAM
57 1• cart
1 912 1 913
μ s)
57 2•
RAM
344
57 2• cart
344
57 3•
RAM
237
57 3• cart
237
Tamaño
(palabras)
57 4• 57• •
155 10
500 501 140 140 96 96 63 10
206
35013159.01 07/2008
Rendimiento
Instrucciones de manipulación de cadenas de caracteres
ST
La tabla siguiente describe el rendimiento de las instrucciones de manipulación de cadenas de caracteres.
%MB10:20:= LEFT(%MB30:30,20);
%MW0:= LEN(%MB10:20);
%MB10:20:= MID(%MB30:30,20,10);
%MB10:20:=
REPLACE(%MB30:20,%MB50:10,10,1
0);
%MB10:20:= RIGHT(%MB30:30,20);
Tiempo de ejecución (
%MW0:=
EQUAL_STR(%MB10:20,%MB30:20);
(el quinto carácter difiere)
57 1•
RAM
%MB10:20:=
CONCAT(%MB30:10,%MB50:10)
494
%MB10:20:= DELETE(%MB10:22,2,3); 400
338
%MW0:=
FIND(%MB10:20,%MB30:10);
%MB10:20:=
INSERT(%MB30:10,%MB50:10,4);
650
519
369
219
444
556
606
57 1• cart
678
549
463
892
712
506
300
609
763
832
57 2•
RAM
187
151
128
246
196
139
83
168
210
229
μ s)
57 2• cart
188
57 3•
RAM
144
57 3• cart
144
152
129
248
198
141
83
169
212
231
116
98
189
151
107
64
129
162
176
117
99
190
152
108
64
130
163
177
Tamaño
(palabras)
57 4• 57• •
111
90
76
146
117
83
49
100
125
137
24
21
19
19
26
19
12
21
28
19
Extracción de palabras
ST
LW
HW
CONCATW
La tabla siguiente describe el rendimiento de las instrucciones de extracción de palabras.
Tiempo de ejecución (
μ s) Tamaño
(palabras)
57 4• 57• • 57 1•
RAM
32
57 1• cart
44
57 2•
RAM
12
57 2• cart
12
57 3•
RAM
9
57 3• cart
9 7
32
32
44
44
12
12
12
12
9
9
9
9
7
7
35013159.01 07/2008
207
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
WRITE_ASYN para 500 palabras
READ_ASYN para 500 palabras
3 825
2 975
2 975
4 244
3 301
3 301
2 225
1 731
1 731
2 229
1 734
1 734
1 677
1 305
1 305
1 679
1 306
1 306
1 427
1 110
1 110
16
16
16
208
35013159.01 07/2008
Rendimiento
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)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
57 3• cart
Tamaño
(palabras)
57 4• 57• •
1250 1715 472 476 364 366 282 25
1250 1715 472 476 364 366 282 25
SEND_MSG(ADR#1.0,%MW0:2,%MW10:2)
SEND_ALARM(ADR#1.0,%MW0:2,%MW10:2)
GET_MSG(ADR#1.0,%MW0:2,%MW10:2)
GET_VALUE(ADR#1.0,%MW0,%MW10:2)
1250 1715 472 476 364 366 282 25
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)
DISPLAY_GRP(ADR#1.0,%MW0,%MW10:2)
DISPLAY_MSG(ADR#1.0,%MW0,%MW10:2)
CONTROL_LEDS(ADR#1.0,%MW0:2,%MW10:2)
ASSIGN_KEYS(ADR#1.0,%MW0:2,%MW10:2)
PANEL_CMD(ADR#1.0,%MW0:2,%MW10:2)
625
625
625
858
858
858
236
236
236
1250 1715 472
1250 1715 472
1250 1715 472
238
238
238
476
476
476
182
182
182
364
364
364
183
183
183
366
366
366
141
141
141
282
282
282
20
20
20
25
25
25
Función de regulación
La tabla siguiente describe el rendimiento de las funciones de regulación.
ST
PID("PIDS1",’Unité’,%IW3.5,%MW1
2, %M16,%MW284:43)
PWM(%MW11,%Q2.1,%MW385:5)
SERVO(%MW12,%IW3.6,%Q2.2,%
Q2.3, %MW284:43,%MW390:10)
PID_MMI(ADR#0.0.4,%M1,%M2:5,
%MW410:62)
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• • deval_mmi
=0
688 943 260 262 200 201 155 32 deval_mmi
=1
563 772 213 214 164 165 127
313 429 118 119 91 91 70 17
500 686 189 191 145 146 113 31
EN=1 625 858 236 238 182 183 141 30
35013159.01 07/2008
209
Rendimiento
Guardado de datos
ST
SET_PCMCIA
WRITE_PCMCIA
READ_PCMCIA
La tabla siguiente describe el rendimiento de las funciones de guardado de datos.
Condición fijo por palabra fijo por palabra fijo por palabra
Tiempo de ejecución (
μ s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
57 3• cart
Tamaño
(palabras)
57 4• 57• •
350
0,4
350
0,8
350
0,7
70
0,3
70
0,3
70
0,4
40
0,2
40
0,3
40
0,3
30
0,2
30
0,2
30
0,4
Función Orphée La tabla siguiente describe el rendimiento de las funciones de regulación.
ST
DSHL_RBIT(%MD102,16,%MD204,%MD206)
DSHR_RBIT(%MD102,16,%MD204,%MD206)
Tiempo de ejecución (
200
319
274
437
76
120
DSHRZ_C(%MD102,16,%MD204,%MD206) 194 266 73
WSHL_RBIT(%MW102,8,%MW204,%MW206) 138 189 52
WSHR_RBIT(%MW102,8,%MW204,%MW206)
WSHRZ_C(%MW102,8,%MW204,%MW206)
181
138
249
189
SCOUNT(%M100,%MW100,%M101,%M102,
%MW101,%MW102,%M200,%M201,%MW200,
%MW201)
263 360
69
52
99
μ
76
74
52
69
52 s)
57 1•
RAM
57 1• cart
57 2•
RAM
57 2• cart
122
100
57 3•
RAM
57 3• cart
Tamaño
(palabras)
57 4• 57• •
58
93
58
93
45
72
17
17
56
40
53
40
76
57
40
53
40
77
44
31
41
31
59
17
17
17
17
38
210
35013159.01 07/2008
Instrucciones de entradas/salidas explícitas
Rendimiento
35013159.01 07/2008
211
Rendimiento
Rendimiento
ST
La tabla siguiente describe el rendimiento de las instrucciones de entradas/salidas explícitas.
Tiempo de ejecución (
μ s)
57 1• cart
57 2•
RAM
57 2• cart
57 3•
RAM
57 3• cart
Tamaño
(palabras)
57 4• 57• • 57 1•
RAM
Read_Sts %CHi.MOD
Cualquier función específica, exceptuando la vía de comunicación del procesador
Read_Sts %CHi
EntradaTON
Salida TON
Entrada analógica
Salida analógica
Módulo de contaje CTY 2A/4A
Módulo de contaje CTY 2C
Módulo paso por paso CFY 11/22
Módulo de comando de eje CAY 21/41
Write_Param %CHi
Entrada analógica
Salida analógica
Módulo de contaje CTY 2A/4A
Módulo de contaje CTY 2C
Módulo paso por paso CFY 11/22
Módulo de comando de eje CAY 21/41
Read_Param %CHi
Entrada analógica
Salida analógica
Módulo de contaje CTY 2A/4A
Módulo de contaje CTY 2C
Módulo paso por paso CFY 11/22
Módulo de comando de eje CAY 21/41
Save_Param %CHi
552
327
311
448
334
296
386
334
327
499
474
603
400
577
461
115
115
334
349
393
386
651
118
118
363
381
435
426
574
540
731
444
691
522
354
335
505
363
317
426
363
354
291
75
75
201
209
230
227
274
265
302
233
297
260
197
189
254
201
180
227
201
197
292
75
75
201
209
230
227
275
265
303
234
298
260
197
189
255
201
181
227
201
197
220
56
56
151
157
173
171
207
200
229
176
225
196
148
142
192
151
136
171
151
148
220
56
56
151
157
173
171
207
200
230
176
226
196
148
142
192
151
136
171
151
148
49
49
129
134
148
145
174
169
190
150
187
166
127
122
163
129
117
145
129
127
2
6
6
6
212
35013159.01 07/2008
Rendimiento
ST Tiempo de ejecución (
μ s)
Entrada analógica
Salida analógica
Módulo de contaje CTY 2A/4A
Módulo de contaje CTY 2C
Módulo paso por paso CFY 11/22
Módulo de comando de eje CAY 21/41
57 1•
RAM
635
640
752
379
421
421
57 1• cart
787
795
57 2•
RAM
306
306
1 049 271
417
470
470
223
243
243
Restore_Param %CHi
Entrada analógica
Salida analógica
Módulo de contaje CTY 2A/4A
Módulo de contaje CTY 2C
Módulo paso por paso CFY 11/22
467
467
608
349
588
480
531
531
739
381
707
548 Módulo de comando de eje CAY 21/41
Write_Cmd %CHi
Salida TON 288 308 176
Entradas analógicas
Forzado de entrada
Resincronización de entrada
134
691
138
895
86
303
Salidas analógicas
Forzado 143 147 92
Smove %CH1.0(%MW1,%MW2,%MW3,%MD4,%MD5,%MW6)
Módulo paso por paso CFY 11/22
Módulo de comando de eje CAY 21/41
617
608
755
739
304
303
262
262
303
209
299
267
263
263
304
209
300
268
57 2• cart
307
307
274
223
243
243
176
86
304
92
305
304
198
198
230
157
227
202
133
65
231
69
231
230
57 3•
RAM
232
233
209
168
183
183
57 3• cart
233
233
211
168
183
183
Tamaño
(palabras)
57 4• 57• •
191
191
160
143
155
155
6
198
198
230
157
227
202
133
65
232
69
231
230
167
167
190
134
188
170
114
0
56
186
0
60
190
190
6
6
19
35013159.01 07/2008
213
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:
Tipo
EBOOL
BOOL
WORD
DWORD
REAL
AR_X
AR_W
AR_D
AR_R
STRING
3
3
3
3
3
2
2
IN
0,5
0,5
1
3
3
3
3
3
2
2
2
2
IN/OUT
2
OUT
0,5
0,5
1
2
2
0,5*N
N
2*N
2*N
0,5*N
PUBLICA
0,5
0,5
1
2
2
0,5*N
N
2*N
2*N
0,5*N
PRIVADA
0,5
0,5
1
2
2
0,5*N
N
2*N
2*N
0,5*N
N = número de'elementos de la tabla o longitud de la cadena de caracteres
(STRING)
214
35013159.01 07/2008
Tamaño del código DFB
Rendimiento
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:
Naturaleza
IN
IN/OUT
OUT, PUBLC
PRIVADA
Tipo
EBOOL
BOOL, WORD, DWORD, REAL
AR_X,AR_W,AR_D,AR_R,STRING
EBOOL
BOOL, WORD, DWORD, REAL
AR_X,AR_W,AR_D,AR_R,STRING
EBOOL
BOOL, WORD, DWORD, REAL
AR_X,AR_W,AR_D,AR_R,STRING
0
0
3
3
0,5
0
3
3
Volumen
0,5
Objeto indexado:
Naturaleza
IN
IN/OUT
OUT,
PUBLICA,
PRIVADA
Tipo
AR_X,AR_W,AR_D,AR_R
AR_X,AR_W,AR_D,AR_R
AR_X,AR_W,AR_D,AR_R
Volumen
7
7
6
35013159.01 07/2008
215
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
Naturaleza Tipo
IN EBOOL, BOOL, WORD, DWORD, REAL
AR_X,AR_W,AR_D,AR_R, STRING
IN/OUT
OUT,
EBOOL, WORD, DWORD, REAL
BOOL, AR_X,AR_W,AR_D,AR_R
Todo tipo
Volumen
ídem asignación:=
14
10
14
ídem asignación:=
Empleo de'una variable de'una instancia: volver a añadir 1 palabra en relación con
216
35013159.01 07/2008
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ámetro
La tabla siguiente ofrece los tiempos de ejecución en
μ s.
574• Elemento Tipo 571•
RAM
13,0
571• cart
16,3 Talón para código DFB
Acceso a una variable o a un parámetro DFB (1)
Objetos indexados
IN EBOOL
IN/OUT
OUT,
PUBLICA,
PRIVADA
BOOL,WORD,DWORD,REAL
AR_X,AR_W,AR_D,AR_R,STRING
EBOOL
BOOL,WORD,DWORD,REAL
AR_X,AR_W,AR_D,AR_R,STRING
0,2
0
1,4
1,4
0,2
0
0
0,3
0
0
Objetos no indexados
IN, IN/
OUT
AR_X,AR_W,AR_D,AR_R,
OUT,
PUBLICA,
PRIVADA
AR_X,AR_W,AR_D,AR_R,
2,8
2,1
3,5
2,6
Llamada DFB (sin parámetro)
Cálculo por parámetro (1)
IN
IN/OUT
OUT
EBOOL
BOOL,WORD,DWORD,REAL
AR_X,AR_W,AR_D,AR_R,STRING
EBOOL,WORD,DWORD,REAL
3,8
ídem:=
ídem:=
3,5
2,8
4,8
4,4
3,5
BOOL,AR_X,AR_W,AR_D,AR_R,STRING 3,5
Todo tipo ídem:=
4,4
0,3
0
1,7
1,7
572•
RAM
4,8
0,09
0
0,5
0,5
0,09
0
0
1,0
0,8
1,5
1,5
1,0
1,5
572• cart
4,8
0,12
0
0,8
0,8
0,12
0
0
0,9
1,1
1,8
1,9
1,4
1,9
573•
RAM
3,4
0,06
0
0,4
0,4
0,06
0
0
0,7
0,5
1,0
1,0
0,7
1,0
573• cart
3,8
0,10
0
0,6
0,6
0,10
0
0
0,7
0,9
1,4
1,6
1,1
1,6
1,1
0,2
0,2
0,3
0,3
0,2
0,3
0,02
0
0,1
0,1
0,02
0
0
(1) valor que se debe añadir en relación con las operaciones que se aplican a objetos de tipo %M.
35013159.01 07/2008
217
Rendimiento
6.4
Funciones avanzadas
Presentación
Objeto
Contenido
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.
Esta sección contiene los siguientes apartados:
Apartado
Descripción de las zonas de memoria
Tamaño de memoria de los objetos
Resumen del consumo de memoria de los módulos en Micro
Resumen del consumo de memoria de los módulos en Premium
Tamaño de la memoria de las funciones avanzadas
Método de cálculo del número de instrucciones
Página
218
35013159.01 07/2008
Rendimiento
Descripción de las zonas de memoria
Nota z z
La aplicación se reparte en varias zonas de la memoria: z zona de memoria bit: z z 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: z la configuración, z z 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.
35013159.01 07/2008
219
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.
Tipo de objeto
Etapas Grafcet (%Xi, %Xi.T)
%Mi
Digitales (%MWi)
Constantes (%KWi)
%NWi
%Ti
%TMi
%MNi
%Ci
%Ri (longitud lg)
%DRi
Memoria bit (en palabras)
Datos (en palabras)
0,5 1
0,5
1
1
4
5
4
3
6+lg
6
Aplicación (en palabras)
1,25
2
1
2
2
2
49
Datos del intérprete Grafcet = 355 + 2 x Nº etapas activas configuradas + (Nº de transiciones válidas configuradas) / 2
220
35013159.01 07/2008
Rendimiento
Resumen del consumo de memoria de los módulos en Micro
Generalidades
Procesadores
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.
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.
La tabla siguiente ofrece el consumo de memoria de los módulos de procesadores
TSX 37.
Procesadores
TSX 37-05/08/10
TSX 37-21
TSX 37 -22
Empleo de la tarea FAST (TSX 37)
Empleo del primer suceso(TSX 37)
Memoria de bits
(palabras)
70
70
70
Datos
(palabras)
1560
1570
2110
260
520
Zona de aplicación
(palabras)
920
930
1280
Módulos Todo o nada
La tabla siguiente ofrece el consumo de memoria de los módulos Todo o nada.
Familia Todo o nada
Ocho entradas TON
16 entradas TON
Cuatro salidas TON
Ocho salidas TON
8E / 8S TON
16E / 12S TON
32E / 32S TON
4
16
32
8
2
4
Memoria de bits
(palabras)
4
Datos
(palabras)
12
12
12
12
12
20
20
50
40
40
Zona de aplicación
(palabras)
40
40
100
142
35013159.01 07/2008
221
Rendimiento
Módulos analógicos
Módulos de contaje
La tabla siguiente ofrece el consumo de memoria de los módulos analógicos.
Familia analógica
Módulo de cuatro entradas analógicas
AEZ414 0
Coste adicional del primer módulo de la familia de cuatro entradas analógicas
Memoria de bits
(palabras)
Módulo de ocho entradas analógicas
AEZ801/AEZ802 0
Coste adicional del primer módulo de la familia de ocho entradas analógicas
Módulo de salidas analógicas
ASZ200 0
ASZ401
Coste adicional del primer módulo de la familia de salidas analógicas
0
Datos
(palabras)
156
212
52
100
Zona de aplicación
(palabras)
56
120
72
120
40
59
120
La tabla siguiente ofrece el consumo de memoria de los módulos de contaje.
Familia de contaje
CTY1A
CTY2A
Coste adicional de la primera vía en contaje
Coste adicional de la primera vía en descontaje
Coste adicional de la primera vía en
CPT/DCPT
Memoria de bits
(palabras)
16
32
Datos
(palabras)
108
212
Zona de aplicación
(palabras)
64
106
144
144
144
222
35013159.01 07/2008
Módulos de comunicación
Rendimiento
La tabla siguiente ofrece el consumo de memoria de los módulos de comunicación.
Familia de comunicación
STZ010
SCP111/SCP112/SCP114
(en UC UTW)
FPP 20 en UC (vía 0 UTW)
MDM 10
0
0
Memoria de bits
(palabras)
0
0
Datos
(palabras)
36
40
40
2528
Zona de aplicación
(palabras)
168
763
755
12880
35013159.01 07/2008
223
Rendimiento
Resumen del consumo de memoria de los módulos en Premium
Generalidades
Procesadores
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.
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.
La tabla siguiente ofrece el consumo de memoria de los módulos de procesadores
TSX 57.
Procesadores Memoria de bits (palabras)
Datos
(palabras)
P 57-1•
P 57-2•/3•/4•
Empleo de la tarea FAST (TSX 57)
Coste adicional del primer módulo en la configuración
70
70
P 57-1•: por anillo de regulación
Coste adicional del primer anillo
P 57-2•/3•/4•: por anillo de regulación
Coste adicional del primer anillo
4714
4714
520
600
500
500
Zona de aplicación
(palabras)
1720
1784
25000
5000
224
35013159.01 07/2008
Módulos TON
Rendimiento
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
16 entradas TON
32 entradas TON
64 entradas TON
4
8
16
32
Coste adicional del primer módulo de la familia de entradas
Familia de salidas TON sencillas
Ocho salidas TON
16 salidas TON
32 salidas TON
64 salidas TON
Coste adicional del primer módulo de la familia de salidas
4
8
16
32
Familia de entradas TON de suceso
16 entradas TON (DEY 16FK)
Coste adicional del primer módulo de la familia de entradas
8
Familia de entradas/salidas TON de seguridad
12E/4S o 12E/2S(PAY) 16
Coste adicional del primer módulo de la familia de entradas TON de suceso
Familia de entradas/salidas TON mixta
16 entradas/12 salidas (DMY 28FK)
Coste adicional del primer módulo de familia
TON mixta
16 E/12 S de sucesos (DMY 28RFK)
Coste adicional del primer módulo de la familia TON mixta refleja
16
32
100
130
230
430
110
160
280
550
220
128
304
976
100
110
120
190
610
100
110
120
190
570
130
680
200
1320
152
1432
656
5596
35013159.01 07/2008
225
Rendimiento
Módulos analógicos
La tabla siguiente ofrece el consumo de memoria de los módulos analógicos.
Familia analógica
Familias de entradas analógicas
AEY414
AEY800
AEY1600
Coste adicional del primer módulo de la familia de entradas analógicas (AEY
414/800/1600)
4
8
16
Memoria de bits
(palabras)
AEY810
AEY1614
Coste adicional del primer módulo de la familia de entradas analógicas (AEY
810/1614)
AEY420 4
8
16
Coste adicional del primer módulo de la familia de entradas analógicas (AEY
810/1614)
Familia de salidas analógicas
ASY410
Coste adicional del primer módulo de salidas analógicas ASY410
4
ASY800
Coste adicional del primer módulo de salidas analógicas ASY800
8
Datos
(palabras)
430
840
1670
888
1768
476
430
744
Zona de aplicación
(palabras)
160
240
430
2990
248
432
3056
168
2080
160
1700
248
1760
226
35013159.01 07/2008
Módulos de contaje
Rendimiento
La tabla siguiente ofrece el consumo de memoria de los módulos de contaje.
Familia de contaje
Módulo CTY2A
Módulo CTY4A
Coste adicional de la primera vía de contaje configurada
Módulo CTY2C
Coste adicional de la primera vía de contaje configurada
Memoria de bits (palabras)
32
64
48
Datos
(palabras)
410
800
672
Zona de aplicación
(palabras)
170
250
1740
184
1992
Módulos servo motor
La tabla siguiente ofrece el consumo de memoria de los módulos servo motor.
Familia servo motor (palabras)
CAY•1
CAY•2
CAY33 vía 3
Coste adicional de la primera vía configurada CAY•1
Coste adicional de la primera vía configurada CAY•2/33
Coste adicional de la primera vía 3 configurada CAY33
Memoria de bits
(palabras)
78
78
78
(palabras)
520
376
264
140
232
170
2130
3600
3600
Módulos paso a paso
La tabla siguiente ofrece el consumo de memoria de los módulos de paso a paso.
Familia de paso a paso
CFY11
CFY21
Coste adicional de la primera vía de paso a paso configurada
Memoria de bits
(palabras)
29
58
Datos
(palabras)
323
646
Zona de aplicación
(palabras)
104
152
2368
35013159.01 07/2008
227
Rendimiento
Módulos de comunicación
La tabla siguiente ofrece el consumo de memoria de los módulos de comunicación.
Familia de módulos de comunicación
SCY21600 (vía 0 UTW)
En SCY21600 (vía 1 UTW)
Coste adicional de la primera vía configurada en UTW
ETY 110
Coste adicional de la primera vía configurada ETY•110
ETY 120
Coste adicional de la primera vía configurada ETY•120
ETY 210
Coste adicional de la primera vía configurada ETY•210
IBY 100
1
1
Memoria de bits
(palabras)
Datos
(palabras)
1
1
1
1
230
450
431
48
434
450
Zona de aplicación
(palabras)
80
40
1280
256
1984
136
1368
400
3424
40
Submódulos de comunicación
La tabla siguiente ofrece el consumo de memoria de los submódulos de comunicación.
Submódulo de comunicación Memoria de bits
(palabras)
Datos
(palabras)
60
Zona de aplicación
(palabras)
580 SCP111/ SCP112/ SCP114 (UTW) 1 en UC (vía 0 UTW)
FPP 20 en UC (vía 0 UTW)
FPP 10 en UC (vía 0 UTW)
1
1
60
40
580
870
Acoplador AS-i La tabla siguiente ofrece el consumo de memoria de los acopladores AS-i.
Familia AS-i
SAY
Coste adicional de la primera vía AS-i
Memoria de bits
(palabras)
3
Datos
(palabras)
373
Zona de aplicación
(palabras)
176
2272
228
35013159.01 07/2008
Módulos de pesaje
Rendimiento
La tabla siguiente ofrece el consumo de memoria de los módulos de pesaje.
Familia de pesaje
AWY001
Coste adicional de la primera vía de pesaje configurada
Memoria de bits (palabras)
Datos
(palabras)
1 170
Zona de aplicación
(palabras)
120
3920
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 entradas/salidas remotas Memoria de bits (palabras)
Datos
(palabras)
8 152
Zona de aplicación
(palabras)
88
1400
Entradas TON
Coste adicional de la primera platina principal configurada
Salidas TON
Coste adicional de la primera platina principal configurada
Programable
Coste adicional de la primera platina principal configurada
Almacenamiento del estado
Coste adicional de la primera platina principal configurada
AES 400
ASS 200
AMS 620
Coste adicional de la primera platina principal configurada
8
8
8
2
2
4
176
160
160
270
270
508
88
1320
88
2304
88
1400
104
104
112
3968
35013159.01 07/2008
229
Rendimiento
Módulos
Momentum
La tabla siguiente ofrece el consumo de memoria de los módulos Momentum.
Familia Momentum Memoria de bits (palabras)
Datos
(palabras)
Entradas
Coste adicional de la primera platina principal configurada
16
Salida 16
Coste adicional de la primera platina principal configurada
Mixta
Coste adicional de la primera platina principal configurada
16
96
112
104
Zona de aplicación
(palabras)
72
1384
72
1256
72
1424
Módulos de traslado del bus X
La tabla siguiente ofrece el consumo de memoria del módulo de traslado del bus X.
Traslado del bus X
Módulo TSX REY 200
Memoria de bits (palabras)
Datos
(palabras)
0 0
Zona de aplicación
(palabras)
56
230
35013159.01 07/2008
Rendimiento
Tamaño de la memoria de las funciones avanzadas
Descripción
Ejemplo
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.
z z
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: z Código común = 154 palabras.
z 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: z Código OF DINT_TO_DBCD = 203 palabras.
z 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.
35013159.01 07/2008
231
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
Conversión de un número BCD de 32 bits en un entero de 16 bits
DBCD_TO_DINT 203
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
Extracción de la palabra menos significativa de una palabra doble
INT_TO_DBCD 75
LW 33
Extracción de la palabra más significativa de una palabra doble
HW
Formación de una palabra doble con 2 palabras CONCATW
Código común
33
33
154
232
35013159.01 07/2008
Instrucciones sobre cadenas de bits
Rendimiento
La tabla siguiente ofrece el consumo de memoria de las funciones avanzadas de cadenas de bits.
Cadenas de bits OF
Y lógica entre dos tablas AND_ARX
Copia de una tabla de bits a una tabla de palabras dobles BIT_D
Copia de una tabla de bits en una tabla de palabras
Copia de una tabla de bits a una tabla de bits
BIT_W
COPY_BIT
Copia de una tabla de palabras dobles a una tabla de bits D_BIT
Complemento de uno de una tabla
O lógica entre dos tablas
Copia de una tabla de palabras a una tabla de bits
O exclusiva entre dos tablas
Longitud en número de elementos
NOT_ARX
OR_ARX
W_BIT
XOR_ARX
LENGTH_ARX
Código común
205
146
196
157
209
195
Tamaño del código
209
248
209
20
427
35013159.01 07/2008
233
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)
75 Búsqueda del primer elemento de una tabla igual a un valor
Búsqueda del primer elemento de una tabla superior a un valor
FIND_EQW
FIND_GTW
Búsqueda del primer elemento de una tabla inferior a un valor
FIND_LTW
Búsqueda del mayor valor dentro de una tabla MAX_ARW
75
78
Búsqueda del menor valor de una tabla MIN_ARW
Número de repeticiones de un valor dentro de una tabla OCCUR_ARW
Desplazamiento circular de una tabla hacia la izquierda ROL_ARW
Desplazamiento circular de una tabla hacia la derecha
Ordenación de una tabla (creciente o decreciente)
Longitud en número de elementos
ROR_ARW
SORT_ARW
Búsqueda parcial del primer elemento de una tabla igual a un valor
FIND_EQWP
LENGTH_ARW
Código común
144
164
77
20
162
78
74
145
150
234
35013159.01 07/2008
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)
79 Búsqueda del primer elemento de una tabla igual a un valor
Búsqueda del primer elemento de una tabla superior a un valor
FIND_EQD
FIND_GTD
Búsqueda del primer elemento de una tabla inferior a un valor
Búsqueda del mayor valor dentro de una tabla
FIND_LTD
MAX_ARD
80
95
Búsqueda del menor valor de una tabla MIN_ARD
Número de repeticiones de un valor dentro de una tabla OCCUR_ARD
Desplazamiento circular de una tabla hacia la izquierda ROL_ARD
Desplazamiento circular de una tabla hacia la derecha
Ordenación de una tabla (creciente o decreciente)
ROR_ARD
SORT_ARD
178
Búsqueda parcial del primer elemento de una tabla igual a un valor
Longitud en número de elementos
FIND_EQWP
LENGTH_ARW
Código común
77
20
162
95
78
163
170
35013159.01 07/2008
235
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)
152
134
Suma de los elementos de una tabla de reales
Búsqueda del primer elemento de una tabla igual a un valor
SUM_ARR
FIND_EQR
Búsqueda del primer elemento de una tabla igual a un valor a partir de una posición
FIND_EQRP
Búsqueda del primer elemento de una tabla superior a un valor
FIND_GTR
Búsqueda del primer elemento de una tabla inferior a un valor
FIND_LTR
Búsqueda del mayor valor dentro de una tabla
Búsqueda del menor valor de una tabla
MAX_ARR
MIN_ARR
Número de repeticiones de un valor dentro de una tabla OCCUR_ARR
Desplazamiento circular de una tabla hacia la izquierda ROL_ARR
Desplazamiento circular de una tabla hacia la derecha
Ordenación de una tabla (creciente o decreciente)
ROR_ARR
SORT_ARR
Comparación de dos tablas de reales
Ordenación de una tabla (creciente o decreciente)
EQUAL_ARR
LENGTH_ARR
Código común
135
134
134
173
271
173
20
124
161
162
132
167
236
35013159.01 07/2008
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
Añadido de una duración a una fecha completa
Añadido de una duración a una hora del día
Conversión de una fecha en cadena
Día de la semana
Desviación entre dos fechas
Desviación entre dos fechas completas
Desviación entre dos horas del día
Conversión de una fecha completa en cadena
Supresión de la duración de una fecha completa
Supresión de una duración a una hora del día
Conversión de una duración en cadena
OF
ADD_DT
ADD_TOD 188
DATE_TO_STRING 150
DAY_OF_WEEK 99
DELTA_D
DELTA_DT
DELTA_TOD
DT_TO_STRING
SUB_DT
SUB_TOD
Tamaño del código
519
374
547
110
266
548
186
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
35013159.01 07/2008
237
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
Instrucciones sobre cadenas de caracteres
Tamaño del código
Tamaño del código
Concatenación de dos cadenas
Supresión de una subcadena
Búsqueda del primer carácter diferente
Búsqueda de una subcadena
Inserción de una subcadena
Extracción de la parte izquierda de una cadena
Longitud de una cadena
Extracción de una subcadena
Sustitución de una subcadena
Extracción de la parte derecha de una cadena
CONCAT
DELETE
EQUAL_STR
FIND
INSERT
LEFT
LEN
MID
REPLACE
RIGHT
Código común
38
70
44
365
279
212
225
287
55
418
238
35013159.01 07/2008
Funciones
Orphée
Rendimiento
La tabla siguiente ofrece el consumo de memoria de las funciones Orphée.
Funciones Orphée OF Tamaño del código
152 Desplazamiento en 32 hacia la izquierda con recuperación de bits desplazados
DSHL_RBIT
Desplazamiento en 32 hacia la derecha con extensión de signo, recuperación de bits desplazados
DSHR_RBIT
Desplazamiento en 32 hacia la derecha con relleno de cero, recuperación de bits desplazados
DSHRZ_C
Desplazamiento en 16 hacia la izquierda con recuperación de bits desplazados
WSHL_RBIT
Desplazamiento en 16 hacia la derecha con extensión de signo, recuperación de bits desplazados
WSHR_RBIT
Desplazamiento en 16 hacia la derecha con relleno de cero, recuperación de bits desplazados
WSHRZ_C
Código común
152
133
91
103
90
173
Contaje/descontaje con señalización de alcance
Rotación de una palabra hacia la izquierda
Rotación de una palabra hacia la derecha
Rotación de una palabra doble hacia la izquierda
Rotación de una palabra doble hacia la izquierda
SCOUNT
ROLW
RORW
ROLD
RORD
617
41
49
49
Funciones de temporización
La tabla siguiente ofrece el consumo de memoria de las funciones de temporización.
Funciones de temporización OF
Salida de posicionamiento
Temporización de desconexión
Temporización de conexión
Temporización de impulsión
FPULSOR
FTOF
FTON
FTP
Tamaño del código (en palabras)
215
272
217
245
35013159.01 07/2008
239
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 logarítmicas, exponenciales y trigonométricas
Logaritmo neperiano
Logaritmo decimal
Exponencial
Potenciación de un real elevado a un entero
Parte entera
Coseno de un ángulo en radianes
Seno de un ángulo en radianes
Tangente de un ángulo en radianes
Arcocoseno (resultado entre cero y pi)
Arcoseno (resultado entre -pi/2 y pi/2)
Arcotangente (resultado entre -pi/2 y pi/2)
Conversión de grados a radianes
Conversión de radianes a grados
OF
LN
LOG
EXP
EXPT
TRUNC
COS
SIN
TAN
ACOS
ASIN
ATAN
DEG_TO_RAD
RAD_TO_DEG
Código común
0
257
247
392
0
0
0
128
0
0
Tamaño del código (en palabras)
0
0
0
523
Funciones de regulación
La tabla siguiente ofrece el consumo de memoria de las funciones de regulación.
Funciones de regulación OF Tamaño del código (en palabras)
1800
600
Regulador PID mixto
Modulación en ancho de impulsión de una magnitud digital
PID
PWM
Escalón de salida de PID para comandos de válvula
TON
SERVO
Gestión del diálogo de operador destinado en CCX17 de
PID
PID_MMI
Código común
1200
4400
573
240
35013159.01 07/2008
Funciones de diálogos de operador
Rendimiento
La tabla siguiente ofrece el consumo de memoria de las funciones de diálogos de operador.
Funciones de diálogos de operador
Introducción que bloquea una variable en CCX17
OF
Ask_msg,
Tamaño del código (en palabras)
46,5
Introducción que bloquea una variable en msg contenida en CCX17
Ask_value,
Asignación dinámica de las teclas
Comando de control de los LED de indicaciones
Assign_keyS,
Control_leds,
46,5
46,5
46,5
Visualización de una alarma contenida en CCX17
Visualización de un grupo de mensajes contenidos en
CCX17
Visualización de un mensaje contenido en CCX17
Introducción múltiple de una variable en CCX17
Display_alarm, 46,5
Display_GRP, 46,5
Display_MSG,
GET_MSG,
46,5
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
Visualización de un msg de alarma contenido en la memoria del autómata
PANEL_CMD, 46,5
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
35013159.01 07/2008
241
Rendimiento
Funciones de comunicación
La tabla siguiente ofrece el consumo de memoria de las funciones de comunicación.
Funciones de comunicación
Lectura de objetos de lenguaje de base
Escritura de objetos de lenguaje de base
Emisión o recepción de peticiones UNI-TE
Emisión o recepción de datos
Emisión de una cadena de caracteres
OF
READ_VAR
WRITE_VAR
SEND_REQ
DATA_EXCH
438
375
PRINT_CHAR 476
Tamaño del código (en palabras)
617
500
Solicitud de lectura de una cadena de caracteres
Emisión o recepción de una cadena de caracteres
Emisión de un telegrama
Recepción de un telegrama
Demanda de parada de una función de comunicación en curso
RCV_TLG
CANCEL
172
Desplazamiento de un byte de una tabla de bytes hacia la derecha
Código común 506
ROR1_ARB 235
Servidor inmediato
INPUT_CHAR 625
OUT_IN_CHAR 531
SEND_TLG 219
Escritura de 1 K de mensajería
Lectura de 1 K de mensajería
SERVER 32
Código común 648
32
Código común 936
READ_ASYN 32
Código común 920
Funciones de comandos de movimiento
La tabla siguiente ofrece el consumo de memoria de las funciones de comandos de movimiento.
Funciones de comandos de movimiento OF
Comando de movimiento automático de un solo eje
Comando de movimiento automático multieje
SMOVE
XMOVE
Tamaño del código
(palabras)
24
32
242
35013159.01 07/2008
Almacenamiento de datos
Rendimiento
La tabla siguiente ofrece el consumo de memoria de las funciones de almacenamiento de datos.
Almacenamiento de datos OF Tamaño del código (palabras)
24 Inicio de la zona de almacenamiento en la tarjeta
PCMCIA
Escritura de datos en la tarjeta PCMCIA
Lectura de datos en la tarjeta PCMCIA
SET_PCMCIA
WRITE_PCMCIA 24
READ_PCMCIA 24
Código común 288
Función de intercambio explícito
La tabla siguiente ofrece el consumo de memoria de las funciones de comandos de intercambio explícito.
Intercambios explícitos
Lectura de parámetros de estado
Lectura de parámetros de ajuste
Actualización de parámetros de ajuste
Almacenamiento de parámetros de ajuste
OF
READ_STS
READ_PARAM
WRITE_PARAM
SAVE_PARAM
Tamaño del código (palabras)
0
0
0
0
Restauración de parámetros de ajuste
Actualización de parámetros de comando
RESTORE_PARAM 0
WRITE_CMD 0
(1) OF específico, el código se tiene en cuenta en el volumen del módulo de E/S.
35013159.01 07/2008
243
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)
IO_DIA
ALRM_DIA
NEPO_DIA
TEPO_DIA
EV_DIA
MV_DIA
ASI_DIA
Tamaño de tipo
DFB
Tamaño del código de tipo
DFB
800
608
64
40
15184
10896
1144
2616
7912
128
128
48
80
304
136
136
56
88
312
Tamaño de datos por instancia
72
48
244
35013159.01 07/2008
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 z z
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) z 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 %M0
AND (%M1
OR %M2
)
ST %M3
= 5 instrucciones booleanas
Cálculo del número de instrucciones
Digitales z z z z z z
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.
35013159.01 07/2008
245
Rendimiento
Ejemplo Ejemplo de programa que contiene 65% de booleano y 35% de digital:
%M0
%M1
%M2
%M3 %M4
%M10 %M11 %M12
%M14 %M15 %M16
%M13
%M20 %M21
%M22 %M23
%M5
%M6
%M17
%M10 %M11 %M12
%M18
%M30 %M31 %M32 %M33
%M13 %M14 %M15
%M16
%M34
%M0
%M7
%M1
%M8
%M2
%M10 %M11 %M12
%M15 %M16
%M3
%M13
%M4 %M5 %M6
%M17 %M18 %M19
%M20
%M35
%M30
246
35013159.01 07/2008
Rendimiento
%M0 %M1
Ejemplo (continuación)
%M5 %M6 %M7 %M8
%M11 %M12 %M13 %M14
%M9
%M15 %M16
%M0 %M1
%M2
%M3 %M4 %M5 %M6
%M7
%M8
%M0 %M1 %M2
%M20 %M21 %M22
%M24
%M26
%M3
%M23
%M25
%M27
%M4 %M5 %M6
%M28
%M29
%M7 %M8 %M9 %M10
%M40
%M41
%M42
%M9
%M10
R
%M11
R
%M3
%M4
%M10
%M17
35013159.01 07/2008
247
Rendimiento
Ejemplo (continuación)
%M0
%M2
%M4
%M6
%M8
%M9
%M10 %M11
%M12
%M1
%M3
%M6
%M2
%M4
%M7
%M8
%M9
%M5
%M1
%M3
%M5
%M7
%M13
%M10
%M11
248
35013159.01 07/2008
Ejemplo (continuación)
%M1
%M3
%M6
%M2
%M4
%M13
%M12
%M7
%M8
%M9
%M5 %M14
%M15
%M0
%M3
%M1
P
%M2
N
%M4
P
%M5
%M10 %M11 %M12
P
%M13 %M14
%M6
%M7
%M8 %M9 %M20
%M21
S
%M22
Rendimiento
%M10
%M11
35013159.01 07/2008
249
Rendimiento
Ejemplo (continuación)
COMPARE
%MW3:=%MW5+1
COMPARE
%MW3< =1000
COMPARE
%MW3:=%MW5+1
COMPARE
%MW3<>%MW4
OPERATE
%MW2:=%MW3+%MW5+%KW0/2
OPERATE
%MW100:=%MW18-%KW10
OPERATE
INC%MW10
OPERATE
%MW2[%MW100]:=%MW3+%MW50*1
OPERATE
%MW100:=%MW78+SHL[%MW3,4]
OPERATE
%MW2:=%MW3*%MW5-%KW0
OPERATE
%MW2[%MW100]:=%MW3+%MW50*1
OPERATE
%MW100:=%MW78+ABS[%MW3]
250
35013159.01 07/2008
35013159.01 07/2008
Ejemplo (continuación)
Rendimiento
OPERATE
%MW0:=16#FFFF
OPERATE
%MW2:=2
OPERATE
%TM0.P:%MW88+%MW89-1
OPERATE
%MW4:=%KW0+4
OPERATE
%MW5:=%KW0+5
OPERATE
%MW6:=%MW10/1024
OPERATE
%MW10[%MW0]:=%KW10[%MW0]+1
OPERATE
%MW11:=%MW10+1
OPERATE
%MW12:=%MW0*3+4
OPERATE
%MW13:=%KW13+%MW2+%MW3-1
OPERATE
%MW15:=15
OPERATE
%MW16:=1+%MW70+%MW71+%MW72
251
Rendimiento
Ejemplo (continuación)
OPERATE
%MW20:=%SW10-1
OPERATE
%MW21:=ROL[%MW0.7]
OPERATE
%MW22:=%MW0+3*%MW1-1
OPERATE
%MW23:=0
OPERATE
%MW24:=1
OPERATE
%MW25:=%MW87/1024+22
OPERATE
%MW26:=%MW0+%MW25+1
%M0
OPERATE
%MW0:=%MW1+%MW2+%MW3+%MW>> (1)
R
%C0
C E
%MN0
S M
MODO: TON
R
TB: 1mn
MN.P: 9999
MODIF: Y
S
C.P.: 9999
CU
MODIF: Y
CD
D
F
%TM0
IN TM
MODO: TON
Q
TB: 1mn
TM.P: 9999
MODIF: Y
(1):%MW0:=%MW1+%MW2+%MW3+%MW4+%MW5+%MW6+%MW7+%MW8+
%MW9+%MW10+1
252
35013159.01 07/2008
Rendimiento
Resumen
Booleano sin flanco
Booleano con flanco
Bloque de operación
Bloque de función
Aritmética sencilla (+,-,:=,AND...)
Aritmética indexada
*, /
Valores inmediatos
Total
31
3
111
4
Número de instrucciones
187
4
6
24
346
%
54,05%
1,16%
8,96%
0,87%
32,08%
1,16%
1,73%
64,16%
35,84%
100,00%
35013159.01 07/2008
253
Rendimiento
254
35013159.01 07/2008
Índice
C
CompareSymbolPCAndSymbolPLCAppli,
D
DownloadStationWithSymbol, 133
E
ExportFefFileWithConfiguration, 100
F
G
35013159.01 07/2008
I
O
S
U
A C
255
Index
256
35013159.01 07/2008
Anuncio