You are on page 1of 1477

MITSUBISHI ELECTRIC

MELSEC Serie A/Q


Controladores Lgicos Programables Manual de Programacin

MELSEC System Q, MELSEC A/QnA(S)

Art. n: 158947 01 10 2004 Edicin A

MITSUBISHI ELECTRIC

INDUSTRIAL AUTOMATION

Instrucciones de Programacin de la Serie A y Q de MELSEC N de artculo: 158947 Versin Modificaciones / Complementos / Correcciones 10/04 pdp-ck Primera edicin

II

Acerca del manual

Los textos, ilustraciones, diagramas y ejemplos sirven exclusivamente como explicacin para el manejo, la programacin y aplicacin de los controladores lgicos programables de las series A y Q y del MELSEC System Q.

En caso de tener preguntas acerca de la programacin y la operacin de los equipos indicados en este manual, le rogamos dirigirse a una oficina de ventas o bien directamente a su vendedor (vase las indicaciones en la cubierta). Informaciones actuales y respuestas para las preguntas frecuentes se encuentran disponibles en Internet (www.mitsubishi-automation.de).

La empresa MITSUBISHI ELECTRIC EUROPE BV se reserva el derecho de aplicar modificaciones tcnicas o bien otras modificaciones a este manual sin aviso previo.

Programacin MELSEC A y Q

IV

Contenidos 1 1.1 1.2 1.3 1.4 1.5 1.6 Introduccin Otros manuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1 Tipos de CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2 Bsqueda de una instruccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3 Parmetros de PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3 Comparacin: GX IEC Developer y GX Developer . . . . . . . . . . . . . . . . . . . . . .1-4

2 2.1 2.2

Instrucciones Distribucin de las instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-1 Vista sinptica de las instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4 2.2.1 Explicaciones de la tabla sinptica . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4

2.3

Comandos bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 Instrucciones de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6 Instrucciones de enlace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7 Instrucciones de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8 Instrucciones de desplazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8 Instrucciones de control maestro . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-9 Instrucciones de fin de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-9 Otras instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-9

2.4

Instrucciones de aplicacin I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 Instrucciones de comparacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10 Instrucciones aritmticas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-15 Instrucciones de conversin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-22 Instrucciones de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-25 Instrucciones de bifurcacin de programa . . . . . . . . . . . . . . . . . . . . .2-27 Instruccin para llamada de interrupcin de programa . . . . . . . . . . .2-27 Instruccin de actualizacin de datos . . . . . . . . . . . . . . . . . . . . . . . . .2-28 Otras instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-29

2.5

Instrucciones de aplicacin II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-31 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 Instrucciones lgicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-31 Instrucciones de rotacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-35 Instrucciones de desplazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-36 Instrucciones de procesamiento de bits . . . . . . . . . . . . . . . . . . . . . . .2-37 Instrucciones de procesamiento de datos. . . . . . . . . . . . . . . . . . . . . .2-38 Instruccin estructurada de programaen . . . . . . . . . . . . . . . . . . . . . .2-41 Instruccin de procesamiento para listados de datos . . . . . . . . . . . . .2-43 Instrucciones para el acceso a la memoria de bfer. . . . . . . . . . . . . .2-44

Programacin MELSEC A y Q

Contenidos 2.5.9 Instrucciones de pantalla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-45

2.5.10 Deteccin y eliminacin de errores . . . . . . . . . . . . . . . . . . . . . . . . . . .2-46 2.5.11 Instrucciones de procesamiento para secuencias de caracteres . . . .2-48 2.5.12 Instrucciones para funciones especiales . . . . . . . . . . . . . . . . . . . . . .2-52 2.5.13 Instrucciones de control de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-55 2.5.14 Instrucciones de conversin para bloques de registro de archivo . . .2-56 2.5.15 Instrucciones de reloj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-57 2.5.16 Instrucciones para equipos perifricos . . . . . . . . . . . . . . . . . . . . . . . .2-58 2.5.17 Instrucciones de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-58 2.5.18 Otras instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-59 2.6 Instrucciones de datos de enlace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-61 2.6.1 2.6.2 2.6.3 2.6.4 2.7 Instrucciones de actualizacin de datos de red . . . . . . . . . . . . . . . . .2-61 Instrucciones extendidas de enlace de datos (compatible con serie QnA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-61 Instrucciones de datos de enlace (compatible con serie A) . . . . . . . .2-62 Informaciones de routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-62

Instrucciones para las CPUs del MELSEC System Q . . . . . . . . . . . . . . . . . . .2-63 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 Informaciones de mdulo de lectura . . . . . . . . . . . . . . . . . . . . . . . . . .2-63 Deteccin y eliminacin de errores . . . . . . . . . . . . . . . . . . . . . . . . . . .2-63 Transferencia de datos desde y hacia los archivos . . . . . . . . . . . . . .2-64 Instrucciones de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-64 Instrucciones de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-65 Instrucciones para el intercambio de datos en la operacin de CPUs mltiples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-65

2.8

Instrucciones especiales para una Q4ARCPU. . . . . . . . . . . . . . . . . . . . . . . . .2-66 2.8.1 2.8.2 Instrucciones para el ajuste del modo de operacin . . . . . . . . . . . . . .2-66 Instrucciones de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-66

2.9

Instrucciones para los mdulos especiales . . . . . . . . . . . . . . . . . . . . . . . . . . .2-67 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 Instrucciones para mdulos de interfaz en serie. . . . . . . . . . . . . . . . .2-67 Instrucciones para mdulos PROFIBUS/DP . . . . . . . . . . . . . . . . . . . .2-68 Instrucciones para mdulos ETHERNET . . . . . . . . . . . . . . . . . . . . . .2-69 Instruccin para MELSECNET/10. . . . . . . . . . . . . . . . . . . . . . . . . . . .2-69 Instrucciones para enlace CC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-70

3 3.1

Configuracin de las instrucciones Estructura de una instruccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1 3.1.1 3.1.2 3.1.3 Fuente de datos (s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1 Destino de datos (d) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2 Cantidad (n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2

3.2

Escritura de las instrucciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3 3.2.1 3.2.2 16/ 32 bits con pulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3 MELSEC y IEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3

VI

Programacin MELSEC A y Q

Contenidos 3.2.3 3.2.4 3.3 3.4 3.5 Otras particularidades de la escritura . . . . . . . . . . . . . . . . . . . . . . . . . .3-5 Definicin de la escritura en este manual . . . . . . . . . . . . . . . . . . . . . . .3-5

Programacin de las instrucciones extendidas . . . . . . . . . . . . . . . . . . . . . . . . .3-6 Programacin de variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7 Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9 3.5.1 3.5.2 3.5.3 Procesamiento de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11 Direccionamiento de secuencia de bits y registro en el GX IEC Developer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-19 Utilizacin de datos de secuencia de caracteres (STRING) . . . . . . . .3-22

3.6

Asignacin de ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-24 3.6.1 3.6.2 3.6.3 Asignacin de ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-24 Particularidades de las CPUs de Q y las CPUs de QnA. . . . . . . . . . .3-26 Particularidades de las CPUs AnA, AnAS y AnU . . . . . . . . . . . . . . . .3-28

3.7 3.8

Direccionamiento indirecto (slo GX Developer) . . . . . . . . . . . . . . . . . . . . . . .3-29 Errores de procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-31 3.8.1 3.8.2 Control del rango de operandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-31 Control de los datos de operandos . . . . . . . . . . . . . . . . . . . . . . . . . . .3-33

3.9

Condiciones de ejecucin de las instrucciones . . . . . . . . . . . . . . . . . . . . . . . .3-34 3.9.1 3.9.2 Condicin de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-34 Entrada EN y salida ENO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-35

3.10

Cantidad de pasos de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-37 3.10.1 En un System Q o una CPU de QnA . . . . . . . . . . . . . . . . . . . . . . . . .3-37 3.10.2 Con una CPU de AnA, AnAS y AnU . . . . . . . . . . . . . . . . . . . . . . . . . .3-38

4 4.1 4.2 4.3 4.4

Estructura de los captulos Vista sinptica de las instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 La tabla CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 Operandos MELSEC A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-3 Operandos MELSEC Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4 4.4.1 4.4.2 Visualizacin en el GX IEC Developer . . . . . . . . . . . . . . . . . . . . . . . . .4-4 Visualizacin en el GX Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-5

4.5 4.6 4.7 4.8

Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-5 Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-6 Observaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-6 Fuentes de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-6

Programacin MELSEC A y Q

VII

Contenidos 4.9 Ejemplos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-7

5 5.1

Conjunto de comandos bsicos Instrucciones de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4 5.1.1 5.1.2 LD, LDI, AND, ANI, OR, ORI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4 LDP, LDF, ANDP, ANDF, ORP, ORF . . . . . . . . . . . . . . . . . . . . . . . . . .5-8

5.2

Instrucciones de enlace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-11 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 ANB, ORB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-11 MPS, MRD, MPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-14 INV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-17 MEP, MEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-19 EGP, EGF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-21

5.3

Instrucciones para contactos de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-23 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8 5.3.9 OUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-23 OUT T, OUTH T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-25 OUT C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-28 OUT F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-31 SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-34 RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-36 SET F, RST F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-39 PLS, PLF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-42 FF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-46

5.3.10 CHK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-48 5.3.11 DELTA, DELTAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-50 5.4 Instrucciones de desplazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-52 5.4.1 5.5 SFT, SFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-52

Instrucciones de control maestro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-55 5.5.1 MC, MCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-55

5.6

Definicin del fin de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-61 5.6.1 5.6.2 FEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-61 END. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-64

5.7

Otras instrucciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-67 5.7.1 5.7.2 STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-67 NOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-70

6 6.1

Instrucciones de aplicacin Parte I Instrucciones de comparacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-2 6.1.1 6.1.2 =, < >, >, < =, <, > = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-5 D=, D<>, D>, D<=, D<, D>= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-8

VIII

Programacin MELSEC A y Q

Contenidos 6.1.3 6.1.4 6.1.5 6.2 E=, E<>, E>, E< =, E<, E>= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-11 $ =, $ < >, $ >, $ < =, $ <, $ > = . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-15 BKCMP, BKCMPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-20

Instrucciones aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-25 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.2.8 6.2.9 +, +P, -, -P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-28 D+, D+P, D-, D-P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-32 x, xP, /, /P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-36 Dx, DxP, D/, D/P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-40 B+, B+P, B-, B-P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-43 DB+, DB+P, DB-, DB-P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-48 Bx, BxP, B/, B/P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-53 DBx, DBxP, DB/, DB/P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-56 E+, E+P, E-, E-P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-60

6.2.10 Ex, ExP, E/, E/P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-65 6.2.11 BK+, BK+P, BK-, BK-P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-68 6.2.12 $+, $+P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-72 6.2.13 INC, INCP, DEC, DECP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-75 6.2.14 DINC, DINCP, DDEC, DDECP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-78 6.3 Instrucciones de conversin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-81 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.3.8 6.3.9 BCD, BCDP, DBCD, DBCDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-82 BIN, BINP, DBIN, DBINP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-85 FLT, FLTP, DFLT, DFLTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-89 INT, INTP, DINT, DINTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-92 DBL, DBLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-96 WORD, WORDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-98 GRY, GRYP, DGRY, DGRYP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-100 GBIN, GBINP, DGBIN, DGBINP . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-103 NEG, NEGP, DNEG, DNEGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-106

6.3.10 ENEG, ENEGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-109 6.3.11 BKBCD, BKBCDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-111 6.3.12 BKBIN, BKBINP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-114 6.4 Instrucciones de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-117 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.4.7 6.4.8 6.4.9 6.5 MOV, MOVP, DMOV, DMOVP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-118 EMOV, EMOVP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-121 $MOV, $MOVP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-124 CML, CMLP, DCML, DCMLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-127 BMOV, BMOVP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-132 FMOV, FMOVP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-135 XCH, XCHP, DXCH, DXCHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-138 BXCH, BXCHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-141 SWAP, SWAPP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-144

Instrucciones de bifurcacin de programa . . . . . . . . . . . . . . . . . . . . . . . . . . .6-147 6.5.1 6.5.2 CJ, SCJ, JMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-148 GOEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-153

Programacin MELSEC A y Q

IX

Contenidos 6.6 Instrucciones para llamada de programa de interrupcin . . . . . . . . . . . . . . .6-155 6.6.1 6.6.2 6.7 DI, EI, IMASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-156 IRET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-163

Instrucciones de actualizacin de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-165 6.7.1 6.7.2 6.7.3 6.7.4 RFS, RFSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-166 SEG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-168 COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-172 EI, DI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-175

6.8

Otras instrucciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-178 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.8.6 6.8.7 6.8.8 6.8.9 UDCNT1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-179 UDCNT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-182 TTMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-185 STMR, STMRH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-187 ROTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-191 RAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-196 SPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-199 PLSY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-201 PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-203

6.8.10 MTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-205

7 7.1

Instrucciones de aplicacin II Instrucciones lgicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-2 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.1.6 7.1.7 7.1.8 WAND, WANDP, DAND, DANDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-4 BKAND, BKANDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-11 WOR, WORP, DOR, DORP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-14 BKOR, BKORP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-20 WXOR, WXORP, DXOR, DXORP . . . . . . . . . . . . . . . . . . . . . . . . . . .7-23 BKXOR, BKXORP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-29 WXNR, WXNRP, DXNR, DXNRP . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-32 BKXNR, BKXNRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-39

7.2

Instrucciones de rotacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-42 7.2.1 7.2.2 7.2.3 7.2.4 ROR, RORP, RCR, RCRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-43 ROL, ROLP, RCL, RCLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-46 DROR, DRORP, DRCR, DRCRP . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-49 DROL, DROLP, DRCL, DRCLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-52

7.3

Instrucciones de desplazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-55 7.3.1 7.3.2 7.3.3 SFR, SFRP, SFL, SFLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-56 BSFR, BSFRP, BSFL, BSFLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-59 DSFR, DSFRP, DSFL, DSFLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-62

7.4

Instrucciones de procesamiento de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-65 7.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-65

Programacin MELSEC A y Q

Contenidos 7.4.2 7.4.3 7.4.4 7.5 BSET, BSETP, BRST, BRSTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-66 TEST, TESTP, DTEST, DTESTP . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-69 BKRST, BKRSTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-73

Instrucciones de procesamiento de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-77 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.5.8 7.5.9 SER, SERP, DSER , DSERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-79 SUM, SUMP, DSUM, DSUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-85 DECO, DECOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-88 ENCO, ENCOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-90 SEG, SEGP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-92 DIS, DISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-96 UNI, UNIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-99 NDIS, NDISP, NUNI, NUNIP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-102 WTOB, WTOBP, BTOW, BTOWP . . . . . . . . . . . . . . . . . . . . . . . . . .7-107

7.5.10 MAX, MAXP, DMAX, DMAXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-111 7.5.11 MIN, MINP, DMIN, DMINP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-114 7.5.12 SORT, SORTP, DSORT, DSORTP . . . . . . . . . . . . . . . . . . . . . . . . .7-117 7.5.13 WSUM, WSUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-121 7.5.14 DWSUM, DWSUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-123 7.6 Instrucciones estructuradas de programa . . . . . . . . . . . . . . . . . . . . . . . . . . .7-125 7.6.1 7.6.2 7.6.3 7.6.4 7.6.5 7.6.6 7.6.7 7.6.8 7.6.9 FOR, NEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-126 BREAK, BREAKP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-129 CALL, CALLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-132 RET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-135 FCALL, FCALLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-137 ECALL, ECALLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-141 EFCALL, EFCALLP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-144 CHG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-148 SUB, SUBP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-157

7.6.10 IX, IXEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-160 7.6.11 IXDEV, IXSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-165 7.7 Instrucciones de procesamiento para listados de datos. . . . . . . . . . . . . . . . .7-168 7.7.1 7.7.2 7.7.3 7.7.4 7.8 FIFW, FIFWP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-169 FIFR, FIFRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-173 FPOP, FPOPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-177 FDEL, FDELP, FINS, FINSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-181

Instrucciones para el acceso a la memoria de bfer . . . . . . . . . . . . . . . . . . .7-187 7.8.1 7.8.2 FROM, FROMP, DFRO, DFROP . . . . . . . . . . . . . . . . . . . . . . . . . . .7-188 TO, TOP, DTO, DTOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-192

7.9

Instrucciones de pantalla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-196 7.9.1 7.9.2 7.9.3 7.9.4 PR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-198 PRC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-204 LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-209 LEDC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-212

Programacin MELSEC A y Q

XI

Contenidos 7.9.5 7.9.6 7.10 LEDA, LEDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-215 LEDR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-217

Deteccin y eliminacin de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-221 7.10.1 CHKST, CHK (Serie Q/System Q) . . . . . . . . . . . . . . . . . . . . . . . . . .7-222 7.10.2 CHK (Serie A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-230 7.10.3 CHKCIR, CHKEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-238 7.10.4 SLT, SLTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-243 7.10.5 STRA, STRAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-246 7.10.6 PTRA, PTRAR, PTRAEXE, PTRAEXEP. . . . . . . . . . . . . . . . . . . . . .7-249

7.11

Instr. de procesamiento para secuencias de caracteres . . . . . . . . . . . . . . . .7-251 7.11.1 BINDA, BINDAP, DBINDA, DBINDAP . . . . . . . . . . . . . . . . . . . . . . .7-254 7.11.2 BINHA, BINHAP, DBINHA, DBINHAP . . . . . . . . . . . . . . . . . . . . . . .7-259 7.11.3 BCDDA(P), DBCDDA(P) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-264 7.11.4 DABIN, DABINP, DDABIN, DDABINP . . . . . . . . . . . . . . . . . . . . . . .7-269 7.11.5 HABIN, HABINP, DHABIN, DHABINP . . . . . . . . . . . . . . . . . . . . . . .7-274 7.11.6 DABCD(P), DDABCD(P) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-278 7.11.7 COMRD, COMRDP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-283 7.11.8 LEN, LENP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-287 7.11.9 STR, STRP, DSTR, DSTRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-290 7.11.10 VAL, VALP, DVAL, DVALP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-297 7.11.11 ESTR, ESTRP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-303 7.11.12 EVAL, EVALP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-312 7.11.13 ASC, ASCP (Serie Q y System Q) . . . . . . . . . . . . . . . . . . . . . . . . . .7-318 7.11.14 ASC (Serie A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-321 7.11.15 HEX, HEXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-323 7.11.16 RIGHT, RIGHTP, LEFT, LEFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-327 7.11.17 MIDR, MIDRP, MIDW, MIDWP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-331 7.11.18 INSTR, INSTRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-337 7.11.19 EMOD, EMODP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-341 7.11.20 EREXP, EREXPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-345

7.12

Funciones especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-348 7.12.1 SIN, SINP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-350 7.12.2 COS, COSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-353 7.12.3 TAN, TANP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-356 7.12.4 ASIN, ASINP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-359 7.12.5 ACOS, ACOSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-362 7.12.6 ATAN, ATANP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-365 7.12.7 RAD, RADP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-368 7.12.8 DEG, DEGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-371 7.12.9 SQR, SQRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-374 7.12.10 EXP, EXPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-377 7.12.11 LOG, LOGP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-380 7.12.12 RND, RNDP, SRND, SRNDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-383 7.12.13 BSQR, BSQRP, BDSQR, BDSQRP . . . . . . . . . . . . . . . . . . . . . . . . .7-385 7.12.14 BSIN, BSINP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-389

XII

Programacin MELSEC A y Q

Contenidos 7.12.15 BCOS, BCOSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-392 7.12.16 BTAN, BTANP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-395 7.12.17 BASIN, BASINP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-398 7.12.18 BACOS, BACOSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-401 7.12.19 BATAN, BATANP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-404 7.13 Instrucciones de control de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-407 7.13.1 LIMIT, LIMITP, DLIMIT, DLIMITP . . . . . . . . . . . . . . . . . . . . . . . . . . .7-408 7.13.2 BAND, BANDP, DBAND, DBANDP . . . . . . . . . . . . . . . . . . . . . . . . .7-412 7.13.3 ZONE, ZONEP, DZONE, DZONEP . . . . . . . . . . . . . . . . . . . . . . . . .7-416 7.14 Instrucciones de conversin para bloques de registro de archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-420 7.14.1 RSET, RSETP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-421 7.14.2 QDRSET, QDRSETP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-424 7.14.3 QCDSET, QCDSETP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-427 7.15 Instrucciones de reloj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-430 7.15.1 DATERD, DATERDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-431 7.15.2 DATEWR, DATEWRP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-436 7.15.3 DATE+, DATE+P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-441 7.15.4 DATE-, DATE-P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-446 7.15.5 SECOND, SECONDP, HOUR, HOURP . . . . . . . . . . . . . . . . . . . . . .7-451 7.16 Instrucciones para equipos perifricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-457 7.16.1 MSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-458 7.16.2 PKEY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-461 7.17 Instrucciones de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-464 7.17.1 PSTOP, PSTOPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-465 7.17.2 POFF, POFFP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-467 7.17.3 PSCAN, PSCANP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-469 7.17.4 PLOW, PLOWP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-471 7.18 Otras instrucciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-473 7.18.1 WDT, WDTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-474 7.18.2 STC, CLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-476 7.18.3 DUTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-478 7.18.4 ZRRDB, ZRRDBP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-481 7.18.5 ZRWRB, ZRWRBP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-485 7.18.6 ADRSET, ADRSETP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-489 7.18.7 KEY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-490 7.18.8 ZPUSH, ZPUSHP, ZPOP, ZPOPP . . . . . . . . . . . . . . . . . . . . . . . . . .7-496 7.18.9 EROMWR, EROMWRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-499

8 8.1

Instrucciones de enlace de datos Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-1

Programacin MELSEC A y Q

XIII

Contenidos 8.2 8.3 Tipos de instruccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-1 reas de escritura y lectura de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-3 8.3.1 8.3.2 8.4 MELSECNET/10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-3 MELSECNET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-4

Instrucciones extendidas de enlace de datos. . . . . . . . . . . . . . . . . . . . . . . . . . .8-4 8.4.1 8.4.2 Ejecucin simultnea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-4 Fin de transmisin de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-4

8.5

Instrucciones de actualizacin de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-6 8.5.1 ZCOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-7

8.6

Instr. extendidas de enlace de datos de la serie QnA . . . . . . . . . . . . . . . . . . .8-11 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.6.6 8.6.7 8.6.8 8.6.9 READ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-12 SREAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-19 WRITE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-26 SWRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-33 SEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-40 RECV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-48 REQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-53 ZNFR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-65 ZNTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-71

8.7

Instr. de enlaces de datos compatibles con la serie A . . . . . . . . . . . . . . . . . . .8-77 8.7.1 8.7.2 8.7.3 8.7.4 8.7.5 8.7.6 ZNRD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-78 ZNWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-82 LRDP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-86 LWTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-90 RFRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-94 RTOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-100

8.8

Lectura y escritura de informaciones de routing. . . . . . . . . . . . . . . . . . . . . . .8-106 8.8.1 8.8.2 RTREAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-107 RTWRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-109

9 9.1

Instr. para las CPUs del System Q Lectura de informaciones de mdulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-2 9.1.1 UNIRD, UNIRDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-2

9.2

Bsqueda y eliminacin de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-7 9.2.1 TRACE, TRACER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-7

9.3

Transferencia de datos hacia y desde los archivos . . . . . . . . . . . . . . . . . . . . . .9-9 9.3.1 9.3.2 FWRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-9 FREAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-20

9.4

Instrucciones de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-33

XIV

Programacin MELSEC A y Q

Contenidos 9.4.1 9.4.2 9.4.3 9.5 PLOADP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-33 PUNLOADP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-36 PSWAPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-38

Instrucciones de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-41 9.5.1 RBMOV, RBMOVP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-41

9.6

Nuevas instrucciones para la operacin de CPUs mltiples: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-46 9.6.1 9.6.2 S.TO, SP.TO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-46 FROM, FROMP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-49

10 10.1

Instrucciones para una Q4ARCPU Instrucciones para el ajuste del modo de operacin . . . . . . . . . . . . . . . . . . . .10-2 10.1.1 STMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-2 10.1.2 CGMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-4

10.2

Instrucciones para la transferencia de datos . . . . . . . . . . . . . . . . . . . . . . . . . .10-6 10.2.1 TRUCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-6 10.2.2 SPREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-11

11 11.1

Instrucciones para mdulos especiales Instrucciones para mdulos de interfaz en serie . . . . . . . . . . . . . . . . . . . . . . .11-2 11.1.1 BUFRCVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-3 11.1.2 GETE, GETEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-6 11.1.3 PUTE, PUTEP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-11 11.1.4 PRR, PRRP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-18

11.2

Instrucciones para mdulos PROFIBUS/DP . . . . . . . . . . . . . . . . . . . . . . . . .11-26 11.2.1 BBLKRD, BBLKRDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-27 11.2.2 BBLKWR, BBLKWRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-30

11.3

Instrucciones para mdulos ETHERNET . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-33 11.3.1 BUFRCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-34 11.3.2 BUFRCVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-39 11.3.3 BUFSND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-42 11.3.4 OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-47 11.3.5 CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-56 11.3.6 ERRCLR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-61 11.3.7 ERRRD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-67 11.3.8 UINI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-72

11.4

Instrucciones para MELSECNET/10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-78 11.4.1 PAIRSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-79

11.5

Instrucciones para enlace CC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-82

Programacin MELSEC A y Q

XV

Contenidos 11.5.1 RLPA (serie A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-83 11.5.2 RLPASET (System Q). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-90 11.5.3 RRPA (serie A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-102 11.5.4 RIRD (serie A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-109 11.5.5 RIRD (Serie QnA y System Q) . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-115 11.5.6 RIWT (serie A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-123 11.5.7 RIWT (Serie QnA y System Q) . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-129 11.5.8 RIRCV (serie A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-137 11.5.9 RIRCV (Serie QnA y System Q) . . . . . . . . . . . . . . . . . . . . . . . . . . .11-143 11.5.10 RISEND (serie A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-149 11.5.11 RISEND (Serie QnA y System Q) . . . . . . . . . . . . . . . . . . . . . . . . . .11-155 11.5.12 RITO (serie A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-161 11.5.13 RITO (Serie QnA y System Q) . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-165 11.5.14 RIFR (A-Serie) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-169 11.5.15 RIFR (Serie QnA y System Q) . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-173

12 12.1 12.2

Programa de microcomputador (AnN(S)) Capacidades y rangos de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-1 Aplicacin de programas de microcomputador individualmente generadas . .12-2 12.2.1 Distribucin de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-3 12.2.2 Asignacin de direcciones de la rea de memoria de datos. . . . . . . .12-3 12.2.3 Distribucin de la rea de memoria . . . . . . . . . . . . . . . . . . . . . . . . . .12-4

13 13.1 13.2 13.3

Cdigos de error Listado de los cdigos de error (CPUs de Q00J, Q00 y Q01) . . . . . . . . . . . . .13-2 Listado de los cdigos de error (Serie QnA y System Q). . . . . . . . . . . . . . . .13-12 Listado de los cdigos de error de la serie A (con excepcin de AnA y AnAS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-38 Listado de los cdigos de error (para AnA y AnAS) . . . . . . . . . . . . . . . . . . . .13-42

13.4

14 14.1 14.2

Anexo A Definicin del tiempo de procesamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 Tiempos de procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2 14.2.1 Listado de los tiempos de procesamiento (Serie QnA y System Q) . . A-3 14.2.2 Tiempos de procesamiento de la serie A de MELSEC . . . . . . . . . . . A-24

14.3

Comparacin de las CPUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-33 14.3.1 Operandos utilizables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-33 14.3.2 Modos de procesamiento de entrada/salida . . . . . . . . . . . . . . . . . . . A-35

XVI

Programacin MELSEC A y Q

Contenidos 14.3.3 Tipos de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-35 14.3.4 Comparacin de temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . A-36 14.3.5 Comparacin de contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-39 14.3.6 Comparacin de las instrucciones de pantalla . . . . . . . . . . . . . . . . . A-40 14.3.7 Comandos de Serie Q y System Q equivalentes a la Serie A de MELSEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-41 14.3.8 Comparacin entre las CPUs de QnA/Q2AS y las CPUs del MELSEC System Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-42 14.4 Vista sinptica de los rels internos especiales . . . . . . . . . . . . . . . . . . . . . . . A-44 14.4.1 Listado de los rels internos de diagnstico (MELSEC Q-Serie y MELSEC System Q) . . . . . . . . . . . . . . . . . . . . A-44 14.4.2 Listado de los rels internos especiales (serie A) . . . . . . . . . . . . . . . A-66 14.4.3 Vista sinptica de los rels internos especiales en el servicio de enlace (solo serie A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-72 14.5 Vista sinptica de los registros internos especiales . . . . . . . . . . . . . . . . . . . . A-75 14.5.1 Vista sinptica de los registros de diagnstico (MELSEC Q-Serie y System Q) . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-75 14.5.2 Registro especial (slo serie MELSEC) . . . . . . . . . . . . . . . . . . . . . A-112 14.5.3 Vista sinptica de los registros especiales en el servicio de enlace (solo serie A de MELSEC). . . . . . . . . . . . . . . . . A-122

Programacin MELSEC A y Q

XVII

Contenidos

XVIII

Programacin MELSEC A y Q

Introduccin

Otros manuales

Introduccin
Este manual describe la programacin y el procesamiento de los comandos bsicos y de las instrucciones de aplicacin que estn disponibles en las CPUs de la serie MELSEC A y QnA, as como en las CPUs del MELSEC System Q.

1.1

Otros manuales
Instrucciones de Programacin de la Serie MELSEC QnA y del System Q (Instrucciones de Regulacin) - Descripcin de las instrucciones para la realizacin de las regulaciones PID Programming Manual (AD57/58) - Descripcin de las instrucciones especiales para los mdulos particulares AD57/58 Programming Manual MELSEC QnA Series and MELSEC System Q (SFC) - Descripcin de las instrucciones SFC para la programaciones de las cadenas paso a paso en el lenguaje de ejecucin Manual para el GX Developer - Descripcin de las funciones en lnea del GX Developer incl. programacin y bsqueda de errores GX IEC Developer Beginners Manual/ Manual de Aprendizaje - Bases para la programacin con el GX IEC Developer GX IEC Developer Reference Manual/ Manual de Usuario - Descripciones detalladas para la programacin con el GX IEC Developer - Descripcin de las instrucciones IEC (Biblioteca IEC estndar)

INDICACIN

Todos los manuales estn indicados en nuestro listado actual de PLC y estn disponibles en la pgina web de MITSUBISHI ELECTRIC (www.mitsubishi-automation.de) como archivos en formato PDF para su descarga.

Programacin MELSEC A y Q

11

Tipos de CPU

Introduccin

1.2

Tipos de CPU
Mediante las versiones actuales del GX Developer y del GX IEC Developer, las funciones descritas en este manual pueden transferirse a todos los tipos de CPU mientras stas soporten las instrucciones utilizadas. Las instrucciones descritas se aplican para los siguientes tipos de PLC y CPU del MELSEC: Tipo de PLC AnA/AnU AnAS/AnUS Serie A AnN AnS Serie Q QnA Q (CPU de procesador singular) System Q Q (CPUs de procesador mltiple) A1, A2, A2C A3M, A3N A1S, A1S-S1, A2S, A2S-S1 Q2A/Q2AS, Q2A-S1/Q2AS-S Q3A, Q4A, Q4AR Q00J Tipos de CPU A2A, A2A-S1, A2U, A2U-S1, A3A, A3U A2AS, A2AS-S1, A2AS-S30, A2AS-S60, A2US, A2US-S1

Q00, Q01 (restringidamente apto para procesador mltiple) Q02, Q02H, Q06H, Q12H, Q12PH, Q25H, Q12PH Mdulos de CPU para PC: PPC-CPU686(MS)-64 PPC-CPU686(MS)-128

Al hablar de MELSEC A, MELSEC Q o bien al mencionar A y Q en las tablas, para dar un ejemplo, se refiere a todos los tipos de CPU de la serie A o bien Q y del MELSEC System Q. En caso de excepciones se indica esto especialmente.

1.3

Software
Con excepcin de algunas pocas excepciones, todas las instrucciones descritas pueden aplicarse en los paquetes de software disponibles: - GX Developer - GX IEC Developer Los ejemplos indicados en este manual, han sido generados con el GX IEC Developer. La visualizacin del listado de instrucciones MELSEC correspondente a la visualizacin en el GX Developer. Todas las instrucciones descritas en este manual, pertenecen en el caso del GX IEC Developer a la Biblioteca del Fabricante. Segn la CPU configurada, en la ventana de dilogo del GX IEC Developer visualizada para la selecin de una instruccin, se indican slo tales instrucciones que pueden procesarse efectivamente por la CPU actual.

12

Programacin MELSEC A y Q

Introduccin

Bsqueda de una instruccin

1.4

Bsqueda de una instruccin


Para expertos En caso de estar familiarizado con la programacin de las instrucciones en la serie MELSEC A y Q, as como en el System Q, le recomendamos consultar los captulos de instruccin 5 a 9. En la lnea de encabezamiento se indica el nombre de la instruccin tal como se utiliza en el GX Developer y en el editor del MELSEC del GX IEC Developer.

Para principiantes En caso de no estar an familiarizado con el manejo de las instrucciones, le recomendamos proceder del siguiente modo: Lea las indicaciones en el Cap. 3 acerca de las diferentes escrituras de las instrucciones en el editor MELSEC e IEC. Lea las indicaciones en el Cap. 4 para comprender la estructura coherente de cada descripcin de instruccin. Utilice - la vista sinptica en forma de tabla para los grupos de instrucciones con descripciones breves en el Cap. 2. - el ndice en el cual se indican todas las instrucciones.

INDICACIN

Todas las instrucciones descritas se indican con el mismo nivel de detalles en la ayuda en lnea del GX IEC Developer.

1.5

Parmetros de PLC
Los parmetros se utilizan para determinar ciertas funciones, rangos de operandos, etc. Para la programacin de las funciones descritas en este manual, los parmetros pueden mantenerse por defecto o bien modificarse en funcin de las necesidades del usuario. Mayores informaciones acerca de la configuracin de los parmetros de PLC se encuentran disponibles en las descripciones respectivas de hardware de las CPUs, as como en los Manuales de Programacin.

Ejemplo: GX IEC Developer

Programacin MELSEC A y Q

13

Comparacin: GX IEC Developer y GX Developer


Ejemplo: GX Developer, GX IEC Developer 6.0

Introduccin

1.6

Comparacin: GX IEC Developer y GX Developer


La siguiente tabla ofrece una vista sinptica acerca de las caractersticas ms importantes de los paquetes de software GX IEC Developer y GX Developer. GX IEC Developer Utilizacin estructurada Programacin segn IEC 1131 Editores disponibles: Lista de instrucciones, plano de contactos, texto estructurado, SFC, FUB Funciones y componentes funcionales GX Developer Utilizacin simple Editores disponibles: Lista de instrucciones, plano de contactos, SFC Componentes funcionales (a partir de V. 7)

Modificaciones de programa en operacin en Modificaciones de programa en operacin en lnea lnea Posibilidad de intercambio de programas en lnea Funciones de diagnstico para el PLC Funciones de diagnstico para redes Funciones de diagnstico para el PLC Funciones de diagnstico para redes

14

Programacin MELSEC A y Q

Instrucciones

Distribucin de las instrucciones

2
2.1

Instrucciones
Distribucin de las instrucciones
Las instrucciones pueden dividirse en diferentes grupos principales que se indican en la siguiente tabla:
Grupos de instruccin Instrucciones de entrada Instrucciones de enlace Descripcin Inicio de un enlace, Conexin en serie de contactos Enlace de bloque en serie y paralelo, Almacenamiento y procesamiento de un resultado de enlace, Inversin de seal de los resultados de operacin, Conversin de resultados de operacin hacia resultados pulsados, aplicacin de rels internos de flancos Operandos de bit, contactos de contador y tiempo, Emisin, aplicacin y reposicin de rels internos de errores, Emisin y reposicin de operandos, Emisin diferencial controlada por flanco Inversin del estado de conmutacin de un operando, Generacin de impulsos de conmutacin Desplazamiento de operandos de bits Activacin y desactivacin de los diferentes reas de programa Fin de un rea de programa, Fin de programas principales y subordinados Interrupcin del procesamiento, Paso en vaco en programa Comparacin de datos, por ejemplo =, >, Adicin, sustraccin, multiplicacin, divisin, de datos BIN y BCD, nmeros de coma flotante y bloques de datos BIN, enlace de secuencia de caracteres, Incremento, Decremento Conversin de datos, por ejemplo BCD BIN y BIN BCD Transferencia, intercambio y negacin de datos Salto, llamado de programa subordinado Referencia Pr. 5.1 Pr. 5.2

Instrucciones de salida Conjunto de instrucciones bsicas Instrucciones de desplazamiento Instrucciones de control maestro Instrucciones de fin de programa Otras instrucciones Instrucciones de comparacin Instrucciones aritmticas

Pr. 5.3

Pr. 5.4 Pr. 5.5 Pr. 5.6 Pr. 5.7 Pr. 6.1 Pr. 6.2

Instrucciones de conversin Instrucciones de transferencia Instrucciones de aplicacin Parte I Instrucciones de bifurcacin de programa Llamada de programa de interrupcin Instrucciones de actualizacin de datos Otras instrucciones

Pr. 6.3 Pr. 6.4 Pr. 6.5

Llamada de programa de interrupcin Refrescamiento de enlace y refrescamiento de interfaz de entrada/salida Contador de 1 / 2 fases incrementador/decrementador, Temporizador programable, temporizador de funcin especial, Instruccin de posicionamiento, seal de rampa, Contador de impulsos, salida de impulsos, modulacin de ancho en tiempo, matriz de entrada

Pr. 6.6 Pr. 6.7

Pr. 6.8

Programacin MELSEC A y Q

21

Distribucin de las instrucciones


Grupos de instruccin Instrucciones lgicas Instrucciones de rotacin Instrucciones de desplazamiento Instruccines de procesamiento de bits Instrucciones de procesamiento de datos Instruccin estructurada de programa Descripcin Lgica AND / OR, Lgica OR / NOR Rotacin de datos izq./der. con 16 y 32 bits Desplazamiento por bits o bloques dentro de una palabra de datos Emisin y reposicin de bits, consulta de bits

Instrucciones

Referencia Pr. 7.1 Pr. 7.2 Pr. 7.3 Pr. 7.4

Buscar datos en reas definidas, codificar y decodificar datos, desintegrar e integrar valores de datos Instruccin de repeticin, llamada de programa subordinado, llamada de programa subordinado entre archivos de programa, conmutacin entre rea de programa principal y subordinado, llamada de programa de microcomputador, direccionamiento indexado de un rango completo de programa, almacenamiento de direcciones de operandos indexados en un listado de ndice Escritura y lectura de los datos para un procesamiento posterior en un listado de datos, eliminacin e integracin de determinados bloques de datos en el listado de datos Acceso a la memoria de bfer de un mdulo especial o un mdulo remoto Emisin de seales ASCII hacia las salidas de un mdulo o la visualizacin LED de una CPU Control de errores, estado de rango detentivo (Status Latch), supervisin de exploracin (Sampling Trace), supervisin de programa (Program Trace) Procesamiento de secuencia de caracteres (cdigo ASCII)

Pr. 7.5

Pr. 7.6

Instrucciones de procesamiento para listados de datos Instrucciones para el acceso a la memoria de bfer Instrucciones de aplicacin Parte II Instrucciones de pantalla Instrucciones para diagnstico de errores y eliminacin de errores Instrucciones de procesamiento para secuencias de caracteres Instrucciones para funciones especiales Instrucciones de control de datos Instrucciones de conmutacin para bloques de registros de datos y archivos Instrucciones de reloj Instrucciones para componentes perifricos Instrucciones de programa Otras instrucciones

Pr. 7.7

Pr. 7.8

Pr. 7.9 Pr. 7.10

Pr. 7.11

Instrucciones para funciones trigonomtricas, clculos de raz y exponencial con datos BCD y nmeros de coma flotante Control de los datos de entrada con respecto a los rangos de valor predeterminados, as como almacenamiento de los datos controlados. Conmutacin entre bloques de registros de archivos y archivos

Pr. 7.12

Pr. 7.13

Pr. 7.14

Escritura y lectura de datos de reloj Emisin de mensajes y entrada por teclado para componentes perifricos Instrucciones para cambio de modos de ejecucin de programa Reposicin de WDT, aplicacin y reposicin de posicin de transferencia (Carry), generador de impulsos, lectura y escritura directa de bytes, entrada por teclado, salvaguardia y recuperacin de contenidos de registro de ndice, escritura de datos en registro EEPROM

Pr. 7.15 Pr. 7.16

Pr. 7.17 Pr. 7.18

22

Programacin MELSEC A y Q

Instrucciones

Distribucin de las instrucciones


Grupos de instruccin Instrucciones de actualizacin de datos de red (instrucciones de refrescamiento) Instrucciones extendidas de datos de enlace Descripcin Instrucciones para actualizaciones de datos en mdulos de red. Referencia Pr. 8.5

Instrucciones de datos de enlace Instrucciones de datos de enlace compatibles con la serie A

Lectura y escritura de datos en y desde las estaciones de destino en las redes de destino, transmisin de datos a mdulos de red en estaciones de destino en redes de destino, lectura de datos transmitidos mediante instruccin SEND, solicitud de datos para otras estaciones (operaciones de escritura/lectura con datos de reloj, operaciones RUN-/STOP), lectura y escritura de datos en y desde los mdulos especiales en las estaciones de entrada/salida transferidas. Lectura y escritura de datos en y desde las estaciones de destino en redes de destino, lectura y escritura de datos en y desde las estaciones locales (solamente estaciones maestras), lectura y escritura de datos en y desde los mdulos especiales en las estaciones de entrada/salida transferidas. Lectura y escritura de parmetros de routing (nmero de red y de estacin de la estacin de rel, nmero de estacin de la estacin de routing) Lectura directa de la memoria de mdulo Aplicacin/reposicin de la supervisin (Trace) Escritura de datos en archivo, lectura de datos en archivo

Pr. 8.6

Pr. 8.7

Escritura y lectura de informaciones de routing Lectura de las informaciones de mdulo Deteccin y eliminacin de errores Transferencia de datos desde y hacia los archivos Instrucciones de programa Instrucciones de transferencia Instrucciones para el intercambio de datos en la operacin de CPUs mltiples Ajuste del modo de operacin Instrucciones de transferencia

Pr. 8.8

Pr. 9.1 Pr. 9.2 Pr. 9.3

Instrucciones para una CPU del System Q

Carga de programa desde memoria, eliminacin de programa en memoria Transferencia de datos Integracin de datos en rea comn de memoria, lectura de datos desde rea comn en otra CPU

Pr. 9.4 Pr. 9.5 Pr. 9.6

Instrucciones para una Q4ARCPU

Seleccin del comportamiento de arranque de la CPU y comportamiento en conmutacin a la CPU de reserva de un sistema redundante Transferencia de datos desde una CPU activa hacia una CPU de reserva, intercambio de datos con la memoria de bfer de uno o varios mdulos especiales

Pr. 10.1

Pr. 10.2

Transferencia de datos recibidos en un programa de interrupcin a la CPU, lectura, determinacin o eliminacin de Instrucciones para mdu- una trama de datos definida en funcin de usuario, translos de inferfaz en serie misin de datos mediante trama de datos definida en funcin de usuario Instrucciones para mdulos PROFIBUS/DP Intercambio de datos con memoria de bfer de un mdulo PROFIBUS

Pr. 11.1

Pr. 11.2 Pr. 11.3

Instrucciones para mdulos especiales

Lectura de datos recibidos desde la memoria slida, integracin de los datos en memora slida, establecimiento y Instrucciones para mdu- terminacin de una conexin, eliminacin de la memoria de los ETHERNET errores y desactivacin del LED ERR., lectura del cdigo de error del mdulo ETHERNET, nueva inicializacin del mdulo ETHERNET Instruccin para MELSECNET/10 Definicin de las estaciones enlazadas en la operacin dplex Configuracin de parmetros de red, determinacin de parmetros para actualizacin automtica, lectura o escritura de datos de la memoria de bfer de un mdulo de enlace CC o de la CPU del PLC de estacin, lectura de datos mediante intercambio (handshake) desde la memoria de bfer de una estacin inteligente o integracin en memoria de bfer, lectura de datos del rea de memoria automticamente actualizada o bien integracin de datos en esta rea

Pr. 11.4 Pr. 11.5

Instrucciones para enlace CC

Programacin MELSEC A y Q

23

Vista sinptica de las instrucciones

Instrucciones

2.2
2.2.1

Vista sinptica de las instrucciones


Explicaciones de la tabla sinptica
Los siguientes prrafos 2.3 a 2.6 contienen una vista sinptica de todas las instrucciones descritas en este manual. A continuacin se describe detalladamente la estructura de la tabla sinptica.

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

+ s, d Adicin y sustraccin de datos binarios de 16 bits +P

(d)+(s) (d) 6.2.1 3 5 6.2.1 (s1)+(s2) (d1) 6.2.1 s1, s2, d1 4 7 6.2.1

+P

(1)

(2)

(3)

(4)

(5)

(6) (7)

(8)

Explicacin de las diferentes columnas: (1) Grupo de instruccin (2) Indicacin del nombre de instruccin (comando) para la programacin Los nombres de instruccin se visualizan en la escritura de MELSEC (para la explicacin de la escritura, vase el Cap. 3.2). Por regla general, se visualizan las instrucciones de 16 bits. En caso de instrucciones de 32 bits, se coloca una D delante del nombre de instruccin. - Instruccin de 16 bits: + - Instruccin de 32 bits: D+ En las instrucciones de pulso, esto quiere decir, las instrucciones que se ejecutan exclusivamente con flanco ascendente, se agrega una P. - Instruccin normal: + - Instruccin de pulso: +P

24

Programacin MELSEC A y Q

Instrucciones

Vista sinptica de las instrucciones


Instrucciones que procesan secuencias de caracteres, se marcan con un $ puesto adelante: - Instruccin normal: + - Instruccin para secuencias de caracteres: $+

(3) Indicacin de las variables a utilizar Aqu se indican las variables. La fuente de datos se marca con una s (Source), el destino de datos se marca con una d (Destination). Ejemplo: s = cuando existe solamente una fuente de datos s1, s2 = cuando existen varias fuentes de datos s+0, s+1, (s1)+0, (s1)+1 = para instrucciones de 32 bits por ejemplo s1 = Registro de datos D0, (s1)+1 =Registro de datos D1 s+0, s+1, s+2, s+3 = 4 Operandos consecutivos, por ejemplo para una secuencia de bits (4) Significado y procesamiento de la instruccin completa de control

(d+1,d) + (s+1, s) (d+1, d) (d) + (s) (d) Identifica 16 bits


16 bits 16 bits

d+1

Identifica 32 bits d

16 bits de valor superior 16 bits de valor inferior

(5) Visualizacin de la condicin de ejecucin en funcin de la siguiente tabla


Smbolo sin indicacin Condicin de ejecucin La instruccin se ejecuta constante e independientemente del estado de la condicin aplicada. En caso de no aplicarse la condicin de entrada, la instruccin no se ejecuta. La instruccin se ejecuta mientras se aplica la condicin de entrada. En caso de no seguir aplicndose la condicin de entrada, la instruccin no se ejecuta y procesa ms. En esta instruccin se trata de una instruccin pulsada. Se ejecuta solamente una vez en caso de un flanco ascendente de la seal de entrada (por ejemplo, cuando la condicin de entrada conmuta de CON a DESC). A continuacin no sigue ejecutndose y procesndose la instruccin incluso al seguir aplicndose la seal de entrada. En esta instruccin se trata tambin de una instruccin pulsada. Se ejecuta solamente una vez en caso de un flanco descendente de la seal de entrada (por ejemplo, cuando la condicin de entrada conmuta de DESC a CON). A continuacin no sigue ejecutndose y procesndose la instruccin incluso al seguir aplicndose la seal de entrada.

(6+7) Indicacin de los pasos de programa Se indica la cantidad de pasos que se requieren para la ejecucin completa de la instruccin. Aqu se diferencia entre la serie A y Q de MELSEC/ /System Q. Mayores explicaciones se encuentran en el prrafo 3.9. (8) Visualizacin del prrafo de referencia Indica el nmero del cpitulo del manual en el cual se describe la instruccin.

Programacin MELSEC A y Q

25

Comandos bsicos

Instrucciones

2.3
2.3.1

Comandos bsicos
Instrucciones de entrada

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

LD

Inicio de un enlace (carga) contacto de trabajo) Inicio de un enlace (carga) contacto de reposo) Connexin en serie de contactos de entrada (contacto de trabajo) Conexin en serie de contactos de entrada (contacto de reposo) Conexin en paralelo de contactos de entrada Conexin en paralelo de contactos de entrada Inicio de un enlace controlado por flanco (flanco ascendente) Inicio de un enlace controlado por flanco (flanco descendente) s Conexin en serie, controlador por flanco (flanco ascendente) Conexin en serie, controlado por flanco (flanco descendente) Conexin en paralelo, controlado por flanco (flanco ascendente) Conexin en paralelo, controlado por flanco (flanco descendente)

LDI

AND

ANI

* 1

5.1.1

OR

ORI Instrucciones de entrada

LDP

LDF

ANDP

ANDF

* 1

5.1.2

ORP

ORF

*:

La cantidad de pasos de programa depende los operandos utilizados. Con utilizacin de operandos internos o registros de archivo (R0 a R32767): 1 Con utilizacin de una entrada directamente direccionable (DX) :2 Con utilizacin de otros operandos :3 Con utilizacin de registros de archivo 2R en las tarjetas de memoria, es posible que la cantidad de pasos experimente una duplicacin.

26

Programacin MELSEC A y Q

Instrucciones

Comandos bsicos
Instrucciones de enlace

2.3.2

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

ANB

Enlace en serie de bloques (Enlace en serie de conmutaciones en paralelo) 1 1 5.2.1 Enlace paralelo de bloques (Enlace paralelo de conmutaciones en serie)

ORB

MPS

Procesamiento de resultado (almacenamiento de resultado) Procesamiento de resultado (lectura de resultado) Procesamiento de resultado (lectura y eliminacin de resultado) 1 1 5.2.2

MRD

MPP Instrucciones de enlace INV MEP

Inversin de seal de los resultados de operacin Conversin de resultados de operacin hacia resultados pulsados (con flanco creciente)

5.2.3

1 MEF Conversin de resultados de operacin hacia resultados pulsados (con flanco descendiente) d Aplicacin del rel interno de flanco con flanco ascendente del resultado de operacin 1 EGF Aplicacin del rel interno de flanco con flanco descendente del resultado de operacin

5.2.4

EGP

5.2.5

Programacin MELSEC A y Q

27

Comandos bsicos
2.3.3 Instrucciones de salida

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A * 1 5.3.1

OUT

Activacin de salidas

* 1 ** * 1

SET

Activacin de un operando

( (

)
**

5.3.5

RST

Reposicin de un operando

* 1

5.3.6

PLS

Salida con flanco de seal descendente d 2 Salida con flanco de seal descendente * 3 5.3.8

Instrucciones de salida

PLF

FF

Inversin de un operando de bit de salida Generacin de un impulso de conmutacin con una salida directamente direccionable

5.3.9

DELTA

d DELTAP

5.3.11

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales. **: Esta condicin de ejecucin se aplica exclusivamente en caso de utilizar un rel interno de errores (F).

2.3.4

Instrucciones de desplazamiento

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

SFT Instrucciones de desplazamiento Desplazamiento de operandos de bit * 3

d SFTP

5.4.1

*: La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU se indica en el prrafo 3.9.2 Con una CPU
AnA, AnAS y AnU en estas Instrucciones de Programacin.

28

Programacin MELSEC A y Q

Instrucciones

Comandos bsicos
Instrucciones de control maestro

2.3.5

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

MC Instrucciones de control maestro

n, d

Activacin de reas particulares del programa Desactivacin de reas particulares del programa

2 * 3/5 1 5.5.1

MCR

*: La cantidad de pasos es de 5 para la instruccin MC y de 3 para la instruccin MCR. Mayores informaciones


acerca de la cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU se indican en el prrafo 3.9.2 Con una CPU AnA, AnAS y AnU en estas Instrucciones de Programacin.

2.3.6

Instrucciones de fin de programa

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A 5.6.1

FEND Instrucciones de fin de programa END

Terminacin de un rea de programa 1 Terminacin de un programa

5.6.2

2.3.7

Otras instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

STOP Otras instrucciones NOP

Instruccin de interrupcin 1

5.7.1

Paso en vaco en programa

5.7.2

Programacin MELSEC A y Q

29

Instrucciones de aplicacin I

Instrucciones

2.4
2.4.1

Instrucciones de aplicacin I
Instrucciones de comparacin

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

LD= AND= OR= LD<> AND<> OR<> LD> AND> Comparacin de datos de 16 bits OR> LD<= AND<= OR<= LD< AND< OR< LD>= AND>= OR>= s1, s2 Salida conmuta, cuando s1 >= s2 3 * 5/7 6.1.1 s1, s2 Salida conmuta, cuando s1 < s2 3 * 5/7 6.1.1 s1, s2 Salida conmuta, cuando s1 <= s2 3 * 5/7 6.1.1 s1, s2 Salida conmuta, cuando s1 > s2 3 * 5/7 6.1.1 s1, s2 Salida conmuta, cuando s1 s2 3 * 5/7 6.1.1 s1, s2 Salida conmuta, cuando s1 = s2 3 * 5/7 6.1.1

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2 10

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin I

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

LDD= AND= ORD= LDD<> ANDD<> ORD<> LDD> ANDD> Comparacin de datos de 32 bits ORD> LDD<= ANDD<= ORD<= LDD< ANDD< ORD< LDD>= ANDD>= ORD>= s1, s2 Salida conmuta, cuando s1 >= s2 * 3 ** 11 6.1.2 s1, s2 Salida conmuta, cuando s1 < s2 * 3 ** 11 6.1.2 s1, s2 Salida conmuta, cuando s1 <= s2 * 3 ** 11 6.1.2 s1, s2 Salida conmuta, cuando s1 > s2 * 3 ** 11 6.1.2 s1, s2 Salida conmuta, cuando s1 s2 * 3 ** 11 6.1.2 s1, s2 Salida conmuta, cuando s1 = s2 * 3 ** 11 6.1.2

*: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 5 Constantes : 5 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 5 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados. 3 Aunque se requiere una cantidad mayor de pasos en la CPU de Q en comparacin con la CPU de QnA, resulta mayor la velocidad de procesamiento. **: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 11

Instrucciones de aplicacin I

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

LDE= ANDE= ORE= LDE<> ANDE<> ORE<> LDE> ANDE> Comparacin de nmeros de coma flotante ORE> LDE<= ANDE<= ORE<= LDE< ANDE< ORE< LDE>= ANDE>= ORE>= s1, s2 Salida conmuta, cuando s1 >= s2 3 6.1.3 s1, s2 Salida conmuta, cuando s1 < s2 3 6.1.3 s1, s2 Salida conmuta, cuando s1 <= s2 3 6.1.3 s1, s2 Salida conmuta, cuando s1 > s2 3 6.1.3 s1, s2 Salida conmuta cuando s1 s2 3 6.1.3 s1, s2 Salida conmuta, cuando s1 = s2 3 6.1.3

2 12

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin I

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

LD$= AND$= OR$= LD$<> AND$<> OR$<> LD$> AND$> Comparacin con secuencias de caracteres OR$> LD$<= AND$<= OR$<= LD$< AND$< OR$< LD$>= AND$>= OR$>= s1, s2 s1, s2 s1, s2 s1, s2 s1, s2 s1, s2

* Las secuencias de caracteres en s1 y s2 se comparan por caracteres. La salida conmuta, cuando s1 = s2 * Las secuencias de caracteres en s1 y s2 se comparan por caracteres. La salida conmuta, cuando s1 s2 * Las secuencias de caracteres en s1 y s2 se comparan por caracteres. La salida conmuta, cuando s1 > s2 * Las secuencias de caracteres en s1 y s2 se comparan por caracteres. La salida conmuta, cuando s1 <= s2 * Las secuencias de caracteres en s1 y s2 se comparan por caracteres. La salida conmuta, cuando s1 < s2 * Las secuencias de caracteres en s1 y s2 se comparan por caracteres. La salida conmuta, cuando s1 >= s2

6.1.4

6.1.4

6.1.4

6.1.4

6.1.4

6.1.4

*: Las condiciones bajo las cuales pueden ejecutarse las comparaciones de secuencias de caracteres, se describen a continuacin.

Idntico: Todos los caracteres en las secuencias de caracteres son idnticos. Secuencia mayor de caracteres: En caso que las secuencias de caracteres resultan diferentes, se
define la secuencia con la mayor cantidad de caracteres.

Secuencia menor de caracteres: En caso que las secuencias de caracteres resultan diferentes, se
define la secuencia con la menor cantidad de caracteres.

Programacin MELSEC A y Q

2 13

Instrucciones de aplicacin I

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

BKCMP= BKCMP<> BKCMP> BKCMP<= BKCMP< Comparacin por bloques de los datos binarios BKCMP>= BKCMP=P BKCMP<>P BKCMP>P BKCMP<=P BKCMP<P BKCMP>=P

s1, s2, n, d1 s1, s2, n, d1 s1, s2, n, d1 s1, s2, n, d1 s1, s2, n, d1 s1, s2, n, d1

Se comparan los caracteres de los bloques de n 16 bits de s1 con los caracteres de los bloques de n 16 bits de s2. El resultado de comparacin se almacena luego en los bloques de n 16 bits de d1. 5 6.1.5

s1, s2, n, d1 s1, s2, n, d1 s1, s2, n, d1 s1, s2, n, d1 s1, s2, n, d1 s1, s2, n, d1

2 14

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin I
Instrucciones aritmticas

2.4.2

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

(d)+(s) (d) + s, d +P (s1)+(s2) (d1) + s1, s2, d1 Adicin y sustraccin de datos binarios de 16 bits +P (d)-(s) (d) s, d -P (s1)-(s2) (d1) s1, s2, d1 -P 4 7 6.2.1 6.2.1 3 5 6.2.1 6.2.1 4 7 6.2.1 6.2.1 3 5 6.2.1 6.2.1

Programacin MELSEC A y Q

2 15

Instrucciones de aplicacin I

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

D+ s, d D+P

(d+1, d)+(s+1, s) (d+1, d) * 3 9

6.2.2

6.2.2

D+ s1, s2, d1 Adicin y sustraccin de datos binarios de 32 bits D+P

((s1)+1, s1)+((s2) +1, s2) ((d1)+1, d1) ** 4 11

6.2.2

6.2.2

Ds, d D-P

(d+1, d)-(s+1, s) (d+1, d) * 3 9

6.2.2

6.2.2

Ds1, s2, d1 D-P

((s1)+1, s1)-((s2)+1,s2) ((d1)+1, d1) ** 4 11

6.2.2

6.2.2

*: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 5 Constantes: 5 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 5 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados. 3 **: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 4 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 6 Constantes : 6 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 6 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados. 4

2 16

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin I

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A 6.2.4

x s1, s2, d1 Multiplicacin y divisin de datos binarios de 16 bits xP

(s1)x(s2) ((d1)+1, d1) * 4 ** 7

6.2.4 (s1)/(s2) Cuociente (d1), Resto ((d1)+1)

/ s1, s2, d1 /P

6.2.4 * 4 ** 7 6.2.4

Dx s1, s2, d1 Multiplicacin y divisin de datos binarios de 32 bits DxP

((s1)+1, s1)x((s2)+1, s2) ((d1)+3, (d1)+2, (d1)+1, d1)

6.2.4 * 4 ** 11 6.2.4

D/ s1, s2, d1 D/P

((s1)+1, s1)/((s2)+1, s2) Cuociente ((d1)+1, d1), Resto ((d1)+3, (d1)+2)

6.2.4 * 4 ** 11 6.2.4

*: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 4 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 3 Constantes : 3 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K4 y que no se procesan por la asignacin de ndice: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados. 4 **: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 17

Instrucciones de aplicacin I

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A 6.2.5

B+ s, d B+P

(d)+(s) (d) 3 * 7

6.2.5 (s1)+(s2) (d1) s1, s2, d1 4 * 9 6.2.5 (d)-(s) (d) s, d 3 * 7 6.2.5 (s1)-(s2) (d1) s1, s2, d1 4 * 9 6.2.5 (d+1, d)+(s+1,s) (d+1, d) s, d 3 * 9 6.2.6 ((s1)+1, s1)+((s2)+1,s2) ((d1)+1, d1) s1, s2, d1 4

B+

6.2.5

Adicin y sustraccin de datos BCD (4 posiciones)

B+P

B-

6.2.5

B-P

B-

6.2.5

B-P

DB+

6.2.6

DB+P

DB+

6.2.6 * 11 6.2.6

Adicin y sustraccin de datos BCD (8 posiciones)

DB+P (d+1, d)+(s+1,s) (d+1, d) s, d DB-P ((s1)+1, s1)+((s2)+1,s2) ((d1)+1, d1) s1, s2, d1 DB-P 4 3 * 9

DB-

6.2.6

6.2.6

DB-

6.2.6 * 11 6.2.6

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2 18

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin I

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A 6.2.7

B s1, s2, d1 Multiplicacin y divisin de datos BCD (4 posiciones) BP

(s1)x(s2) ((d1)+1, d1) 4 * 9

6.2.7 (s1)/(s2) Cuociente (d1), Resto ((d1)+1)

B/ s1, s2, d1 B/P

6.2.7 4 * 9 6.2.7

DB s1, s2, d1 Multiplicacin y divisin de datos BCD (8 posiciones) DBP

((s1)+1, s1)x((s2)+1, s2) ((d1)+3, (d1)+2, (d1)+1, d1)

6.2.8 4 * 11 6.2.8

DB/ s1, s2, d1 DB/P

((s1)+1, s1)/((s2)+1, s2) Cuociente ((d1)+1, d1), Resto ((d1)+3, (d1)+2)

6.2.8 4 * 11 6.2.8

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 19

Instrucciones de aplicacin I

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

E+ s, d E+P

(d+1, d)+(s+1, s) (d+1, d) 3

6.2.9

6.2.9

E+ s1, s2, d1 Adicin y sustraccin de Nmeros de coma flotante E+P

((s1)+1, s1)+((s2) +1, s2) ((d1)+1, d1) 4

6.2.9

6.2.9 (d+1, d)-(s+1, s) (d+1, d) s, d 3 6.2.9

E-

6.2.9

E-P

Es1, s2, d1 E-P

((s1)+1, s1)-((s2)+1,s2) ((d1)+1, d1) 4

6.2.9

6.2.9

Ex s1, s2, d1 Multiplicacin y divisin de Nmeros de coma flotante ExP

((s1)+1, s1)x((s2)+1, s2) ((d1)+1, d1) 4

6.2.10

6.2.10

E/ s1, s2, d1 E/P

((s1)+1, s1)/((s2)+1, s2) Cuociente ((d1)+1, d1) 4

6.2.10

6.2.10

BK+ s1, s2, d, n Adicin y sustraccin de datos binarios por bloques BK+P

Se suma el bloque N n del bloque de 16 bits de s1 con el bloque N n de 16 bits de s2.

6.2.11 5 6.2.11

BKs1, s2, d, n BK-P

Se sustraye el bloque N n de 16 bits de s2 del bloque N n de 16 bits de s1.

6.2.11 5 6.2.11

2 20

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin I

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

$+ s, d $+P Enlace de secuencias de caracteres $+ s1, s2, d1 $+P

La secuencia de caracteres en s se anexa a la secuencia de caracteres en d. La secuencia de caracteres enlazada se almacena en d. La secuencia de caracteres en s se anexa a la secuencia de caracteres en d. La secuencia de caracteres enlazada se almacena en d. (d)+1 (d)

6.2.12 3 6.2.12

6.2.12 4 6.2.12

INC d INCP Incrementacin de datos binarios DINC d DINCP (d)-1 (d) DEC d DECP Decrementacin de datos binarios DDEC d DDECP * 2 ** 3 (d+1, d)-1 (d+1, d) 2 ** 3 * 2 ** 3 (d+1, d)+1 (d+1, d) 2 ** 3

6.2.13

6.2.13

6.2.13

6.2.13

6.2.14

6.2.14

6.2.14

6.2.14

*: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 2 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 3 Constantes : 3 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados. 2 **: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 21

Instrucciones de aplicacin I
2.4.3 Instrucciones de conversin

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A 6.3.1

BCD s, d BCDP Conversin BCD DBCD


Conversin BCD
(s) Conversin BCD (d)

* 5 6.3.1

BIN (0 hasta 9999)

6.3.1 s, d
(s+1, s) (d+1, d) BIN (0 hasta 99999999)

* 9 6.3.1

DBCDP

BIN s, d BINP Conversin BIN DBIN


Conversin BIN

6.3.2
(s) Conversin BIN (d)

BCD (0 hasta 9999)

* 5 6.3.2

6.3.2 s, d
(s+1, s) (d+1, d) BCD (0 hasta 99999999)

* 9 6.3.2

DBINP

FLT s, d Conversin de nmeros binarios a nmeros de coma flotante FLTP

Conversin de nmero de coma flotante (s+1, s) (d) Nmero binario (-32768 hasta 32767)

6.3.3 3 6.3.3

DFLT s, d DFLTP
(s+1, s)

Conversin de nmero de coma flotante

6.3.3 3 6.3.3

(d+1, d)

Nmero binario (-2147483648 hasta 2147483647)

INT
Conversin BIN

6.3.4 s, d
(s+1, s) (d)

3 6.3.4

Conversin de nmeros de coma flotante en nmeros binarios

INTP

Nmero de coma flotante

DINT s, d DINTP 3

6.3.4

6.3.4

*: La cantidad de pasos de programa depende de los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2 22

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin I

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A 6.3.5

Conversin de datos binarios de 16 bits a datos binarios de 32 bits

DBL
Conversin

s, d DBLP

(s)

(d+1, d) BIN- (-32768 hasta 32767)

3 6.3.5

Conversin de datos binarios de 32 bits a datos binarios de 16 bits

WORD s, d WORDP
Conversin (s+1, s) (d) BIN-(-32768 hasta 32767)

6.3.6 3 6.3.6

GRY s, d Conversin de datos binarios de 16/32 bits al cdigo Gray GRYP


(s)

(d) Nmero binario (-32768 hasta 32767)

Conversin al cdigo Gray

6.3.7 3 6.3.7

DGRY s, d DGRYP
(s+1, s)

(d+1, d) Nmero binario (-2147483648 hasta 214748364 7)

Conversin al cdigo Gray

6.3.7 3 6.3.7

GBIN s, d Conversin de datos de cdigo Gray a datos binarios de 16/32 bits GBINP
(s)

Conversin BIN (d) Cdigo Gray (-32768 hasta 32767)

6.3.8 3 6.3.8

DGBIN s, d DGBIN
Conversin BIN (s+1, s) (d+1, d) Cdigo Gray (-2147483648 hasta 214748364 7)

6.3.8 3 6.3.8

NEG Formacin de complemento a dos de datos binarios de 16/ 32 bits (inversin de signos) d NEGP 2 * 3

6.3.9

6.3.9

DNEG d DNEGP
(d+1, d) Datos BIN (d+1, d)

6.3.9 2 * 3 6.3.9

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 23

Instrucciones de aplicacin I

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Inversin de signos en nmeros de coma flotante

ENEG d ENEGP
(d+1, d) (d+1, d) Nmero de coma flotante

6.3.10 2 6.3.10

Conversin de datos BIN a datos BCD por bloques

BKBCD

s, d, n

BKBCDP

s, d, n

Convierte el bloque N n de 16 bits en s y almacena en d el bloque de datos BCD N n de 4 posiciones correspondientemente convertido.

6.3.11 4 6.3.11

Conversin de datos BCD a datos BIN por bloques

BKBIN

s, d, n

BKBINP

s, d, n

Convierte el bloque de datos BCD N n de 4 posiciones en s y almacena en de el bloque N n de 16 bits correspondientemente convertido.

6.3.12 4 6.3.12

2 24

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin I
Instrucciones de transferencia

2.4.4

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

MOV Transferencia de datos de 16 bits MOVP

s, d
(s) (d)

* 3

*** 5

6.4.1

s, d

DMOV Transferencia de datos de 32 bits DMOVP

s, d
+1, s) (d+1, d)

** 3

*** 7

6.4.1

s, d

EMOV Transferencia de nmeros de coma flotante EMOVP

s, d
(s+1, s) (d+1, d) Nmero de coma flotante

6.4.2

s, d

$MOV Transferencia de secuencias de caracteres $MOVP

s, d

Transmite los bytes almacenados en s de la secuencia de caracteres hacia d.

6.4.3

s, d

CML Inversin de datos binarios de 16 bits CMLP

s, d
(s) (d)

* 3

*** 5

6.4.4

s, d

DCML Inversin de datos binarios de 32 bits DCMLP

s, d
(s+1, s) (d1+1, d1)

** 3

*** 7

6.4.4

s, d

*: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 2 Constantes : 2 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K4 y que no se procesan por la asignacin de ndice: 2 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados. 3 **: La cantidad de pasos de programa depende del tipo de CPU. En la utilizacin de una CPU de Q de procesador nico: 2 En la utilizacin de una CPU de QnA o de una CPU de Q de procesador mltiple: 3 ***: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 25

Instrucciones de aplicacin I

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin

Pasos

Referencia

BMOV Transmisin de bloques de datos binarios BMOVP

s, n, d

(s)

(d) n

* 9

6.4.5

s, n, d

FMOV Transmisin de un bloque de datos binarios FMOVP

s, n, d
(d) (s) n

* 9

6.4.6

s, n, d

XCH Intercambio de datos binarios de 16 bits XCHP

d1, d2
(d1) (d2)

* 5

6.4.7

d1, d2

DXCH Intercambio de datos binarios de 32 bits DXCHP

d1, d2
((d1)+1, d1) ((d2)+1, d2)

* 7

6.4.7

d1, d2

Intercambio de bloques de datos binarios por bloques

BXCH

n, d1, d2
(d1) (d2)

4
n

6.4.8

BXCHP

n, d1, d2

Intercambio de bytes dentro de un nmero binario

SWAP

s 3 6.4.9

SWAPP

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2 26

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin I
Instrucciones de bifurcacin de programa

2.4.5

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

CJ

Salto condicionado (p = destino de salto) 2 * 3 6.5.1

Instrucciones Instrucciones de salto

SCJ

Salto condicionado al siguiente ciclo (p = destino de salto) Instruccin de salto (p = destino de salto) Salto al fin de programa 2

JMP

* 3

6.5.1

GOEND

6.5.2

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2.4.6

Instruccin para llamada de interrupcin de programa

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A * 1 * 1 6.6.1

Interrupcin prevenida Interrupcin posible Esquemas de bits de las condiciones de ejecucin de programas de interrupcin Retorno del programa de interrupcin al programa principal

DI

Previene la ejecucin de un programa de interrupcin Posibilita la ejecucin de un programa de interrupcin El esquema indicado en s contiene bits que estn asignados a las diferentes direcciones de interrupcin.

EI

6.6.1

IMASK

* 1

6.6.1

Fin de programa de interrupcin IRET 1

* 1

6.6.2

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 27

Instrucciones de aplicacin I
2.4.7 Instruccin de actualizacin de datos

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Actualizacin parcial de entrada/salida

RFS

s, n

La instruccin RFS actualiza las entradas y salidas de las reas seleccionadas para un ciclo de programa. La instruccin SEG posibilita la actualizacin de un rea de direcciones de entrada y salida con condicin de entrada aplicada. En caso de no estar activado (0) el SM775 (con el MELSEC Q), se ejecuta una actualizacin de los datos de red e interfaz (refrescamiento de enlace) y un procesamiento global de datos (procesamiento END). La instruccin DI previene la ejecucin de un refrescamiento de enlace hasta que se indique una instruccin EI en la secuencia de programa. La ejecucin de un refrescamiento de enlace se posiblita despus de aplicar una instruccin EI.

6.7.1

Actualizacin parcial de entrada/salida

SEG

s, d

* 9

6.7.2

Instruccin de actualizacin para datos de red e interfaz

COM

* 3

6.7.3

Prevencin de la ejecucin del refrescamiento de enlace

DI

6.7.4

Posibilitacin de la ejecucin del refrescamiento de enlace

EI

6.7.4

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2 28

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin I
Otras instrucciones

2.4.8

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Contador incrementador/ decrementador de 1 fase

s+0

UDCNT1

s, n, d

s+1
Valor actual del contador Momento de conmutacin del contacto de contador

6.8.1

Contador incrementador/ decrementador de 2 fases

s+0

UDCNT2

s, n, d

s+1
Valor actual del contador Momento de conmutacin del contacto de contador

6.8.2

Temporizador programable

TTMR

d, n

(Tiempo durante el cual se activa el TTMR) x n (d) n=0:1, n=1:10, n=2:100 La instruccin STMR utiliza las salidas indicadas en d+0 a d+3 para realizar las cuatro funciones diferentes del temporizador: d+0:Salida de temporizador con retardo de desactivacin d+1:Salida de temporizador con impulso de activacin (activacin con flanco descendiente) d+2:Salida de temporizador con impulso de activacin (con flanco creciente) d+3:Salida de temporizador con retardo de activacin

6.8.3

Temporizador de funciones especiales (temporizadores lentos)

STMR

s,n, d

6.8.4

Temporizador de funciones especiales (temporizadores rpidos)

STMRH

s,n, d

vase arriba

6.8.4

Instruccin de posicionamiento para mesas rotativas

ROTC

s, n1, n2, d

Con la instruccin ROTC es posible posicionar una mesa rotativa con la cantidad de sectores (particin) indicada en nl de tal modo que un sector indicado en s+2 se desplaza hacia una posicin indicada en s+1. La instruccin RAMP aumenta gradualmente el contenido en (d1)+0 del valor indicado en n1 hasta alcanzar el valor final indicado en n2. La instruccin SPD cuenta los impulsos de la entrada indicada en s durante la duracin indicada en n y almacena el resultado de la medicin en d. La instruccin PLSY emite impulsos con la frecuencia indicada en s1 y con la cantidad indicada en s2 hacia la salida indicada en d.

6.8.5

Seal de rampa

RAMP

n1, n2, n3, d1, d2

6.8.6

Contador de impulsos Salida de impulso con cantidad ajustable de impulsos

SPD

s, n, d

6.8.7

PLSY

s1, s2, d

6.8.8

Programacin MELSEC A y Q

2 29

Instrucciones de aplicacin I

Instrucciones

Modulacin de ancho en tiempo

PWM

n1, n2, d

n1 n2 d

6.8.9

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Formacin de una matriz de entrada

MTR

s, n , d1, d2

La instruccin MTR entra por lectura las informaciones comenzando con s 16. La cantidad de repeticiones de este proceso (series) se indica en n. Los estados respectivos de las informaciones entradas por lectura, se almacenan comenzando en d2.

6.8.10

2 30

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II

2.5
2.5.1

Instrucciones de aplicacin II
Instrucciones lgicas

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

WAND s, d WANDP WAND s1, s2, d1 WANDP DAND Producto lgico s, d DANDP DAND s1, s2, d DANDP BKAND s1, s2, n, d BKANDP

(d) (s) (d) 3

*** 5

7.1.1

(s1) (s2) (d1) 4

*** 7

7.1.1

(d+1,d) (s+1, s) (d+1, d)

* 4

*** 9

7.1.1

((s1)+1, s1) ((s2)+1, s2) (d+1, d)

** 4

7.1.1

(s1)

(s2)

(d)

5
n

7.1.2

*: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En la utilizacin de una CPU de Q de procesador nico: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 6 Constantes : 6 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 6 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados. 4 **: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En la utilizacin de una CPU de Q y operandos internos de palabra (sin registro de archivo ZR): 6 Constantes : 6 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 6 En la utilizacin de una CPU de System Q y operandos diferentes a los operandos arriba indicados. 4 ***: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 31

Instrucciones de aplicacin II

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

WOR s, d WORP WOR s1, s2, d1 WORP DOR Adicin lgica s, d DORP DOR s1, s2, d DORP BKOR s1, s2, n, d BKORP

(d) (s) (d) 3

*** 5

7.1.3

(s1) (s2) (d1) 4

*** 7

7.1.3

(d+1, d) (s+1, s) (d+1, d)

* 4

*** 9

7.1.3

((s1)+1,s1) ((s2)+1, s2) (d+1, d)

** 4

7.1.3

(s1)

(s2)

(d)

5
n

7.1.4

*: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En la utilizacin de una CPU de Q de procesador nico: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 6 Constantes : 6 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 6 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados. 4 **: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En la utilizacin de una CPU de Q y operandos internos de palabra (sin registro de archivo ZR): 6 Constantes : 6 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 6 En la utilizacin de una CPU de System Q y operandos diferentes a los operandos arriba indicados. 4 ***: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2 32

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

WXOR s, d WXORP WXOR s1, s2, d1 WXORP DXOR Lgica ODER exclusiva DXORP DXOR s1, s2, d DXORP BKXOR s1, s2, n, d BKXORP s, d

(d) (s) (d) 3 *** 5 7.1.5

(s1) (s2) (d1) 4 *** 7 7.1.5

(d+1, d) (s+1, s) (d+1, d)

* 4

*** 9

7.1.5

((s1)+1,s1) ((s2)+1, s2) (d+1, d)

** 4

7.1.5

(s1)

(s2)

(d)

5
n

7.1.6

*: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En la utilizacin de una CPU de Q de procesador nico: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 6 Constantes : 6 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 6 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados. 4 **: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En la utilizacin de una CPU de Q y operandos internos de palabra (sin registro de archivo ZR): 6 Constantes : 6 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 6 En la utilizacin de una CPU de Q y operandos diferentes a los operandos arriba indicados. 4 ***: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 33

Instrucciones de aplicacin II

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

WNXR s, d WNXRP WNXR s1, s2, d1 WNXRP DNXR s, d DNXRP DNXR s1, s2, d DNXRP BKXNR s1, s2, n, d BKXNRP

(d) (s) (d) 3 *** 5 7.1.7

(s1) (s2)

(d1)
4 *** 7 7.1.7

Lgica NOR exclusiva

(d+1, d) (s+1, s) (d+1, d)

* 3

*** 9

7.1.7

((s1)+1, s1) ((s2)+1, s2) (d+1, d)

** 4

7.1.7

(s1)

(s2)

(d)

5
n

7.1.8

*: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En la utilizacin de una CPU de Q de procesador nico: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 6 Constantes : 6 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 6 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados. 4 **: La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En la utilizacin de una CPU de Q y operandos internos de palabra (sin registro de archivo ZR): 6 Constantes : 6 Operandos de bit cuya direccin es un valor mltiplo de 16, que tienen la denominacin de bloque de bit K8 y que no se procesan por la asignacin de ndice: 6 En la utilizacin de una CPU de Q y operandos diferentes a los operandos arriba indicados. 4 ***: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2 34

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II
Instrucciones de rotacin

2.5.2

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

ROR n, d Rotacin de datos a la derecha (16 bits) RORP

b15

(d)

b0

SM700

3 Rota n bits hacia la derecha

* 3

7.2.1

RCR
b15 (d) b0 SM700

n, d RCRP Rota n bits hacia la derecha


SM700 b15 (d) b0

* 3

7.2.1

ROL n, d Rotacin de datos a la izquierda (16 bits) ROLP

3 Rota n bits hacia la izquierda

* 3

7.2.2

RCL n, d RCLP

SM700

b15

(d)

b0

3 Rota n bits hacia la izquierda

* 3

7.2.2

DROR n, d Rotacin de datos a la derecha (32 bits) DRORP Rota n bits hacia la derecha
(d+1) b31 b16 (d) b15 b0

* 3

7.2.3

DRCR n, d DRCRP

SM700

3 Rota n bits hacia la derecha

* 3

7.2.3

DROL n, d Rotacin de datos a la izquierda (32 bits) DROLP Rota n bits hacia la izquierda
(d+1) SM700 b31 b16 (d) b15 b0

* 3

7.2.4

DRCL n, d DRCLP

3 Rota n bits hacia la izquierda

* 3

7.2.4

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 35

Instrucciones de aplicacin II
2.5.3 Instrucciones de desplazamiento

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

SFR
b15 bn b0

Desplazamient o de una palabra de datos de 16 bits por n bits

n, d SFRP
b15 00 b0 SM700

* 3

7.3.1

SFL n, d SFLP

b15

bn

b0

3
SM700 b15 b0 00

* 3

7.3.1

BSFR n, d Desplazamient o de un operando de n bits por 1 bit BSFRP

n (d)

3
SM700 0

* 7

7.3.2

BSFL n, d BSFLP
SM700

n (d)

3
0

* 7

7.3.2

DSFR n, d Desplazamient o de un operando de n palabras por 1 direccin DSFRP


0

n (d)

* 7

7.3.3

DSFL n, d DSFLP

n (d)

3
0

* 7

7.3.3

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2 36

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II
Instrucciones de procesamiento de bits

2.5.4

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

BSET n, d Activacin/ reposicin de bits individuales BSETP


(d) b15 bn 1 b0

* 3

7.4.1

BRST n, d BRSTP

(d) b15

bn 0

b0

* 7

7.4.1

TEST s1, s2, d Consulta de estado de bits individuales en palabras de datos de 16/32 bits TESTP

(s1) b15

bis

b0

(d)

7.4.2

Bit denominado por s2

DTEST s1, s2, d DTESTP

(s1) b31

bis

b0

(d)

7.4.2

Bit denominado por s2

BKRST Reposicin de rangos de bits BKRSTP s, n

(s)

EIN AUS

RESET

(s) AUS AUS n AUS AUS

7.4.3

EIN EIN

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 37

Instrucciones de aplicacin II
2.5.5 Instrucciones de procesamiento de datos

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

SER s1, s2, n (A) s1, s2, n, d (Q) SERP Bsqueda de datos de 16 bits 5 * 9 7.5.1

DSER s1, s2, n (A) s1, s2, n, d (Q) DSERP 5 * 9 7.5.1

SUM s (A) s, d (Q) SUMP Control de bits de datos (16/32 bits) 3 * 3 7.5.2

DSUM s (A) s, d (Q) DSUMP


Decodificacin de 8 a 256 bits

* 3

7.5.2

DECO Decodificacin de datos DECOP s, d, n


(s)

decodificar entschlsseln
n

(d) 2 Bit
n

* 9

7.5.3

Codificacin de 256 a 8 bits

ENCO Codificacin de datos ENCOP s, d, n

(d) 2 Bit n
n

codificar

(s)

* 9

7.5.4

SEG Decodificacin de 7 segmentos SEGP s, d


(s)

b3

bis

b0 (d) 7SEG

7.5.5

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2 38

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

DIS s, n, d DISP

Los valores de datos de 16 bits se separan en grupos de 4 bits respectivamente. Los valores de datos a separar se definen en s, la cantidad de los grupos de 4 bits en n y la primera direccin de destino en d. Los 4 bits de valores ms bajos respectivamente, se separan en hasta cuatro valores de datos de 16 bits y se almacenan conjuntamente con los estados en un valor de datos de 16 bits. Los datos a partir del s1 se separan en grupos de bits con el tamao indicado en s2. Los grupos de bits separados se almacenan individualmente en d.

* 9

7.5.6

UNI s, n, d UNIP

* 9

7.5.7

NDIS s1, s2, d Integracin y desintegracin de palabras de datos de 16 bits NDISP

4 NUNI s1, s2, d NUNIP Los tamaos de los grupos de bits indicados a partir de s2, se separan del s1 y se combinan con un valor de datos. Los grupos de bits se almacenan secuencialmente a partir de d. En la instruccin se definen los valores de datos a separar en s, la cantidad de los grupos de bytes en n y la primera direccin de destino en d. 4 BTOW s, n, d BTOWP Busca en los bloques de datos de 16 bits por el valor ms grande. La cantidad de los bloques de datos a revisar se indica en n. En d se almacena el valor ms grande encontrado en s hasta s+(n-1). 4 DMAX s, n, d DMAXP Busca en los bloques de datos de 32 bits por el valor ms grande. La cantidad de los bloques de datos a revisar se indica en n. En d se almacena el valor ms grande encontrado en s hasta s+(n-1). La direccin inicial de los valores de datos combinados se define en s, la cantidad de grupos de bytes en n y la direccin de destino en d.

7.5.8

WTOB s, n, d WTOBP

7.5.9

MAX s, n, d Bsqueda de valores mximos en datos de 16/32 bits MAXP

7.5.10

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 39

Instrucciones de aplicacin II

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

MIN s, n, d Bsqueda de valores mnimos en datos de 16/32 bits MINP

Busca en los bloques de datos de 16 bits por el valor ms pequeo. La cantidad de los bloques de datos a revisar se indica en n. En d se almacena el valor ms pequeo encontrado en s hasta s+(n-1). 4 7.5.11 Busca en los bloques de datos de 32 bits por el valor ms pequeo. La cantidad de los bloques de datos a revisar se indica en n. En d se almacena el valor ms pequeo encontrado en s hasta s+(n-1). Clasifica la cantidad indicada con n en los datos de 16 bits indicados en sl en secuencia ascendente o descendente.

DMIN s, n, d DMINP

SORT

SORTP Clasificacin de los datos de 16/32 bits DSORT s1, n, s2, d1, d2 Clasifica la cantidad indicada en n en los datos de 32 bits indicados en sl en secuencia ascendente o descendente. 6 7.5.12

DSORTP Suma los n valores binarios de 16 bits a partir de 2 y almacena estos en d y d+1. s, n, d Formacin de suma de bloques de datos binarios de 16/32 bits WSUMP Suma los n valores binarios de 32 bits a partir de s y s+1 y almacena estos en d a d+3. s, n, d DWSUMP 4 7.5.14 4 7.5.13

WSUM

DWSUM

2 40

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II
Instruccin estructurada de programaen

2.5.6

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A * 3 7.6.1

FOR

Instruccines de repeticin

NEXT

La combinacin de instrucciones FORNEXT posibilita la repeticin de secuencias individuales de programa sin definicin de una condicin de entrada. La cantidad de repeticiones se define en n. La instruccin BREAK interrumpe el bucle FOR-NEXT durante la ejecucin y salta al punter/rtulo indicado en p. La llamada de una rutina de subprograma con una instruccin CALL se efecta mediante la indicacin del rtulo de la rutina de subprograma. Mediante una instruccin RET se identifica el fin de una rutina de subprograma. Mediante la reposicin de la condicin de ejecucin de la instruccin FCALL se conmutan los contactos y las bobinas de la rutina de subprograma indicada en p (puntero/ rtulo) a un estado como que la condicin de ejecucin correspondiente no se haya activado. La llamada de una rutina de subprograma en un archivo de programa con una instruccin ECALL se efecta mediante la indicacin del nombre de archivo del archivo de programa y mediante la indicacin del rtulo de la rutina de subprograma.

* 1

BREAK p, d BREAKP

7.6.2

CALL p CALLP

* 3

7.6.3

RET Llamada de subprograma FCALL

* 1

7.6.4

p FCALLP

7.6.5

ECALL Llamada de subprograma entre archivos de programa

Nombre de archivo, p ECALLP

7.6.6

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 41

Instrucciones de aplicacin II

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

EFCALL

Llamada de subprograma entre archivos de programa

Nombre de archivo, p EFCALLP

Con la reposicin de la condicin de ejecucin de la instruccin EFCALL se conmutan los contactos y las bobinas de la rutina de subprograma indicada en p (puntero/rtulo) en el archivo de programa indicado con el nombre de archivo, a un estado como que no se haya activado la condicin de ejecucin correspondiente de la instruccin respectiva que activa un contacto o bien una bobina. Con la condicin de entrada cumplida, la instruccin conmuta entre el rea de programa MAIN y SUB. Con la condicin de entrada aplicada, la instruccin SUB activa el programa de microcomputador que se encuentra en la direccin "n". Las instrucciones IX e IXEND realizan un direccionamiento indexado de las direcciones de operandos en la seccin de programa que se programa entre las instrucciones IX e IXEND. Las instrucciones IXDEV e IXSET leen las direcciones de un operando ubicado en el rea de offset y escriben estos valores de offset como listado de ndice en el operando indicado en d.

7.6.7

Conmutacin entre rea de programa MAIN y SUB

CHG

7.6.8

Llamada de programa de microcomputa dor

SUB n SUBP IX s

7.6.9

Direccionamie nto indexado de una seccin global de programa

7.6.10 1

IXEND

Almacenamien to de la direccin de operandos indexada en un listado de ndice

IXDEV

1 7.6.11 3

IXSET

p, d

2 42

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II
Instruccin de procesamiento para listados de datos

2.5.7

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Escritura de datos en un listado de datos

FIFW s, d FIFWP 3 * 7 7.7.1

Lectura de datos inicialmente ingresados del listado de datos Lectura de datos finalmente ingresados del listado de datos Eliminacin de bloques de datos determinados del listado de datos Integracin de de bloques de datos determinados en el listado de datos

FIFR s, d FIFRP

(s) Puntero Puntero - 1 (d )

* 7

7.7.2

FPOP s, d FPOPP

(s) Puntero Puntero - 1(d )

3
Puntero- + 1 Operando

7.7.3

FDEL
(s) Puntero Puntero - 1(d )

FDELP s, n, d FINS
(s)

Denominado por n

4
(d) Puntero Puntero + 1

7.7.4

FINSP

Denominado por n

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 43

Instrucciones de aplicacin II
2.5.8 Instrucciones para el acceso a la memoria de bfer

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

FROM

Lee los datos de 1 palabra (16 bits) del rea de memoria de bfer de un mdulo especial. n1, n2, n3, d 5 Lee datos de 2 palabras (32 bits) de la memoria de bfer de un mdulo especial. * 9 7.8.1

Lectura de datos de un mdulo especial

FROMP

DFRO

DFROP Escribe los datos de 1 palabra (16 bits) del la memoria de la CPU en la memoria de bfer de un mdulo especial. s, n1, n2, n3 DTO Escribe los datos de 2 palabras (32 bits) en la memoria de bfer de un mdulo especial. 5 * 9 7.8.2

TO

Escritura de datosen un mdulo especial

TOP

DTOP Lee datos de 1 palabra (16 bits) de una estacin remota n1, n2, n3, d (FROM(P)/ DFRO(P)) s, d PRC

FROM, PRC

Lectura de datos de una estacin remota

FROMP, PRC

DFRO, PRC

Lee datos de 2 palabras (32 bits) de una estacin remota

* 7/9

7.8.3

DFROP, PRC Escribe datos de 1 palabra (16 bits) de una estacin remota

TO, PRC

Escritura de datos en una estacin remota

TOP, PRC

DTO, PRC

s, n1, n2, n3 (TO(P)/DTO(P)) s, d (PRC)

Escribe los datos de 2 palabras (32 bits) en una estacin remota.

* 7/9

7.8.4

DTOP, PRC

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

2 44

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II
Instrucciones de pantalla

2.5.9

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

PR

s, d

Emisin ASCII

Activacin (1) de SM701 (serie Q/System Q): Emisin de una secuencia de caracteres ASCII con 16 caracteres a un mdulo de salida. La secuencia de caracteres se divide en 2 por 8 caracteres y se lee del rea de direcciones s para ser emitida a las salidas definidas en d. Sin activacin (0) de SM701 (Q-Serie/ System Q): Emisin de una secuencia de caracteres ASCII hasta el cdigo de caracter "00H" del rea de direcciones s como cdigo hexadecimal a las direcciones definidas en d. Emite un comentario (en cdigo ASCII) al mdulo de salida. En caso de activacin (1) de un SM701 (serie Q/System Q), semiten 16 caracteres. En caso de no estar activado (0) el SM701, se emiten 32 caracteres. La instruccin LED llama los datos ASCII (16 caracteres) de 8 direcciones de un rea de direcciones predefinido y visualiza estos en una pantalla LED de una CPU apropiada. La instruccin LEDS llama comentarios (16 caracteres) de un rea de direcciones predefinida en s y visualiza estos en una pantalla LED de una CPU apropiada. Visualizacin de caracteres ASCII en la pantalla LED de la CPU

* 7

7.9.1

PRC

s, d

* 7

7.9.2

LED

* 3

7.9.3

Visualizacin de caracteres ASCII y comentarios

LEDC

s (Q)

* 3

7.9.4

LEDA n LEDB

* 13

7.9.5

Eliminar la visualizacin

LEDR

Reposicin de rels internos de errores y visualizaciones de pantalla

* 1

7.9.6

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 45

Instrucciones de aplicacin II
2.5.10 Deteccin y eliminacin de errores

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

CHKST

Arranca la ejecucin de la instruccin CHK. Cuando no est activada (0) la condicin de ejecucin de la instruccin CHKST, se ejecuta el siguiente paso de programa despus de la instruccin CHK. Posibilita un control de errores en una disposicin de contactos con interruptores lmite. Al presentarse un error en esta disposicin, se aplica el operando d1 y se almacena el cdigo de error correspondiente en el operando d2. Posibilita un control de errores en una disposicin de contactos con interruptores lmite. Al presentarse un error en esta disposicin, se aplica el operando d1 y se almacena el cdigo de error correspondiente en el operando d2. Genera los redes de control para la instruccin CHK y arranca el rea de programa con las redes de control generados. Instruccin final para el rea de programa con las redes de control generados. Efecta el almacenamiento intermedio de los datos de operandos definidos que se salvaguardan en la memoria de estado de rango detentivo. Aqu pueden controlarse y visualizarse. Se eliminan los datos almacenados intermediariamente en el rango de estado de rango detentivo y se repone la instruccin SLT. Activacin del Sampling Trace Reposicin del Sampling Trace 1 1 7.10.5 1 7.10.1

CHK (Q)

Control de errores

CHK (A)

d1, d2

7.10.2

CHKCIR

7.10.3

CHKEND

SLT Activacin/ reposicin del estado de rango detentivo SLTR

7.10.4

Activacin/ reposicin de la supervisin de exploracin (Sampling Trace)

STRA STRAR

2 46

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

PTRA Ejecucin/ activacin/ reposicin de la supervisin de programa (Program Trace) PTRAR

Activacin del Program Trace Reposicin del Program Trace Ejecucin del Program Trace 1 7.10.6

PTRAEXE

PTRAEXEP

Programacin MELSEC A y Q

2 47

Instrucciones de aplicacin II
2.5.11

Instrucciones

Instrucciones de procesamiento para secuencias de caracteres

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

BINDA

Conversin de datos binarios de 16/32 bits en nmeros decimales en cdigo ASCII

BINDAP s, d DBINDA

Convierte el nmero binario de 16 bits indicado en s hacia un nmero decimal de 5 posiciones en cdigo ASCII y almacena ste en d. 3 Convierte los nmeros binarios de 32 bits indicados en s hacia un nmero decimal de 10 posiciones en cdigo ASCII y almacena stos en d. Convierte los datos binarios de 16 bits indicados en s hacia un nmero binario de 4 posiciones en cdigo ASCII y almacena ste en d. s, d 3 Convierte los datos binarios de 32 bits indicados en s hacia un nmero binario de 8 posiciones en cdigo ASCII y almacena ste en d. Convierte los datos BCD de 4 posiciones, indicados en s, hacia el formato ASCII y almacena stos en d. s, d 3 Convierte los datos BCD de 8 posiciones, indicados en s, hacia el formato ASCII y almacena stos en d. 7.11.3 7.11.2 7.11.1

DBINDAP

BINHA Conversin de datos binarios de 16/32 bits en nmeros hexadecimales en cdigo ASCII

BINHAP

DBINHA

DBINHAP

BCDDA

Conversin de datos BCD de 4/8 posiciones en cdigo ASCII

BCDDAP

DBCDDA

DBCDDAP Convierte los datos ASCII decimales de 5 posiciones, indicados en s, hacia el formato BIN de 16 bits y almacena stos en d. s, d DDABIN Convierte los datos ASCII decimales de 10 posiciones, indicados en s, hacia el formato BIN de 32 bits y almacena stos en d. 3 7.11.4

DABIN

Conversin de datos decimales ASCII en datos binarios de 16/32 bits

DABINP

DDABINP

2 48

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

HABIN

Conversin de datos ASCII hexadecimales en datos binarios de 16/32 bits

HABINP s, d DHABIN

Convierte los datos ASCII hexadecimales de 4 posiciones, indicados en s, hacia el formato BIN de 32 bits y almacena stos en d. 3 Convierte los datos ASCII hexadecimales de 8 posiciones, indicados en s, hacia el formato BIN de 32 bits y almacena stos en d. Convierte los datos ASCII decimales en s al formato de datos BCD de 4 posiciones y almacena los datos en d. s, d 3 Convierte los datos ASCII decimales en s al formato de datos BCD de 8 posiciones y almacena los datos en d. 7.11.6 7.11.5

DHABINP

DABCD

Conversin de datos decimales hexadecimales en BCD de 4/8 posiciones

DABCDP

DDABCD

DDABCDP Lee los datos de comentario en s y almacena stos como cdigo ASCII en d.

COMRD Lectura de datos de comentario COMRDP s, d

7.11.7

LEN Registro del largo de secuencias de caracteres LENP s, d

Registra el largo de una secuencia de caracteres que se indica en s y almacena el resultado en d.

7.11.8

STR

Conversin de datos datos binarios de 16/32 bits hacia secuencias de caracteres

STRP s1, s2, d DSTR

Agrega una coma decimal a un valor de datos binarios de 16 bits en s2 en la posicin indicada en s1. El resultado se convierte en una secuencia de caracteres y se almacena en d. 4 Agrega una coma decimal a un valor de datos binarios de 32 bits en s2 en la posicin indicada en s1. El resultado se convierte en una secuencia de caracteres y se almacena en d. 7.11.9

DSTRP

Programacin MELSEC A y Q

2 49

Instrucciones de aplicacin II

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

VAL

Conversin de secuencias de caracteres a datos binarios de 16/32 bits

VALP s, d1, d2 DVAL

Convierte las secuencias de caracteres almacenados en s hacia datos binarios de 16 bits. La cantidad de posiciones y el valor binario se almacenan a partir de d1 y d2. Convierte las secuencias de caracteres almacenados en s hacia datos binarios de 32 bits. La cantidad de posiciones y el valor binario se almacenan en d1 y d2. Convierte los nmeros de coma flotante (nmeros reales) en s1 hacia una secuencia de caracteres. El formato de esta secuencia de caracteres se indica en s2. El resultado se almacena en d. Convierte la secuencia de caracteres en s hacia un nmero de coma flotante decimal (nmero real). El resultado se almacena en d. Convierte los datos binarios de 16 bits almacenados en s hacia el formato ASCII hexadecimal y almacena el resultado en d bajo consideracin de la cantidad de caracteres indicados en n. Convierte la secuencia indicada de caracteres alfanumricos hacia el cdigo ASCII y almacena el resultado en d.

7.11.10

DVALP

Conversin de nmeros de coma flotante en secuencias de caracteres

ESTR s1, s2, d ESTRP

7.11.11

Conversin de secuencias de caracteres en nmeros de coma flotante

EVAL s, d EVALP

7.11.12

ASC Conversin de datos BIN de 16 bits hacia un cdigo ASCII (Q) s, n, d ASCP

7.11.13

Conversin de secuencias de caracteres alfanumricos hacia el cdigo ASCII (A) Conversin de valores ASCII hexadecimales hacia valores binarios

ASC

* 13

7.11.14

HEX s, n, d HEXP

Convierte los caracteres ASCII hexadecimales en s hacia valores binarios. La cantidad de caracteres a convertir se define en n. El resultado de la conversin se almacena en d. Almacena los caracteres de la parte derecha de la secuencia de caracteres (fin de secuencia de caracteres) en s y almacena los caracteres en d.

7.11.15

Extracto de los datos de secuencia de caracteres (parte derecha de la secuencia de caracteres) Extracto de datos de secuencia de caracteres (parte izquierda de la secuencia de caracteres)

RIGHT s, n, d RIGHTP

4 LEFT s, n, d LEFTP Almacena los caracteres de la parte izquierda de la secuencia de caracteres (inicio de secuencia de caracteres) en s y almacena los caracteres en d.

7.11.16

2 50

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

MIDR s1, s2, d Almacenamiento y desplazamiento de partes de secuencias de caracteres MIDRP

Almacena en d una parte definida de la secuencia de caracteres almacenada en s1. En s2 se indica el primer caracter de la parte a almacenar. 4 7.11.17 Almacena en d una parte con largo definido de la secuencia de caracteres almacenada en s1. En s2 se indica la primera direccin del rango de memoria en d. Busca una secuencia de caracteres indicada en s1 en la secuencia de caracteres que se encuentra en s2. La bsqueda se inicia con los caracteres indicados en n. Basndose en el nmero de coma flotante (nmero real) en s1 se calcula el formato BCD bajo consideracin del desplazamiento de coma indicado en s2 hacia la derecha. El resultado se almacena en d1. Basndose en el nmero de coma flotante en formato BCD en s1 se calcula el formato decimal del nmero de coma flotante (nmero real) bajo consideracin de las posiciones despus de la coma, indicadas en s2. El resultado se almacena en d1.

MIDW s1, s2, d MIDWP

INSTR Bsqueda de secuencias de caracteres INSTRP s1, s2, n, d

7.11.18

EMOD Conversin de nmeros de coma flotante al formato BCD s1, s2, d1 EMODP

7.11.19

EREXP Conversin de nmeros de coma flotante al formato decimal

s1, s2, d1 EREXPP

7.11.20

*: La cantidad de pasos de programa depende los operandos utilizados. La cantidad precisa se indica en el prrafo en el cual se describen las instrucciones individuales.

Programacin MELSEC A y Q

2 51

Instrucciones de aplicacin II
2.5.12 Instrucciones para funciones especiales

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

SIN Clculo de seno SINP s, d

SIN(s+1, s) (d+1, d) 3 7.12.1

COS Clculo de coseno COSP s, d

COS(s+1, s) (d+1, d) 3 7.12.2

TAN Clculo de tangente TANP s, d

TAN(s+1, s) (d+1, d) 3 7.12.3

ASIN Clculo de arcoseno ASINP s, d

SIN-1(s+1, s) (d+1, d) 3 7.12.4

ACOS Clculo de arcocoseno ACOSP s, d

COS-1(s+1, s) (d+1, d) 3 7.12.5

ATAN Clculo de arcotangente ATANP s, d

TAN-1(s+1, s) (d+1, d) 3 7.12.6

RAD Conversin de grados a radianes RADP s, d

(s+1, s) (d+1, d) Conversin de grados a radianes

7.12.7

DEG Conversin de radianes a grados DEGP s, d

(s+1, s) (d+1, d) Conversin de radianes a grados

7.12.8

(s+1, s) (d+1, d) SQR Clculo de raz cuadrada SQRP s, d 3 7.12.9

2 52

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Nmeros de coma flotante Exponente de de

EXP s, d EXPP

e(s+1, s) (d+1, d) 3 7.12.10

LOG Clculo de logaritmo natural LOGP s, d

LOG e(s+1, s) (d+1, d) 3 7.12.11

RND Generacin de nmeros aleatorios RNDP d

Almacenamiento del nmero aleatorio generado en d. 2

7.12.12 Actualizacin de series de nmeros aleatorios SRND s SRNDP Actualizacin de nmeros aleatorios en s. 2

Clculo de raz cuadrada de datos BCD de 4 posiciones

BSQR s, d BSQRP
(s) (d) +0 +1 Posicin despus
de la coma

7.12.13 Clculo de raz cuadrada de datos BCD de 8 posiciones BDSQR s, d BDSQRP


(d) +0 +1
Nmero entero Posicin despus de la coma

BSIN Clculo de seno con datos BCD BSINP s, d 3 7.12.14

BCOS Clculo de coseno con datos BCD BCOSP s, d 3 7.12.15

BTAN Clculo de tangente con datos BCD BTANP s, d 3 7.12.16

Programacin MELSEC A y Q

2 53

Instrucciones de aplicacin II

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

BASIN Clculo de arcoseno con datos BCD BASINP s, d 3 7.12.17

Clculo de arcocoseno con datos BCD

BACOS s, d BACOSP 3 7.12.18

Clculo de arcotangente con datos BCD

BATAN s, d BATANP 3 7.12.19

2 54

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II
Instrucciones de control de datos

2.5.13

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

LIMIT s1, s2, s3, d LIMITP Limitacin del rango de valores de salida de datos binarios de 16/32 bits

Cuando (s3)<(s1) Se almacena el valor de s1 en d. Cuando (s1)(s3)(s2) Se almacena el valor de s3 en d. Cuando (s2)<(s3) Se almacena el valor de s2 en d. Cuando ((s3)+1, s3)<((s1)+1, s1) Se almacena el valor de ((s1)+1, s1) en (d+1, d) Cuando ((s1)+1, s1) ((s3)+1, s3) <((s2)+1,s2) Se almacena el valor de ((s3)+1, s3) in (d+1, d). Cuando ((s2)+1, s2)< ((s3)+1, s3)<((s2)+1, s2) Se almacena el valor de((s2)+1, s2) en (d+1, d). Cuando (s1)(s3)(s2) 0 (d) Cuando (s3)<(s1) (s3) (s1) (d) Cuando (s2)<(s3) (s3) (s2) (d) Cuando ((s1)+1, s1)((s3)+1, s3) ((s2)+1, s2) 0 (d+1, d) Cuando ((s3)+1, s3)<(s1+1, s1) ((s3)+1, s3)-((s1)+1, s1) (d+1, d) Cuando ((s2)+1, s2)<((s3)+1, s3) ((s3)+1, s3)-((s2)+1, s2) (d+1, d) Cuando s3=0: 0 (d) Cuando s3>0: s3 + s2 (d) Cuando s3<0: s3 s1 (d) Cuando ((s3)+1, s3)=0 0 (d+1, d) Cuando ((s3)+1, s3)>0 ((s3)+1, s3)+((s2)+1, s2) (d+1, d) Cuando ((s3)+1, s3)<0 ((s3)+1, s3)+((s1)+1, s1) (d+1, d) 5 7.13.3

DLIMIT

7.13.1

s1, s2, s3, d DLIMITP

BAND s1, s2, s3, d BANDP Valor de offset de entrada de datos binarios de 16/32 bits

DBAND

7.13.2

s1, s2, s3, d DBANDP

ZONE s1, s2, s3, d Valor de offset de salida de datos binarios de 16/32 bits ZONEP

DZONE s1, s2, s3, d DZONEP

Programacin MELSEC A y Q

2 55

Instrucciones de aplicacin II
2.5.14

Instrucciones

Instrucciones de conversin para bloques de registro de archivo

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Conversin entre bloques de registro de archivos

RSET s RSETP

Conmuta de un bloque de registro de archivos que se utiliza en un programa, al bloque de registro de archivos con la direccin indicada en s. Conmuta de un archivo de registro utilizado en el programa hacia el archivo de registro de archivo indicado en s.

7.14.1

Conversin entre archivos en registros de archivo Conversin entre archivos para datos de comentario en registros de archivo

QDRSET s QDRSETP

* 2 + n

7.14.2

QCDSET s QCDSETP

Conmuta de un archivo de comentarios utilizado en el programa hacia el archivo de comentarios indicado en s.

* 2 + n

7.14.3

*: n = (Cantidad de caracteres en el nombre de archivo/2) = Cantidad de caracteres adicionales. (Las posiciones despus de la coma se redondean.)

2 56

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II
Instrucciones de reloj

2.5.15

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

DATERD Lectura de datos de reloj DATERDP d 2 7.15.1

DATEWR Escritura de datos de reloj DATEWRP s

s+0 Ao Mes s+1 Da s+2 Hora s+3 s+4 Minuto s+5 Segundo s+6 Da sem.

Reloj CPU de QnA

7.15.2

DATE+ Adicin de datos de reloj DATE+P


s1 s2 d
Hora Minuto Segundo

s1, s2, d

Hora Minuto Segundo

Hora Minuto Segundo

7.15.3

DATESustraccin de datos de reloj DATE-P Cambio del formato de datos de los datos de reloj de horas, minutos y segundos hacia segundos Cambio del formato de datos de los datos de reloj de segundos a horas, minutos y segundos s1, s2, d
Hora Minuto Segundo Hora Minuto Segundo Hora Minuto Segundo

7.15.4

SECOND
s
Hora Minuto Segundo

d
Segundo

s, d SECONDP

3 HOUR
s
Segundo

7.15.5

d
Hora Minuto Segundo

s, d HOURP

Programacin MELSEC A y Q

2 57

Instrucciones de aplicacin II
2.5.16 Instrucciones para equipos perifricos
Pasos

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Referencia A

Emisin de mensajes a equipos perifricos

MSG

Indica la secuencia de caracteres que se encuentra en s, como mensaje a un equipo perifricos indicado en el modo de terminal. Los datos de teclado (caracteres) ingresados, se leen en un equipo perifrico determinado en el modo de terminal y se escriben en d en formato ASCII.

7.16.1

Entrada por teclado de datos para equipos perifricos

PKEY

7.16.2

2.5.17

Instrucciones de programa

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Conmutacin de programas al modo de standby

PSTOP s PSTOPP

Conmuta el archivo de programa indicado en s, al modo de standby.

* 2 + n

7.17.1

Conmutacin de programas al modo de standby con reposicin de las salidas Conmutacin de programas al modo de una ejecucin de programa por ciclo Conmutacin de programas a un modo con velocidad menor de procesamiento

POFF s POFFP

Conmuta el archivo de programa indicado en s, al modo de standby con reposicin de las salidas.

* 2 + n

7.17.2

PSCAN s PSCANP

Conmuta el archivo de programa indicado en s, al modo de una ejecucin de programa por ciclo.

* 2 + n

7.17.3

PLOW s PLOWP

Conmuta el archivo de programa indicado en s, a un modo de velocidad menor de procesamiento.

* 2 + n

7.17.4

*: n = (Cantidad de caracteres en el nombre de programa/2) = Cantidad de caracteres adicionales. (Las posiciones despus de la coma se redondean.)

2 58

Programacin MELSEC A y Q

Instrucciones

Instrucciones de aplicacin II
Otras instrucciones

2.5.18

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

WDT Reposicin del temporizador de vigilancia WDTP

Repone el temporizador de vigilancia (WDT) en un programa de ejecucin.

7.18.1

Activacin y reposicin de un dgito de arrastre

STC

En procesos de rotacin y desplazamientos, se almacena el arrastre (0 1) en la bandera de exceso de capacidad (Carry Flag). Despus de la ejecucin de la instruccin se realiza la reposicin de la bandera de exceso de capacidad.

7.18.2

CLC

Asignacin de ciclos de ejecucin

DUTY

n1, n2, d

(d)

4
hasta SM424, SM 430 hasta SM434

7.18.3

SM420

ZRRDB
0 ZR0
8 bits de valor superior

Lectura directa de un byte ZRRDBP

n, d

1 2 3 n

ZR1
8 bits de valor superior

3
(d)

7.18.4

8 bits

ZRWRB Escritura directa de un byte ZRWRBP n, s

0 1 8 bits de valor superior 2 3 8 bits de valor superior n 8 bits

ZR0

ZR1

7.18.5

Almacenamien to de una direccin directa

ADRSET s, d ADRSETP

El operando indicado en s, se almacena para el direccionamiento indirecto en el operando indicado en d.

7.18.6

Teclado para entrada de valores numricos

KEY

s, n , d1, d2

Posibilita la entrada por teclo de 8 caracteres ASCII en las entradas indicadas en s (X). Los valores ingresados se codifican hexadecimalmente y se almacenan en d1. Salvaguarda en d los contenidos de los registros de ndice Z0 a Z15.

7.18.7

Salvaguardia de los contenidos de registro de ndice en un registro

ZPUSH d ZPUSHP

7.18.8

Programacin MELSEC A y Q

2 59

Instrucciones de aplicacin II

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Recuperacin de los contenidos de registro de ndice en un registro

ZPOP d ZPOPP

Se recuperan los contenidos de un registro de ndice Z0 a Z15 en d.

7.18.9

Escritura de datos en un registro EEPROM

EROMWR s, n, d1,d2 EROMWRP

Escribe la cantidad de palabras de datos indicada en s con el valor n en el registro de archivo EEPROM indicado en d1.

7.18.10

2 60

Programacin MELSEC A y Q

Instrucciones

Instrucciones de datos de enlace

2.6
2.6.1

Instrucciones de datos de enlace


Instrucciones de actualizacin de datos de red

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Actualizacin de datos de red

Jn ZCOM Un

Actualizacin de datos en mdulos de red

8.5.1

2.6.2

Instrucciones extendidas de enlace de datos (compatible con serie QnA)

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Jn, s1, s2, d1, d2 READ Un, s1, s2, d1, d2 Jn, s1, s2, d1, d2, d3 SREAD Un, s1, s2, d1, d2, d3 Jn, s1, s2, d1, d2 WRITE Un, s1, s2, d1, d2 Jn, s1, s2, d1, d2, d3 SWRITE Datos de enlace (compatible con serie QnA) Un, s1, s2, d1, d2, d3 Jn, s1, s2, d SEND Un, s1, s2, d Jn, s, d1, d2 RECV Un, s, d1, d2 Jn, s1, s2, d1, d2 REQ Un, s1, s2, d1, d2 Jn, s1, s2, d ZNFR Un, s1, s2, d Jn, s1, s2, d ZNTO Un, s1, s2, d

Lectura de datos CPU de estaciones de destino

8.6.1

10

8.6.2

Escritura de datos CPU en estaciones de destino

10

8.6.3

11

8.6.4

Transmisin de datos hacia mdulos de red

8.6.5

Lectura de datos transmitidos con instruccin SEND Solicitud de datos de otras estaciones

8.6.6

8.6.7

Lectura de datos de mdulos especiales en estaciones remotas Escritura de datos en mdulos especiales en estaciones remotas

8.6.8

8.6.9

Programacin MELSEC A y Q

2 61

Instrucciones de datos de enlace


2.6.3 Instrucciones de datos de enlace (compatible con serie A)

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

J.ZNRD Jn, n1, s, n2, d1, d2 JP.ZNRD

Lectura de datos QnA de estaciones de destino 32 Lectura de datos de estaciones locales 8.7.1

J.ZNWR Jn, n1, s, n2, d1, d2 Datos de enlace (compatible con serie A) JP.ZNWR

Escritura de datos QnA en una estacin de destino 32 Escritura de datos en una estacin local 8.7.2

LRDP

s, n1, n2, d

Lectura de datos de una estacin local (solo serie A) Escritura de datos en una estacin local (solo serie A) Lectura de datos de un mdulo especial en una estacin remota Escritura de datos en un mdulo especial en una estacin remota

11

8.7.3

LWTP

Jn, s, d1, d2

11

8.7.4

RFRP G.RFRP RTOP G.RTOP

n1, n2, n3, d Un, n1, n2, d1, d2 s, n1, n2, n3 Un, n1, s, n2, d1

11

11

8.7.5

11

11

8.7.6

2.6.4

Informaciones de routing

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Z.RTREAD n, d Escritura y lectura de informaciones de routing ZP.RTREAD

Lectura de las informaciones de routing de la red n y almacenamiento de datos en d

8.8.1

Z.RTWRITE s, n ZP.RTWRITE

Escritura de informaciones de routing de s en la red n 8 8.8.2

2 62

Programacin MELSEC A y Q

Instrucciones

Instrucciones para las CPUs del MELSEC System Q

2.7
2.7.1

Instrucciones para las CPUs del MELSEC System Q


Informaciones de mdulo de lectura

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

UNIRD Lectura de informaciones de un mdulo n1, d, n2

UNIRDP

Las informaciones de mdulo se leen a partir de la direccin de entrada y salida indicada en n1 y se almacenan a partir de la direccin indicada en d. El largo de los datos se indica en n2.

9.1.1

2.7.2

Deteccin y eliminacin de errores

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Aplicacin/ reposicin de la supervisin (Trace)

TRACE

Ejecuta el almacenamiento intermedio de los datos de operandos definidos en un equipo de programacin en la tarjeta de memoria en caso de activacin de SM800, SM801 y SM802. Se eliminan los datos almacenados con la instruccin TRACE.

9.2.1

TRACER

9.2.1

Programacin MELSEC A y Q

2 63

Instrucciones para las CPUs del MELSEC System Q


2.7.3 Transferencia de datos desde y hacia los archivos

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Escritura de datos en un archivo Lectura de datos de un archivo

SP.FWRITE

u0, s0, d0, s1, s2, d1

Escribe datos en un archivo indicado

11

9.3.1

SP.FREAD

u0, s0, d0, s1, d1, d2

Lee datos de un archivo indicado

11

9.3.2

2.7.4

Instrucciones de programa

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Carga de un programa de la memoria

PLOADP

s, d

Carga un archivo de programa de la memoria (no es la unidad de disco 0) a la unidad de disco 0 y conmuta el programa al modo de standby. Se elimina el archivo de programa que se encuentra en la unidad de disco 0 en el modo de standby Se elimina el archivo de programa s1 que se encuentra en la unidad de disco 0 en el modo de standby. A continuacin se transfiere el archivo de programa s2 de la memoria (no es la unidad de disco 0) hacia la unidad de disco 0 y se conmuta al modo de standby.

9.4.1

Eliminar el programa que est en el modo standby

PUNLOADP

s, d

9.4.2

Eliminar el programa que est en el modo standby y cargar el programa de la memoria

PSWAPP

s1, s2, d

9.4.3

Estas funciones estn disponibles exclusivamente en el GX Developer, ya que el GX IEC Developer no soporta el concepto de archivos.

2 64

Programacin MELSEC A y Q

Instrucciones

Instrucciones para las CPUs del MELSEC System Q


Instrucciones de transferencia

2.7.5

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Transferencia de bloques de datos con velocidad alta

RBMOV s, d, n RBMOVP

(s)

(d) n

9.5.1

2.7.6 mltiples

Instrucciones para el intercambio de datos en la operacin de CPUs

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Los datos se ingresan en el rea comn de la memoria

S.TO s1, s2, s3, s4, d S.TOP

Los datos se ingresan en el rea comn de memoria de la CPU en el cual se ejecuta la instruccin S.TO.

5 9.6.1 5

Lectura de datos del rea comn de memoria de otra CPU.

FROM n1, n2, n3, d FROMP

Del rea comn de memoria de otra CPU se transfieren los datos hacia la CPU en la cual se ejecuta la instruccin FROM. El rea comn de memoria se actualiza para la operacin de CPU mltiple.

5 9.6.2 5

Actualizacin del rea comn de memoria

COM

6.7.3

Programacin MELSEC A y Q

2 65

Instrucciones especiales para una Q4ARCPU

Instrucciones

2.8
2.8.1

Instrucciones especiales para una Q4ARCPU


Instrucciones para el ajuste del modo de operacin

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Ajuste de comportamien to de arranque de CPU

SGMODE

s1, s2

Seleccin entre nuevo arranque y rearranque (arranque en caliente) Ajuste del comportamiento en conmutacin de la CPU activa hacia la CPU de reserva

10.1.1

Comportamie nto en conmutacin

CGMODE

10.1.2

2.8.2

Instrucciones de transferencia

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Transferencia de datos hacia la CPU de standby

TRUCK

Transferencia de datos de operandos de la CPU activa hacia la CPU de reserva Lectura de datos por bloques desde la memoria de bfer de los mdulos especiales o bien integracin en memoria

10.2.1

Intercambio de datos con mdulos especiales

SPREF

10.2.2

2 66

Programacin MELSEC A y Q

Instrucciones

Instrucciones para los mdulos especiales

2.9
2.9.1

Instrucciones para los mdulos especiales


Instrucciones para mdulos de interfaz en serie

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Transferencia de datos del mdulo de interfaz hacia la CPU del PLC

BUFRCVS

Un, n1, d1

Los datos recibidos se transmiten en un programa de interrupcin desde el mdulo de interfaz hacia la CPU del PLC.

11.1.1

GETE Lectura de trama de datos definida por usuario GETEP Un, s1, s2, d Lectura de trama de datos definida por usuario desde mdulo de interfaz 11.1.2

Escritura o eliminacin de trama de datos definida por usuario

PUTE Un, s1, s2, d PUTEP

Integracin de trama de datos definida por usuario en un mdulo de interfaz o eliminacin de un mdulo de interfaz

11.1.3

PRR Transmisin de datos PRRP Un, s, d

Transmisin de datos mediante mdulo de interfaz con trama de datos definida por usuario

11.1.4

Programacin MELSEC A y Q

2 67

Instrucciones para los mdulos especiales


2.9.2 Instrucciones para mdulos PROFIBUS/DP

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

BBLKRD Lectura de datos BBLKRDP Un, n1, n2, d

Los datos se leen desde la memoria de bfer de un mdulo PROFIBUS/ DP y se almacenan en una CPU.

11.2.1

BBLKWR Escritura de datos BBLKWR Un, n1, n2, s

Los datos de la CPU se integran en la memoria de bfer de un mdulo PROFIBUS/DP.

11.2.2

2 68

Programacin MELSEC A y Q

Instrucciones

Instrucciones para los mdulos especiales


Instrucciones para mdulos ETHERNET

2.9.3

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

BUFRCV Lectura de datos de bfer fijos BUFRCVS

Un, s1, s2, d1, d2 Los datos recibidos en la comunicacin con el bfer fijo, se leen desde el mdulo ETHERNET.

11.3.1

Un, s1, d1

11.3.2

Escritura de datos en bfer fijo Apertura de enlace

BUFSND

Un, s1, s2, s3, d1

Transferencia de datos desde la CPU hacia el mdulo ETHERNET Establecimiento de un enlace

11.3.3

OPEN

Un, s1, s2, d1

11.3.4

Cierre de enlace

CLOSE

Un, s1, s2, d1

Terminacin de un enlace Eliminacin de cdigos de error en bfer de memoria, desactivacin de LED ERR. del mdulo ETHERNET Lectura de cdigos de error desde memoria de bfer El mdulo ETHERNET indicado con Un se inicializa nuevamente.

11.3.5

Eliminacin de error

ERRCLR

Un, s1, d1

11.3.6

Lectura de cdigo de error Nueva inicializacin del mdulo ETHERNET

ERRRD

Un, s1, d1

11.3.7

UINI

Un, s1, d1

11.3.8

2.9.4

Instruccin para MELSECNET/10

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Enlace de estaciones por pares

PAIRSET

Jn, s1

Definicin de las estaciones enlazadas en la operacin dplex

11.4.1

Programacin MELSEC A y Q

2 69

Instrucciones para los mdulos especiales


2.9.5 Instrucciones para enlace CC

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Transferencia de parmetros de red (Serie A)

RLPA n, d1, d2 RLPA_P 23 11.5.1

Transferencia de parmetros de red hacia la estacin maestra del enlace CC

Transferencia de parmetros de red (System Q)

RLPASET Un, s1 hasta s5, d1 RLPASET_P 11.5.2

Transferencia de parmetros para actualizacin automtica (Serie A)

RRPA n, d RRPA_P

Transferencia de parmetros para actualizacin automtica de operandos

20

11.5.3

Lectura de datos desde memoria de bfer o de otra CPU del PLC (Serie A)

RIRD n1, n2, d1, d2 RIRD_P Lectura de datos de la memoria de bfer de un mdulo de enlace CC de otra estacin o desde la CPU del PLC de esta estacin Un, s, d1, d2 RIRD_P 8 11.5.5 26 11.5.4

Lectura de datos desde memoria de bfer o de otra CPU del PLC (Serie QnA y System Q)

RIRD

Integracin de datos en memoria de bfer o en otra CPU del PLC (serie A)

RIWT n1, n2, d1, d2 RIWT_P

Escritura de datos en la memoria de bfer de un mdulo de enlace CC en otra estacin o en la CPU del PLC de esta estacin

26

11.5.6

2 70

Programacin MELSEC A y Q

Instrucciones

Instrucciones para los mdulos especiales

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Integracin de datos en memoria de bfer o en otra CPU del PLC (Serie QnA, System Q)

RIWT Un, s, d1, d2 RIWT_P

Escritura de datos en la memoria de bfer de un mdulo de enlace CC en otra estacin o en la CPU del PLC de esta estacin

11.5.7

Lectura de datos de estacin inteligente (Serie A)

RICV n1, n2, d1, d2, d3 RICV_P De la memoria de bfer de una estacin de enlace CC inteligente se leen los datos bajo aplicacin de un intercambio (handshake). Un, s1, s2, d1, d2 RICV_P 10 11.5.9 29 11.5.8

Lectura de datos de estacin inteligente (Serie QnA, System Q)

RICV

Escritura de datos en estacin inteligente (Serie A)

RISEND n1, n2, d1, d2, d3 RISEND_P En la memoria de bfer de una estacin de enlace CC inteligente se escriben los datos bajo aplicacin de un intercambio (handshake). Un, s1, s2, d1, d2 RISEND_P 10 11.5.11 29 11.5.10

Escritura de datos en estacin inteligente (Serie QnA, System Q)

RISEND

Escritura de datos en la memoria con actualizacin automtica (serie A)

RITO n1, n2, n3, n4, d1 RITO_P Los datos de la CPU del PLC se integran en el rea de actualizacin automtica de la memoria de bfer de la estacin maestra de enlace CC. A continuacin se transfieren estos datos hacia la estacin indicada. 29 11.5.12

Escritura de datos en estacin con actualizacin automtica (serie QnA, System Q)

RITO Un, n1, n2, n3, d RITO_P

11.5.13

Programacin MELSEC A y Q

2 71

Instrucciones para los mdulos especiales

Instrucciones

Grupo

Instruccin

Variables

Significado

Ejecucin Q

Pasos

Referencia A

Lectura de la memoria con actualizacin automtica (serie A)

RIFR n1, n2, n3, n4, d1 RIFR_P Lectura de datos que se integraron desde otra estacin hacia el rea de actualizacin automtica de la memoria de bfer de la estacin maestra de enlace CC. Un, n1, n2, n3, d RIFR_P 9 11.5.15 29 11.5.14

Lectura de la memoria con actualizacin automtica (Serie QnA, System Q)

RIFR

2 72

Programacin MELSEC A y Q

Configuracin de las instrucciones

Estructura de una instruccin

3
3.1

Configuracin de las instrucciones


Estructura de una instruccin
La mayora de las instrucciones consiste de un campo de comandos y un campo de operandos. Algunas instrucciones que no requieren operandos, consisten slo del campo de comandos.

PLUS

sd

Campo de comandos

Campo de operandos

Campo de comandos El campo de comandos describe la funcionalidad de la instruccin.


^ Sumar PLUS =

Campo de operandos El campo de operandos describe las constantes y variables a utilizar. El campo de operandos puede componerse de tres partes: la fuente de datos (s), el destino de datos (d) y la cantidad (n).

3.1.1

Fuente de datos (s)


La fuente de datos designa los operandos que se procesarn mediante la instruccin. En las instrucciones de 16 bits se designa la fuente de datos como s. En las instrucciones de 32 bits se la designa como s+1 y s. En una fuente de datos pueden indicarse constantes o variables. Constantes Designan un valor numrico constante que es procesado mediante la instruccin. Este valor se establece al escribir el programa. No puede modificarse durante la ejecucin del programa. Es aconsejable indexar cada variable que debe utilizarse como constante. Variables Designan un operando, en el cual se almacenan los datos que sern procesados mediante la instruccin (vase tambin el captulo 3.4). Antes que se ejecute la instruccin, los datos deben estar almacenados en el operando. Es posible modificar los datos almacenados durante la ejecucin del programa.

Programacin MELSEC A y Q

31

Estructura de una instruccin


3.1.2 Destino de datos (d)

Configuracin de las instrucciones

El destino de datos designa el operando en el cual se almacenarn los datos despus del procesamiento. En las instrucciones de 16 bits se designa el destino de datos con d. En las instrucciones de 32 bits se lo designa con d+1 y d. No obstante, algunas instrucciones con 2 operandos, requieren que el valor a procesar sea almacenado en un destino de datos d antes de ejecutar la instruccin. El resultado del procesamiento, a su vez, es almacenado en el mismo operando d. Ejemplo: La instruccin de suma para datos BIN de 16 bits

s+d=d s1 + s2 = d1

Para el almacenamiento de los datos debe establecerse siempre un operando como destino de datos.

3.1.3

Cantidad (n)
Con n se indica cuntos operandos deben utilizarse o cuntas veces debe ejecutarse una instruccin.

Ejemplo: La instruccin de transferencia por bloques

Indica la cantidad de transferencias de la instruccin BMOV.

El valor de n puede encontrarse en el rango entre 0 y 32767. Si la cantidad est establecida en 0, la instruccin no se ejecuta.

32

Programacin MELSEC A y Q

Configuracin de las instrucciones

Escritura de las instrucciones

3.2

Escritura de las instrucciones


De la escritura pueden deducirse algunas particularidades de la instruccin.

3.2.1

16/ 32 bits con pulso


SORT SORT DSORT DSORTP Procesamiento de 16 bits Procesamiento de 16 bits con pulso Procesamiento de 32 bits Procesamiento de 32 bits con pulso

3.2.2

MELSEC y IEC
En GX IEC Developer estn disponibles distintos editores para las instrucciones:

En cada uno de estos editores, las instrucciones aparecen en una escritura diferente.

Al seleccionar una instruccin aparecer este cuadro de dilogo en el GX IEC Developer. En la ventana de seleccin "Bibliotecas" podr determinar cules instrucciones se indicarn en el campo "Operadores" para la seleccin: TODOS: Instrucciones MELSEC e IEC Proyecto: Funciones de creacin propia y componentes de funcin Fabricante: Instrucciones MELSEC Estndar: Instrucciones IEC

Programacin MELSEC A y Q

33

Escritura de las instrucciones

Configuracin de las instrucciones

Al seleccionar una instruccin aparecer en el GX IEC Developer este cuadro de dilogo, cuando se encuentra en la biblioteca del fabricante (Manufacturer_Lib). La lista contiene las instrucciones denominadas como MELSEC "Adaptadas".

La funcionalidad de las instrucciones "Reales" y "Adaptadas" es idntica. Slo difieren en su escritura.

Significado de los sufijos en el editor IEC:

Sufijo en el editor IEC _M _P_M _MD _P_MD _K_MD _K_P_MD _S_MD _P_S_MD

Significado Instruccin MELSEC Modo en pulsos de una instruccin Instruccin de aplicacin MELSEC extendida (instruccin dedicada) (vase tambin el captulo 3.3) Modo en pulsos de una instruccin de aplicacin extendida Utilizacin de una constante en una instruccin de aplicacin extendida Modo en pulsos y utilizacin de una constante en una instruccin de aplicacin extendida Instruccin de aplicacin MELSEC extendida para las CPUs del System Q Modo en pulsos de una instruccin de aplicacin extendida para las CPUs del System Q

34

Programacin MELSEC A y Q

Configuracin de las instrucciones

Escritura de las instrucciones

3.2.3

Otras particularidades de la escritura


En la siguiente tabla estn indicados los smbolos, con los cuales se designan algunas de las instrucciones en el editor MELSEC. En la columna derecha se indican los nombres correspondientes en el editor IEC. En la columna derecha se indican los nombres correspondientes en el editor IEC.

Ejemplo: Editor MELSEC LD$>


Editor MELSEC $ = <> <= < >= > + x /

Editor IEC LD_STRING_GT_M

Editor IEC STRING EQ NE LE LT GE GT PLUS MINUS MULTI DIVID

3.2.4

Definicin de la escritura en este manual


En los captulos 5 a 8, donde se describen las instrucciones detalladamente, se utilizan ambos editores, o sea, ambas formas de escritura. En el encabezado aparecer cada vez la instruccin MELSEC "Real", tal como aparece en la lista de instrucciones MELSEC.

INDICACIN

El resumen ubicado en forma de tabla al comienzo de cada grupo de instrucciones muestra siempre ambas formas de escritura.

Programacin MELSEC A y Q

35

Programacin de las instrucciones extendidas

Configuracin de las instrucciones

3.3

Programacin de las instrucciones extendidas


Las instrucciones de programacin extendidas (instrucciones dedicadas) son instrucciones adaptadas que no se diferencian slo en su escritura de las instrucciones MELSEC reales, sino que requieren tambin de un tipo de programacin especial para las diferentes CPUs. Para mantener, por ejemplo, la funcin de una instruccin FLOAT_MD en el editor MELSEC de una CPU de la serie A, se requiere un procedimiento particular. En el editor MELSEC debe programarse la instruccin FLOAT_MD conjuntamente con las instrucciones LEDA, LEDC, LEDR. En los editores IEC pueden programarse las instrucciones de programacin extendidas siguiendo el modo conocido. Ejemplo: Programacin de una instruccin FLOAT_MD (modo normal de 16 bits)

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Ejemplo: Programacin de una instruccin FLOAT_P_MD (modo en pulsos de 16 bits, utilizacin de una constante en el operando s)

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Mayores informaciones acerca de la programacin de las instrucciones de aplicacin extendidas se encuentran en los siguientes manuales: GX IEC Developer, Manual de Usuario Manual de Programacin (Instrucciones dedidadas)

36

Programacin MELSEC A y Q

Configuracin de las instrucciones

Programacin de variables

3.4

Programacin de variables
La mayora de las instrucciones requiere junto al campo de comandos tambin de un campo de operandos en el cual se ingresan las variables. En estas variables se encuentran los valores para el procesamiento de una instruccin. Segn el editor seleccionado en el GX IEC Developer, se requiere una programacin diferente de las variables. En el editor MELSEC: Los registros de datos D100 y D10 pueden transferirse directamente con la denominacin de variables D100 y D10. El PLC conectado reconoce automticamente que se trata de los siguientes operandos. D100 = D100 y D101 D10 = D10, D11, D12, D13 En el editor IEC: En el editor IEC pueden transferirse los operandos directamente cuando se trata efectivamente slo de estos operandos. Ejemplo: AND D10

Para poder aplicar la instruccin DWSUMP_M, debe asumirse previamente una declaracin de variable en el encabezado de una unidad de organizacin de programa (UOP).

Ejemplo: Encabezado del IEC-AWL

var_D100 y var_D10 indican aqu los denominadores (nombres). No se trata directamente de los operandos D100 y D10. El PLC asigna para esto internamente las reas de registro disponibles.

Ejemplo: DWSUMP DWSUMP var_D100, s 4, n var_D10 d

32 bits

16 bits de secuencia o bien constante

La variable var_D100 corresponde al tipo DINT (32 bits). La variable var_D10 corresponde al tipo ARRAY. La secuencia de bits contiene cuatro registros de 16 bits del tipo INT (vase tambin el captulo. 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer).

Programacin MELSEC A y Q

37

Programacin de variables
Definicin de la escritura

Configuracin de las instrucciones

En las pantallas emergentes, las denominaciones var_D100 o bien var_D10 indican inmediatamente que no se trata de operandos directos, sino de denominadores. En estos casos se requiere siempre de una declaracin de variables! En caso que la programacin de la instruccin pueda efectuarse exclusivamente con una declaracin de variable, se muestra siempre una indicacin respectiva.

INDICACIN

Como denominador puede indicarse un nombre cualquiera (por ejemplo, motor 1, lmpara). Los nombres var_D100 o bien var_D10 han sido seleccionados para posibilitar una comparacin directa de la programacin en el editor MELSEC.

Una vista sinptica de los tipos de datos de los operandos de las diferentes instrucciones se muestra en la tabla de variables ubicada al inicio de cada instruccin (el ejemplo muestra la tabla de variables de la instruccin DWSUM en 7.5.14).
Tipo de datos Operando s Valor de comando MELSEC Primera direccin del operando en el cual estn almacenados BIN-32-Bit los datos a sumar. Primera direccin del operando en el cual se almacena el resultado. Cantidad de los bloques de datos a sumar. BIN-64-Bit BIN-16-Bit IEC ANY32 Secuencia de bits [1..4] de ANY16 ANY16

d n

En el GX Developer: Los registros de datos D100 y D10 pueden transferirse directamente con la denominacin de variables D100 y D10. El PLC conectado reconoce automticamente que se trata de los siguientes operandos. D100 = D100 y D101 D10 = D10, D11, D12, D13

38

Programacin MELSEC A y Q

Configuracin de las instrucciones

Tipos de datos

3.5

Tipos de datos
Mediante el tipo de datos se determina la cantidad y el procesamiento de los bits, as como los rangos de valores de las variables. Existen los siguientes tipos de datos:
Tipo de datos BOOL INT Booleana Nmero entero (INTEGER) Nmero entero doble Secuencia de 16 bits Secuencia de 32 bits Nmero de coma flotante Valor de tiempo Secuencia de caracteres Rango de valores 0 (FALSE), 1 (TRUE) -32.768 a 32.767 -2.147.483.648 a 2.147.483.647 0 a 65.535 0 a 4.294.967.295 3.4 +/- 38 (7 posiciones) T#-24d-0h31m23s648.00ms a T#24d20h31m23s647.00ms mx. 50 caracteres Tama o 1 bit 16 bits CPU

DINT WORD DWORD REAL

32 bits 16 bits 32 bits 32 bits

Serie A Serie Q System Q

TIME

32 bits Serie Q System Q

STRING

Jerarqua de los tipos de datos ANY

ANY

ANY_SIMPLE

ARRAY

ANY_NUM

ANY_BIT
BOOL WORD DWORD

TIME

STRING

ANY_REAL
REAL

ANY_INT
INT DINT

Programacin MELSEC A y Q

39

Tipos de datos
Jerarqua de los tipos de datos ANY16 y ANY32

Configuracin de las instrucciones

ANY_16

ANY_32

WORD

INT

DWORD

DINT

Tipo de datos ANY ANY_SIMPLE ANY_NUM ANY_REAL ANY_INT ANY_BIT

Significado Cada tipo de datos Tipo de datos simples Tipo de datos numricos Nmero de coma flotante Tipo de datos enteros Tipo de datos con procesamiento de bits Cada tipo de datos de 16 bits Cada tipo de datos de 32 bits Tiempo Secuencia de caracteres Nmero de coma flotante Valor entero Valor entero doble Valor booleano Palabra (16 bits) Palabra doble (32 bits) Campo

ANY_16

ANY_32 TIME STRING REAL INT DINT BOOL WORD DWORD ARRAY

3 10

Programacin MELSEC A y Q

Configuracin de las instrucciones

Tipos de datos

3.5.1

Procesamiento de datos
Procesamiento de datos de bits

Un operando de bit (X, Y, M, K, S, B o F) puede conmutar a dos estados diferentes (CON=1 o bien DESC=0). Por lo tanto, su estado puede expresarse con un bit (1 0). El procesamiento de bit se efecta siempre y cuando se refiera a un operando de bit determinado dentro del programa. En el procesamiento de las instrucciones de 16 32 bits se recopilan varios operandos de bits en bloques de 16 32 direcciones de operandos. Utilizacin de operandos de bits Un operando de bit (por ejemplo, entradas, salidas, rels internos) consiste de un bit.

Plano de contactos

Procesamiento

M0 es un operando de bit

Y10 es un operando de bit

Utilizacin de operandos de palabra En las CPUs de la serie QnA de MELSEC y del System Q es posible direccionar cada bit particular a un operando de palabra .

Las direcciones de bit deben indicarse en el formato hexadecimal. En caso de tener que direccionar, por ejemplo, el bit 5 (b5) de D0, la direccin se llama D0.5. EL bit 10 se direcciona mediante D0.A. No es posible direccionar bits individuales de temporizadores, contadores y temporizadores remanentes.

Plano de contactos

Procesamiento

Direccionamiento de bits dentro de un operando de palabra (bit 5 (b5) se aplica por D0).

Programacin MELSEC A y Q

3 11

Tipos de datos
Utilizacin de bloques de bits

Configuracin de las instrucciones

Los bits individuales pueden recopilares en bloques de 4 bits y procesar as datos de palabra. Una explicacin ms detallada se encuentra en las siguientes pginas en el prrafo Procesamiento de datos de palabra (16/ 32 bits).

Procesamiento de datos de palabra (16 bits) Utilizacin de operandos de bits Los operandos de bit posibilitan el procesamiento de datos de palabra. Para esto debe definirse la cantidad de operandos de bit (direcciones). Es posible procesar hasta 16 bits en bloques con 4 bits respectivamente. El largo de un bloque se define con K1 a K4. K1X0 K2X0 K3X0 K4X0 4 direcciones de X0 a X3 8 direcciones de X0 a X7 12 direcciones de X0 a XB 16 direcciones de X0 a XF

XF bis XC XB bis X8 X7 bis X4 X3 bis X0 K1 K2 K3 K4 16 Bit 12 Bit 8 Bit 4 Bit

Indicacin de los bloques de bits para s Para una definicin del largo de bloque para los datos de fuente s, en la siguiente tabla se indica el rango de los valores procesados como datos de fuente.

Largo de bloque K1 (4 posiciones) K2 (8 posiciones) K3 (12 posiciones) K4 (16 posiciones)

Instruccin de 16 bits 0 a 15 0 a 255 0 a 4095 -32768 a 32767

Las direcciones de bit no requeridas se ajustan a cero.

Plano de contactos Instruccin de 16 bits

Procesamiento
K1X0 X3 X2 X1 X0

b15

b4 b3 b2 b1 b0

D0 0 0 0 0 0 0 0 0 0 0 0 0 X3 X2 X1 X0

Datos de fuente

INDICACIN

En un direccionamiento por bloques de los operandos de bit, puede indicarse un valor cualquiera para el primer operando de bit (direccin inicial).

3 12

Programacin MELSEC A y Q

Configuracin de las instrucciones

Tipos de datos

Indicacin de los bloques de bits para d La definicin del largo de bloque para los datos de destino d determina el rango de direcciones dentro del cual pueden ajustarse los datos. No se consideran las direcciones de bit que superan las direcciones indicadas.

Plano de contactos Valores nmericos como datos de fuente


1

Procesamiento

H1234 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0

Destino de datos (d)


K2M0

M15

M8 M7

M0

0 0 1 1 0 1 0 0
no se modifica

Operando de palabra como datos de fuente

b15

b8 b7

b0

D0

1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 1

Destino de datos (d)


K2M100

M115

M108M107

M100

1 0 0 1 1 1 0 1
no se modifica

Utilizacin de operandos de palabra Los operandos de palabra se determina con una direccin. Esta direccin contiene 16 bits.

Programacin MELSEC A y Q

3 13

Tipos de datos
Procesamiento de datos de palabra doble (32 bits) Utilizacin de operandos de bits

Configuracin de las instrucciones

Los operandos de bit posibilitan el procesamiento de datos de palabra. Para esto debe definirse la cantidad de operandos de bit (direcciones). Es posible procesar hasta 32 bits en bloques con 4 bits respectivamente. El largo de un bloque se define con K1 a K8. K1X0 K2X0 K3X0 K4X0 K5X0 K6X0 K7X0 K8X0 4 direcciones de X0 a X3 8 direcciones de X0 a X7 12 direcciones de X0 a XB 16 direcciones de X0 a XF 20 direcciones de X0 a X13 24 direcciones de X0 a X17 28 direcciones de X0 a X1B 32 direcciones de X0 a X1F

X1F X1C X1B X18 X17 X14 X13 X10 XF

XC XB

X8 X7

X4 X3

X0

K1 4 direcciones K2 8 direcciones K3 12 direcciones K4 16 direcciones K5 20 direcciones K6 24 direcciones K7 28 direcciones K8 32 direcciones

Indicacin de los bloques de bits para s Para una definicin del largo de bloque para los datos de fuente s, en la siguiente tabla se indica el rango de los valores procesados como datos de fuente.

Largo de bloque K1 (4 posiciones) K2 (8 posiciones) K3 (12 posiciones) K4 (16 posiciones) K5 (20 posiciones) K6 (24 posiciones)

Instruccin de 32 bits 0 a 15 0 a 255 0 a 4095

0 a 65535

0 a 1048575

0 a 16777215

3 14

Programacin MELSEC A y Q

Configuracin de las instrucciones

Tipos de datos

Las direcciones de bit no requeridas se ajustan en cero.

Plano de contactos Instruccin de 32 bits

Procesamiento

Datos de
fuente (s)

INDICACIN

En un direccionamiento por bloques de los operandos de bit, puede indicarse un valor cualquiera para el primer operando de bit (direccin inicial).
Indicacin de los bloques de bits para d La definicin del largo de bloque para los datos de destino (d) determina el rango de direcciones dentro del cual pueden ajustarse los datos. No se consideran las direcciones de bit que superan las direcciones indicadas.

Plano de contactos Valores nmericos como datos de fuente


H76123456 0 0 1 3 0 1 1

Procesamiento

1 0 1 4 1 1 0 8

0 0

0 1 5

0 1 0

1 1 0 6

0 0 0 0 1
M8 M7

0 1 0

0 1 0 2
M0

Destino de datos (d)

K5M0
M15

0 0
M31

1 1 0 0 0 0

1 0 0 0 0 0

1 0

1 0
M20 M19

1 1 0
M16

0 0 0 0

0 0 0

1 0

no se modifica

Operando de palabra como datos de fuente


b15 b8 b7 b0

D0 0 0 1
b15

1 0 1

0 0 0 1
b8 b7

0 1 0

1 1 0
b0

D1 0 1 1

1 1 0

0 0 0 0

0 1 0

0 1 0

Destino de datos (d)

M25

M18 M17

M10

1 1
M41

1 0 0

1 0 0 0 0

1 0 1 1
M30 M29

1 0 1
M26

0 0 0 0

0 0 0 0 0 0 1

1 1

Programacin MELSEC A y Q

3 15

Tipos de datos
Utilizacin de operandos de palabra

Configuracin de las instrucciones

Los operandos de palabra doble contienen dos operandos de 16 bits. Segn el software de programacin y el editor seleccionado, pueden presentarse diferencias en la programacin de los operandos de palabra doble. En el editor MELSEC del GX IEC Developer

Plano de contactos

Explicacin

Se utilizan D0 y D1 Instruccin para transferencia de datos de 3

En el editor IEC del GX IEC Developer Para poder utilizar un operando de 32 bits en el editor IEC del GX IEC Developer, debe realizarse una declaracin de variables en el encabezado de la unidad de organizacin de programa (UOP). Los tipos de datos DWORD y DINT son tipos de 32 bits.

Plano de contactos

Explicacin

var_D0 debe declararse como DINT o DWORD Instruccin para transferencia de datos de 32 bits

En el editor GX IEC Developer

Plano de contactos

Explicacin

Se utilizan D0 y D1 Instruccin para transferencia de datos de 32 bits

3 16

Programacin MELSEC A y Q

Configuracin de las instrucciones

Tipos de datos

Procesamiento de datos del tipo REAL Los datos del tipo REAL son nmeros de coma flotante de 32 bits. Solamente los operandos de palabra posibilitan el almacenamiento de los nmeros de coma flotante. Los operandos que procesan los nmeros de coma flotante en las instrucciones, se direccionan con los 16 bits inferiores. El nmero de coma flotante de 32 bits que debe almacenarse, se deposita en dos registros sucesivos de 16 bits. En caso de procesar el tipo de datos REAL con una CPU AnA/AnU, debe utilizarse las instrucciones extendidas correspondientes (vase el captulo 3.3 Programacin de las instrucciones extendidas).

Plano de contactos

Explicacin
Instruccin de transferencia de nmeros de coma flotante Para el procesamiento de nmeros de coma flotante se requieren dos registros de 16 bits (por ejemplo, D0 y D1). Para el procesamiento de nmeros de coma flotante se requieren dos registros de 16 bits (por ejemplo, R100 y R101).

INDICACIONES

En el GX IEC Developer se denomina el nmero de coma flotante con E . Las instrucciones para el procesamiento de los nmeros de coma flotante empiezan con una E.
Se requieren dos operandos de palabra para almacenar un nmero de coma flotante. Para esto se descompone en el siguiente modo: Signo; 2[Exponente] ; [Mantisa]

En la siguiente ilustracin se explica la configuracin de bits de los registros y su significado.

B31 B30

B23 B22

B0

B22 - B0 (23 bit) = Mantisa B30 - B23 (8 bit) = Exponente

Signo del nmero de coma flotante: El signo se almacena en el b 31. 0 = Positivo 1 = Negativo Exponente: La n de 2n se almacena del b23 al b30 en forma binaria. El significado del valor binario de n se indica en la siguiente ilustracin.

Programacin MELSEC A y Q

3 17

Tipos de datos

Configuracin de las instrucciones

b23 bis b30 n

FFH Frei

FEH 127

FD H 126

81H 2

80H 1

7FH 0

7EH -1

02H

01H

00H Frei

-125 -126

Ejemplo: Cuando en el b23 al b30 se indica el valor de 81H con cdigo binario, n=2. Mantisa: Con los 23 bits de b0 a b22 pueden visualizarse 7 posiciones en forma binaria (XXXXXX 1,XXXXXX).

Ya que las funciones REAL IEC utilizan el tipo de datos REAL como entrada/salida y los comandos MELSEC utilizan el tipo de datos DINT, existen las siguientes funciones para compensar esta diferencia.

La conversin del tipo de datos REAL del IEC al tipo de datos del MELSEC se realiza por la instruccin REAL_TO_M_REAL (REAL_TO_M_REAL_E). La conversin del tipo de datos REAL del MELSEC al tipo de datos del IEC se realiza por la instruccin M_REAL_TO_REAL (M_REAL_TO_REAL_E). Ejemplo: En la utilizacin de instrucciones extendidas que procesan el tipo de datos REAL, y los comandos IEC, se requiere una conversin de REAL a REAL.

32 bits MITSUBISHI-REAL (DINT) MLIB

32 bits IEC-REAL (REAL) SLIB

En el GX IEC Developer, la instruccin BMOV_E se utiliza para la desactivacin del control de variables. No genera un cdigo PLC adicional. Para s puede indicarse un tipo de datos cualquiera, tambin es posible la aplicacin de secuencias de bits. Con n se define la cantidad de informaciones de 16 bits que deben copiarse.

3 18

Programacin MELSEC A y Q

Configuracin de las instrucciones

Tipos de datos

3.5.2

Direccionamiento de secuencia de bits y registro en el GX IEC Developer


Direccionamiento de registros de 32 bits Para el direccionamiento de registros de 32 bits (tipo de datos DINT, DWORD) se requiere una declaracin de variables en el encabezado de la unidad de organizacin de programa (UOP). En el siguiente ejemplo, la instruccin DMOV requiere dos registros de 16 bits para desplazar una palabra de datos de 32 bits. En el direccionamiento en el GX Developer y en el editor de MELSEC del GX IEC Developers se indican exclusivamente los registros iniciales (en el ejemplo D10, D20) angegeben. El segundo registro de 16 bits respectivamente requerido (D11, D21) se direcciona automticamente por el compilador. En el editor de IEC del GX IEC Developer debe definirse una variable (en el ejemplo var_D10, var_D20) con un determinado tipo de datos (en el ejemplo DINT(32 bits)) segn el encabezado de la instruccin en el encabezado de la unidad de organizacin de programa, en vez de indicar un registro inicial. Para estas variables se asignan internamente direcciones correspondientes por el compilador.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Encabezado de la instruccin DMOV

Encabezado de la unidad de organizacin de programa (UOP)

Programacin MELSEC A y Q

3 19

Tipos de datos
Direccionamiento de secuencias de bits

Configuracin de las instrucciones

En la programacin de instrucciones que utilizan una secuencia de bits como operandos de entrada o salida (registros de 16 bits), deben indicarse las variables en el encabezado de la unidad de organizacin de programa segn el encabezado de la instruccin. El direccionamiento de los elementos individuales de la secuencia de bits se realiza mediante la indicacin de la secuencia de bits, mostrando el elemento de la secuencia en corchetes cuadrados (var_xx[x]). En la siguiente ilustracin, se indica el direccionamiento mediante secuencia de bits a la instruccin de posicionamiento para mesas rotativas (ROTC).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Encabezado de la instruccin ROTC

Encabezado de la unidad de organizacin de programa (UOP)

ROTC_MB1, ROTC_KB1, ROTC_IB1, ROTCHEAD, ROTPHEAD

En el encabezado de la instruccin ROTC se indica que el rango de operandos de entrada s se compone de 3 elementos de la secuencia de bits del tipo ANY16 y que el rango de operandos de salida se compone de 8 elementos de la secuencia de bits del tipo BOOL. En el GX Developer, en el editor MELSEC del GX IEC Developer y en el MELSEC MEDOC se indican respectivamente solo los operandos de inicio D200 y M0 para los rangos de operandos de entrada/salida s. El compilador direcciona para s los registros D200 a D202, y para d los rels internos M0 a M7. En los editores IEC deben definirse las secuencias de bits para s y d. La secuencia de bits de entrada s se define como var_D200. Se compone de 3 elementos de la secuencia de bits (var_D200[0] var_D200[2]) del tipo INT (entero de 16 bits). La secuencia de bits de salida d se define como var_M0. Se compone de 8 elementos de la secuencia de bits (var_M0[0] var_M0[7]) del tipo BOOL (Bit). Para estas variables se asignan internamente direcciones correspondientes por el compilador.

3 20

Programacin MELSEC A y Q

Configuracin de las instrucciones

Tipos de datos

INDICACIN

Las secuencias de bits pueden direccionarse tambin en forma variable. En vez de indicar el elemento de la secuencia de bits en corchetes cuadrados, por ejemplo, [Nmero], se indica, por ejemplo (Entrada [Nmero]). El Nmero debe declararse en el encabezado de la unidad de organizacin de programa. Al registro Nmero puede luego transferirse un valor que corresponde con el elemento de la secuencia de bits correspondiente.

Instrucciones para la conversin de secuencia de bits/direccin de inicio El juego de comandos para la conversin de una secuencia de bits de salida a una direccin inicial de un rango de operandos, consiste de tres instrucciones. La instruccin GET_INT_ADDR convierte una secuencia de bits de salida con elementos de salida del tipo INT (entero de 16 bits) en una direccin inicial de un rango de operandos. La instruccin GET_WORD_ADDR convierte una secuencia de bits de salida con elementos de salida del tipo WORD (entero de 16 bits) en una direccin inicial de un rango de operandos. La instruccin GET_BOOL_ADDR convierte una secuencia de bits de salida con elementos de salida del tipo BOOL (entero de 16 bits) en una direccin inicial de un rango de operandos.

Plano de contactos

Lista de instrucciones IEC

GETKE, GETIE, GETKB

Despus de la conversin pueden procesarse los elementos de la secuencia de bits como operandos individuales. De esta forma no se aplica la declaracin de variables en el encabezado de la unidad de organizacin de programa. En el programa arriba indicado con la instruccin ROTC pueden utilizarse los rels internos M0 a M7 en vez de los elementos de la secuencia de bits var_M0[0] var_M0[7].

Programacin MELSEC A y Q

3 21

Tipos de datos

Configuracin de las instrucciones

El direccionamiento de los operandos de los elementos de la secuencia de bits convertidos resulta idntico en el GX IEC Developer y el GX Developer. Las instrucciones convierten exclusivamente las secuencias de bits de salida. Las secuencia de bits de entradas deben direccionarse y declararse en funcin de las explicaciones inicialmente indicadas.

3.5.3

Utilizacin de datos de secuencia de caracteres (STRING)


El tipo de datos STRING ($) procesa secuencias de caracteres. Como secuencias de caracteres se consideran todos los caracteres ingresados (mx. caracteres) hasta el cdigo CERO (00H). Cuando el caracter ingresado es el cdigo CERO (00H) Para el almacenamiento del cdigo CERO se requiere una palabra de datos (registro).

Cdigo CERO ingresado (00H)

Instruccin para el desplazamiento de secuencias de caracteres

D0

00H

En caso que la cantidad de caracteres en la secuencia de caracteres resulta ser par Para almacenar una secuencia de caracteres con cantidad par de caracteres, se requiere de una cantidad de palabras de datos (registros) que se calcula en base a la siguiente frmula:

(Cantidad de caracteres / 2) + 1
Cuando debe, por ejemplo, desplazarse la secuencia de caracteres ABCD hacia D0, se requieren los registros D0 a D1 para la secuencia de caracteres; para el cgido CERO que identifica el fin de la secuencia de caracteres, se requiere el registro D2.

Secuencia de caracteres ingresada con 4 caracteres

Instruccin para el D0 desplazamiento de secuencias de D1 caracteres D2

42H 44H

41H 43H 00H

3 22

Programacin MELSEC A y Q

Configuracin de las instrucciones

Tipos de datos

En caso que la cantidad de caracteres en la secuencia de caracteres resulta ser impar Para almacenar una secuencia de caracteres con cantidad impar de caracteres, se requiere de una cantidad de palabras de datos (registros) que se calcula en base a la siguiente frmula:

(Cantidad de caracteres / 2)
Cuando debe, por ejemplo, desplazarse la secuencia de caracteres ABCDE hacia D0, se requieren los registros D0 a D2 para la secuencia de caracteres. El cdigo CERO que identifica el fin de la secuencia de caracteres, se inscribe en el byte de valor superior de D2.

Secuencia de caracteres ingresada con 5 caracteres

Instruccin para el desplazamiento de secuencias de caracteres

D0 42H D1 44H D2 00H

41H 43H 45H

Programacin MELSEC A y Q

3 23

Asignacin de ndice

Configuracin de las instrucciones

3.6

Asignacin de ndice
Ya que se diferencia la asignacin de ndice en las CPUs del System Q y de la serie Q de las CPUs de la serie A, se explican con mayor detalle las particularidades de los tipos de CPU en los captulos 3.6.1 y 3.6.2. La asignacin de ndice es un direccionamiento indirecto de un operando mediante un registro de ndice. En la utilizacin de la asignacin de ndice en un programa, el operando obtiene como direccin la direccin de operando directamente ingresada ms el contenido del registro de ndice. Utilizacin de la asignacin de ndice en el programa El programa indica en la siguiente ilustracin un ejemplo de la asignacin de ndice. En la primera lnea de programa se asigna el valor 2 al registro de ndice Z0. El registro sirve para la segunda lnea de programa como ndice para el D10. En el D0 se almacena por lo tanto el valor de D11 (D10Z = D(10+1) = D11).

Plano de contactos

Explicacin

La constante 1 se almacena en el registro de ndice Z0.

Los datos del registro indexado con Z0r (D10+Z0(1)=D11) se almacenan bajo el D0.

La siguiente ilustracin contiene otro ejemplo para la asignacin de ndice para explicar detalladamente el procesamiento de operandos (Z0=20, Z1=5).

Plano de contactos

Explicacin

La constante 20 se almacena en el registro de ndice Z0.

La constante 5 se almacena en el registro de ndice Z1. La constante 100 se indexa con Z0 (100+Z0(20)=120) y con el registro W53 (W53 +Z1(5)=W58) indexado con Z1.

Asignacin de ndice

3 24

Programacin MELSEC A y Q

Configuracin de las instrucciones

Asignacin de ndice

Operandos que pueden direccionarse mediante la asignacin de ndice. La asignacin de ndice puede aplicarse en operandos, constantes y bobinas. Los registros de ndice sirven para el direccionamiento indirecto de un operando y contienen un valor nmerico entre -32768 y 32767. Operandos que no pueden direccionarse mediante la asignacin de ndice.
Operando E $ . FX, FY, FD P I Z S TV, STV CV N A0 A1 Significado Nmeros de coma flotante Secuencias de caracteres Direccionamiento de bit de operandos de palabra Operandos de funcin Punteros, utilizados como etiquetas Punteros de interrupcin, utilizados como etiquetas Registro de ndice Rel de pasos Valores nominales de temporizadores Valores nominales de contadores Niveles anidados AKKU AKKU

Datos de bit (sin AnN) Los operandos pueden direccionarse indexadamente tambin en la direccin de bloque. El largo de bloque no puede modificarse mediante el registro de ndice.

Plano de contactos

Explicacin

Entrada de las direcciones de operando mediante el registro de ndice. Cuando Z2=3, luego X(0+3) = X3. Con esta entrada se intenta indicar el largo de bloque. Esta indicacin no resulta posible.

Programacin MELSEC A y Q

3 25

Asignacin de ndice
3.6.1

Configuracin de las instrucciones

Particularidades de las CPUs de Q y las CPUs de QnA


Una Q-CPU y una CPU de la serie Qn contiene 16 registros de ndice (Z0 Z15). La siguiente tabla indica los rangos de valor de los temporizadores y contadores que pueden direccionarse mediante la asignacin de ndice.
Operando TC Significado Pueden utilizarse exclusivamente los registros Z0 y Z1 para el direccionamiento de los contactos de temporizador y bobinas. Ejemplo de aplicacin

CC

Pueden utilizarse exclusivamente los registros Z0 y Z1 para el direccionamiento de los contadores y bobinas.

INDICACIONES

En el direccionamiento indexado de los valores reales de temporizador y contador, no se aplican restricciones algunas.

Plano de contactos

Explicacin

Valor nominal del temporizador (TV) Asignacin de ndice no resulta posible

Valor real del temporizador (TN) Asignacin de ndice resulta posible

Valor nominal del contador (CV) Asignacin de ndice no resulta posible

Valor real del contador (CN) Asignacin de ndice resulta posible

3 26

Programacin MELSEC A y Q

Configuracin de las instrucciones

Asignacin de ndice

Otra diferencia a las CPUs de A consiste en la posibilidad de direccionar indexadamente las direcciones de entrada y salida, las direcciones de memoria de bfer, los nmeros de red y las direcciones de operandos de los mdulos de red.

La siguiente ilustracin muestra el direccionamiento de las direcciones de entrada y salida y de las direcciones de memoria de bfer en los mdulos especiales.
Plano de contactos Explicacin

Cuando Z1=2 y Z2=8, luego U(10+2)\G(0+8)=U12\X8.

La siguiente ilustracin muestra el direccionamiento de los nmeros de red y las direcciones de operandos de los mdulos de red.

Plano de contactos

Explicacin

Cuando Z1=2 y Z2=8, luego J(0+2)\X(0+8)=J2\X8.

INDICACIONES

Mayores informaciones acerca de los mdulos especiales y de red se encuentran en el QnA CPU-Programming Manual (Fundamentals), en el QCPU (Q mode) Users Manual (Functions/programming fundamentals) o bien en los manuales especficos de producto.

Programacin MELSEC A y Q

3 27

Asignacin de ndice
3.6.2

Configuracin de las instrucciones

Particularidades de las CPUs AnA, AnAS y AnU


En el programa, es posible agregar un ndice (Z o V) a las direcciones de operandos. Para la identificacin se agrega un signo al ndice. En los siguientes casos se presentan errores de procesamiento al procesar las instrucciones. El rango de direcciones de los operandos ha sido excedido durante la ltima asignacin de ndice. Las constantes K y H se excluyen en este caso. La direccin inicial de un rango de operandos excede el rango permitido de direcciones en la asignacin de ndice.

INDICACIONES

Para abreviar los tiempos de procesamiento, las CPUs de las series AnA, AnAS y AnU no controlan las direcciones de operandos en la asignacin de ndice. Debido a este motivo, los errores relacionados con la asignacin de ndice no se reconocen como errores de procesamiento. En caso de presentarse un error relacionado con la asignacin de ndice, pueden modificarse involuntariamente los datos de operandos. Los programas que contienen una asignacin de ndice, deben escribirse por lo tanto con mucho cuidado!

En relacin con una CPU de AnA, AnAS o AnU, resulta posible efectuar la asignacin de ndice incluso con operandos de bit que se utilizan en una instruccin LD, OUT o similar.

Almacenamiento de datos de 32 bits en registros de ndice Los datos de 32 bits pueden almacenarse en los registros de ndice extendidos (Z1 a Z6 y V1 a V6) de una CPU de AnA o AnU. Para esto deben utilizarse los siguientes registros de ndice en pares: Z1 y V1 Z2 y V2 Z3 y V3 Z4 y V4 Z5 y V5 Z6 y V6 Zn contiene los 16 bits de valor inferior, Vn contiene los 16 bits de valor superior. En una instruccin de 32 bits debe indicarse exclusivamente el operando Z. Wird der Operand V angegeben, kann das Programm nicht verarbeitet werden. Las instrucciones de 32 bits pueden almacenarse exclusivamente con los pares de registro arriba indicados. No se permite la aplicacin de otras combinaciones. Al utilizar un operando como par de registro para la asignacin de ndice en una instruccin, se procesan los datos en este registro como datos de 16 bits para la asignacin de ndice.

3 28

Programacin MELSEC A y Q

Configuracin de las instrucciones

Direccionamiento indirecto (slo GX Developer)

3.7

Direccionamiento indirecto (slo GX Developer)


En el direccionamiento indirecto se deposita una direccin de operando en un operando de palabra. En el programa no se refiere directamente el operando con el cual debe efectuarse la operacin, sino a travs del operando que contiene la direccin almacenada. El direccionamiento indirecto puede aplicarse cuando la asignacin de ndice resulta insuficiente. En el programa se identifica el operando, en el cual se almacena la direccin del operando indirectamente referido, con la seal @. Por ejemplo, mediante la indicacin de @D100 se utiliza el contenido de D100 y D101 como direccin. Con la instruccin ADRSET se almacena la direccin de operando que debe referirse indirectamente.

INDICACIN

La instruccin ADRSET no puede utilizarse en la programacin con el GX IEC Developer.


Plano de contactos Explicacin

W100 se almacena en D100 y D101 La constante 1234 se transfiere a la direccin almacenada en D100 y D101.
D0 D1

Se lee el contenido de D100 y D101

D100 D101

W100 W100 1234

En la siguiente tabla se indican los operandos que pueden direccionarse indirectamente.


Operandos Bit Operandos internos (Sistema, Operador) Palabra Bit MELSECNET/10 Palabra Direccionamiento indirecto No resulta posible Posible No resulta posible Posible (La direccin de operando no puede almacenarse con la instruccin ADRSET.) No resulta posible Posible Niveles anidados Puntero Constantes Otros No resulta posible Ejemplo para el direccionamiento indirecto

@D100 @D100Z2 (Asignacin de ndice)

@J1\W10 @J1Z1\W10Z2 (Asignacin de ndice) @U10\G0 @U10Z1\G0Z2 (Asignacin de ndice)

Mdulos especiales Registro de ndice Zn Registro de archivo

@R0, @ZR20000 @R0Z1, @ZR20000Z1 (Asignacin de


ndice)

Programacin MELSEC A y Q

3 29

Direccionamiento indirecto (slo GX Developer)


INDICACIN

Configuracin de las instrucciones

Mayores informaciones acerca de los operandos se encuentran en el QnA CPU-Programming Manual (Fundamentals) o QCPU (Q mode) Users Manual (Functions/programming fundamentals) Para al almacenamiento de la direccin de operandos para el direccionamiento indirecto se utilizan dos palabras. Por lo tanto deben sumarse o restarse los datos de 32 bits cuando una direccin almacenada aumenta o bien se reduce debido a operaciones de clculo. En el siguiente ejemplo se incrementa o reduce el operando que recoge la direccin del operando indirectamente direccionado, a travs de instrucciones de 32 bits, por lo tanto aumenta o bien se reduce tambin la direccin del operando indirectamente direccionado en el valor de 1.

INDICACIN

Plano de contactos

Explicacin

Operando en el cual se almacena la direccin de operando que se refiere indirectamente Instruccin para incrementar los datos binarios (32 bits)

Plano de contactos

Explicacin

Operando en el cual se almacena la direccin de operando que se refiere indirectamente Instruccin para decrementar los datos binarios (32 bits)

3 30

Programacin MELSEC A y Q

Configuracin de las instrucciones

Errores de procesamiento

3.8

Errores de procesamiento
Los errores de procesamiento se presentan en los siguienteos casos: Se presenta un mensaje de error cuando al aplicarse las condiciones de error que se explican en el punto Fuentes de errores. En la aplicacin de un registro de bfer no se encuentra conectado un mdulo especial en la direccin de entrada/salida predeterminada. En la utilizacin de un operando de enlace no existe la red correspondiente. En la utilizacin de un operando de enlace no est conectado el mdulo de red con la direccin de entrada/salida predeterminada.

INDICACIN

En caso de haber definido un registro de archivo en los parmetros, pero sin haber instalado una tarjeta de memoria (slo para CPUs Q/QnA), se indica un mensaje de error (2401 = File Set Error). En caso de haber accedido a un registro de archivo sin haber definido previamente un registro de archivo en los parmetros, no se indica un mensaje de error. En caso de leer el registro de archivo, se indica el cdigo FFFFH .

3.8.1

Control del rango de operandos


Cuando las instrucciones utilizan operandos con un largo fijo y predeterminado (MOV, DMOV, etc.), no se controla el rango de operandos. En los casos en los cuales se excede el rango correspondiente de direcciones, se escriben los datos a escribir en un registro libre. Por ejemplo, al asignar direcciones de 12k, no se indica un mensaje de error hasta sobrepasar la direccin de registro D12287.

Plano de contactos

Explicacin

D12287 y D12288 se refieren en este ejemplo, pero D12288 no existe. Se sobreescribe un registro libre con los contenidos de D12288.

Incluso en la utilizacin de un direccionamiento indexado, no se efecta el control del rango de operandos.

Programacin MELSEC A y Q

3 31

Errores de procesamiento

Configuracin de las instrucciones

Cuando las instrucciones utilizan operandos con largo variable, se efecta el control del rango de operandos (BMOV, FMOV y otras instrucciones que utilizan direcciones iniciales). En los casos en los cuales se sobrepasa el rango correspondiente de direcciones, se emite un mensaje de error. Por ejemplo, al asignar direcciones de 12k, se indica un mensaje de error slo al sobrepasar la direccin de registro D12287.

Plano de contactos

Explicacin

D12287 y D12288 se refieren en este ejemplo, pero D12288 no existe. Se emite un mensaje de error.

El control del rango de operandos se efecta al disponer de un direccionamiento indexado. No se emite un mensaje de error cuando la direccin inicial del operando sobrepasa el rango de direcciones.

Plano de contactos

Explicacin

D12287 y D12288 se refieren en este ejemplo, pero D12288 no existe. Se emite un mensaje de error. La direccin inicial D12289 sobrepasa el rango permitido. Los datos se almacenan a partir del registro W0 sin emisin de un mensaje de error.

Ya que las secuencias de caracteres presentan largos variables, se efecta un control del rango de operandos. En los casos en los cuales se sobrepasa el rango correspondiente de operandos, se emite un mensaje de error. Por ejemplo, al asignar direcciones de 12k, no se indica un mensaje de error hasta sobrepasar la direccin de registro D12287.

Plano de contactos

Explicacin

D12287 y D12288 se refieren en este ejemplo, pero D12288 no existe. Se emite un mensaje de error.

El control del rango de operandos se efecta al disponer de un direccionamiento indexado de emisin directa (DY).

3 32

Programacin MELSEC A y Q

Configuracin de las instrucciones

Errores de procesamiento

3.8.2

Control de los datos de operandos


En la utilizacin de datos binarios Cuando un resultado de procesamiento sobrepasa el rango de valores, no se emite ningn mensaje de error. En este caso no se aplica el Carry-Flag (bandera de exceso de capacidad).

En la utilizacin de datos BCD Se controla cada posicin de los valores BCD (0 a 9). Cuando una posicin individual sobrepasa el rango de 0 a 9 (A a F), se emite un mensaje de error. Cuando un resultado de procesamiento sobrepasa el rango de valores, no se emite ningn mensaje de error. En este caso no se aplica el Carry-Flag (bandera de exceso de capacidad).

En la utilizacin de nmeros de coma flotante Los errores de procesamiento se presentan en los siguienteos casos: El valor del nmero de coma flotante asume el valor 0 El valor absoluto del nmero de coma flotante pasa por inferior del valor 1,0 x 2-127 El valor absoluto del nmero de coma flotante pasa por sobre el valor 1,0 x 2129

En la utilizacin de secuencias de caracteres No se efecta un control de los datos de operandos.

Programacin MELSEC A y Q

3 33

Condiciones de ejecucin de las instrucciones

Configuracin de las instrucciones

3.9
3.9.1

Condiciones de ejecucin de las instrucciones


Condicin de entrada
Las siguientes cuatro condiciones de ejecucin existen para la ejecucin de las instrucciones. Ejecucin sin condiciones Las instrucciones se ejecutan sin considerar el estado de seal de los operandos. Ejemplo: LD X0, OUT Y10 Ejecucin con condiciones aplicadas Las instrucciones se ejecutan durante el perodo de aplicacin de la condicin de ejecucin. Ejemplo: MOV, FROM Ejecucin con flanco creciente Las instrucciones se ejecutan con flanco creciente (cambio de seal de 0 a 1) de la condicin de ejecucin. Ejemplo: PLS, MOVP Ejecucin con flanco decreciente Las instrucciones se ejecutan con flanco decreciente (cambio de seal de 1 a 0) de la condicin de ejecucin. Ejemplo: PLF

Para la mayora de las instrucciones existen dos tipos de ejecucin: con condicin de ejecucin aplicada con flanco creciente de la condicin de ejecucin En caso de aplicacin de una condicin de ejecucin, se ejecuta la instruccin durante el perodo completo durante el cual la condicin de ejecucin est aplicada. Estas instrucciones no se identifican especialmente. Ejemplo: MOV_M/ MOV
Plano de contactos Lista de instrucciones MELSEC

En la evaluacin del flanco creciente de una condicin de ejecucin se ejecuta una instruccin slo cuando se efecta un cambio de seal de 0 a 1. Ejemplo: MOVP_M/ MOVP
Plano de contactos

Lista de instrucciones MELSEC

3 34

Programacin MELSEC A y Q

Configuracin de las instrucciones

Condiciones de ejecucin de las instrucciones

El siguiente ejemplo muestra la ejecucin de la instruccin MOV con una condicin de ejecucin aplicada y con ejecucin de flanco creciente de la condicin de ejecucin.

Plano de contactos

Explicacin Ejecucin con condicin de ejecucin aplicada Ejecucin con flanco creciente de la condicin de ejecucin

3.9.2

Entrada EN y salida ENO


Todas las instrucciones descritas en este manual, pertenecen en el caso delGX IEC Developer a la Biblioteca del Fabricante. Adicionalmente a las variables de entrada y salida, estas instrucciones disponen tambin siempre de una entrada EN y una salida ENO. La siguiente ilustracin muestra algunas instrucciones MELSEC de la Biblioteca del Fabricante del GX IEC Developer.

En la biblioteca IEC estndar se indican casi todas las instrucciones doblemente. Slo difieren en el sufijo _E. Estas instrucciones tienen una entrada EN y una salida ENO. La siguiente ilustracin muestra dos instrucciones IEC de la biblioteca estndar del GX IEC Developer.

Los siguientes ejemplos muestran las diferencias en el procesamiento de la instruccin con o bien sin entradas EN y salidas ENO. Ejemplo 1: Sin enlace adicional Sin enlace adicional, la condicin de ejecucin de la instruccin se aplica constantemente.

Ejemplo 2: Enlace con un conctacto

Programacin MELSEC A y Q

3 35

Condiciones de ejecucin de las instrucciones

Configuracin de las instrucciones

Al enlazar la entrada EN con un contacto, se ejecuta la instruccin al aplicarse la condicin respectiva.

Ejemplo 3: Enlace con un resultado de operacin Al aplicar el resultado booleano de una operacin de clculo en la entrada EN, se efecta la ejecucin de la instruccin solamente cuando el resultado de la operacin de clculo es igual a TRUE.

Ejemplo 4: Enlace con instruccin previa Al enlazar la entrada EN con la salida ENO de la instruccin previa, se efectan todas las instrucciones solamente al aplicarse la condicin respectiva.

INDICACIN

La salida ENO no debe estar obligatoriamente conectada. Se aplica un paso en bucle de la entrada EN con la salida ENO. Cuando la entrada EN sea TRUE, la salida ENO tambin resulta TRUE.

3 36

Programacin MELSEC A y Q

Configuracin de las instrucciones

Cantidad de pasos de programa

3.10

Cantidad de pasos de programa


Para no sobrepasar la capacidad de memoria para los pasos de programa en la memoria interna, la memoria ROM o RAM de las tarjetas de memoria y los casetes de memoria, se requiere un clculo de la cantidad total de pasos de un programa. En los siguientes captulos se describe el clculo de los pasos de las instrucciones para el System Q y las CPUs OnA y A.

3.10.1

En un System Q o una CPU de QnA


La cantidad de pasos de programa de una instruccin se dirige en funcin de la cantidad de pasos bsicos. La mayora de las instrucciones requieren slo de una cierta cantidad de pasos bsicos para su ejecucin. La cantidad de pasos bsicos depende de la cantidad de operandos aplicados ms 1. La siguiente ilustracin muestra el clculo de la cantidad de pasos bsicos de la Instruccin PLUS.
Plano de contactos Explicacin 3 pasos de programa Las cifras indicadas en parntesis indican la cantidad acumulada de los pasos de programa de los operandos. 4 pasos de programa Las cifras indicadas en parntesis indican la cantidad acumulada de los pasos de programa de los operandos.

La cantidad de pasos de programa en la utilizacin de instrucciones de entrada y salida La cantidad de pasos de programa en la utilizacin de instrucciones de entrada (LD, LDI, AND, ANI, OR, ORI) depende de los operandos aplicados. Al utilizar operandos internos o registros de archivo (R0 a R32767), la cantidad asciende a 1. Al utilizar entradas direccionables directas (DX), la cantidad asciende a 2. En la utilizacin de otros operandos, la cantidad asciende a 3. La cantidad de pasos de programa en la utilizacin de instrucciones de entrada (LDP, LDF, ANDP, ANDF, ORP, ORF) depende de los operandos aplicados. Al utilizar operandos internos o archivos de registro (R0 a R32767), la cantidad asciende a 2. Al utilizar entradas direccionables directas (DX), la cantidad asciende a 3. En la utilizacin de otros operandos, la cantidad asciende a 4.

Programacin MELSEC A y Q

3 37

Cantidad de pasos de programa

Configuracin de las instrucciones

La cantidad de pasos de programa en la utilizacin de algunas instrucciones de transferencia

Operandos que aumentan la cantidad de pasos de programa Operandos de mdulos especiales Operandos de enlace Registro de archivo serialmente direccionado Constantes de 32 bits Nmeros de coma flotante como constantes

Pasos sumados

Ejemplo MOV U4\G10 D0 MOV J3\B20 D0

MOV ZR123 D0 DMOV K123 D0 EMOV E0.1 D0

Secuencias de caracteres

Con cantidad impar: (Cantidad de caracteres / 2) -1 Con cantidad par: Cantidad de caracteres/2)

$MOV 123 D0

En casos en los cuales se aplican varios factores, se suma la cantidad de pasos en forma respectiva. Por ejemplo, al haber programado MOV U1\G10 ZR123, se suma 1 paso para la memoria de bfer y 1 paso para el registro de archivo seriamente direccionado, obteniendo as una cantidad total de pasos de 2.

3.10.2

Con una CPU de AnA, AnAS y AnU


En combinacin con una CPU de AnA, AnAS o AnU-CPU, deben observarse una serie de particularidades que se explican con mayor detalle en el siguiente prrafo. La cantidad de pasos aumenta respectivamente en el valor de 1 cuando en una instruccin se refiere una de las direcciones de operando indicadas en la siguiente tabla (rango extendido de la serie AnA).
Operandos Rels internos M, L, S Temporizador T Contador C Rels internos de enlace B Registro de datos D Registro de enlace W Rango de direcciones 2048 a 8191 256 a 2047 256 a 1023 400 a FFF

1024 a 6143

400 a FFF

Cuand se efecta una asignacin de ndice con registro de ndice extendido para un operando del rango extendido de direcciones, la cantidad de pasos aumenta tambin respectivamente en el valor de 1.

3 38

Programacin MELSEC A y Q

Configuracin de las instrucciones

Cantidad de pasos de programa

La siguiente ilustracin muestra algunos ejemplos para el clculo de los pasos de programa. El primer ejemplo muestra la composicin de los pasos en la programacin de instrucciones del rango normal de direcciones. Los siguientes ejemplos muestran la composicin de los pasos de programa en la aplicacin de operandos del rango extendido de direcciones.

Plano de contactos LD + D0 LD + D0

Explicacin T0 W010 T300 W800 1 Paso 5 Pasos 6 Pasos 2 Pasos 6 Pasos 8 Pasos 2 Pasos 6 Pasos 9 Pasos 1 Paso 5 Pasos 6 Pasos

LD + D2000

T1000 W010 Z1

LD + D2000 Z1

T0 D300

En la asignacin de ndice en una instruccin de 1 paso (por ejemplo, LD OUT) aumenta la cantidad de pasos en el valor de 1. El siguiente ejemplo muestra las diferencias entre la programacin con y sin ndice. La cantidad de pasos se aumenta tambin slo en el valor de 1 cuando se efecta una asignacin de ndice con un registro extendido de ndice (Z1 a Z6, V1 a V6).

Plano de contactos LD + OUT X0 Y40

Explicacin 1 Paso 1 Paso 2 Pasos 2 Pasos 1 Paso 3 Pasos

LD + OUT

X0 Z Y40

Asignacin de ndice

Programacin MELSEC A y Q

3 39

Cantidad de pasos de programa

Configuracin de las instrucciones

3 40

Programacin MELSEC A y Q

Estructura de los captulos

Estructura de los captulos


El siguiente captulo contiene una introduccin para los captulos 5 a 9 y describe los formatos y la estructura de las explicaciones para las instrucciones del MELSEC de la serie A y Q y del System Q. Como se indica en la siguiente ilustracin, cada uno de los captulos mencionados empieza con una tabla que muestra y explica la estructura de las instrucciones que se contienen en el captulo correspondiente.

Cada punto de la estructuracin se indica en el captulo y se explica mediante ejemplos de programa.

Programacin MELSEC A y Q

41

Vista sinptica de las instrucciones

Estructura de los captulos

4.1

Vista sinptica de las instrucciones


Cada punto de estructuracin se inicia con una tabla que contiene todas las instrucciones que se explican en este prrafo. Como se indica en la siguiente ilustracin, se muestra la escritura de las variantes de instruccin en el editor MELSEC y IEC.

En caso de disponer de la posibilidad de seleccin en el GX IEC Developer, se recomienda la utilizacin preferente de la instruccin IEC.

4.2

La tabla CPU
Los prrafos en los cuales se explican las instrucciones, se inician con una tabla en la cual se indica la CPU (AnS, AnN, AnA, AnAS, AnU, QnA, QnAS, Q4AR, Q) con la cual puede ejecutarse la instruccin. La CPU respectiva habilitada para su ejecuin, est marcada con un punto negro.

En caso de caractersticas particulares en el diseo de una CPU determinada, sta se marca con una nota de pie de pgina en la cual se explica esta particularidad (por ejemplo, , instrucciones extendidas, vase tambin 3.3 Programacin de las instrucciones extendidas).

42

Programacin MELSEC A y Q

Estructura de los captulos

Operandos MELSEC A

4.3

Operandos MELSEC A
En la tabla Operandos MELSEC A se encuentran listados todos los operandos disponibles que pueden utilizarse para las variables internas (por ejemplo, s1, s2, d).

Los operandos de bit y palabra utilizables se listan individualmente. En caso que un operando no pueda utilizarse, falta su identificacin con un punto negro. En la columna Constante se indica si la instruccin puede utilizar constantes decimales (K) o bien hexadecimales (H, 16#). La columna Pointer indica que la instruccin puede utilizar punteros (P) y/o punteros de interrupcin (I). En caso que la instruccin pueda disearse en niveles de anidamiento, se indica esto en la columna Nivel. Los largos de bloque disponibles para la instruccin para los operandos de bit se indican en la columna Largo de bloque. El ejemplo indicado en la ilustracin muestra que la instruccin puede direccionar largos de bloque de 4 a 16 bits (K1 a K4). La cantidad de los pasos de programa utilizados se indica en la columna Pasos. En caso que la instruccin pueda utilizar un direccionamiento indexado, se indica esto en la columna ndice. En la columna Carry Flag se indica si una instruccin puede colocar una bandera de exceso de capacidad en caso de un exceso de capacidad de datos. La posiblidad de colocar una bandera de error, se indica en la columna Error Flag. En caso de caractersticas particulares se identifican stas con una nota de pie de pgina y se explican debajo de la tabla.

Programacin MELSEC A y Q

43

Operandos MELSEC Q

Estructura de los captulos

4.4

Operandos MELSEC Q
El concepto MELSEC Q abarca todas las CPUs del MELSEC System Q y las CPUs QnA, QnAS y Q4AR. En la tabla Operandos MELSEC Q se encuentran listados todos los operandos disponibles que pueden utilizarse para las variables internas (por ejemplo, s1, s2, d). Los operandos no se indican individualmente; se diferencia exclusivamente si una instruccin puede responder los operandos de bit y/o de palabra.

En caso que una instruccin dispone de la posibilidad de acceder a un registro de archivos, se identifica esto en la columna Registro de archivos. En la columna MELSECNET/10 Directo J\ se indica si una instruccin puede realizar la lectura/escritura de datos de bit y/o palabras en/desde las estaciones conectadas en el MELSECNET/10. Con J\ se indica el nmero de estacin y con se indica la direccin de operando. La columna Mdulos especiales U\G indica si una instruccin puede efectuar la lectura/ escritura de datos en/desde la memoria de bfer de un mdulo especial conectado. Con U\ se indica la direccin cabezal del mdulo especial y con G se indica la direccin de memoria de bfer. En caso que la instruccin utiliza un direccionamiento indexado, se indica esto en la columna Registr de ndice Zn. En la columna Constantes K, H (16#) se indica si la instruccin puede utilizar constantes decimales (K) (H, 16#) o bien hexadecimales (H, 16#). En la columna Otros se indica si una aplicacin utiliza otros operandos y constantes. La posiblidad de colocar una bandera de error, se indica en la columna Error Flag. La cantidad de los pasos de programa utilizados se indica en la columna Pasos.

4.4.1

Visualizacin en el GX IEC Developer


Despus de las tablas de operandos se presentan los formatos de visualizacin de la instruccin en el GX IEC Developer. La siguiente ilustracin indica desde la izquierda hacia la derecha la instruccin LD_EQ_M en el editor MELSEC (lista de instrucciones MELSEC) y en el editor IEC (plano de contactos y lista de instrucciones IEC).

44

Programacin MELSEC A y Q

Estructura de los captulos

Variables

4.4.2

Visualizacin en el GX Developer
Despus de los formatos de visualizacin de la instruccin en el GX IEC Developer se presenta la visualizacin en el GX Developer.

4.5

Variables
La tabla de variables contiene todas las variables internas de una instruccin.

La columna Valor de comando describe la funcin de los operandos y de los elementos de operandos. En la columna Tipo de datos se listan todos los tipos de datos de los operandos. A medida que existan diferencias entre los tipos de datos del editor MELSEC y el editor IEC, se indican stas tambin explcitamente. Mayores informaciones acerca del tema Variables se encuentran en los captulos 3.4 Programacin de variables y 3.5 Tipos de datos.

Programacin MELSEC A y Q

45

Funcionamiento

Estructura de los captulos

4.6

Funcionamiento
El punto Funcionamiento explica detalladamente el modo de trabajo de una instruccin. La siguiente ilustracin muestra la descripcin del funcionamiento de la instruccin LDF/LDP.

4.7

Observaciones
En las observaciones se explican las caractersticas particulares, los errores y riesgos en la programacin de la instruccin.

4.8

Fuentes de errores
La descripcin de las fuentes de errores se refiere principalmente a los cdigos de error de la serie Q y del System Q (vase 11.1 Lista de los cdigos de error (CPU Q00J, Q00 y Q01) y 11.2 Lista de los cdigos de error (serie QnA y System Q)). Para obtener informaciones acerca de los cdigos de error de la serie A, consulte los captulos 11.3 Lista de los cdigos de error de la serie A (sin AnA y AnAS) y 11.4 Lista de los cdigos de error de las CPUs AnA y AnAS-CPUs. La siguiente ilustracin muestra las fuentes de error de la instruccin DELTA/DELTAP.

46

Programacin MELSEC A y Q

Estructura de los captulos

Ejemplos

4.9

Ejemplos
Los ejemplos indicados en los prrafos son principalmente ejemplos de programa de la serie Q. Los ejemplos de programa se programaron en los modos de presentacin de la lista de instruccin MELSEC, del plano de contactos y de la lista de instrucciones IEC. Para facilitar la comprensin, se agregaron frecuentemente grficos. La siguiente ilustracin muestra un ejemplo de programa de las instrucciones LD, AND, OR y ORI.

La siguiente ilustracin muestra un ejemplo de programa de la instruccin RBMOVP, con el cual se program el GX Developer.

Programacin MELSEC A y Q

47

Ejemplos

Estructura de los captulos

48

Programacin MELSEC A y Q

Conjunto de comandos bsicos


El conjunto de comandos bsicos contiene las instrucciones convencionales para la programacin de los contactos de entrada y salida, as como comandos de salto, enlaces de bloque, funciones de registro de desplazamiento, instrucciones de control maestro, de fin de programa y de otro tipo, formando as el esquema bsico para la programacin de las series de MELSEC. En las siguientes tablas se indica la segmentacin del conjunto de comandos bsicos.

Segmentacin Instrucciones de entrada Instrucciones de enlace

Significado Inicio de un enlace, Conexin en serie de contactos Enlace de bloque serial y en paralelo, Almacenamiento y procesamiento de un resultado de enlace, Inversin de seal de los resultados de operacin, Conversin de resultados de operacin hacia resultados pulsados, Aplicacin de rels internos de flanco Operandos de bit, contactos de contador y tiempo, Emisin, aplicacin y reposicin de rels internos de errores, Emisin y reposicin de operandos, Emisin diferencial controlada por flanco Inversin del estado de circuito de un operando, Generacin de impulsos de conexin Desplazamiento de operandos de bits Activacin y desactivacin de los diferentes reas de programa Fin de un rea de programa, Fin de programas principales y subordinados Interrupcin del procesamiento, Paso en vaco en programa.

Instrucciones de salida

Instrucciones de de desplazamiento Instrucciones de control maestro Instrucciones de fin de programa Otros tipos de instrucciones

INDICACIN

En la siguiente tabla se indican las instrucciones MELSEC para los diferentes editores, as como las instrucciones IEC correspondientes.

Instruccin MELSEC En el editor MELSEC LD LDI AND ANI OR ORI En el editor IEC Listado de instrucciones Plano de contactos Instrucciones IEC en el Editor IEC

LD LDN AND ANDN OR ORN

LDP LDF

LDP_M LDF_M

Programmierung MELSEC A und Q

51

Instruccin MELSEC En el editor MELSEC En el editor IEC Listado de instrucciones ANDP_M ANDF_M ORP_M ORF_M Plano de contactos Instrucciones IEC en el Editor IEC

ANDP ANDF ORP ORF

ANB

AND ( ... )

ORB

OR ( ... )

MPS MRD MPP

MPS_M MRD_M MPP_M

INV

INV_M

NOT

MEP MEF

MEP_M MEF_M

EGP EGF

EGP_M EGF_M

OUT

OUT_M

ST

OUT (T)

TIMER_M

OUT H (T)

TIMER_H_M

OUT (C)

COUNTER_M

52

Programmierung MELSEC A und Q

Instruccin MELSEC En el editor MELSEC En el editor IEC Listado de instrucciones SET_M RST_M Plano de contactos Instrucciones IEC en el Editor IEC

SET RST

S R

PLS PLF

PLS_M PLF_M

R_TRIG 1 F_TRIG 1

FF CHK DELTA

FF_M CHK_M DELTA_M

SFT

SFT_M

SHL/SHR

MC MCR

MC_M MCR_M

FEND END

FEND_M END_M

2 2

STOP NOP
1 2

STOP_M

Aqu se trata de componentes funcionales IEC. FEND y END se generan automticamente por el GX Developer y el GX IEC Developer.

Programmierung MELSEC A und Q

53

LD, LDI, AND, ANI, OR, ORI

Instrucciones de entrada

5.1
5.1.1

Instrucciones de entrada
LD, LDI, AND, ANI, OR, ORI

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Error Flag Flag M9010 M9012 M9011

1
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros DX, BL

Error Flag

Pasos

s
1

1 1

La cantidad de pasos puede variar: -Con utilizacin de un operando internos o de los registros de archivo R0 a R32767: 1 Paso - Con utilizacin de entradas directamente direccionables (DX): 2 Pasos - Con utilizacin de otros operandos: 3 Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC (Instruccin IEC)

GX Developer

LD___ME1, LD___KE1, LD___IE1

Variables

Operando s

Valor de comando Los operandos se activan como contactos.

Tipo de datos Bit

54

Programmierung MELSEC A und Q

Instrucciones de entrada

LD, LDI, AND, ANI, OR, ORI

Funcionamiento

Inicio de un enlace LD LDI Carga (contacto de trabajo) Carga inversa (contacto de reposo)

El inicio de un enlace se ejecuta siempre con una instruccin LD- (LoaD; carga) o una instruccin LDI- (LoaD Inverse; carga inversa). La instruccin LD describe un contacto de trabajo, mientras que la instruccin LDI describe un contacto de reposo. La direccin de operandos contenida en la instruccin, es la condicin de entrada de la siguiente instruccin.

Conexin en serie AND ANI con contactos de trabajo con contactos de reposo

Una conexin en serie de contactos se ejecuta con una instruccin AND como contacto de trabajo o bien una instruccin ANI como contacto de reposo. El operando contenido en la instruccin, presenta la condicin de conexin hacia la siguiente instruccin. Ambos comandos son enlaces lgicos y no deben programarse al inicio de un enlace.

Conexin en paralelo OR ORI de contacos de trabajo de contactos de reposo

Una conexin en paralelo de contactos se ejecuta con una instruccin OR como contacto de trabajo o bien una instruccin ANI como contacto de reposo. El operando contenido en las instrucciones, presenta la condicin de conexin de la instruccin previa hacia la siguiente instruccin. Ambos comandos son enlaces lgicos y no deben programarse al inicio de un enlace.

INDICACIN

Los operandos indicados en las instrucciones pueden ser tambin operandos de palabra. En estos casos se ingresa por lectura el estado de un bit seleccionado como contacto (solo para serie Q y System Q). La indicacin del bit a consultar, se ejecuta en forma hexadecimal con los operandos de palabra. Por ejemplo, el bit b11 en D0 se indica en forma hexadecimal con el D0.0B (solo para serie Q y System Q). Mayores informaciones acerca del direccionamiento de bits en operandos de palabra se encuentran en el prrafo "Composicin de instrucciones" de las Instrucciones de Programacin (solo para serie Q y System Q).

Programmierung MELSEC A und Q

55

LD, LDI, AND, ANI, OR, ORI


Ejemplo 1 LD, AND, OR, ORI

Instrucciones de entrada

En el siguiente programa se muestran las conexiones en serie y en paralelo de los contactos. El bit 5 (b5) en D0 se consulta tambin como contacto.
Lista de instrucciones MELSEC Plano de contactos Lista de instrucciones IEC

, LD___MB1, LD___KB1, LD___IB1, LD_0B1

Ejemplo 2

LD, LDI, AND, ANI, OR En el siguiente programa se muestran circuitos mixtos Algunos puntos de contacto del circuito se enlazan mediante las instrucciones ORB y ANB. Los bits direccionados (b1 y b4) de D6 se ingresan por lectura como contactos.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

LD___MB2, LD___KB2, LD___IB2, LD_0B2

56

Programmierung MELSEC A und Q

Instrucciones de entrada

LD, LDI, AND, ANI, OR, ORI

Ejemplo 3

LD, AND, ANI En el siguiente programa se emiten los resultados de operandos de las instrucciones hacia Y35 a Y37.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

LD___MB3, LD___KB3, LD___IB3

Programmierung MELSEC A und Q

57

LDP, LDF, ANDP, ANDF, ORP, ORF


5.1.2 LDP, LDF, ANDP, ANDF, ORP, ORF

Instrucciones de entrada

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s


1

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros DX

Error Flag

Pasos

2 1

La cantidad de pasos puede variar: - Con utilizacin de un operando interno o de los registros de archivo R0 a R32767: 2 Pasos - Con utilizacin de entradas directamente direccionables (DX): 3 Pasos - Con utilizacin de otros operandos: 4 Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

L D P__ME1, LDP__KE1, LDP__IE1

GX Developer

P__GE1

Variables

Operando s

Valor de comando Los operandos se activan como contactos.

Tipo de datos Bit

58

Programmierung MELSEC A und Q

Instrucciones de entrada

LDP, LDF, ANDP, ANDF, ORP, ORF

Funcionamiento

Inicio de un enlace, controlado por flanco LDP LDF flanco ascendente flanco descendente

En forma analgica a las instrucciones LD y LDI, estas instrucciones describen un contacto que se genera por un operando de bit o palabra. El resultado de la instruccin LDP es el valor 1 cuando el bit direccionado del operando conmuta de 0 a 1 (flanco ascendente, flanco positivo). El resultado del a instruccin LDF es el valor 1 cuando el bit direccionado del operando conmuta de 1 a 0 (flanco descendente, flanco negativo). En caso de utilizacin exclusiva, la instruccin tiene la funcin de la instruccin PLSL y genera un impulso de salida con un flanco ascendente de la condicin de entrada. El ejemplo ubicado al lado izquierdo de la ilustracin inferior muestra un plano de contactos con utilizacin de una instruccin LDP, en el ejemplo al lado derecho no se utiliza una instruccin LDP.

LDP__AB1, PFEIL0E1, LDP__AB2

Conexin en serie, controlado por flanco ANDP ANDF flanco ascendente flanco descendente

La instruccin ANDP conmuta un contacto en serie con un contacto generado por un operando de bit o de palabra. Este contacto tiene el estado 1 cuando el bit direccionado del operando conmuta de 0 a 1. En la instruccin ANDF, el contacto generado tiene el estado 1 cuando el bit direccionado del operando conmuta de 1 a 0.

Conexin en paralelo, controlado por flanco ORP ORF flanco ascendente flanco descendente

La instruccin ORP conmuta un contacto en serie con un contacto generado por un operando de bit o de palabra. Este contacto tiene el estado 1 cuando el bit direccionado del operando conmuta de 0 a 1. En la instruccin ORF, el contacto generado tiene el estado 1 cuando el bit direccionado del operando conmuta de 1 a 0.

Operando especificado por la instruccin ANDP/ORP Operando de bit/ Operando de palabra 01 0 1 10

Resultado de la instruccin AND/ORP 1

Operando especificado por la instruccin AND/ORF Operando de bit/ Operando de palabra 01 0

Resultado de la instruccin AND/ORF

1 10 1

Programmierung MELSEC A und Q

59

LDP, LDF, ANDP, ANDF, ORP, ORF

Instrucciones de entrada

INDICACIN Ejemplo

El direccionamiento del bit a consultar hacia operandos de palabra se ejecuta en forma hexadecimal. Por ejemplo, el bit 11 en D0 se direcciona con D0.0B en forma hexadecimal.
ORP En el siguiente programa se ejecuta una instruccin MOV con flanco positivo de X0 o bien con aplicacin (flanco positivo) del bit 10 (b10) del registro de datos D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

LDP__MB1, LDP__KB1, LDP__IB1

5 10

Programmierung MELSEC A und Q

Instrucciones de enlace

ANB, ORB

5.2
5.2.1

Instrucciones de enlace
ANB, ORB

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Error Flag Flag M9012 M9010 M9011

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes K, H (16#) Otros Error Flag Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC (Instruccin IEC)

ANB__ME1, ANB__KE1,ANB__IE1

GX Developer

Instruccin ANB

ANB__GE1

Variables

Operando

Valor de comando

Tipo de datos

Programmierung MELSEC A und Q

5 11

ANB, ORB
Funcionamiento Enlace en serie de circuitos en paralelo ANB Enlace de bloque en serie

Instrucciones de enlace

La instruccin ANB (bloque UND) conmuta en serie a 2 o ms circuitos en paralelo y genera la condicin de conexin. En caso de tener que conmutar varios bloques en serie, debe programarse una instruccin ANB despus de cada bloque en paralelo. El enlace ANB es una instruccin independiente que no requiere operandos. Dentro de un programa puede programarse una instruccin ANB tantas veces como se requiere.

En caso de tener que enlazar varios bloques directamente en forma secuencial, se limita la cantidad de instrucciones ANB con las CPUs QnA, AnA, AnAS y AnU en un valor total de 15 (correspondientes a 16 bloques), as como en un valor total de7 en caso de todas las dems CPUs (correspondientes a 8 bloques). Al sobrepasar los lmites respectivos, ya no se garantiza una operacin libre de errores.

Enlaces paralelos de circuitos en serie ORB Enlace de bloque en paralelo

La instruccin ORB (bloque ODE) conmuta en paralelo a 2 o ms circuitos en serie y genera la condicin de conexin. En caso de tener que conmutar varios bloques en paralelo, debe programarse una instruccin ORB despus de cada bloque indivual. En enlaces de bloque en paralelo en los cuales existe solamente un contacto, debe aplicarse la instruccin OR o ORI en vez de la instruccin ORB.

ANB__ABM, ANB__ABK

El enlace ORB es una instruccin independiente que no requiere operandos. Dentro de un programa puede programarse una instruccin ORB tantas veces como se requiere.

En caso de tener que enlazar varios bloques directamente en forma conjunta, se limita la cantidad de instrucciones ORB con las CPUs QnA, AnA, AnAS y AnU en un valor total de 15 (correspondientes a 16 bloques), as como en un valor total de 7 en caso de todas las dems CPUs (correspondientes a 8 bloques). Al sobrepasar los lmites respectivos, ya no se garantiza una operacin libre de errores.

5 12

Programmierung MELSEC A und Q

Instrucciones de enlace

ANB, ORB

Ejemplo

ANB, ORB En el siguiente programa se enlaza el circuito en paralelo de X0 y X2 en serie con el circuito en paralelo de X1 y X3. Este resultado se enlaza en forma paralela con el circuito en paralelo de X4 y X5.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ANB__MB1, ANB__KB1, ANB__IB1

Programmierung MELSEC A und Q

5 13

MPS, MRD, MPP


5.2.2
INDICACIN CPU

Instrucciones de enlace

MPS, MRD, MPP


En los editores IEC no deben utilizarse estas instrucciones.
AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Error Flag Flag M9012 M9010 M9011

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes K, H (16#) Otros Error Flag Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MPS__ME1, MPS__KE1, MPS__IE1

GX Developer

MPS__GE1

Variables

Operando

Valor de comando

Tipo de datos

5 14

Programmierung MELSEC A und Q

Instrucciones de enlace

MPS, MRD, MPP

Funcionamiento

Procesamiento de resultado MPS Alamacenamiento del resultado

Con la instruccin MPS se almacena el resultado del enlace que se coloca delante de una instruccin MPS. En combinacin con una CPU Q, QnA, AnA, AnAS y AnU CPU pueden programarse hasta 16 instrucciones MPS por red y con todas las dems CPUs hasta 12 instrucciones MPS secuenciales por red. La cantidad mxima se reduce en el valor de 1 cuando se encuentra una instruccin MPP entre las instrucciones MPS programadas secuencialmente. MRD Lectura de resultado

La instruccin MRD lee el resultado de enlace almacenado mediante la instruccin MPS. El siguiente paso se ejecuta en funcin del resultado ledo. MPP Lectura y eliminacin del resultado

La instruccin MPP lee el resultado de enlace almacenado con la instruccin MPS, ejecuta el siguiente paso en funcin del resultado de enlace ledo y elimina el resultado de enlace.

Las instrucciones MPS, MRP- o MPP son instrucciones independientes, por lo cual no requieren un operando. En la programacin del plano de contactos no se visualizan particularmente las instrucciones MPS, MRD y MPP. La estructura del enlace de plano de contactos determina si se trata de una instruccin MPS, MRD o bien MPP. En la ilustracin ubicada al lado izquierdo se indica un plano de contactos con aplicacin de las instrucciones MPS y MRD. El plano de contactos ubicado al lado derecho se program sin utilizacin de las instrucciones MPS, MRD y MPP.

MPS__AB1, MPS__AB2

La cantidad de instrucciones MPS en el programa debe coincidir con la cantidad de instrucciones MPP. En caso que la cantidad de instrucciones MPS sea mayor a la cantidad de instrucciones MPP, se aplica una instruccin NOP en vez de una instruccin MPPD y se modifica correspondientemente el proceso de programa. En caso que la cantidad de instrucciones MPP sea mayor a la cantidad de instrucciones MPS, se interrumpe la secuencia lgica de programa. En este caso no se continua con el procesamiento de programa y el PLC emite un mensaje de error.

Programmierung MELSEC A und Q

5 15

MPS, MRD, MPP


Ejemplo 1 MPS, MRD, MPP

Instrucciones de enlace

En el siguiente programa se explica la aplicacin de instrucciones en la programacin de circuitos mixtos.

Lista de instrucciones MELSEC

Plano de contactos

MPS__MB1, MPS__KB1

Ejemplo 2

MPS, MRD, MPP En el siguiente programa se explica la programacin de instrucciones para la emisin de los resultados intermedios de un circuito en serie.

Lista de instrucciones MELSEC

Plano de contactos

MPS__MB2, MPS__KB2

5 16

Programmierung MELSEC A und Q

Instrucciones de enlace

INV

5.2.3

INV

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes K, H (16#) Otros U 1 Error Flag Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC (Instruccin IEC)

INV__ME1, INV__KE1, INV__IE1

GX Developer

INV__GE11

Variables

Operando

Valor de comando

Tipo de datos

Programmierung MELSEC A und Q

5 17

INV
Funcionamiento Inversin de seal de los resultados de operacin INV Instruccin de inversin

Instrucciones de enlace

La instruccin INV invierte el resultado de operando pendiente de la instruccin. En caso que el resultado fue 1 antes de la ejecucin de instruccin, asume el valor de 0 despus de su ejecucin. En caso que el resultado fue 0 antes de la ejecucin de instruccin, asume el valor de 1 despus de su ejecucin.

Ejemplo

En el siguiente programa se invierte el resultado de operacin de X0 y la seal invertida se emite al Y10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

INV__MB1, INV__KB1, INV__IB1, INV__0B1

5 18

Programmierung MELSEC A und Q

Instrucciones de enlace

MEP, MEF

5.2.4

MEP, MEF

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes K, H (16#) Otros U 1 Error Flag Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MEP__ME1, MEP__KE1, MEP__IE1

GX Developer

MEP__GE1

Variables

Operando

Valor de comando

Tipo de datos

Programmierung MELSEC A und Q

5 19

MEP, MEF
Funcionamiento

Instrucciones de enlace

Conversin de resultados de operacin hacia resultados pulsados MEP Generacin de pulsos con flanco ascendente del resultado de operacin La instruccin MEP se aplica siempre cuando las instrucciones utilizadas no pueden emitir su resultado de operacin en forma de un impulso definido de salida. La instruccin MEP se conmuta despus de la instruccin respectiva y genera en la entrada un nico impulso de salida en la conmutacin de 0 a 1 (flanco ascendente). El siguiente impulso se genera solamente con el siguiente flanco ascendente en la entrada. MEP Generacin de pulsos con flanco descendente del resultado de operacin La instruccin MEF aplica el mismo principio de trabajo como la instruccin MEP, pero presenta la diferencia que aqu se genera un nico impulso de salida cuando la seal de entrada conmuta de 1 a 0 (flanco descendente). El siguiente impulso se genera solamente con el siguiente flanco descendente en la entrada. Ambas instrucciones pueden utilizarse particularmente en la aplicacin de varios contactos conmutadas en circuito. Por ejemplo, varios rels de trabajo conmutados en circuito, obtendran en estado cerrado siempre el valor de 1 como resultado de operacin. Al aplicarse aqu un rel interno, ya no resulta posible reponerlos. El circuito en serie con una instruccin MEP posibilita la reposicin, ya que se aplica solamente un impulso de salida cuando el estado de salida del circuito en serie conmuta de 0 a 1.

INDICACIN

En caso dado, las instrucciones MEP y MEF no pueden ejecutarse correctamente cuando los contactos previamente conmutados se acceden por un subprograma o bien por una instruccin FOR-/NEXT. En este caso debe aplicarse la instruccin EGP/EGF. Debido al motivo que las instrucciones MEP/MEF trabajan con seales pendientes inmediatamente antes de las instrucciones MEP/MEF, se recomienda programar una instruccin AND antes de stas instrucciones. Las instrucciones MEP/MEF no pueden programarse en combinacin con una instruccin LD o OR.

Ejemplo

MEP En el siguiente programa se aplica el rel interno M0 mediante el impulso de salida de la instruccin MEP con flanco positivo del resultado de circuito en serie de X0 y X1.

Lista de instrucciones MELSEC

Lista de instrucciones IEC

Plano de contactos

MEP__ME1, MEP__KE1, MEP__IE1

5 20

Programmierung MELSEC A und Q

Instrucciones de enlace

EGP, EGF

5.2.5

EGP, EGF

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d


1

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros U

Error Flag

Pasos

Solo V

GX IEC Developer

Lista de instrucciones

Plano de

Lista de instrucciones IEC

EGP__ME1, EGP__KE1, EGP__IE1

GX Developer

EGP__GE1

Variables

Operando d

Valor de comando Rel interno en el cual se almacena el resultado.

Tipo de datos Bit (solo V)

Funcionamiento

Aplicacin de un rel interno de flanco EGP Aplicacin del rel interno de flanco con flanco ascendente del resultado de operacin La instruccin EGP aplica el rel interno de flanco (V) en funcin del resultado de operacin de la instruccin previamente conmutada. El rel interno de flanco se aplica cuando el resultado conmuta de 0 a 1. En todos los dems estados de entrada de la instruccin EGP, por ejemplo en el cambio de 1 a 0 o bien en la mantencin de los estados 1 0, no se aplica el rel interno de flanco. EGF Aplicacin del rel interno de flanco con flanco descendente del resultado de operacin La instruccin EGF trabaja con el mismo principio que la instruccin EGP. En esta instruccin se aplica el rel interno de flanco (V) cuando el resultado de la instruccin previamente conmutada, conmuta de 1 a 0. En el cambio del resultado de 0 a 1 o bien en la mantencin de os estados 1 0 no se aplica el rel interno de flanco. Las instrucciones EGP/EGF se utilizan en subprogramas o programas que trabajan con direccionamientos mediante registros de ndice (direccionamiento indexado) o que se encuentran entre las instrucciones FOR y NEXT. La instruccin EGP/EGF puede utilizarse como una instruccin AND.

Programmierung MELSEC A und Q

5 21

EGP, EGF
Ejemplo EGP

Instrucciones de enlace

En el siguiente programa se aplica el registro de ndice Z0 primero en el valor de 0 y luego se llama el subprograma UP1 (1). En este subprograma se conmuta de X0Z0 a X0 y de V0Z0 a V0 con flanco positivo. Adems se aplica el D0Z0 en D0 y se incrementa en el valor de 1. Despus del salto de retorno se escribe el valor de 1 en el registro de ndice Z0 y se llama nuevamente el subprograma (2). Con flanco positivo de X1 se aplica el V1 y se incrementa el D1.

Lista de instrucciones MELSEC

Lista de instrucciones IEC

Plano de contactos

EGP__MB1, EGP__KB1, EGP__IB1, EGP__0B1

5 22

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

OUT

5.3
5.3.1

Instrucciones para contactos de salida


OUT

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9012 M9010 M9011


1 2

Por lo general 1 paso, pero 3 pasos en caso de programacin de rels internos especiales o de errores como operando en la instruccin OUT. La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin. 2 La funcin de ndice est disponible exclusivamente en las CPUs AnA, AnAS o AnU.

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d


1 2

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros DY

Error Flag

Pasos

1
2

Con excepcin de T,C,F 1 paso en la utilizacin de operandos internos, 2 pasos en la utilizacin de salidas DY directamente direccionables y 3 pasos en la utilizacin de todos los dems operandos (incl. el registro de archvios con acceso serial).

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC (Instruccin IEC)

O U T__ME1, OUT__KE1, OUT__IE1

GX Developer

T__GE1

Variables

Operando d

Valor de comando Contacto de salida a activar y desactivar.

Tipo de datos Bit

Programmierung MELSEC A und Q

5 23

OUT
Funcionamiento Instrucciones de salida OUT Instruccin de aplicacin de las salidas

Instrucciones para contactos de salida

Una salida se conmuta en funcin de la condicin de entrada previa. Varias instrucciones OUT pueden programarse en forma paralela despus de una condicin de entrada. El estado de conmutacin de un circuito OUT puede utilizarse en los siguientes pasos de programa como condicin de entrada en forma de un contacto de trabajo o de reposo.
Instruccin OUT Instruccin de entrada Conctaco de salida 0 1 DESC CON Forma de contacto Contacto de trabajo Contacto de reposo Sin pasada Pasada Pasada Sin pasada Con determinacin de bit para un operando de palabra Bit determinado 0 1

Fuente de error Ejemplo 1

Vea la parte I de las Instrucciones de Programacin.

OUT En el siguiente programa se indica la programacin de la instruccin OUT bajo aplicacin de operandos de bit como salidas (Y33 a Y35).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

O U T__MB1, OUT__KB1, OUT__IB1

Ejemplo 2

OUT En el siguiente programa se indica la programacin de la instruccin OUT bajo aplicacin de bits del operando de palabra D0 como salidas (bits b5 a b7).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

OUT__MB2, OUT__KB2, OUT__IB2, OUT_0B1

5 24

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

OUT T, OUTH T

5.3.2

OUT T, OUTH T

CPU

AnS

AnN

An(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d

1 2 1

Largo de bloque

Operandos de palabra (16 bits) F T



2

Constante K

2

Y M

D W R A0 A1 Z

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Error Flag Flag M9012 M9010 M9011

Valor de ajuste Para la utilizacin de temporizadores y contadores extendidos de una CPU AnA, AnAS o AnU CPU, deben observarse las indicaciones en el prrafo A.3.4 Comparacin de temporizadores y prrafo A.3.5 Comparacin de contadores de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit d
1

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra
3

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K
4

Otros

Error Flag

Pasos

4 4

2
1 2

Solo T Valor de ajuste 3 Con excepcin de T y C 4 Los valores de ajuste para los temporizadores deben indicarse como constantes decimales (K). Las constantes hexadecimales no pueden utilizarse.

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

OUTT_ME1, OUTT_KE1, OUTT_IE1

GX Developer

Programmierung MELSEC A und Q

5 25

OUT T, OUTH T

Instrucciones para contactos de salida

Variables

Operando d Valor de ajuste

Valor de comando Nmero de temporizador Valores de ajuste (Set Value) para temporizadores

Tipo de datos Bit BIN-16-Bit

Funcionamiento

Instruccin de aplicacin para contactos de temporizador OUT T Temporizador lento (100 ms)

OUTH T Temporizador rpido (10 ms) Cuando est dada la condicin de entrada de una instruccin OUT(H) T, se activa el contacto de tiempo y se mantiene aplicado durante el perodo predeterminado. Este perodo se predetermina directamente mediante una constante o bien variablemente por el valor de un registro de datos. El estado de conmutacin de un contacto OUT(H) T se programa en uno (o varios) paso(s) de programacin siguientes como condicin de entrada en forma de un rel convencional de trabajo o bien de reposo. Despus de transcurrir el tiempo predeterminado (valor real = valor nominal), se aplica el contacto de entrada posterior. Es posible programar varias instrucciones OUT(H) T despus de la misma condicin de entrada.
Temporizador como contacto de salida Estado de contacto Temporizador como contacto de entrada Estado de contacto antes de ejecucin Contacto de trabajo Sin pasada Contacto de reposo Pasada Estado de contacto despus de ejecucin Contacto de trabajo Sin pasada Contacto de reposo Pasada

Tipo

Valor real

100 ms 10 ms 100 ms remanente 10 ms remanente

DESC

DESC

Valor real se mantiene

Sin pasada

Pasada

Pasada

Sin pasada

Despus del proceso completo del temporizador, se mantiene el estado de contacto de un temporizador remanente hasta que ste se repone a travs de una instruccin RST. No es posible programar valores negativos Werte (-32768 a -1) como valores nominales para los temporizadores. En caso de haber ingresado el valor de 0 como valor nominal, se ejecuta el temporizador de tal modo como que se haya ingresado el valor de 1. La ejecucin de la instruccin OUT(H) T tiene los siguientes efectos: Se aplica o bien se repone la bobina del temporizador del temporizador indicado. Se aplica o bien se repone el contacto correspondiente de temporizador. Se actualizan los valores de ajuste de los temporizadores. En caso de saltar a una instruccin durante la ejecucin de una instruccin OUT(H) T, no se modifican los estados de contacto y los valores de temporizador. En caso de una utilizacin repetida de la misma instruccin en un ciclo, se actualiza el valor de las repeticiones. El direccionamiento mediante un registro de ndice (direccionamiento indexado) de las bobinas de contador y de los contactos puede efectuarse exclusivamente mediante el registro de ndice Z0 y Z1. INDICACIN

El registro para el valor nominal de temporizador no debe direccionarse indirectamente! Mayores detalles acerca de la programacin y el funcionamiento de los temporizadores se encuentran en el prrafo A.3.4 Comparacin de temporizadores de estas Instrucciones de Programacin.

5 26

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

OUT T, OUTH T

Ejemplo 1

OUT (T) En el siguiente programa se aplican las salidas Y10 y Y14 despus de 10 segundos despus de ativar el X0. Aqu se utiliza un temporizador lento (100 ms).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

OUTT_MB1, OUTT_KB1, OUTT_IB1

Ejemplo 2

OUT (T) En el siguiente programa se ingresa por lectura el valor de ajuste del temporizador mediante las entradas X10 a X1F en forma de datos BCD. Para esto se convierten los datos BCD primero con el flanco positivo de X0 hacia datos binarios y se almacenan en D10. Despus de la activacin de X2 se asume el valor de ajuste del temporizador. Despus de transcurrir el tiempo, se aplica el Y15. Aqu se utiliza tambin un temporizador lento (100 ms).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

OUTT_MB2, OUTT_KB2, OUTT_IB2

Ejemplo 3

OUTH T En el siguiente programa se aplica la salida Y10 250 ms despus de activar el X10. Aqu se utiliza un temporizador rpido (10 ms).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

OUTT_MB3, OUTT_KB3, OUTT_IB3

Programmierung MELSEC A und Q

5 27

OUT C
5.3.3 OUT C

Instrucciones para contactos de salida

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d

1 2 1

Largo de bloque

Operandos de palabra (16 bits) F T C



2

Y M L

D W R A0 A1 Z

K

2

H P (16#)

ndice

Pasos

Operandos MELSEC A

Constante Punter Nivel o I N

Carry Flag

Error Flag

M9012 M9010 M9011 1

Valor de ajuste Para la utilizacin de temporizadores y contadores extendidos de una CPU AnA, AnAS o AnU CPU, deben observarse las indicaciones en el prrafo A.3.4 Comparacin de temporizadores y prrafo A.3.5 Comparacin de contadores de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit d

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K

Otros U

Error Flag

Pasos

4 4

1 2

Solo C Valor de ajuste 3 Con excepcin de T y C 4 Los valores de ajuste para los contadores pueden indicarse solamente como constantes decimales (K). Las constantes hexadecimales (H) o nmeros reales no pueden utilizarse.

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

O U TC_ME1, OUTC_KE1, OUTC_IE1

GX Developer

TC_GE1

Variables

Operando d Valor de ajuste

Valor de comando Nmero de contador Valores de ajuste (Set Value) para contadores

Tipo de datos Bit BIN-16-Bit

5 28

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

OUT C

Funcionamiento

Aplicacin de un contacto de contador OUT C Contador

En caso que est dada la condicin de entrada de una condicin OUT C, se aumenta el valor real (valor de conteo) del contador en el valor de 1. El estado de conmutacin de un contacto OUT C se programa en uno (o varios) paso(s) de programacin siguientes como condicin de entrada en forma de un rel convencional de trabajo o bien de reposo. Cuando el contador alcanza su valor nominal, se aplica el siguiente contacto de entrada. Cuando se mantiene activada la condicin de entrada de la instruccin OUT C, no se continua el proceso de conteo. Por lo tanto no se requiere la ejecucin de la entrada de conteo como entrada de pulsos. Despus de transcurrir el contador, pueden reponerse el valor de conteo y el estado de contacto solamente despus de ejecutar la instruccin RST. Al aplicarse contadores extendidos C256 a C1023 en combinacin con una CPU AnA, AnAS o AnU, deben programarse los valores nominales bajo observacin de las indicaciones en el prrafo "Valores nominales de temporizadores y contadores extendidos" de estas Instrucciones de Programacin. No es posible programar valores negativos (-32768 a -1) como valores nominales para los contadores. En caso de haber ingresado el valor de 0 como valor nominal, se ejecuta el contador de tal modo como que se haya ingresado el valor de 1. El direccionamiento mediante un registro de ndice (direccionamiento indexado) de las bobinas de contador y de los contactos puede efectuarse exclusivamente mediante el registro de ndice Z0 y Z1.

INDICACIN

Los rangos de ajuste no pueden almacenarse en los registros de datos directamente direccionables. Mayores detalles acerca de la programacin y el funcionamiento de contadores se encuentran en el prrafo A.3.5 Comparacin de contadores de estas Instrucciones de Programacin.

Ejemplo 1

OUT C En el siguiente programa se activa el Y30 despus de haber aplicado diez veces el X0; as mismo se desactiva nuevamente al aplicar el X1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

OUTC_MB1, OUTC_KB1, OUTC_IB1

Programmierung MELSEC A und Q

5 29

OUT C
Ejemplo 2 OUT C

Instrucciones para contactos de salida

En el siguiente programa se ajusta el valor nominal de C10 con flanco positivo de X0 en 10 (D0 =10) y con flanco positivo de X1 en 20 (D0 = 20). El contador empieza a contar en funcin del valor nominal en D0 al activarse el X3, y activa el Y30 cuando el contador ha alcanzado su valor nominal.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

OUTC_MB2, OUTC_KB2, OUTC_IB2

5 30

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

OUT F

5.3.4

OUT F

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d


1

Largo de bloque

Operandos de palabra (16 bits) F

Constante V K

Y M

D W R A0 A1 Z

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

1 2

Por lo general 1 paso, pero 3 pasos en caso de programacin de rels internos especiales o de error como operando en la instruccin OUT. La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin. 2 La funcin de ndice est disponible exclusivamente en las CPUs AnA, AnAS o AnU.

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d


1

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

Solo F

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC (Instruccin IEC)

OUT__ME1, OUT__KE1, OUT__IE1

GX Developer

OUT__GE1

Variables

Operando d

Valor de comando Rel interno de errores a activar

Tipo de datos Bit (solo rel interno F)

Programmierung MELSEC A und Q

5 31

OUT F
Funcionamiento Emisin de rels internos de errores OUT F

Instrucciones para contactos de salida

Rels internos de errores (serie Q y System Q)

Cuando est dada la condicin de entrada de una instruccin OUT F, se activa el rel interno de errores y se efecta el siguiente procedimiento: Se emite la direccin del rel interno de errores en la visualizacin de LED de la CPU (Q3A y Q4AR) y se enciende el LED "USER". Las direcciones de los rels internos de error activados se almacenan en los registros de diagnstico SD64 a SD79. El valor en SD63 se aumenta en 1. Al alcanzar el valor de 16 en el registro de diagnstico SD63, esto quiere decir, cuando estn almacenadas 16 direcciones de rels internos de errores activados, no se almacena ninguna otra direccin en el rango de SD64 a SD79. Al desactivar un rel interno de errores mediante una instruccin OUT, no se modifica la indicacin de LED, el estado del LED "USER" ni el contenido del registro de diagnstico SD63 a SD79. La eliminacin de rels internos de errores, registros y visualizaciones se efecta con una instruccin RST F.

OUT F

Rels internos de errores (serie A)

Al aplicar un rel interno de errores (F) en el programa, se encienden el LED de error en el mdulo CPU y los LED de visualizacin correspondientes en los controles. La cantidad de rels internos de errores activados se almacena en un registro especial. Los rels internos de errores no deben aplicarse con una instruccin OUT, ya que la visualizacin de errores mediante LED no coincide con el estado de contacto de la instruccin de salida. Para evitar esto, debe aplicarse un rel interno de errores con la ayuda de una instruccin SET. La activacin de un rel interno de errores mediante una instruccin OUT tiene tambin el efecto que se desactiva el rel interno de errores en caso de no seguir aplicndose la condicin de entrada. Esto no causa ninguna modificacin en el estado de visualizacin de los LED de visualizacin y el LED de error en el mdulo CPU, as como en el contenido de los registros especiales.

5 32

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

OUT F

Ejemplo (Serie Q)

OUT F En el siguiente programa se activa el rel interno de errores F7 conjuntamente con la activacin del X0. El valor 7 se almacena en los registros SD64 a SD79. El valor en el registro SD63 se aumenta en 1 (se almacena una direccin de un rel interno de errores).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Se activa el X0.
OUT__MB3, OUT__KB3, OUT__IB3, OUT_0B1

Programmierung MELSEC A und Q

5 33

SET
5.3.5 SET

Instrucciones para contactos de salida

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Y M

H P (16#)

ndice
2

Pasos

Operandos MELSEC A

Constante Punter Nivel o I N

Carry Error Flag Flag M9012 M9010 M9011

1
1

La cantidad de pasos es de 3 cuando se aplicaron rels internos especiales, de enlace o de errores (M, B o F) con una instruccin SET o bien cuando se repuso un rel interno respecial o cualquier operando de palabra. 2 La funcin de ndice est disponible exclusivamente en las CPUs AnA, AnAS o AnU.

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d


1

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros BL DY

Error Flag

Pasos

1
1

1 paso en la utilizacin de operandos internos, 2 pasos en la utilizacin de salidas DY directamente direccionables o operandos de programa SFC (BL), 3 pasos en la utilizacin de todos los dems operandos (incl. el registro de archvios con acceso serial) y 4 pasos en la utilizacin de temporizadores (T) o contadores (C).

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC (Instruccin IEC)

S E T__ME1, SET__KE1, SET__IE1

GX Developer

T__GE1

Variables

Operando d

Valor de comando Contacto de salida a activar / Determinacin de bit de un operando de palabra

Tipo de datos Bit

5 34

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

SET

Funcionamiento

Activacin de un operando SET Instruccin de aplicacin

La instruccin SET se compone del comando SET (activacin) seguida por la direccin de operando d que debe aplicarse. Despus de la ejecucin de la condicin de entrada se aplican la instruccin SET y la direccin indicada de operando d o bien se ajusta el bit determinado del operando de palabra en el valor de 1. Al desactivarse la condicin de entrada, se mantiene activado el operando aplicado. El operando puede reponerse mediante la instruccin RST.

SET__AB1, SET_0E1

Ejemplo 1

SET En el siguiente programa se activa la salida Y8B conjuntamente con la activacin del X8. En la activacin de X9 se repone el Y8B.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SET__MB1, SET__KB1, SET__IB1

Ejemplo 2

SET En el siguiente programa, en la activacin de X8 se ajusta el bit 5 (b5) en D0 de 0 a 1. En la activacin de X9 se repone este bit.
SET__MB2, SET__KB2, SET__IB2, SET_0B1

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Programmierung MELSEC A und Q

5 35

RST
5.3.6 RST

Instrucciones para contactos de salida

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

1
1

La cantidad de pasos es de 3 cuando se aplicaron rels internos especiales, de enlace o de errores (M, B o F) con una instruccin SET o bien cuando se repuso un rel interno respecial o cualquier operando de palabra. 2 La funcin de ndice est disponible exclusivamente en las CPUs AnA, AnAS o AnU.

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros BL DY

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC (Instruccin IEC)

RST__ME1, RST__KE1, RST__IE1

GX Developer

RST__GE1

Variables

Operando d
1

Valor de comando

Tipo de datos

Contacto de salida a reponer / Determinacin de bit de un operando de palabra Bit 1

Una particularidad de la instruccin RST_M consiste en la posibilidad de eliminar palabras enteras de datos. En esto se requieren menos pasos que en la utilizacin de una instruccin MOV en combinacin con la constante K0.

5 36

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

RST

Funcionamiento

Reposicin de un operando RST Instruccin de reposicin

La instruccin RST se compone del comando RST (reposicin) seguido por la direccin de operando que debe reponerse. Despus de la ejecucin de la instruccin RST se desactivan los contactos de entrada y salida de los operandos de bit, se ajustan los valores reales de los temporizadores y contadores (T, C) en 0 y se desactivan los contactos relativos, se ajusta el bit determinado del operando de palabra en 0 y el contenido de los operandos de palabra se ajusta en 0. La funcin de la instruccin RST en la siguiente ilustracin resulta idntica a la funcin de la instruccin MOV indicada en el lado derecho. X10 funciona como entrada RST.

RST__AB1, PFEIL0E1, RST__AB2

Ejemplo 1

RST En el siguiente programa se escribe el contenido de X10 a X1F con flanco positivo de X0 en el registro de datos D8. Despus de la activacin del X5 se repone el contenido de D8 en 0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

RST__MB1, RST__KB1, RST__IB1

Programmierung MELSEC A und Q

5 37

RST
Ejemplo 2 RST T, C

Instrucciones para contactos de salida

En el siguiente programa se muestra un ejemplo para la reposicin de temporizadores y contadores remanentes. En la primera lnea de programa se aplica el T225 cuando el X4 est activado durante 30 minutos. En el segundo paso se cuentan los momentos de activacin del T225 mediante el C23. Simultneamente se repone el T225. Despus de haber activado 16 veces el temporizador (valor real de C23 = 16), se activa la salida Y55. El contador se ajusta en 0 despus de la activacin del X5.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

RST__MB2, RST__KB2, RST__IB2

5 38

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

SET F, RST F

5.3.7

SET F, RST F

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d


1

Largo de bloque

Operandos de palabra (16 bits) F

Constante V K

Y M

D W R A0 A1 Z

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

La funcin de ndice est disponible exclusivamente en las CPUs AnA, AnAS o AnU.
Operandos Operandos internos (Sistema, Operador) Bit d 1 Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes K, H (16#) Otros U 3 Error Flag Pasos

Operandos MELSEC Q

Solo F

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC (Instruccin IEC)

RST__ME1, RSTF_KE1, RSTF_IE1

GX Developer

RST__GE1

Variables

Operando d (SET) d (RST)

Valor de comando Rel interno de errores a aplicar. Rel interno de errores a reponer.

Tipo de datos Bit (solo F) Bit (solo F)

Programmierung MELSEC A und Q

5 39

SET F, RST F
Funcionamiento

Instrucciones para contactos de salida

Aplicacin/reposicin de rels internos de errores (serie Q y System Q) SET F Instruccin de aplicacin

La instruccin SET se compone del comando SET (activacin) seguida por la direccin de operando que debe aplicarse. Despus de la ejecucin de la condicin de entrada se aplican la instruccin SET y la direccin de operando d indicada. El destino de salida de la instruccin SET para la aplicacin del rel interno de errores es un impulso. Se efecta el siguiente procedimiento: Se emite la direccin del rel interno de errores en la visualizacin de LED de la CPU (Q3A y Q4AR) y se enciende el LED "USER". Las direcciones de los rels internos de error activados se almacenan en los registros SD64 a SD79. El valor en SD63 se aumenta en 1. Al alcanzar el valor de 16 en el registro SD63, esto quiere decir, cuando estn almacenadas 16 direcciones de rels internos de errores activados, no se almacena ninguna otra direccin en el rango de SD64 a SD79.

RST F

Instruccin de reposicin

La instruccin RST F se compone del comando RST (reposicin) seguido por la direccin de operando que debe aplicarse. Despus de la ejecucin de la condicin de entrada se aplica la instruccin RST y se repone la direccin de operando d indicada. La seal de salida para la reposicin de un rel interno de errores es un impulso. La direccin de un rel interno de errores desactivado se elimina de los registros SD64 a SD79 y se reduce en 1 el valor en el registro SD63. Cuando el valor en el registro SD63 fue igual a 16 y cuando se eliminan los rels internos de errores de los registros SD64 a SD79 mediante instrucciones RST, se activan ahora los rels internos de errores que no pudieron almacenarse previamente. Las direcciones de los rels internos de errores se almacenan en los registros que quedaron disponibles, entre SD64 y SD79. Si despus de la ejecucin de la instruccin RST F se ha reducido el valor a 0 en el registro de diagnstico SD63 y cuando estn desactivados todos los rels internos de errores, se apagan los LED de visualizacin y de "USER". En la ilustracin inferior se aplica el F30 en el primer paso (1), pero no puede ingresarse, porque se almacenaron ya 16 direcciones de SD64 a SD79. En el segundo paso (2) se repone el F90. Esto posibilita el almacenamiento de F30 en SD79, ya que los rels internos de errores almacenados se ajustan hacia arriba (3) alrededor del registro (SD65) que qued libre.

SETF0E2

5 40

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

SET F, RST F

Aplicacin/reposicin de rels internos de errores (serie A) SET F/ RST F Instruccin de aplicacin/reposicin

Al aplicar/reponer un rel interno de errores F con una instruccin SET-RST, se modifican las visualizaciones LED correspondientes y el estado del LED de error en la CPU, as como el contenido de los registros especiales correspondientes. Se aplican/reponen los rels internos de errores mediante impulsos.

Ejemplo

SET F/ RST F (Serie Q y System Q) En el siguiente programa se activa el rel interno de errores F11 cuando se aplica (1) el X1. El valor 11 se almacena en un registro de SD64 a SD79 y el valor en SD63 se aumenta en 1. Luego se desactiva el rel interno de errores F11 cuando se aplica (2) el X2. El valor 11 se elimina del registro de diagnstico entre SD64 y SD79 y el valor en SD63 se reduce en 1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

RST__MB3, RST__KB3, RST__IB3, SETF0B1

Programmierung MELSEC A und Q

5 41

PLS, PLF
5.3.8 PLS, PLF

Instrucciones para contactos de salida

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

3
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin. 2 La funcin de ndice est disponible exclusivamente en las CPUs AnA, AnAS o AnU.

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros DY

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

PLS__ME1, PLS__KE1, PLS__IE1

GX Developer

PLS__GE1

Variables

Operando d

Valor de comando Operando cuya seal de salida se convierte en un impulso.

Tipo de datos Bit

5 42

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

PLS, PLF

Funcionamiento

Emisin diferencial controlada por flanco PLS Salida con flanco de seal descendente

La instruccin PLS se compone del comando PLS seguido por la direccin de operando d que debe aplicarse. La instruccin PLS (pulso; impulso) activa el operando con flanco de seal ascendente (flanco positivo) de la condicin de entrada para la duracin de un ciclo de programa. En caso de estar ya aplicado el operando indicado, se desactiva este operando para la duracin de un ciclo de programa.

PLS_0E1

Un ciclo

En caso de estar aplicada la instruccin que genera el impulso y al conmutar el conmutador de modo de operacin de la CPU de RUN a STOP para conmutarlo a continuacin de nuevo en RUN, no se ejecuta la instruccin PLS.

1 2

Procesamiento END Conmutador de modo de operacin RUN STOP 3 Conmutador de modo de operacin STOP RUN 4 Un ciclo de PLS M0
PLS_0E2

Al programar un rel interno de rango detentivo L en combinacin con una instruccin PLS, se genera con la instruccin PLS un impulso despus de la nueva activacin de la CPU en el primer ciclo cuando el rel interno de rango detentivo estuvo aplicado antes de la desactivacin de la CPU. En el siguiente ciclo se repone el operando controlado por la instruccin PLS.

Programmierung MELSEC A und Q

5 43

PLS, PLF
PLF Salida con flanco de seal descendente

Instrucciones para contactos de salida

La instruccin PLF se compone del comando PLF seguido por la direccin de operando d que debe aplicarse. La instruccin PLF activa el operando con flanco de seal descendente (flanco negativo) de la condicin de entrada para la duracin de un ciclo de programa. En caso de estar ya aplicado el operando indicado, se desactiva este operando para la duracin de un ciclo de programa.

PLS_0E3

Un ciclo

En caso de estar aplicada la instruccin que genera el impulso y al conmutar el conmutador de modo de operacin de la CPU de RUN a STOP para conmutarlo a continuacin de nuevo en RUN, no se ejecuta la instruccin PLF.

INDICACIN

Cuando la instruccin PLS o PLF se programa dentro de un comando de salto (con instruccin CJ), puede aplicarse el operando indicado para la instruccin en caso de una no-ejecucin de la seccin de programa para ms de un ciclo de programa.

Ejemplo 1

PLS En el siguiente programa con flanco positivo de X9 se aplica el rel interno M9 para un ciclo de programa.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Un ciclo
PLS__MB1, PLS__KB1, PLS__IB1, PLS_0B1

5 44

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

PLS, PLF

Ejemplo 2

PLF En el siguiente programa con flanco negativo de X9 se aplica el rel interno M9 para un ciclo de programa.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Un ciclo
PLS__MB2, PLS__KB2, PLS__IB2, PLS_0B2

Programmierung MELSEC A und Q

5 45

FF
5.3.9 FF

Instrucciones para contactos de salida

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros DY

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FF___ME1, FF___KE1, FF___IE1

GX Developer

FF___GE1

Variables

Operando d

Valor de comando Operando de bit o bit direccionado de un operando de palabra cuyo estado se invierte.

Tipo de datos Bit

5 46

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

FF

Funcionamiento

Inversin del estado de circuito de un operando de bit de salida FF Inversin de un operando de bit de salida

La instruccin FF invierte el estado de seal del operando indicado en d con flanco ascendente en la entrada de la instruccin FF. El operando puede ser un operando de bit o bien un bit determinado de un operando de palabra. En caso que el estado previo del operando de salida fue 1, asume el valor de 1 despus de la instruccin FF. En caso que el estado del operando de salida fue 0 antes de la ejecucin de la instruccin 0, el estado de salida asume luego el valor de 1.

Ejemplo 1

FF En el siguiente programa con flanco positivo de X9 se invierte el estado de salida de Y10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FF___MB1, FF___KB1, FF___IB1, FF_0B1

Ejemplo 2

FF En el siguiente programa con flanco positivo de X9 se invierte el bit 10 (b10) de D10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FF___MB2, FF___KB2, FF___IB2, FF_0B2

Programmierung MELSEC A und Q

5 47

CHK
5.3.10 CHK

Instrucciones para contactos de salida

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

ndice Bit Bit

Pasos

Operandos de bit

Operandos de palabra (16 bits)

Constante

Punter Nivel o I N

Largo de bloque

Operandos MELSEC A

Operandos Carry Error Flag Flag M901 0 M9012 M901 1

X d1 d2
1
1

Y M L

D W R A0 A1 Z

H (16#) P


K1 K4

El operando d2 no tiene influencia alguna en el procesamiento de programa.

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

CHK__ME1, CHK__KE1, CHK__IE1

Variables

Operando d1 d2

Valor de comando Operando de bit cuyo estado se invierte. Operando ficticio (Dummy)

Tipo de datos

5 48

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

CHK

Funcionamiento

Inversin del estado de circuito de un operando de bit de salida (serie A) Indicaciones generales La funcin de la instruccin CHK depende del lugar de procesamiento seleccionado. En el procesamiento directo de los estados de entrada y salida (con excepcin de las CPUs AnA y A2C) se utiliza la instruccin para fines de control de errores. En las CPUs AnS y AnN, la instruccin CHK posibilita despus del mapping de proceso, la inversin del estado de circuito de un operando de salida (Flip-Flop).

CHK

Inversin de un operando de bit de salida

Una instruccin CHK completa se compone de un comando CHK, del operando d1 cuyo estado de circuito debe invertirse, as como del operando ficticio d2. Despus de estar dada la condicin de entrada de la instruccin CHK, se modifica el estado de circuito del operando determinado en la instruccin CHK. Despus de la desactivacin y repetida activacin de la condicin de entrada se conmuta el operando indicado nuevamente a su estado de salida. A pesar de que el d2 resulta ser solamente un tal llamado operando ficticio, debe aplicarse aqu un operando. (vase la tabla de operandos). Al aplicar un operando de bit para el d2, debe determinarse el largo de bloque con K1 a K4. La indicacin del valor no tiene importancia alguna, ya que el largo de bloque se define solamente para propsitos ficticios. El operando programado en d2 puede programarse libremente para otros propsitos. La instruccin CHK descrita aqu, puede ejecutarse exclusivamente despus del mapping de proceso. La inversin del estado de circuito de un operando de salida debe tener una duracin mnima recproca a un ciclo de programa.

Ejemplo

CHK En el siguiente programa con flanco positivo de X5 se invierte el estado de salida de Y10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

CHK__MB1, CHK__KB1, CHK__IB1, CHK_0E1

Programmierung MELSEC A und Q

5 49

DELTA, DELTAP
5.3.11 DELTA, DELTAP

Instrucciones para contactos de salida

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes K, H (16#) Otros DY

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DELTAME1, DELTAKE1, DELTAIE1

GX Developer

DELTAGE1

Variables

Operando d
1

Valor de comando Salida directamente direccionable en la cual se aplica la instruccin.

Tipo de datos Bit 1

Solamente salidas directas

5 50

Programmierung MELSEC A und Q

Instrucciones para contactos de salida

DELTA, DELTAP

Funcionamiento

Generacin de un impulso de conmutacin con una direccin directamente direccionable DELTA Instruccin para impulsos de conmutacin

Las instrucciones DELTA generan un impulso de conmutacin en una salida (DY) directamente direccionable e indicada en d, lo que significa que la salida se aplica para un tiempo determinado. En caso que la instruccin DELTA controla a la salida DY0, resulta idntica la funcin ejecutada con la funcin programada con la instruccin SET-/RST (vase la ilustracin). La instruccin DELTA se aplica en componentes de funciones especiales en combinacin con las condiciones de ejecucin controladas por flanco.

DELTAAB1, DELTAAB2

Fuente de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La salida indicada en d se encuentra fuera del rango de direcciones para las salidas (cdigo de error 4101).

Ejemplo

DELTAP En el siguiente programa se efecta un ajuste previo de CH1 del mdulo de emisin AD61 en el enchufe 0 del portador principal d componentes, con el flanco positivo de X20. Las direcciones 1 y 2 en la memoria de bfer del mdulo de emisin se ajusta previamente con 0. Con la ejecucin de la instruccin DELTAP se aplica tambin el ajuste previo.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DELTAMB1, DELTAKB1, DELTAIB1

Programmierung MELSEC A und Q

5 51

SFT, SFTP

Instrucciones de desplazamiento

5.4
5.4.1

Instrucciones de desplazamiento
SFT, SFTP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011 3


1 2

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin. 2 La funcin de ndice est disponible exclusivamente en las CPUs AnA, AnAS o AnU.

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d


1

FileRegister
1

MELSECNET/10 Directo J\ Bit


1

Palabra
1

Mdulos Registro especiales de ndice Zn Palabra U\G


1

Constantes DY

Otros U

Error Flag

Pasos

Con excepcin de T y C

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SFT__ME1, SFT__KE1, SFT__IE1

GX Developer

SFT__GE1

Variables

Operando d

Valor de comando Operando que se desplaza.

Tipo de datos Bit

5 52

Programmierung MELSEC A und Q

Instrucciones de desplazamiento

SFT, SFTP

Funcionamiento

Instrucciones de desplazamiento SFT Desplazamiento de operandos de bit

La instruccin SFT desplaza los operandos en un bit. En la programacin de la instruccin SFT se ejecuta el desplazamiento solamente al estar dada la condicin de entrada (flanco ascendente). En la ejecucin de la instruccin se desplaza el estado de una direccin de operando (determinada con d-1) hacia la direccin de destino d. Se repone el estado del operando con la direccin d1 ms baja. La aplicacin siguiente de la direccin de operando desplazada debe efectuarse con una instruccin SET. En caso de una programacin secuencial de varias instrucciones SFT puede iniciarse sta con la direccin de operando ms alta. En la siguiente ilustracin se aplica respectivamente el rel interno M10 en la aplicacin del X2 (2,3). El estado de M10 (1) se desplaza en funcin de la ejecucin de la instruccin SFT P en el rea de desplazamiento (1).

SFT__AB1, SFT_0E1

En el desplazamiento de bits en operandos de palabra se desplaza el estado (0/1) del bit d-1 hacia d. El bit d-1 se describe en la instruccin SFT con 0. En la siguiente ilustracin se desplaza el bit 5 (b5) en D0. El bit 4 (d4) se describe con 0 despus de la ejecucin de la instruccin.

SFT_0E2

Programmierung MELSEC A und Q

5 53

SFT, SFTP
Ejemplo SFT

Instrucciones de desplazamiento

En el siguiente programa con flanco positivo de X8 se desplaza el estado de Y57 a Y5B. Con el flanco positivo de X7 se aplica el Y57.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SFT__MB1, SFT__KB1, SFT__IB1, SFT_0B2

5 54

Programmierung MELSEC A und Q

Instrucciones de control maestro

MC, MCR

5.5
5.5.1
INDICACIN CPU

Instrucciones de control maestro


MC, MCR
En los editores IEC no deben utilizarse estas instrucciones.
AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X n d


1 2

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

3/5 1
2

La funcin de ndice est disponible exclusivamente en las CPUs AnA, AnAS o AnU. La cantidad de pasos es de 5 para la instruccin MC y de 3 para la instruccin MCR. Mayores informaciones acerca de la cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indican en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit n d

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros N

Error Flag

Pasos

DY 1/2 1

La cantidad de pasos es de 2 para la instruccin MC y de 1 para la instruccin MCR.

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MC___ME1, MC___KE1, MC___IE1

GX Developer

MC___GE1

Variables

Operando n d

Valor de comando Nivel para el programa de anidado (Serie A = N0 - N7, Serie Q/System Q = N0 - N14) Operando que activa el nivel de anidado.

Tipo de datos Nivel Bit

Programmierung MELSEC A und Q

5 55

MC, MCR
Funcionamiento

Instrucciones de control maestro

Activacin/Desactivacin de reas particulares del programa Generalidades La instruccin MC se aplica para conmutar eficientemente entras las diferentes reas de programa para la ejecucin de procesos particulares. Despus de la activacin de la condicin de entrada se ejecuta el rea de programa entre la direccin de destino d y la instruccin MCR. El rea de la instruccin MC se determina mediante la indicacin del nivel (N0 a N7 para la serie A y N0 a N14 para la serie Q/System Q). Ya que no es posible ofrecer una programacin ilustrada de la instruccin MC/MCR con el GX IEC Developer, se aplican aqu los planos de contacto del software del GX Developer para fines de ilustracin. El plano de contactos indica el funcionamiento de la instruccin MC. En caso de una entrada X0 desactivada se omite mediante salto (1) el rea de programa que se encuentra en el nivel 1 (identificado por N1. Despus de la activacin del X0 se ejecuta el rea de programa que se encuentra en N1, hasta llegar a la instruccin MCR (2). En la programacin de una instruccin MC en el modo de plano de contactos, no debe ingresarse la forma de instruccin en modo particular. Despus de la conversin de las entradas se indican automticamente los contactos MC.

MC_AB1

MC

Activacin de reas particulares del programa

La instruccin MC es la instruccin inicial para el control maestro para llamar un rea de programa definido. Cuando est activada la condicin de entrada de la instruccin MC, se procesan en forma normal las direcciones de operandos ubicados entre las instrucciones MC y MCR. El procesamiento continuo de las direcciones de operandos que se encuentran entre las instrucciones MC y MCR se efecta tambin despus de desactivar la condicin de entrada para la instruccin MC. Esto no causa una abreviacin del tiempo de ciclo de programa. Cuando se desactiva la condicin de entrada, se procesan los operandos ubicados entre las instrucciones MC y MCR del siguiente modo:
Operandos Temporizador 10 ms Temporizador 100 ms Temporizador remanente 10 ms (solo serie Q y System Q) Temporizador remanente 100 ms Contador Operandos en una instruccin Out Operandos en una instruccin SET, RST y SFT Procesamiento El valor de conteo se ajusta en 0. Se desactivan los contactos de entrada y salida Se mantienen el valor de conteo y el estado de los contactos de entrada. Se desactiva el contacto de salida. Se desactivan todas las salidas. Se mantiene el estado real.

5 56

Programmierung MELSEC A und Q

Instrucciones de control maestro

MC, MCR

INDICACIN

Si se encuentra una instruccin en el rea de programa entre las instrucciones MC y MCR, para la cual no debe programarse una condicin inmediata de entrada (FOR a NEXT, EI, DI etc), el PLC ejecuta esta instruccin sin consideracin de la condicin de entrada para la instruccin MC.

Dentro de la instruccin MC se posibilitan nmeros de niveles idnticos cuando se aplicaron diferentes direcciones de operandos d. Despus de la aplicacin de la instruccin MC se activa el contacto del operando indicado en d. En caso que el operando est disponible tambin en otra posicin como condicin de entrada en el programa, se procesan los contactos como contacto doble y se activan y desactivan en forma paralela. Por lo tanto, el operando indicado en d no debe existir una segunda vez en el programa.

MCR

Desactivacin de reas particulares del programa

La instruccin MCR repone la instruccin MC y identifica el fin del rea de programa para el control maestro. Una instruccin MCR no debe excitarse mediante un contacto de entrada.

Los siguientes puntos deben observarse para la programacin de direcciones de anidado: El anidado se posiblita en la serie Q o bien en el System Q en 15 niveles de N0 a N14 y en la serie A en 8 niveles de N0 a N7. El primer rea de programa que se activa mediante una instruccin MC, debe empezar con la direccin de anidado ms bajo y la primera instruccin MCR debe empezar con la direccin de anidado ms alta. Al asignar las direcciones de anidado en otra secuencia, se efecta una asignacin errnea de los niveles de ejecucin (1, 2) y el PLC no puede procesar correctamente el programa. La siguiente ilustracin explica esto con mayor detalle.

MC_AB3

Programmierung MELSEC A und Q

5 57

MC, MCR

Instrucciones de control maestro

En caso de existir varias instrucciones MCR secuenciales, puede abreviarse el programa de tal modo que se programa solamente una vez la direccin ms baja de anidado para terminar todos los programas MC parciales.

MC_AB4

5 58

Programmierung MELSEC A und Q

Instrucciones de control maestro

MC, MCR

Ejemplo

MC, MCR Una instruccin MC se programa en combinacin con una direccin de anidado N para la determinacin del nivel de ejecucin. Las direcciones de anidado puede asignarse en la serie Q y en el System Q en el rango entre N0 y N14 y en la serie A entre N0 a N7. Mediante las direcciones de anidado puede determinarse la secuencia de ejecucin de los reas de programas MC. El ejemplo muestra un ejemplo de programa con diferentes niveles de ejecucin bajo aplicacin de las direcciones de anidado. Para una mayor comprensin se indica aqu tambin el plano de contactos del GX Developer.

MC_AB2

Programmierung MELSEC A und Q

5 59

MC, MCR

Instrucciones de control maestro

Adicionalmente se indica a continuacin la visualizacin en el GX Developer para este ejemplo.

Lista de instrucciones

Plano de

Lista de instrucciones IEC

MC__MB1, MC__KB1, MC___IB1

5 60

Programmierung MELSEC A und Q

Definicin del fin de programa

FEND

5.6
5.6.1
INDICACIN CPU

Definicin del fin de programa


FEND
En los editores IEC no debe utilizarse esta instruccin.
AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes Otros Error Flag Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FEND_ME1, FEND_KE1, FEND_IE1

GX Developer

FEND_GE1

Variables

Operando

Valor de comando

Tipo de datos

Programmierung MELSEC A und Q

5 61

FEND
Funcionamiento Terminacin de un rea de programa FEND

Definicin del fin de programa

Instruccin para la terminacin de un rea de programa

La instruccin FEND identifica el fin de un rea de programa. Esta rea puede ser un rea de programa principal como tambin un rea de subprograma. Despus de ejecutar la instruccin FEND, el programa salta hacia la instruccin END. La ejecucin de los procesos internos, como el procesamiento de temporizador o contador o bien el autodiagnstico de la CPU, se inicia nuevamente con el paso de programa 0. El ejemplo al lado izquierdo muestra la terminacin de reas de programas en una bifurcacin en un subprograma mediante una instruccin CJ. En la ejecucin de una instruccin se ejecuta el programa hasta la siguiente instruccin FEND detrs del rea de programa al cual se salt. Sin ejecucin de la instruccin CJ salta el programa retornando hacia el paso de programa 0 despus de alcanzar la primera instruccin FEND en el programa. El programa derecho muestra la aplicacin de una instruccin FEND para separar la rea de programa principal de una rea de subprograma o bien un rea de programa de interrupcin.

1 2

Rutina de programa principal Rutina de subprograma 3 Rutina de interrupcin


FEND0E1

INDICACIN

En el GX Developer debe programarse la instruccin FEND por el usuario. Despus de haber procesado esta unidad de organizacin de programa, no se ejecuta ninguna otra ms, ya que se encuentra en la instruccin FEND. Una alternativa para esta programacin es la programacin en el editor IEC. En este caso se aplica automticamente la instruccin FEND en el GX IEC Developer.

5 62

Programmierung MELSEC A und Q

Definicin del fin de programa

FEND

Fuente de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Despus de la ejecucin de una instruccin CALL, FCALL, ECALL o EFCALL, se ejecuta la instruccin FEND antes de procesar una instruccin RET (serie Q/System Q = Cdigo de error 4211). Despus de la ejecucin de una instruccin FOR se ejecuta la instruccin FEND antes de procesar una instruccin NEXT (serie Q = Cdigo de error 4200). La instruccin FEND se ejecuta durante un programa de interrupcin y antes de una instruccin IRET (serie Q/System Q = Cdigo de error 4221). La instruccin FEND se ejecuta entre una instruccin CHKCIR y una instruccin CHKEND (serie Q/System Q = Cdigo de error 4230). La instruccin FEND se ejecuta entre una instruccin IX y una instruccin IXEND (serie Q/System Q = Cdigo de error 4231).

Programmierung MELSEC A und Q

5 63

END
5.6.2
INDICACIN CPU

Definicin del fin de programa

END
En los editores IEC no debe utilizarse esta instruccin.
AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes K, H (16#) Otros U SM0 1 Error Flag Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

END__ME1, END__KE1

GX Developer

END__GE1

Variables

Operando

Valor de comando

Tipo de datos

5 64

Programmierung MELSEC A und Q

Definicin del fin de programa

END

Funcionamiento

Fin de un programa principal o subordinado END Instruccin para la terminacin de programa

La instruccin END determina el fin de un programa. En este paso se inicia nuevamente el ciclo de programa con el paso de programa 0.

END_0E1

Subprograma

Una instruccin END no puede programarse dentro de una rutina de programa. Para la terminacin de una rutina de programa debe programarse la instruccin FEND. En caso de no aplicar una instruccin END en el programa, se emite un mensaje de error en el inicio del programa y se interrumpe el procesamiento por el PLC. En caso de no haber determinado el alcance del subprograma a traves de sus parmetros, se emite tambin un mensaje de error cuando no se program una instruccin END. La programacin correcta de la instruccin END y FEND en las diferentes rutinas de programa se explica con mayor detalle en la siguiente ilustracin.

1 2

Rutina de programa principal Rutina de subprograma 3 Rutina de interrupcin 4 Programa principal


END_0E2

INDICACIN

El GX Developer y el GX IEC Developer generan la instruccin END en forma automtica.

Programmierung MELSEC A und Q

5 65

END
Fuente de error

Definicin del fin de programa

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El destino de salto de una instruccin CJ, SCJ o JMP se encuentra por debajo de la instruccin END. Se consult una rutina de subprograma o de interrupcin por debajo de la instruccin END. Despus de la ejecucin de una instruccin CALL, FCALL, ECALL o EFCALL, se ejecuta la instruccin END antes de procesar una instruccin RET (serie Q/System Q = Cdigo de error 4211). Despus de la ejecucin de una instruccin FOR se ejecuta la instruccin END antes de procesar una instruccin NEXT (serie Q/System Q = Cdigo de error 4200). La instruccin END se ejecuta durante un programa de interrupcin y antes de una instruccin IRET (serie Q/System Q = Cdigo de error 4221). La instruccin END se ejecuta entre una instruccin CHKCIR y una instruccin CHKEND (serie Q/System Q = Cdigo de error 4230). La instruccin END se ejecuta entre una instruccin IX y una instruccin IXEND (serie Q/System Q = Cdigo de error 4231).

5 66

Programmierung MELSEC A und Q

Otras instrucciones

STOP

5.7
5.7.1

Otras instrucciones
STOP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag

Error Flag

M9010 M9012 M9011 1

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes K, H (16#) Otros U SM0 1 Error Flag Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

STOP__ME1, STOP__KE1, STOP_IE1

GX Developer

STOP__GE1

Variables

Operando

Valor de comando

Tipo de datos

Programmierung MELSEC A und Q

5 67

STOP
Funcionamiento Interrupcin del procesamiento STOP Instruccin de interrupcin

Otras instrucciones

Despus de activar la condicin de entrada, se desactivan todas las salidas (Y) y se detiene el procesamiento de programa del PLC. La funcin corresponde a la conmutacin del conmutador RUN-STOP (mdulo de CPU) en la posicin STOP. En la ejecucin de la instruccin STOP en las CPUs de la serie Q y del System Q, se ajusta el 5 al 8 bit (b4 a b7) del registro SD203 en 3.

b15 b12b11

b8b7

b4b3

b0

SD203

0011 1
STOP0E1

Nmero 3 en formato binario

En la ejecucin de la instruccin STOP, se ajusta el 9 bit (b8) del registro especial D9015 en 1 en la serie A de las CPUs.

b15 b12b11

b8b7

b4b3

b0

SD203

0011 1

STOP0E2

Se ajusta en 1.

Para retomar nuevamente el procesamiento del PLC despus de ejecutar la instruccin STOP, debe conmutarse el conmutador RUN-STOP brevemente de RUN a STOP para colocarlo luego nuevamente en RUN. En caso que el conmutador RESET se conmuta a LATCH CLEAR despus de ejecutar la instruccin RESET, no se causa por esto ningn efecto en el contenido de la memoria intermedia. Para la eliminacin del contenido de memoria intermedia debe conmutarse el conmutador RUN/STOP primero en STOP para ajustar luego el conmutador RESET en L.CL. (LATCH CLEAR).

5 68

Programmierung MELSEC A und Q

Otras instrucciones

STOP

Fuente de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Despus de la ejecucin de una instruccin CALL, FCALL, ECALL o EFCALL, se ejecuta la instruccin END antes de procesar una instruccin RET (serie Q/System Q = Cdigo de error 4211). Despus de la ejecucin de una instruccin FOR se ejecuta la instruccin END antes de procesar una instruccin NEXT (serie Q/System Q = Cdigo de error 4200). La instruccin END se ejecuta durante un programa de interrupcin y antes de una instruccin IRET (serie Q/System Q = Cdigo de error 4221). La instruccin END se ejecuta entre una instruccin CHKCIR y una instruccin CHKEND (serie Q/System Q = Cdigo de error 4230). La instruccin END se ejecuta entre una instruccin IX y una instruccin IXEND (serie Q/System Q = Cdigo de error 4231).

Ejemplo

STOP En el siguiente programa se interrumpe el procesamiento al activarse el X8. Todos los siguientes pasos de programa se trabajan despus del ajuste del conmutador RUN-STOP de RUN a STOP para colocarlo luego nuevamente en RUN.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

STOP_MB1, STOP_KB1, STOP_IB1

Programmierung MELSEC A und Q

5 69

NOP
5.7.2 NOP

Otras instrucciones

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes K, H (16#) Otros Error Flag Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

NOP__ME1

GX Developer

NOP__GE1

Variables

Operando

Valor de comando

Tipo de datos

5 70

Programmierung MELSEC A und Q

Otras instrucciones

NOP

Funcionamiento

Pasos en vaco NOP Pasos en vaco en programa

La instruccin NOP (No OPeration) describe un paso en vaco en el programa y no tiene ningn efecto en el procesamiento de las partes existentes del programa. Se genera un paso en vaco lgico del programa que puede llenarse posteriormente con otras instrucciones en un programa no terminado. La programacin de una instruccin NOP resulta sensata en los siguientes casos: Posiciones en vaco para la eliminacin de errores en un programa de proceso; Eliminacin de una instruccin (sobreescribir con NOP), sin modificar los nmeros de paso de programa; Eliminacin transitoria de una instruccin para su edicin posterior. INDICACIN

Despus de terminar la secuencia de programacin, debe eliminarse las instrucciones NOP dentro de lo posible para abreviar as el tiempo de ciclo de programa.

Ejemplo 1

NOP En el siguiente programa se reemplazan los contactos de enlace (AND) por pasos en vaco para fines de eliminacin de errores.

NOP_MB1A, NOP_KB1A, NOP_MB1B, NOP_KB1B

Ejemplo 2

NOP En el siguiente programa se reemplaza una instrccin LD por una instruccin NOP.

NOP_MB2A, NOP_KB2A, NOP_MB2B, NOP_KB2B

Programmierung MELSEC A und Q

5 71

NOP
Ejemplo 3 NOP

Otras instrucciones

En el siguiente programa se reemplaza una instrccin LD por una instruccin NOP.

NOP_MB3A, NOP_KB3A, NOP_MB3B, NOP_KB3B

INDICACIN

El reemplazo de un contacto de entrada (LD, LDI) por una instruccin NOP debe realizarse con especial cuidado ya que esto modifica considerablemente la lgica del programa.

5 72

Programmierung MELSEC A und Q

NOP

Otras instrucciones

5 73

Programmierung MELSEC A und Q

NOP

Otras instrucciones

5 74

Programmierung MELSEC A und Q

Instrucciones de aplicacin Parte I


Las instrucciones de aplicacin Parte I contienen las instrucciones que pueden procesar los datos numricos de 16 y 32 bits, los nmeros de coma flotante y las secuencias de caracteres. En primer lugar se ejecutan operaciones de comparacin y clculo mediante estas instrucciones de aplicacin.

Segmentacin Instrucciones de comparacin Instrucciones aritmticas

Significado Comparacin de datos, por ejemplo =, >, Adicin, sustraccin, multiplicacin, divisin, de datos BIN y BCD, nmeros de coma flotante y bloques de datos BIN, enlace de secuencias de caracteres, incremento, decremento Conversin de datos, por ejemplo BCD BIN y BIN BCD Transferencia, intercambio y negacin de datos Salto, llamada de programa subordinado

Instrucciones de conversin Instrucciones de transferencia Instrucciones de bifurcacin de programa

Instrucciones para llamada de programa de interrupcin Llamada de programa de interrupcin Instrucciones de actualizacin de datos Otras instrucciones Refrescamiento de enlace y refrescamiento de interfaz de entrada/salida Contador de 1 / 2 fases incrementador/decrementador, Temporizador programable, temporizador de funcin especial, Instruccin de posicionamiento, seal de rampa, Contador de impulsos, salida de impulsos, modulacin de ancho en tiempo, matriz de entrada

Programacin MELSEC A y Q

61

Instrucciones de comparacin

6.1

Instrucciones de comparacin
Las instrucciones de comparacin pueden ejecutar comparaciones de volumen (por ejemplo, igual a =, mayor a >, menor a <, etc.) entre dos registros de datos. La programacin de las instrucciones de comparacin se efecta en el mismo modo como las instrucciones correspondientes del conjunto de comandos bsicos: LD, LDI LD=, LDD= AND, ANI AND=, ANDD= OR, ORI OR=, ORD=

Funcin

Instruccin MELSEC en el Editor MELSEC LD= AND= OR= LDD= AND= ORD=

Instruccin MELSEC en el Editor IEC LD_EQ_M AND_EQ_M OR_EQ_M LDD_EQ_M ANDD_EQ_M ORD_EQ_M LD_EEQ_M AND_EEQ_M OR_EEQ_M LD_STRING _EQ_M AND_STRING _EQ_M OR_STRING _EQ_M BKCMP_EQ_M BKCMP_EQP_M LD_NE_M AND_NE_M OR_NE_M LDD_NE_M ANDD_NE_M ORD_NE_M LD_ENE_M AND_ENE_M OR_ENE_M LD_STRING _NE_M AND_STRING _NE_M OR_STRING _NE_M BKCMP_NE_M BKCMP_NEP_M

Funcin

Instruccin MELSEC en el Editor MELSEC LD<= AND<= OR<= LDD<= ANDD<= ORD<=

Instruccin MELSEC en el Editor IEC LD_LE_M AND_LE_M OR_LE_M LDD_LE_M ANDD_LE_M ORD_LE_M LD_ELE_M AND_ELE_M OR_ELE_M LD_STRING _LE_M AND_STRING _LE_M OR_STRING _LE_M BKCMP_LE_M BKCMP_LEP_M LD_LT_M AND_LT_M OR_LT_M LDD_LT_M ANDD_LT_M ORD_LT_M LD_ELT_M AND_ELT_M OR_ELT_M LD_STRING _LT_M AND_STRING _LT_M OR_STRING _LT_M BKCMP_LT_M BKCMP_LTP_M

=
igual

LDE= ANDE= ORE= LD$= AND$= OR$= BKCMP= BKCMP=P LD<> AND<> OR<> LDD<> ANDD<> ORD<>

menor igual

LDE<= ANDE<= ORE<= LD$<= AND$<= OR$<= BKCMP<= BKCMP<=P LD< AND< OR< LDD< ANDD< ORD<

desigual

LDE<> ANDE<> ORE<> LD$<> AND$<> OR$<> BKCMP<> BKCMP<>P

<
menor

LDE< ANDE< ORE< LD$< AND$< OR$< BKCMP< BKCMP<P

62

Programacin MELSEC A y Q

Instrucciones de comparacin

Funcin

Instruccin MELSEC en el Editor MELSEC LD> AND> OR> LDD> ANDD> ORD>

Instruccin MELSEC en el Editor IEC LD_GT_M AND_GT_M OR_GT_M LDD_GT_M ANDD_GT_M ORD_GT_M LD_EGT_M AND_EGT_M OR_EGT_M LD_STRING _GT_M AND_STRING _GT_M OR_STRING _GT_M BKCMP_GT_M BKCMP_GTP_M

Funcin

Instruccin MELSEC en el Editor MELSEC LD>= AND>= OR>= LDD>= ANDD>= ORD>=

Instruccin MELSEC en el Editor IEC LD_GE_M AND_GE_M OR_GE_M LDD_GE_M ANDD_GE_M ORD_GE_M LD_EGE_M AND_EGE_M OR_EGE_M LD_STRING _GE_M AND_STRING _GE_M OR_STRING _GE_M BKCMP_GE_M BKCMP_GEP_M

>
mayor

LDE> ANDE> ORE> LD$> AND$> OR$> BKCMP> BKCMP>P

mayor igual

LDE>= ANDE>= ORE>= LD$>= AND$>= OR$>= BKCMP>= BKCMP>=P

INDICACIN

Se recomienda utilizar los comandos IEC en los editores IEC.


Lista de comandos IEC
Funcin = <> <= < >= > OMANDO IEC EQ NE LE LT GE GT Significado Igual Desigual Menor igual Menor a Mayor igual Mayor a

Condiciones de ejecucin La siguiente ilustracin muestra las condiciones de ejecucin de las diferentes instrucciones de comparacin.

= 1 = AN = 0 = DESC

LDORI0B1

Programacin MELSEC A y Q

63

Instrucciones de comparacin

INDICACIN

En las comparaciones de instruccin se procesan todos los valores de datos referidos como valores binarios. En la comparacin 16#8000 > 16#7999 se ajusta el resultado de comparacin en FALSO aunque en realidad se esper el resultado VERDADERO. Los valores se convierten binariamente por lo que se aplica tambin el bit 15 (b15). En caso de haber aplicado el bit 15, el nmero se vuelve negativo automticamente.

Ejemplo 1

Comparacin de 2 valores BCD de cuatro posiciones

8731H se procesa binariamente como -30927 y 568H como 1384. Ya que el resultado de comparacin es -30927 > 1384, no se aplica el Y10.

EINLAB1

En las funciones de comparacin con datos de 32 bits debe determinarse el valor numrico de entrada mediante una instruccin de 32 bits, como por ejemplo, DMOV. Cuando la determinacin se efecta mediante una instruccin de 16 bits, como por ejemplo, MOV, no puede ejecutarse bien la funcin, ya que en las comparaciones de 32 bits se utiliza siempre el valor de datos n y (n+1).

Ejemplo 2

Funcin de comparacin de datos de 32 bits

EINLAB2, EINLAB3, LDORI0B2

El ejemplo muestra dos operaciones de comparacin con datos de 32 bits. En el programa superior se activa el M5, ya que se determinaron aqu ambos valores mediante la instruccin DMOV de 32 bits. En el programa inferior no se presenta un resultado inequvoco, ya que el valor del byte superior no se ha definido inequvocamente. INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

64

Programacin MELSEC A y Q

Instrucciones de comparacin

=, < >, >, < =, <, > =

6.1.1

=, < >, >, < =, <, > =

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K


Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

s1 s2
1

K1 K4

5/7
1

La cantidad de pasos es igual a 7 cuando se ejecut la funcin de ndice, cuando el largo de bloque de un operando de bit no es K4 o bien cuando la direccin cabezal de un operando de bit no corresponde a un valor mltiple de 8 (o bien 16 en una CPU A3H, A3M, AnA, AnAS o AnU). La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s1 s2

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

V____ME1, V____KE1, V____IE1

GX Developer

V___GE1

Variables

Operando s1 s2

Valor de comando Datos de comparacin u operando, en el cual se almacenaron los datos de comparacin.

Tipo de datos BIN-16-Bit

Programacin MELSEC A y Q

65

=, < >, >, < =, <, > =


Funcionamiento Comparacin de datos binarios de 16 bits =, <>, >, <=, <, >= Instrucciones de comparacin

Instrucciones de comparacin

Una instruccin de comparacin de 16 bits se compone de la instruccin misma y de los datos s1 y s2 que deben compararse entre s. Las instrucciones de comparacin registradas se manejan como un contacto de trabajo. La comparacin de datos se ejecuta con datos de 16 bits. La salida siguiente conmuta en funcin del resultado de la funcin de comparacin. Las condiciones de conmutacin correspondientes se indican en la siguiente tabla.

Smbolo de la instruccin = <> > <= < >=

Estado de la salida 1 cuando: s1 = s2 s1 s2 s1 > s2 s1 s2 s1 < s2 s1 s2 0 cuando: s1 s2 s1 = s2 s1 s2 s1 > s2 s1 s2 s1 < s2

INDICACIN

En las comparaciones de instruccin se procesan todos los valores de datos referidos como valores binarios. En la comparacin 16#8000 > 16#7999 se ajusta el resultado de comparacin en ERRONEO aunque en realidad se esper el resultado VERDADERO. Los valores se convierten binariamente por lo que se aplica tambin el bit 15 (b15). En caso de haber aplicado el bit 15, el nmero se vuelve automticamente negativo.

Ejemplo 1

Instruccin de comparacin = El siguiente programa compara los datos de XX0 hasta XF con el valor de datos en D3. En caso que ambos valores sean idnticos, se aplica el Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

V____MB1, V____KB1, V____IB1

66

Programacin MELSEC A y Q

Instrucciones de comparacin

=, < >, >, < =, <, > =

Ejemplo 2

Instruccin de comparacin <> El siguiente programa compara el valor binario 100 con el valor de datos en D3. En caso que el valor en D3 es distinto a 100 y el M3 est aplicado, se aplica el Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

V____MB2, V____KB2, V____IB2

Ejemplo 3

Instruccin de comparacin > El siguiente programa compara el valor binario 100 con el valor de datos en D3. En caso que el valor en D3 es menor a 100 y el M3 est aplicado, se aplica el Y33. Cuando est aplicado el M8 y M3, se aplica tambin Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

V____MB3, V____KB3, V____IB3

Ejemplo 4

Instruccin de comparacin <= El siguiente programa compara el valor de datos 100 en D0 con el valor de datos en D3. En caso que el valor en D0 es menor o igual a D3, se aplica el Y33. Cuando est aplicado el M8 y M3, se aplica tambin Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

V____MB4, V____KB4, V____IB4

Programacin MELSEC A y Q

67

D=, D<>, D>, D<=, D<, D>=


6.1.2 D=, D<>, D>, D<=, D<, D>=

Instrucciones de comparacin

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z


Largo de bloque

Constante V K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

s1 s2
1

K1 K8

11
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Registro de Bit Palabra archivos MELSECNET/10 Directo J\ Bit

Operandos MELSEC Q

Mdulos especiales Registro U\G de ndice Zn Palabra


Constantes K, H (16#)

Otros

Error Flag

Pasos

s1 s2
1

31)

La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 5 Constantes: 5 Operandos de bit cuya direccin es un valor mltiple de 16, que disponen de la denominacin de bloque de bit K8 y que no han sido procesados por la asignacin de ndice: 5 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados: 3

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

D____ME1, D____KE1, D____IE1

GX Developer

Variables

Operando s1 s2

Valor de comando Datos de comparacin u operando, en el cual se almacenaron los datos de comparacin.

Tipo de datos BIN-32-Bit

68

Programacin MELSEC A y Q

Instrucciones de comparacin

D=, D<>, D>, D<=, D<, D>=

Funcionamiento

Comparacin de datos binarios de 32 bits D=, D<>, D>, D<=, D<, D>= Instrucciones de comparacin Una instruccin de comparacin de 32 bits se compone de la instruccin misma y de los datos s1 y s2 que deben compararse entre s. Las instrucciones de comparacin registradas se manejan como un contacto de trabajo. La comparacin de datos se ejecuta con datos de 32 bits. La salida siguiente conmuta en funcin del resultado de la funcin de comparacin. Las condiciones de conmutacin correspondientes se indican en la siguiente tabla.

Smbolo de la instruccin D= D<> D> D<= D< D>=

Estado de la salida 1 cuando: s1 = s2 s1 s2 s1 > s2 s1 s2 s1 < s2 s1 s2 0 cuando: s1 s2 s1 = s2 s1 s2 s1 > s2 s1 s2 s1 < s2

INDICACIN

En las comparaciones de instruccin se procesan todos los valores de datos referidos como valores binarios. En la comparacin 16#8000 > 16#7999 se ajusta el resultado de comparacin en FALSO aunque en realidad se esper el resultado VERDADERO. Los valores se convierten binariamente por lo que se aplica tambin el bit 15 (b15). En caso de haber aplicado el bit 15, el nmero se vuelve automticamente negativo.

Ejemplo 1

Instruccin de comparacin D= El siguiente programa compara los datos de X0 hasta X1F con el valor de datos en D3 y D4. En caso que ambos valores sean idnticos, se aplica el Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

D____MB1, D____KB1, D____IB1

Programacin MELSEC A y Q

69

D=, D<>, D>, D<=, D<, D>=


Ejemplo 2 Instruccin de comparacin D<>

Instrucciones de comparacin

El siguiente programa compara el valor binario 38000 con el valor de datos en D3 y D4. En caso que el valor en D3 y D4 es distinto a 38000 y el M3 est aplicado, se aplica el Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

D____MB2, D____KB2, D____IB2

Ejemplo 3

Instruccin de comparacin D> El siguiente programa compara el valor binario -80000 con el valor de datos en D3 y D4. En caso que el valor en D3 y D4 es menor a -80000 y el M3 est aplicado, se aplica el Y33. Cuando est aplicado el M8 y M3, se aplica tambin la salida Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

D____MB3, D____KB3, D____IB3

Ejemplo 4

Instruccin de comparacin D<= El siguiente programa compara el valor de datos en D0 y D1 con el valor de datos en D3 y D4. En caso que el valor en D3 y D4 es mayor o igual a D0 y D1, se aplica el Y33. Cuando est aplicado el M8 y M3, se aplica tambin la salida Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

D____MB4, D____KB4, D____IB4

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 10

Programacin MELSEC A y Q

Instrucciones de comparacin

E=, E<>, E>, E< =, E<, E>=

6.1.3

E=, E<>, E>, E< =, E<, E>=

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit Palabra


Mdulos especiale Registro de ndice s Zn U\G


Constantes E

Otros

Error Flag

Pasos

s1 s2

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

E____ME1, E____KE1, E____IE1

Variables

Operando s1 s2

Valor de comando Datos de comparacin u operando, en el cual se almacenaron los datos de comparacin.

Tipo de datos Nmeros reales

Programacin MELSEC A y Q

6 11

E=, E<>, E>, E< =, E<, E>=


Funcionamiento Comparacin de nmeros de coma flotante E=, E<>, E>, E<=, E<, E>= Instrucciones de comparacin

Instrucciones de comparacin

Una instruccin de comparacin para nmeros de coma flotante se compone de la instruccin misma y de los datos s1 y s2 que deben compararse entre s. Las instrucciones de comparacin registradas se manejan como un contacto de trabajo. La comparacin de datos se ejecuta con nmeros de coma flotante. La salida siguiente conmuta en funcin del resultado de la funcin de comparacin. Las condiciones de conmutacin correspondientes se indican en la siguiente tabla.

Smbolo de la instruccin E= E<> E> E<= E< E>=

Estado de la salida 1 cuando: s1 = s2 s1 s2 s1 > s2 s1 s2 s1 < s2 s1 s2 0 cuando: s1 s2 s1 = s2 s1 s2 s1 > s2 s1 s2 s1 < s2

INDICACIN

En la comparacin de nmeros de coma flotante debe observarse que en caso dado, dos valores idnticos antes de una operacin, ya no resultan idnticos despus de esta operacin a causa de errores de redondeo. En este caso no se aplica el rel interno M0 en el ejemplo indicado a continuacin.

E____AB1

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informciones se encuentran en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.

6 12

Programacin MELSEC A y Q

Instrucciones de comparacin

E=, E<>, E>, E< =, E<, E>=

Ejemplo 1

Instruccin de comparacin E= El siguiente programa compara el nmero de coma flotante almacenado en D0 y D1 con el nmero de coma flotante almacenado en D3 y D4. En caso que ambos valores sean idnticos, se aplica el Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

E____MB1, E____KB1, E____IB1

Ejemplo 2

Instruccin de comparacin E<> El siguiente programa compara el nmero de coma flotante 1.23 con el nmero de coma flotante almacenado en D3 y D4. En caso que el valor en D3 y D4 es distinto a 1.23 y el M3 est aplicado, se aplica el Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

E____MB2, E____KB2, E____IB2

Ejemplo 3

Instruccin de comparacin E> El siguiente programa compara el nmero de coma flotante almacenado en D0 y D1 con el nmero de coma flotante almacenado en D3 y D4. En caso que el valor en D3 y D4 es menor al valor en D0 y 1 y el M3 est aplicado, se aplica el Y33. Cuando est aplicado el M8 y M3, se aplica tambin la salida Y3.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

E____MB3, E____KB3, E____IB3

Programacin MELSEC A y Q

6 13

E=, E<>, E>, E< =, E<, E>=


Ejemplo 4 Instruccin de comparacin E<=

Instrucciones de comparacin

El siguiente programa compara el nmero de coma flotante almacenado en D0 y D1 con el nmero de coma flotante 1.23. En caso que el valor en D0 y D1 es menor o igual a 1.23, se aplica el Y33. Cuando est aplicado el M8 y M3, se aplica tambin la salida Y33.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

E____MB4, E____KB4, E____IB4

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 14

Programacin MELSEC A y Q

Instrucciones de comparacin

$ =, $ < >, $ >, $ < =, $ <, $ > =

6.1.4

$ =, $ < >, $ >, $ < =, $ <, $ > =

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes $

Otros

Error Flag

Pasos

s1 s2

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

S____ME1, S____KE1, S____IE1

GX Developer

S___GE1

Variables

Operando s1 s2

Valor de comando Primera direccin de los datos de comparacin u operando, en el cual se almacenaron los datos de comparacin.

Tipo de datos Secuencia de caracteres

Programacin MELSEC A y Q

6 15

$ =, $ < >, $ >, $ < =, $ <, $ > =


Funcionamiento Comparacin con secuencias de caracteres $=, $<>, $>, $<=, $<, $>= Instrucciones de comparacin

Instrucciones de comparacin

Una instruccin de comparacin para secuencias de caracteres se compone de la instruccin misma y de los datos s1 y s2 que deben compararse entre s. Las instrucciones de comparacin registradas se manejan como un contacto de trabajo. La comparacin de datos de las secuencias de caracteres en cdigo ASCII se ejecuta por caracteres y comienza con el primer caracter de la secuencia de caracteres. Las secuencias de caracteres almacenados en s1 y s2 comienzan con el byte de valor ms bajo (primer caracter) y terminan con el cdigo "00H". Para el caso que ambas secuencias de caracteres tengan el mismo contenido y el mismo tamao, el resultado de las instrucciones $=, $<= y $>= es igual a 1.

SSSS_0E1

En caso de secuencias de caracteres diferentes, se reconoce la secuencia de caracteres con el cdigo de caracteres ms alto como valor mayor.

SSSS_0E2

El resultado de las instrucciones $<>, $> y $>= es igual a 1 en el caso arriba indicado.

En caso de secuencias diferentes de caracteres es el primer caracter divergente de la otra secuencia de caracteres que determina a travs del valor del cdigo de caracter, cul secuencia de caracteres resulta ser la de valor mayor.

SSSS_0E3

El resultado de las instrucciones $<>, $> y $>= es igual a 1 en el caso arriba indicado.

6 16

Programacin MELSEC A y Q

Instrucciones de comparacin

$ =, $ < >, $ >, $ < =, $ <, $ > =

En caso de secuencias de caracteres de largos diferentes, se reconoce la secuencia de caracteres ms larga como la de valor mayor.

SSSS_0E4

El resultado de las instrucciones $<>, $> y $>= es igual a 1 en el caso arriba indicado.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El cdigo "00H" no existe dentro del rango de datos s1 y s2 (cdigo de error 4101).

INDICACIN

La instruccin de comparacin para secuencias de caracteres controla simultneamente el rango de datos previsto para el almacenamiento. Debido a este motivo, se emite el resultado de la instruccin sin mensaje de error en los casos donde la secuencia de caracteres almacenada sobrepasa este rango aunque se reconoce dentro de la secuencia de caractes como diferencia.

S____AB1, SSSS_0E5

En el ejemplo arriba indicado, los 16 bits de valor mayor (D12288) de la secuencia de caracteres almacenada en s1 se encuentran fuera del rango de datos previsto para al almacenamiento y obtienen el nuevo nombre W0 por el programa. Ya que el segundo caracter de la secuencia de caracteres almacenada en s1 diverge del caracter en s2, el resultado de la operacin de comparacin es igual a 0. El resultado (0) se emite sin mensaje de error porque la secuencia de caracteres se encuentra fuera de este rango de datos y una comparacin de los contenidos indica una diferencia. Estos programas no son ejecutables sin el cabezal de la Unidad de Organizacin de Programa (POE) en el GX IEC Developer. Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 17

$ =, $ < >, $ >, $ < =, $ <, $ > =


Ejemplo 1 Instruccin de comparacin $=

Instrucciones de comparacin

El siguiente programa compara las secuencias de caracteres en D0 con las secuencias de caracteres en D3. En caso que ambos valores sean idnticos, se aplica el Y33.

Lista de instrucciones MELSEC

Lista de instrucciones IEC

Plano de contactos

S____MB1, S____KB1, S____IB1

Ejemplo 2

Instruccin de comparacin $ <> El siguiente programa compara la secuencia de caracteres "ABCDEF" con la secuencia de caracteres almacenada en D10. En caso que el valor en D10 es diferente a la secuencia de caracteres en "ABCDEF", se aplica el Y33.

Lista de instrucciones MELSEC

Lista de instrucciones IEC

Plano de contactos

S____MB2, S____KB2, S____IB2

6 18

Programacin MELSEC A y Q

Instrucciones de comparacin

$ =, $ < >, $ >, $ < =, $ <, $ > =

Ejemplo 3

Instruccin de comparacin $ > El siguiente programa compara la secuencia de caracteres en D10 con la secuencia de caracteres en D100. En caso de reconocer la secuencia de caracteres en D10 como mayor, se aplica el Y33.

Lista de instrucciones MELSEC

Lista de instrucciones IEC

Plano de contactos

S____MB3, S____KB3, S____IB3

Ejemplo 4

Instruccin de comparacin $<= El siguiente programa compara las secuencias de caracteres en D0 con la secuencia de caracteres "12345". En caso de reconocer la secuencia de caracteres en D0 como menor, se aplica el Y33.

Lista de instrucciones MELSEC

Lista de instrucciones IEC

Plano de contactos

S____MB4, S____KB4, S____IB4

INDICACIN

Estos programas no son ejecutables sin el cabezal de la Unidad de Organizacin de Programa (POE) en el GX IEC Developer. Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 19

BKCMP, BKCMPP
6.1.5 BKCMP, BKCMPP

Instrucciones de comparacin

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s1 s2 d n


Palabra

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKCMPME1, BKCMPKE1, BKCMPIE1

GX Developer

BKCMPGE1

Variables

Operando s1 s2 d n

Valor de comando Datos de comparacin o primera direccin a partir de la cual se almacenan los datos de comparacin. Primera direccin a partir de la cual se almacenan los datos de comparacin. Primera direccin a partir de la cual deben almacenarse los datos de resultado de la comparacin. Cantidad de las direcciones a comparar (largo del bloque de datos).

Tipo de datos BIN-16-Bit BIN-16-Bit Bit BIN-16-Bit

6 20

Programacin MELSEC A y Q

Instrucciones de comparacin

BKCMP, BKCMPP

Funcionamiento

Comparacin por bloques de los datos binarios BKCMP Instrucciones de comparacin Una instruccin de comparacin para bloques de datos binarios se compone de la instruccin misma, de los datos s1 y s2 que deben compararse entre s, de la denominacin destina d en la cual se almacenan los resultados, as como de la cantidad n de los bloques de datos a comparar. Se compara el respectivo bloque N n de 16 bits de s1 con el bloque N n de 16 bits de s2, empezando con el bloque de 16 bits de valor inferior. El resultado de cada comparacin de bloques se almacena en d. Cuando el resultado de comparacin de un bloque es igual a 1, la entrada correspondiente en d es igual a 1. Cuando el resultado de comparacin de un bloque es igual a 0, la entrada correspondiente en d es igual a 0.

Las operaciones de comparacin se ejecutan en unidades de 16 bits respectivamente.

BKCMP0E1

Una constante almacenada en s1 debe componerse de un nmero binario de 16 bits entre 32768 y 32767.

Los resultados de comparacin de la instruccin respectiva se indican en la siguiente tabla.

BKCMP0E2

Smbolo de la instruccin BKCMP= BKCMP<> BKCMP> BKCMP<= BKCMP< BKCMP>=

Estado de la salida para el bloque N n de 16 bits 1 cuando: s1 = s2 s1 s2 s1 > s2 s1 s2 s1 < s2 s1 s2 0 cuando: s1 s2 s1 = s2 s1 s2 s1 > s2 s1 s2 s1 < s2

Cuando todos los resultados de comparacin de bloques almacenados en d tienen el valor 1, se aplica la seal de comparacin de bloques SM704. Los sitios de almacenamiento en d que tienen el valor de 1 antes de la entrada del resultado de comparacin, mantienen este valor. Debido a este motivo deben describirse con el valor de 0, los sitios de almacenamiento en d en caso de una aplicacin de la instruccin BKCMP_P antes de la nueva entrada de los resultados de comparacin, como por ejemplo, despus de modificar los datos s1 y s2.

Programacin MELSEC A y Q

6 21

BKCMP, BKCMPP
Fuentes de error

Instrucciones de comparacin

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad indicada en n de bloques de datos en s1, s2 y d se encuentra fuera del rango previsto para el almacenamiento de los operandos (MELSEC Q: Cdigo de error 4101). El rango [s1 hasta (s1)+(n-1)] se intercala con el rango [d hasta (d)+(n-1)] (Serie Q/System Q: Cdigo de error 4101). El rango [s2 hasta (s2)+(n-1)] se intercala con el rango [d hasta (d)+(n-1)] (Serie Q/System Q: Cdigo de error 4101). El rango [s1 hasta (s1)+(n-1)] se intercala con el rango [s2 hasta (s2)+(n-1)] (Serie Q/System Q: Cdigo de error 4101).

Ejemplo 1

Instruccin de comparacin BKCMP=P El siguiente programa ejecuta con flanco positivo (flanco ascendente) de X20, una operacin de comparacin entre los bloques de datos, comenzando con D100 y los que empiezan con R0. Los resultados de la comparacin se almacenan empezando con M10. La cantidad de bloques a comparar (4) se almacena en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKCMPMB1, BKCMPKB1, BKCMPIB1, BKCMP0B1

6 22

Programacin MELSEC A y Q

Instrucciones de comparacin

BKCMP, BKCMPP

Ejemplo 2

Instruccin de comparacin BKCMP<>P El siguiente programa ejecuta con flanco positivo de X1C, una operacin de comparacin entre la constante K1000 y los bloques de datos, empezando con D10. La cantidad de bloques a comparar (4) indica la constante K4. Los resultados de comparacin se almacenan en el D0 desde el bit 4 (b4) hasta el bit 7 (b7).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Ambos bits no cambian su estado despus de la operacin (vase el funcionamiento).


BKCMPMB2, BKCMPKB2, BKCMPIB2, BKCMP0B2

Programacin MELSEC A y Q

6 23

BKCMP, BKCMPP
Ejemplo 3 Instruccin de comparacin BKCMP<=

Instrucciones de comparacin

El siguiente programa ejecuta durante la duracin de activacin de X20, una operacin de comparacin entre los bloques de datos, comenzando con D10 y los bloques de datos que empiezan con D30. La cantidad de bloques a comparar (3) indica la constante K3. Los resultados de la comparacin se almacenan empezando con M100. Cuando todos los resultados en M100 tienen el valor de 1, se aplica la seal de comparacin de bloque SM704 y se transmite la secuencia de caracteres "ALL ON" hacia D100.

Lista de instrucciones MELSEC

Lista de instrucciones IEC

Plano de contactos

BKCMPMB3, BKCMPKB3, BKCMPIB3, BKCMP0B3

INDICACIN

Este programa no es ejecutable sin el cabezal de la Unidad de Organizacin de Programa (POE) en el GX IEC Developer. Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 24

Programacin MELSEC A y Q

Instrucciones aritmticas

6.2

Instrucciones aritmticas
Las instrucciones aritmticas son instrucciones para la ejecucin de simples funciones de clculo matemtico, como la adicin, sustraccin, multiplicacin y divisin de dos registros. En total estn disponibles 54 (Serie Q y System Q) o bien 40 (Serie A) diferentes funciones aritmticas.

BIN Funcin

BCD

Instruccin MELSEC Instruccin MELSEC Instruccin MELSEC Instruccin MELSEC en el en el en el en el Editor MELSEC Editor IEC Editor MELSEC Editor IEC + PLUS_M, PLUS_3_M PLUSP_M, PLUSP_3_M DPLUS_M, DPLUS_3_M DPLUSP_M, DPLUSP_3_M MINUS_M, MINUS_3_M MINUSP_M, MINUSP_3_M DMINUS_M, DMINUS_3_M DMINUSP_M, DMINUSP_3_M MULTI_3_M MULTIP_3_M DMULTI_3_M DMULTIP_3_M DIVID_3_M DIVIDP_3_M DDIVID_3_M DDIVIDP_3_M INC_M INCP_M DINC_M DINCP_M DEC_M DECP_M DDEC_M DDECP_M B+ B+P DB+ DB+P BB-P DBDB-P B BP DB DBP B/ B/P DB/ DB/P BPLUS_M, BPLUS_3_M BPLUSP_M, BPLUSP_3_M DBPLUS_M, DBPLUS_3_M DBPLUSP_M, DBPLUSP_3_M BMINUS_M, BMINUS_3_M BMINUSP_M, BMINUSP_3_M DBMINUS_M, DBMINUS_3_M DBMINUSP_M, DBMINUSP_3_M BMULTI_M BMULTIP_M DBMULTI_M DBMULTIP_M BDIVID_M BDIVIDP_M DBDIVID_M DBDIVIDP_M

+
lgica

+P D+ D+P -

Sustraccin

-P DD-P

Multiplicacin

P D D P / /P D/ D/P

/
Divisin

+1
Incremento

INC INCP DINC DINCP

1
Decremento

DEC DECP DDEC DDECP

INDICACIN

Se recomienda utilizar los comandos IEC en los editores IEC.

6.2.1

Programacin MELSEC A y Q

6 25

Instrucciones aritmticas

Nmeros de coma flotante Funcin

Bloque de bit

Instruccin MELSEC Instruccin MELSEC Instruccin MELSEC Instruccin MELSEC en el en el en el en el Editor MELSEC Editor IEC Editor MELSEC Editor IEC E+ E+P EE-P E EP E/ E/P EPLUS_M, EPLUS_3_M EPLUSP_M, EPLUSP_3_M EMINUS_M, EMINUS_3_M EMINUSP_M, EMINUSP_3_M EMUL_M EMULP_M EDIV_M EDIVP_M BK+ BK+P BKBK-P BKPLUS_M BKPLUSP_M BKMINUS_M BKMINUSP_M

+
lgica

Sustraccin

Multiplicacin

Divisin

Secuencias de caracteres Funcin Instruccin MELSEC Instruccin MELSEC en el en el Editor MELSEC Editor IEC $+ $+P STRING_PLUS_M, STRING_PLUS_3_M STRING_PLUSP_M, STRING_PLUSP_3_M

+
lgica

Las instrucciones aritmticas para nmeros de coma flotante, bloques de datos BIN y secuencias de caracteres se aplican solamente para la serie Q.

6 26

Programacin MELSEC A y Q

Instrucciones aritmticas

La funcin aritmtica con datos binarios Cuando el resultado de una adicin pasa por sobre el valor de 32767 (2147483647 con una instruccin de 32 bits), el resultado se vuelve negativo. Cuando el resultado de una sustraccin pasa por inferior del valor de -32768 (-2147483648 con una instruccin de 32 bits), el resultado se vuelve positivo. El clculo de valores positivos y negativos se presenta del siguiente modo: 5 5 5 -5 -5 5 -5 5 -5 + 8 - 8 3 3 (-3) / 3 / 3 / (-3) / (-3) = = = = = = = = = 13 -3 15 -15 15 1 y resto 2 -1 y resto -2 -1 y resto 2 1 y resto -2

Funcin aritmtica con datos BCD Cuando el resultado de una adicin pasa por sobre el valor de 9999 (99999999 con una instruccin de 32 bits), no se considera el arrastre (carry).

Arrastre no se aplica
BCD_0E1

Cuando el minuendo de una sustraccin es menor al sustraendo, se procesa el arrastre (carry) del siguiente modo:

Arrastre
BCD_0E2

Programacin MELSEC A y Q

6 27

+, +P, -, -P
6.2.1 +, +P, -, -P

Instrucciones aritmticas

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K


Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

s d

5
1
K1 K4

s1 s2 d1
1

7
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos Registro (Sistema, Operador) de Bit Palabra archivos s d

Operandos MELSEC Q

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s1 s2 d1

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

PLUS_ME1, PLUS_KE1, PLUS_IE1

P L U S _

GE1

Variables

Operando s d s1 s2 d1

Valor de comando Datos de sumando o sustraendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o sustraendo. Datos de sumando o minuendo o bien la primera direccin a partir de la cual se almacena la suma o diferencia.

Tipo de datos

Datos de sumando o minuendo o bien la primera direccin a partir de la cual se BIN-16-Bit almacenan los datos de sumando o minuendo. Datos de sumando o sustraendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o sustraendo. Primera direccin a partir de la cual se almacena la suma o diferencia.

6 28

Programacin MELSEC A y Q

Instrucciones aritmticas

+, +P, -, -P

Funcionamiento

Adicin y sustraccin de datos binarios (16 bits) + Adicin BIN (16 bits) 1a variante: Los datos binarios indicados en d se suman a los datos binarios en s. El resultado de adicin se almacena en d.

PLUSP0E1

2a variante: Los datos binarios indicados en s1 se suman a los datos binarios en s2. El resultado de adicin se emite al operando indicado en d1.

PLUSP0E2

El valor de datos indicado en s, d, s1, s2 y d1 debe ser un nmero decimal de 16 bits entre -32768 y 32767. El bit respectivamente superior (b15) determina si los valores de datos en s, d, s1, s2 d1 sean positivos (bit = 0) o bien negativos (bit = 1). En caso de pasar por inferior del bit ms bajo (b0) o bien en caso de pasar por sobre el valor del bit ms alto (b15), no se aplica la Carry Flag.

Sustraccin BIN (16 bits)

1a variante: Los datos binarios indicados en s se sustraen de los datos binarios en d. El resultado de sustraccin se almacena en d.

MINUP0E1

Programacin MELSEC A y Q

6 29

+, +P, -, -P
2a variante:

Instrucciones aritmticas

Los datos binarios indicados en s2 se sustraen de los datos binarios en s1. El resultadose emite al operando indicado en d1.

MINUP0E2

El valor de datos indicado en s, d, s1, s2 y d1 debe ser un nmero decimal de 16 bits entre -32768 y 32767. El bit respectivamente superior (b15) determina si los valores de datos en s, d, s1, s2 d1 sean positivos (bit = 0) o bien negativos (bit = 1). En caso de pasar por inferior del bit ms bajo (b0) o bien en caso de pasar por sobre el valor del bit ms alto (b15), no se aplica la Carry Flag.

Ejemplo 1

+P El siguiente programa suma el contenido de D3 con flanco positivo de X5, al contenido de D0 y emite el resultado a Y38 hasta Y3F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

PLUS_MB1, PLUS_KB1, PLUS_IB1

6 30

Programacin MELSEC A y Q

Instrucciones aritmticas

+, +P, -, -P

Ejemplo 2

El siguiente programa emite la diferencia entre el valor nominal y real del temporizador T3 a Y40 hasta Y53 en BCD.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

PLUS_MB2, PLUS_KB2, PLUS_IB2

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 31

D+, D+P, D-, D-P


6.2.2 D+, D+P, D-, D-P

Instrucciones aritmticas

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z


Largo de bloque

Constante V K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

s d

9
1
K1 K8

s1 s2 d1
1

11
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit s d

Operandos MELSEC Q

Palabra

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

31)

s1 s2 d1
1

42)

La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 3 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 5 Constantes: 5 Operandos de bit cuya direccin es un valor mltiple de 16, que disponen de la denominacin de bloque de bit K8 y que no han sido procesados por la asignacin de ndice: 5 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados: 3 2 La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 4 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 6 Constantes: 6 Operandos de bit cuya direccin es un valor mltiple de 16, que disponen de la denominacin de bloque de bit K8 y que no han sido procesados por la asignacin de ndice: 6 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados: 4

6 32

Programacin MELSEC A y Q

Instrucciones aritmticas

D+, D+P, D-, D-P

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DPLUSME1, DPLUSKE1, DPLUSIE1

GX Developer

DPLUSGE1

Variables

Operando s

Valor de comando Datos de sumando o sustraendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o sustraendo. Datos de sumando o minuendo o bien la primera direccin a partir de la cual se almacena la suma o diferencia.

Tipo de datos

BIN-64-Bit

d s1 s2 d1

Datos de sumando o minuendo o bien la primera direccin a partir de la cual se BIN-32-Bit almacenan los datos de sumando o minuendo. Datos de sumando o sustraendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o sustraendo. Primera direccin a partir de la cual se almacena la suma o diferencia.

Programacin MELSEC A y Q

6 33

D+, D+P, D-, D-P


Funcionamiento Adicin y sustraccin de datos binarios (32 bits) D+ Adicin BIN (32 bits) 1a variante:

Instrucciones aritmticas

Los datos binarios indicados en d se suman a los datos binarios en s. El resultado de adicin se almacena en d.

DPLUS0E1

2a variante: Los datos binarios indicados en s1 se suman a los datos binarios en s2. El resultado de adicin se emite al operando indicado en d1.

DPLUS0E2

El valor de datos indicado en s, d, s1, s2 y d1 debe ser un nmero decimal de 32 bits entre -2147483648 y 2147483647. El bit respectivamente superior (b31) determina si los valores de datos en s, d, s1, s2 d1 sean positivos (bit = 0) o bien negativos (bit = 1). En caso de pasar por inferior del bit ms bajo (b0) o bien en caso de pasar por sobre el valor del bit ms alto (b31), no se aplica la Carry Flag.

D-

Sustraccin BIN (32 bits)

1a variante: Los datos binarios indicados en s se sustraen de los datos binarios en d. El resultado de sustraccin se almacena en d.

DMINU0E1

6 34

Programacin MELSEC A y Q

Instrucciones aritmticas

D+, D+P, D-, D-P

2a variante: Los datos binarios indicados en s2 se sustraen de los datos binarios en s1. El resultado de sustraccin se emite al operando indicado en d1.

El valor de datos indicado en s, d, s1, s2 y d1 debe ser un nmero decimal de 32 bits entre -2147483648 y 2147483647.

DMINU0E2

El bit respectivamente superior (b31) determina si los valores de datos en s, d, s1, s2 d1 sean positivos (bit = 0) o bien negativos (bit = 1). En caso de pasar por inferior del bit ms bajo (b0) o bien en caso de pasar por sobre el valor del bit ms alto (b31), no se aplica la Carry Flag.

Ejemplo 1

D+P El siguiente programa suma con flanco positivo de X0, el contenido de X10 hasta X2B al contenido de D9 y D10 y emite el resultado a Y30 hasta Y4B.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DPLUSMB1, DPLUSKB1, DPLUSIB1

Ejemplo 2

D-P El siguiente programa sustrae con flanco positivo de XB, los datos de M0 hasta M23 de D0 y D1 y emite el resultado a D10 y D11.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DPLUSMB2, DPLUSKB2, DPLUSIB2

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 35

x, xP, /, /P
6.2.3 x, xP, /, /P

Instrucciones aritmticas

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K


Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

s1 s2 d1
1

K1 7 1 K4

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit s1 s2

Operandos MELSEC Q

Palabra

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

41)

d1
1

La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En la utilizacin de una CPU de Q y operandos internos de palabra (sin registro de archivo ZR): 3 Constantes: 3 Operandos de bit cuya direccin es un valor mltiple de 16, que disponen de la denominacin de bloque de bit K4 y que no han sido procesados por la asignacin de ndice: 3 En caso de utilizacin de una CPU de Q y operandos diferentes a los operandos arriba indicados:4

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MULTIME1, MULTIKE1, MULTIIE1

GX Developer

M U L T I G

E1

Variables

Operando s1 s2

Valor de comando

Tipo de datos

Datos de multiplicador o dividendo o bien la primera direccin a partir de la cual BIN-16-Bit se almacenan los datos de multiplicador o dividendo. Datos de multiplicador o divisor o bien la primera direccin a partir de la cual se BIN-16-Bit almacenan los datos de multiplicador o divisor. Primera direccin a partir de la cual se almacena el producto o cuociente. BIN-32-Bit

BIN-32-Bit

d1

6 36

Programacin MELSEC A y Q

Instrucciones aritmticas

x, xP, /, /P

Funcionamiento

Multiplicacin y divisin de datos binarios (16 bits) Multiplicacin BIN (16 bits) Los datos binarios indicados en s1 se multiplican con los datos binarios en s2 y el resultado de multiplicacin se almacena en d1.

XXPP0E1

Cuando se trata de un operando de bit en el resultado en d1, debe comenzarse la estructura de bits con los bits de valor inferior. Ejemplo: K1: 4 bits ms bajos (b0 hasta b3) K4: 16 bits ms bajos (b0 hasta b15) K8: 32 bits (b0 hasta b31) El valor de datos indicado en s1 y s2 debe ser un nmero binario de 16 bits entre -32768 y 32767. El bit respectivamente superior (b15 o bien b31 en d1) determina si los valores de datos en s1, s2 d1 sean positivos (bit = 0) o bien negativos (bit = 1).

Divisin BIN (16 bits)

Los datos binarios indicados en s1 se dividen por los datos binarios en s2 y el resultado de divisin se almacena en d1.

XXPP0E2

En caso de operandos de palabra, se almacena el resultado de divisin como valor de datos de 32 bits, dividido en cuociente y valor residual. Los operandos de bits permiten el exclusivo almacenamiento del cuociente. El cuociente se almacena en los 16 bits de valor inferior. El valor residual se almacena en los 16 bits de valor superior (solamente para operandos de palabra). El valor de datos indicado en s1 y s2 debe ser un nmero binario de 16 bits entre -32768 y 32767. El bit respectivamente superior (b15) determina si los valores de datos en s1, s2 d1 (d1) sean positivos (bit = +1) o bien negativos (bit = 1) con el valor de +1.

Programacin MELSEC A y Q

6 37

x, xP, /, /P
Fuentes de error

Instrucciones aritmticas

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: A1 o V han sido determinados en d1 (serie A). El divisor s2 es igual a 0 (Serie Q/System Q = Cdigo de error 4100).

Ejemplo 1

xP El siguiente programa almacena el resultado de la multiplicacin de 5678 y 1234 con flanco positivo de X5, como valor binario en D3 y D4.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MULTIMB1, MULTIKB1, MULTIIB1

Ejemplo 2

x El siguiente programa emite el resultado de la multiplicacin de los datos binarios X8 hasta XF con X10 hasta X1B hacia las salidas Y30 hasta Y3F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MULTIMB2, MULTIKB2, MULTIIB2

6 38

Programacin MELSEC A y Q

Instrucciones aritmticas

x, xP, /, /P

Ejemplo 3

/P El siguiente programa divide con flanco positivo de X3, los datos de X8 hasta XF por 3,14. El resultado se emite a Y30 hasta Y3F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MULTIMB3, MULTIKB3, MULTIIB3

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 39

Dx, DxP, D/, D/P


6.2.4 Dx, DxP, D/, D/P

Instrucciones aritmticas

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z


Largo de bloque

Constante V K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

s1 s2 d1
1

K1 K8

11
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s1 s2 d1

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DMULTME1, DMULTKE1, DMULTIE1

GX Developer

Variables

Operando

Valor de comando Datos de multiplicadores o dividendos o la primera direccin, a partir de las cuales se almacenan los datos de multiplicadores o dividendos.

Tipo de datos MELSEC BIN-32-Bit IEC ANY32

s1

s2

Datos de multiplicador o divisor o bien la primera direccin a partir de las cuales se almacenan los datos de multiplicador o BIN-32-Bit divisor. Primera direccin a partir de la cual se almacena el producto o BIN-64-Bit cuociente.

ANY32 Secuencia de bits [1..2] de ANY32

d1

6 40

Programacin MELSEC A y Q

Instrucciones aritmticas

Dx, DxP, D/, D/P

Funcionamiento

Multiplicacin y divisin de datos binarios (32 bits) Dx Multiplicacin (32 bits)

Los datos binarios indicados en s1 se multiplican con los datos binarios en s2 y el resultado de multiplicacin se almacena en d1.

DXP_0E1

Cuando se trata en el resultado en d1 de un operando de bit, pueden procesarse solamente los 32 bits de valor inferior. Ejemplo: K1: 4 bits ms bajos (b0 hasta b3) K4: 16 bits ms bajos (b0 hasta b15) K8: 32 bits (b0 hasta b31) Cuando se requieren los 32 bits de valor superior de un resultado de multiplicacin apra un operando de bit, deben almacenarse primero los datos en un operando de palabra. A continuacin se transmiten los datos (d1)+2 y (d1)+3 del operando de palabra en el operando de bit indicado. El valor de datos indicado en s1 y s2 debe ser un nmero binario de 32 bits entre -2147483648 y 2147483647. El bit respectivamente superior (b31 o bien b63 en d1) determina si los valores de datos en s1, s2 d1 sean positivos (bit = 0) o bien negativos (bit = 1).

D/

Divisin BIN (32 bits)

Los datos binarios indicados en s1 se dividen por los datos binarios en s2 y el resultado de divisin se almacena en d1.

DXP_0E2

En caso de operandos de palabra, se almacena el resultado de divisin como secuencia de bits de 2 DINT (64 bits), dividido en cuociente y valor residual. Los operandos de bits permiten el exclusivo almacenamiento del cuociente. El cuociente se almacena en los elementos de secuencia de bits de valor inferior (32 bits). El valor residual se almacena en los elementos de secuencia de bits (32 bits) de valor superior (solamente para operandos de palabra). El valor de datos indicado en s1 y s2 debe ser un nmero binario de 32 bits entre -2147483648 y 2147483647. El bit respectivamente superior (b31) determina si los valores de datos en s1, s2, d1 (d1)+2 sean positivos (bit = 0) o bien negativos (bit = 1).

Programacin MELSEC A y Q

6 41

Dx, DxP, D/, D/P


Fuentes de error

Instrucciones aritmticas

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: A1 o V ha sido determinados en s1 o s2 y A0, A1, Z, V en d1 (serie A. El divisor s2 es igual a 0 (Serie Q/System Q = Cdigo de error 4100).

Ejemplo 1

DxP El siguiente programa almacena el resultado de multiplicacin de los datos binarios de D7 y D8 y de los datos binarios de D18 y D19 con flanco positivo de X5 en D1 hasta D4.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DMULTMB1, DMULTKB1, DMULTIB1

Ejemplo 2

xP El siguiente programa emite con flanco positivo de X3, el resultado de la multiplicacin de los datos en X8 hasta XF con 3, 14 a Y30 hasta Y3F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DMULTMB2, DMULTKB2, DMULTIB2

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 42

Programacin MELSEC A y Q

B+, B+P, B-, B-P


6.2.5 B+, B+P, B-, B-P

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K


Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

s d

7
1
K1 K4

s1 s2 d1
1

9
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit s d

Operandos MELSEC Q

Palabra

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

s1 s2 d1

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

BPLUSME1, BPLUSKE1, BPLUSIE1

Variables

Operando s d s1 s2 d1

Valor de comando Datos de sumando o sustraendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o sustraendo. Datos de sumando o minuendo o bien la primera direccin a partir de la cual se almacena la suma o diferencia.

Tipo de datos

BCD 4 Datos de sumando o minuendo o bien la primera direccin a partir de la cual se posiciones almacenan los datos de sumando o minuendo. Datos de sumando o sustraendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o sustraendo. Primera direccin a partir de la cual se almacena la suma o diferencia.

Programacin MELSEC A y Q

6 43

B+, B+P, B-, B-P


Funcionamiento Adicin y sustraccin de datos BCD (4 posiciones) B+ Adicin BCD (4 posiciones) 1. Variante: Los datos BCD indicados en s se suman a los datos BCD en d. El resultado de adicin se almacena en d.

BBP_0E1

2. Variante: Los datos BCD indicados en s1 se suman a los datos BCD en s2. El resultado de adicin se emite al operando indicado en d1.

BBP_0E2

El valor de datos indicado en s, d, s1, s2 y d1 debe ser un nmero decimal de 4 posiciones entre 0 y 9999. En caso de nmeros con menos de 4 posiciones, se llenan las primeras posiciones con un 0 (por ejemplo: 12 = 0012). El Carry Flag no se aplica cuando el valor de adicin supera el valor de 9999. Se omite la posicin de posicin de transferencia.

BBP_0E3

B-

Sustraccin BCD (4 posiciones)

1. Variante: Los datos BCD indicados en s se sustraen de los datos BCD en d. El resultado de sustraccin se almacena en d.

Los vacos se llenan con un 0.


BBP_0E4

6 44

Programacin MELSEC A y Q

B+, B+P, B-, B-P


2. Variante: Los datos BCD indicados en s2 se sustraen de los datos BCD en s1. El resultado se emite al operando indicado en d1.

Los vacos se llenan con un 0.


BBP_0E5

El valor de datos indicado en s, d, s1, s2 y d1 debe ser un nmero decimal de 4 posiciones entre 0 y 9999. En caso que el resultado de sustraccin se vuelva negativo, se reduce el minuendo por la cantidad de pasos indicados en el sustraendo y no se aplica el Carry Flag.

BBP_0E6

El programa debe disearse de tal modo que el siguiente procedimiento est regulado cuando el resultado sea positivo o bien negativo.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: En s, d, s1, s2 d1 se ingres un valor de datos que difiere d 0 a 9999. (Serie Q/System Q = Cdigo de error 4100).

Programacin MELSEC A y Q

6 45

B+, B+P, B-, B-P


Ejemplo 1 B+P (s, d) El siguiente programa suma los datos BCD 5678 y 1234, almacena el resultado en D993 y emite ste a las salidas Y30 hasta Y3F. En la primera lnea de programa se almacena para esto con flanco positivo de SM400, el valor de 5678 en D993. En el siguiente paso de programa se suma el valor BCD de 1234 al valor BCD en D993. La instruccin MOV en el ltimo paso de programa emite el resultado de D993 a Y30 hasta Y3F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BPLUSMB1, BPLUSKB1, BPLUSIB1

Ejemplo 2

B-P (s, d) El siguiente programa sustrae el valor de datos BCD 4321 de 7654, transmite el resultado hacia D10 y emite el resultado a las salidas Y30 hasta Y3F. En la primera lnea de programa se almacena para esto con flanco positivo de SM400, el valor de 7654 en D10. En el siguiente paso de programa se sustrae el valor BCD de 4321 del valor BCD en D10. La instruccin MOV en el ltimo paso de programa emite el resultado de D10 a Y30 hasta Y3F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BPLUSMB2, BPLUSKB2, BPLUSIB2

6 46

Programacin MELSEC A y Q

B+, B+P, B-, B-P


Ejemplo 3 B+P (s1, s2, d1) El siguiente programa suma con flanco positivo de X20, los datos BCD en D3 y los datos BCD en Z1. El resultado se emite a Y8 hasta Y17.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BPLUSMB3, BPLUSKB3, BPLUSIB3

Ejemplo 4

B-P (s1, s2, d1) El siguiente programa sustrae con flanco positivo de X20, los datos BCD en D20 de los datos BCD en D10. El resultado se almacena en R10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BPLUSMB4, BPLUSKB4, BPLUSIB4

Programacin MELSEC A y Q

6 47

DB+, DB+P, DB-, DB-P


6.2.6 DB+, DB+P, DB-, DB-P

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K


Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

s d

2 2 2
2

9
1
K1 K8

s1 s2 d1
1

11
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin. 2 Solamente CPUs AnA, AnAS y AnU

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d s1 s2 d1


Palabra

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

D B P L U M E

1, KE DBPLUIE1

Variables

Operando s d s1 s2 d1

Valor de comando Datos de sumando o sustraendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o sustraendo. Datos de sumando o minuendo o bien la primera direccin a partir de la cual se almacena la suma o diferencia. Datos de sumando o minuendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o minuendo. Datos de sumando o sustraendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o sustraendo. Primera direccin a partir de la cual se almacena la suma o diferencia.

Tipo de datos

BCD 8 posiciones

6 48

Programacin MELSEC A y Q

DB+, DB+P, DB-, DB-P


Funcionamiento Adicin y sustraccin de datos BCD (8 posiciones) DB+ Adicin BCD (8 posiciones) 1a variante: Los datos BCD indicados en s se suman a los datos BCD en d. El resultado de adicin se almacena en d.

Los vacos se llenan con un 0.


DBP_0E1

2a variante: Los datos BCD indicados en s1 se suman a los datos BCD en s2. El resultado de adicin se emite al operando indicado en d1.

Los vacos se llenan con un 0.


DBP_0E2

El valor de datos indicado en s, d, s1, s2 y d1 debe ser un nmero decimal de 8 posiciones entre 0 y 99999999. En caso de nmeros con menos de 8 posiciones, se llenan las primeras posiciones con un 0 (por ejemplo: 12345 = 00012345). El Carry Flag no se aplica cuando el valor de adicin supera el valor de 99999999. Se omite la posicin de posicin de transferencia.

DBP_0E3

DB-

Sustraccin BCD (8 posiciones)

1. Variante: Los datos BCD indicados en s se sustraen de los datos BCD en d. El resultado de sustraccin se almacena en d.

Los vacos se llenan con un 0.


DBP_0E4

Programacin MELSEC A y Q

6 49

DB+, DB+P, DB-, DB-P


2. Variante: Los datos BCD indicados en s2 se sustraen de los datos BCD en s1. El resultado se emite al operando indicado en d1.

Los vacos se llenan con un 0.


DBP_0E5

El valor de datos indicado en s, d, s1, s2 y d1 debe ser un nmero decimal de 8 posiciones entre 0 y 99999999. En caso que el resultado de sustraccin se vuelva negativo, se reduce el minuendo por la cantidad de pasos indicados en el sustraendo y no se aplica el Carry Flag.

DBP_0E6

El programa debe disearse de tal modo que el siguiente procedimiento est regulado cuando el resultado sea positivo o bien negativo.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: En s, d, s1, s2 d1 se ingres un valor de datos que difiere d 0 a 99999999 (Serie Q/System Q=cdigo de error 4100).

6 50

Programacin MELSEC A y Q

DB+, DB+P, DB-, DB-P


Ejemplo 1 DB+P (s, d) El siguiente programa suma los datos BCD 12345600 y 34567000, almacena el resultado en D887 y D888 y emite ste a las salidas Y30 a Y4F. En la primera lnea de programa se almacena para esto con flanco positivo de SM400, el valor de 123456000 en D887 y D888. En el siguiente paso de programa se suma el valor BCD de 34567000 al valor BCD en D887 y D888. La instruccin DMOVP en el ltimo paso de programa emite el resultado de D887 y D888 hacia Y30 hasta Y4F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DBPLUMB1, DBPLUKB1, DBPLUIB1

Ejemplo 2

DB-P (s, d) El siguiente programa sustrae los datos BCD 12345678 de 98765432, almacena el resultado en D100 y D101 y emite ste a las salidas Y30 a Y4F. En la primera lnea de programa se almacena para esto con flanco positivo de SM400, el valor de 98765432 en D100. En el siguiente paso de programa se sustrae el valor BCD de 12345678 del valor BCD en D100 y D101. La instruccin DMOVP en el ltimo paso de programa emite el resultado de D100 y D101 hacia Y30 hasta Y4F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DBPLUMB2, DBPLUKB2, DBPLUIB2

Programacin MELSEC A y Q

6 51

DB+, DB+P, DB-, DB-P


Ejemplo 3 DB+P (s1, s2, d1) El siguiente programa suma con flanco positivo de X20, los datos BCD en D3 y D4 a los datos BCD en Z y V. El resultado se almacena en R10 y R11.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DBPLUMB3, DBPLUKB3, DBPLUIB3

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 52

Programacin MELSEC A y Q

Bx, BxP, B/, B/P


6.2.7 Bx, BxP, B/, B/P

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K


Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

s1 s2 d1
1

K1 K4 K1 K8

9
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s1 s2 d1

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BMULTME1, BMULTKE1, BMULTIE1

GX Developer

BMULTGE1

Variables

Operando

Valor de comando

Tipo de datos MELSEC IEC WORD

s1

Datos de multiplicador o dividendo o bien la primera direccin a partir de la cual se almacenan los datos de BCD 4 posiciones multiplicador o dividendo. Datos de multiplicador o divisor o bien la primera direccin a partir de la cual se almacenan los datos de BCD 4 posiciones multiplicador o divisor. Primera direccin a partir de la cual se almacena el producto o cuociente. BCD 8 posiciones

s2 d1

WORD 2 secuencias de bits de WORD

Programacin MELSEC A y Q

6 53

Bx, BxP, B/, B/P


Funcionamiento Multiplicacin y divisin de datos BCD (4 posiciones) Bx Multiplicacin BCD (4 posiciones)

Los datos BCD indicados en s1 se suman con los datos BCD en s2 y el resultado de multiplicacin se almacena en d1.

BXP_0E1

El valor de datos indicado en s1 y s2 debe ser un nmero decimal de 4 posiciones entre 0 y 9999.

B/

Divisin BCD (4 posiciones)

Los datos BCD indicados en s1 se dividen por los datos BCD en s2 y el resultado de divisin se almacena en d1.

BXP_0E2

El resultado de divisin se encuentra almacenado en dos secuencias de bits de WORD (BCD, 8 posiciones), dividido en cuociente y valor residual. El cuociente (BCD, 4 posiciones) se almacena en los elementos de secuencia de bits de menor valor. El valor residual (BCD, 4 posiciones) se almacena en los elementos de secuencia de bits de mayor valor. En los operandos de bits no se almacena el valor residual de los resultados de divisin.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Como valor de datos en s1 s2 se aplica un valor de datos que diverge de 0 hasta 9999. El divisor s2 es igual a 0 (Serie Q/System Q = Cdigo de error 4100).

6 54

Programacin MELSEC A y Q

Bx, BxP, B/, B/P


Ejemplo 1 BxP El siguiente programa multiplica con flanco positivo de XB, los datos BCD de X0 hasta Xf con los datos BCD de D8. El resultado se almacena en D0 y D1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Multiplicador Multiplicador 3 Resultado de muliplicacin


BMULTMB1, BMULTKB1, BMULTIB1, BXP_0B1

Ejemplo 2

B/P El siguiente ejemplo ejecuta con flanco positivo de SM400, una divisin de los datos BCD 5678 hasta 1234. El resultado se almacena en D502 y el valor residual en D503. En el ltimo paso se emite el cuociente (D502) a Y30 hasta Y3F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Dividendo Divisor 3 Cuociente 4 Resto


BMULTMB2, BMULTKB2, BMULTIB2, BXP_0B2

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 55

DBx, DBxP, DB/, DB/P


6.2.8 DBx, DBxP, DB/, DB/P

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z


Largo de bloque

Constante V K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

s1 s2 d1
1

K1 K8

11
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s1 s2 d1

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DBMULME1, DBMULKE1, DBMULIE1

GX Developer

DBMULGE1

Variables

Operando s1 s2 d1

Valor de comando

Tipo de datos

Datos de multiplicador o dividendo o bien la primera direccin a partir de la cual BCD 8 se almacenan los datos de multiplicador o dividendo. posiciones Datos de multiplicador o divisor o bien la primera direccin a partir de la cual se BCD 8 almacenan los datos de multiplicador o divisor. posiciones Primera direccin a partir de la cual se almacena el producto o cuociente. BCD 16 posiciones

6 56

Programacin MELSEC A y Q

DBx, DBxP, DB/, DB/P


Funcionamiento Multiplicacin y divisin de datos BCD (8 posiciones) DBx Multiplicacin BCD (8 posiciones)

Los datos BCD indicados en s1 se suman con los datos BCD en s2 y el resultado de multiplicacin se almacena en d1.

DBXP_0E1

Cuando se trata en el d1 de un operando de bit, pueden procesarse solamente las ltimas 8 posiciones (los 32 bits de valor inferior). Ejemplo: K1: 4 bits ms bajos (b0 hasta b3) K4: 16 bits ms bajos (b0 hasta b15) K8: 32 bits (b0 hasta b31) El valor de datos indicado en s1 y s2 debe ser un nmero decimal de 8 posiciones entre 0 y 99999999. En caso de nmeros con menos de 8 posiciones, se llenan las primeras posiciones con un 0 (por ejemplo: 12345 = 00012345).

DB/

Divisin BCD (8 posiciones)

Los datos BCD indicados en s1 se dividen por los datos BCD en s2 y el resultado de divisin se almacena en d1.

DBXP_0E2

El resultado de la divisin se almacena como secuencia de bits de dos palabras de datos de 32 bits, dividido en cuociente y valor residual. El cuociente (BCD, 8 posiciones) se almacena en los 32 bits de valor inferior. El valor residual (BCD, 8 posiciones) se almacena en los 32 bits de valor superior. En los operandos de bits no se almacena el valor residual de los resultados de divisin.

Programacin MELSEC A y Q

6 57

DBx, DBxP, DB/, DB/P


Fuentes de error En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Como valor de datos en s1 s2 se aplica un valor de datos que diverge de 0 hasta 99999999. El divisor s2 es igual a 0 (serie Q = Cdigo de error 4100). Ejemplo 1 DBxP El siguiente programa multiplica con flanco positivo de SM400, los datos BCD 68347125 y 573682 y almacena el resultado en D502 hasta D505. En el siguiente paso de programa se emiten las segundas 8 posiciones del resultado (D504, D505) a Y30 hasta Y4F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DBMULMB1, DBMULIB1, DBMULKB1, DBXP0B1

6 58

Programacin MELSEC A y Q

DBx, DBxP, DB/, DB/P


Ejemplo 2 DB/P El siguiente programa ejecuta con flanco positivo de XB, una divisin entre los datos BCD de X20 hasta X3F y del contenido de D8 y D9. El resultado se almacena en D765 hasta D768.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Dividendo Divisor 3 Cuociente 4 Resto


DBMULMB2, DBMULKB2, DBMULIB2, DBXP0B2

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 59

E+, E+P, E-, E-P


6.2.9 E+, E+P, E-, E-P

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit Palabra


Mdulos especiale Registro de ndice s Zn U\G


Constantes E

Otros

Error Flag

Pasos

s d s1 s2 d1

SM0

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EPLUSME1, EPLUSKE1, EPLUSIE1

GX Developer

EPLUSGE1

Variables

Operando s d s1 s2 d1

Valor de comando Datos de sumando o sustraendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o sustraendo. Datos de sumando o minuendo o bien la primera direccin a partir de la cual se almacena la suma o diferencia.

Tipo de datos

Datos de sumando o minuendo o bien la primera direccin a partir de la cual se Nmero real almacenan los datos de sumando o minuendo. Datos de sumando o sustraendo o bien la primera direccin a partir de la cual se almacenan los datos de sumando o sustraendo. Primera direccin a partir de la cual se almacena la suma o diferencia.

6 60

Programacin MELSEC A y Q

E+, E+P, E-, E-P


Funcionamiento Adicin y sustraccin de nmeros de coma flotante E+ Instruccin de adicin para nmeros de coma flotante 1. Variante: El nmero de coma flotante indicado en s se suma al nmero de coma flotante en d. El resultado de adicin se almacena en d.

Nmero de coma flotante, tipo de datos: nmero real


EP_0E1

2. Variante: El nmero de coma flotante indicado en s1 se suma al nmero de coma flotante en s2. El resultado de adicin se emite al operando indicado en d1.

Nmero de coma flotante, tipo de datos: nmero real


EP_0E3

El valor de datos indicado o bien a almacenar en s, d, s1, s2 y d1, debe ser igual a cero o bien un nmero de coma flotante dentro del los siguientes lmites: 2-127 Nmero de coma flotante (s, d, s1, s2, d1) < 2129 EInstruccin de sustraccin para nmeros de coma flotante

1. Variante: El nmero de coma flotante indicado en s se sustrae del nmero de coma flotante en d. El resultado de sustraccin se almacena en d.

Nmero de coma flotante, tipo de datos: nmero real


EP_0E2

Programacin MELSEC A y Q

6 61

E+, E+P, E-, E-P


2. Variante: El nmero de coma flotante indicado en s2 se sustrae del nmero de coma flotante en s1. El resultado de sustraccin se emite al operando indicado en d1.

Nmero de coma flotante, tipo de datos: nmero real


EP_0E4

El valor de datos indicado o bien a almacenar en s, d, s1, s2 y d1, debe ser igual a cero o bien un nmero de coma flotante dentro del los siguientes lmites: 2-127 Nmero de coma flotante (s, d, s1, s2, d1) < 2129 Fuentes de error En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Los nmeros de coma flotante indicados en s, d, s1, s2 y d1 o bien los resultados de adicin y sustraccin son distintos a cero o bien se encuentran fuera de los siguientes lmites (cdigo de error 4100): 2-127 Nmero de coma flotante/resultado de operacin (s, d, s1, s2, d1) < 2129 Ejemplo 1 E+P (s, d) El siguiente programa suma con flanco positivo de X20, el nmero de coma flotante en D3 y D4 con el nmero de coma flotante en D10 y D11. El resultado de adicin se almacena en D3 y D4.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EPLUSMB1, EPLUSKB1, EPLUSIB1, EP_0B1

6 62

Programacin MELSEC A y Q

E+, E+P, E-, E-P


Ejemplo 2 E-P (s, d) El siguiente programa sustrae con flanco positivo de SM400, el nmero de coma flotante en D10 y D11 del nmero de coma flotante en D20 y D21. El resultado de sustraccin se almacena en D20 y D21.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EPLUSMB2, EPLUSKB2, EPLUSIB2, EP_0B2

Ejemplo 3

E+P (s1, s2, d) El siguiente programa suma con flanco positivo de X20, los nmeros de coma flotante en D3 y D4 con los nmeros de coma flotante en D10 y D11. El resultado de adicin se almacena en R0 y R1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EPLUSMB3, EPLUSKB3, EPLUSIB3, EP_0B3

Programacin MELSEC A y Q

6 63

E+, E+P, E-, E-P


Ejemplo 4 E-P (s1, s2, d) El siguiente programa sustrae con flanco positivo de SM400, los nmeros de coma flotante en D20 y D21 de los nmeros de coma flotante en D10 y D11. El resultado se almacena en D30 y D31.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EPLUSMB4, EPLUSKB4, EPLUSIB4, EP_0B4

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 64

Programacin MELSEC A y Q

Ex, ExP, E/, E/P


6.2.10 Ex, ExP, E/, E/P

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes E

Otros U

Error Flag

Pasos

s1 s2 d1

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EMULTME1, EMULTKE1, EMULTIE1

GX Developer

EMULTGE1

Variables

Operando s1 s2 d1

Valor de comando Datos de multiplicador o dividendo o bien la primera direccin a partir de la cual se almacenan los datos de multiplicador o dividendo.

Tipo de datos

Datos de multiplicador o divisor o bien la primera direccin a partir de la cual se Nmero real almacenan los datos de multiplicador o divisor. Primera direccin a partir de la cual se almacena el producto o cuociente.

Programacin MELSEC A y Q

6 65

Ex, ExP, E/, E/P


Funcionamiento Multiplicacin y divisin de nmeros de coma flotante Ex Instruccin de multiplicacin para nmeros de coma flotante

El nmero de coma flotante indicado en s1 se multiplica con el nmero de coma flotante en s2 y el resultado de multiplicacin se almacena en d1.

Nmero de coma flotante, tipo de datos: nmero real


EXP_0E1

El valor de datos indicado o bien a almacenar en s1, s2 y d1, debe ser igual a cero o bien un nmero de coma flotante dentro del los siguientes lmites: 2-127 Nmero de coma flotante (s1, s2, d1) < 2129 E/ Instruccin de divisin para nmeros de coma flotante

El nmero de coma flotante indicado en s1 se divide por el nmero de coma flotante en s2 y el resultado de divisin se almacena en d1.

Nmero de coma flotante, tipo de datos: nmero real


EXP_0E2

El valor de datos indicado o bien a almacenar en s1, s2 y d1, debe ser igual a cero o bien un nmero de coma flotante dentro del los siguientes lmites: 2-127 Nmero de coma flotante (s1, s2, d1) < 2129 Fuentes de error En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Los nmeros de coma flotante indicados en s, d, s1, s2 y d1 o bien los resultados de multiplicacin y divisin son distintos a cero o bien se encuentran fuera de los siguientes lmites (cdigo de error 4100): 2-127 Nmero de coma flotante/resultado de operacin (s1, s2, d1) < 2129 El divisor s2 es igual a 0 (cdigo de error 4100).

6 66

Programacin MELSEC A y Q

Ex, ExP, E/, E/P


Ejemplo 1 ExP El siguiente programa multiplica con flanco positivo de X20, el nmero de coma flotante en D3 y D4 con el nmero de coma flotante en D10 y D11. El resultado de multiplicacin se almacena en R0 y R1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EMULTMB1, EMULTKB1, EMULTIB1, EXP_0B1

Ejemplo 2

E/P El siguiente programa divide con flanco positivo de SM400, el nmero de coma flotante en D10 y D11 con el nmero de coma flotante en D20 y D21. El resultado de divisin se almacena en D30 y D31.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EMULTMB2, EMULTKB2, EMULTIB2, EXP_0B2

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 67

BK+, BK+P, BK-, BK-P


6.2.11 BK+, BK+P, BK-, BK-P

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s1 s2 d n

Palabra

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKPLUME1, BKPLUKE1, BKPLUIE1

GX Developer

BKPLUGE1

Variables

Operando s1 s2 d n

Valor de comando Datos de adicin y sustraccin o bien la primera direccin a partir de la cual se almacenan los datos de adicin o sustraccin. Primera direccin a partir de la cual se almacenan los datos de adicin y sustraccin. Primera direccin a partir de la cual deben almacenarse los datos de resultado de la comparacin. Cantidad de bloques de datos con los cuales se ejecuta una operacin.

Tipo de datos

BIN-16-Bit

6 68

Programacin MELSEC A y Q

BK+, BK+P, BK-, BK-P


Funcionamiento Adicin y sustraccin de datos binarios por bloques BK+ Instruccin de adicin para bloques de datos binarios

Una instruccin de adicin para bloques de datos binarios se compone de la instruccin misma, de los datos s1 y s2 que deben sumarse, de la denominacin destina d en la cual se almacenan los resultados, as como de la cantidad n de los bloques de datos a sumar. Se suma el respectivo bloque N n de 16 bits de s1 y el bloque N n de 16 bits de s2, empezando con el bloque de 16 bits de valor inferior. El resultado de cada adicin de bloques se almacena en d.

BKP_0E1

Las operaciones de adicin se ejecutan en unidades de 16 bits respectivamente. Una constante almacenada en s2 debe componerse de un nmero binario de 16 bits entre 32768 y 32767.

BKP_0E2

El bit respectivamente superior del bloque determina si los valores de datos en el bloque correspondiente de s1, s2 d sea positivo (bit = 0) o bien negativo (bit = 1). En caso de pasar por inferior del valor de bit ms bajo del bloque o bien al pasar por sobre el valor de bit ms alto del bloque, no se aplica la Carry Flag.

Programacin MELSEC A y Q

6 69

BK+, BK+P, BK-, BK-P


BKInstruccin de sustraccin para bloques de datos binarios

Una instruccin de sustraccin para bloques de datos binarios se compone de la instruccin misma, de los datos s1 y s2 que deben sustraerse, de la denominacin destina d en la cual se almacenan los resultados, as como de la cantidad n de los bloques de datos a sustraer. Se sustrae el respectivo bloque N n de 16 bits de s2 y el bloque N n de 16 bits de s1, empezando con el bloque de 16 bits de valor inferior. El resultado de cada sustraccin de bloques se almacena en d.

BKP_0E3

Las operaciones de sustraccin se ejecutan en unidades de 16 bits respectivamente. Una constante almacenada en s2 debe componerse de un nmero binario de 16 bits entre 32768 y 32767.

BKP_0E4

El bit respectivamente superior del bloque determina si los valores de datos en el bloque correspondiente de s1, s2 d sea positivo (bit = 0) o bien negativo (bit = 1). En caso de pasar por inferior del valor de bit ms bajo del bloque o bien al pasar por el valor de bit ms alto del bloque, no se aplica la Carry Flag.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad de bloques de datos en s1, s2 d sobrepasa la cantidad permitida. El rango de datos previsto para el almacenamiento de s1 se intercala con los rangos de datos de s2 d.

6 70

Programacin MELSEC A y Q

BK+, BK+P, BK-, BK-P


Ejemplo 1 BK+P El siguiente programa suma con flanco positivo de X20, los bloques de datos empezando con D100 con los bloques de datos empezando con R0 y almacena los resultados de bloque empezando con D200. La cantidad de bloques a sumar (4) se almacena en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKPLUMB1, BKPLUKB1, BKPLUIB1, BKP_0B1

Ejemplo 2

BK-P El siguiente programa sustrae con flanco positivo de X1C, la constante 8765 de los bloques de datos empezando con D100 y almacena los resultados de bloque empezando con R0. La cantidad de bloques de datos (3) indica la constante K3.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKPLUMB2, BKPLUKB2, BKPLUIB2, BKP_0B2

Programacin MELSEC A y Q

6 71

$+, $+P
6.2.12 $+, $+P

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes $

Otros U

Error Flag

Pasos

s d s1 s2 d1

SM0

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SPLUSME1, SPLUSKE1, SPLUSIE1

GX Developer

SPLUSGE1

Variables

Operando s d s1 s2 d1

Valor de comando Datos o primera direccin a partir de la cual se almacenan los datos a enlazar. Primera direccin a partir de la cual se almacenan los datos enlazados.

Tipo de datos

Datos o primera direccin a partir de la cual se almacenan los datos a enlazar. Secuencia de caracteres Primera direccin a partir de la cual se almacenan los datos enlazados. Primera direccin a partir de la cual se almacena el resultado del enlace de datos.

6 72

Programacin MELSEC A y Q

$+, $+P
Funcionamiento Enlace de secuencias de caracteres $+ Instrucciones de enlace para secuencias de caracteres 1. Variante: La secuencia de caracteres indicada en s se anexa a la secuencia de caracteres indicada en d. La secuencia de caracteres enlazada se almacena en d. La secuencia de caracteres enlazada empieza con el caracter del byte ms bajo de la secuencia de caracteres indicada en d antes de la operacin, y termina con el cdigo Code "00H" de la secuencia de caracteres indicada en s.

SSP_0E1

En el enlace se omite el cdigo "00H" que define el fin de la secuencia de caracteres en d. La secuencia de caracteres indicada en s se anexa al ltimo caracter de la secuencia de caracteres indicada en d. 2. Variante: La secuencia de caracteres indicada en s1 se enlaza con la secuencia de caracteres indicada en s2. La secuencia de caracteres enlazada se almacena en d1. Esta secuencia de caracteres enlazada empieza con el caracter del byte ms bajo de la secuencia de caracteres almacenada en s1 y termina con el cdigo Code "00H" de la secuencia de caracteres indicada en s2.

SSP_0E2

En el enlace se omite el cdigo "00H" que define el fin de la secuencia de caracteres en s1. La secuencia de caracteres indicada en s2 se anexa al ltimo caracter de la secuencia de caracteres indicada en s1.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La secuencia de caracteres enlazada y completa no puede almacenarse (cdigo de error 4100). Los rangos de datos previstos para el almacenamiento de s, s1 s2 se intercalan con los rangos de datos de d d1 (cdigo de error 4101).

Programacin MELSEC A y Q

6 73

$+, $+P
Ejemplo 1 S+P El siguiente programa enlaza con flanco positivo de X0, la secuencia de caracteres almacenada en D10 - D12 con la secuencia de caracteres "ABCD". La secuencia de caracteres enlazada se almacena en D10 D14.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Para la identificacin del fin de la secuencia de caracteres se describe este byte automticamente con "00H".
SPLUSMB1, SPLUSKB1, SPLUSIB1, SSP_0B1

Ejemplo 2

S+

El siguiente programa enlaza durante el perodo de activacin, la secuencia de caracteres almacenada en D10 - D12 con la secuencia de caracteres "ABCD". La secuencia de caracteres enlazada se almacena en D101 D104.

Lista de instrucciones MELSEC

Lista de instrucciones IEC

Plano de contactos

Para la identificacin del fin de la secuencia de caracteres se describe este byte automticamente con "00H".
SPLUSMB2, SPLUSKB2, SPLUSIB2, SSP_0B2

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 74

Programacin MELSEC A y Q

INC, INCP, DEC, DECP


6.2.13 INC, INCP, DEC, DECP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

K1 K4

3
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.

Operandos MELSEC Q
Operandos internos (Sistema, Operador) Bit d

Operandos FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Error Flag Otros

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

INC__ME1, INC__KE1, INC__IE1

GX Developer

INC_GE1

Variables

Operando d

Valor de comando Primera direccin en la cual debe aplicarse la instruccin INC o DEC.

Tipo de datos BIN-16-Bit

Programacin MELSEC A y Q

6 75

INC, INCP, DEC, DECP


Funcionamiento Incrementacin o decrementacin de datos binarios (16 bits) INC Incrementacin de datos binarios (16 bits)

El operando (16 bits) indicado en d se aumenta en el valor de 1.

DEC_0E1

Cuando el contenido de d en la ejecucin de una instruccin INC o INCP es igual a 32767, se almacena en d el valor de -32768.

DEC

Decrementacin de datos binarios (16 bits)

El operando (16 bits) indicado en d se reduce en el valor de 1.

DEC_0E2

Cuando el contenido de d es igual a 0 en la ejecucin de una instruccin DEC o DECP, se almacena en d el valor de -1. Cuando el contenido de d en la ejecucin de una instruccin DEC o DECP es igual a -32767, se almacena en d el valor de 32768.

Ejemplo 1

INCP El siguiente programa indica con cada flanco positivo de X8 el valor real de los contadores C0 a C20 (C0 ms Z1) hacia Y30 hasta Y3F en BCD (valor nominal del contador es 9999). Z1 se ajusta en 0 (RST Z1), cuando Z1 es igual a 21 (LD= K21 Z1) o cuando se activa la entrada de reset X7.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

INC__MB1, INC__KB1, INC__IE1

6 76

Programacin MELSEC A y Q

INC, INCP, DEC, DECP


Ejemplo 2 DECP El siguiente programa muestra un ejemplo para un contador decrementador. Con el flanco positivo de X7 se aplica el valor de 100 en D8. En caso de no haber aplicado el M38, se reduce el valor en D8 con flanco positivo de X8 en 1. M38 se aplica cuando D8 es igual a 0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

INC__MB2, INC__KB2, INC__IB2

Programacin MELSEC A y Q

6 77

DINC, DINCP, DDEC, DDECP


6.2.14 DINC, DINCP, DDEC, DDECP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d


1 2

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

K1 K8

3
2

No para CPU AnN La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.

Operandos MELSEC Q
Operandos internos (Sistema, Operador) Bit d
1

Operandos FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros U

Error Flag

Pasos

21)

La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 2 En la utilizacin de una CPU de Q de procesador mltiple y operandos internos de palabra (sin registro de archivo ZR): 3 Constantes: 3 Operandos de bit cuya direccin es un valor mltiplo de 16, que disponen de la denominacin de bloque de bit K8 y que no han sido procesados por la asignacin de ndice: 3 operandos diferentes a los arriba mencionados: 2

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DINC_ME1, DINC_KE1, DINC_IE1

GX Developer

DINC_GE1

Variables

Operando d

Valor de comando Primera direccin en la cual debe aplicarse la instruccin DINC o DDEC.

Tipo de datos BIN-32-Bit

6 78

Programacin MELSEC A y Q

DINC, DINCP, DDEC, DDECP


Funcionamiento Incrementacin o decrementacin de datos binarios (32 bits) DINC Incrementacin de datos binarios (32 bits)

El operando (32 bits) indicado en d se aumenta en el valor de 1.

DDEC0E1

Cuando el contenido de d en la ejecucin de una instruccin DINC o DINCP es igual a 2147483647, se almacena en d el valor de -2147483648.

DDEC

Decrementacin de datos binarios (32 bits)

El operando (32 bits) indicado en d se reduce en el valor de 1.

DDEC0E2

Cuando el contenido de d es igual a 0 en la ejecucin de una instruccin DDEC o DDECP, se almacena en d el valor de -1. Cuando el contenido de d en la ejecucin de una instruccin DDEC o DDECP es igual a 2147483648, se almacena en d el valor de 2147483647.

Ejemplo 1

DINCP El siguiente programa aumenta el valor en D0 con flanco positivo de X0 en 1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DINC_MB1, DINC_KB1, DINC_IB1

Programacin MELSEC A y Q

6 79

DINC, DINCP, DDEC, DDECP


Ejemplo 2 DINCP El siguiente programa aumenta con flanco positivo de X0, los valores de datos de X10 hasta X27 en el valor de 1 y almacena los resultados en los registros D3 y D4.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DINC_MB2, DINC_KB2, DINC_IB2

Ejemplo 3

DDECP El siguiente programa reduce el valor en D0 con flanco positivo de X0 en 1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DINC_MB3, DINC_KB3, DINC_IB3

Ejemplo 4

DDECP El siguiente programa reduce con flanco positivo de X0, los valores de datos de X10 hasta X27 en el valor de 1 y almacena los resultados en D3 y D4.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DINC_MB4, DINC_KB4, DINC_IB4

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 80

Programacin MELSEC A y Q

Instrucciones de conversin

6.3
INDICACIN

Instrucciones de conversin
Las instrucciones de conversin indicadas en esta seccin, convierten diferentes formatos de archivo.

Se recomienda utilizar los comandos IEC en los editores IEC.


Conversin Instruccin MELSEC en el Editor MELSEC BCD BIN (16/32 bits) BCD (4/8 posiciones) BCDP DBCD DBCDP BIN BCD (4/8 posiciones) BIN (16/32 bits) BINP DBIN DBINP FLT BIN (16/32 bits) Nmero de coma flotante FLTP DFLT DFLTP INT Instruccin MELSEC en el editor IEC BCD_M BCDP_M DBCD_M DBCDP_M BIN_M BINP_M DBIN_M DBINP_M FLT_M FLTP_M DFLT_M DFLTP_M INT_MD INT_E_MD INT_P_MD INT_P_E_MD DINT_MD DINT_E_MD DINT_P_MD DINT_P_E_MD DBL_M DBLP_M WORD_M WORDP_M GRY_M GRYP_M DGRY_M DGRYP_M GBIN_M GBINP_M DGBIN_M DGBINP_M NEG_M NEGP_M DNEG_M DNEGP_M ENEG_M ENEGP_M BKBCD_M BKBCDP_M BKBIN_M BKBINP_M

Nmero de coma flotante BIN (16/32 bits)

INTP

DINT

DINTP BIN 16 bits BIN 32 bits BIN 32 bits BIN 32 bits BIN (16/32 bits) GRAY-CODE DBL DBLP WORD WORDP GRY GRYP DGRY DGRYP GBIN GRAY-CODE BIN (16/32 bits) GBINP DGBIN DGBINP NEG Inversin de signos BIN (16/32 bits) (complemento a dos) NEGP DNEG DNEGP Inversin de signos Nmero de coma flotante Bloques BIN (16 bits) Bloques BCD (4 posiciones) Bloques BCD (4 posiciones) Bloques BIN (16 bits) ENEG ENEGP BKBCD BKBCDP BKBIN BKBINP

Programacin MELSEC A y Q

6 81

BCD, BCDP, DBCD, DBCDP


6.3.1 BCD, BCDP, DBCD, DBCDP

Instrucciones de conversin

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z BCD s d


Largo de bloque

Constante V K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

K1 K4

5
1

DBCD s d
1

K1 K8

9
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit s d

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

BCD__ME1, BCD__KE1, BCD__IE1

BCD__GE1

Variables

Operando s d

Valor de comando Datos BIN u operando, en el cual se almacenaron los datos BIN. Operando bajo el cual se almacenan los datos BCD.

Tipo de datos BIN 16/32 bits BCD (4/8 posiciones)

6 82

Programacin MELSEC A y Q

Instrucciones de conversin

BCD, BCDP, DBCD, DBCDP

Funcionamiento

Conversin de datos BIN a datos BCD (4/8 posiciones) Conversin BCD de datos BIN a datos BCD (4 posiciones) La instruccin BCD convierte el valor de datos binarios indicado en s (0 a 9999) a un valor BCD y transmite el resultado al operando indicado en d. Los dos bits de valor superior del valor binario en s deben ser igual a 0 en un valor de datos de 4 posiciones.

BCD_0E3

Conversin DBCD de datos BIN a datos BCD (8 posiciones) La instruccin DBCD trabaja con el mismo principio que la instruccin BCD. Sin embargo, el valor de datos binarios puede ser de 8 posiciones (0 bis 99999999). Los cinco bits de valor superior del valor binario en s deben ser igual a 0.

DBCD0E1

Programacin MELSEC A y Q

6 83

BCD, BCDP, DBCD, DBCDP


Fuentes de error

Instrucciones de conversin

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: En la programacin de una instruccin BCD, los datos de fuente en s se encuentran fuera del rango de 0 a 9999 (Serie Q/System Q = cdigo de error 4100). En la programacin de una instruccin DBCD, los datos de fuente en s+1 s se encuentran fuera del rango de 0 a 99999999 (Serie Q/System Q = cdigo de error 4100).

Ejemplo

BCDP El siguiente programa emite con flanco positivo de SM400, el valor real de C4 (5678) a Y20 hasta Y2F para la indicacin BCD.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Alimentacin de tensin Mdulo de salida

BCD__MB1, BCD__KB1, BCD__IB1, BCD_0B1

6 84

Programacin MELSEC A y Q

Instrucciones de conversin

BIN, BINP, DBIN, DBINP

6.3.2

BIN, BINP, DBIN, DBINP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z BIN s d


Largo de bloque

Constante V K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

K1 K4

5
1

DBIN s d
1

K1 K8

9
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros U

Error Flag

Pasos

s d

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

BIN__ME1, BIN__KE1, BIN__IE1

BIN__GE1

Variables

Operando s d

Valor de comando Datos BCD u operando, en el cual se almacenaron los datos BCD. Operando bajo el cual se almacenan los datos BIN.

Tipo de datos BCD (4/8 posiciones) BIN 16/32 bits

Programacin MELSEC A y Q

6 85

BIN, BINP, DBIN, DBINP


Funcionamiento Conversin de datos BCD a datos BIN (4/8 posiciones) Conversin BIN de datos BCD a datos BIN (4 posiciones)

Instrucciones de conversin

La instruccin BIN convierte el valor de datos BCD indicado en s (0 a 9999) a un valor binario y transmite el resultado al operando indicado en d. Los dos bits de valor superior del valor binario en d deben ser igual a 0 en un valor de datos binario de 4 posiciones.

BIN_0E1

Conversin DBIN de datos BCD a datos BIN (8 posiciones) La instruccin DBIN trabaja con el mismo principio que la instruccin BIN. Sin embargo, el valor de datos BCD puede ser de 8 posiciones (0 bis 99999999). Los cinco bits de valor superior del valor binario en d deben ser igual a 0.

BIN_0E2

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Una posicin del nmero del valor de datos de fuente en s no se encuentra en el rango entre 0 y 9. En la utilizacin de una CPU Q puede suprimirse el mensaje de error al aplicar el SM722. La instruccin no se ejecuta sin importar el estado del SM722 cuando se sobrepasa el rango permitido para s.

6 86

Programacin MELSEC A y Q

Instrucciones de conversin

BIN, BINP, DBIN, DBINP

INDICACIN

En caso dado, puede presentarse un error en el procesamiento de programa al ejecutar una instruccin BIN o DBIN con rel intero eespecial M9036 M9037 como condicin de entrada debido al retardo de conmutacin de las indicacines BCD. En este caso se recomienda realizar la conversin binaria solamente despus de la aplicacin de los datos BCD a travs de un contacto convencional de entrada (se aplica solamente para la serie A).

BIN__AB1, BIN__AB2

Ejemplo 1

BINP El siguiente programa convierte los datos BCD de las entradas X10 hasta X1B hacia valores de datos BIN y almacena el resultado con flanco positivo de SM400 en D8.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Alimentacin de tensin Mdulo de entrada 3 Entrada a disposicin libre


BIN__MB1, BIN__KB1, BIN__IB1, BIN_0B1

Programacin MELSEC A y Q

6 87

BIN, BINP, DBIN, DBINP


Ejemplo 2 DBINP

Instrucciones de conversin

El siguiente programa convierte con flanco positivo de X8, los datos BCD de las entradas X10 hasta X37 en valores de datos BIN. El resultado se almacena en D0 y D1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Alimentacin de tensin Mdulo de entrada


BIN__MB2, BIN__KB2, BIN__IB2, BIN_0B2

INDICACIN

Cuando en las entradas X10 hasta X37 hay valores BCD superiores a 2147483647, se encuentran estos valores fuera del rango que puede procesarse por los operandos de 32 bits! En este caso, los valores en D0 y D1 se vuelven negativos. Mayores informciones se encuentran en el prrafo 3.4 Programacin de variables de estas Instrucciones de Programacin. Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 88

Programacin MELSEC A y Q

Instrucciones de conversin

FLT, FLTP, DFLT, DFLTP

6.3.3

FLT, FLTP, DFLT, DFLTP

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit s d

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

FLT__ME1, FLT__KE1, FLT__IE1

FLT__GE1

Variables

Operando s d

Valor de comando Operando en el cual se almacenan los datos BIN a convertir. Operando en el cual se almacena el nmero de coma flotante a convertir.

Tipo de datos BIN 16/32 bits Nmero real

Programacin MELSEC A y Q

6 89

FLT, FLTP, DFLT, DFLTP


Funcionamiento

Instrucciones de conversin

Conversin de datos binarios de 16/32 bits a nmeros de coma flotante FLT Conversin de datos binarios (16 bits) en nmeros de coma flotante

Los datos binarios indicados en s se convierten en un nmero de coma flotante. El resultado se almacena en d.

Nmero de coma flotante (nmero real)


FLT_0E1

El valor de datos indicado en s debe encontrarse entre -32768 y 32767.

DFLT

Conversin de datos binarios (32 bits) en nmeros de coma flotante

Los datos binarios de 32 bits indicados en s se convierten en un nmero de coma flotante. El resultado se almacena en d.

Nmero de coma flotante (nmero real)


FLT_0E2

El valor de datos indicado en s y s+1 debe encontrarse entre -2147483648 y 2147483647.

Debido a la circunstancia que los nmeros de coma flotante se procesan en un proceso de 32 bits, se reduce el ancho de datos a 24 bits en visualizacin binaria o bien en 7 dgitos (aproximativamente) en visualizacin decimal. Antes de la conversin se redondea el valor de datos binarios a un ancho de 25 bits. Se eliminan todos los bits despus del bit N 25. En caso que el valor redondeado (ntegro) se encuentra fuera del rango visualizable con 24 bits (16777216 hasta 16777215), pueden presentarse errores durante la conversin.

1 2

Posicin redondeada Bits eliminados


FLT_0E3

6 90

Programacin MELSEC A y Q

Instrucciones de conversin

FLT, FLTP, DFLT, DFLTP

Ejemplo 1

FLTP El siguiente programa convierte con flanco positivo de SM400, el nmero binario de 16 bits almacenado en D20 en un nmero de coma flotante y almacena el resultado en D0 y D1.
Lista de instrucciones MELSEC Plano de contactos Lista de instrucciones IEC

1 2

Datos binarios Nmero de coma flotante (nmero real)


FLT__MB1, FLT__KB1, FLT__IB1, FLT_0B1

Ejemplo 2

DFLTP

El siguiente programa convierte con flanco positivo de SM400, el nmero binario de 32 bits almacenado en D20 y D21 en un nmero de coma flotante y almacena el resultado en D0 y D1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Datos binarios Nmero de coma flotante (nmero real) 3 Se presenta un error de conversin ya que el valor a convertir tiene un ancho de datos de 7 dgitos.

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

FLT__MB2, FLT__KB2, FLT__IB2, FLT_0B2

Programacin MELSEC A y Q

6 91

INT, INTP, DINT, DINTP


6.3.4 INT, INTP, DINT, DINTP

Instrucciones de conversin

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
2

Esta instruccin extendida puede programarse con una CPU AnA y AnU en el editor IEC como componente normal (funcin) y en el editor MELSEC en relacin con las instrucciones LEDA, -C y -R. No para Q00JCPU, Q00CPU y Q01CPU
Operandos Operandos internos (Sistema, Operador) Bit s d

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Palabra

Mdulos especiale Registro de ndice s Zn U\G


Constantes E

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

INT__ME1, INT__KE1, INT__IE1

INT__GE1

Variables

Operando s d

Valor de comando Operando en el cual se encuentra almacenada el nmero de coma flotante a convertir. Operando en el cual se almacenan los datos BIN a convertir.

Tipo de datos Nmero real BIN 16/32 bits

6 92

Programacin MELSEC A y Q

Instrucciones de conversin

INT, INTP, DINT, DINTP

Funcionamiento

Conversin de nmeros de coma flotante en datos binarios de 16/32 bits INT Conversin de nmeros de coma flotante en datos binarios de 16 bits

El nmero de coma flotante almacenado en s se convierte en un nmero binario de 16 bits y el resultado se almacena en d.

Nmero de coma flotante (nmero real)


INT_0E1

El nmero de coma flotante ingresado e s y s+1 debe encontrarse en el rango entre -32768 y 32767. El valor ntegro convertido se almacena en d en el formato de datos binarios de 16 bits.

El valor almacenado en d muestra el nmero de coma flotante convertido y redondeado en una posicin antes de la coma.

DINT

Conversin de nmeros de coma flotante en datos binarios de 32 bits

El nmero de coma flotante almacenado en s se convierte en un nmero binario de 32 bits y el resultado se almacena en d.

Nmero de coma flotante (nmero real)


INT_0E2

El nmero de coma flotante almacenado en s y s+1 debe encontrarse entre -2147483648 y 2147483647. Desps de la conversin se almacena el valor ntegro en el formato de datos binarios de 32 bits. El valor de datos indicado en d muestra el nmero de coma flotante convertido y redondeado en una posicin antes de la coma.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor de datos ingresado en s se encuentra fuera del rango de -32768 hasta 32767 en caso de utilizar la instruccin INT. El valor de datos indicado en s se encuentra fuera del rango de -2147483648 hasta 2147483647 en caso de utilizar la instruccin DINT.

Programacin MELSEC A y Q

6 93

INT, INTP, DINT, DINTP


Ejemplo 1 INTP

Instrucciones de conversin

El siguiente programa convierte con flanco positivo de SM400, el nmero de coma flotante almacenado en D20 y D21 en un nmero binario de 16 bits y almacena el resultado en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Nmero de coma flotante (nmero real) Datos binarios 3 El valor a convertir se encuentra fuera del rango de datos vlido para las instrucciones INT. A causa de esto no se realiza ninguna conversin y se emite un error.
INT__MB1, INT__KB1, INT__IB1, INT_0B1

6 94

Programacin MELSEC A y Q

Instrucciones de conversin

INT, INTP, DINT, DINTP

Ejemplo 2

DINTP El siguiente programa convierte con flanco positivo de SM400, el nmero de coma flotante almacenado en D20 y D21 en un nmero binario de 32 bits. El resultado se almacena en D0 y D1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Nmero de coma flotante (nmero real) Datos binarios 3 El valor a convertir se encuentra fuera del rango de datos vlido para las instrucciones DINT. A causa de esto no se realiza ninguna conversin y se emite un error.
INT__MB2, INT__KB2, INT__IB2, INT_0B2

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 95

DBL, DBLP
6.3.5 DBL, DBLP

Instrucciones de conversin

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d


FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

DBL__ME1, DBL__KE1, DBL__IE1

DBL__GE1

Variables

Operando s d

Valor de comando Operando en el cual se almacenan los datos BIN a convertir. Operando en el cual se almacenan los datos BIN a convertir.

Tipo de datos BIN 16 bits BIN 32 bits

6 96

Programacin MELSEC A y Q

Instrucciones de conversin

DBL, DBLP

Funcionamiento

Conversin de datos binarios de 16 bits a datos binarios de 32 bits DBL Conversin de datos binarios de 16 bits a datos binarios de 32 bits Los datos binarios de 16 bits almacenados en s, se convierten en datos binarios de 32 bits. El resultado se almacena con signo en d.

DBL_0E1

Ejemplo

DBLP El siguiente programa convierte con flanco positivo de X20, un nmero binario de 16 bits almacenado en D100 en un nmero binario de 32 bits. El resultado se almacena en R0 y R1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DBL__MB1, DBL__KB1, DBL__IB1

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 97

WORD, WORDP
6.3.6 WORD, WORDP

Instrucciones de conversin

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d


FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

WORD_ME1, WORD_KE1, WORD_IE1

WORD_GE1

Variables

Operando s d

Valor de comando Operando en el cual se almacenan los datos binarios a convertir. Operando en el cual se almacenan los datos binarios a convertir.

Tipo de datos BIN 32 bits BIN 16 bits

6 98

Programacin MELSEC A y Q

Instrucciones de conversin

WORD, WORDP

Funcionamiento

Conversin de datos binarios de 32 bits a datos binarios de 16 bits WORD Conversin de datos binarios de 32 bits a datos binarios de 16 bits

Los datos binarios de 32 bits almacenados en s, se convierten en datos binarios de 16 bits. El resultado se almacena con signo en d.

WORD0E1

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor de datos ingresado en s y s+1 se encuentra fuera del rango de -32768 hasta 32767 (cdigo de error 4100).

Ejemplo

WORDP El siguiente programa convierte con flanco positivo de X20, un nmero binario de 32 bits almacenado en D100 y D101 en un nmero binario de 16 bits. El resultado se almacena en R0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WORD_MB1, WORD_KB1, WORD_IB1, WORD0B1

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 99

GRY, GRYP, DGRY, DGRYP


6.3.7 GRY, GRYP, DGRY, DGRYP

Instrucciones de conversin

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d


FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

GRY__ME1, GRY__KE1, GRY__IE1

GRY__GE1

Variables

Operand o s d

Valor de comando Datos binarios u operando, en el cual se almacenaron los datos binarios. Operando en el cual se almacenan los datos de cdigo Gray a convertir.

Tipo de datos BIN 16/32 bits Cdigo Gray 16/32 bits

6 100

Programacin MELSEC A y Q

Instrucciones de conversin

GRY, GRYP, DGRY, DGRYP

Funcionamiento

Conversin de datos binarios de 16/32 bits al cdigo Gray GRY Conversin de datos binarios de 16 bits al cdigo Gray

Los datos binarios de 16 bits almacenados en s, se convierten en cdigo Gray. El resultado se almacena en d.

GRY_0E1

DGRY

Conversin de datos binarios de 32 bits al cdigo Gray

Los datos binarios de 32 bits almacenados en s, se convierten en cdigo Gray. El resultado se almacena en d.

GRY_0E2

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor de datos ingresado en s, es negativo.

Programacin MELSEC A y Q

6 101

GRY, GRYP, DGRY, DGRYP


Ejemplo 1 GRYP

Instrucciones de conversin

El siguiente programa convierte con flanco positivo de X10, un nmero binario de 16 bits almacenado en D100 en un cdigo Gray. El resultado se almacena en D200.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GRY__MB1, GRY__KB1, GRY__IB1

Ejemplo 2

DGRYP El siguiente programa convierte con flanco positivo de X1C, un nmero binario de 32 bits almacenado en D10 y D11 en un cdigo Gray. El resultado se almacena en D100 y D101.

Lista de instrucciones

Plano de

Lista de instrucciones IEC

GRY__MB2, GRY__KB2, GRY__IB2

INDICACIN

Este ejemplo de programa 2 no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 102

Programacin MELSEC A y Q

Instrucciones de conversin

GBIN, GBINP, DGBIN, DGBINP

6.3.8

GBIN, GBINP, DGBIN, DGBINP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d


FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

GBIN_ME1, GBIN_KE1, GBIN_IE1

GBIN_GE1

Variables

Operando s d

Valor de comando Datos de cdigo Gray u operando en el cual se almacenaron los datos de cdigo Gray. Operando en el cual se almacenan los datos binarios a convertir.

Tipo de datos Cdigo Gray 16/32 bits BIN 16/32 bits

Programacin MELSEC A y Q

6 103

GBIN, GBINP, DGBIN, DGBINP


Funcionamiento

Instrucciones de conversin

Conversin de datos de cdigo Gray a datos binarios de 16/32 bits GBIN Conversin de datos de cdigo Gray a datos binarios de 16 bits

Los datos de cdigo Gray almacenados en s, se convierten en datos binarios de 16 bits. El resultado se almacena en d.

GBIN0E1

DGBIN

Conversin de datos de cdigo Gray a datos binarios de 32 bits

Los datos de cdigo Gray almacenados en s, se convierten en datos binarios de 32 bits. El resultado se almacena en d.

GBIN0E2

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor de datos ingresado en s se encuentra fuera del rango de 0 hasta 32767 en caso de utilizar la instruccin GBIN. El valor de datos ingresado en s se encuentra fuera del rango de 0 hasta 2147483647 en caso de utilizar la instruccin DGBIN.

6 104

Programacin MELSEC A y Q

Instrucciones de conversin

GBIN, GBINP, DGBIN, DGBINP

Ejemplo 1

GBINP El siguiente programa decodifica con flanco positivo de X10, los datos de cdigo Gray almacenados en D100 y almacena el nmero binario de 16 bits en D200.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GBIN_MB1, GBIN_KB1, GBIN_IB1

Ejemplo 2

DGBINP El siguiente programa convierte con flanco positivo de X1C, los datos de cdigo Gray almacenados en D10 y D11 y almacena el nmero binario de 32 bits en D0 y D1.

Lista de instrucciones

Plano de

Lista de instrucciones IEC

GBIN_MB2, GBIN_KB2, GBIN_IB2

INDICACIN

Este ejemplo de programa 2 no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 105

NEG, NEGP, DNEG, DNEGP


6.3.9 NEG, NEGP, DNEG, DNEGP

Instrucciones de conversin

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011 3


1

K1 K4

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin. 2 En DNEG y DNEGP no vlido para AnN y AnS

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

NEG__ME1, NEG__KE1, NEG__IEE1

NEG__GE1

Variables

Operando d

Valor de comando Operando en el cual se almacenan los datos binarios en base de los cuales debe generarse el complemento a dos.

Tipo de datos BIN 16/32 bits

6 106

Programacin MELSEC A y Q

Instrucciones de conversin

NEG, NEGP, DNEG, DNEGP

Funcionamiento

Formacin de complemento a dos de datos binarios de 16/32 bits (inversin de signos) NEG Negacin de datos binarios de 16 bits

La funcin NEG (denominada tambin como complemento a dos o lgica NOT) niega el valor de una palabra de datos de 16 bits. En esto se invierte primero la palabra de datos de 16 bits en d para agregar luego en el siguiente paso el valor de "1". El resultado (complemento a dos) se almacena nuevamente en d.

Inversin con adicin continua


NEG_0E1

La instruccin sirve para convertir el signo negativo de un nmero en un signo positivo o bien para convertir un signo positivo en un signo negativo.

DNEG

Negacin de datos binarios de 32 bits (slo para Serie Q y System Q)

La funcin DNEG (denominada tambin como complemento a dos o lgica NOT) niega el valor de una palabra de datos de 32 bits. En esto se invierte primero la palabra de datos de 32 bits en d para agregar luego en el siguiente paso el valor de "1". El resultado (complemento a dos) se almacena nuevamente en d.

Inversin con adicin continua


NEG_0E2

Programacin MELSEC A y Q

6 107

NEG, NEGP, DNEG, DNEGP


Ejemplo NEGP

Instrucciones de conversin

El siguiente programa sustrae con flanco positivo de XA, el valor de D10 del valor de D20. Primero se aplica el M3 en caso que D10 resulta ser menor a D20. En caso que el resultado de "D10 - D20" sea negativo (aplicacin de M3), el resultado en D10 llega a ser un valor absoluto (complemento a dos) y se vuelve positivo.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

NEG__MB1, NEG__KB1, NEG__IB1

6 108

Programacin MELSEC A y Q

Instrucciones de conversin

ENEG, ENEGP

6.3.10

ENEG, ENEGP

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit d Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

ENEG_ME1, ENEG_KE1, ENEG_IE1

ENEG_GE1

Variables

Operando d

Valor de comando Operando en el cual est almacenado el nmero de coma flotante destinado para la inversin del signo.

Tipo de datos Nmero real

Programacin MELSEC A y Q

6 109

ENEG, ENEGP
Funcionamiento Inversin del signo en nmeros de coma flotante ENEG Negacin de nmeros de coma flotante

Instrucciones de conversin

Esta instruccin ejecuta una negacin del nmero de coma flotante almacenado en d. El resultado se almacena nuevamente en d. La instruccin sirve para convertir el signo negativo de un nmero en un signo positivo o bien para convertir un signo positivo en un signo negativo.

Ejemplo

ENEGP El siguiente programa niega con flanco positivo de X20, el nmero de coma flotante almacenado en D100 y D101 y almacena el resultado nuevamente en D100 y D101.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ENEG_MB1, ENEG_KB1, ENEG_IB1, ENEG0B1

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 110

Programacin MELSEC A y Q

Instrucciones de conversin

BKBCD, BKBCDP

6.3.11

BKBCD, BKBCDP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d n

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

BKBCDME1, BKBCDKE1, BKBCDIE1

BKBCDGE1

Variables

Operando s d n

Valor de comando Operando en el cual se almacenan los bloques de datos BIN a convertir. Operando en el cual se almacenan los bloques de datos BCD a convertir. Cantidad de los bloques de datos a convertir.

Tipo de datos

BIN 16 bits

Programacin MELSEC A y Q

6 111

BKBCD, BKBCDP
Funcionamiento Conversin de datos BIN a datos BCD por bloques

Instrucciones de conversin

BKBCD Conversin de bloques de datos BIN de 16 bits en bloques de datos BCD de 4 posiciones Esta instruccin convierte el bloque N n de 16 bits en s y almacena en d el bloque N n BCD de 4 posiciones correspondientemente convertido. El valor de los bloques de datos binarios indicados en s debe encontrarse en el rango entre 0 y 9999. Los dos bits de valor superior de los bloques de datos binarios de 16 bits deben ser igual a "0".

BKBCD0E1

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad indicada en n de bloques de datos en s y d se encuentra fuera del rango previsto para el almacenamiento de los operandos (cdigo de error 4101). Los datos binarios ingresados en s se encuentran fuera del rango de 0 hasta 9999 (cdigo de error 4100). Los rangos de almacenamiento de s y d se intercalan (cdigo de error 4101). Mayores informaciones para la utilizacin del direccionamiento indexado se encuentran en el Cap. 3.6.

6 112

Programacin MELSEC A y Q

Instrucciones de conversin

BKBCD, BKBCDP

Ejemplo

BKBCDP El siguiente programa convierte con flanco positivo de X20, los bloques de datos binarios de 16 bits almacenados a partir de D100 en bloques de datos BCD de 4 posiciones. Los bloques de datos BCD se almacenan a partir de D200. La cantidad de bloques de datos a convertir (3) se almacena en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKBCDMB1, BKBCDKB1, BKBCDIB1, BKBCD0B1

Programacin MELSEC A y Q

6 113

BKBIN, BKBINP
6.3.12 BKBIN, BKBINP

Instrucciones de conversin

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos Registro (Sistema, Operador) de Bit Palabra archivos s d n


MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

BKBINME1, BKBINKE1, BKBINIE1

BKBINGE1

Variables

Operando s d n

Valor de comando Operando en el cual se almacenan los bloques de datos BCD a convertir. Operando en el cual se almacenan los bloques de datos BIN a convertir. Cantidad de los bloques de datos a convertir.

Tipo de datos

BIN 16 bits

6 114

Programacin MELSEC A y Q

Instrucciones de conversin

BKBIN, BKBINP

Funcionamiento

Conversin de datos BCD a datos BIN por bloques BKBIN, BKBINP Conversin de bloques de datos BCD de 4 posiciones en bloques de datos BIN de 16 bits

Esta instruccin convierte el bloque N n BCD de 4 posiciones en s y almacena en d el bloque N n de 16 bits correspondientemente convertido. El valor de los bloques de datos BCD indicados en s debe encontrarse en el rango entre 0 y 9999.

BKBIN0E1

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad indicada en n de bloques de datos en s y d se encuentra fuera del rango previsto para el almacenamiento de los operandos (cdigo de error 4101). Los datos BCS ingresados en s se encuentran fuera del rango de 0 hasta 9999. Los rangos de almacenamiento de s y d se intercalan. Mayores informaciones para la utilizacin del direccionamiento indexado se encuentran en el Cap. 3.6 de las Instrucciones de Programacin.

Programacin MELSEC A y Q

6 115

BKBIN, BKBINP
Ejemplo BKBINP

Instrucciones de conversin

El siguiente programa convierte con flanco positivo de X20, los bloques de datos BCD de 4 posiciones almacenados a partir de D100- en bloques de datos binarios de 16 bits. Los bloques de datos binarios se almacenan a partir de D200. La cantidad de bloques de datos a convertir (3) se almacena en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKBINMB1, BKBINKB1, BKBINIB1, BKBIN0B1

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 116

Programacin MELSEC A y Q

Instrucciones de transferencia

6.4

Instrucciones de transferencia
Las instrucciones para la transferencia de datos posibilitan la transferencia, el intercambio o la inversin de datos. En total estn disponibles 24 instrucciones diferentes. Una vista sinptica contiene la siguiente tabla.

INDICACIN

Los datos transferidos mediante las instrucciones de transferencia se mantienen actuales hasta que sern reemplazados por datos nuevamente transferidos. Debido a este motivo se mantienen los datos incluso al no seguir aplicndose la condicin de entrada de la instruccin de transferencia.

Funcin

Instruccin MELSEC en el Editor MELSEC MOV

Instruccin MELSEC en el editor IEC MOV_M MOVP_M DMOV_M DMOVP_M EMOV_M EMOVP_M STRING_MOV_M STRING_MOVP_M CML_M CMLP_M DCML_M DCMLP_M BMOV_M BMOVP_M FMOV_M FMOVP_M XCH_M XCHP_M DXCH_M DXCHP_M BXCH_M BXCHP_M SWAP_MD SWAP_P_MD

Transferencia (16/32 bits)

MOVP DMOV DMOVP

Transferencia de nmeros de coma flotante Transferencia de de secuencias de caracteres

EMOV EMOVP $MOV $MOVP CML

Transferencia inversa (16/32 bits)

CMLP DCML DCMLP

Transferencia de bloques Transferencia de bloques de datos idnticos

BMOV BMOVP FMOV FMOVP XCH

Intercambio (16/32 bits)

XCHP DXCH DXCHP

Intercambio (8 bloques de 16 bits) Intercambio (byte de valor superior e inferior)

BXCH BXCHP SWAP SWAPP

INDICACIN

Se recomienda utilizar los comandos IEC en los editores IEC.

6.4.1

Programacin MELSEC A y Q

6 117

MOV, MOVP, DMOV, DMOVP


6.4.1 MOV, MOVP, DMOV, DMOVP

Instrucciones de transferencia

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z MOV s d


Largo de bloque

Constante V K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011

K1 K4

5
1

DMOV s d
1

K1 K8

7
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s d
1

31) 32)

La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 3 En una CPU de Q con procesador mltiple y operandos de palabra internos (sin registro de archivo ZR) o constantes: 2 En la utilizacin de una CPU de Q de procesador mltiple y operandos de bit cuya direccin es un valor mltiple de 16, que tiene la denominacin de bloque de bit 4 y que no se procesa por la asignacin de ndice: 2 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados: 3 2 La cantidad de pasos de programa depende del tipo de CPU. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador mltiple: 3 En la utilizacin de una CPU de Q de procesador nico: 2

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

6 118

Programacin MELSEC A y Q

Instrucciones de transferencia

MOV, MOVP, DMOV, DMOVP

GX Developer

MOV__ME1, MOV__KE1, MOV__IE1

M 1

Variables

Operando s d

Valor de comando Datos binarios u operando, en el cual se almacenaron los datos binarios.

Tipo de datos BIN 16/32 bits

Operando al cual se transmiten los datos binarios.

Funcionamiento

Transferencia de datos binarios de 16/32 bits MOV Transferencia de datos (16 bits)

La instruccin MOV transmite los datos de 16 bits predeterminados en s, hacia el operando en d.

DMOV

Transferencia de datos (32 bits)

MOV_0E1

La instruccin DMOV transmite los datos de 32 bits predeterminados en s, hacia el operando en d.

Ejemplo 1

MOVP

MOV_0E2

El siguiente programa transmite con flanco positivo de SM400, los datos de X0 hasta XB hacia D8.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MOV__MB1, MOV__KB1, MOV__IB1

Programacin MELSEC A y Q

6 119

MOV, MOVP, DMOV, DMOVP


Ejemplo 2 MOVP

Instrucciones de transferencia

El siguiente programa escribe con flanco positivo de X8, el valor 155 en forma binaria al registro D8.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Ejemplo 3

DMOVP

MOV__MB2, MOV__KB2, MOV__IB2, MOV_0B1

El siguiente programa transmite con flanco positivo de SM400, los datos de D0 y D1 hacia D7 y D8.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Ejemplo 4

DMOVP

MOV__MB3, MOV__KB3, MOV__IB3

El siguiente programa transmite con flanco positivo de SM400, los datos de X0 hasta X1F hacia D0 y D1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MOV__MB4, MOV__KB4, MOV__IB4

INDICACIN

Los ejemplos de programa 3 y 4 no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 120

Programacin MELSEC A y Q

Instrucciones de transferencia

EMOV, EMOVP

6.4.2

EMOV, EMOVP

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit s d Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes E

Otros

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

EMOVME1, EMOVKE1, EMOVIE1

EMOVGE1

Variables

Operando s d

Valor de comando Nmero de coma flotante u operando en el cual se encuentra almacenado el nmero de coma flotante a transferir. Operando al cual se transmite el nmero de coma flotante.

Tipo de datos Nmero real

Programacin MELSEC A y Q

6 121

EMOV, EMOVP
Funcionamiento Transferencia de nmeros de coma flotante EMOV/EMOVP

Instrucciones de transferencia

Transferencia de nmeros de coma flotante

La instruccin EMOV transmite el nmero de coma flotante indicado en s, hacia el operando en d.

Nmero de coma flotante (nmero real)


EMOV0E1

Ejemplo 1

EMOVP El siguiente programa transmite con flanco positivo de SM400, el nmero de coma flotante en D10 y D11 hacia D0 y D1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EMOVMB1, EMOVKB1, EMOVIB1, EMOV0B1

6 122

Programacin MELSEC A y Q

Instrucciones de transferencia

EMOV, EMOVP

Ejemplo 2

EMOVP El siguiente programa transmite con flanco positivo de X8, el nmero real -1,23 hacia D10 y D11.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EMOVMB2, EMOVKB2, EMOVIB2, EMOV0B2

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 123

$MOV, $MOVP
6.4.3 $MOV, $MOVP

Instrucciones de transferencia

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d Palabra


FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes $

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

SMOV_ME1, SMOV_KE1, SMOV_IE1

SMOV_ME1

Variables

Operando s d

Valor de comando Secuencia de caracteres u operando en el cual se encuentra almacenado la secuencia de caracteres a transferir. Operando al cual se transmite la secuencia de caracteres.

Tipo de datos Secuencia de caracteres

6 124

Programacin MELSEC A y Q

Instrucciones de transferencia

$MOV, $MOVP

Funcionamiento

Transferencia de secuencias de caracteres $MOV Transferencia de secuencias de caracteres

La instruccin $MOV transmite los bytes almacenados en s de la secuencia de caracteres hacia d. En la transferencia de datos se transmite la completa secuencia de caracteres, empezando con el primer caracter (byte) hasta el byte descrito con "00H" (fin de la secuencia de caracteres) dentro de un proceso de trabajo.

1 2

Identifica el fin de una secuencia de caracteres 1. Caracter 3 Caracter N n


SMOV0E1

El procesamiento de la instruccin $MOV se ejecuta sin mensaje de error incluso cuando intercalan los rangos de datos previstos para el almacenamiento, de s hasta s+n con los de d hasta d+n. El siguiente resultado se presenta cuando se transmite hacia D11 hasta D13 la secuencia de caracteres almacenada en D10 hasta D14.

Cuando en la secuencia de caracteres se encuentra el cdigo "00H" en s+n delante del caracter en el byte de valor mayor, no se considera el siguiente caracter en la transferencia y se describe el byte correspondiente en d+n tambin con "00H".

SMOV0E2

1 2

Este caracter no se transfiere. Este byte se describe automticamente con "00H".smov0e3

Programacin MELSEC A y Q

6 125

$MOV, $MOVP
Fuentes de error

Instrucciones de transferencia

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El cdigo "00H" no existe dentro de la secuencia de caracteres indicada en s (cdigo de error 4101). La completa secuencia de caracteres no puede transferirse hacia d.

Ejemplo

El siguiente programa transmite con flanco positivo de X0, la secuencia de carcteres almacenada en D10 hasta D12, hacia D20 hasta D22.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SMOV_MB1, SMOV_KB1, SMOV_IB1, SMOV0B1

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 126

Programacin MELSEC A y Q

Instrucciones de transferencia

CML, CMLP, DCML, DCMLP

6.4.4

CML, CMLP, DCML, DCMLP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z CML s d


Largo de bloque

Constante Puntero Nivel V K H P (16#) I N

ndice

Pasos

Operandos MELSEC A

Carry Error Flag Flag M9012 M9010 M9011

K1 K4

5
1

DCML s d
1

K1 K8

7
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit s d

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

31)

La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA o de una CPU de Q de procesador nico: 3 En una CPU de Q con procesador mltiple y operandos de palabra internos (sin registro de archivo ZR) o constantes: 2 En la utilizacin de una CPU de Q de procesador mltiple y operandos de bit cuya direccin es un valor mltiple de 16, que tienen la denominacin de bloque de bit 4 y que no han sido procesados por la asignacin de ndice: 2 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados: 3

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

CML__ME1, CML__KE1, CML__IE1

GX Developer

C M L _ M

E1

Variables

Operando s d

Valor de comando Datos binarios u operando, en el cual se almacenaron los datos binarios a invertir.

Tipo de datos BIN 16/32 bits

Operando en el cual se almacenan los datos binarios a invertir.

Programacin MELSEC A y Q

6 127

CML, CMLP, DCML, DCMLP


Funcionamiento Inversin de datos binarios de 16/32 bits CML Inversin de datos (16 bits)

Instrucciones de transferencia

Se niega por bits el valor de datos de 16 bits en s indicado en la instruccin CML. El resultado se transfiere hacia d.

CML_0E1

DCML

Inversin de datos (32 bits)

Se niega por bits el valor de datos de 32 bits en s indicado en la instruccin DCML. El resultado se transfiere hacia d.

CML_0E2

6 128

Programacin MELSEC A y Q

Instrucciones de transferencia

CML, CMLP, DCML, DCMLP

Ejemplo 1

CML El siguiente programa transfiere durante la duracin de activacin de SM402, los datos de X0 hasta X7 en forma negada hacia D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Se ingresan por lectura los bits no escritos como "0".


CML__MB1, CML__KB1, CML__IB1, CML_0B1

Observe que la cantidad de bits en s debe ser menor a la cantidad de bits en d.

Ejemplo 2

CML El siguiente programa transfiere durante la duracin de activacin de SM402, los datos de M16 hasta M23 en forma negada hacia K3 Y40 (Y40 hasta Y4F). Y48 hasta Y4B se ajustan en "1" ya que han sido ingresados por lectura como "0".

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Se ingresan por lectura los bits no escritos como "0".


CML__MB2, CML__KB2, CML__IB2, CML_0B2

La cantidad de bits en s debe ser menor a la cantidad de bits en d.

Programacin MELSEC A y Q

6 129

CML, CMLP, DCML, DCMLP


Ejemplo 3 CMLP

Instrucciones de transferencia

El siguiente programa transmite con flanco positivo de X3, los datos de X3 de D0 en forma negada hacia D16.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

CML__MB3, CML__KB3, CML__IB3, CML_0B3

Ejemplo 4

DCML El siguiente programa transfiere durante la duracin de activacin de SM402, los datos de X0 hasta X1FF en forma negada hacia D0 y D1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Se ingresan por lectura los bits no escritos como "0".


CML__MB4, CML__KB4, CML__IB4, CML_0B4

Observe que la cantidad de bits en s debe ser menor a la cantidad de bits en d.

6 130

Programacin MELSEC A y Q

Instrucciones de transferencia

CML, CMLP, DCML, DCMLP

Ejemplo 5

DCML El siguiente programa transfiere durante la duracin de activacin de SM402, los datos de M16 hasta M35 en forma negada hacia Y40 y Y57.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Se ingresan por lectura los bits no escritos como "0".


CML__MB5, CML__KB5, CML__IB5, CML_0E4

Ejemplo 6

DCMLP El siguiente programa transmite con flanco positivo de X3, los datos de X3 de D0 y D1 en forma negada hacia D16 y D17.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

CML__MB6, CML__KB6, CML__IB6, CML_0B6

INDICACIN

La cantidad de bits en s debe ser menor a la cantidad de bits en d. Los ejemplos de programa 4 y 6 no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 131

BMOV, BMOVP
6.4.5 BMOV, BMOVP

Instrucciones de transferencia

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag

Error Flag

M9010 M9012 M9011 9


1

s d n
1

K1 K4

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit s d n

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

BMOV_ME1, BMOV_KE1, BMOV_IE1

BMOV_ME1

Variables

Operando s d n

Valor de comando Operando en el cual se almacenan los datos a transferir. Operando al cual se transmiten los datos. Cantidad de los bloques de datos a transferir.

Tipo de datos

BIN 16 bits

6 132

Programacin MELSEC A y Q

Instrucciones de transferencia

BMOV, BMOVP

Funcionamiento

Transferencia de bloques de datos binarios BMOV Transferencia de datos por bloques (16 bits)

Con la instruccin BMOV puede transferirse un bloque de direcciones consecutivas en forma simultnea. En s se determina la primera direccin a transferir. El valor en "n" indica la cantidad de direcciones consecutivas. Los datos se transfieren en bloques de "n" direcciones hacia la direccin destino, empezando con d.

BMOV0E1

Una transferencia de datos resulta posible tambin en caso que la fuente y el destino contengan las mismas direcciones. La transferencia hacia los operandos con la direccin ms inferior empieza con s y la transferencia hacia los operandos con direccin mayor s+(n-1). Cuando s es un operando de palabra y d un operando de bit, se transfieren las posiciones indicadas a travs de la asignacin de bits, del operando de palabra al operando de bit. Cuando se aplica por ejemplo, el K1Y30 para d, se transfieren los 4 bits de valor ms bajo del operando de palabra determinado mediante s.

BMOV0E2

Cuando se trata de operandos de bit en las direcciones, debe resultar idntica de cantidad de bits en d y s.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad indicada en n de bloques de datos en s y d se encuentra fuera del rango previsto para el almacenamiento de los operandos. (Serie Q/System Q = Cdigo de error 4101).

Programacin MELSEC A y Q

6 133

BMOV, BMOVP
Ejemplo 1 BMOVP

Instrucciones de transferencia

El siguiente programa transmite con flanco positivo de SM402, los datos de los 4 bits ms bajos (de b0 hasta b3) de D66 hasta D69 hacia las salidas Y30 hasta Y3F. La cantidad de bloques a transmitir (4) indica la constante K4. Los esquemas de bits indican la estructura de bits antes y despus de la transferencia.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Estos bits no se consideran en la operacin.


BMOV_MB1, BMOV_KB1, BMOV_IB1, BMOV0B1

Ejemplo 2

BMOVP El siguiente programa transmite con flanco positivo de SM402, los datos de X20 hasta X2F hacia los registros D100 hasta D103. La cantidad de bloques de datos (4) indica la constante K4. Los esquemas de bits indican la estructura de bits antes y despus de la transferencia.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BMOV_MB2, BMOV_KB2, BMOV_IB2, BMOV0B2

6 134

Programacin MELSEC A y Q

Instrucciones de transferencia

FMOV, FMOVP

6.4.6

FMOV, FMOVP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante Puntero Nivel K

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

s d n
1

K1 K4

9
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s d n

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

FMOV_ME1, FMOV_KE1, FMOV_IE1

FMOV_ME1

Variables

Operando s d n

Valor de comando Datos u operando en el cual se almacenan los datos a transferir. Operando al cual se transmiten los datos. Cantidad de transferencias.

Tipo de datos

BIN 16 bits

Programacin MELSEC A y Q

6 135

FMOV, FMOVP
Funcionamiento Transferencia de un bloque de datos binarios FMOV

Instrucciones de transferencia

Transferencia de un bloque de datos idntico (16 bits)

Con una instruccin FMOV pueden transferirse los datos del operando s en un rango de datos, empezando con un operando determinado en d, hasta el operando d+(n-1). De esta forma se ajusta cada operando en el valor del operando s en el bloque de datos de d hasta d+(n-1).

FMOV0E1

Cuando s es un operando de palabra y d un operando de bit, se transfieren las posiciones indicadas a travs de la asignacin de bits, del operando de palabra al operando de bit.

Estos bits no se consideran en el procesamiento.


FMOV0E2

Cuando se trata de operandos de bit en las direcciones, debe resultar idntica de cantidad de bits en d y s.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad indicada en n de bloques de datos en s y d se encuentra fuera del rango previsto para el almacenamiento de los operandos (Serie Q/System Q = cdigo de error 4101).

6 136

Programacin MELSEC A y Q

Instrucciones de transferencia

FMOV, FMOVP

Ejemplo 1

FMOVP El siguiente programa transmite con flanco positivo de XA, los datos de los 4 bits ms bajos (b0 b3) de D0 hacia las salidas Y10 hasta Y23. La cantidad de bloques (5) indica la constante K5. Los esquemas de bits indican la estructura de bits antes y despus de la transferencia.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Estos bits no se consideran en el procesamiento.


FMOV_MB1, FMOV_KB1, FMOV_IB1, FMOV0B3

Ejemplo 2

FMOVP

El siguiente programa transmite con flanco positivo de XA, los datos de X20 hasta X23 hacia los registros de datos D100 hasta D103. La cantidad de bloques (4) indica la constante K4. Los esquemas de bits indican la estructura de bits antes y despus de la transferencia.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Estos bits no se consideran en el procesamiento.


FMOV_MB2, FMOV_KB2, FMOV_IB2, FMOV0B2

Programacin MELSEC A y Q

6 137

XCH, XCHP, DXCH, DXCHP


6.4.7 XCH, XCHP, DXCH, DXCHP

Instrucciones de transferencia

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante Puntero Nivel K H P (16#) I N

Largo de bloque

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

XCH d1 d2

K1 K4

5
1

DXCH d1 d2
1

K1 K8

7
1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

d1 d2

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

XCH__ME1, XCH__KE1, XCH__IE1

XCH__GE1

Variables

Operando d1

Valor de comando Operandos en los cuales se almacenan los datos a intercambiar.

Tipo de datos BIN 16/32 bits

d2

6 138

Programacin MELSEC A y Q

Instrucciones de transferencia

XCH, XCHP, DXCH, DXCHP

Funcionamiento

Intercambio de datos binarios XCH Intercambio de datos (16 bits)

La instruccin XCH (eXCHange; intercambio) intercambia los datos de 16 bits de d1 y d2 entre s.

XCH_0E1

DXCH

Intercambio de datos (32 bits)

La instruccin DXCH intercambia los datos de 32 bits de (d1)+, d1 y (d2)+1, d2 entre s.

XCH_0E2

Ejemplo 1

XCHP El siguiente programa intercambia con flanco positivo de X8, el contenido de D0 con el valor real de T0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

XCH__MB1, XCH__KB1, XCH__IB1

Programacin MELSEC A y Q

6 139

XCH, XCHP, DXCH, DXCHP


Ejemplo 2 XCHP

Instrucciones de transferencia

El siguiente programa intercambia con flanco positivo de X10, el contenido de D0 con el contenido de M16 hasta M31.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

XCH__MB2, XCH__KB2, XCH__IB2

Ejemplo 3

DXCHP El siguiente programa intercambia con flanco positivo de X10, el contenido de D0 y D1 con el contenido de M16 hasta M47.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

XCH__MB3, XCH__KB3, XCH__IB3

Ejemplo 4

DXCHP El siguiente programa intercambia con flanco positivo de M0, el contenido de D0 y D1 con el contenido de D9 hasta D10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

XCH__MB4, XCH__KB4, XCH__IB4

INDICACIN

Los ejemplos de programa 3 y 4 no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador y controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 140

Programacin MELSEC A y Q

Instrucciones de transferencia

BXCH, BXCHP

6.4.8

BXCH, BXCHP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit d1 d2 n

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

BXCH_ME1, BXCH_KE1, BXCH_IE1

BXCH_GE1

Variables

Operando d1

Valor de comando Operandos en los cuales se almacenan los datos a intercambiar.

Tipo de datos

d2 n Cantidad de los bloques de datos a intercambiar.

BIN 16 bits

Programacin MELSEC A y Q

6 141

BXCH, BXCHP
Funcionamiento Intercambio de bloques de datos binarios BXCH Intercambio de datos por bloques (16 bits)

Instrucciones de transferencia

La instruccin BXCH (eXCHange; intercambio) intercambia los datos de 16 bits de d1 y d2 entre s.

BXCH0E1

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad indicada en n de bloques de datos en d1 y d2 se encuentra fuera del rango previsto para el almacenamiento de los operandos. (Serie Q/System Q = Cdigo de error 4101). Los rangos de almacenamiento de d1 y d2 se intercalan (cdigo de error 4101).

6 142

Programacin MELSEC A y Q

Instrucciones de transferencia

BXCH, BXCHP

Ejemplo

BXCHP El siguiente programa intercambia con flanco positivo de X1C, los bloques de datos empezando con D200, con los bloques de datos empezando con R0. La cantidad de bloques de datos binarios a intercambiar (3) indica la constante K3. Los esquemas de bits indican la estructura de bits antes y despus de la transferencia.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BXCH_MB1, BXCH_KB1, BXCH_IB1, BXCH0B1

Programacin MELSEC A y Q

6 143

SWAP, SWAPP
6.4.9 SWAP, SWAPP

Instrucciones de transferencia

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Esta instruccin extendida puede programarse con una CPU AnA y AnU en el editor IEC como componente normal (funcin) y en el editor MELSEC en relacin con las instrucciones LEDA, -C y -R.
Operandos Operandos internos (Sistema, Operador) Bit s

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos especiales Registro U\G de ndice Zn Palabra


Constantes K, H (16#)

Otros

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

SWAP_ME1, SWAP_KE1, SWAP_IE1

BXCH_GE1

Variables

Operando s

Valor de comando Operando en el cual se almacenan los datos.

Tipo de datos BIN 16 bits

6 144

Programacin MELSEC A y Q

Instrucciones de transferencia

SWAP, SWAPP

Funcionamiento

Intercambio de bytes de una palabra SWAP Intercambio del byte de valor superior y de valor inferior

La instruccin SWAP intercambia los 8 bits de valor superior (byte de valor superior) con los 8 bits de valor inferior (byte de valor inferior) de la palabra almacenada en s.

SWAP0E1

Ejemplo

SWAPP El siguiente programa intercambia con flanco positivo de X10, los 8 bits superiores con los 8 bits inferiores del operando R10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SWAP_MB1, SWAP_KB1, SWAP_IB1, SWAP0B1

Programacin MELSEC A y Q

6 145

SWAP, SWAPP

Instrucciones de transferencia

6 146

Programacin MELSEC A y Q

Instrucciones de bifurcacin de programa

6.5

Instrucciones de bifurcacin de programa


Las instrucciones de bifurcaciones de programa se programan conjuntamente con un destino de salto.

Funcin Salto condicionado Salto condicionado en el siguiente ciclo Instruccin de salto Salto al fin de programa

Instruccin MELSEC en el Editor MELSEC CJ SCJ JMP GOEND

Instruccin MELSEC en el editor IEC CJ_M SCJ_M JMP_M GOEND_M

Los destinos de salto se identifican por un puntero (en el MELSEC MEDOC y el GX Developer) o una etiqueta (en el GX IEC Developer). Informaciones detalladas acerca de la programacin de una etiqueta en el GX IEC Developer se encuentran en el manual de usuario para el GX IEC Developer.

MELSEC MEDOC

GX IEC Developer

CJ___IB3, CJ___IB1

GX Developer

CJ___GB1

Programacin MELSEC A y Q

6 147

CJ, SCJ, JMP


6.5.1 CJ, SCJ, JMP

Instrucciones de bifurcacin de programa

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X p


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante

H K (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011 3


1

La cantidad de pasos en caso de utilizacin de una CPU AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Palabra Mdulos Registro especiale de ndice s Zn U\G Constantes K, H (16#) Otros P

Operandos MELSEC Q

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

C CJ___ME1, CJ___KE1, CJ___IE1

GX Developer

CJ___GE1

Variables

Operando p

Valor de comando Direccin de destino de salto

Tipo de datos Puntero/ Etiqueta

6 148

Programacin MELSEC A y Q

Instrucciones de bifurcacin de programa

CJ, SCJ, JMP

Funcionamiento

Instrucciones de salto Una instruccin de salto se compone de un comando de salto CJ, SCJ o JMP (Conditional Jump = salto condicionado, JuMP = salto) y de un puntero (etiqueta) P que identifica el destino de salto. La direccin del puntero (etiqueta) puede encontrarse en la serie A entre P (etiqueta) 0 y P (etiqueta) 255 donde P (etiqueta) 255 asume el significado de una instruccin END y no puede utilizarse como direccin de destino de salto. En la serie Q y el System Q, la direccin del puntero (etiqueta) puede encontrarse entre P (etiqueta) 0 y P (etiqueta) 4095. Una direccin de destino de salto P (etiqueta)xx puede aplicarse libremente en el programa. CJ Salto condicionado

La instruccin CJ ejecuta el rea de programa en la direccin de destino de salto indicada despus de la aplicacin de la condicin de entrada. En caso de no aplicarse la condicin de entrada, se ejecuta el siguiente paso de programa.

1 2

Condicin de entrada Instruccin de salto 3 Ciclo de programa


CJ__0E1

SCJ

Salto condicionado al siguiente ciclo

La instruccin SCJ ejecuta el rea de programa en la direccin de destino de salto indicada despus de la aplicacin de la condicin de entrada con el siguiente ciclo de programa. En caso de no aplicarse la condicin de entrada, se ejecuta el siguiente paso de programa.

1 2

Condicin de entrada Instruccin de salto 3 Un ciclo 4 Ciclo de programa


CJ__0E2

Programacin MELSEC A y Q

6 149

CJ, SCJ, JMP


JMP Instruccin de salto

Instrucciones de bifurcacin de programa

La instruccin JMP ejecuta el rea de programa en la direccin de destino de salto indicada sin condicin de entrada (salto sin condicin). INDICACIONES

Al saltar un temporizador ya aplicado por una instruccin CJ, SCJ o JMP, sigue ejecutndose el proceso del temporizador en forma contnua. Al saltar una instruccin OUT mediante una instruccin de salto, se mantiene inalterado el estado de la salida. Mediante la ejecucin de una instruccin de salto se reduce el tiempo de ciclo del programa en relacin a los pasos de programa saltados. (Vase el prrafo A.2.1 Listado de los tiempos de procesamiento (Serie QnA y System Q) en el anexo.) Con la instruccin CJ, SCJ y JMP se posibilita tambin un "salto de retorno" hacia una direccin de destino de salto de valor inferior. En la generacin del programa debe observarse que se abandona el bucle de programa antes de transcurrir el temporizador de vigilancia (en el ejemplo se abandona el bucle al activarse el X7.)

CJ___AB1

Un operando saltado mediante una instruccin de salto, no modifica su estado. En el siguiente ejemplo se explica esto con mayor detalle.

CJ___AB2

Despus de la activacin del XB se ejecuta el salto hacia la direccin de destino de salto de la etiqueta 19. Los estados de las salidas Y43 y Y49 se mantienen sin modificacin alguna en este caso incluso al activar o bien desactivar el XC o XD.

6 150

Programacin MELSEC A y Q

Instrucciones de bifurcacin de programa

CJ, SCJ, JMP

La direccin de destino de salto de la etiqueta 9 ocupa un paso en el programa.

CJ___AB3

Mediante una instruccinCJ, SCJ o JMP puede bifurcarse solamente a una direccin de destino de salto dentro del mismo programa. El programa se continua en la siguiente direccin posible despus de la direccin de salto cuando la direccin de salto se encuentra dentro de un rango que se utiliza durante una operacin de omisin (operacin para saltar un rea de programa).

Programacin MELSEC A y Q

6 151

CJ, SCJ, JMP


Fuentes de error

Instrucciones de bifurcacin de programa

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Una direccin de puntero se aplica doblemente en el programa y es referida mediante una instruccin de salto (serie Q/System Q = cdigo de error 4210). La direccin de destino de salto indicada en la instruccin de salto, no est definida en el programa (falta la direccin de destino de salto o bien puntero) (Serie Q/System Q = cdigo de error 4210). El destino de salto se encuentra detrs de una instruccin END. (Serie Q/System Q = Cdigo de error 4210). El destino de salto se encuentra entre una rutina FOR-/NEXT. El destino de salto se encuentra dentro de una subrutina.

Ejemplo 1

CJ En el siguiente programa se ejecuta en la activacin del X9, un salto a la direccin de destino de salto de la etiqueta_3.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

CJ___MB1, CJ___KB1, CJ___IB1

Ejemplo 2

SCJ En el ejemplo se ejecuta el salto de programa con el siguiente ciclo a la direccin de destino de salto de etiqueta_3 tan pronto como se activa el XC.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

CJ___MB2, CJ___KB2, CJ___IB2

6 152

Programacin MELSEC A y Q

Instrucciones de bifurcacin de programa

GOEND

6.5.2

GOEND

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Palabra Mdulos especiale Registro de ndice s Zn U\G Constantes K, H (16#) Otros Error Flag Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 GOENDME1, GOENDKE1, GOENDIE1

GX Developer

GOENDGE1

Variables

Operando

Valor de comando

Tipo de datos

Programacin MELSEC A y Q

6 153

GOEND
Funcionamiento GOEND Salto al fin de programa

Instrucciones de bifurcacin de programa

En la instruccin de salto GOEND, la direccin de destino de salto es la instruccin FEND o END del programa.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Una instruccin GOEND se aplic despus de la ejecucin de una instruccin CALL o ECALL y antes de la ejecucin de una instruccin RET (cdigo de error 4211). Una instruccin GOEND se aplic despus de la ejecucin de una instruccin FOR y antes de la ejecucin de una instruccin NEXT (cdigo de error 4200). Una instruccin GOEND se aplic en una rutina de interrupcin y antes de la ejecucin de una instruccin IRET (cdigo de error 4221). Una instruccin GOEND se ejecut entre una instruccin CHKCIR y CHKEND (cdigo de error 4230). Una instruccin GOEND se ejecut entre una instruccin IX y IXEND (cdigo de error 4231).

Ejemplo

GOEND En el siguiente programa se salta hacia la instruccin END cuando el valor en D0 resulta ser negativo.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GOENDMB1, GOENDKB1, GOENDIB1

6 154

Programacin MELSEC A y Q

Instrucciones para llamada de programa de interrupcin

6.6

Instrucciones para llamada de programa de interrupcin


La instruccin para la llamada de programa de interrupcin posibilita la llamada de rutinas de interrupcin. En esto pueden activarse o bien desactivarse las interrupciones en forma individual o a travs de esquemas de bits. La siguiente tabla contiene una vista sinptica de las instrucciones.

Funcin Supresin de la interrupcin Posibilidad de interrupcin Esquema de bits de las condiciones de ejecucin de los programas de interrupcin Fin de un programa de interrupcin

Instruccin MELSEC en el Editor MELSEC DI EI IMASK IRET

Instruccin MELSEC en el editor IEC DI_M EI_M IMASK_M IRET_M

6.6.1

Programacin MELSEC A y Q

6 155

DI, EI, IMASK


6.6.1 DI, EI, IMASK

Instrucciones para llamada de programa de interrupcin

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

En una CPU de AnN o AnS puede ejecutarse la instruccin EI/DI solo y cuando el rel interno especial M9053 no ha sido aplicado.
Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante Punter Nivel o I N Largo de bloque

H K (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag

Error Flag

M9010 M9012 M9011 1


1

Solo para instruccin EI y DI


Operandos Operandos internos (Sistema, Operador) Bit s Palabra
1 1

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit Palabra


1

Mdulos especiale Registro de ndice s Zn U\G


1

Constantes K, H (16#)

Otros

Error Flag

Pasos

2
1

1 2

1
2

Solo para instruccin IMASK Solo para instruccin EI y DI

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DI__ME1, DI__KE1, DI__IE1

GX Developer

DI___GE1

Variables

Operando s

Valor de comando Esquema de bits en el cual se indican las condiciones de ejecucin de la interrupcin o bien la direccin inicial a partir del cual se almacena este bit.

Tipo de datos BIN 16 bits

6 156

Programacin MELSEC A y Q

Instrucciones para llamada de programa de interrupcin

DI, EI, IMASK

Funcionamiento

Instrucciones de interrupcin Un programa de interrupcin es un rea de programa ingresado (identificado por una direccin de interrupcin IXX) que puede llamarse mediante una seal externa de interrupcin. La ejecucin del programa de interrupcin se ejecuta en funcin de la instruccin EI/DI. El significado de las instrucciones EI/DI depende en caso de la utilizacin de una CPU de AnN del estado del rel interno especial M9053. Solamente al no aplicar el rel interno, se utilizan las instrucciones como condiciones de ejecucin para una programa de interrupcin. En caso de haber aplicado el rel interno M9053, se utilizan las instrucciones en combinacin con un refrescamiento de enlace (vase el prrafo Instrucciones de actualizacin de datos de las Instrucciones de Programacin). DI Interrupcin prevenida

La instruccin DI previene la ejecucin de un programa de interrupcin hasta que se indique una instruccin EI en la secuencia de programa. El estado DI est activo despus de la activacin o bien un RESET de la CPU. EI Interrupcin posibilitada

La instruccin EI posibilita la llamada de un programa de interrupcin mediante indicacin de la direccin de interrupcin IXX o bien la ejecucin de la instruccin IMASK. Cuando la interrupcin se realiza entre una instruccin DI y una instruccin EI, se ejecuta esta interrupcin solamente despus de haber ejecutado esta secuencia de programa que se encuentra entre la instruccin DI y la instruccin EI. La siguiente ilustracin muestra una programacin de este tipo.

1 2

Programa de ejecucin Programa de interrupcin


DI__0E1

INDICACIN

En el GX IEC Developer se ingresa la instruccin FEND automticamente. Al evento IXX debe asignarse una tarea.

Programacin MELSEC A y Q

6 157

DI, EI, IMASK


IMASK

Instrucciones para llamada de programa de interrupcin

Esquemas de bits de las condiciones de ejecucin de los programas de interrupcin(solo para Serie Q y System Q)

En el esquema de bits indicado en s, se asigna a cada bit una determinada direccin de interrupcin. Del estado del bit correspondiente depende si la interrupcin respectiva puede ejecutarse. Cuando el bit tiene el valor 0, no puede ejecutarse el programa de interrupcin asignado. Cuando el bit tiene el estado 1, se ejecuta el programa de interrupcin. QnA-CPU La siguiente ilustracin muestra la asignacin de bits en s hasta s+2 a las direcciones de interrupcin respectivas.

IMASK0E1

Despus de la activacin de la CPU o despus de un reset con el interruptor de llave RUNSTOP se ajustan los bits b0 - b31 (direccin de interrupcin I0 - I31) en 1, esto quiere decir que estos programas de interrupcin pueden ejecutarse. Los bits b32 - b47 (direccin de interrupcin I32 - I47) tienen el estado 0 por lo que no pueden ejecutarse los programas respectivos de interrupcin. Los esquemas de bits indicados en s hasta s+2 se almacenan en los registros de diagnstico SD715 hasta SD717.

Procesador nico CPU Q

Los bits en s hasta s+7 se asignan a las direcciones de interrupcin del siguiente modo:

s s +1 s+2 s+3 s+4 s+5 s+6 s+7

b15 b14 b13 b12 b11 b10 b9 I15 I14 I13 I12 I11 I10 I9 I31 I30 I47 I63 I79 I95 I46 I62 I78 I94 I29 I45 I61 I77 I93 I28 I44 I27 I26 I43 I42 I25

b8 I8 I24

b7 I7

b6 I6

b5 I5

b4 I4

b3 I3

b2 I2

b1 b0 I1 I0

I23 I22 I39 I55 I38 I54

I21 I20 I37 I53 I69 I85 I36 I52 I68 I84

I19 I18 I35 I34 I51 I50 I67 I66 I83 I82

I17 I16 I33 I32 I49 I48 I65 I64 I81 I80 I97 I96

I41 I40 I57 I73 I89 I56 I72 I88

I60 I59 I58 I76 I92 I75 I74 I91 I90

I71 I70 I87 I86

I111 I110 I109 I108 I107 I106 I105 I104 I103 I102 I101 I100 I99 I98

I127 I126 I125 I124 I123 I122 I121 I120 I119 I118 I117 I116 I115 I114 I113 I112

Despus de la activacin de la tensin de alimentacin de la CPU o bien despus de un reset con el interruptor RUN/STOP, se encuentra habilitada la ejecucin de los programas de interrupcin I0 hasta I31. Los esquemas de bits indicados en s hasta s+2 se almacenan en los registros de diagnstico SD715 hasta SD717. Los esquemas de bits indicados en s hasta s+3 hasta s+7 se almacenan en los registros de diagnstico SD781 hasta SD785. Aunque los registros de diagnstico se dividen por su disposicin en SD715 hasta SD717 y en SD781 hasta SD785, se denominan los esquemas de bits con s hasta s+7.

6 158

Programacin MELSEC A y Q

Instrucciones para llamada de programa de interrupcin

DI, EI, IMASK

Procesador mltiple CPU Q

La siguiente ilustracin muestra la asignacin de bits en s hasta s+15 a las direcciones de interrupcin.

s s +1 s+2 s+3 s+4 s+5 s+6 s+7 s+8 s+9 s +10 s + 11 s + 12 s + 13 s + 14 s + 15

b15 b14 b13 b12 b11 b10 b9 I15 I14 I13 I12 I11 I10 I9 I31 I30 I47 I63 I79 I95 I46 I62 I78 I94 I29 I45 I28 I44 I27 I26 I43 I42 I58 I74 I25 I41 I57 I73 I89

b8 I8 I24 I40 I56 I72 I88

b7 I7

b6 I6

b5 I5

b4 I4

b3 I3

b2 I2

b1 b0 I1 I0

I23 I22 I39 I55 I38 I54

I21 I20 I37 I53 I69 I85 I36 I52 I68 I84

I19 I18 I35 I34 I51 I50 I67 I66 I83 I82

I17 I16 I33 I32 I49 I48 I65 I64 I81 I80 I97 I96

I61 I60 I59 I77 I93 I76 I75 I92

I71 I70 I87 I86

I91 I90

I111 I110 I109 I108 I107 I106 I105 I104 I103 I102 I101 I100 I99 I98

I127 I126 I125 I124 I123 I122 I121 I120 I119 I118 I117 I116 I115 I114 I113 I112 I143 I142 I141 I140 I139 I138 I137 I136 I135 I134 I133 I132 I131 I130 I129 I128 I159 I158 I157 I156 I155 I154 I153 I152 I151 I150 I149 I148 I147 I146 I145 I144 I175 I174 I173 I172 I171 I170 I169 I168 I167 I166 I165 I164 I163 I162 I161 I160 I191 I190 I189 I188 I187 I186 I185 I184 I183 I182 I181 I130 I129 I128 I127 I126 I207 I206 I205 I204 I203 I202 I201 I200 I199 I198 I197 I196 I195 I194 I193 I192 I223 I222 I221 I220 I219 I218 I217 I216 I215 I214 I213 I212 I211 I210 I209 I208 I239 I238 I237 I236 I235 I234 I233 I232 I231 I230 I229 I228 I227 I226 I225 I224 I255 I254 I253 I252 I251 I250 I249 I248 I247 I246 I245 I244 I243 I242 I241 I240

IMASK0E2

Despus de la activacin de la tensin de alimentacin de la CPU o bien despus de un reset (con el interruptor RUN/STOP), se encuentra habilitada la ejecucin de los programas de interrupcin I0 hasta I31 y I48 hasta I255. Los programas de interrupcin I32 hasta I47 estn bloqueados y no pueden ejecutarse. Los esquemas de bits indicados en s hasta s+2 se almacenan en los registros de diagnstico SD715 hasta SD717. Los esquemas de bits indicados en s hasta s+3 hasta s+15 se almacenan en los registros de diagnstico SD781 hasta SD793. Aunque los registros de diagnstico se dividen por su disposicin en SD715 hasta SD717 y en SD793 hasta SD785, se denominan los esquemas de bits con s hasta s+15.

Programacin MELSEC A y Q

6 159

DI, EI, IMASK


INDICACIONES

Instrucciones para llamada de programa de interrupcin

Cuando se requiere un contador dentro de un programa de interrupcin, deben programarse para esto los contadores especiales de interrupcin. Los tipos de CPU de A3H, A3M, AnA, AnAS y AnU no disponen de contadores que pueden utilizarse en un programa de interrupcin. La direccin de interrupcin (puntero de interrupcin) para la identificacin de un programa de interrupcin ocupa un paso de programa. Los programas de interrupcin no deben anidarse, esto quiere decir que dentro de un programa de interrupcin no debe llamarse otro programa de interrupcin.
I

DI___AB1

Cuando el programa ha sido generado con el GX Developer o con el GX IEC Developer en el modo Melsec, se programan las instrucciones FEND y IRET por el usuario. Una alternativa para esta programacin es la programacin en el editor IEC. La interrupcin se asigna a una tarea y las instrucciones FEND y IRET se aplican automticamente por el compilador del GX IEC Developer (vase el ejemplo de programacin). Durante la ejecucin de un programa de interrupcin se aplica internamente el estado DI de modo que no pueden ejecutarse simultneamente otros programas de interrupcin. La llamada de otro programa de interrupcin se posibilita solamente despus de la aplicacin de la instruccin EI. Cuando se encuentra una instruccin EI o DI dentro de una instruccin MC, se ejecutan estas instrucciones EI o DI sin consideracin de la instruccin MC. En una CPU de AnN o AnS puede ejecutarse la instruccin EI/DI solo y cuando el rel interno especial M9053 no ha sido aplicado. En caso de aplicacin de un rel interno especial, la instruccin EI/DI representa la condicin de ejecucin de un refrescamiento de enlace. Para que la instruccin EI/DI pueda procesarse en combinacin con una CPU de AnN o AnS como condicin para la llamada de programa de interrupcin, debe reponerse el rel interno especial M9053 antes de aplicar la instruccin EI/DI.

DI___AB2

6 160

Programacin MELSEC A y Q

Instrucciones para llamada de programa de interrupcin

DI, EI, IMASK

Ejemplo

EI, DI, IMASK (GX IEC Developer) En el siguiente programa de ejemplo se posibilita la ejecucin de un programa de interrupcin despus de la activacin del X0. En caso de un X0 desactivado, se previene la ejecucin del programa de interrupcin. La ilustracin inferior muestra las tareas a programar en el modo ICE, que llaman los programas de interrupcin I1 e I2. Interrupt_1 (I1) e Interrupt_2 (I2) son los programas de interrupcin. La instruccin IRET no debe programarse ya que se aplica automticamente en el compilador del GX IEC Developer.
Lista de instrucciones MELSEC Plano de contactos

Lista de instrucciones IEC

DI___MB1, DI___KB1, DI___IB1, DI___AB3

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 161

DI, EI, IMASK


Ejemplo

Instrucciones para llamada de programa de interrupcin

EI, DI, IMASK con una CPU de Q (GX Developer) En el siguiente programa de ejemplo se posibilita la ejecucin de un programa de interrupcin despus de la activacin del X0. En caso de un X0 desactivado, se previene la ejecucin del programa de interrupcin. I1 e I3 forman las dos programas de interrupcin.

Plano de contactos

Listado de instrucciones

6 162

Programacin MELSEC A y Q

Instrucciones para llamada de programa de interrupcin

IRET

6.6.2

IRET

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag

Error Flag

M9010 M9012 M9011 1

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Palabra Mdulos Registro especiale de ndice s Zn U\G Constantes K, H (16#) Otros Error Flag Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

IRET_ME1, IRET_KE1, IRET_IE1

IRET_GE1

Variables

Operando

Valor de comando

Tipo de datos

INDICACIN

En los editores IEC se genera automticamente la instruccin IRET.

Programacin MELSEC A y Q

6 163

IRET
Funcionamiento

Instrucciones para llamada de programa de interrupcin

Retorno del programa de interrupcin al programa principal IRET Fin de un programa de interrupcin

El fin de un programa de interrupcin se identifica mediante una instruccin IRET. El procesamiento de contadores continua ejecutndose durante la interrupcin. El retorno al programa principal se efecta despus de la ejecucin de la instruccin IRET. En los tipos de CPU A3H, A3M, AnA, AnAS y AnU no se ejecuta un procesamiento de contadores de interrupcin.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: No existe una direccin destino para la llamada de interrupcin (Serie Q/System Q = cdigo de error 4220). Cuando se programa una instruccin IRET en la secuencia de procesamiento delante de un programa de interrupcin, la CPU interrumpe el procesamiento en esta posicin (Serie Q/System Q = cdigo de error 4223). Despus de una llamada de interrupcin y antes de la ejecucin de la instruccin IRET se aplic una instruccin END, FEND, GOEND o STOP (Serie Q/System Q = cdigo de error 4221).

INDICACIN

La siguiente ilustracin muestra una programacin defectuosa!

1 2

Programa de ejecucin Programa de interrupcin


DI__0E2

Ejemplo

La aplicacin de una instruccin IRET en un programa se indica en el ejemplo de la instruccin EI, DI, IMASK.

6 164

Programacin MELSEC A y Q

Instrucciones de actualizacin de datos

6.7

Instrucciones de actualizacin de datos


Las instrucciones de actualizacin de datos ofrecen la posibilidad de actualizar los datos en las interfaces de entrada y salida o bien los datos de una transferencia de datos. La siguiente tabla contiene una vista sinptica de las instrucciones de actualizacin de datos.

Funcin Actualizacin parcial de entrada/ salida (Serie Q) Actualizacin parcial de entrada/ salida (serie A) Instruccin de actualizacin para datos de red e interfaz Condiciones de ejecucin para la instruccin de actualizacin de datos de red e interfaz

Instruccin MELSEC en el Editor MELSEC RFS RFSP SEG COM EI DI

Instruccin MELSEC en el editor IEC RFS_M RFSP_M SEG_M COM_M EI_M DI_M

6.7.1

Programacin MELSEC A y Q

6 165

RFS, RFSP
6.7.1 RFS, RFSP

Instrucciones de actualizacin de datos

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s n


1

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Palabra

Mdulos especiale Registro de ndice s Zn U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0 3

Solo para X e Y

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

R FS_ME1, RFS_KE1, RFS_IE1

GX Developer

RFS__GE1

Variables

Operando s n

Valor de comando Direccin inicial de la entrada/salida, en la cual se aplica la instruccin de actualizacin. Cantidad de bits de entrada/salida a actualizar.

Tipo de datos Bit BIN 16 bits

6 166

Programacin MELSEC A y Q

Instrucciones de actualizacin de datos

RFS, RFSP

Funcionamiento

Actualizacin parcial de entrada/salida (Serie Q y System Q) RFS Instruccin de actualizacin La instruccin RFS actualiza las entradas y salidas de los rangos seleccionados para un ciclo de programa y sirve para la entrada por lectura de datos de una fuente externa o bien para la emisin de datos hacia un mdulo de salida. La entrada por lectura de datos de una fuente externa o bien la emisin de datos hacia una fuenta externa se procesa por lotes despus de la ejecucin de una instruccin END. Por consecuencia no pueden emitirse seales pulsadas en el transcurso de un ciclo de programa. En la actualizacin parcial con una instruccin SEG se actualizan individualmente las direccines predeterminadas de entrada y salida de las entradas (X) y salidas (Y). De este modo pueden emitirse tambin las seales pulsadas. En caso de una utilizacin de entradas y salidas directamente direccionadas (DX/DY), se actualizacin las entradas (X) y salidas (Y) por bits.

RFS__AB1, RFS__AB2

En el ejemplo indicado en el lado izquierdo, se actualizan la entrada X0 y la salida Y20 mediante la instruccin RFS. En el ejemplo indicado en el lado derecho, se ejecuta la misma funcin con utilizacn de DX y DY sin instruccin de actualizacin.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad de bits a actualizar indicada con n, se encuentra fuera del rango de direcciones de entrada/salida.

Ejemplo 1

RFSP El siguiente programa actualiza con flanco positivo de M0, las entradas X100 hasta X11F y las salidas Y200 hasta Y23F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

RFS__MB1, RFS__KB1, RFS__IB1

Programacin MELSEC A y Q

6 167

SEG
6.7.2 SEG

Instrucciones de actualizacin de datos

CPU

AnS
1
1

AnN
1

AnA(S)
1

AnU
1

QnA(S), Q4AR

System Q

Una actualizacin parcial puede ejecutarse solamente con aplicacin de un rel interno M9052.
Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z

Largo de bloque

Constante K

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011 9


1

s d
1

K1 K8

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU CPU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

S EG__ME1, SEG__KE1, SEG__IE1

Variables

Operando s d

Valor de comando Direccin inicial de la entrada/salida, en la cual se aplica la instruccin de actualizacin. Cantidad de bits de entrada/salida a actualizar.

Tipo de datos Bit BIN 16 bits

6 168

Programacin MELSEC A y Q

Instrucciones de actualizacin de datos

SEG

Funcionamiento

Actualizacin parcial de entrada/salida (serie A) Generalidades La ejecucin de una actualizacin parcial puede ejecutarse solamente con aplicacin de un rel interno especial M9052. En caso de no haber aplicado el rel interno especial, la instruccin SEG asume la funcin de una decodificacin de 7 segmentos.

SEG

Actualizacin parcial

La instruccin SEG posibilita la actualizacin de un rea de direcciones de entrada y salida con condicin de entrada aplicada. En una actualizacin parcial se actualizan las direcciones de entrada y salida predeterminadas para un ciclo de programa. Las seales de entrada se reciben durante este proceso y las seales salientes se transmiten hacia los mdulos de salida. Con la actualizacin parcial se modifica el estado de activacin de las entradas (X) y salidas (Y) durante el procesamiento de entradas y salidas en el modo de refrescamiento para un ciclo de programa. Durante un refrescamiento comn de enlace se procesan las seales de entrada y salida por lotes despus de la ejecucin de una instruccin END. Por consecuencia no pueden emitirse seales pulsadas en el transcurso de un ciclo de programa. En la actualizacin parcial con una instruccin SEG se actualizan individualmente las direccines predeterminadas de entrada y salida de las entradas (X) y salidas (Y). De este modo pueden emitirse tambin las seales pulsadas.

INDICACIN

En combinacin con una CPU de A2C, dentro de un ciclo no pueden emitirse seales pulsadas durante la comunicacin con los mdulos de entrada y salida. Esto se aplica tambin para la actualizacin parcial de las salidas (Y) con una instruccin SEG. Mayores indicaciones acerca de esto se encuentran en la descripcin de hardware de la serieA2C.

Condiciones de ejecucin Esctructura de programa La programacin debe iniciarse con la aplicacin del rel interno especial M9052. Los datos de fuentes s que siguen al comando SEG, determinan la direccin inicial (solamente para entradas y salidas X, Y) de la actualizacin parcial. Junto a los datos de fuente se determina la cantidad de las entradas y salidas en bloques de 8 entradas o bien salidas. La ilustracin muestra el esquema de programa para la instruccin SEG.

SEG__AB1

Direccin inicial La determinacin de la direccin inicial se ejecuta siempre con la primera direccin de una secuencia de direcciones de operandos de entrada o bien de salida (por ejemplo, X0, X10, Y20, etc.). Al indicar una direccin entre Yn0 y Yn7 (Xn0 y Xn7), se ejecuta la actualizacin a partir de la direccin Yn0 (Xn0). Al indicar una direccin entre Yn8 y YnF (Xn8 y XnF), se ejecuta la actualizacin a partir de la direccin Yn8.

Programacin MELSEC A y Q

6 169

SEG
Cantidad de direcciones

Instrucciones de actualizacin de datos

La cantidad de direcciones previstas para la actualizacin, puede determinarse en el rango de 8 hasta 2048. La determinacin en bloques hasta 8 direcciones puede ejecutarse del siguiente modo: B1 = 8 direcciones B2 = 16 direcciones BA = 80 direcciones BB = 88 direcciones B10 = 128 direcciones BFF = 2048 direcciones La predeterminacin de B0 actualiza todas las direcciones del PLC a partir de la direccin inicial predeterminada. La actualizacin parcial sigue ejecutndose tambin en caso que la instruccin SEG se ejecuta en el procesamiento directo de la CPU. En este caso no se modifican los estados de circuito de las entradas y salidas. En la emisin pulsada con instruccin SET y RST en el procesamiento directo deben modificarse del siguiente modo los bloques de programa para un refrescamiento de enlace: INDICACIN

El programa no puede procesarse por una CPU de A2C.

SEG_0E1

INDICACIN

En caso de referenciar todas las 2048 direcciones de una sola vez por una instruccin SEG en combinacin con una CPU de AnA o AnU, puede presentarse un procesamiento defectuoso de la actualizacin de entrada/salida. Por lo tanto, la ejecucin de la actualizacin debe efectuarse con una divisin en 2 x 1024 direcciones. El siguiente ejemplo muestra la divisin del programa para una actualizacin de 2048 direcciones en un ciclo de programa de una CPU de AnA o AnU.

SEG__AB6, SEG__AB5

6 170

Programacin MELSEC A y Q

Instrucciones de actualizacin de datos

SEG

Ejemplo

SEG En el siguiente programa se actualizan las entradas X10 hasta X1F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SEG__MB1, SEG__KB1, SEG__IB1

Programacin MELSEC A y Q

6 171

COM
6.7.3 COM

Instrucciones de actualizacin de datos

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag

Error Flag

M9010 M9012 M9011 3

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Palabra Mdulos Registro especiale de ndice s Zn U\G Constantes K, H (16#) Otros Error Flag Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

C OM_ME1, COM_KE1, COM_IE1

GX Developer

COM__GE1

Variables

Operando

Valor de comando

Tipo de datos

6 172

Programacin MELSEC A y Q

Instrucciones de actualizacin de datos

COM

Funcionamiento

Refrescamiento de enlace COM Instruccin de actualizacin para datos de red e interfaz

El tipo de ejecucin de una instruccin COM en las CPUs de la serie QnA y del System Q depende del estado del rel interno de diagnstico SM775: En caso de no estar activado (0) el SM775, se ejecuta una actualizacin de los datos de red e interfaz (refrescamiento de enlace) y un procesamiento global de datos (procesamiento END). En caso de aplicacin (1) del SM775, se ejecuta exclusivamente un procesamiento global de datos (ejecucin (END). Las siguientes ejecuciones se aplican para la serie QnA y el System Q en caso de no aplicar (0) el SM775 (0) y para la serie A: La instruccin COM se aplica, por ejemplo, para la aceleracin de la comunicacin de datos con una estacin remota de entradas y salidas. En caso que el tiempo de ciclo de programa de una estacin maestra es ms largo que el de una estacin local, la instruccin COM posibilita el procesamiento correcto de los datos recibidos de entrada y salida. En la ejecucin de una instruccin COM, la CPU interrumpe transitoriamente el programa de ejecucin y efecta un procesamiento global (procesamiento END) y una actualizacin de los datos de red e interfaz (refrescamiento de enlace).

1 2

Instruccin COM Procesamiento global/Refrescamiento de enlace


COM_0E1

Una instruccin COM puede programarse repetidamente dentro de una rutina de programa. Por lo tanto debe observarse que aumentar el tiempo de ciclo de programa alrededor del procesamiento global de datos y del refrescamiento de enlace. INDICACIONES

Durante el procesamiento global de datos, se ejecutan los siguientes procesos: Comunicacin entre PLC y los mdulos de comunicacin. Supervisin y control de las dems estaciones. Lectura de la memoria bfer de los dems mdulos especiales mediante un mdulo de enlace de computador En la actualizacin de los datos de red e interfaz se ejecutan los siguientes procesos: Actualizacin del enlace CC Actualizacin automtica de mdulos especiales Actualizacin del MELSECNET/10 y MELSECNET/H Actualizacin automtica del rango comn de memoria en un sistema de CPU mltiple (solo para CPU de Q02, Q02H, Q06H, Q12H, Q12PH, Q25H y Q25PHCPU desde versin versin B de software).

Programacin MELSEC A y Q

6 173

COM
Condiciones de ejecucin:

Instrucciones de actualizacin de datos

La ilustracin muestra en el diagrama superior los transcursos de tiempo de la transferencia de datos sin instruccin COM. En el diagrama inferior se muestran los transcursos de tiempo en la programacin de una instruccin COM.

1 2

Programa de la estacin maestra Transferencia de datos 3 Programa de la estacin local 4 Estacin remota de entrada/salida, refrescamiento de entrada/salida
COM_0E2

La transferencia de datos en la red se acelera con una instruccin COM en el programa de ejecucin de la estacin maestra, ya que aumenta la cantidad de procesos de comunicacin con las estaciones remotas de entrada/salida. No resulta posible una recepcin correcta de datos segn el ejemplo indicado en la parte superior, cuando el tiempo de ciclo de programa de una estacin local es ms larga que la de una estacin maestra. Un intercambio seguro de datos se garantiza en este caso mediante la programacin de la instruccin COM en el programa de ejecucin de la estacin local. Al programar una instruccin COM en el programa de ejecucin de una estacin local, se ejecuta una actualizacin (refrescamiento de enlace) siempre y cuando la estacin local recibe la instruccin de la estacin maestra entre las siguientes instrucciones: Paso 0 e instruccin COM, Dos instrucciones COM, Instruccin COM e instruccin END. No es posible acelerar la comunicacin de datos cuando el tiempo de ciclo en la red resulta ms largo que el tiempo de ciclo de programa de la estacin maestra. Esto se aplica tambin cuando la instruccin COM se ha programado en el programa de ejecucin de la estacin maestra.

1 2

Programa de la estacin maestra Tiempo de ciclo de la estacin esclava


COM_0E3

6 174

Programacin MELSEC A y Q

Instrucciones de actualizacin de datos

EI, DI

6.7.4

EI, DI

CPU

AnS
1
1

AnN
1

AnA(S)

AnU

QnA(S), Q4AR

System Q

Un refrescamiento de enlace puede ejecutarse solamente con aplicacin de un rel interno M9052.
Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag

Error Flag

M9010 M9012 M9011 1

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EI__ME1, EI__KE1, EI__IE1, EI__MB1, EI__KB1, EI__IB1

Variables

Operando

Valor de comando

Tipo de datos

Programacin MELSEC A y Q

6 175

EI, DI
Funcionamiento

Instrucciones de actualizacin de datos

Condicin de ejecucin para el refrescamiento de enlace Generalidades La ejecucin de un refrescamiento de enlace (vase la instruccin COM) se ejecuta en funcin de la instruccin EI/DI. El significado de las instrucciones EI/DI en combinacin con una CPU de AnA o A2C depende del estado del rel interno especial M9053. Solamente al no aplicar el rel interno, se utilizan las instrucciones como condiciones de ejecucin para una refrescamiento de enlace. Al no aplicar el rel interno, se utilizan las instrucciones como condiciones de ejecucin para una programa de interrupcin. DI Prevencin de la ejecucin del refrescamiento de enlace

La instruccin DI previene la ejecucin de un refrescamiento de enlace hasta que se indique una instruccin EI en la secuencia de programa. Despus de la activacin o un reset de la CPU resulta inactivo el estado DI. Un refrescamiento de enlace se posibilita en cada procesamiento END. EI Posibilitacin de la ejecucin del refrescamiento de enlace

La ejecucin de un refrescamiento de enlace se posiblita despus de aplicar una instruccin EI. Condiciones de ejecucin La siguiente ilustracin muestra las condiciones de ejecucin de la instruccin EI/DI. El procesamiento de datos de red resulta posible en los rangos indicados con sombra. El ciclo de espera no se aplica cuando el procesamiento no se ejecuta con tiempo constante de ciclo. En caso de un procesamiento directo no resulta posible una actualizacin de entrada/salida.

1 2

Procesamiento de programa sin instruccin EI/DI Procesamiento de programa con instruccin DI 3 Procesamiento de programa con instruccin EI/DI 4 Refrescamiento de entrada/salida 5 Ejecucin de procesamiento 6 Procesamiento END 7 Ciclo de espera
EI__0E1

El procesamiento se efecta al cumplirse la condicin de ejecucin. El significado de una instruccin EI/DI depende del estado del rel interno especial M9053. Despus de ejecutar una instruccin EI/DI puede activarse o bien desactivarse el M9053. Cuando se encuentra una instruccin EI o DI dentro de una instruccin MC, se ejecuta el procesamiento en forma independiente de la ejecucin de la instruccin MC.

6 176

Programacin MELSEC A y Q

Instrucciones de actualizacin de datos

EI, DI

Ejemplo

EI El siguiente programa suprime el refrescamiento de enlace hasta que se ejecuta la instruccin EI poco antes del procesamiento de la instruccin FEND. En cualquier momento puede realizarse una llamada del programa de interrupcin. La ilustracin muestra el transcurso de tiempo del procesamiento de programa.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EI___MB2, EI___KB2, EI___IB2, EI__0B1

Programacin MELSEC A y Q

6 177

Otras instrucciones

6.8

Otras instrucciones
Las instrucciones listadas en la tabla, posibilitan la programacin de temporizadores y contadores especiales, as como de contadores y generadores de impulsos. Adems deben indicarse las instrucciones para el posicionamiento de las mesas rotativas y para la formacin de las matrices de entrada.

Funcin Contador incrementador/ decrementador de 1 fase Contador incrementador/ decrementador de 2 fases Temporizador programable Temporizador de funciones especiales Instruccin de posicionamiento para mesas rotativas Seal de rampa Contador de impulsos Salida de impulso con cantidad ajustable de impulsos Modulacin de ancho en tiempo Formacin de una matriz de entrada

Instruccin MELSEC en el Editor MELSEC UDCNT1 UDCNT2 TTMR STMR STMRH ROTC RAMP SPD PLSY PWM MTR

Instruccin MELSEC en el editor IEC UDCNT1_M UDCNT2_M TTMR_M STMR_M STMRH_M ROTC_M RAMP_M SPD_M PLSY_M PWM_M MTR_M

6.8.1

6 178

Programacin MELSEC A y Q

Otras instrucciones

UDCNT1

6.8.1

UDCNT1

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit s d n
1

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra
2

Palabra

Mdulos especiale Registro de ndice s Zn U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

1 2

Solo para X Solo C

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

UDCN1ME1, UDCN1KE1, UDCN1IE1

GX Developer

UDCN1GE1

Variables
Operando Valor de comando s+0: Entrada de conteo (seal pulsada, fase) s s+1: Determinacin de direccin de conteo 0 = Direccin incremental de conteo 1 = Direccin decremental de conteo Contadores ejecutados por la instruccin UDCNT1.

Tipo de datos MELSEC IEC Secuencia de bits [1..2] de BOOL

Bit

BIN 16 bits (solo para contadores) BIN 16 bits

ANY16 ANY16

Valor de predeterminacin para contacto de contador.

Programacin MELSEC A y Q

6 179

UDCNT1
Funcionamiento Contador incrementador/decrementador de 1 fase UDCNT1 Instruccin de contador

Otras instrucciones

Al conmutarse de 0 a 1 la entrada indicada en s+0 (Array_s [0]), se actualiza el estado actual del contador del contador indicado en d. Esto significa que el conteo se ejecuta exclusivamente para los flancos crecientes. La direccin de conteo depende del estado de la entrada indicada en s+1 (Array_s [1]): Cuando la entrada tiene el estado 0, se suman los impulsos de la entrada indicada en s+0 (Array_s [0]) al estado actual del contador. Cuando esta entrada tiene el estado 1, se sustraen los impulsos del estado actual del contador. El proceso de conteo se ejecuta del siguiente modo: Se activa (1) el contacto de contador del contador indicado en d cuando coincide el estado del contador en el conteo ascendente con el estado de contador indicado en n. El proceso de conteo continua ejecutndose tambin con aplicacin del contacto del contador (vase el ejemplo). En caso de un conteo descendente se repone el contacto de contador al coincidir el estado del contador con el valor n-1 (vase el ejemplo). El contador indicado en d es un contador infinito. Cuando el estado actual del contador es igual a 32767 y se aumenta este valor en 1, salta el contador al valor de -32768. Asmismo salta el contador en el estado de contador de -32768 al valor de 32767 en caso de reducirse en 1. La siguiente ilustracin explica esto con mayor detalle.

1 2

En conteo ascendente En conteo descendente


UDCNT0E1

La instruccin UDCNT1 se arranca al activarse la condicin de ejecucin y se detiene al desactivarse la condicin de ejecucin. En caso de una nueva activacin se arranca el contador en la posicin en la cual se detuvo previamente. Con la instruccin RST se elimina el contenido del contador del contador indicado en d y se desactiva el contacto de contador correspondiente. INDICACIONES

El proceso de conteo para el contador en caso de utilizar una instruccin UDCNT1 se ejecuta durante la interrupcin CPU (1 ms con una CPU de Q de procesador mltiple y 5 ms con una CPU de QnA). Debido a este motivo, la duracin de exploracin y el tiempo de pausa de los impulsos debe ser mayor a 1 ms o bien 5 ms para posibilitar un proceso correcto de conteo. Los ajustes del contador no pueden modificarse durante el proceso de conteo (la entrada indicada en s+0 (Array_s [0]) es 1). Para aplicar modificaciones, debe ajustarse la entrada indicada en s+0 (Array_s [0]) en el valor de 0. Los contadores utilizados con una instruccin UDCNT1, no pueden utilizarse simultneamente por otras instrucciones. En caso de aplicarse esto, ya no puede garantizarse un resultado correcto de conteo emitido por los contadores.

6 180

Programacin MELSEC A y Q

Otras instrucciones

UDCNT1

Ejemplo

UDCNT1 En el siguiente programa se utiliza el contador C0 (contador ascendente/descendente) para contar los flancos positivos de X0 al activarse el X20.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Estado del contador Contacto del contador C0


UDCN1MB1, UDCN1KB1, UDCN1IB1, UDCNT0B1

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 181

UDCNT2
6.8.2 UDCNT2

Otras instrucciones

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit s d n
1

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra
2

Palabra

Mdulos especiale Registro de ndice s Zn U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

1 2

Solo para X Solo C

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

UDCN2ME1, UDCN2KE1, UDCN2IE1

GX Developer

UDCN2GE1

Variables
Operando Valor de comando s+0: Entrada de conteo (seal pulsada, fase A) s d s+1: Entrada de conteo (seal pulsada, fase B) Contador que no ejecuta la instruccin UDCNT2.

Tipo de datos MELSEC Bit BIN 16 bits (solo para contadores) BIN 16 bits IEC Secuencia de bits [1..2] de BOOL ANY16 ANY16

Valor de predeterminacin para contacto de contador.

6 182

Programacin MELSEC A y Q

Otras instrucciones

UDCNT2

Funcionamiento

Contador incrementador/decrementador de 2 fases UDCNT2 Instruccin de contador

El estado de contador del contador indicado en d se modifica en funcin del estado de las dos entradas indicadas en s+0 (Array_s [0]) y s+1 (Array_s [1]). La direccin de conteo d se determina del siguiente modo: Cuando la entrada indicada e s+0 (Array_s [0]) tiene el estado 1 y la entrada indicada en s+1 (Array_s [1]) conmuta de 0 a 1, se aumenta el estado actual del contador en el valor de 1. Cuando la entrada indicada e s+0 (Array_s [0]) tiene el estado 1 y la entrada indicada en s+1 (Array_s [1]) conmuta sin embargo de 1 a 0, se reduce el estado actual del contador en el valor de 1. Cuando la entrada indicada en s+0 (Array_s [0]) tiene el estado de 0, no se ejecuta ninguna operacin de conteo. El proceso de conteo se ejecuta del siguiente modo: Se activa (1) el contacto de contador del contador indicado en d cuando coincide el estado del contador en el conteo ascendente con el estado de contador indicado en n. El proceso de conteo continua ejecutndose tambin con aplicacin del contacto del contador (vase el ejemplo). En caso de un conteo descendente se repone el contacto de contador al coincidir el estado del contador con el valor n-1 (vase el ejemplo). El contador indicado en d es un contador infinito. Cuando el estado actual del contador es igual a 32767 y se aumenta este valor en 1, salta el contador al valor de -32768. Asmismo salta el contador en el estado de contador de -32768 al valor de 32767 en caso de reducirse en 1. La siguiente ilustracin explica esto con mayor detalle.

1 2

En conteo ascendente En conteo descendente


UDCNT0E2

La instruccin UDCNT2 se arranca al activarse la condicin de ejecucin y se detiene al desactivarse la condicin de ejecucin. En caso de una nueva activacin se arranca el contador en la posicin en la cual se detuvo previamente. Con la instruccin RST se elimina el contenido de contador del contador indicado en d y se desactiva el contacto de contador correspondiente. INDICACIONES

El proceso de conteo para el contador en caso de utilizar una instruccin UDCNT2 se ejecuta durante la interrupcin CPU (1 ms con una CPU de Q de procesador mltiple y 5 ms con una CPU de QnA). Debido a este motivo, la duracin de exploracin y el tiempo de pausa de los impulsos debe ser mayor a 1 ms o bien 5 ms para posibilitar un proceso correcto de conteo. Los ajustes del contador no pueden modificarse durante el proceso de conteo (la entrada indicada en s+0 (Array_s [0]) es 1). Para aplicar modificaciones, debe ajustarse la entrada indicada en s+0 (Array_s [0]) en el valor de 0. Los contadores utilizados con una instruccin UDCNT2, no pueden utilizarse simultneamente por otras instrucciones. En caso de aplicarse esto, ya no puede garantizarse un resultado correcto de conteo emitido por los contadores.

Programacin MELSEC A y Q

6 183

UDCNT2
Ejemplo UDCNT2

Otras instrucciones

El siguiente programa ejecuta una operacin de clculo con el contador X0 despus de la activacin de X20. El resultado de conteo y la direccin de conteo (ascendente/descendente) depende de los estados de X0 y X1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

UDCN2MB1, UDCN2KB1, UDCN2IB1, UDCNT0B2

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 184

Programacin MELSEC A y Q

Otras instrucciones

TTMR

6.8.3

TTMR

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit d n Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos especiale Registro de ndice s Zn U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

TTMR_ME1, TTMR_KE1, TTMR_IE1

GX Developer

TTMR_GE1

Variables
Operando Valor de comando d+0: Operando en el cual se almacena el valor de medicin. d n d+1: Se utiliza dentro del sistema de CPU. Valor con el cual se multiplica el valor de medicin.

Tipo de datos MELSEC IEC Secuencia de bits [1..2] de ANY16 ANY16

BIN 16 bits

Programacin MELSEC A y Q

6 185

TTMR
Funcionamiento Temporizador programable TTMR Instruccin de temporizador

Otras instrucciones

El temporizador programado con la instruccin TTMR, mide en segundos el tiempo pendiente de la entrada de la instruccin. El resultado de la medicin se multiplica con el factor indicado en n y se almacena en el operando indicado en d (Array_d [0]+[1]). En caso de flanco ascendente del comando de medicin en la entrada de la instruccin, se elimina el contenido de d+0 (Array_d [0]) y d+1 (Array_d [1]). Indicacin del factor de multiplicacin en n: n = 0, Factor 1 n = 1, Factor 10 n = 2, Factor 100 INDICACIONES

La medicin de tiempo se realiza durante la ejecuccin de la instruccin TTMR. La aplicacin de una instruccin JMP o de una instruccin similar despus de una instruccin TTMR causa una medicin defectuosa del tiempo. Una modificacin del factor indicado en n durante la ejecucin de la instruccin TTMR, corrompe el resultado de medicin. La instruccin TTMR puede utilizarse tambin en programas con una velocidad inferior de procesamiento. El valor indicado en d+1 (Array_d [1]) sirve para el procesamiento interno del sistema y no debe modificarse. Una modificacin de este valor corrompera el resultado almacenado en d+0 (Array_d [0]) .

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor emitido en n se encuentra fuera del rango de 0 hasta 2. (cdigo de error 4100).

Ejemplo

TTMR El siguiente programa mide la duracin de activacin de X0 en segundos (factor 1) y almacena el resultado en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

TTMR_MB1, TTMR_KB1, TTMR_IB1

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 186

Programacin MELSEC A y Q

Otras instrucciones

STMR, STMRH

6.8.4

STMR, STMRH

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit s n d

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra
1

Palabra

Mdulos especiale Registro de ndice s Zn U\G

Constantes

Otros

Error Flag

Pasos

Puede utilizarse exclusivamente para la seleccin del temporizador (T).

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

STMR_ME1, STMR_KE1, STMR_IE1

GX Developer

STMR_GE1

Variables
Operando Valor de comando

Tipo de datos MELSEC IEC

s n

Nmero de temporizador Ajuste de tiempo d+0: Salida de temporizador con retardo de desactivacin d+1: Salida de temporizador con impulso de activacin (activacin mediante flanco descendente del comando).

BIN 16 bits ANY16 (solo para temporizadores) BIN 16 bits ANY16

d d+2: Salida de temporizador con impulso de activacin (activacin mediante flanco ascendente del comando). d+3: Salida de temporizador con retardo de activacin.

Bit

Secuencia de bits [1.0.4] de BOOL

Programacin MELSEC A y Q

6 187

STMR, STMRH
Funcionamiento Temporizador de funciones especiales STMR STMRH

Otras instrucciones

Instruccin de temporizador para temporizadores lentos (Temporizadores de velocidad baja) Instruccin de temporizador para temporizadores rpidos (Temporizadores de velocidad alta)

La instruccin STMR utiliza las salidas indicadas en d+0 (Array_d [0]) hasta d+3 (Array_d [3]) para realizar las cuatro diferentes funciones de temporizador:

Salida de temporizador con retardo del temporizador (d+0) (Array_d [0]) La salida indicada en d+0 (Array_d [0]) se aplica despus del flanco ascendente de la condicin de ejecucin y se desactiva con retardo de tiempo por el tiempo indicado en d despus del flanco ascendente de la condicin de ejecucin.

Salida de temporizador con impulso de activacin (activacin mediante flanco descendente del comando, d+1 (Array_d [1])) La salida indicada en d+1 (Array_d [1]) se aplica con flanco descendente de la condicin de ejecucin. La salida se repone despus de transcurrir el tiempo determinado en n o bien con flanco ascendente de la condicin de ejecucin.

Salida de temporizador con impulso de activacin (activacin con flanco ascendente de la condicin de ejecucin, d+2 (Array_d [2])) La salida indicada en d+2 (Array_d [2]) se aplica con flanco ascendente de la condicin de ejecucin. La reposicin se ejecuta despus de transcurrir el tiempo determinado en n o bien con flanco descendente de la condicin de ejecucin.

Salida de temporizador con retardo de activacin (d+3 (Array [3])) La salida indicada en d+3 (Array_d [3]) se aplica con flanco descendente de la bobina del temporizador. Esto corresponde a un retardo de activacin con el tiempo indicado en n. La salida se aplica tambin con flanco descendente de la condicin de ejecucin y se desactiva solamente despus de transcurrir el tiempo determinado en n.

La bobina del temporizador indicado en s se aplica con flanco ascendente y empieza con la medicin del tiempo determinado en n. La bobina del temporizador mide hasta tal punto en que coincide el tiempo medido con el tiempo determinado en n para luego desactivarse. Al reponer la condicin de ejecucin antes de transcurrir el tiempo determinado en n, se mantiene aplicada la bobina de temporizador y la medicin de tiempo se interrumpe en esta posicin. Antes de la nueva activacin de la condicin de ejecucin se elimina el valor de medicin y la medicin de tiempo emieza nuevamente.

El conctacto de temporizador del temporizador indicado en s se aplica con aplicacin de la bobina de temporizador y con flanco descendente de la condicin de ejecucin o bien con una condicin de ejecucin aplicada y con flanco descendente de la bobina de temporizador. El contacto de temporizador se repone en caso de una bobina de temporizador no aplicada y con flanco descendente de la condicin de ejecucin. El contacto del temporizador se utiliza exclusivamente para el procesamiento interno del sistema de la CPU.

6 188

Programacin MELSEC A y Q

Otras instrucciones

STMR, STMRH

1 2

Condicin de ejecucin Bobina del temporizador indicado en s 3 Contacto del temporizador indicado en s 4 Tiempo indicado en n
STMR_0E1

La medicin del tiempo actualmente transcurrido se ejecuta durante la ejecucin de la instruccin SMTR. En caso de aplicar una instruccin JMP o similar despus de una instruccin SMTR, ya no resulta posible efectuar una medicin correcta del tiempo. Las indicaciones efectivas de tiempo para las salidas de temporizador indicadas en d se calculan en base a la constante indicada en n multiplicada con la unidad de medida para temporizadores lentos (ajuste estndar 100 ms). La constante indicada en n puede encontrarse entre 1 y 32767. El temporizador indicado en s no puede utilizarse en una instruccin OUT. Cuando una instruccin OUT y una instruccin SMTR utilizan el mismo temporizador, no resulta posible ejecutar sin errores una instruccin SMTR.

Programacin MELSEC A y Q

6 189

STMR, STMRH
Ejemplo SMTR

Otras instrucciones

El siguiente programa activa las salidas Y0 y Y1 alternamente durante un segundo respectivamente al activarse el X20. El temporizador utilizado es un temporizador de 100 ms. La duracin de activacin de un segundo se calcula en base a la constante K10 multiplicada con 100 ms.

Lista de instrucciones

Plano de contactos

Lista de instrucciones IEC

STMR_MB1. STMR_KB1, STMR_IB1, STUR_0B1

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

6 190

Programacin MELSEC A y Q

Otras instrucciones

ROTC

6.8.5

ROTC

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit s

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Palabra

Mdulos especiale Registro de ndice s Zn U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

n1 n2 d

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ROTC_ME1, ROTC_KE1, ROTC_IE1

GX Developer

ROTC_ME1

Variables
Operando Valor de comando s+0: Medicin de revoluciones por minuto (interno de sistema). s s+1: Nmero de posicin. s+2: Nmero del sector. n1 n2 Divisin (de 2 hasta 32767) Cantidad de secciones para velocidad baja de rotacin (marcha lenta) (de 0 hasta n1).

Tipo de datos MELSEC IEC Secuencia de bits [1..3] of ANY16 BIN 16 bits ANY16 ANY16

Programacin MELSEC A y Q

6 191

ROTC
Variables
Operando Valor de comando d+0: Seal de entrada (fase A) d+1: Seal de entrada (fase B d+2: Seal de entrada para determinacin del punto cero. d+3: Seal de entrada de sentido directo, frecuencia de giro alta (interno de sistema) d d+4: Seal de entrada de sentido directo, frecuencia de giro baja (interno de sistema) d+5: Seal de salida de detencin (interno de sistema). d+6: Seal de entrada de sentido inverso, frecuencia de giro alta (interno de sistema) d+7: Seal de entrada de sentido inverso, frecuencia de giro baja (interno de sistema) Bit

Otras instrucciones

Tipo de datos MELSEC IEC

Secuencia de bits [1.0.8] of Bool

6 192

Programacin MELSEC A y Q

Otras instrucciones

ROTC

Funcionamiento

Instruccin de posicionamiento para mesas rotativas ROTC Instruccin de posicionamiento

Con la instruccin ROTC es posible posicionar una mesa rotativa con la cantidad de sectores (particin) indicada en nl de tal modo que un sector indicado en s+2 (Array_s [2]) se desplaza hacia una posicin indicada en s+1 (Array_s [1]). La numeracin de las posiciones y de los sectores en la mesa rotativa se ejecuta en contra del sentido de las agujas del reloj. El valor indicado en s+0 (Array_s [0]) se utiliza internamente en el sistema como contador e informa al sistema, cul sector se encuentra relativamente en qu posicin frente a la posicin 0. El valor indicado en s+0 (Array_s [0]) no debe modificarse ya que de otro modo no puede ejecutarse un posicionamiento. El valor indicado en n2 indica la cantidad de sectores en los cuales se ejecuta el desplazamiento de la mesa rotativa con velocidad baja (marcha lenta). ste debe ser menor a la divisin indicada en n1. Las entradas indicadas en d+0 (Array_d [0]) y d+1 (Array_d [1]) (fases A/B) sirven para la determinacin de la direccin de giro. Ambas entradas se conmutan con impulsos. En caso que la entrada (fase A) indicada en d+0 (Array_d [0]) tiene el estado 1, se determina la direccin de giro mediante el flanco del impulso de la entrada (fase B) indicada en d+1 (Array_d [1]) siguiendo el siguiente modo: Cuando la fase B presenta un flanco ascendente en este instante, la direccin de giro se efecta en sentido de las agujas del reloj (giro a la derecha). Cuando la fase B presenta un flanco descendente en este instante, la direccin de giro se efecta en contra del sentido de las agujas del reloj (giro a la izquierda).

La entrada indicada en d+2 (Array_d [2]) sirve para la determinacin del punto cero. Esta entrada se aplica cuando el sector 0 alcanza la posicin 0. Al aplicar esta entrada durante la ejecuin de la instruccin ROTC, se repone el valor en s+0 (Array_s [0]). Se recomienda realizar esta operacin de reposicin del valor indicado en s+0 (Array_s [0]) antes del propio posicionamiento con la instruccin ROTC para garantizar as un funcionamiento impecable. Los datos en d+3 (Array_d [3]) hasta d+7 (Array_d [7]) contienen las seales de salida para el control de la mesa rotativa. El resultado actual de la ejecucin de la instruccin ROTC determina, cul seal de salida ser aplicada. En caso que inmediatamente antes de la ejecucin de la instruccin ROTC, todos los resultados de operacin resultaron igual a 0, se reponen las salidas indicadas en d+3 (Array_d [3]) hasta d+7 (Array_d [7]) sin ejecucin de un posicionamiento. Despus de la desactivacin de la condicin de ejecucin se reponen estas salidas tambin. La instruccin ROTC puede utilizarse solamente una vez en un programa. La utilizacin repetida en un programa causa una ejecucin defectuosa de la instruccin.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor indicado en s+0 (Array_s [0]) hasta s+2 (Array_s [2]) o bien n2 resulta mayor al valor indicado en n1 (cdigo de error 4100).

Programacin MELSEC A y Q

6 193

ROTC
Ejemplo ROTC

Otras instrucciones

En el siguiente programa se referencian los rels internos para la determinacin de la direccin de giro y del punto cero M0 (var_M0 Array [0]) hasta M2 (var_M0 Array [2]) a travs de los contactos X0, X1 (codificador incremental) y X2. El contacto X2 se activa cuando el sector 0 se encuentra en la posicin 0 (determinacin del punto cero). En la mesa rotativa indicada en la ilustracin, se encuentran 10 piezas (sectores). Antes de la ejecucin de la instruccin ROTC en D201 (var_D200 Array [1]) y D202 (var_D200 Array [2]) debe indicarse, cul pieza (sector) se desplaza hacia cual pinza (posicin). Mediante la indicacin del valor n1=10, el contacto del registro de conteo emite 10 impulsos en un giro de la mesa rotativa (divisin). Con n2=2 se indica la cantidad de divisiones que se efectan en la marcha lenta. Por ejemplo, en caso de indicar el valor 0 en el registro D201 (var_D200 Array [1]) y el valor 3 en el registro D202 (var_D200 [2]), la mesa rotativa desplaza en el tramo ms corto (giro a la derecha) la pieza 3 (sector 3) hacia la pinza 0 (posicin 0), recorriendo el tramo del sector 1 al sector 3 en marcha lenta. Una asignacin de los diferentes registros, rels internos y elementos de secuencias de bits para las funciones respectivas se encuentra en la tabla que se indica despus del ejemplo.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Posicin 0 Posicin 1 3 Codificador incremental


ROTC_MB1, ROTC_KB1, ROTC_IB1, ROTC0B1

6 194

Programacin MELSEC A y Q

Otras instrucciones

ROTC
Descripcin Observacin

Registro de datos

D200 (var_D200 Array [0]) Registro de conteo D201 (var_D200 Array [1]) Posicin de la pinza. D202 (var_D200 Array [2]) Posicin de la pieza requerida. M0 (var_M0 Array [0]) M1 (var_M0 Array [1]) M2 (var_M0 Array [2]) M3 (var_M0 Array [3]) M4 (var_M0 Array [4]) M5 (var_M0 Array [5]) M6 (var_M0 Array [6]) M7 (var_M0 Array [7]) Seal de fase A Seal de fase B Seal de punto cero Giro en sentido directo (alta velocidad) Giro en sentido directo (baja velocidad), marcha lenta Parada Giro en sentido inverso (alta velocidad) Giro en sentido inverso (baja velocidad), marcha lenta Despus de la activacin del X10 se activa la instruccin ROTC y se asignan automticamente funciones fijas a los rels internos M3 (var_M0 Array [3]) hasta M7 (var_M0 Array [7]). Despus de la desactivacin del X10 se reponen estos rels internos. Los valores se escriben mediante la instruccin MOV en los registros de datos D200 (var_D200 Array [0]) hasta D202 (var_D200 Array [2]). Los rels internos M0 (var_M0 Array [0]) hasta M2 (var_M0 Array [2]) se aplican mediante las entradas X0 hasta X2 (vase el ejemplo de programa).

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

6 195

RAMP
6.8.6 RAMP

Otras instrucciones

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos especiale Registro de ndice s Zn U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

n1 n2 d1 n3 d2

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

RAMP_ME1, RAMP_KE1, RAMP_IE1

GX Developer

RAMP_GE1

Variables
Operando n1 n2 Valor de comando Valor inicial de la operacin. Valor final de la operacin. (d1)+0: Operando en el cual se almacena el valor actual. d1 (d1)+1: Operando en el cual se almacena la cantidad de pasos ejecutados (interno del sistema). Cantidad de pasos a ejecutar. (d2)+0: Bit que se aplica despus de la ejecucin completa de la instruccin. d2 (d2)+1: Bit cuyo estado determina el almacenamiento del resultado de operacin.

Tipo de datos MELSEC IEC ANY16 ANY16 BIN 16 bits Secuencia de bits [1.0.2] of ANY16 ANY16 Secuencia de bits [1.0.2] of Bool

n3

Bit

6 196

Programacin MELSEC A y Q

Otras instrucciones

RAMP

Programacin MELSEC A y Q

6 197

RAMP
Funcionamiento Seal de rampa RAMP

Otras instrucciones

Instruccin para el aumento gradual del contenido de memoria.

La instruccin RAMP aumenta gradualmente el contenido en (d1)+0 (Array_d1 [0]) del valor indicado en n1 hasta alcanzar el valor final indicado en n2. En n3 se indica la cantidad de pasos con las cuales debe ejecutarse el aumento arriba indicado. En (d1)+1 (Array_d1 [1]) se almacena la cantidad de pasos ya ejecutados para el procesamiento interno del sistema. Despus de terminar la operacin, se aplica el operando indicado en (d2)+0 (Array_d2 [0]). El estado de seal del operando indicado en (d2)+0 (Array_d2 [0]) y el contenido de (d1)+0 (Array_d1 [0]) dependen del estado de seal del operando indicado en (d2)+1 (Array_d2 [1]) del siguiente modo: Cuando no se aplica el operando indicado en (d2)+1 (Array_d2 [1]), se repone el operando indicado en (d2)+0 (Array_d2 [0]) en el siguiente paso y la instruccin RAMP efecta un nuevo aumento del ltimo valor almacenado en (d1)+0 (Array_d1 [0]). Cuando se aplica el operando indicado en (d2)+1 (Array_d2 [1]), se mantiene aplicado tambin el operando indicado en (d2)+0 (Array_d2 [0]) y no se modifica el valor indicado en (d1)+0 (Array_d1 [0]) (almacenamiento). Cuando se ajusta en 0 la condicin de ejecucin durante la operacin, no se modifican los contenidos en (d1)+0 (Array_d1 [0]). Al aplicar nuevamente la condicin de ejecucin, la instruccin RAMP ejecuta un aumento del contenido almacenado en (d1)+0 (Array_d1 [0]) antes de la reposicin de la condicin de ejecucin. Los valores en n1 y n2 no deben modificarse durante la ejecucin de la instruccin.

Ejemplo

RAMP El siguiente programa aumenta el contenido de D0 en 6 pasos de 10 a 100 y almacena el contenido de D0 despus de terminar la operacin.
Lista de instrucciones MELSEC Plano de contactos Lista de instrucciones IEC

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

RAMP_MB1, RAMP_KB1, RAMP_IB1, RAMP0B1

6 198

Programacin MELSEC A y Q

Otras instrucciones

SPD

6.8.7

SPD

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit s n d
1

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Palabra

Mdulos especiale Registro de ndice s Zn U\G


Constantes

Otros

Error Flag

Pasos

Solo para X

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SPD_ME1, SPD_KE1, SPD_IE1

GX Developer

SPD_GE1

Variables

Operando s n d

Valor de comando Seal de entrada pulsada. Duracin de medicin en ms.

Tipo de datos Bit BIN 16 bits

Direccin inicial a partir de la cual se almacena el resultado de medicin.

Programacin MELSEC A y Q

6 199

SPD
Funcionamiento Contador de impulsos SPD Instruccin de conteo para contadores de impulsos

Otras instrucciones

La instruccin SPD cuenta los impulsos de la entrada indicada en s durante la duracin indicada en n y almacena el resultado de la medicin en el operando indicado en d.

1 2

Condicin de ejecucin El resultado de medicin se almacena en d. 3 Inicio de la medicin


SPD_0E1

Mientras se aplica la condicin de ejecucin, se inicia nuevamente la medicin despus de transcurrir el tiempo de medicin y el conteo empieza nuevamente en 0. Para detener la medicin ejecutada por la instruccin SPD, debe reponerse el comando de ejecucin.

INDICACIN

La instruccin SPD almacena los datos de los operandos en el rea de trabajo de la CPU y ejecuta la medicin durante una interrupcin del sistema. Para poder registrar todos los impulsos, la duracin de stos debe ser idntica o mayor al tiempo entre las interrupciones del sistema. En CPUs de Q de procesador mltiple, este tiempo es igual a 1 ms, en CPUs de QnA se dispara cada 5 ms una interrupcin. La instruccin no se ejecuta cuando n = 0 en la aplicacin de una CPU de Q o bien cuando n = 0 en la aplicacin de una CPU de QnA o bien cuando n no es un valor mltiple de 5. La instruccin SPD puede utilizarse un mximo de seis veces en el programa completo. La sptima y todas las dems instrucciones SPD no sern ejecutadas.

Ejemplo

SPD El siguiente programa mide despus de la activacin de X10, los impulsos de la entrada X0 durante 500 ms y almacena el resultado en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SPD__MB1, SPD__KB1, SPD__IB1

6 200

Programacin MELSEC A y Q

Otras instrucciones

PLSY

6.8.8

PLSY

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos especiale Registro de ndice s Zn U\G


Constantes

Otros

Error Flag

Pasos

s1 s2 d
1

Solo para Y

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

PLSY_ME1, PLSY_KE1, PLSY_IE1

GX Developer

PLSY_GE1

Variables

Operando s1 s2 d

Valor de comando Operando en el cual se almacena la frecuencia.

Tipo de datos BIN 16 bits

Operando en el cual se almacena la cantidad de impulsos de salida. Operando en el cual se almacena la salida. Bit

Programacin MELSEC A y Q

6 201

PLSY
Funcionamiento Salida de impulso con cantidad ajustable de impulsos PLSY Instruccin de impulso

Otras instrucciones

La instruccin PLSY emite impulsos con la frecuencia indicada en s1 y con la cantidad indicada en s2 hacia la salida indicada en d. La frecuencia indicada en s1 puede encontrarse entre 1 y 100 Hz. En caso de haber ingresado el valor 0 en s1, la instruccin PLSY emite una seal continua. La cantidad de impulsos indicados en s2 puede encontrarse entre 1 y 32767. En d pueden indicarse solamente tales salidas que se asignaron tambin a los mdulos de salida. La emisin de impulsos se inicia con flanco ascendente de la condicin de ejecucin de la instruccin PLSY. Durante la emisin de impulsos no debe reponerse la condicin de ejecucin. Una reposicin de la condicin de ejecucin termina con la emisin de impulsos.

INDICACIN

La instruccin PLSY almacena los datos de los operandos en el rea de trabajo de la CPU. Un refrescamiento de los impulsos emitidos con la instruccin PLSY se ejecuta durante la interrupcin del sistema. Para poder registrar todos los impulsos, la duracin de stos debe ser idntica o mayor al tiempo entre las interrupciones del sistema. En CPUs de Q de procesador mltiple, este tiempo es igual a 1 ms, en CPUs de QnA se dispara cada 5 ms una interrupcin. La instruccin PLSY no debe modificarse en caso de cumplirse la condicin de ejecucin. De otro modo no puede detenerse la emisin de los impulsos al reponerse la condicin de ejecucin. La instruccin PLSY puede utilizarse solamente una vez en todo el programa.

Ejemplo

PLSY El siguiente programa emite cinco impulsos de 10 Hz hacia Y20 despus de la activacin de X0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

PLSY_MB1, PLSY_KB1, PLSY_IB1

6 202

Programacin MELSEC A y Q

Otras instrucciones

PWM

6.8.9

PWM

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos especiale Registro de ndice s Zn U\G


Constantes

Otros

Error Flag

Pasos

n1 n2 d
1

Solo para Y

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

PWM_ME1, PWM_KE1, PWM_IE1

GX Developer

PWM_GE1

Variables

Operando n1 n2 d

Valor de comando Operando en el cual se almacena la duracin de frecuencia.

Tipo de datos BIN 16 bits

Operando en el cual se almacena la duracin del perodo. Operando al cual se emite el impulso. Bit

Programacin MELSEC A y Q

6 203

PWM
Funcionamiento Modulacin de ancho en tiempo PWM Instruccin de modulacin

Otras instrucciones

La instruccin PWM emite impulsos con la duracin de perodo indicada en n2 y con la duracin de impulso indicada en n1 hacia la salida indicada en d.

PWM_0E1

Los valores indicados en n1 y n2 pueden encontrarse entre 1 y 65535 en una CPU de Q de procesador mltiple y entre 5 y 65535 en una CPU de QnA. El valor indicado en n1 debe ser menor al valor indicado en n2.

INDICACIN

La instruccin PWM almacena los datos de los operandos en el rea de trabajo de la CPU y ejecuta las operaciones de emisin durante una interrupcin del sistema (1 ms con una CPU de Q de procesador mltiple y 5 ms con una CPU de QnA). La instruccin PWM puede utilizarse solamente una vez en todo el programa. En los siguientes casos no se ejecuta una instruccin PWM: Cuando n1 y n2 son igual a cero. Cuando n2 es igual o menor a n1. Cuando n1 y n2 no corresponden a un valor mltiple de 5 en caso de utilizacin de una CPU de QnA.

Durante la ejecucin de la instruccin PWM no deben modificarse los valores de n1, n2 y d.

Ejemplo

PWM Despus de la activacin del X0, el siguiente programa emite impulsos a Y20 con una duracin de perodo de 1 segundo y con una duracin de exploracon de 100 ms.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

PWM_MB1, PWM_KB1, PWM_IB1

6 204

Programacin MELSEC A y Q

Otras instrucciones

MTR

6.8.10

MTR

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit s

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Palabra

Mdulos especiale Registro de ndice s Zn U\G

Constantes

Otros

Error Flag

Pasos

d1 d2 n

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MTR__ME1, MTR__KE1, MTR__IE1

GX Developer

MTR__GE1

Variables

Operando s d1 d2 n

Valor de comando Direccin de la primera entrada. Direccin de la primera salida. Direccin inicial a partir de la cual se almacenan los datos de entrada de matriz. Cantidad de consultas de entrada.

Tipo de datos

Bit

BIN 16 bits

Programacin MELSEC A y Q

6 205

MTR
Funcionamiento Formacin de una matriz de entrada MTR

Otras instrucciones

Instruccin para la entrada por lectura (ejecutada n veces) de informaciones para la formacin de una matriz de entrada

La instruccin MTR ingresa por lectura las informaciones (0/1) comenzando con el operando indicado en s. La cantidad de repeticiones de este proceso (series) se indica en n. Los estados respectivos de las informaciones entradas por lectura, se almacenan comenzando con el operando indicado en d2. De este modo se forma una matriz de 16 bits y n series. Para cada paso pueden ingresarse 16 informaciones por lectura. La entrada por lectura de la primera serie hasta la serie N n se repite continuamente. Debido a la circunstancia que en la instruccin MTR se forma una matriz de 16 bits por n series, se requiere tambin en el operando indicado en d2 de un espacio de 16 bits por n series para fines de almacenamiento. Empezando con la salida indicada en d1, se seleccionan las diferentes series. La salida perteneciente a una serie de 16 bits a ingresar por lectura, se aplica automticamente por el sistema o bien se repone. La cantidad de salidas resulta idntica con la cantidad de series. De esta forma se garantiza que cada sistema pueda referenciarse directamente a cada una de las series. Los operandos indicados en s, d1 y d2 deben disponer solamente de direcciones divisibles por el valor de 16. La cantidad de series puede encontrarse entre 2 y 8 series. Se ha de observar que la instruccin MTR trabaja inmediatamente con los datos actuales de entrada y salida.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Las direcciones de los operandos indicados en s, d1 y d2, no son divisibles por el valor de 16 (cdigo de error 4101). El operando indicado en s se encuentra fuera del rango actual de entrada (cdigo de error 4101). El operando indicado en d1 se encuentra fuera del rango actual de salida (cdigo de error 4101). El espacio de la matriz de 16 bits por n series se encuentra fuera del rango previsto para el almacenamiento (cdigo de error 4101). El valor ingresado para n, no se encuentra entre 2 y 8 (cdigo de error 4100).

6 206

Programacin MELSEC A y Q

Otras instrucciones

MTR

Ejemplo

MTR Despus de la activacin del X0, el siguiente programa ingresa por lectura tres veces las entradas X10 hasta X1F y almacena los resultados en M30 hasta M77. De este modo se forma una matriz de 16 bits por 3 series. Las series pueden referenciarse mediante las salidas Y20 hasta Y22.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

1. Serie 2. Serie 3 3. Serie


MTR_MB1, MTR_KB1, MTR_IB1, MTR_0B1

Programacin MELSEC A y Q

6 207

MTR

Otras instrucciones

6 208

Programacin MELSEC A y Q

Instrucciones de aplicacin II
Las instrucciones de aplicacin en la segunda parte son instrucciones especficas de aplicacin, con las cuales puede ejecutarse una serie de funciones especiales. Una subdivisin de las diferentes funciones se indica en la siguiente tabla.

Segmentacin Instrucciones lgicas de funcin Instrucciones de rotacin Instrucciones de desplazamiento Instrucciones de procesamiento de bits Instrucciones de procesamiento de datos Instruccin estructurada de programa

Significado Lgica AND / OR, Lgica OR / NOR Rotacin de datos izq./der. con 16 y 32 bits Desplazamiento por bits o bloques dentro de una palabra de datos Emisin y reposicin de bits, consulta de bits Buscar datos en reas definidas, codificar y decodificar datos, desintegrar e integrar valores de datos Instruccin de repeticin, llamada de programa subordinado, llamada de programa subordinado entre archivos de programa, conmutacin entre rea de programa principal y subordinado, llamada de programa de microcomputador, direccionamiento indexado de un rango completo de programa, almacenamiento de direcciones de operandos indexados en un listado de ndice Escritura y lectura de los datos para un procesamiento posterior en un listado de datos, eliminacin e integracin de determinados bloques de datos en el listado de datos Acceso a la memoria de bfer de un mdulo especial o un mdulo remoto Emisin de seales ASCII hacia las salidas de un mdulo o la visualizacin LED de una CPU Control de errores, estado de rango detentivo (Status Latch), supervisin de exploracin (Sampling Trace), supervisin de programa (Program Trace) Procesamiento de secuencia de caracteres (cdigo ASCII) Instrucciones para funciones trigonomtricas, clculos de raz y exponencial con datos BCD y nmeros de coma flotante Control de los datos de entrada con respecto a los rangos de valor predeterminados, as como almacenamiento de los datos controlados. Conmutacin entre bloques de registros de archivos y archivos Escritura y lectura de datos de reloj Emisin de mensajes y entrada por teclado para componentes perifricos Instrucciones para cambio de modos de ejecucin de programa Reposicin de WDT, aplicacin y reposicin de posicin de transferencia (Carry), generador de impulsos, lectura y escritura directa de bytes, entrada por teclado, salvaguardia y recuperacin de contenidos de registro de ndice, escritura de datos en registro EEPROM

Instrucciones de procesamiento para listados de datos

Instrucciones para el acceso a la memoria de bfer Instrucciones de pantalla Instrucciones para diagnstico de errores y eliminacin de errores Instrucciones de procesamiento para secuencias de caracteres Instrucciones para funciones especiales

Instrucciones de control de datos

Instrucciones de conmutacin para bloques de registros de datos y archivos Instrucciones de reloj Instrucciones para componentes perifricos Instrucciones de programa Otras instrucciones

Programacin MELSEC A y Q

71

Instrucciones lgicas

7.1

Instrucciones lgicas
Mediante las instrucciones lgicas se posibilitan los enlaces lgicos, como por ejemplo, la adicin lgica o el producto lgico.
Funcin Instruccin MELSEC en el editor MELSEC WAND WANDP Lgica AND (producto lgico) DAND DANDP BKAND BKANDP WOR WORP Lgica OR (adicin lgica) DOR DORP BKOR BKORP WXOR WXORP Lgica exclusiva de OR DXOR DXORP BKXOR BKXORP WXNR WXNRP Lgica exclusiva NOR DXNR DXNRP BKXNR BKXNRP Instruccin MELSEC en el editor IEC WAND_M, WAND_3_M WANDP_M, WANDP_3_M DAND_M, DAND_3_M DANDP_M, DANDP_3_M BKAND_M BKANDP_M WOR_M, WOR_3_M WORP_M, WORP_3_M DOR_M, DOR_3_M DORP_M, DORP_3_M BKOR_M BKORP_M WXOR_M, WXOR_3_M WXORP_M, WXORP_3_M DXOR_M, DXOR_3_M DXORP_M, DXORP_3_M BKXOR_M BKXORP_M WXNR_M, WXNR_3_M WXNRP_M, WXNRP_3_M DXNR_M, DXNR_3_M DXNRP_M, DXNRP_3_M BKXNR_M BKXNRP_M

INDICACIN

Se recomienda utilizar las instrucciones IEC en los editores IEC.

El procesamiento de las instrucciones lgicas se realiza por bits en el sistema binario. Aqu se enlazan cada vez dos estados (0 y 1) entre s, el resultado de este enlace se emite hacia la direccin de destino.

72

Programacin MELSEC A y Q

Instrucciones lgicas

A continuacin se indican los resultados de enlace de los estados 0 y 1 en una tabla de verdad. A y B presentan aqu las variables de entrada e Y la variable de salida.

Enlace lgico

Procesamiento

Algebra de enlaces

Ejemplo A 0 B 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Y 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1

Funcin AND

La salida Y es igual a 1 solamente cuando las entradas A y B tienen simultneamente el valor de 1.

Y=AxB

0 1 1 0

Funcin OR

La salida Y es igual a 1 cuando al menos una de las entradas A o B es igual a 1.

Y=A+B

0 1 1 0

La salida Y es igual a 1 c uando A y B son Funcin exclusiva desiguales; Y es igual a 0 cuando A y B resultan OR iguales.

Y=AxB+AxB

0 1 1 0

La salida Y es igual a 1 c uando A y B son Funcin exclusiva iguales; Y es igual a 0 cuando A y B resultan NOR desiguales.

Y = ( A + B) ( A + B)

0 1 1

Programacin MELSEC A y Q

73

WAND, WANDP, DAND, DANDP


7.1.1 WAND, WANDP, DAND, DANDP

Instrucciones lgicas

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

WAND s d

K1 K4

5
1

s1 s2 d1

7
1

DAND s d
1

K1 K8

9
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G WAND Constantes K, H (16#) Otros Error Flag Pasos

Operandos MELSEC Q

s d s1 s2 d1

4 3

DAND s d s1 s2 d
1

41)

42)

La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En una CPU de Q individual 3 En una CPU de Q de multiprocesador, en operandos internos de palabra (sin registro de archivo ZR) o en constantes:6 En la utilizacin de una CPU de Q de procesador mltiple y operandos de bit cuya direccin es un valor mltiple de 16, que tienen la denominacin de bloque de bit 4 y que no han sido procesados por la asignacin de ndice: 6 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados:4 2 La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En una CPU de Q, en operandos internos de palabra (sin registro de archivo ZR) o en constantes: 6 En la utilizacin de una CPU de Q y operandos de bit cuya direccin es un valor mltiple de 6, que tienen la denominacin de bloque de bit 4 y que no han sido procesados por la asignacin de ndice: 6 En caso de utilizacin de una CPU de Q y operandos diferentes a los operandos arriba indicados: 4

74

Programacin MELSEC A y Q

Instrucciones lgicas

WAND, WANDP, DAND, DANDP

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WAND_ME1, WAND_KE1, WAND_IE1

GX Developer

WAND_GE1

Variables

Operando s d s1 s2 d1 (con DAND d)

Valor de comando Datos con los cuales se forma el producto lgico, o bien direccin inicial a partir de la cual se almacenan estos datos.

Tipo de datos

Datos con los cuales se forma el producto lgico, o bien direccin inicial a partir BIN 16/32 bits de la cual se almacenan estos datos. Direccin inicial a partir de la cual se almacena el resultado.

Programacin MELSEC A y Q

75

WAND, WANDP, DAND, DANDP


Funcionamiento Lgica AND WAND Datos de 16 bits

Instrucciones lgicas

La lgica AND forma el producto lgico desde dos variables de entrada. 1a variante: De los datos de 16 bits indicados en s y d, se forma el producto lgico por pares. El resultado se emite al operando indicado en d.

WAND0E1

2. Variante: De los datos de 16 bits indicados en s1 y s2, se forma el producto lgico por pares. El resultado se emite al operando indicado en d1.

WAND0E2

Los bits que superan el largo del bloque, se ajustan en 0. En caso que el largo de bloque se determina, por ejemplo, con K2, se procesan los 8 bits superiores (b8 hasta b15) con 0.

76

Programacin MELSEC A y Q

Instrucciones lgicas

WAND, WANDP, DAND, DANDP


Datos de 32 bits

DAND

1a variante: De los datos de 32 bits indicados en s y d, se calcula el producto lgico por pares. El resultado se emite al operando indicado en d.

DAND0E1

2. Variante (Serie QnA/System Q) De los datos de 32 bits indicados en s1 y s2, se forma el producto lgico por pares. El resultado se emite al operando indicado en d.

DAND0E2

Despus de la ejecucin del enlace se ajustan en 0 todos los bits que se encuentran fuera del rango de bloque.

Programacin MELSEC A y Q

77

WAND, WANDP, DAND, DANDP


Ejemplo 1 WANDP (s, d)

Instrucciones lgicas

El siguiente programa ajusta en el valor de 0, con flanco positivo (flanco creciente) de XA, la posicin decimal (b5-b7) del valor de datos BCD indicado en D10 y almacena luego el resultado nuevamente en D10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WAND_MB1, WAND_KB1, WAND_IB1, WAND0B1

Ejemplo 2

DANDP (s, d) El siguiente programa forma con flanco positivo de X8, el producto lgico con el valor de datos de 32 bits en D99 y D100 y el valor de datos de 24 bits de X30 a X47 y almacena el resultado nuevamente en D99 y D100.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WAND_MB2, WAND_KB2, WAND_IB2, DAND0B1

Estos bits se ingresan por lectura con el valor de 0.

78

Programacin MELSEC A y Q

Instrucciones lgicas

WAND, WANDP, DAND, DANDP

Ejemplo 3

WANDP (s1, s2, d1) El siguiente programa forma con flanco positivo de XA, el producto lgico de los datos de X10 a X1B, as como con los datos en D33 y almacena el resultado en D40.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WAND_MB3, WAND_KB3, WAND_IB3, WAND0B2

Estos bits se ingresan por lectura con el valor de 0.

Ejemplo 4

WANDP (s1, s2, d1) El siguiente programa forma con flanco positivo de X1C, el producto lgico de los datos en D10 y D20 y almacena luego el resultado en M0 a M11.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Estos bits no modifican su estado.


WAND_MB4, WAND_KB4, WAND_IB4, WAND0B3

Programacin MELSEC A y Q

79

WAND, WANDP, DAND, DANDP


Ejemplo 5 DANDP (s1, s2, d)

Instrucciones lgicas

El siguiente programa, con flanco positivo de XA, ajusta en 0 la posicin de cien mil del valor de datos BCD indicado en D10 y D11 y emite el resultado a Y10 hasta Y2B.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Estos bits no modifican su estado.


WAND_MB5, WAND_KB5, WAND_IB5, DAND0B2

INDICACIN

Los ejemplos de programa 2 y 5 no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

7 10

Programacin MELSEC A y Q

Instrucciones lgicas

BKAND, BKANDP

7.1.2

BKAND, BKANDP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s1 s2 d n


FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKANDME1, BKANDKE1, BKANDIE1

GX Developer

BKANDGE1

Variables

Operando s1 s2 d n

Valor de comando Primera direccin del operando en el cual estn almacenados los datos para la operacin. Primera direccin de los datos para la operacin o primera direccin del operando en el cual se almacenan estos datos. Primera direccin del operando en el cual se almacena el resultado. Cantidad de bloques de datos con los cuales se ejecuta la formacin del producto lgico.

Tipo de datos

BIN 16 bits

Programacin MELSEC A y Q

7 11

BKAND, BKANDP
Funcionamiento Formacin de un producto lgico con bloques de datos de 16 bits BKAND Formacin por bloques de un producto lgico

Instrucciones lgicas

La instruccin BKAND forma el producto lgico del bloque N n de 16 bits a partir de s1 y del bloque N n de 16 bits a partir de s2. El bloque correspondiente de 16 bits del resultado se almacena a partir del operando almacenado en d. La cantidad de bloques con las cuales se ejecuta la operacin, se indica en n.

BKAND0E1

Una constante almacenada en s2 debe tener un valor entre -32768 y 32767.

BKAND0E2

7 12

Programacin MELSEC A y Q

Instrucciones lgicas

BKAND, BKANDP

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad indicada en n de bloques de s1, s2 o d se encuentra fuera del rango previsto para el almacenamiento de los operandos (cdigo de error 4101). Los rangos de s1, s2 o d previstos para el almacenamiento, estn intercalando. (cdigo de error 4101).

Ejemplo

BKANDP El siguiente programa forma con flanco positivo de X20, el producto lgico de los datos en los registros D100 hasta D102 y de los datos en los registros R0 hasta R2. El resultado se almacena en los registros D200 hasta D202. La cantidad de los bloques de datos (3) de 16 bits integrados en la operacin, se encuentra almacenada en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKANDMB1, BKANDKB1, BKANDIB1, BKAND0B1

Programacin MELSEC A y Q

7 13

WOR, WORP, DOR, DORP


7.1.3 WOR, WORP, DOR, DORP

Instrucciones lgicas

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

WOR s d

K1 K4

5
1

s1 s2 d1

7
1

DOR s d
1

K1 K8

9
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G WOR Constantes K, H (16#) Otros U Error Flag Pasos

Operandos MELSEC Q

s d s1 s2 d1

3 4

DOR s d s1 s2 d
1

41)

42)

La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En una CPU de Q individual 3 En una CPU de Q de multiprocesador, en operandos internos de palabra (sin registro de archivo ZR) o en constantes:6 En la utilizacin de una CPU de Q de procesador mltiple y operandos de bit cuya direccin que tienen la denominacin de bloque de bit 4 y que no han sido procesados por la asignacin de ndice: 6 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados: 4 2 La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En una CPU de Q, en operandos internos de palabra (sin registro de archivo ZR) o en constantes: 6 En la utilizacin de una CPU de Q y operandos de bit cuya direccin es un valor mltiple de 6, que tienen la denominacin de bloque de bit 4 y que no han sido procesados por la asignacin de ndice: 6 En caso de utilizacin de una CPU de Q y operandos diferentes a los operandos arriba indicados: 4

7 14

Programacin MELSEC A y Q

Instrucciones lgicas

WOR, WORP, DOR, DORP

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WOR__ME1, WOR__KE1, WOR__IE

GX Developer

WOR__GE1

Variables

Operando s d s1 s2

Valor de comando Datos con los cuales se ejecuta la formacin de la suma lgica, o bien direccin inicial del operando en el cual se almacenan estos datos. Datos con los cuales se ejecuta la formacin de la suma lgica, o bien direccin inicial del operando en el cual se almacenan estos datos.

Tipo de datos

BIN 16/32 bits

d1 (con DOR d) Direccin inicial del operando en el cual se almacena el resultado.

Funcionamiento

Lgica OR WOR Datos de 16 bits

La lgica OR forma la suma lgica de dos variables de entrada. 1. Variante: Los datos de 16 bits indicados en s y d, se suman por bits. El resultado se emite al operando indicado en d.

WOR_0E1

Programacin MELSEC A y Q

7 15

WOR, WORP, DOR, DORP


2. Variante:

Instrucciones lgicas

Los datos de 16 bits indicados en s1 y s2, se suman por bits. El resultado se emite al operando indicado en d1.

WOR_0E2

Los bits que superan el largo del bloque, se ajustan en 0. En caso que el largo de bloque se determina, por ejemplo, con K2, se procesan los 8 bits superiores (b8 hasta b15) con 0.

7 16

Programacin MELSEC A y Q

Instrucciones lgicas

WOR, WORP, DOR, DORP


Datos de 32 bits

DOR

1. Variante: Los datos de 32 bits indicados en s y d, se suman por bits. El resultado se emite al operando indicado en d.

DOR_0E1

2. Variante (Serie QnA/System Q) Los datos de 32 bits indicados en s1 y s2, se suman por bits. El resultado se emite al operando indicado en d.

DOR_0E2

Despus de la ejecucin del enlace se ajustan en 0 todos los bits que se encuentran fuera del rango de bloque.

Programacin MELSEC A y Q

7 17

WOR, WORP, DOR, DORP


Ejemplo 1 WORP (s, d)

Instrucciones lgicas

El siguiente programa suma con flanco positivo de XA, los datos de D10 a los datos de D20. El resultado se almacena en D10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WOR__MB1, WOR__KB1, WOR__IB1, WOR_0B1

Ejemplo 2

DORP (s, d) El siguiente programa suma con flanco positivo de X2B, los datos de las entradas X0 hasta X1F al valor hexadecimal FF00FF00. El resultado se almacena en D66 y D67.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WOR__MB2, WOR__KB2, WOR__IB2, DOR_0B1

7 18

Programacin MELSEC A y Q

Instrucciones lgicas

WOR, WORP, DOR, DORP

Ejemplo 3

WORP (s1, s2, d1) El siguiente programa suma con flanco positivo de XA, los datos de las entradas X10 hasta X1B a los datos de D33. El resultado se emite a las salidas de Y30 hasta Y3B.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Estos bits se ingresan por lectura con el valor de 0. Estos bits no modifican su estado.
WOR__MB3, WOR__KB3, WOR__IB3, WOR_0B2

Ejemplo 4

DORP (s1, s2, d) El siguiente programa suma con flanco positivo de M8, los datos de 32 bits de D0 y D1 a los datos de 24 bits de las entradas X20 hasta X37. El resultado se almacena en D23 y D24.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WOR__MB4, WOR__KB4, WOR__IB4, DOR_0B2

INDICACIN

Los ejemplos de programa 2 y 4 no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

7 19

BKOR, BKORP
7.1.4 BKOR, BKORP

Instrucciones lgicas

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s1 s2 d n


FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKOR_ME1, BKOR_KE1, BKOR_IE1

GX Developer

BKOR_GE1

Variables

Operando s1 s2 d n

Valor de comando Primera direccin del operando en el cual estn almacenados los datos para la operacin. Primera direccin de los datos para la operacin o primera direccin del operando en el cual se almacenan estos datos. Primera direccin del operando en el cual se almacena el resultado. Cantidad de bloques de datos con los cuales se ejecuta la formacin de la suma lgica.

Tipo de datos

BIN 16 bits

7 20

Programacin MELSEC A y Q

Instrucciones lgicas

BKOR, BKORP

Funcionamiento

Formacin de una suma lgica con bloques de datos de 16 bits BKAND Formacin por bloques de una suma lgica La instruccin BKOR forma la suma lgica del bloque N n de 16 bits a partir de s1 y del bloque N n de 16 bits a partir de s2. El bloque correspondiente de 16 bits del resultado se almacena a partir del operando almacenado en d. La cantidad de bloques con las cuales se ejecuta la operacin, se indica en n.

BKOR0E1

Una constante almacenada en s2 debe tener un valor entre -32768 y 32767.

BKOR0E2

Programacin MELSEC A y Q

7 21

BKOR, BKORP
Fuentes de error

Instrucciones lgicas

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad indicada en n de bloques de s1, s2 o d se encuentra fuera del rango previsto para el almacenamiento de los operandos (cdigo de error 4101). Los rangos de s1, s2 o d previstos para el almacenamiento, estn intercalando. (cdigo de error 4101).

Ejemplo

BKORP El siguiente programa forma con flanco positivo de X20, la suma lgica de los datos en los registros D100 hasta D102 y de los datos en los registros R0 hasta R2. El resultado se almacena en los registros D200 hasta D202. La cantidad de los bloques de datos (3) de 16 bits integrados en la operacin, se encuentra almacenada en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKOR_MB1, BKOR_KB1, BKOR_IB1, BKOR0B1

7 22

Programacin MELSEC A y Q

Instrucciones lgicas

WXOR, WXORP, DXOR, DXORP

7.1.5

WXOR, WXORP, DXOR, DXORP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

WXOR s d

K1 K4

5
1

s1 s2 d1

7
1

DXOR s d
1

K1 K8

9
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G WXOR Constantes K, H (16#) Otros Error Flag Pasos

Operandos MELSEC Q

s d s1 s2 d1

3 4

DXOR

41)

s1 s2 d
1

42)

La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En una CPU de Q individual 3 En una CPU de Q de multiprocesador, en operandos internos de palabra (sin registro de archivo ZR) o en constantes:6 En la utilizacin de una CPU de Q de procesador mltiple y operandos de bit cuya direccin que tienen la denominacin de bloque de bit 4 y que no han sido procesados por la asignacin de ndice: 6 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados: 4 2 La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En una CPU de Q, en operandos internos de palabra (sin registro de archivo ZR) o en constantes: 6 En la utilizacin de una CPU de Q y operandos de bit cuya direccin es un valor mltiple de 6, que tienen la denominacin de bloque de bit 4 y que no han sido procesados por la asignacin de ndice: 6 En caso de utilizacin de una CPU de Q y operandos diferentes a los operandos arriba indicados: 4

Programacin MELSEC A y Q

7 23

WXOR, WXORP, DXOR, DXORP


GX IEC Developer

Instrucciones lgicas

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WXOR_ME1, WXOR_KE1, WXOR_IE1

GX Developer

WXOR_GE1

Variables

Operando s d s1 s2 d1 (con DXOR d)

Valor de comando Datos con los cuales se ejecuta la operacin OR exclusiva, o bien primera direccin del operando en el cual se almacenan estos datos. Datos con los cuales se ejecuta la operacin OR exclusiva, o bien primera direccin del operando en el cual se almacenan estos datos. Primera direccin del operando en el cual se almacena el resultado.

Tipo de datos

BIN 16/32 bits

Funcionamiento

Lgica OR exclusiva WXOR Datos de 16 bits

La lgica OR exclusiva forma la suma lgica del producto de dos variables de entrada ( Y= (AxB)+(AxB) ). 1. Variante: De los datos de 16 bits indicados en s y d, se forma un enlace lgico OR exclusivo. El resultado se emite al operando indicado en d.

WXOR0E1

7 24

Programacin MELSEC A y Q

Instrucciones lgicas 2. Variante:

WXOR, WXORP, DXOR, DXORP

De los datos de 16 bits indicados en s1 y s2, se forma un enlace lgico OR exclusivo. El resultado se emite al operando indicado en d1.

WXOR0E2

Los bits que superan el largo del bloque, se ajustan en 0. En caso que el largo de bloque se determina, por ejemplo, con K2, se procesan los 8 bits superiores (b8 hasta b15) con 0.

Programacin MELSEC A y Q

7 25

WXOR, WXORP, DXOR, DXORP


DXOR Datos de 32 bits

Instrucciones lgicas

1. Variante: De los datos de 32 bits indicados en s y d, se forma un enlace lgico OR exclusivo. El resultado se emite al operando indicado en d.

DXOR0E1

2. Variante (Serie QnA/System Q) De los datos de 32 bits indicados en s1 y s2, se forma un enlace lgico OR exclusivo. El resultado se emite al operando indicado en d.

DXOR0E2

Despus de la ejecucin del enlace se ajustan en 0 todos los bits que se encuentran fuera del rango de bloque.

INDICACIN

No se conocen fuentes de errores en la instruccin WXOR, WXORP, DXOR y DXORP en la utilizacin de la variante 1 (s, d) cuando no se ejecuta un direccionamiento indexado.

7 26

Programacin MELSEC A y Q

Instrucciones lgicas

WXOR, WXORP, DXOR, DXORP

Ejemplo 1

WXORP (s, d) El siguiente programa enlaza con flanco positivo de XA, los datos de D10 con los datos de D20 y almacena el resultado nuevamente en D10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WXOR_MB1, WXOR_KB1, WXOR_IB1, WXOR0B1

Ejemplo 2

DXORP (s, d) El siguiente programa compara el valor de datos de 32 bits de las entradas X20 hasta X3F con la configuracin de bits de los registros de datos D9 y D10. El resultado se almacena nuevamente en D9 y D10. La cantidad de los bits ajustados en D9 y D10 se almacena en D16. La ejecucin del enlace OR exclusivo se ejecuta con flanco positivo de X6.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WXOR_MB2, WXOR_KB2, WXOR_IB2, DXOR0B1

Programacin MELSEC A y Q

7 27

WXOR, WXORP, DXOR, DXORP


Ejemplo 3 WXORP (s1, s2, d1)

Instrucciones lgicas

El siguiente programa ejecuta con flanco positivo de X10, un enlace OR exclusivo de los datos de entrada X10 hasta X1B con los datos de D33. El resultado se almacena en D33 y se emite a las salidas de Y30 hasta Y3B.
Lista de instrucciones IEC

Lista de instrucciones MELSEC

Plano de contactos

WXOR_MB3, WXOR_KB3, WXOR_IB3, WXOR0B2

Estos bits se ingresan por lectura con el valor de 0. 2 Estos bits no modifican su estado.

Ejemplo 4

DXORP (s1, s2, d) El siguiente programa ejecuta con flanco positivo de X10, una operacin OR exclusiva con los datos en D20 y D21 y los datos en D30 y D31. El resultado se almacena en D40 y D41.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

INDICACIN

Los ejemplos de programa 2 y 4 no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

DXOR_MB4, DXOR_KB4, DXOR_IB4, DXOR0B2

7 28

Programacin MELSEC A y Q

Instrucciones lgicas

BKXOR, BKXORP

7.1.6

BKXOR, BKXORP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s1 s2 d n

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKXORME1, BKXORKE1, BKXORIE1

GX Developer

BKXORGE1

Variables

Operando s1 s2 d n

Valor de comando Primera direccin del operando en el cual estn almacenados los datos para la operacin. Primera direccin de los datos con los cuales se ejecuta la operacin, o bien primera direccin del operando en el cual se almacenan estos datos. Primera direccin del operando en el cual se almacena el resultado. Cantidad de bloques de datos con los cuales se ejecuta la operacin OR exclusiva.

Tipo de datos

BIN 16 bits

Programacin MELSEC A y Q

7 29

BKXOR, BKXORP
Funcionamiento Operaciones OR exclusivas de bloques de 16 bits BKXOR Operacin OR exclusiva por bloques

Instrucciones lgicas

La instruccin BKXOR ejecuta una instruccin OR exclusiva con los bloques N de 16 bits a partir de s1 y los bloques N n de 16 bits a partir de s2. El bloque correspondiente de 16 bits del resultado se almacena a partir del operando almacenado en d. La cantidad de bloques con las cuales se ejecuta la operacin, se indica en n.

BKXOR0E1

La constante almacenada en s2 debe tener un valor entre -32768 y 32767.

BKXOR0E2

7 30

Programacin MELSEC A y Q

Instrucciones lgicas

BKXOR, BKXORP

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad indicada en n de bloques de s1, s2 o d se encuentra fuera del rango previsto para el almacenamiento de los operandos (cdigo de error 4101). Los rangos de s1, s2 o d previstos para el almacenamiento, estn intercalando. (cdigo de error 4101).

Ejemplo

BKXORP El siguiente programa ejecuta con flanco positivo de X20, una operacin OR exclusiva de los datos en los registros D100 hasta D102 y de los datos en los registros R0 hasta R2. El resultado se almacena en los registros D200 hasta D202. La cantidad de los bloques de datos (3) de 16 bits integrados en la operacin, se encuentra almacenada en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKXORMB1, BKXORKB1, BKXORIB1, BKXOR0B1

Programacin MELSEC A y Q

7 31

WXNR, WXNRP, DXNR, DXNRP


7.1.7 WXNR, WXNRP, DXNR, DXNRP

Instrucciones lgicas

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

WXNR s d

K1 K4

5
1

s1 s2 d1

7
1

DXNR s d
1

K1 K8

9
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G WXNR, WXNRP Constantes K, H (16#) Otros Error Flag Pasos

Operandos MELSEC Q

s d s1 s2 d

3 4

DXNR, DXNRP s d s1 s2 d1
1

41)

42)

La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En una CPU de Q individual 3 En una CPU de Q de multiprocesador, en operandos internos de palabra (sin registro de archivo ZR) o en constantes:6 En la utilizacin de una CPU de Q de procesador mltiple y operandos de bit cuya direccin que tienen la denominacin de bloque de bit 4 y que no han sido procesados por la asignacin de ndice: 6 En la utilizacin de una CPU de Q de procesador mltiple y operandos diferentes a los operandos arriba indicados: 4 2 La cantidad de pasos de programa depende del tipo de CPU y de los operandos utilizados. En la utilizacin de una CPU de QnA: 4 En una CPU de Q, en operandos internos de palabra (sin registro de archivo ZR) o en constantes: 6 En la utilizacin de una CPU de Q y operandos de bit cuya direccin es un valor mltiple de 6, que tienen la denominacin de bloque de bit 4 y que no han sido procesados por la asignacin de ndice: 6 En caso de utilizacin de una CPU de Q y operandos diferentes a los operandos arriba indicados: 4

7 32

Programacin MELSEC A y Q

Instrucciones lgicas

WXNR, WXNRP, DXNR, DXNRP

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WXNR_ME1, WXNR_KE1, WXNR_IE1

GX Developer

WXNR_GE1

Variables

Operando s d s1 s2 d (con WXNRP d1)

Valor de comando Datos con los cuales se ejecuta la operacin NOR exclusiva, o bien primera direccin del operando en el cual se almacenan estos datos. Datos con los cuales se ejecuta la operacin NOR exclusiva, o bien primera direccin del operando en el cual se almacenan estos datos. Primera direccin del operando en el cual se almacena el resultado.

Tipo de datos

BIN 16/32 bits

Funcionamiento

Lgica NOR exclusiva WXNR Datos de 16 bits

La lgica NOR exclusiva forma el producto lgico de la suma de dos variables de entrada (Y= (A+B) x (A+B)). 1. Variante: De los datos de 16 bits indicados en s y d, se forma un enlace lgico NOR exclusivo. El resultado se emite al operando indicado en d.

WXNR0E1

Programacin MELSEC A y Q

7 33

WXNR, WXNRP, DXNR, DXNRP


2. Variante:

Instrucciones lgicas

De los datos de 16 bits indicados en s1 y s2, se forma un enlace lgico NOR exclusivo. El resultado se emite al operando indicado en d. En caso de la utilizacin de una instruccin WXNRP se emite el resultado a los operandos indicados en d1.

WXNR0E2

Los bits que superan el largo del bloque, se ajustan en 0. En caso que el largo de bloque se determina, por ejemplo, con K2, se procesan los 8 bits superiores (b8 hasta b15) con 0.

7 34

Programacin MELSEC A y Q

Instrucciones lgicas

WXNR, WXNRP, DXNR, DXNRP


Datos de 32 bits

DXNR

1. Variante: De los datos de 32 bits indicados en s y d, se forma un enlace lgico NOR exclusivo. El resultado se emite al operando indicado en d.

DXNR0E1

2. Variante (Serie QnA/System Q) De los datos de 32 bits indicados en s1 y s2, se forma un enlace lgico NOR exclusivo. El resultado se emite al operando indicado en d.

DXNR0E2

Despus de la ejecucin del enlace se ajustan en 0 todos los bits que se encuentran fuera del rango de bloque.

Programacin MELSEC A y Q

7 35

WXNR, WXNRP, DXNR, DXNRP


Ejemplo 1 WXNRP (s, d)

Instrucciones lgicas

En el siguiente programa con flanco positivo de XC, se compara la configuracin de bits del valor de datos de 16 bits de las entradas X30 hasta X3F con el valor de datos en D99 mediante una operacin NOR exclusiva y se almacena el resultado de operacin nuevamente en D99. La cantidad de bits aplicados se almacena en D7.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WXNR_MB1, WXNR_KB1, WXNR_IB1, WXNR0B1

7 36

Programacin MELSEC A y Q

Instrucciones lgicas

WXNR, WXNRP, DXNR, DXNRP

Ejemplo 2

DXNRP (s, d) En el siguiente programa con flanco positivo de X6, se compara la configuracin de bits del valor de datos de 32 bits de las entradas X20 hasta X3F con el valor de datos en D16 y D17 mediante una operacin NOR exclusiva y se almacena el resultado de operacin nuevamente en D16 y D17. La cantidad de bits aplicados se almacena en D18.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WXNR_MB2, WXNR_KB2, WXNR_IB2, DXNR0B1

Ejemplo 3

WXNRP (s1, s2, d1) En el siguiente programa con flanco positivo de X0, se ejecuta una operacin NOR exclusiva con el valor de datos de 16 bits de las entradas X30 hasta X3F y el valor de datos en D99 y se almacena el resultado de operacin en D7.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WXNR_MB3, WXNR_KB3, WXNR_IB3, WXNR0B2

Programacin MELSEC A y Q

7 37

WXNR, WXNRP, DXNR, DXNRP


Ejemplo 4 DXNRP (s1, s2, d)

Instrucciones lgicas

En el siguiente programa con flanco positivo de X10, se ejecuta una operacin NOR exclusiva con los datos de 32 bits en los registros D20 y D21 y con los datos en D10 y D11 y se almacena el resultado de operacin en D40 y D41.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WXNR_MB4, WXNR_KB4, WXNR_IB4, DXNR0B2

INDICACIN

Los ejemplos de programa 2 y 4 no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

7 38

Programacin MELSEC A y Q

Instrucciones lgicas

BKXNR, BKXNRP

7.1.8

BKXNR, BKXNRP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s1 s2 d n

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKXNRME1, BKXNRKE1, BKXNRIE1

GX Developer

BKXNRGE1

Variables

Operando s1 s2 d n

Valor de comando Primera direccin del operando en el cual estn almacenados los datos para la operacin. Primera direccin de los datos con los cuales se ejecuta la operacin, o bien primera direccin del operando en el cual se almacenan estos datos.

Tipo de datos

BIN 16 bits Primera direccin del operando en el cual se almacena el resultado de la operacin. Cantidad de bloques de datos con los cuales se ejecuta la operacin NOR exclusiva.

Programacin MELSEC A y Q

7 39

BKXNR, BKXNRP
Funcionamiento Operaciones NOR exclusivas de bloques de datos de 16 bits BKXNR777 Operacin NOR exclusiva por bloques

Instrucciones lgicas

La instruccin BKXNR ejecuta una instruccin NOR exclusiva con los bloques N de 16 bits a partir de s1 y los bloques N n de 16 bits a partir de s2. El bloque correspondiente de 16 bits del resultado se almacena a partir del operando almacenado en d. La cantidad de bloques con las cuales se ejecuta la operacin, se indica en n.

BKXNR0E1

Una constante almacenada en s2 debe tener un valor entre -32768 y 32767.

BKXNR0E2

7 40

Programacin MELSEC A y Q

Instrucciones lgicas

BKXNR, BKXNRP

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad indicada en n de bloques de s1, s2 o d se encuentra fuera del rango previsto para el almacenamiento de los operandos (cdigo de error 4101). Los rangos de s1, s2 o d previstos para el almacenamiento, estn intercalando. (cdigo de error 4101).

Ejemplo

BKXNRP El siguiente programa ejecuta con flanco positivo de X20, una operacin NOR exclusiva de los datos en los registros D100 hasta D102 y de los datos en los registros R0 hasta R2. El resultado se almacena en los registros D200 hasta D202. La cantidad de los bloques de datos (3) de 16 bits integrados en la operacin, se encuentra almacenada en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKXNRMB1, BKXNRKB1, BKXNRIB1, BKXNR0B1

Programacin MELSEC A y Q

7 41

Instrucciones de rotacin

7.2

Instrucciones de rotacin
Con las instrucciones de rotacin descritas a continuacin, pueden rotarse en s y por bits, los valores de datos almacenados transitoriamente en los acumuladores y registros. La rotacin puede efectuarse hacia la derecha como tambin hacia la izquierda.

ROT_0E1

Las instrucciones de rotacin pueden aplicarse opcionalmente con arrastre (Carry Flag). La instruccin se utiliza tanto en aplicaciones de 16 bits como tambin de 32 bits. En total estn disponibles 16 instrucciones diferentes de rotacin.

Funcin

Instruccin MELSEC en el editor MELSEC ROR

Instruccin IEC en el editor IEC ROR_M RORP_M RCR_M RCRP_M ROL_M ROLP_M RCL_M RCLP_M DROR_M DRORP_M DRCR_M DRCRP_M DROL_M DROLP_M DRCL_M DRCLP_M

Rotacin de datos hacia la derecha (16 bits)

RORP RCR RCRP ROL

Rotacin de datos hacia la izquierda (16 bits)

ROLP RCL RCLP DROR

Rotacin de datos hacia la derecha (32 bits)

DRORP DRCR DRCRP DROL

Rotacin de datos hacia la izquierda (32 bits)

DROLP DRCL DRCLP

INDICACIN

Se recomienda utilizar las instrucciones IEC en los editores IEC.

7.2.1

7 42

Programacin MELSEC A y Q

Instrucciones de rotacin

ROR, RORP, RCR, RCRP

7.2.1

ROR, RORP, RCR, RCRP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante Puntero Nivel K

Y M L

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

3
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

d n

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ROR__ME1, ROR__KE1, ROR__IE1

GX Developer

ROR__GE1

INDICACIN

En la serie A se rota siempre en el registro A0. Debido a este motivo falta el operando d en la programacin de este comando en la serie A.
Operando d n Valor de comando Direccin inicial del operando con el cual se ejecuta la operacin de rotacin. Este operando es siempre A0 para la serie A. Cantidad de rotaciones (0 a 15). Tipo de datos BIN 16 bits

Variables

Programacin MELSEC A y Q

7 43

ROR, RORP, RCR, RCRP


Funcionamiento Rotacin de datos hacia la derecha (16 bits) ROR Instruccin de rotacin sin carry flag

Instrucciones de rotacin

La instruccin ROR rota los bits de datos en el operando indicado en d (A0) hacia la derecha por la cantidad de n bits. En esto no se considera el arrastre (carry flag). El carry flag (A-serie = M9012, serie QnA/System Q = SM700) asume el valor del ltimo bit rotado de b0 hacia b15.

ROR_0E1

Rotacin por n bits 2 Carry Flag

RCR

Instruccin de rotacin con carry flag

La instruccin RCR rota los bits de datos en el operando indicado en d (A0) hacia la derecha por la cantidad de n bits e integra en esto el carry flag. El carry flag (serie A = M9012, serie Q/ System Q = SM700) asume en esto el valor de los bits desplazados por n posiciones. El estado existente antes de la rotacin del carry flag (0 1) se desplaza en d (A0) desde b15 por n posiciones hacia la derecha.

RCR_0E1

Rotacin por n bits 2 Carry Flag

INDICACIN

Solo para Serie Q y System Q: Cuando se determin en d un operando de bit, se ejecuta una operacin de rotacin con un operando en el ancho de datos indicado. La cantidad de posiciones con las cuales se rotan los bits, se determina por el resto de la siguiente divisin: Cantidad de rotaciones n / Cantidad de bits Una rotacin de 16 giros de 12 bits correspondera, por ejemplo, a una rotacin de 4 bits, ya que el resto de la divisin de 16/12 es igual a 4. Esto se debe al hecho que el bit x de 12 bits se encuentra despus de 12 rotaciones nuevamente en la posicin donde estuvo antes de la rotacin. Debido a este motivo debe indicarse para n un valor de 0 a 15.

7 44

Programacin MELSEC A y Q

Instrucciones de rotacin

ROR, RORP, RCR, RCRP

Ejemplo 1

RORP (Serie Q y System Q) El siguiente programa rota con flanco positivo de XC, el contenido de D0 por 3 bits hacia la derecha.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ROR__MB1, ROR__KB1, ROR__IB1, ROR_0B1

Contenido de los bits b0-b2 antes de la rotacin 2 Contenido de los bits b4-b15 antes de la rotacin 3 Contenido del bit b3 antes de la rotacin 4 Contenido del bit b2 antes de la rotacin 5 Carry Flag

Ejemplo 2

RCRP (Serie Q y System Q) El siguiente programa rota con flanco positivo de XC, el contenido de D0 por 3 bits hacia la derecha bajo integracin del carry flag SM700. El estado (0/1) existente en SM700 antes de la rotacin se desplaza por 3 posiciones hacia la derecha.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ROR__MB2, ROR__KB2, ROR__IB2, RCR_0B1

Contenido de los bits b1 y b0 antes de la rotacin 2 Contenido del carry flag antes de la rotacin 3 Contenido de los bits b4-b15 antes de la rotacin 4 Contenido del bit b3 antes de la rotacin 5 Contenido del bit b2 antes de la rotacin 6 Carry Flag

Programacin MELSEC A y Q

7 45

ROL, ROLP, RCL, RCLP


7.2.2 ROL, ROLP, RCL, RCLP

Instrucciones de rotacin

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante Puntero Nivel K

Y M L

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

3
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

d n

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ROL__ME1, ROL__KE1, ROL__IE1

GX Developer

ROL__GE1

INDICACIN

En la serie A se rota siempre en el registro A0. Debido a este motivo falta el operando d en la programacin de este comando en la serie A.
Operando d n Valor de comando Direccin inicial del operando con el cual se ejecuta la operacin de rotacin. Este operando es siempre A0 para la serie A. Cantidad de rotaciones (0 a 15). Tipo de datos BIN 16 bits

Variables

7 46

Programacin MELSEC A y Q

Instrucciones de rotacin

ROL, ROLP, RCL, RCLP

Funcionamiento

Rotacin de datos hacia la izquierda (16 bits) ROL Instruccin de rotacin sin carry flag

La instruccin ROL rota los bits de datos en d (A0) por n bits hacia la izquierda. En esto no se considera el arrastre (carry flag). El carry flag (A-Serie = M9012, Serie Y/System Q = SM700) asume el valor del ltimo bit rotado de b15 hacia b0.

ROL_0E1

Rotacin por n bits 2 Carry Flag

RCL

Instruccin de rotacin con carry flag

La instruccin RCL rota los bits de datos en el operando indicado en d (A0) hacia la izquierda por la cantidad de n bits e integra en esto el carry flag. El carry flag (serie A = M9012, serie Q/ System Q = SM700) asume en esto el valor de los bits desplazados por n posiciones. El estado existente antes de la rotacin del carry flag (0 1) se desplaza en d (A0) desde b0 por n posiciones hacia la izquierda.

RCL_0E1

Rotacin por n bits 2 Carry Flags

INDICACIN

Solo para Serie Q y System Q: Cuando se determin en d un operando de bit, se ejecuta una operacin de rotacin con un operando en el ancho de datos indicado. La cantidad de posiciones con las cuales se rotan los bits, se determina por el resto de la siguiente divisin: Cantidad de rotaciones n / Cantidad de bits Una rotacin de 16 giros de 12 bits correspondera, por ejemplo, a una rotacin de 4 bits, ya que el resto de la divisin de 16/12 es igual a 4. Esto se debe al hecho que el bit x de 12 bits se encuentra despus de 12 rotaciones nuevamente en la posicin donde estuvo antes de la rotacin. Debido a este motivo debe indicarse para n un valor de 0 a 15.

Programacin MELSEC A y Q

7 47

ROL, ROLP, RCL, RCLP


Ejemplo 1 ROLP (Serie Q y System Q)

Instrucciones de rotacin

El siguiente programa rota con flanco positivo de XC, el contenido de D0 por 3 bits hacia la izquierda.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ROL__MB1, ROL__KB1, ROL__IB1, ROL_0B1

Contenido del bit b12 antes de la rotacin 2 Contenido de los bits b11 y b0 antes de la rotacin 3 Contenido de los bits b15 y b13 antes de la rotacin 4 Contenido del bit b12 antes de la rotacin 5 Carry Flag

Ejemplo 2

RCLP (Serie Q y System Q) El siguiente programa rota con flanco positivo de XC, el contenido de D0 por 3 bits hacia la izquierda bajo integracin del carry flag SM700. El estado (0/1) existente en SM700 antes de la rotacin se desplaza por 3 posiciones hacia la izquierda.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ROL__MB2, ROL__KB2, ROL__IB2, RCL_0B1

Contenido del bit b12 antes de la rotacin 2 Contenido de los bits b11 y b0 antes de la rotacin 3 Contenido de los carry flags 4 Contenido de los bits b14 y b15 antes de la rotacin 5 Contenido del carry flag antes de la rotacin 6 Carry Flag

7 48

Programacin MELSEC A y Q

Instrucciones de rotacin

DROR, DRORP, DRCR, DRCRP

7.2.3

DROR, DRORP, DRCR, DRCRP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante Puntero Nivel K

Y M L

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

3
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

d n

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DROR_ME1, DROR_KB1, DROR_IE1

GX Developer

DROR_GE1

INDICACIN

En la serie A se rota siempre en los registros A0 y A1. Debido a este motivo falta el operando d en la programacin de este comando en la serie A.
Operando d n Valor de comando Tipo de datos

Variables

Primera direccin del operando con el cual se ejecuta la operacin de rotacin. BIN 32 bits Estos operandos son siempre A0 y A1 para la serie A. Anzahl der Rotationen (0 bis 31). BIN 16 bits

Programacin MELSEC A y Q

7 49

DROR, DRORP, DRCR, DRCRP


Funcionamiento Rotacin de datos hacia la derecha (32 bits) DROR Instruccin de rotacin sin carry flag

Instrucciones de rotacin

La instruccin DROR rota los bits de datos en d (A0) por n bits hacia la derecha. En esto no se considera el arrastre (carry flag). El carry flag (Serie A = M9012, Serie Q/System Q = SM700) asume el valor del ltimo bit rotado de b0 hacia b31.

DROR0E1

Rotacin por n bits 2 Carry Flag

DRCR

Instruccin de rotacin con carry flag

La instruccin DRCR rota los bits de datos en el operando indicado en d (A0) hacia la derecha por la cantidad de n bits e integra en esto el carry flag. El carry flag (serie A = M9012, serie Q/ System Q = SM700) asume en esto el valor de los bits desplazados por n posiciones. El estado existente antes de la rotacin del carry flag (0 1) se desplaza en d (A0, A1) desde b31 por n posiciones hacia la derecha.

DRCR0E1

Rotacin por n bits 2 Carry Flag

INDICACIN

Solo para Serie Q y System Q Cuando se determin en d un operando de bit, se ejecuta una operacin de rotacin con un operando en el ancho de datos indicado. La cantidad de posiciones con las cuales se rotan los bits, se determina por el resto de la siguiente divisin: Cantidad de rotaciones n / Cantidad de bits Una rotacin de 31 giros de 24 bits correspondera, por ejemplo, a una rotacin de 7 bits, ya que el resto de la divisin de 31/24 es igual a 7. Esto se debe al hecho que el bit x de 24 bits se encuentra despus de 24 rotaciones nuevamente en la posicin donde estuvo antes de la rotacin. Para n debe indicarse un valor de 0 a 31.

7 50

Programacin MELSEC A y Q

Instrucciones de rotacin

DROR, DRORP, DRCR, DRCRP

Ejemplo 1

DRORP (Serie Q y System Q) El siguiente programa rota con flanco positivo de XC, el contenido de D0 y D1 por 4 bits hacia la derecha.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Contenido de los bits b3 y b0 antes de la rotacin Contenido de los bits b31 y b4 antes de la rotacin 3 Contenido del bit b3 antes de la rotacin 4 Carry Flag
DROR_MB1, DROR_KB1, DROR_IB1, DROR0B1

Ejemplo 2

DRCRP (Serie Q y System Q) El siguiente programa rota con flanco positivo de XC, el contenido de D0 y D1 por 4 bits hacia la derecha bajo integracin del carry flag SM700. El estado (0/1) existente en SM700 antes de la rotacin se desplaza por 4 posiciones hacia la derecha.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Contenido de los bits b2 y b0 antes de la rotacin Contenido del carry flag antes de la rotacin 3 Contenido de los bits b5 y b31 antes de la rotacin 4 Contenido del bit b4 antes de la rotacin 5 Contenido del bit b3 antes de la rotacin 6 Carry Flag

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

DROR_MB2, DROR_KB2, DROR_IB2, DRCR0B1

Programacin MELSEC A y Q

7 51

DROL, DROLP, DRCL, DRCLP


7.2.4 DROL, DROLP, DRCL, DRCLP

Instrucciones de rotacin

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante Puntero Nivel K

Y M L

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

3
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes E

Otros

Error Flag

Pasos

d n

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DROL_ME1, DROL_KE1, DROL_IE1

GX Developer

DROL_GE1

INDICACIN

En la serie A se rota siempre en los registros A0 y A1. Debido a este motivo falta el operando d en la programacin de este comando en la serie A.
Operando d n Valor de comando Tipo de datos

Variables

Primera direccin del operando con el cual se ejecuta la operacin de rotacin. BIN 32 bits Estos operandos son siempre A0 y A1 para la serie A. Anzahl der Rotationen (0 bis 31). BIN 16 bits

7 52

Programacin MELSEC A y Q

Instrucciones de rotacin

DROL, DROLP, DRCL, DRCLP

Funcionamiento

Rotacin de datos hacia la izquierda (32 bits) DROL Instruccin de rotacin sin carry flag

La instruccin DROL rota los bits de datos en d (A0) por n bits hacia la izquierda. En esto no se considera el arrastre (carry flag). El carry flag (Serie A = M9012, Serie Q/System Q = SM700) asume el valor del ltimo bit rotado de b31 hacia b0.

DROL0E1

Rotacin por n bits 2 Carry Flag

DRCL

Instruccin de rotacin con carry flag

La instruccin DRCL rota los bits de datos en el operando indicado en d (A0) hacia la izquierda por la cantidad de n bits e integra en esto el carry flag. El carry flag (serie A = M9012, serie Q/ System Q = SM700) asume en esto el valor de los bits desplazados por n posiciones. El estado existente antes de la rotacin del carry flag (0 1) se desplaza en d (A0, A1) desde b31 por n posiciones hacia la izquierda.

DROL0E1

Rotacin por n bits 2 Carry Flag

INDICACIN

Solo para Serie Q y System Q Cuando se determin en d un operando de bit, se ejecuta una operacin de rotacin con un operando en el ancho de datos indicado. La cantidad de posiciones con las cuales se rotan los bits, se determina por el resto de la siguiente divisin: Cantidad de rotaciones n / Cantidad de bits Una rotacin de 31 giros de 24 bits correspondera, por ejemplo, a una rotacin de 7 bits, ya que el resto de la divisin de 31/24 es igual a 7. Esto se debe al hecho que el bit x de 24 bits se encuentra despus de 24 rotaciones nuevamente en la posicin donde estuvo antes de la rotacin. Para n debe indicarse un valor de 0 a 31.

Programacin MELSEC A y Q

7 53

DROL, DROLP, DRCL, DRCLP


Ejemplo 1 DROLP (Serie Q y System Q)

Instrucciones de rotacin

El siguiente programa rota con flanco positivo de XC, el contenido de D0 y D1 por 4 bits hacia la izquierda.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DROL__MB1, DROL__KB1, DROL__IB1, DROL0B1

Contenido de los bits b27 y b0 antes de la rotacin 2 Contenido de los bits b31 y b28 antes de la rotacin 3 Contenido del bit b28 antes de la rotacin 4 Carry Flag

Ejemplo 2

DRCLP (Serie Q y System Q) El siguiente programa rota con flanco positivo de XC, el contenido de D0 y D1 por 4 bits hacia la izquierda bajo integracin del carry flag SM700. El estado (0/1) existente en SM700 antes de la rotacin se desplaza por 4 posiciones hacia la izquierda.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DROL__MB2, DROL__KB2, DROL__IB2, DRCL0B1

Contenido de los bits b27 y b0 antes de la rotacin 2 Contenido del carry flag antes de la rotacin 3 Contenido de los bits b31 y b29 antes de la rotacin 4 Contenido del bit b28 antes de la rotacin 5 Carry Flag

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

7 54

Programacin MELSEC A y Q

Instrucciones de desplazamiento

7.3

Instrucciones de desplazamiento
Las instrucciones de desplazamiento (instrucciones MAYUS) posibilitan el desplazamiento de los datos dentro de una palabra de datos, tanto por bits como tambin por bloques. El desplazamiento puede efectuarse hacia la derecha como tambin hacia la izquierda. En total estn disponibles 12 instrucciones de desplazamiento.

Funcin

Instruccin MELSEC en el Editor MELSEC SFR

Instruccin MELSEC en el editor IEC SFR_M SFRP_M SFL_M SFLP_M BSFR_M BSFRP_M BSFL_M BSFLP_M DSFR_M DSFRP_M DSFL_M DSFLP_M

Desplazamiento de una palabra de datos de 16 bits por n bits

SFRP SFL SFLP BSFR

Desplazamiento de un operando de bit por 1 bit

BSFRP BSFL BSFLP DSFR

Desplazamiento de un operando de palabra por 1 posicin

DSFRP DSFL DSFLP

INDICACIN

Se recomienda utilizar las instrucciones IEC en los editores IEC.

7.3.1

Programacin MELSEC A y Q

7 55

SFR, SFRP, SFL, SFLP


7.3.1 SFR, SFRP, SFL, SFLP

Instrucciones de desplazamiento

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M L

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

K1 K4

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

d n

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SFR__ME1, SFR__KE1, SFR__IE1

GX Developer

SFR__GE1

Variables

Operando d n

Valor de comando

Tipo de datos

Primera direccin del operando en el cual estn almacenados los datos para la operacin de desplazamiento. BIN 16 bits Cantidad de desplazamientos (0 a 15).

7 56

Programacin MELSEC A y Q

Instrucciones de desplazamiento

SFR, SFRP, SFL, SFLP

Funcionamiento

Desplazamiento de una palabra de datos de 16 bits por n bits SFR Desplazamiento hacia la derecha

La instruccin SFR desplaza por bits, la palabra de datos de 16 bits indicada en d por n bits hacia la derecha.

SFR_0E1

Estos bits se describen con 0. 2 Carry Flag

Los n bits de valor mayor se ajustan en 0, empezando con el bit b15. El bit N n a desplazar (b(n-1)) se desplaza al carry flag (Serie A = M9012, Serie Q/System Q = SM700). En temporizadores o contadores se desplaza el valor real (valor de conteo). No resulta posible un desplazamiento del valor nominal (valor de predeterminacin). En caso de utilizar un operando de bit, resulta posible el desplazamiento dentro de un operando con el ancho de datos indicado (vase el ejemplo 1).

SFL

Desplazamiento hacia la izquierda

La instruccin SFL desplaza por bits, la palabra de datos de 16 bits indicada en d por n bits hacia la izquierda.

SFL_0E1

Estos bits se describen con 0. 2 Carry Flag

Los n bits de valor inferior se ajustan en 0, empezando con el bit b0. El bit N n a desplazar (b(15-n)) se desplaza al carry flag (Serie A = M9012, Serie Q/System Q = SM700). En temporizadores o contadores se desplaza el valor real (valor de conteo). No resulta posible un desplazamiento del valor nominal (valor de predeterminacin). En caso de utilizar un operando de bit, resulta posible el desplazamiento dentro de un operando con el ancho de datos indicado (vase el ejemplo 2).

Programacin MELSEC A y Q

7 57

SFR, SFRP, SFL, SFLP


Ejemplo 1 SFRP

Instrucciones de desplazamiento

En el siguiente programa con flanco positivo de X20, se desplaza hacia la derecha el contenido de Y10 a Y1B por la cantidad de bits indicados en D0. El estado del bit Y13 se almacena para esto en el carry flag (Serie A = M9012, Serie Q/System Q = SM700).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SFR__MB1, SFR__KB1, SFR__IB1, SFR_0B1

Estos bits se describen con 0. 2 Carry Flag

Ejemplo 2

SFLP El siguiente programa desplaza el contenido de Y10 a Y18 con flanco positivo de X1C por 3 bits hacia la izquierda. El estado de Y15 se almacena en el carry flag (Serie A = M9012, Serie Q/System Q = SM700).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SFR__MB2, SFR__KB2, SFR__IB2, SFL_0B1

Estos bits se describen con 0. 2 Carry Flag

7 58

Programacin MELSEC A y Q

Instrucciones de desplazamiento

BSFR, BSFRP, BSFL, BSFLP

7.3.2

BSFR, BSFRP, BSFL, BSFLP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M L

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes E

Otros U

Error Flag

Pasos

d n

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BSFR_ME1, BSFR_KE1, BSFR_IE1

GX Developer

BSFR_GE1

Variables

Operando d n

Valor de comando Primera direccin del operando que se desplaza. Cantidad de los operandos a desplazar.

Tipo de datos Bit BIN 16 bits

Programacin MELSEC A y Q

7 59

BSFR, BSFRP, BSFL, BSFLP


Funcionamiento Desplazamiento de operandos de n bits por 1 bit BSFR Desplazamiento hacia la derecha

Instrucciones de desplazamiento

La instruccin BSFR desplaza los estados de los operandos de bits definidos por un bit hacia la derecha. El proceso de desplazamiento empieza en la direccin de operando indicado en d y se ejecuta para las siguientes direcciones.

BSFR0E1

Este bit se describe con 0. 2 Carry Flag

BSFL

Desplazamiento hacia la izquierda

La instruccin BSFL desplaza los estados de los operandos de bits definidos por un bit hacia la izquierda. El proceso de desplazamiento empieza en la direccin de operando indicado en d y se ejecuta para las siguientes direcciones.

BSFL0E1

Este bit se describe con 0. 2 Carry Flag

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor en n es negativo. El valor en n supera la cantidad de bits del operando indicado en d (Serie Q/System Q = Cdigo de error 4101).

7 60

Programacin MELSEC A y Q

Instrucciones de desplazamiento

BSFR, BSFRP, BSFL, BSFLP

Ejemplo 1

BSFRP El siguiente programa con flanco positivo de X8F, desplaza los datos de los rels internos M668 a M676 por un bit hacia la derecha. M668 asume el valor de M669, M669 asume el valor de M670, etc. El estado del primer operando (M668) se deposita en el carry flag (Serie A = M9012, Serie Q/System Q = SM700) y el ltimo operando (M676) asume el valor de 0.
Lista de instrucciones MELSEC Plano de contactos Lista de instrucciones IEC

BSFR_MB1, BSFR_KB1, BSFR_IB1, BSFR0B1

Este bit se describe con 0. 2 Carry Flag

Ejemplo 2

BSFLP En el siguiente programa con flanco positivo de X4, se desplazan los estados de las salidas Y60 a Y6F por un operando hacia la izquierda. El estado de la ltima salida (Y6F) se almacena en el carry flag (Serie A = M9012, Serie Q/System Q = SM700) y la primera salida (Y60) se ajusta en 0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BSFR_MB2, BSFR_KB2, BSFR_IB2, BSFL0B1

Este bit se describe con 0. 2 Carry Flag

Programacin MELSEC A y Q

7 61

DSFR, DSFRP, DSFL, DSFLP


7.3.3 DSFR, DSFRP, DSFL, DSFLP

Instrucciones de desplazamiento

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M L

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

7 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes E

Otros

Error Flag

Pasos

d n

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DSFR_ME1, DSFR_KE1, DSFR_IE1

GX Developer

DSFR_GE1

Variables

Operando d n

Valor de comando Primera direccin del operando que se desplaza. Cantidad de los operandos a desplazar.

Tipo de datos BIN 16 bits BIN 16 bits

7 62

Programacin MELSEC A y Q

Instrucciones de desplazamiento

DSFR, DSFRP, DSFL, DSFLP

Funcionamiento

Desplazamiento de n operandos de palabra por 1 direccin DSFR Desplazamiento hacia la derecha

La instruccin DSFR desplaza el contenido de los operandos de palabra definidos por una direccin hacia la derecha. El proceso de desplazamiento empieza en la direccin indicada en d y se ejecuta para las siguientes direcciones. El contenido del operando de valor mayor se ajusta en 0 despus del desplazamiento. En temporizadores o contadores se desplaza el valor real (valor de conteo). No resulta posible un desplazamiento del valor nominal (valor de predeterminacin).

DSFR0E1

Este bit se describe con 0.

DSFL

Desplazamiento hacia la izquierda

La instruccin DSFL desplaza el contenido de los operandos de palabra definidos por una direccin hacia la izquierda. El proceso de desplazamiento empieza en la direccin indicada en d y se ejecuta para las siguientes direcciones. El contenido del operando de valor inferior se ajusta en 0 despus del desplazamiento. En temporizadores o contadores se desplaza el valor real (valor de conteo). No resulta posible un desplazamiento del valor nominal (valor de predeterminacin).

DSFL0E1

Este bit se describe con 0.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor en n es negativo. El valor en n supera la cantidad de bits del operando indicado en d (Serie Q/System Q = Cdigo de error 4101).

Programacin MELSEC A y Q

7 63

DSFR, DSFRP, DSFL, DSFLP


Ejemplo 1 DSFRP

Instrucciones de desplazamiento

El siguiente programa con flanco positivo de XB, desplaza los datos de los registros de datos D683 a D689 por una direccin hacia la derecha. D683 asume el valor de D684, D684 asume el valor de D685, etc. El contenido del ltimo registro de datos (D689) asume el valor de 0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DSFR_MB1, DSFR_KB1, DSFR_IB1, DSFR0B1

Este bit se describe con 0.

Ejemplo 2

DSFLP El siguiente programa con flanco positivo de XB, desplaza los datos de los registros de datos D683 a D689 por una direccin hacia la izquierda. D689 asume el valor de D688, D688 asume el valor de D687, etc. El contenido del ltimo registro de datos (D683) asume el valor de 0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DSFR_MB2, DSFR_KB2, DSFR_IB2, DSFL0B1

Este bit se describe con 0.

7 64

Programacin MELSEC A y Q

Instrucciones de procesamiento de bits

7.4

Instrucciones de procesamiento de bits


Las instrucciones de procesamiento de bits posibilitan las modificaciones del estado (aplicacin y reposicin) de bits individuales o bien de rangos completos de bits. A travs de las instrucciones de procesamiento de bits se posibilita tambin la consulta de estados de bits en palabras de datos. En total estn disponibles 10 instrucciones de procesamiento de bits.

Funcin

Instruccin MELSEC en el Editor MELSEC BSET

Instruccin MELSEC en el editor IEC BSET_M BSETP_M BRST_M BRSTP_M TEST_M TESTP_M DTEST_M DTESTP_M BKRST_M BKRSTP_M

Activacin/reposicin de bits individuales

BSETP BRST BRSTP TEST

Consulta de estado de bits individuales en palabras de datos de 16/32 bits

TESTP DTEST DTESTP

Reposicin de rangos de bits

BKRST BKRSTP

7.4.1

Programacin MELSEC A y Q

7 65

BSET, BSETP, BRST, BRSTP


7.4.1 BSET, BSETP, BRST, BRSTP

Instrucciones de procesamiento de bits

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X d n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M L

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

7 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

d n

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BSET_ME1, BSET_KE1, BSET_IE1

GX Developer

BSET_GE1

Variables

Operando d n

Valor de comando Operando en el cual se activan o reponen los bits.

Tipo de datos BIN 16 bits

Direccin del bit que se activa o repone.

7 66

Programacin MELSEC A y Q

Instrucciones de procesamiento de bits

BSET, BSETP, BRST, BRSTP

Funcionamiento

Activacin/reposicin de bits individuales BSET Activacin de bits individuales en un operando de palabras

La instruccin BSET ajusta el bit N n de un operando de palabra en 1. Para n puede aplicarse un valor entre 0 y 15 (en forma correspondiente, b0 y b15). El operando de palabra se ajusta en d. En caso que el valor en n es mayor a 15, se realiza una ejecucin de la instruccin BSET dentro de los primeros 4 bits (b0 a b3) del operando de palabra. En la siguiente visualizacin se indica el valor de 6 para n y se activa el bit b6.

BSET0E1

Se activa este bit.

BRST

Reposicin de bits individuales en un operando de palabras

La instruccin BRST ajusta el bit N n de un operando de palabra nuevamente en 0. Para n puede aplicarse un valor entre 0 y 15 (corresponediente al b0 y b15). El operando de palabra se ajusta en d. En caso que el valor en n es mayor a 15, se realiza una ejecucin de la instruccin BRST dentro de los primeros 4 bits (b0 a b3) del operando de palabra. En la siguiente ilustracin se indica el valor de 11 para n y se repone el bit b11.

BRST0E1

Se repone este bit.

Programacin MELSEC A y Q

7 67

BSET, BSETP, BRST, BRSTP


Ejemplo BRSTP/BSETP

Instrucciones de procesamiento de bits

El siguiente programa con flanco positivo de XB, ajusta el bit b3 de D8 en el valor de 1. El bit b8 se repone con flanco positivo del contacto de reposo XB en el valor de 0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BSET_MB1, BSET_KB1, BSET_IB1, BRST0B1

INDICACIN

La activacin o reposicin de bits individuales en operandos de palabra puede efectuarse tambin con la instruccin SET y RST. En este caso deben indicarse los bits en las palabras de datos en el direccionamiento de los registros. Por ejemplo, el bit b8 en la palabra de datos D5 se direcciona con D5.8.

7 68

Programacin MELSEC A y Q

Instrucciones de procesamiento de bits

TEST, TESTP, DTEST, DTESTP

7.4.2

TEST, TESTP, DTEST, DTESTP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s1 s2 d

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

TEST_ME1, TEST_KE1, TEST_IE1

GX Developer

TEST_GE1

Variables

Operando s1 s2 d

Valor de comando Operando en el cual se encuentran los bits a consultar. Indicacin del bit a consultar. Operando de bit en el cual se almacena el resultado de consulta.

Tipo de datos Palabra Palabra Bit

Programacin MELSEC A y Q

7 69

TEST, TESTP, DTEST, DTESTP


Funcionamiento

Instrucciones de procesamiento de bits

Consulta de estado de bits individuales en palabras de datos de 16/32 bits TEST Instruccin de consulta de 16 bits

La instruccin TEST consulta el estado del bit s2 en el operando de palabra s1. El resultado de consulta se almacena en el operando de bit indicado en d. Se activa el operando de bit indicado en d cuando el bit consultado tiene el esatdo 1; se procede con su reposicin cuando el bit consultado tiene el estado 0. El bit indicado en s2 puede ser un bit cualquiera entre b0 y b15 en una palabra de datos de 16 bits. Al indicar un valor en s2 que resulta mayor a 15, se consulta el bit que sobra cuando el contenido de s2 se divide por 16. Por ejemplo, cuando el contenido de s2 es igual a 18, se consulta el b2 (en la divisin de 18 por 16 sobra el resto de 2). En la siguiente ilustracin se indica el valor de 5 para s2 y se consulta el estado del bit b5 en s1.

1
b15 b5 b0

s1

TEST0E1

Bit consultado

DTEST Instruccin de consulta de 32 bits La instruccin DTEST consulta el estado del bit s2 en el operando de palabra s1 y (s1)+1. El resultado de consulta se almacena en el operando de bit indicado en d. Se activa el operando de bit indicado en d cuando el bit consultado tiene el esatdo 1; se procede con su reposicin cuando el bit consultado tiene el estado 0. El bit indicado en s2 puede ser un bit cualquiera entre b0 y b31 en una palabra de datos de 32 bits. Al indicar un valor en s2 que resulta mayor a 31, se consulta el bit que sobra cuando el contenido de s2 se divide por 32. Por ejemplo, cuando el contenido de s2 es igual a 34, se consulta el b2 (en la divisin de 34 por 32 sobra el resto de 2). En la siguiente ilustracin se indica el valor de 21 para s2 y se consulta el estado del bit b21 en s1.

1
b31 b21 b16b15 b0

(s1)+1

s1

DTEST0E1

Bit consultado

7 70

Programacin MELSEC A y Q

Instrucciones de procesamiento de bits

TEST, TESTP, DTEST, DTESTP

Ejemplo 1

TESTP El siguiente programa con flanco positivo de SM400, activa el rel interno M0 en funcin del resultado de consulta del bit b10 en la palabra de datos de 16 bits en D0 o bien repone el rel interno M0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1= Reposicin 2= Activacin

TEST_MB1, TEST_KB1, TEST_IB1, TEST0B1

Ejemplo 2

DTESTP El siguiente programa con flanco positivo de SM400, activa la salida Y40 en funcin del resultado de consulta del bit b19 en la palabra de datos de 32 bits en W0 y W1 o bien repone la salida Y40.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1= Reposicin 2= Activacin

TEST_MB2, TEST_KB2, TEST_IB2, DTEST0B1

Programacin MELSEC A y Q

7 71

TEST, TESTP, DTEST, DTESTP

Instrucciones de procesamiento de bits

INDICACIN

Este ejemplo de programa 2 no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin. En vez de la instruccin TEST puede definirse tambin el bit a consultar como contacto de entrada (vase la ilustracin).

TEST_AB1

7 72

Programacin MELSEC A y Q

Instrucciones de procesamiento de bits

BKRST, BKRSTP

7.4.3

BKRST, BKRSTP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s n


FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKRSTME1, BKRSTKE1, BKRSTIE1

GX Developer

BKRSTGE1

Variables

Operando s n

Valor de comando Primera direccin de los operandos que se reponen. Cantidad de los operandos a reponer.

Tipo de datos Bit BIN 16 bits

Programacin MELSEC A y Q

7 73

BKRST, BKRSTP
Funcionamiento Reposicin de los rangos de bits BKRST Instruccin de reposicin

Instrucciones de procesamiento de bits

La instruccin BKRST repone n bits del operando indicado en s. En los rels internos de errores (F) se repone la cantidad indicada en n de los rels internos de errores que se almacenan en s; el contenido se elimina en funcin de los rels internos de errores de los registros SD64 a SD79. Los datos restantes se desplazan hacia adelante. Adems se almacena la cantidad de las entradas de los rels internos de errores de los registros SD64 a SD79 en el registro SD63. En los temporizadores (T) y contadores (C) se ajustan los valores de ajuste de n temporizadores o contadores en el valor de 0 despus de la ejecucion de la instruccin, adems se reponen los contactos de bobina. En todos los dems operandos de bits se repone la cantidad de bobinas o contactos indicada en s, en el operando indicado en s. En caso que ya se repuso el operando correspondiente, no se modifica su estado despus de la ejecucin de la instruccin.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor en n supera la cantidad de bits de los operandos indicados en s (cdigo de error 4101). BKRSTP El siguiente programa con flanco positivo de X0, repone los rels internos M0 a M7.

Ejemplo 1

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKRSTMB1, BKRSTKB1, BKRSTIB1, BKRST0B1

Estos bits no modifican su estado.

7 74

Programacin MELSEC A y Q

Instrucciones de procesamiento de bits

BKRST, BKRSTP

Ejemplo 2

BKRSTP El siguiente programa con flanco positivo de X20, repone los bits empezando con el bit b2 en D10 hasta el bit b1 en D11.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BKRST_MB2, BKRST_KB2, BKRST_IB2, BKRST0B2

Programacin MELSEC A y Q

7 75

BKRST, BKRSTP

Instrucciones de procesamiento de bits

7 76

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

7.5

Instrucciones de procesamiento de datos


Las instrucciones de procesamiento de datos ofrecen la posibilidad de buscar datos en rangos definidos, detectar la cantidad de bits activados, codificar y decodificar datos (tambin para la visualizacin de 7 segmentos), separar o unir valores de datos, buscar valores mximos y mnimos, clasificar datos o bien formar la suma de bloques de datos binarios de 16 y 32 bits. En total estn disponibles 41 instrucciones diferentes para el procesamiento de datos. La siguiente tabla contiene una vista sinptica de todas las instrucciones.

Funcin

Instruccin MELSEC en el Editor MELSEC SER SERP

Instruccin MELSEC en el editor IEC SER_M SERP_M DSER_M DSERP_M SUM_M SUMP_M DSUM_M DSUMP_M DECO_M DECOP_M ENCO_M ENCOP_M SEG_M DIS_M DISP_M UNI_M UNIP_M NDIS_M NDISP_M NUNI_M NUNIP_M WTOB_MD

Bsqueda de datos de 16/32 bits DSER DSERP SUM Control de bits de datos (16/32 bits) SUMP DSUM DSUMP DECO DECOP Codificacin y decodificacin de datos ENCO ENCOP Decodificacin de 7 segmentos Desintegracin e integracin de palabras de datos de 16 bits (unidades de 4 bits) SEG DIS DISP UNI UNIP Desintegracin e integracin de valores de datos de 16 bits (tamao variable de las unidades de bits) NDIS NDISP NUNI NUNIP WTOB WTOB_K_MD WTOB_P_MD Desintegracin e integracin de valores de datos de 16 bits (unidades de bytes) WTOBP WTOB_K_P_MD BTOW_MD BTOW BTOW_K_MD BTOW_P_MD BTOWP BTOW_K_P_MD MAX Bsqueda de valores mximos en datos de 16/32 bits MAXP DMAX DMAXP MAX_M MAXP_M DMAX_M DMAXP_M

Programacin MELSEC A y Q

7 77

Instrucciones de procesamiento de datos

Funcin

Instruccin MELSEC en el Editor MELSEC MIN

Instruccin MELSEC en el editor IEC MIN_M MINP_M DMIN_M DMINP_M SORT_M SORTP_M DSORT_M DSORTP_M WSUM_M WSUMP_M DWSUM_M DWSUMP_M

Bsqueda de valores mnimos en datos de 16/32 bits

MINP DMIN DMINP SORT SORTP

Clasificacin de datos de 16/32 bits DSORT DSORTP WSUM Formacin de sumas de bloques de datos binarios de 16/32 bits WSUMP DWSUM DWSUMP

7 78

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

SER, SERP, DSER , DSERP

7.5.1

SER, SERP, DSER , DSERP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X s1 s2 n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M L

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

9 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiale de ndice s Zn U\G


Constantes K, H (16#)

Otros U

Error Flag

Pasos

s1 s2 d n

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SER__ME1, SER__KE1, SER__IE1

GX Developer

SER_GE1

INDICACIN

En la serie A se almacena el resultado de la bsqueda siempre en los registros A0 y A1. Debido a este motivo falta el operando d en la programacin de este comando en la serie A.

Programacin MELSEC A y Q

7 79

SER, SERP, DSER , DSERP

Instrucciones de procesamiento de datos

Variables
Operando s1 s2 Valor de comando Valor de datos que se busca o bien primera direccin del operando en el cual se almacena este valor. Datos en los cuales se busca este valor o bien primera direccin del operando en el cual se almacenan estos datos. Primera direccin del operando en el cual se almacena el resultado de bsqueda. Estos operandos son siempre A0 y A1 para la serie A. Cantidad de direcciones para la bsqueda.

Tipo de datos MELSEC IEC ANY16 ANY16/ANY32 Palabra Secuencia de bits [1..2] de ANY16/ANY32 ANY16

d n

Funcionamiento

Bsqueda de datos SER (Serie A y Q/System Q) / SERP (Serie Q/System Q)Bsqueda de datos de 16 bits La instruccin SER posibilita la bsqueda de determinados datos dentro de un rango definido. La bsqueda empieza a partir de la direccin inicial indicada en s2. El valor de datos buscados se determina en s1. Por lo tanto, s1 define el trmino de bsqueda. El largo del rango de bsqueda, esto quiere decir, la cantidad de direcciones, se determina en n. En la serie Q o bien el System Q se almacena el resultado de bsqueda en (Array_d[1]) y (Array_d[2]). Despus de la ejecucin de la bsqueda se almacena la posicin de la primera direccin en la cual se encuentra en valor de datos buscado, en el (Array_d[1]). (Array_d[2]) contiene la cantidad de datos encontrados que son idnticos con el trmino de bsqueda. En la serie A se almacena la posicin de la primera direccin del valor de datos encontrado, en el registro A0. La cantidad de datos encontrados, se almacena en el registro A1.

1 2

Trmino de bsqueda Direccin inicial de la bsqueda 3 Rango de bsqueda 4 Valores coincidentes 5 Resultado de bsqueda 6 Direccin del primer valor encontrado 7 Cantidad de valores encontrados
SER_0E1

Si el valor en n es negativo o igual a 0, no se ejecuta la bsqueda de datos. Werden bei der Suchoperation keine bereinstimmenden Daten gefunden, wird in (Array_[d1]) und (Array_d[2]) bzw. in den Registern A0 und A1 0 eingetragen.

7 80

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

SER, SERP, DSER , DSERP

INDICACIN

Serie Q y System Q Cuando los datos a buscar estn almacenados en secuencia ascendente, puede abreviarse el tiempo de procesamiento mediante la aplicacin de la bsqueda binaria con el rel interno de diagnstico SM702 activado.
SM702 CON:

El rango de datos para la ejecucin de la bsqueda, se divide en dos y en funcin del tamao del trmino de bsqueda se decide en cul mitad se encuentra el trmino. Esta mitad del trmino de bsqueda se divide nuevamente en dos y se selecciona otra vez una mitad para la continuacin de la bsqueda. Este proceso se continua hasta encontrar el trmino de bsqueda.

1 2

Trmino de bsqueda Rango de bsqueda 3 Comparacin con el trmino de bsqueda 4 Secuencia de procesamiento 5 Datos para la bsqueda
DSER0E2

SM702 DESC:

La bsqueda de datos en la cual se compara el trmino de bsqueda con cada valor de datos, se inicia al comienzo del rango de datos a buscar. En caso que el rango de datos a buscar no est clasificado segn su tamao, no resulta posible alcanzar un resultado correcto de bsqueda en el caso de una bsqueda con un rel interno de diagnstico SM702 activado.

Programacin MELSEC A y Q

7 81

SER, SERP, DSER , DSERP

Instrucciones de procesamiento de datos

DSER/ DSERP (Serie Q y System Q) Bsqueda de datos de 32 bits La instruccin DSER posibilita la bsqueda de determinados datos de 32 bits dentro de un rango definido. La bsqueda empieza a partir de la direccin inicial indicada en s2 (2 x n direcciones). El valor de datos buscado se determina en s1 y (s1)+1. s1 y (s1)+1 definen por lo tanto el trmino de bsqueda. El largo del rango de bsqueda, esto quiere decir, la cantidad de direcciones, se determina en n. El resultado de bsqueda se almacena en d y d1 como secuencia de bits [1..2] de ANY16. Despus de la ejecucin de la bsqueda se almacena la posicin de la primera direccin en la cual se encuentra en valor de datos buscado, en d (Array_d[1]). (Array_d[2]) contiene la cantidad de datos encontrados que son idnticos con el trmino de bsqueda.

1 2

Trmino de bsqueda Direccin inicial de la bsqueda 3 Rango de bsqueda 4 Valores coincidentes 5 Resultado de bsqueda 6 Direccin del primer resultado encontrado 7 Cantidad de valores encontrados
DSER0E1

Si el valor en n es negativo o igual a 0, no se ejecuta la bsqueda de datos. En caso de no encontrar datos coincidentes en la operacin de bsqueda, el contenido almacenado en (Array_d[1]) y (Array_d[2]) es igual a 0.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El rango de direcciones indicadas en n, empezando con s2, se encuentra fuera del rango previsto para el almacenamiento del operando (cdigo de error 4101). Mayores informaciones para la utilizacin del direccionamiento indexado se encuentran en el Cap. 3.6.

7 82

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

SER, SERP, DSER , DSERP

Ejemplo 1

SERP (Serie Q y System Q) El ejemplo muestra un programa que con flanco positivo de X20, compara los datos de D100 a D105 con el valor de datos en D0. La primera posicin coincidente se almacena en W0 y la cantidad de posiciones en W1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Trmino de bsqueda Datos para la bsqueda 3 Resultado de bsqueda 4 Direccin del primer resultado encontrado 5 Cantidad de valores encontrados
SER__MB1, SER__KB1, SER__IB1, SER_0B1

Programacin MELSEC A y Q

7 83

SER, SERP, DSER , DSERP


Ejemplo 2 DSERP (Serie Q y System Q)

Instrucciones de procesamiento de datos

El ejemplo muestra un programa que con flanco positivo de X20, compara los datos de D100 a D111 con el valor de datos en D11 y D10. La primera posicin coincidente se almacena en W0 y la cantidad de posiciones en W1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Trmino de bsqueda Datos para la bsqueda 3 Resultado de bsqueda 4 Direccin del primer resultado encontrado 5 Cantidad de valores encontrados
SER__MB2, SER__KB2, SER__IB2, DSER_0B1

INDICACIN

Estos ejemplos de programa no son ejecutables sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

7 84

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

SUM, SUMP, DSUM, DSUMP

7.5.2

SUM, SUMP, DSUM, DSUMP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante Puntero Nivel K H (16#) P I N

Largo de bloque

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

SUM s DSUM s
1
K1 K4

3 1

K1 K4

3 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit s d

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SUM__ME1, SUM__KE1, SUM__IE1

GX Developer

SUM_GE1

INDICACIN

En la serie A se almacena la cantidad de bits activados siempre en el registro A0. Debido a este motivo falta el operando d en la programacin de este comando en la serie A.

Variables

Operando s d

Valor de comando Primera direccin del operando en el cual se cuentan los bits activados. Primera direccin del operando en el cual se almacena la cantidad de bits activados. Este operando es siempre A0 para la serie A.

Tipo de datos BIN 16/32 bits

Programacin MELSEC A y Q

7 85

SUM, SUMP, DSUM, DSUMP


Funcionamiento Control de bits de datos SUM 16 bits

Instrucciones de procesamiento de datos

Con la instruccin SUM puede determinarse la cantidad de bits que se activaron en una palabra de datos de 16 bits. El rango de direcciones a controlar, se define en s. La suma de los bits activados se almacena en d (A0) despus de la ejecucin de la instruccin.

1 2

Conteo de los bits activados Cantidad de bits activados con codificacin binaria
SUM_0E1

DSUM

32 bits

Con la instruccin DSUM puede determinarse la cantidad de bits que se activaron en una palabra de datos de 32 bits. El rango de direcciones a controlar, se define en s. La suma de los bits con el valor de 1 se almacena en d (A0) despus de la ejecucin de la instruccin.

1 2

Conteo de los bits activados Cantidad de bits activados con codificacin binaria
DSUM0E1

7 86

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

SUM, SUMP, DSUM, DSUMP

Ejemplo 1

SUMP (Serie Q y System Q) En el siguiente programa con flanco positivo de X10, se determina la suma de las entradas activadas (ajustadas en 1) entre X8 y X17 y se almacena en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Almacenamiento de los bits activados en D0


SUM__MB1, SUM__KB1, SUM__IB1, SUM_0B1

Ejemplo 2

DSUMP (Serie Q y System Q) En el siguiente programa con flanco positivo de X10, se determina la suma de los bits activados en D100 y D101 y se almacena luego en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Almacenamiento de los bits activados en D0


SUM__MB2, SUM__KB2, SUM__IB2, DSUM_0B1

Programacin MELSEC A y Q

7 87

DECO, DECOP
INDICACIN

Instrucciones de procesamiento de datos

Este ejemplo de programa 2 no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

7.5.3

DECO, DECOP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante Puntero Nivel K

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

s d n
1

9 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s d n

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

GX Developer

DECO_ME1, DECO_KE1, DECO_IE1

DECO_GE1

Variables

Operando s d n

Valor de comando Datos codificados u operando en el cual estn almacenados estos datos. Primera direccin del operando en el cual se almacena el valor decodificado. Cantidad de bits que contienen los datos codificados.

Tipo de datos BIN 16 bits Direccin BIN 16 bits

7 88

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

DECO, DECOP

Funcionamiento

Decodificacin de datos de 8 hacia 256 bits DECO Decodificacin de datos

La instruccin DECO decodifica los datos del operando indicado en s. El valor contenido en este con codificacin binaria se decodifica a un nmero decimal. Este nmero decimal (mx. 256) indica el bit X (bX) que se activa, en funcin del bit N 2x del operando indicado en d. Con n se define la cantidad de direcciones en s que contienen los datos codificados. En n debe ajustarse un valor entre 1 y 8. Cuando n es igual a 0, no se ejecuta un procesamiento de la instruccin y el rango de direcciones se mantiene sin modificacin alguna. Un operando de bit se procesa como bit individual y un operando de palabra como valor de datos de 16 bits.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor en n no se encuentra entre 1 y 8 (Serie Q/System Q =Cdigo de error 4100). El bit X de d se encuentra fuera del rango previsto para el almacenamiento del operando (Serie Q/System Q = Cdigo de error 4101).

Ejemplo

DECOP El siguiente programa con flanco positivo de X20, codifica los datos de X0 a X2 y almacena el resultado en M10 a M17. Ya que el valor con codificacin binaria se encuentra integrado en X0 a X2, se activa el bit b6 (M16) en M10 a M17.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Valor 6 con codificacin binaria Cuando el valor con codificacin binaria se indica con 4 bits, se requieren 8 bits para la visualizacin.

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

DECO_MB1, DECO_KB1, DECO_IB1, DECO0B1

Programacin MELSEC A y Q

7 89

ENCO, ENCOP
7.5.4 ENCO, ENCOP

Instrucciones de procesamiento de datos

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante Puntero Nivel K H (16#) P I N

Largo de bloque

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

s d n
1

9
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s d n

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ENCO_ME1, ENCO_KE1, ENCO_IB1

GX Developer

ENCO_GE1

Variables

Operando s d n

Valor de comando Datos decodificados u operando en el cual estn almacenados estos datos. Operando en el cual se almacenan los datos codificados. Cantidad de bits en los cuales se almacena el valor codificado.

Tipo de datos

BIN 16 bits

7 90

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

ENCO, ENCOP

Funcionamiento

Codificacin de datos de 256 hacia 8 bits ENCO Codificacin de datos

La instruccin ENCO codifica los datos de un registro de datos con hasta 256 bits hacia una secuencia de datos binaria de 8 bits. En s se determina la direccin inicial del operando cuyos datos deben codificarse. El bit X activado en s indica con X el valor decimal que se almacena en d con codificacin binaria. En n se indica la cantidad de bits del operando en el cual se almacena el resultado codificado y que se indica en d. En n debe ajustarse un valor entre 0 y 8. Cuando n es igual a 0, no se ejecuta un procesamiento de la instruccin y el rango de direcciones se mantiene sin modificacin alguna. Un operando de bit se procesa como bit individual y un operando de palabra como valor de datos de 16 bits. En caso que ms de un bit tiene el valor de 1, se inicia el procesamiento con el bit ms alto. Fuentes de error En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor en n no se encuentra entre 0 y 8 (Serie Q/System Q =Cdigo de error 4100). Todos los bits en s son iguales a 0 hasta el bit X en la ejecucin de la instruccin ENCO. El valor X del bit activado X en s se encuentra fuera del rango que puede indicarse en forma binaria con 0 a 8 bits (Serie Q/System Q = Cdigo de error 4101). Todos los bits en s son idnticos con d hasta el bit X (Serie Q/System Q = Cdigo de error 4100). Ejemplo ENCOP En el siguiente programa con flanco positivo de X20, se leen y codifican los datos de M10 a M17 y se almacenan como valor binario en D8.
Lista de instrucciones MELSEC Plano de contactos Lista de instrucciones IEC

1 2

Cuando se codifica binariamente el bit activado con 4 bits, puede indicarse un rango de 8 bits. 3 con codificacin binaria para activacin de bit 3 (M13)
ENCO_MB1, ENCO_KB1, ENCO_IB1, ENCO0B1

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

7 91

SEG, SEGP
7.5.5 SEG, SEGP

Instrucciones de procesamiento de datos

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

La funcin de la instruccin SEG como decodificacin de 7 segmentos resulta posible solamente cuando no se ha activado el rel interno especial M9052. En caso de haber aplicado el rel interno especial M9052, la instruccin SEG asume la funcin de una actualizacin parcial.
Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante Puntero Nivel K

Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

s d
1

K1

2 1

El largo de bloque puede elegirse entre K1 y K4 para las CPUs de A3H, A3M o AnN. En todas las dems CPUs se omite el largo de bloque definido y se procesa automticamente el K2 (con 8 bits). 2 La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d


FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SEG__ME1, SEG__ME1, SEG__IE1

GX Developer

SEG__GE1

Variables

Operando s d

Valor de comando Datos que deben convertirse en datos de 7 segmentos, o bien la primera direccin del operando en el cual se almacenan estos datos.

Tipo de datos

BIN 16 bits Primera direccin del operando en el cual se almacenan los datos de 7 segmentos.

7 92

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

SEG, SEGP

Funcionamiento

Decodificacin de 7 segmentos SEG (Serie A y Q/System Q) / SEGP (Serie Q/System Q)Conversin de un valor binario de 4 posiciones La instruccin SEG convierte un valor binario de 4 posiciones en un cdigo de 7 segmentos para la visualizacin de los valores 0 a F. En s se define el valor de datos o bien la direccin inicial de los datos que deben codificarse. En d se almacenan los datos de 7 segmentos. En caso que deban emitirse los datos de 7 segmentos a los operandos de bits, debe indicarse en d la direccin inicial y el tamao del rango de direcciones en el cual deben almacenarse los datos. Cuando se trata en d de un operando de palabra, debe indicarse solamente la direccin del operando. El almacenamiento de los datos en varios operandos de bits o en un operando de palabra se ejecuta en funcin del siguiente esquema.

1 2

Operando de bit Operando de palabra 3 8 bits 4 Estos bits tienen siempre el valor de 0. 5 Datos de 7 segmentos
SEG_0E1

Programacin MELSEC A y Q

7 93

SEG, SEGP
Datos de 7 segmentos

Instrucciones de procesamiento de datos

La siguiente tabla contiene un resumen de los datos de 7 segmentos con referencia a la configuracin de bits de los datos de fuente. El primer bit (b0) de los datos de 7 segmentos presenta el estado del primer operando en un almacenamiento de los datos en operandos de bits o bien el estado del bit de valor ms bajo en un operando de palabra.

s HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F Config. bits 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 b3 b4 b5 b6 0 0 b2 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 b1 b0 Disposicin de los segmentos B7 0 0 0 0 0 0 B6 0 0 1 1 1 1 B5 1 0 0 0 1 1 B4 1 0 1 0 0 0

d B3 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 B2 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 B1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 B0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 Eliminar la

0 I 2 3 4 5 6 7 8 9 A B C D E F

7 94

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

SEG, SEGP

Ejemplo

SEGP (Serie Q y System Q) En el siguiente programa, despus de la activacin de X0, se emiten los estados de las entradas XC a XF como cdigo de 7 segmentos a las salidas Y38 a Y3F. Los estados de las salidas Y38 a Y3F se mantienen vigentes hasta que se sobreescriben por nuevos datos.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SEG__MB1, SEG__KB1, SEG__IB1, SEG_0B1

Programacin MELSEC A y Q

7 95

DIS, DISP
7.5.6 DIS, DISP

Instrucciones de procesamiento de datos

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X s d n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante Puntero Nivel K

Y M L

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

K1 K4

9 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s d n

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DIS__ME1, DIS__KE1, DIS__IE1

GX Developer

DIS__GE1

Variables

Operando s d n

Valor de comando Primera direccin del operando en el cual estn almacenados los datos a desintegrar. Primera direccin del operando en el cual estn almacenados los datos separados. Cantidad de grupos de 4 bits a separar. En caso de n = 0, no se ejecuta un procesamiento.

Tipo de datos

BIN 16 bits

7 96

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

DIS, DISP

Funcionamiento

Separacin de datos de 16 bits DIS Separacin de valores de datos de 16 bits

La instruccin DIS separa un valor de datos de 16 bits en grupos de 4 bits y almacena los estados de la serie secuencialmente en 4 operandos de destino. En la instruccin se define el valor de datos a desintegrar en s, la cantidad de los grupos de 4 bits en n y la primera direccin de destino en d. Los dems grupos de 4 bits se almacenan en d+n.

1 2

Estos bits se describen con 0. Rango de memoria


DIS_0E1

Los 12 bits de valor superior del operando de destino, empezando con la direccin en d, se ajustan en 0. Para n puede ajustarse un valor entre 1 y 4 (4 a 16 bits). Cuando n es igual a 0, no se ejecuta un procesamiento de la instruccin y la direccin de operando definida se mantiene sin modificacin alguna.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor en n no se encuentra entre 0 y 4 (Serie Q/SystemQ =Cdigo de error 4100). El rango en d indicado con n sobrepasa el rango previsto para el almacenamiento del operando (Serie Q/System Q = Cdigo de error 4101).

Programacin MELSEC A y Q

7 97

DIS, DISP
Ejemplo DISP

Instrucciones de procesamiento de datos

El siguiente programa con flanco positivo de X0, separa el valor de datos de 16 bits de D0 y almacena secuencialmente la configuracin de bits en grupos de 4 bits en D10 a D13.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Estos bits se describen con 0. Rango de memoria


DIS__MB1, DIS__KB1, DIS__IB1, DIS_0B1

7 98

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

UNI, UNIP

7.5.7

UNI, UNIP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X s d n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante Puntero Nivel K H (16#) P I N

ndice

Pasos

Operandos MELSEC A

Carry Flag

Error Flag

M9010 M9012 M9011


K1 K4

9 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

s d n

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

UNI__ME1, UNI__KE1, UNI__IE1

GX Developer

UNI__GE1

Variables

Operando s d n

Valor de comando Primera direccin del operando en el cual estn almacenados los datos a unir. Primera direccin del operando en el cual se almacenan los datos unidos. Cantidad de grupos de 4 bits a unir. En caso de n = 0, no se ejecuta un procesamiento.

Tipo de datos

BIN 16 bits

Programacin MELSEC A y Q

7 99

UNI, UNIP
Funcionamiento Agrupado de datos de 16 bits UNI Unin de valores de datos de 16 bits

Instrucciones de procesamiento de datos

La instruccin UNI separa los 4 respectivos bits de valor inferior de los cuatro valores de datos de 16 bits y almacena los estados conjuntamente en un valor de datos de 16 bits. En la instruccin se determina la direccin inicial de los valores de datos unidos en s, la cantidad de operandos secuencialmente en n y la direccin de destino en d.

1 2

Estos bits no se consideran en el procesamiento. Grupos de 4 bits que deben almacenarse en d.


UNI_0E1

Los 4 bits de valor inferior del operando inicial, empezando con la direccin en d, se ajustan en 0. Para n puede ajustarse un valor entre 1 y 4. Cuando n es igual a 0, no se ejecuta un procesamiento de la instruccin y la direccin de operando definida se mantiene sin modificacin alguna.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El valor en n no se encuentra entre 0 y 4 (Serie Q/SystemQ =Cdigo de error 4100). El rango en s indicado con n sobrepasa el rango previsto para el almacenamiento del operando (Serie Q/System Q = Cdigo de error 4101).

7 100

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

UNI, UNIP

Ejemplo

UNIP En el siguiente programa con flanco positivo de X0, se unen los respectivos primeros 4 bits (b0 a b3) de los registros de datos D0 a D2 secuencialmente a un valor de datos de 16 bits (las ltimas 4 posiciones son "0") en D10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

Grupos de 4 bits que deben almacenarse en D10.


UNI__MB1, UNI__KB1, UNI__IB1, UNI_0B1

Programacin MELSEC A y Q

7 101

NDIS, NDISP, NUNI, NUNIP


7.5.8 NDIS, NDISP, NUNI, NUNIP

Instrucciones de procesamiento de datos

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s1 d s2 Palabra


FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

NDIS_ME1, NDIS_KE1, NDIS_IE1

GX Developer

NDIS_GE1

Variables

Operando s1 d s2

Valor de comando Primera direccin del operando en el cual estn almacenados los datos a desintegrar/integrar. Primera direccin del operando en el cual estn almacenados los datos separados/unidos. Tamao de los grupos de bits a separar/unir.

Tipo de datos

BIN 16 bits

7 102

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

NDIS, NDISP, NUNI, NUNIP

Funcionamiento

Separacin y agrupado de datos en grupos de bits de tamao variable NDIS Separacin de datos

La instruccin NDIS separa los datos del operando indicado a partir de s1, en grupos de bits con el tamao indicado en s2. Los grupos de bits separados se almacenan individualmente a partir del operando indicado en d.

1 2

Tamao de los grupos de bits El 0 marca el fin del procesamiento.


NDIS0E1

El tamao indicado en s2 de los grupos de bits puede tener un valor entre 1 y 16 bits. Se procesan los valores ingresados en s2 que se encuentran entre la primera direccin del operando indicado en s2 y la direccin con la entrada 0.

Programacin MELSEC A y Q

7 103

NDIS, NDISP, NUNI, NUNIP


NUNI Unin de datos

Instrucciones de procesamiento de datos

La instruccin NUNI separa los tamaos de los grupos de bits indicados a partir de s2 de los operandos almacenados a partir de s1 y ejecuta una unin de estos grupos de bits en un valor de datos. Los grupos de bits se almacenan secuencialmente a partir del operando indicado en d.

1 2

Tamao de los grupos de bits El 0 marca el fin del procesamiento.


NUNI0E1

El tamao indicado en s2 de los grupos de bits puede tener un valor entre 1 y 16 bits. Se procesan los valores ingresados en s2 que se encuentran entre la primera direccin del operando indicado en s2 y la direccin con la entrada 0.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Los grupos de bits con los tamaos indicados en s2 en los operandos indicados en s1 o d, no se encuentran dentro de los rangos previstos para el almacenamiento de los operandos (cdigo de error 4101). Los tamaos indicados en s2 de los grupos de bits no se encuentran en el rango entre 1 y 16 bits (cdigo de error 4100).

7 104

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

NDIS, NDISP, NUNI, NUNIP

Ejemplo 1

NDISP El siguiente programa con flanco positivo de SM400, separa los grupos de bits b0 - b3 (4), b4 b6 (3) y b 7- b12 (6) de D0 y almacena cada grupo individual de bits empezando con el grupo b0 - b3 en D10-D12. Los valores indicados en parntesis indican los tamaos de grupos de bits indicados en D20 a D22. En D23 debe estar ingresado el valor de 0 (vase el funcionamiento).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Estos bits no se consideran en el procesamiento. Estos bits se describen con 0.


NDIS_MB1, NDIS_KB1, NDIS_IB1, NDIS0B1

Programacin MELSEC A y Q

7 105

NDIS, NDISP, NUNI, NUNIP


Ejemplo 2 NUNIP

Instrucciones de procesamiento de datos

El siguiente programa con flanco positivo de SM400, separa los grupos de bits b0 - b3 (4), b0 - b2 (3) y b0 - b5 (6) de D10 a D12 y almacena los grupos de bits empezando con el grupo b0 - b3, secuencialmente en D0. Los valores indicados en parntesis indican los tamaos de grupos de bits indicados en D20 a D22. En D23 debe estar ingresado el valor de 0 (vase el funcionamiento).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Estos bits no se consideran en el procesamiento. Estos bits se describen con 0.


NDIS_MB2, NDIS_KB2, NDIS_IB2, NUNI0B1

7 106

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

WTOB, WTOBP, BTOW, BTOWP

7.5.9

WTOB, WTOBP, BTOW, BTOWP

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Esta instruccin extendida puede programarse con una CPU AnA y AnU en el editor IEC como componente normal (funcin) y en el editor MELSEC en relacin con las instrucciones LEDA, -C y -R.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

s d n

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WTOB_ME1, WTOB_KE1, WTOB_IE1

GX Developer

WTOB_GE1

Variables

Operando s d n

Valor de comando Primera direccin del operando en el cual estn almacenados los bytes a desintegrar/integrar. Primera direccin del operando en el cual estn almacenados los bytes desintegrados/integrados. Cantidad de grupos de bytes a desintegrar/integrar.

Tipo de datos

BIN 16 bits

Programacin MELSEC A y Q

7 107

WTOB, WTOBP, BTOW, BTOWP


Funcionamiento

Instrucciones de procesamiento de datos

Separacin y agrupado de datos en grupos de bytes WTOB Separacin de datos

La instruccin WTOB separa un valor de datos de 16 bits en grupos de bytes y almacena los estados de la serie secuencialmente en los operandos de destino. En la instruccin se definen los valores de datos a desintegrar en s, la cantidad de los grupos de bytes en n y la primera direccin de destino en d. Los dems grupos de bytes se almacenan en d+n. Para el almacenamiento se utilizan solamente los bytes de valor inferior de los operandos indicados en d.

1 2

Bytes de valor superior Bytes de valor inferior 3 Datos de los bytes correspondientes de valor inferior 4 Datos de los bytes correspondientes de valor superior

Por ejemplo, cuando n = 5, se separan los 5 bytes del operando indicado en s a s+2 y se almacenan secuencialmente en los bytes de valor inferior de los operandos indicados en d a d+4.

WTOB0E1

Estos bytes no se consideran en el procesamiento.


WTOB0E2

La cantidad de grupos de bytes indicada en n, determina automticamente el rango de los datos de 16 bits en s y el rango de memoria de los grupos de bytes en d. Cuando n es igual a 0, no se ejecuta un procesamiento y las direcciones de operando definidas se mantienen sin modificacin alguna. Los bytes de valor superior en los operandos indicados en d, se describen con el valor "00H".

Estos bytes se describen con el valor "00H".


WTOB0E3

7 108

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

WTOB, WTOBP, BTOW, BTOWP

BTOW

Unin de datos

La instruccin BTOW separa los respectivos bytes de valor inferior de los valores de datos de 16 bits y almacena los estados conjuntamente en valores de datos de 16 bits. En la instruccin se determina la direccin inicial de los valores de datos unidos en s, la cantidad de grupos de bytes secuencialmente en n y la direccin de destino en d.

1 2

Estos bytes no se consideran en el procesamiento. 1. hasta byte N n de datos 3 Datos del segundo, cuarto y n byte 4 Datos del primer, tercer y (n-1) byte
BTOW0E1

Por ejemplo, cuando n = 5, se separan los 5 bytes de valor inferior del operando indicado en s a s+4 y se almacenan secuencialmente en los operandos indicados en d a d+2.

Este byte se describe con el valor "00H".


BTOW0E2

La cantidad de grupos de bytes indicada en n, determina automticamente el rango de los datos de bytes en s y el rango de memoria de los datos de bytes en d.

Cuando n es igual a 0, no se ejecuta un procesamiento de la instruccin y la direccin de operando definida se mantiene sin modificacin alguna. Los bytes de valor superior en los operandos indicados en s, no se consideran en el procesamiento. Un procesamiento correcto se ejecuta tambin en los casos en los cuales los rangos de memoria de s a s+n se intercalan con aquellos de d a d+n. La siguiente visualizacin muestra el almacenamiento para el caso que se separan los bytes de valor inferior de D11 a D16 para su almacenamiento posterior y secuencial en D12 a D14.

BTOW0E3

Programacin MELSEC A y Q

7 109

WTOB, WTOBP, BTOW, BTOWP


Fuentes de error

Instrucciones de procesamiento de datos

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad de grupos de bytes indicada con n, que se almacena a partir del operando indicado en s, se encuentra fuera del rango previsto para el almacenamiento. (cdigo de error 4101). La cantidad de grupos de bytes indicada con n, que se almacena a partir del operando indicado en d, se encuentra fuera del rango previsto para el almacenamiento. (cdigo de error 4101).

Ejemplo 1

WTOBP El siguiente programa con flanco positivo de X0, separa secuencialmente los 6 bytes en D10 a D12 y almacena estos bytes individualmente en los bytes de valor inferior en D20 a D25.
Lista de instrucciones MELSEC Plano de contactos Lista de instrucciones IEC

Ejemplo 2

BTOWP

WTOB_MB1, WTOB_KB1, WTOB_IB1, WTOB0B1

El siguiente programa con flanco positivo de X0, separa los 6 bytes de valor inferior de los registros D20 a D25 y une estos bytes secuencialmente en D10 a D12.
Lista de instrucciones MELSEC Plano de contactos Lista de instrucciones IEC

Estos bytes no se consideran en el procesamiento.


WTOB_MB2, WTOB_KB2, WTOB_IB2, BTOW0B1

7 110

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

MAX, MAXP, DMAX, DMAXP

7.5.10

MAX, MAXP, DMAX, DMAXP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d n

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MAX__ME1, MAX__KE1, MAX__IE1

GX Developer

MAX__GE1

Variables

Operando s d n

Valor de comando Primera direccin del operando en el cual estn almacenados los datos a buscar.

Tipo de datos

BIN 16/32 bits Primera direccin del operando en el cual se almacena el resultado de bsqueda del valor mximo. Cantidad de los bloques de datos a buscar. BIN 16 bits

Programacin MELSEC A y Q

7 111

MAX, MAXP, DMAX, DMAXP


Funcionamiento

Instrucciones de procesamiento de datos

Bsqueda de valores mximos en datos de 16/32 bits MAX Bsqueda de valores mximos en datos de 16 bits

La instruccin MAX busca en los bloques de datos de 16 bits por el valor ms grande. La cantidad de los bloques de datos a revisar se indica en n. En d se almacena el valor ms grande encontrado en s hasta s+(n-1). La posicin en s a s+(n-1), en la cual se presenta por primera vez el valor mximo, se cuenta empezando con s = 1 y se almacena en d+1. La cantidad de valores mximos idnticos y disponibles en s a s+(n-1), se almacena en d+2.

1 2

Valor mximo encontrado Posicin en la cual se encuentra el valor por primera vez 3 Cantidad de valores mximos idnticos
MAX_0E1

DMAX

Bsqueda de valores mximos en datos de 32 bits

La instruccin DMAX busca en los bloques de datos de 32 bits por el valor ms grande. La cantidad de los bloques de datos a revisar se indica en n. En d y d+1 se almacena el valor ms grande encontrado en s hasta s+(n-1). La posicin en s a s+(n-1), en la cual se presenta por primera vez el valor mximo, se almacena en d+2. La cantidad de valores mximos idnticos y disponibles en s a s+(n-1), se almacena en d+3.

1 2

Valor mximo encontrado Posicin en la cual se encuentra el valor por primera vez 3 Cantidad de valores mximos idnticos
DMAX_0E1

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad de bloques de datos indicada con n, almacenados en los operandos indicados en s, se encuentra fuera del rango previsto para el almacenamiento (cdigo de error 4101).

7 112

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

MAX, MAXP, DMAX, DMAXP

Ejemplo 1

MAXP El siguiente programa con flanco positivo de X1C, sustrae los datos en R0 a R3 de los datos en D100 a D103 y almacena el resultado en D150 a D153. En D0 se indica la cantidad de bloques de datos de 16 bits (4). En el siguiente paso, tambin con flanco positivo de X1C, se ejecuta una bsqueda en los registros D150 a D153 por el valor mximo. El valor encontrado se almacena en D200, la indicacin de la posicin en D201 y la cantidad de valores mximos idnticos en D202.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MAX__MB1, MAX__KB1, MAX__IB1, MAX_0B1

Ejemplo 2

DMAXP El siguiente programa con flanco positivo de X20, busca el valor mximo de los datos de 32 bits en D0 a D7 y almacena el valor encontrado en D100 y D101. La posicin del valor se almacena en D102 y la cantidad de los valores mximos idnticos en D103.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MAX__MB2, MAX__KB2, MAX__IB2, DMAX_0B1

Este ejemplo de programa 2 no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

7 113

MIN, MINP, DMIN, DMINP


7.5.11 MIN, MINP, DMIN, DMINP

Instrucciones de procesamiento de datos

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d n

FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MIN__ME1, MIN__KE1, MIN__IE1

GX Developer

MIN__GE1

Variables

Operando s d n

Valor de comando Primera direccin del operando en el cual estn almacenados los datos a buscar.

Tipo de datos

BIN 16/32 bits Primera direccin del operando en el cual se almacena el resultado de bsqueda del valor mnimo. Cantidad de los bloques de datos a buscar. BIN 16 bits

7 114

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

MIN, MINP, DMIN, DMINP

Funcionamiento

Bsqueda de valores mnimos en datos de 16/32 bits MIN Bsqueda de valores mnimos en datos de 16 bits

La instruccin MIN busca en los bloques de datos de 16 bits por el valor ms pequeo. La cantidad de los bloques de datos a revisar se indica en n. En d se almacena el valor ms pequeo encontrado en s hasta s+(n-1). La posicin en s a s+(n-1), en la cual se presenta por primera vez el valor mnimo, se cuenta empezando con s = 1 y se almacena en d+1. La cantidad de valores mnimos idnticos y disponibles en s a s+(n-1), se almacena en d+2.

1 2

Valor mnimo encontrado Posicin en la cual se presenta el valor por primera vez 3 Cantidad de valores mnimos idnticos
MIN_0E1

DMIN

Bsqueda de valores mnimos en datos de 32 bits

La instruccin DMIN busca en los bloques de datos de 32 bits por el valor ms pequeo. La cantidad de los bloques de datos a revisar se indica en n. En d y d+1 se almacena el valor ms pequeo encontrado en s hasta s+(n-1). La posicin en s a s+(n-1), en la cual se presenta por primera vez el valor mnimo, se almacena en d+2. La cantidad de valores mnimos idnticos y disponibles en s a s+(n-1), se almacena en d+3.

1 2

Valor mnimo encontrado Posicin en la cual se presenta el valor por primera vez 3 Cantidad de valores mnimos idnticos
DMIN_0E1

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La cantidad de bloques de datos de 32 bits indicada con n, almacenados en los operandos indicados en s y s+1, se encuentra fuera del rango previsto para el almacenamiento (cdigo de error 4101).

Programacin MELSEC A y Q

7 115

MIN, MINP, DMIN, DMINP


Ejemplo 1 MINP

Instrucciones de procesamiento de datos

El siguiente programa con flanco positivo de X1C, suma los datos en D100 a D103 a los datos en R0 a R3 y almacena el resultado en D150 a D153. En D0 se indica la cantidad de bloques de datos de 16 bits (4). En el siguiente paso, tambin con flanco positivo de X1C, se ejecuta una bsqueda en los registros D150 a D153 por el valor mnimo. El valor encontrado se almacena en D200, la indicacin de la posicin en D201 y la cantidad de valores mnimos idnticos en D202.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

MIN__MB1, MIN__KB1, MIN__IB1, MIN_0B1

Ejemplo 2

DMINP El siguiente programa con flanco positivo de X20, busca el valor mnimo de los datos de 32 bits en D0 a D7 y almacena el valor encontrado en D100 y D101. La posicin del valor se almacena en D102 y la cantidad de los valores mnimos idnticos en D103.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

INDICACIN

Este ejemplo de programa 2 no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

MIN__MB2, MIN__KB2, MIN__IB2, DMIN_0B1

7 116

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

SORT, SORTP, DSORT, DSORTP

7.5.12

SORT, SORTP, DSORT, DSORTP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s1 n s2 d1 d2


FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SORT_ME1, SORT_KE1, SORT_IE1

GX Developer

SORT_GE1

Variables

Operando s1 n s2 d1 d2

Valor de comando Primera direccin del operando en el cual estn almacenados los datos a clasificar. Cantidad de los bloques de datos a clasificar. Cantidad de bloques de datos que se comparan durante una operacin de clasificacin.

Tipo de datos BIN 16/32 bits BIN 16 bits BIN 16 bits

Direccin del bit que se activa despus de terminar la operacin de clasificacin. Bit Operando para la aplicacin interna del sistema. BIN 16 bits

Programacin MELSEC A y Q

7 117

SORT, SORTP, DSORT, DSORTP


Funcionamiento Clasificacin de datos de 16/32 bits SORT Clasificacin de datos de 16 bits

Instrucciones de procesamiento de datos

La instruccin SORT clasifica la cantidad indicada con n en los datos de 16 bits indicados en sl en secuencia ascendente o descendente. La direccin de clasificacin se define con el rel interno de diagnstico SM703. SM703 DESC: Direccin ascendente de clasificacin SM703 CON: Direccin descendente de clasificacin

1 2

Datos a clasificar Datos clasificados en secuencia ascendente (SM703 = DESC) 3 Datos clasificados en secuencia descendente (SM703 = CON)
SORT_0E1

Para la ejecucin de la instruccin SORT se requieren varias pasadas de clasificacin. La cantidad de pasadas requeridas de clasificacin se genera de la divisin de la cantidad mxima de pasadas de clasificacin por la cantidad de datos de 16 bits indicada en s2 que se comparan en una pasada de clasificacin (nmeros racionales fraccionados se redondean hacia arriba). Un aumento de la cantidad de datos de 16 bits indicados en s2, reduce la cantidad de pasadas requeridas de clasificacin con prolongacin simultnea del tiempo de procesamiento. La cantidad requerida de pasadas de clasificacin hasta terminar la operacin de clasificacin, se calcula en funcin de la siguiente ecuacin: Cantidad requerida de pasadas de clasificacin = ((n) x (n-1)) / (2 x (s2)) Por ejemplo, al aplicar n = 10 y s2 = 1 en la ecuacin, se obtienen 45 pasadas de clasificacin hasta terminar una operacin de clasificacin. El resultado con n = 10 y s2 = 2 entrega 22,5 pasadas de clasificacin. Mediante el redondeo del resultado hacia arriba, se obtienen 23 pasadas de clasificacin. El bit indicado en d1 se repone durante la operacin de clasificacin y se activa solamente despus de haber terminado la operacin de clasificacin. Este bit se mantiene activado y debe reponerse mediante la programacin respectiva. Los operandos indicados en d2+0 y d2+1 se utilizan para el procesamiento interno del sistema durante la operacin de clasificacin. Por lo tanto no deben modificarse estos operandos por la programacin. Al modificar el valor n durante la operacin de clasificacin, se ejecuta un procesamiento con la cantidad actualmente indicada de datos de 16 bits. El procesamiento se interrumpe con la reposicin de la condicin de ejecucin. En caso de una nueva activacin de la condicin de ejecucin, se inicia nuevamente la operacin de clasificacin.

7 118

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

SORT, SORTP, DSORT, DSORTP

DSORT Clasificacin de datos de 32 bits La instruccin SORT clasifica la cantidad indicada con n en los datos de 32 bits indicados en sl en secuencia ascendente o descendente. La direccin de clasificacin se define con el rel interno de diagnstico SM703. SM703 DESC: Direccin ascendente de clasificacin SM703 CON: Direccin descendente de clasificacin

1 2

Datos a clasificar Datos clasificados en secuencia ascendente (SM703 = DESC) 3 Datos clasificados en secuencia descendente (SM703 = CON)
DSORT0E1

Para la ejecucin de la instruccin DSORT se requieren varias pasadas de clasificacin. La cantidad de pasadas requeridas de clasificacin se genera de la divisin de la cantidad mxima de pasadas de clasificacin por la cantidad de datos de 32 bits indicada en s2 que se comparan en una pasada de clasificacin (nmeros racionales fraccionados se redondean hacia arriba). Un aumento de la cantidad de datos de 32 bits indicados en s2, reduce la cantidad de pasadas requeridas de clasificacin con prolongacin simultnea del tiempo de procesamiento. La cantidad requerida de pasadas de clasificacin hasta terminar la operacin de clasificacin, se calcula en funcin de la siguiente ecuacin: Cantidad requerida de pasadas de clasificacin = ((n) x (n-1)) / (2 x (s2)) Por ejemplo, al aplicar n = 10 y s2 = 1 en la ecuacin, se obtienen 45 pasadas de clasificacin hasta terminar una operacin de clasificacin. El resultado con n = 10 y s2 = 2 entrega 22,5 pasadas de clasificacin. Mediante el redondeo hacia arriba del resultado, se obtienen 23 pasadas de clasificacin. El bit indicado en d1 se repone durante la operacin de clasificacin y se activa solamente despus de haber terminado la operacin de clasificacin. Este bit se mantiene activado y debe reponerse mediante la programacin respectiva. Los operandos indicados en (d2)+0 y (d2)+1 se utilizan para el procesamiento interno del sistema durante la operacin de clasificacin. Por lo tanto no deben modificarse estos operandos por la programacin. Al modificar el valor n durante la operacin de clasificacin, se ejecuta un procesamiento con la cantidad actualmente indicada de datos de 32 bits. El procesamiento se interrumpe con la reposicin de la condicin de ejecucin. En caso de una nueva activacin de la condicin de ejecucin, se inicia nuevamente la operacin de clasificacin.

Programacin MELSEC A y Q

7 119

SORT, SORTP, DSORT, DSORTP


Fuentes de error

Instrucciones de procesamiento de datos

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El rango indicado con n o bien 2 x n en el operando indicado en s1, se encuentra fuera del rango previsto para el almacenamiento (cdigo de error 4101). El valor indicado en s2 es 0 o bien negativo (cdigo de error 4100). El valor en d2+0 es mayor al valor en n (cdigo de error 4101). El valor en d2+1 es mayor al valor en d2+0 (cdigo de error 4101).

Ejemplo

SORT El siguiente programa clasifica los datos de 16 bits en D1 a D4 durante la activacin de X3. En el primer paso con flanco positivo de X2, se cargan los valores 35, -10, 500 y -124 en los registros D1 a D4. A continuacin se ejecuta la clasificacin. La direccin de clasificacin se determina con X0 (activacin de SM703) y X1 (reposicin de SM703). Despus de terminar la operacin de clasificacin, se activa la salida Y10.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SORT_MB1, SORT_KB1, SORT_IB1

7 120

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

WSUM, WSUMP

7.5.13

WSUM, WSUMP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d n


FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WSUM_ME1, WSUM_KE1, WSUM_IE1

GX Developer

WSUM_GE1

Variables

Operando s d n

Valor de comando

Tipo de datos

Primera direccin del operando en el cual estn almacenados los datos a sumar. BIN 16 bits Primera direccin del operando en el cual se almacena el resultado. Cantidad de los bloques de datos a sumar. BIN 32 bits BIN 16 bits

Programacin MELSEC A y Q

7 121

WSUM, WSUMP
Funcionamiento

Instrucciones de procesamiento de datos

Formacin de sumas con datos binarios de 16 bits WSUM Instruccin para la formacin de sumas

La instruccin WSUM forma la suma con la cantidad indicada con n de los bloques de datos binarios de 16 bits en el operando indicado en s. El resultado se almacena en el operando indicado en d.

WSUM0E1

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El rango indicado con n en el operando indicado en s, se encuentra fuera del rango previsto para el almacenamiento (cdigo de error 4101).

Ejemplo

WSUMP El siguiente programa con flanco positivo de X1C, suma los bloques de datos binarios de 16 bits en D10 a D14 y almacena el resultado en D100 y D101.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WSUM_MB1, WSUM_KB1, WSUM_IB1, WSUM0B1

7 122

Programacin MELSEC A y Q

Instrucciones de procesamiento de datos

DWSUM, DWSUMP

7.5.14

DWSUM, DWSUMP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit s d n


FileRegister

MELSECNET/10 Directo J\ Bit

Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

DWSUMME1, DWSUMKE1, DWSUMIE1

GX Developer

DWSUMGE1

Variables
Operando s Valor de comando

Tipo de datos MELSEC Primera direccin del operando en el cual estn almacenados BIN 32 bits los datos a sumar. Primera direccin del operando en el cual se almacena el resultado. Cantidad de los bloques de datos a sumar. BIN 64 bits BIN 16 bits IEC ANY32 Secuencia de bits [1..4] de ANY16 ANY16

d n

Programacin MELSEC A y Q

7 123

DWSUM, DWSUMP
Funcionamiento

Instrucciones de procesamiento de datos

Formacin de sumas con datos binarios de 32 bits DWSUM Instruccin para la formacin de sumas La instruccin DWSUM forma la suma con la cantidad indicada con n de los bloques de datos binarios de 32 bits en el operando indicado en s. El resultado se almacena en el operando indicado en d (Array_d[1]) a d+3 (Array_d[4]).

DWSUM0E1

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El rango indicado con n en el operando indicado en s, se encuentra fuera del rango previsto para el almacenamiento (cdigo de error 4101).

Ejemplo

DWSUMP El siguiente programa con flanco positivo de X20, suma los bloques de datos binarios de 32 bits en D100 a D107 y almacena el resultado en D10 a D13.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

WSUM_MB2, WSUM_KB2, WSUM_IB2, DWSUM0B1

INDICACIN

Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

7 124

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

7.6

Instrucciones estructuradas de programa


Las instrucciones esctructuradas de programa ofrecen la posibilidad de llamar programas o rangos de programa o bien conmutar entre ellos. Otro componente de las instrucciones de programa son las instrucciones para el direccionamiento indexado y las instrucciones de repeticin. La siguiente tabla contiene una vista sinptica de todas las instrucciones.

Funcin

Instruccin MELSEC en el Editor MELSEC FOR NEXT

Instruccin MELSEC en el editor IEC FOR_M NEXT_M BREAK_MD BREAK_P_MD CALL_M CALLP_M RET_M FCALL_MD FCALL_P_MD ECALL_M ECALLP_M EFCALL_M EFCALLP_M CHG_M SUB_M SUBP_M IX_MD IXEND_MD IXDEV_M IXSET_M

Instrucciones de repeticin BREAK BREAKP CALL CALLP Llamada de subprograma RET FCALL FCALLP ECALL Llamada de subprograma entre archivos de programa (solo posible en el GX Developer) ECALLP EFCALL EFCALLP Conmutacin entre rea de programa principal y subprograma Llamada de programa de microcomputador Direccionamiento indexado de una parte completa de programa Almacenamiento de direcciones indexadas de operandos en un listado de ndice CHG SUB SUBP IX IXEND IXDEV IXSET

7.6.1

Programacin MELSEC A y Q

7 125

FOR, NEXT
7.6.1 FOR, NEXT

Instrucciones estructuradas de programa

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X n


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

3/1 1

La instruccin FOR requiere tres pasos y la instruccin NEXT requiere un paso. La cantidad de pasos en la utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros

Error Flag

Pasos

n
1

SM0

2/1 1

La instruccin FOR requiere dos pasos y la instruccin NEXT requiere un paso.

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FOR__ME1, FOR__KE1, FOR__IE1

GX Developer

FOR_GE1

Variables

Operando n

Valor de comando Cantidad de pasadas del bucle FOR-NEXT (entre 1 y 32767)

Tipo de datos BIN 16 bits

7 126

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

FOR, NEXT

Funcionamiento

Bucle de instruccin FOR a NEXT FOR, NEXT Combinacin de instrucciones

La combinacin de instrucciones FOR-NEXT posibilita la repeticin de secuencias individuales de programa sin definicin de una condicin de entrada. En esto se repite la parte de programa que se encuentra entre FOR y NEXT. La cantidad de repeticiones se define en n. Despus de ejecutar n veces la combinacin de instruccin FOR-NEXT, se ejecuta el siguiente paso de la instruccin NEXT. Para n puede ajustarse un valor entre 1 y 32767. En caso que en n se encuentra un 0 o bien si se ha ajustado un valor negativo, n asume el valor de 1. Con esto, el bucle se ejecuta al menos una vez. En caso que no deba ejecutarse la secuencia de programa entre FOR y NEXT, puede omitirse el bucle FOR-NEXT con una instruccin de salto (CJ o SCJ). En total pueden anidarse hasta 16 niveles (Serie A = 5 niveles) de la instruccin FOR entre s. La siguiente ilustracin muestra el prinicipio del anidamiento.

FOR__AB1

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La instruccin END/FEND se ejecuta despus de la ejecucin de la instruccin FOR, pero antes de procesar la instruccin NEXT (Serie Q/System Q = Cdigo de error 4200). La instruccin NEXT se ejecuta antes de la instruccin FOR (Serie Q/System Q = Cdigo de error 4201). La cantidad deinstrucciones FOR no coincide con la cantidad de instrucciones NEXT. Una instruccin JMP se ejecuta dentro del bucle FOR-NEXT cuyo destino de salto se encuentra fuera del bucle FOR-NEXT. Una instruccin STOP se encuentra dentro del bucle FOR-NEXT (Serie Q/System Q = Cdigo de error 4200). Sobrepaso de la profundidad permitida de anidamiento (Serie Q/System Q = Cdigo de error 4202).

Programacin MELSEC A y Q

7 127

FOR, NEXT

Instrucciones estructuradas de programa

INDICACIN

Para interrumpir la ejecucin del bucle de instruccin FOR a NEXT antes de terminar el bucle, debe programarse una instruccin BREAK (solo para Serie Q y System Q). Utilice una instruccin EGP/EGF para enlazar la instruccin FOR-NEXT con una condicin de conmutacin (solo para Serie Q).

Ejemplo

El siguiente programa ejecuta una parte del programa entre FOR y NEXT 4 veces secuenciales en caso de no estar activado el X8. Se omite el bucle FOR-NEXT en caso de activacin del X8.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FOR__MB1, FOR__KB1, FOR__IB1

7 128

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

BREAK, BREAKP

7.6.2

BREAK, BREAKP

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Esta instruccin extendida puede programarse con una CPU AnA y AnU en el editor IEC como componente normal (funcin) y en el editor MELSEC en relacin con las instrucciones LEDA, -C y -R.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes K, H (16#)

Otros P

Error Flag

Pasos

d p

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC (Instruccin IEC)

BREAKME1, BREAKKE1, BREAKIE1

GX Developer

BREAKGE1

Variables

Operando d p

Valor de comando Operando en el cual se almacena la cantidad restante de pasadas de bucle FOR-NEXT.

Tipo de datos BIN 16 bits

Direccin (puntero/etiqueta) hacia la cual se salta despus de la ejecucin de la Puntero/ instruccin. Etiqueta

Programacin MELSEC A y Q

7 129

BREAK, BREAKP
Funcionamiento

Instrucciones estructuradas de programa

Terminacin del bucle FOR-NEXT durante la ejecucin BREAK Terminacin de la ejecucin FOR-NEXT La instruccin BREAK interrumpe el bucle FOR-NEXT durante la ejecucin y salta al puntero/ rtulo indicado en p.

BREAKAB1

La cantidad de los bucles FOR-NEXT pendientes para la ejecucin se almacena en el operando indicado en d. En el valor almacenado en d, se considera la cantidad de ejecuciones de las instrucciones BREAK. La instruccin BREAK puede utilizarse solamente durante la ejecucin de un bucle FORNEXT. La instruccin BREAK puede utilizarse solamente en un nivel de anidamiento. En caso de varios niveles de anidamiento debe ejecutarse una cantidad equivalente de instrucciones BREAK.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La instruccin BREAK ha sido utilizada sin bucle FOR-NEXT (cdigo de error 4203). En el puntero/etiqueta indicado, no existe ninguna rutina de subprograma. (cdigo de error 4210).

7 130

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

BREAK, BREAKP

Ejemplo

BREAKP El siguiente programa interrumpe la ejecucin del bucle FORT-NEXT en su repeticin N 30 y salta a la parte de programa marcada con Label_0. La cantidad de ejecuciones restantes de los bucles FOR-NEXT (70) se almacena en D1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

BREAKMB1, BREAKKB1, BREAKIB1

Programacin MELSEC A y Q

7 131

CALL, CALLP
7.6.3 CALL, CALLP

Instrucciones estructuradas de programa

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X p


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

3 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit p Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

CALL_ME1, CALL_KE1

GX Developer

CALL_GE1

Variables

Operando pn

Valor de comando Direccin (puntero/etiqueta) del subprograma.

Tipo de datos Puntero/ Etiqueta

INDICACIN

La instruccin CALL no debe utilizarse en los editores IEC ya que la estructura de subprograma se genera por el GX IEC Developer.

7 132

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

CALL, CALLP

Funcionamiento

Llamada de una rutina de subprograma CALL Llamada de una rutina de subprograma

La llamada de una rutina de subprograma con una instruccin CALL se ejecuta mediante indicacin de la direccin de puntero Pxx de la rutina de subprograma en el MELSEC MEDOC o bien mediante indicacin de la etiqueta en la rutina de subprograma en el GX IEC Developer. La direccin de puntero (etiqueta) puede encontrarse en la serie A entre P(etiqueta)0 y P(etiqueta)255 y en la serie Q o bien el System Q entre P(Label)0 y P(Label)4095. La programacin de la direccin de puntero (etiqueta) se ejecuta en funcin de las indicaciones para las instrucciones de salto (vase CJ, SCJ, JMP).

CALL0E1

Rutina de programa principal 2 Rutina de subprograma

La instruccin CALL llama la rutina de subprograma indicada con la direccin de puntero (etiqueta). En la programacin de la instruccin CALL pueden efectuarse en total hasta 5 anidamientos de subprograma en la serie A o bien 16 anidamientos de subprograma en la serie Q y en el System Q. Operandos que se activaron durante la ejecucin de una rutina de subprograma, se mantienen activados incluso en caso que esta rutina ya no sigue ejecutndose. Para reponer estos operandos, debe utilizarse la instruccin FCALL.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Despus de la ejecucin de una instruccin CALL se ejecuta una instruccin END, FEND, GOEND o STOP sin que se haya ejecutado previamente una instruccin RET (Serie Q/System Q = Cdigo de error 4211). Una instruccin RET se ejecuta antes de instruccin CALL (Serie Q/System Q = Cdigo de error 4212). Se ejecutan ms de 5 anidamientos (serie A) o bien ms de 16 anidamientos (serie Q/ System Q) (Serie Q/System Q = Cdigo de error 4213). En el puntero/etiqueta indicado, no existe ninguna rutina de subprograma (Serie Q/System Q = Cdigo de error 4210). En una instruccin CALL se indica una direccin de puntero (etiqueta) superior a P(etiqueta) 255 (Serie A). La subrutina se abandona con una instruccin JMP antes de ejecutar una instruccin RET (serie A).

Programacin MELSEC A y Q

7 133

CALL, CALLP
Ejemplo CALL

Instrucciones estructuradas de programa

En el siguiente ejemplo se ejecuta la rutina de subprograma en el puntero/etiqueta P_0 durante la activacin de X20.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

CALL_MB1, CALL_KB1

INDICACIN

En el modo MELSEC deben programarse las instrucciones FEND, END y RET por el usuario. Despus de haber procesado la unidad respectiva de organizacin de programa, no se ejecuta ninguna otra ms, ya que se encuentra despus de la instruccin FEND, END o RET. Una alternativa para esta programacin es la programacin en el editor IEC. En este caso se activan automticamente las instrucciones FEND, END y RET por el GX IEC Developer.

7 134

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

RET

7.6.4

RET

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag M9012

Error Flag M9010 M9011

1 1
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit Palabra FileRegister MELSECNET/10 Directo J\ Bit Mdulos Registro especiales de ndice Zn Palabra U\G Constantes Otros Error Flag Pasos

Operandos MELSEC Q

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

RET__ME1, RET__KE1

GX Developer

RET__GE1

Variables

Operando

Valor de comando

Tipo de datos

Programacin MELSEC A y Q

7 135

RET
Funcionamiento Fin de una rutina de subprograma RET Salto de retorno al programa principal

Instrucciones estructuradas de programa

Mediante una instruccin RET se identifica el fin de una rutina de subprograma. El salto de retorno al programa principal se ejecuta en el paso de programa que sigue a la instruccin CALL, FCALL, ECALL o EFCALL.

RET_0E1

Rutina de programa principal 2 Rutina de subprograma

INDICACIN

Entre la instruccin RET en el subprograma y la instruccin END en el programa principal debe programarse siempre una instruccin NOP, ya que de otro modo la CPU no ejecuta correctamente el programa (solo para serie A). En la lista de instrucciones MELSEC deben programarse las instrucciones FEND, END y RET por el usuario. Despus de haber procesado la unidad respectiva de organizacin de programa, no se ejecuta ninguna otra ms, ya que se encuentra despus de la instruccin FEND, END o RET. Una alternativa para esta programacin es la programacin en el editor IEC. En este caso se activan automticamente las instrucciones FEND, END y RET por el GX IEC Developer.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Despus del procesamiento de una instruccin CALL se ejecuta una instruccin END, FEND, GOEND o STOP antes de la ejecucin de una instruccin RET (Serie Q/System Q = Cdigo de error 4211). Una instruccin RET se ejecuta antes de instruccin CALL (Serie Q/System Q = Cdigo de error 4212).

7 136

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

FCALL, FCALLP

7.6.5

FCALL, FCALLP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Operador) Bit p Palabra


FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes

Otros

Error Flag

Pasos

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FCALLME1, FCALLKE1

GX Developer

FCALLGE1

Variables

Operando pn

Valor de comando Direccin (puntero/etiqueta) del subprograma

Tipo de datos Puntero/ Etiqueta

INDICACIN

Estas instrucciones no pueden programarse en el GX IEC Developer.

Programacin MELSEC A y Q

7 137

FCALL, FCALLP
Funcionamiento

Instrucciones estructuradas de programa

Reposicin de las salidas en las rutinas de subprograma FCALL Reposicin de las salidas (utilizacin con la instruccin CALL) Mediante la reposicin de la condicin de ejecucin de la instruccin FCALL se conmutan los contactos y las bobinas de la rutina de subprograma indicada en p (puntero/rtulo) a un estado como que no ha sido activada la condicin de ejecucin correspondiente de la instruccin respectiva para un contacto o una bobina.

FCALL0E1

Rutina de programa principal 2 Rutina de subprograma

El estado de las bobinas y de los contactos despus de la ejecucin de la instruccin FCALL o bien el estado que asumen las bobinas los contactos en caso de no activarse la condicin de ejecucin de la instruccin respectiva, se indica a continuacin:

Instrucciones Instruccin OUT Instruccin SET Instruccin RST Instruccin SFT Instrucciones de aplicacin II Instrucciones de aplicacin 2 Instruccin PLS Instrucciones con generacin de un impulso de salida Valores de ajuste de temporizadores lentos y rpidos Valores de ajuste de temporizadores remanentes

Estado de los contactos y de las bobinas Se reponen todos los contactos y bobinas referidos por la instruccin OUT.

Los contactos y las bobinas referidos por las instrucciones, mantienen su estado.

Los contactos y las bobinas referidos por estas instrucciones, asumen un estado idntico a la no aplicacin de las condiciones de ejecucin de las instrucciones. Los valores de ajuste se ajustan en 0. Se mantienen los valores de ajuste.

Valores de ajuste de contadores

La instruccin FCALL ha sido utilizada en combinacin con la instruccin CALL.

7 138

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

FCALL, FCALLP

En la siguiente visualizacin se indica un programa que utiliza las instrucciones CALL y FCALL. Las ilustraciones en el lado derecho indican los diagramas de estado de seal de los diferentes contactos referenciados por las diferentes instrucciones. La ilustracin en el lado superior derecho indica el estado de estos contactos sin utilizacin de la instruccin FCALL, mientras que la ilustracin en el lado derecho inferior indica el estado con utilizacin de la instruccin FCALL. En caso de una utilizacin exclusiva de la instruccin CALL se mantienen los estados de los contactos y de las bobinas referenciados en la rutina del subprograma, despus de la reposicin de la condicin de ejecucin de la instruccin CALL (vase la ilustracin en el lado derecho superior). Mediante la utilizacin de la instruccin FCALL se reponen los estados de los contactos y de las bobinas referenciados en la rutina del subprograma, despus de la reposicin de la condicin de ejecucin de la instruccin FCALL (vase la ilustracin en el lado derecho inferior). Esto se aplica tambin para las bobinas y los contactos que se refieren mediante una instruccin OUT, PLS o bien una instruccin para la generacin de impulsos.

Los contactos se reponen en estos puntos.


FCALLAB1, FCALL0E2, FCALL0E3

La instruccin FCALL llama la rutina de subprograma indicada con la direccin de puntero (etiqueta). En total pueden efectuarse hasta 16 anidamientos de subprogramas en la programacin de la instruccin FCALL. Fuentes de error En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Despus de la ejecucin de una instruccin FCALL se ejecuta una instruccin END, FEND, GOEND o STOP sin que se haya ejecutado previamente una instruccin RET (cdigo de error 4211). Una instruccin RET se ejecuta antes de instruccin FCALL (cdigo de error 4212). Se ejecutan ms de 16 anidamientos (cdigo de error 4213). En el puntero/etiqueta indicado, no existe ninguna rutina de subprograma (cdigo de error 4210).

Programacin MELSEC A y Q

7 139

FCALL, FCALLP
Ejemplo FCALL

Instrucciones estructuradas de programa

En el siguiente ejemplo se ejecuta la rutina de subprograma en la direccin del puntero (etiqueta) P_0 durante la activacin de X20. Mediante la aplicacin de la instruccin FCALL se repone tambin la salida Y11 al reponer el X20 (1).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FCALLMB1, FCALLKB1, FCALL0B1

7 140

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

ECALL, ECALLP

7.6.6

ECALL, ECALLP

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit p

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes

Otros

Error Flag

Pasos

s1 s2 s3 s4 s5
1

SM0 3

1 1 1 1

No es posible utilizar rels internos de errores (F).

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ECALLME1, ECALLKE1

GX Developer

ECALLGE1

Variables

Operando Nombre del archivo pn

Valor de comando Nombre del archivo del subprograma en el cual se encuentra la rutina de subprograma a llamar. Primera direccin (puntero/etiqueta) de la rutina del subprograma.

Tipo de datos Secuencia de caracteres Puntero/ Etiqueta Bit BIN 32 bits BIN 32 bits

s1 a s5

Operandos que se transmiten con el subprograma

INDICACIN

Estas instrucciones no pueden programarse en el GX IEC Developer.

Programacin MELSEC A y Q

7 141

ECALL, ECALLP
Funcionamiento

Instrucciones estructuradas de programa

Llamada de una rutina de subprograma en un archivo de programa ECALL Llamada de una rutina de subprograma La llamada de una rutina de subprograma en un archivo de programa con una instruccin ECALL se efecta mediante la indicacin del nombre de archivo del archivo de programa y mediante la indicacin del rtulo de la rutina de subprograma. La direccin del puntero (etiqueta) puede encontrarse entre P(etiqueta)0 y P(etiqueta)4095. La programacin de la direccin de puntero (etiqueta) se ejecuta en funcin de las indicaciones para las instrucciones de salto (vase CJ, SCJ, JMP).

ECALL0E1

Rutina de programa principal en un archivo de programa. "Principal" 2 Rutina de subprograma en un archivo de programa: "ABC"

Como nombre de archivo pueden indicarse solamente los nombres de los archivos de programa que se almacenaron en la memoria interna (unidad de disco 0). En la llamada de los archivos de programa con nombre de archivo, no es necesario indicar las extensiones. La instruccin ECALL llama la rutina de subprograma indicada con la direccin de puntero (etiqueta). En total pueden efectuarse hasta 16 anidamientos de subprogramas en la programacin de la instruccin ECALL. Operandos que se activaron durante la ejecucin de una rutina de subprograma, se mantienen activados incluso en caso que esta rutina ya no sigue ejecutndose. Para reponer estos operandos, debe utilizarse la instruccin EFCALL. En caso que el subprograma utiliza entradas, salidas o registros de funcin (FX, FY y FD), pueden transmitirse operandos con las variables s1 a s5. Antes de la ejecucin del subprograma se transmiten los operandos de bit a las entradas de funcin y los operandos de palabra a los registros de funcin. Despus de procesar el subprograma, se transmiten los estados o bien los contenidos de FY y FD a los operandos indicados. Los datos que puede recibir un registro de funcin, dependen de los operandos indicados en s1 a s5: En el caso de constantes, registros de ndice u operandos de bit con direccionamiento por bloque, puede recibirse un mximo de 2 palabras, mientras que se puede recibir un mximo de 4 palabras con operandos de palabra. Por ejemplo, al indicar el operando D0 en s2, se almacenan D0, D1, D2 y D3 en FD1. La cantidad de entradas, salidas y registros de funcin que se utilizan por el subprograma, debe coincidir con los operandos transmitidos en s1 a s5 al activar la instruccin ECALL. Los operandos de funcin deben ser idnticos con los tipos de operandos transmitidos por la instruccin ECALL. No deben intercalarse los operandos indicados en s1 a s5.

7 142

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

ECALL, ECALLP

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Despus de la ejecucin de una instruccin ECALL se ejecuta una instruccin END, FEND, GOEND o STOP sin que se haya ejecutado previamente una instruccin RET (cdigo de error 4211). Una instruccin RET se ejecuta antes de instruccin ECALL (cdigo de error 4212). Se ejecutan ms de 16 anidamientos (cdigo de error 4213). En el puntero/etiqueta indicado, no existe ninguna rutina de subprograma (cdigo de error 4210). En s1 a s5 se indic una entrada de funcin (FX), una salida de funcin (FY) o un registro de funcin (cdigo de error 4101). No existe el archivo de programa indicado (cdigo de error 4210). No pudo ejecutarse el archivo de programa indicado (cdigo de error 2411).

Ejemplo

ECALL En el siguiente ejemplo se ejecuta la rutina de subprograma en el puntero/etiqueta P_0 durante la activacin de X20, en el archivo de programa ABC.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

ECALLMB1, ECALLKB1, ECALLIB1

Programacin MELSEC A y Q

7 143

EFCALL, EFCALLP
7.6.7 EFCALL, EFCALLP

Instrucciones estructuradas de programa

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos internos (Sistema, Operador) Bit p

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos Registro especiales de ndice Zn Palabra U\G


Constantes

Otros

Error Flag

Pasos

s1 s2 s3 s4 s5
1

SM0 3

1 1 1 1

No es posible utilizar rels internos de errores (F).

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EFCALME1, EFCALKE1

GX Developer

EFCALGE1

Variables

Operando Nombre del archivo pn

Valor de comando Nombre del archivo del subprograma en el cual se encuentra la rutina de subprograma a llamar. Direccin (puntero/etiqueta) de la rutina del subprograma.

Tipo de datos Secuencia de caracteres Puntero/ Etiqueta Bit BIN 32 bits BIN 32 bits

s1 a s5

Operandos que se transmiten con el subprograma

INDICACIN

Estas instrucciones no pueden programarse en el GX IEC Developer.

7 144

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

EFCALL, EFCALLP

Funcionamiento

Reposicin de las salidas en las rutinas de subprograma en los archivos de programa EFCALL Reposicin de las salidas (utilizacin con la instruccin ECALL)

Mediante la reposicin de la condicin de ejecucin de la instruccin EFCALL se conmutan los contactos y las bobinas de la rutina de subprograma indicada en p (puntero/rtulo) en el archivo de programa indicado con el nombre de archivo, a un estado como que no ha sido activada la condicin de ejecucin correspondiente de la instruccin respectiva para un contacto o una bobina. La instruccin EFCALL ejecuta las rutinas de subprograma que se encuentran dentro de un archivo de programa diferente al archivo del cual se activan. El estado de las bobinas y de los contactos despus de la ejecucin de la instruccin EFCALL o bien el estado que asumen las bobinas los contactos en caso de no activarse la condicin de ejecucin de la instruccin respectiva, se indica a continuacin:

Instrucciones Instruccin OUT Instruccin SET Instruccin RST Instruccin SFT Instrucciones de aplicacin 1 Instrucciones de aplicacin 2 Instruccin PLS Instrucciones con generacin de un impulso de salida Valores de ajuste de temporizadores lentos y rpidos Valores de ajuste de temporizadores remanentes

Estado de los contactos y de las bobinas Se reponen todos los contactos y bobinas referidos por la instruccin OUT.

Los contactos y las bobinas referidos por las instrucciones, mantienen su estado.

Los contactos y las bobinas referidos por estas instrucciones, asumen un estado idntico a la no aplicacin de las condiciones de ejecucin de las instrucciones. Los valores de ajuste se ajustan en 0. Se mantienen los valores de ajuste.

Valores de ajuste de contadores

La instruccin EFCALL ha sido utilizada en combinacin con la instruccin ECALL.

En la siguiente visualizacin se indica un programa que utiliza las instrucciones ECALL y EFCALL.

Lista de instrucciones MELSEC

Plano de contactos

EFCALAB1, EFCALAB2

Programacin MELSEC A y Q

7 145

EFCALL, EFCALLP

Instrucciones estructuradas de programa

En caso que el subprograma utiliza entradas, salidas o registros de funcin (FX, FY y FD), pueden transmitirse operandos con las variables s1 a s5. Antes de la ejecucin del subprograma se transmiten los operandos de bit a las entradas de funcin y los operandos de palabra a los registros de funcin. Despus de procesar el subprograma, se transmiten los estados o bien los contenidos de FY y FD a los operandos indicados. Los datos que puede recibir un registro de funcin, dependen de los operandos indicados en s1 a s5: En el caso de constantes, registros de ndice u operandos de bit con direccionamiento por bloque, puede recibirse un mximo de 2 palabras, mientras que se puede recibir un mximo de 4 palabras con operandos de palabra. Por ejemplo, al indicar el operando D0 en s2, se almacenan D0, D1, D2 y D3 en FD1. La cantidad de entradas, salidas y registros de funcin que se utilizan por el subprograma, debe coincidir con los operandos transmitidos en s1 a s5 al activar la instruccin EFCALL. Los operandos de funcin deben ser idnticos con los tipos de operandos transmitidos por la instruccin EFCALL. No deben intercalarse los operandos indicados en s1 a s5.

La instruccin EFCALL llama la rutina de subprograma indicada con la direccin de puntero (etiqueta). En total pueden efectuarse hasta 16 anidamientos de subprogramas en la programacin de la instruccin EFCALL.

7 146

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

EFCALL, EFCALLP

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Despus de la ejecucin de una instruccin EFCALL se ejecuta una instruccin END, FEND, GOEND o STOP sin que se haya ejecutado previamente una instruccin RET (cdigo de error 4211). Una instruccin RET se ejecuta antes de instruccin EFCALL (cdigo de error 4212). Se ejecutan ms de 16 anidamientos (cdigo de error 4213). En el puntero/etiqueta indicado, no existe ninguna rutina de subprograma (cdigo de error 4210). En s1, s2, s3, s4 s5 se indic un rel interno de errores (F) (cdigo de error 4101). No existe el archivo de programa indicado (cdigo de error 4210). No pudo ejecutarse el archivo de programa indicado (cdigo de error 2411).

Ejemplo

EFCALL En el siguiente ejemplo se ejecuta la rutina de subprograma en la direccin del puntero/ etiqueta P_0 durante la activacin de X20, en el archivo de programa ABC. Mediante utilizacin de la instruccin EFCALL se repone tambin la salida Y11 (1) al reponer X20.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

EFCALMB1, EFCALKB1, EFCALIB1

Programacin MELSEC A y Q

7 147

CHG
7.6.8 CHG

Instrucciones estructuradas de programa

CPU
1 2

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Solamente para CPUs de A3N Solamente para CPUs de A3A 3 Solamente para CPUs de A3U
Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K Punter Nivel o I N Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag

Error Flag

M9012 M9010 M9011


1

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

CHG__ME1, CHG__KE1, CHG__IE1

Variables

Operando

Valor de comando

Tipo de datos

7 148

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

CHG

Funcionamiento

Conmutacin entre rea de programa principal y subprograma CHG Instruccin de conmutacin

La instruccin CHG permite una conmutacin entre el rea de programa principal y subprograma al cumplirse la condicin de entrada. La conmutacin se ejecuta despus de procesar los procesadores y contadores, as como despus de un autodiagnstico.

1 2

Procesamiento de temporizador y contador, autodiagnstico Programa de ejecucin


CHG_0E1

Programacin MELSEC A y Q

7 149

CHG

Instrucciones estructuradas de programa

Conmutacin entre rea de programa principal y subprograma CHG Utilizacin de una CPU de A3 En caso de utilizar una CPU de A3 se ejecuta la instruccin CHG solamente con flanco ascendente de la condicin de entrada. El resultado de procesamiento de la condicin de entrada depende del estado del rel interno especial M9050. El significado de la instruccin CHG se modifica por lo tanto en funcin del estado del M9050. El rel interno especial M9050 no puede utilizarse en combinacin con una NCPU de A3. La NCPU de A3 se comporta de tal modo como que se habra activado el M9050. La siguiente indicacin muestra en la parte superior una instruccin CHG programada. Esta parte del programa se encuentra delante una instruccin END o FEND en el rea de memoria principal o inferior. En la parte inferior se indican los respectivos transcursos de seal. El transcurso izquierdo de seal no se aplica con un rel interno activo M9050, mientras que el transcurso derecho de seal no se aplica con un rel interno activo M9050. La tabla siguiente explica el procesamiento en funcin del estado de activacin del X0.

CHG__AB1, CHG_0E2, CHG_0E3

La ejecucin de la instruccin CHG en el rea principal se marca con 14, el subrea se marca con 15 y la ejecucin de la instruccin CHG se marca con 16.

Estado de M9050 Estado de X0 NO ACTIVADO 0 Sin conmutacin entre rea de memoria principal y subrea (4, 5, 11). La instruccin CHG se ejecuta con cada ciclo de programa y conmuta entre rea de programa principal y subrea (2, 3, 7, 8, 9, 10). Conmutacin entre rea de memoria principal y subrea (1, 6, 12). ACTIVADO Sin conmutacin entre rea de memoria principal y subrea (4, 5, 11). Se conmuta solamente entre el rea de memoria principal y subrea y nuevamente al rea de memoria principal cuando se cumple la condicin de entrada (flanco positivo de X0) (2). Conmutacin entre rea de memoria principal y subrea (1, 6, 12).

01

Despus de la ejecucin de la instruccin CHG se ejecuta el procesamiento END en el programa actual. El procesamiento se inicia con el paso 0 del otro programa. El GX IEC Developer conmuta automticamente al final del rea de memoria principal y subrea.

7 150

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

CHG

Instruccin CHG en combinacin con una instruccin PLS CHG Utilizacin de una CPU de A3 En caso de utilizar una CPU de A3 depende el modo de ejecucin de la instruccin PLS del estado del rel interno especial M9050. El rel interno especial M9050 no puede utilizarse en combinacin con una NCPU de A3. La NCPU de A3 se comporta de tal modo como que se habra activado el M9050. La siguiente indicacin muestra en la parte superior una instruccin PLS programada. Esta parte del programa se encuentra al inicio del programa (paso 0) del rea de programa principal y subrea. En la parte inferior se indican los respectivos transcursos de seal. El transcurso izquierdo de seal no se aplica con un rel interno activo M9050, mientras que el transcurso derecho de seal no se aplica con un rel interno activo M9050. La tabla siguiente explica el procesamiento en funcin del estado de activacin del X0.

CHG__AB2, CHG_0E4, CHG_0E5

El procesamiento del rea principal se marca con un 1, el procesamiento del subrea con un 2 y la duracin de un ciclo con un 3.

Estado de M9050 Estado de X0 NO ACTIVADO 0 Sin activacin de M0. M0 se activa solamente durante el primer ciclo despus de la conmutacin del programa con una instruccin CHG. M0 se activa solamente para un ciclo de programa. ACTIVADO Sin activacin de M0. M0 se activa despus de la activacin de X0 durante el primer ciclo del programa en el subrea al cual se conmut con una instruccin CHG. M0 se activa solamente para un ciclo de programa.

01

Programacin MELSEC A y Q

7 151

CHG

Instrucciones estructuradas de programa

Instruccin CHG en combinacin con una instruccin pulsada CHG Utilizacin de una CPU de A3 En caso de utilizar una CPU de A3 depende el modo de ejecucin de la instruccin pulsada del estado del rel interno especial M9050. El rel interno especial M9050 no puede utilizarse en combinacin con una NCPU de A3. La NCPU de A3 se comporta de tal modo como que se habra activado el M9050. La siguiente indicacin muestra en la parte superior una instruccin pulsada y programada. Esta parte del programa se encuentra al inicio del programa (paso 0) del rea de programa principal y subrea. En la parte inferior se indican los respectivos transcursos de seal. El transcurso izquierdo de seal no se aplica con un rel interno activo M9050, mientras que el transcurso derecho de seal no se aplica con un rel interno activo M9050. La tabla siguiente explica el procesamiento en funcin del estado de activacin del X0.

CHG__AB3, CHG_0E10, CHG_0E11

El procesamiento del rea principal se marca con un 1, el procesamiento del subrea con un 2 y la duracin de un ciclo con un 3.

Estado de M9050 Estado de X0 NO ACTIVADO 0 No se ejecuta la instruccin MOVP. La instruccin MOVP se ejecuta solamente durante el primer ciclo despus de la conmutacin del programa con una instruccin CHG. Se ejecuta una vez la instruccin MOVP. ACTIVADO No se ejecuta la instruccin MOVP. La instruccin MOVP se ejecuta despus de la activacin de X0 durante el primer ciclo del programa en el subrea al cual se conmut con una instruccin CHG. Se ejecuta una vez la instruccin MOVP.

1 01

7 152

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

CHG

Instruccin CHG y modo de conteo de los contadores CHG Utilizacin de una CPU de A3 En la utilizacin de una CPU de A3 depende el modo de conteo de un contador, del estado del rel interno especial M9050, mientras todas las dems condiciones de entrada permanezcan sin modificacin alguna. El rel interno especial M9050 no puede utilizarse en combinacin con una NCPU de A3. La NCPU de A3 se comporta de tal modo como que se habra activado el M9050. La siguiente indicacin muestra en la parte superior una instruccin de contador programada. Esta parte del programa se encuentra al inicio del programa (paso 0) del rea de programa principal y subrea. En la parte inferior se indican los respectivos transcursos de seal. El transcurso izquierdo de seal no se aplica con un rel interno activo M9050, mientras que el transcurso derecho de seal no se aplica con un rel interno activo M9050. La tabla siguiente explica el procesamiento en funcin del estado de activacin del X0.

CHG__AB4, CHG_0E6, CHG_0E7

El procesamiento en el rea principal se marca con un 1, el procesamiento en el subrea con un 2, el contacto con C0 con 3, el valor nominal de C0 con 4 y la duracin de un ciclo con 5.

Estado de M9050 Estado de X0 NO ACTIVADO 0 No se modifica el valor real del contador. El valor real del contador se aumenta por el valor de 1 despus de END (FEND, CHG) durante el primer ciclo despus de la conmutacin de programa mediante una instruccin CHG. ACTIVADO No se modifica el valor real del contador. Despus de la activacin de X0 se aumenta por el valor de 1, el valor real del contador despus de END (FEND, CHG) durante el primer ciclo del programa en el subrea mediante la instruccin CHG.

01

El valor real del contador se aumenta por 1 El valor real del contador se aumenta por 1 despus de la ejecucin de una instruccin END despus de la ejecucin de una instruccin END (FEND, CHG). (FEND, CHG).

Programacin MELSEC A y Q

7 153

CHG

Instrucciones estructuradas de programa

Instruccin CHG y transcurso de tiempo de los temporizadores Todas las CPUs que pueden procesar una instruccin CHG, disponen de dos reas de memoria para los valores nominales de temporizador. En esto se reserva un rea de memoria para el rea principal (MAIN) y otro rea para el subrea (SUB). Esto significa que el procesamiento de los temporizadores puede ejecutarse solamente en funcin del rea de programa actualmente procesado (rea de memoria principal o subrea). Los valores nominales de los temporizadores que no se procesan actualmente, se ajustan en el valor "0" de los reas respectivos de memoria. Un valor nominanl de "0" correspone a un valor infinitamente grande de modo que el temporizador no puede vencer. Al ejecutar la instruccin CHG en el programa actual para la conmutacin al rea principal/ subrea de memoria despus del arranque de un temporizador, no se continua procesando el temporizador en la parte conmutada del programa. Esto se debe a que el temporizador ha sido programado en el programa actual y que el valor nominal se considera como "0" en el programa conmutado. Despus de la nueva conmutacin al programa actual se continua con el procesamiento del temporizador. El temporizador se ejecuta cuando el valor real es mayor al valor nominal o inferior a 0. Despus de la ejecucin del temporizador se activa el contacto del temporizador.

Instruccin CHG y procesamiento de instrucciones OUT. Las CPUs que pueden procesar una instruccin CHG, conmutan los contactos de salida en funcin de la parte de programa que se procesa actualmente. Los contactos de salida mantienen su estado despus de la conmutacin de la parte actual de programa a la otra parte de programa (rea principal/subrea). El estado se mantiene tambin en caso de modificarse la condicin de entrada. La siguiente indicacin muestra en la parte superior una instruccin OUT programada. Esta parte de programa se encuentra en el rea principal de memoria. La salida Y70 no se utiliza en el subrea de memoria.

CHG__AB6, CHG_0E9

En la parte inferior se indican los respectivos transcursos de seal. El procesamiento del rea principal se marca con 1 y el procesamiento del subrea con 2. La salida Y70 se activa o bien desactiva el en procesamiento del rea principal en funcin de la condicin de entrada X0. Durante el procesamiento del subrea se mantiene sin alteracin el estado de Y70 incluso al modificarse la condicin de entrada.

7 154

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

CHG

Ejemplo 1

CHG (A3CPU) Para un procesamiento correcto de la instruccin CHG debe compararse el resultado de procesamiento de un ciclo de programa con el ciclo anterior. Debido a este motivo debe activarse siempre el rel interno especial M9050 antes de la ejecucin de la instruccin CHG para cargar el resultado de procesamiento del ciclo anterior de la memoria intermedia hacia la memoria de trabajo. Ya que la instruccin CHG se ejecuta en combinacin con una CPU de A3 solamente al cumplirse la condicin de entrada, deben escribirse los programas en funcin del siguiente esquema. El programa izquierdo se encuentra en el rea principal de memoria y el programa derecho se encuentra en el subrea de memoria. Se activa siempre el rel interno especial M9036.

CHG__KB1, CHG__KB2

INDICACIN

La modificacin de un programa en el subrea durante el procesamiento del programa en el rea principal (o bien inversamente) supone que los rels internos especiales M9051, M9056 y M9057 se activan para evitar una ejecucin de la instruccin CHG y por lo tanto una conmutacin de programa. Esto significa que durante un cambio en lnea en el subrea, no se procesa el rea principal. Esto se ejecuta automticamente en el GX Developer y el GX IEC Developer.

Programacin MELSEC A y Q

7 155

CHG
Ejemplo 2 CHG (CPU de A3N)

Instrucciones estructuradas de programa

La instruccin CHG se ejecuta en combinacin con una CPU de A3N solamente al cumplirse la condicin de entrada. Los programas deben estructurarse segn el esquema indicado en este ejemplo de programa. El programa izquierdo se encuentra en el rea principal de memoria y el programa derecho se encuentra en el subrea de memoria.

CHG__KB3, CHG__KB4

Ejemplo 3

CHG (CPU de A3H) Los programas deben estructurarse segn el esquema indicado en este ejemplo de programa. El programa izquierdo se encuentra en el rea principal de memoria y el programa derecho se encuentra en el subrea de memoria.

CHG__KB5, CHG__KB6

7 156

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

SUB, SUBP

7.6.9

SUB, SUBP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X n Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

SUB__ME1, SUB__KE1, SUB__IE1

Variables

Operando n

Valor de comando Direccin del programa de microcomputador que debe llamarse.

Tipo de datos Direccin

Programacin MELSEC A y Q

7 157

SUB, SUBP
Funcionamiento Llamada de programa de microcomputador

Instrucciones estructuradas de programa

SUB Llamada de programa de un programa de microcomputador La llamada de un programa de microcomputador generado por el usuario, se ejecuta con la instruccin SUB/SUBP. Con la condicin de entrada aplicada, la instruccin SUB activa el programa de microcomputador que se encuentra en la direccin "n". Despus de procesar el programa de microcomputador, se reinicia el programa de ejecucin despus de tal paso del programa que sigue a la instruccin SUB/SUBP. La instruccin SUB/SUBP puede programarse en el programa de ejecucin del rea principal/ subrea de memoria.

1 2

Parmetros Valores nominales para temporizador y contador 3 Programa de microcomputador 4 rea del programa de ejecucin 5 rea del programa del microcomputador 6 rea principal o subrea de memoria
SUB_0E1

Dentro de un rea de programa de microcomputador pueden generarse varios programas.

Programa de microcomputador
SUB__AB1, SUB_0E2

7 158

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

SUB, SUBP

INDICACIN

La instruccin SUB tiene la funcin de determinar una constante de 16 bits en el bloque de instruccin en las instrucciones ampliadas de aplicacin de las CPUs de AnA, AnAS y AnU (Dedicated Instructions).
Mayores informaciones acerca de los programas de microcomputadores se encuentran en el Cap. 10 de estas instrucciones de programacin.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Se excede la capacidad mxima del programa del microcomputador. La direccin indicada en n, se encuentra fuera del rango permitido.

INDICACIN

El tiempo de procesamiento de un programa de microcomputador que se llam mediante una instruccin SUB(P), no debe exceder los 5 ms. En caso que la duracin del procesamiento supera los 5 ms, surge un conflicto con el programa de ejecucin de modo que el PLC no puede continuar trabajando correctamente. En caso de querer ejecutar un programa de microcomputador que dura ms de 5 ms, debe dividirse este programa en diferentes bloques para procesar estos bloques a continuacin en forma secuencial. De este modo puede abreviarse el tiempo de procesamiento del programa de microcomputador.

Programacin MELSEC A y Q

7 159

IX, IXEND
7.6.10 IX, IXEND

Instrucciones estructuradas de programa

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Esta instruccin extendida puede programarse con una CPU AnA y AnU en el editor IEC como componente normal (funcin) y en el editor MELSEC en relacin con las instrucciones LEDA, -C y -R.
Operandos Operandos internos (Sistema, Operador) Bit Palabra

Operandos MELSEC Q

FileRegister

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiales de ndice Zn Palabra U\G

Constantes K, H (16#)

Otros

Error Flag

Pasos

s
1

SM0

2/1
1

La instruccin IX requiere dos pasos y la instruccin IXEND requiere un paso.

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

IX___ME1, IX___KE1, IX___IE1

GX Developer

IX___GE1

Variables

Operando s

Valor de comando

Tipo de datos

Primera direccin del operando en el cual estn almacenados los datos para el BIN 16 bits direccionamiento indexado.

7 160

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

IX, IXEND

Funcionamiento

Direccionamiento indexado de una parte completa de programa IX, IXEND Instruccin de direccionamiento

Las instrucciones IX e IXEND puede aplicarse exclusivamente en el modo MELSEC del GX IEC Developer. Las instrucciones IX e IXEND realizan un direccionamiento indexado de las direcciones de operandos en la seccin de programa que se programa entre las instrucciones IX e IXEND. En este proceso se suman los valores numricos decimales del listado de ndice (s) con las direcciones de operando. La nueva direccin en visualizacin hexadecimal resulta ser la direccin vlida para el siguiente procesamiento de programa. A cada uno de los operandos indicados en s, se asigna un determinado tipo de operando cuya direccin se utiliza para la suma. La siguiente ilustracin explica esto con mayor detalle.

El valor en D100 (8) se suma a la direccin del temporizador TS495. La nueva direccin es TS49D. El valor en D101 (5) se suma a la direccin del contador CS270. La nueva direccin es CS275. El valor en D102 (2) se suma a las direcciones de las entradas X1 y X19. Las nuevas direcciones son X3 y X1B. El valor en D103 (10) se suma a las direcciones de las salidas Y24 y Y40. Las nuevas direcciones son Y2E y Y4A.

IX___AB3, IX___AB4, IX___AB1, IX___AB2, IX__0E1

El valor en D104 (16) se suma a las direcciones de los rels internos M6 y M62. Las nuevas direcciones son M16 y M72.

Programacin MELSEC A y Q

7 161

IX, IXEND

Instrucciones estructuradas de programa

El valor en D106 (16) se suma a la direccin del rel interno de enlace B20. La nueva direccin es B30. El valor en D108 (1) se suma a la direccin del registro D0. La nueva direccin es D1. Las instrucciones PLS, PLF y pulsadas que se ejecutan una sola vez al cumplirse la condicin de entrada, no pueden direccionarse en forma indexada mediante el bucle de instrucciones IX-/IXEND. En casos donde la nueva direccin abandona el rango permitido de direcciones debido a la suma, ya no se garantiza un procesamiento correcto de la instruccin. Cuando se ejecuta la instruccin IX e IXEND durante el cambio entre las secuencias de programa en el modo en lnea (escritura durante el modo RUN), tampoco se garantiza el procesamiento correcto. Los valores que se suman a las direcciones de los operandos de palabra, en los cuales se accede a cada bit, estn almacenados como valores binarios. En s est almacenada la direccin inicial del operando para el cual se indican estos valores. En un programa, no puede ejecutarse un direccionamiento indexado entre la instruccin IX e IXEND. Las direcciones indexadas entre la instruccin IX e IXEND del operando de una parte de programa se convierten durante una ampliacin de programa en direcciones que se utilizan por los registros de ndice (Zn). La asignacin de las direcciones indexadas a los registros respectivos de ndice, se indican en la siguiente tabla.

Direccin Valores de suma para direcciones de temporizador (T) Valores de suma para direcciones de contador (C) Valores de suma para Direcciones de entrada (X) Valores de suma para direcciones de salida (Y) Valores de suma para Direcciones de rel interno Valores de suma para direcciones de rel interno de rango detentivo (L) Valores de suma para direcciones de rel interno de enlace (B) Valores de suma para direcciones de rel interno de flanco (V)

Registro de ndice Z0

Direccin Valores de suma para direcciones de registro de datos (D) Valores de suma para Direcciones de registro de enlace (W) Valores de suma para direcciones de registro de archivo (R) Valores de adicin para direcciones de entrada/salida (U) de registro de bfer Valores de suma para Direcciones de registro de bfer (G) Valores de suma para direcciones de red de operandos de enlace con acceso directo (J) Valores de adicin para direcciones locales de registro de archivo (ZR) Valores de suma para direcciones de puntero (etiqueta)

Registro de ndice Z8

s+8

s+1

Z1

s+9

Z9

s+2

Z2

s+10

Z10

s+3

Z3

s+11

Z11

s+4

Z4

s+12

Z12

s+5

Z5

s+13

Z13

s+6

Z6

s+14

Z14

s+7

Z7

s+15

Z15

Con una CPU de Q00J, Q00 Q01CPU, no estn disponibles los registros de ndice Z10 a Z15. Segn el software utilizado para la programacin, puede requerirse una indicacin de los registros de ndice en la parte de programa entre la instruccin IX e IXEND.

7 162

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

IX, IXEND

Ejemplo

GX Developer
Programa sin indicacin de los registros de

Programa con indicacin de los registros de

Los registros de ndice utilizados entre la instruccin IX e IXEND (Z0 a Z15) no influyen las dems instrucciones en el programa que se direcciona mediante una asignacin de ndice.

INDICACIN

Para el direccionamiento indexado de los operandos de una parte de programa se requiere un arranque de los equipos perifricos en el modo estndar y una ejecucin de la extensin de programa (solamente para serie QnA). En el arranque de los equipos perifricos con una CPU de Q2A, Q2A-S1, Q3A Q4A con utilizacin simultnea del direccionamiento indexado de los operandos de una parte de programa entre la instruccin IX e IXEND, no se garantiza un procesamiento correcto. Se ha de prever un bloque que previene la ejecucin simultnea de varias instrucciones IX e IXEND cuando se utiliza la instruccin IX e IXEND en el programa normal y de interrupcin. En el programa normal deben bloquearse las interrupciones entre la instruccin IX e IXEND.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La instruccin IX e IXEND no ha sido programada en contexto (cdigo de error 4231). Despus de la ejecucin de una instruccin IX se ejecuta una instruccin END, FEND, GOEND o STOP sin ejecutar previamente una instruccin IXEND (cdigo de error 4231).

Programacin MELSEC A y Q

7 163

IX, IXEND
Ejemplo IX, IXEND

Instrucciones estructuradas de programa

El siguiente programa ejecuta en total 10 veces el bucle de programa entre la instruccin IX e IXEND. En cada pasada se aumentan por el valor de 1, las direcciones de los operandos programados en este rango. En la tabla que se indica despus de la ilustracin, se listan los registros en los cuales se contienen los valores a sumar de los operandos correspondientes. Adems se indican las modificaciones de las direcciones de operando para la primera, segunda, tercera y dcima pasada del bucle de programa.

Lista de instrucciones MELSEC

IX___MB1

Modificacin de direcciones de operandos / Pasadas D Valores de adicin 1. Valores de adicin para direcciones D100 de temporizador (T) D101 D102 D103 D104 Valores de adicin para dir. de contador (C) Valores de suma para direcciones de entrada (X) Valores de suma para direcciones de salida (Y) Valores de suma para direcciones de rels internos (M) T3 C4 X10 Y30 M0 2. T4 C5 X11 Y31 M1 3. T5 C6 X12 Y32 M2 10. TC CD X19 Y39 M9

Valores de suma para D106 direcciones de rel interno de enlace (B) Valores de suma para D108 direcciones de registro de datos (D)

B0 D0 D10 D40

B1 D1 D11 D41

B2 D2 D12 D42

B9 D9 D19 D49

7 164

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

IXDEV, IXSET

7.6.11

IXDEV, IXSET

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos internos (Sistema, Operador) Bit p d


1

Filendice

MELSECNET/10 Directo J\ Bit Palabra

Palabra

Mdulos Registro especiales de ndice U\G Zn

Constantes K, H (16#)

Otros P

SM0

1/3
1

La instruccin IXDEV requiere un paso y la instruccin IXSET requiere tres pasos.

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

IXDEVME1, IXDEVKE1

GX Developer
Contactos ficticios

IXDEVGE1

Variables

Operando p d

Valor de comando Primera direccin del operando (solo puntero/etiqueta) en el cual estn almacenados los datos para el direccionamiento indexado. Primera direccin del operando en el cual se almacenan las direcciones indexadas de los operandos.

Tipo de datos Puntero/ Etiqueta BIN 16 bits

Programacin MELSEC A y Q

7 165

Pasos

Error Flag

Operandos MELSEC Q

Operandos

IXDEV, IXSET
Funcionamiento

Instrucciones estructuradas de programa

Almacenamiento de direcciones indexadas de operandos en un listado de ndice IXDEV/IXSET Instruccin para la escritura de un listado de ndice

Las instrucciones IXDEV e IXSET pueden aplicarse en el GX IEC Developer solamente en el modo MELSEC o bien en el GX Developer. Las instrucciones IXDEV e IXSET leen las direcciones de un operando ubicado en el rea de offset y escriben estos valores de offset como listado de ndice en el operando indicado en d. La asignacin de los tipos de operandos a los registros respectivos se indica en la instruccin IX e IXEND. Cuando el tipo respectivo de operando no se encuentra en el rango de offset, la entrada correspondiente en el listado de ndice resulta igual a 0. Los diferentes bits de los operandos de palabra se tratan como contactos ficticios (dummy), esto quiere decir que es posible leer solamente una direccin de un bit particular para su entrada en el listado de ndice. En el direccionamiento de los dummys se indica luego el bit correspondiente. Por ejemplo, el bit 0 (b0) en el registro de datos D0, se indica con D0.0. Para la indicacin de los bits en una palabra de datos de 16 bits se utilizan los valores hexadecimales 0 a F.

La lectura de los valores de offset se ejecuta segn la siguiente descripcin. Lectura de los operandos: T, C, X, Y, M, L, V, B El valor de offset marcado con se lee y se escribe en el registro correspondiente. Lectura de los operandos: D.XX, W.XX, R.XX1, U\G.XX1, ZR.XX1 El valor de offset marcado con se lee y se escribe en el registro correspondiente. El valor marcado con XX presenta la variable para la definicin del bit.
1

No para Q00JCPU, Q00CPU y Q01CPU

Lectura del operando: J\B1 ,J\W1, J\X1, J\Y1 El valor de offset marcado con se lee y se escribe en el registro correspondiente. Cuando no debe ingresar un offset para el operando que sigue despus de J\, debe ajustarse este valor en 0.
1

No para Q00JCPU, Q00CPU y Q01CPU

El valor de offset del operando P se indica directamente como direccin (puntero/etiqueta) en la programacin de la instruccin IXSET.

Al indicar dos tipos idnticos de operandos en el rango de offset, se aplica el valor de offset del ltimo operando que se encuentra en la secuencia de contactos. Las instrucciones IXDEV e IXSET deben utilizarse conjuntamente. El valor de offset del operando ZR.XX puede asumir un valor entre 0 y 32767. Esto resulta debido a la circunstancia que el resto del cuociente de la divisin de la direccin del operando por el valor de 32767 se escribe como valor de offset en el registro correspondiente. Como contactos ficticios (dummy) denro del rango de offset se permiten solamente las instrucciones LD y AND. Se omiten todas las dems instrucciones.

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: La instruccin IXDEV e IXSET no ha sido programada en contexto (cdigo de error 4231).

7 166

Programacin MELSEC A y Q

Instrucciones estructuradas de programa

IXDEV, IXSET

Ejemplo

IXDEV, IXSET El siguiente programa escribe las direcciones (valores de offset) de los contactos ficticios (dummy) del rango de offset en los registros correspondientes. El valor de offset del puntero/ etiqueta se indica en la instruccin IXSET. La asignacin de los tipos de operandos a los registros respectivos se indica en el prrafo sobre las instrucciones IX e IXEND.

Lista de instrucciones MELSEC

IXDEVMB1, IXDEV0B1

Programacin MELSEC A y Q

7 167

Instrucciones de procesamiento para listados de datos

7.7

Instrucciones de procesamiento para listados de datos


Las instrucciones de procesamiento para listados de datos escriben y leen los datos en o bien desde un listado de datos. Los datos actuales se escriben en el listado y se leen nuevamente para un procesamiento continuo en secuencia diferente. Estas instrucciones ofrecen al usuario la posibilidad de eliminar o bien agregar determinados bloques de datos en el listado de datos.

Funcin Escritura de datos en un listado de datos Lectura de datos inicialmente ingresados en el listado de datos Lectura de datos finalmente ingresados en el listado de datos Eliminacin de determinados bloques de datos del listado de datos Introduccin de determinados bloques de datos en el listado de datos

Instruccin MELSEC en el Editor MELSEC FIFW FIFWP FIFR FIFRP FPOP FPOPP FDEL FDELP FINS FINSP

Instruccin MELSEC en el editor IEC FIFW_M FIFWP_M FIFR_M FIFRP_M FPOP_M FPOPP_M FDEL_M FDELP_M FINS_M FINSP_M

7.7.1

7 168

Programacin MELSEC A y Q

Instrucciones de procesamiento para listados de datos

FIFW, FIFWP

7.7.1

FIFW, FIFWP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X Y M L S B F T Operandos de palabra (16 bits) C D W R A0 A1 Z V Constante K

Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

s d
1

K1 K4

7 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit s

Filendice

MELSECNET/10 Directo J\ Bit

Palabra

Palabra

Mdulos Registro especiales de ndice U\G Zn


Constantes

Otros

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FIFW_ME1, FIFW_KE1, FIFW_IE1

GX Developer

FIFW_GE1

Variables

Operando s d

Valor de comando

Tipo de datos

Daten que se escriben en el listado de datos o bien operandos en los cuales se almacenan estos datos. BIN 16 bits Primera direccin del listado de datos.

Programacin MELSEC A y Q

7 169

Pasos 3

Error Flag

Operandos MELSEC Q

FIFW, FIFWP
Funcionamiento

Instrucciones de procesamiento para listados de datos

Escribir datos en un listado de datos FIFW Instruccin para la entrada de datos La instruccin FIFW escribe la secuencia de datos determinada en s, en un listado de datos. Este listado se define por el rango de direcciones en d y administra los datos en el orden de su entrada. En la primera direccin del rango de datos en d se almacena la cantidad de registros de datos que se contienen en total en el listado de datos. El valor de esta direccin es por lo tanto el indicador de posicin para los datos que se ingresan nuevamente en el listado. Con cada ejecucin de la instruccin FIFW se aumenta el valor por 1. Los datos se almacenan a partir de la direccin d+1.

1 2

Listado de datos Indicador de posicin 3 Rango de direcciones del listado de datos


FIFW0E1

Antes de la primera ejecucin de la instruccin FIFW deben eliminarse los contenidos de los operandos indicados en d. En la programacin debe controlarse la cantidad de los registros de datos a escribir, as como el rango de direcciones en el listado de datos. Para la administracin de varios registros de datos en diferentes listados de datos debe utilizarse un programa de aplicacin.

Fuentes de error

En el siguiente caso se presenta un error de procesamiento y se aplica un Error Flag: El largo del listado FIFO excede el rango previsto para el operando en el almacenamiento en la ejecucin de la instruccin FIFW (Serie Q/System Q = Cdigo de error 4101).

7 170

Programacin MELSEC A y Q

Instrucciones de procesamiento para listados de datos

FIFW, FIFWP

Ejemplo 1

FIFWP En el siguiente programa se asigna el rango de memoria del listado de datos mediante los registros de datos R0 a R5. La direccin inicial (R0) del rango contiene el indicador de posicin que indica la cantidad de registros de datos almacenados. Con flanco positivo de X10, se almacenan los datos de D0 en las siguientes posiciones disponibles de memoria del listado de datos (en el ejemplo, es R5).

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Listado de datos Indicador de posicin 3 Rango de direcciones del listado de datos


FIFW_MB1, FIFW_KB1, FIFW_IB1, FIFW0B1

Programacin MELSEC A y Q

7 171

FIFW, FIFWP
Ejemplo 2 FIFWP

Instrucciones de procesamiento para listados de datos

En el siguiente programa se asigna el rango de memoria del listado de datos mediante los registros de datos D38 a D44. La direccin inicial (D38) del rango contiene el indicador de posicin que indica la cantidad de registros de datos almacenados. Con flanco positivo de X1B, se almacenan los datos de las entradas X20 a X2F en la siguiente posicin disponible de memoria del listado de datos (en el ejemplo, D44). En el listado de datos prescrito, puede almacenarse un mximo de 6 registros de datos. Por lo tanto, Y60 se programa como bloqueo de la instruccin FIFW. La salida se activa cuando el contenido de D38 resulta mayor o igual a 6.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Listado de datos Indicador de posicin 3 Rango de direcciones del listado de datos 4 ltima direccin de memoria
FIFW_MB2, FIFW_KB2, FIFW_IB2, FIFW0B2

7 172

Programacin MELSEC A y Q

Instrucciones de procesamiento para listados de datos

FIFR, FIFRP

7.7.2

FIFR, FIFRP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X s d


1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

K1 K4

7 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Operador) Bit s

Filendice

MELSECNET/10 Directo J\ Bit

Palabra

Palabra

Mdulos Registro especiales de ndice U\G Zn


Constantes

Otros

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FIFR_ME1, FIFR_KE1, FIFR_IE1

GX Developer

FIFR_GE1

Variables

Operando s d

Valor de comando Direccin inicial del operando en el cual se almacenan los datos ledos.

Tipo de datos BIN 16 bits

Direccin inicial del listado de datos.

Programacin MELSEC A y Q

7 173

Pasos
3

Error Flag

Operandos MELSEC Q

FIFR, FIFRP
Funcionamiento

Instrucciones de procesamiento para listados de datos

Lectura de los datos inicialmente ingresados del listado de datos FIFR Instruccin para la lectura de datos inicialmente ingresados La instruccin FIFR lee los datos de un listado de datos y almacena estos en un rango definido de direcciones. La lectura de los datos se inicia con la primera direccin d+1 despus del indicador de posicin. La transferencia se ejecuta al rango de direcciones indicado en s. Los datos del listado de datos se desplazan secuencialmente en el orden de su entrada al inicio del listado. Se eliminan todos los datos anteriores. Despus de la lectura se reduce el valor del indicador de posicin (primera direccin en d) por el valor de 1.

1 2

Listado de datos Indicador de posicin 3 Estos registros se escriben con el valor de 0.


FIFR0E1

INDICACIN Fuentes de error

Se ha de observar que la instruccin no se activa cuando el valor en d (indicador de posicin) es igual a 0.


En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Una instruccin FIFR se ejecuta cuando el valor del indicador de posicin es igual a 0 (Serie Q/System Q = Cdigo de error 4100). El largo del listado de datos excede el rango de operandos en la ejecucin de la instruccin FIFR (Serie Q/System Q = Cdigo de error 4101).

7 174

Programacin MELSEC A y Q

Instrucciones de procesamiento para listados de datos

FIFR, FIFRP

Ejemplo 1

FIFRP En el siguiente programa con flanco positivo de X10, se lee el valor de datos de la direccin R1 (valor inicialmente ingresado) del listado de datos de R0 a R7 y se almacena en el registro D0. En el ejemplo, el valor del indicador de posicin al inicio de la ejecucin es igual a 5 y asume el valor de 4 despus de la ejecucin. La instruccin previa de comparacin previene la ejecucin de la instruccin FIFR cuando el indicador de posicin (R0) asume el valor de 0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Listado de datos Indicador de posicin 3 Rango de direcciones del listado de datos


FIFR_MB1, FIFR_KB1, FIFR_IB1, FIFR0B1

Programacin MELSEC A y Q

7 175

FIFR, FIFRP
Ejemplo 2 FIFRP

Instrucciones de procesamiento para listados de datos

El siguiente programa escribe con cada flanco positivo de X1C, el valor de D0 en el listado de datos de D38 a D43. Cuando el valor del indicador de posicin es igual a 5, se lee el primer valor del listado FIFO y se transmite a R0. Este proceso se repite con cada flanco positivo de X1C.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Listado de datos Indicador de posicin 3 Rango de direcciones del listado de datos


FIFR_MB2, FIFR_KB2, FIFR_IB2, FIFR0B2

7 176

Programacin MELSEC A y Q

Instrucciones de procesamiento para listados de datos

FPOP, FPOPP

7.7.3

FPOP, FPOPP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos internos (Sistema, Operador) Bit s d

Filendice

MELSECNET/10 Directo J\ Bit

Palabra

Palabra

Mdulos Registro especiales de ndice U\G Zn


Constantes

Otros

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FPOPME1, FPOPKE1, FPOPIE1

GX Developer

FPOPGE1

Variables

Operando s d

Valor de comando Direccin inicial del operando en el cual se almacenan los datos ledos.

Tipo de datos BIN 16 bits

Direccin inicial del listado de datos.

Programacin MELSEC A y Q

7 177

Pasos 3

Error Flag

Operandos MELSEC Q

Operandos

FPOP, FPOPP
Funcionamiento

Instrucciones de procesamiento para listados de datos

Lectura de los datos finalmente ingresados del listado de datos FPOP Instruccin para la lectura de datos finalmente ingresados

La instruccin FPOP lee los datos de un listado de datos y almacena estos en un rango definido de direcciones. La lectura de los datos se inicia en la ltima direccin d+n escrita en el listado de datos. La transferencia se ejecuta al rango de direcciones indicado en s. La direccin leda del listado de datos se escribe con el valor de 0. Despus de la lectura se reduce el valor del indicador de posicin (primera direccin en d) por el valor de 1.

1 2

Listado de datos Indicador de posicin 3 Estos registros se escriben con el valor de 0.


FPOP0E1

INDICACIN Fuentes de error

Se ha de observar que la instruccin no se activa cuando el valor en d (indicador de posicin) es igual a 0.


En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Una instruccin FPOP se ejecuta cuando el valor del indicador de posicin es igual a 0 (cdigo de error 4100). El largo del listado de datos excede el rango de operandos en la ejecucin de la instruccin FPOP (Serie Q/SystemQ = Cdigo de error 4101).

7 178

Programacin MELSEC A y Q

Instrucciones de procesamiento para listados de datos

FPOP, FPOPP

Ejemplo 1

FPOPP En el siguiente programa con flanco positivo de X10, se lee el valor de datos de la direccin R5 (valor finalmente ingresado) del listado de datos de R0 a R7 y se almacena en el registro D0. En el ejemplo, el valor del indicador de posicin al inicio de la ejecucin es igual a 5 y asume el valor de 4 despus de la ejecucin. La instruccin previa de comparacin previene la ejecucin de la instruccin FPOPP cuando el indicador de posicin (R0) asume el valor de 0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Listado de datos Estos registros se escriben con el valor de 0.


FPOPMB1, FPOPKB1, FPOPIB1, FPOP0B1

Programacin MELSEC A y Q

7 179

FPOP, FPOPP
Ejemplo 2 FPOPP

Instrucciones de procesamiento para listados de datos

El siguiente programa escribe con cada flanco positivo de X1C, el valor de D0 en el listado de datos de D38 a D43. Cuando el valor del indicador de posicin asume el valor de 5, se lee el valor del registro D43 con flanco positivo de X1D y se transmite a R0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Listado de datos Flanco positivo de X1C 3 Flanco positivo de X1D 4 Indicador de posicin 5 Rango de direcciones actual del listado de datos
FPOPMB2, FPOPKB2, FPOPIB2, FPOP0B2

7 180

Programacin MELSEC A y Q

Instrucciones de procesamiento para listados de datos

FDEL, FDELP, FINS, FINSP

7.7.4

FDEL, FDELP, FINS, FINSP

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos internos (Sistema, Operador) Bit s d n

Filendice

MELSECNET/10 Directo J\ Bit

Palabra

Palabra

Mdulos Registro especiales de ndice U\G Zn


Constantes K, H (16#)

Otros

SM0

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FDEL_ME, FDEL_KE1, FDEL_IE1

GX Developer

FDEL_GE1

Variables

Operando

Valor de comando

Tipo de datos

Datos que se ingresan en una determinada direccin en el listado de datos, u operando en el cual se almacenan estos datos. Primera direccin del operando que almacena los datos que se eliminan en una determinada direccin en el listado de datos. BIN 16 bits Direccin inicial del listado de datos. Indicacin de la direccin en la cual se ingresan o eliminan datos.

d n

Programacin MELSEC A y Q

7 181

Pasos 4

Error Flag

Operandos MELSEC Q

Operandos

FDEL, FDELP, FINS, FINSP


Funcionamiento

Instrucciones de procesamiento para listados de datos

Eliminacin o introduccin de determinados bloques de datos en el listado de datos FDEL Eliminacin de determinados bloques de datos

La instruccin FDEL elimina el bloque de datos N n despus del indicador de posicin en el listado de datos indicado en d y almacena este valor en el operando indicado en s. Los datos del listado de datos se juntan despus de la eliminacin de un bloque de datos. Despus de la lectura se reduce el valor del indicador de posicin (primera direccin en d) por el valor de 1.

1 2

Listado de datos Para n=3 se elimina el bloque de datos d+3. 3 Este registro se escribe con el valor de 0.
FDEL0E1

7 182

Programacin MELSEC A y Q

Instrucciones de procesamiento para listados de datos

FDEL, FDELP, FINS, FINSP

FINS

Introduccin de determinados bloques de datos

La instruccin FINS introduce un bloque de datos de 16 bits indicado en s, en la posicin N n despus del indicador de posicin en el listado de datos indicado en d. Los bloques de datos que siguen a la posicin de introduccin, se desplazan por una direccin. Despus de la introduccin, se aumenta el valor del indicador de posicin (primera direccin en d) por el valor de 1.

1 2

Listado de datos Indicador de posicin 3 Para n=2 se introduce el bloque de datos como d+2.
FINS0E1

Fuentes de error

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: El operando indicado con n, excece el rango del operando indicado en d en la ejecucin de la instruccin FDEL o FINS (cdigo de error 4101). El operando indicado con n en d, se encuentra fuera del rango de direcciones de los bloques de datos + 1 disponibles en la ejecucin de la instruccin FDEL o FINS (cdigo de error 4101). La instruccin FDEL o FINS ha sido ejecutada y para n se introdujo el valor de 0. (cdigo de error 4100). La instruccin FDEL ha sido ejecutada y el valor de d fue 0 (cdigo de error 4100). El largo del listado de datos excede el rango de operandos en la ejecucin de la instruccin FPOP o FINS (Serie Q/SystemQ = Cdigo de error 4101).

Programacin MELSEC A y Q

7 183

FDEL, FDELP, FINS, FINSP


Ejemplo 1 FDELP

Instrucciones de procesamiento para listados de datos

El siguiente programa con flanco positivo de X10, elimina en el listado de datos R0 hasta R7 el segundo bloque de datos (R2) que viene despus del indicador de posicin y almacena este valor en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

1 2

Listado de datos Flanco positivo de X10


FDELMB1, FDELKB1, FDELIB1, FDEL0B1

7 184

Programacin MELSEC A y Q

Instrucciones de procesamiento para listados de datos

FDEL, FDELP, FINS, FINSP

Ejemplo 2

FINSP El siguiente programa con flanco positivo de X10, agrega el bloque de datos indicado en D0 como bloque de datos R3 en el listado de datos R0 a R7.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

R0 R1 R2 R3 R4 R5 R6 R7 D0
1 2

1 4 1234 4444 -123 5000 0 0 0

R0 R1 R2 R3 R4 R5 R6 R7

1 4 1234 4444 -3210 -123 5000 0 0

-3210

Listado de datos Flanco positivo de X10


FDELMB2, FDELKB2, FDELIB2, FINS0B1

Programacin MELSEC A y Q

7 185

FDEL, FDELP, FINS, FINSP

Instrucciones de procesamiento para listados de datos

7 186

Programacin MELSEC A y Q

Instrucciones para el acceso a la memoria de bfer

7.8

Instrucciones para el acceso a la memoria de bfer


Las instrucciones descritas a continuacin, acceden a la memoria de bfer de los mdulos especiales. Las instrucciones permiten a la CPU el intercambio de datos con los mdulos respectivos. La siguiente tabla contiene una vista sinptica de las instrucciones.

Funcin

Instruccin MELSEC en el Editor MELSEC FROM

Instruccin MELSEC en el editor IEC FROM_M FROMP_M DFRO_M DFROP_M TO_M TOP_M DTO_M DTOP_M

Lectura de datos de un mdulo especial

FROMP DFRO DFROP TO

Escritura de datosen un mdulo especial

TOP DTO DTOP

Programacin MELSEC A y Q

7 187

FROM, FROMP, DFRO, DFROP


7.8.1 FROM, FROMP, DFRO, DFROP

Instrucciones para el acceso a la memoria de bfer

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X n1 n2 d 1 1 1 1 1 1 1 1 1 1 1 1 n3


1 2

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M L

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

K1 K4 2 K1 K8

9 3

En combinacin con una CPU de A3H no pueden procesarse operandos de bits. El largo de bloque puede determinarse en la programacin de una instruccin FROM/P entre K1 y K4 y con una instruccin DFRO/P entre K1 y K8. 3 La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Usuario) Bit n1 n2 d n3


Filendice

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos especiale Registro de ndice s Zn Palabra U\G


Constantes K, H (16#)

Otros U

Error Flag

Pasos

SM0 5

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones

FROM_ME1, FROM_IE1, FROM_KE1

GX Developer

F R O M _ G E 1

Variables

Operando n1 n2 d n3

Valor de comando Direccin cabezal del mdulo especial en el portador de componente. Direccin inicial del rango de direcciones del cual se lee. Direccin inicial del rango de direcciones de la CPU en la cual se escribe.

Tipo de datos BIN 16 bits BIN-16/32 bits BIN 16 bits

Cantidad de las palabras de datos a leer.

7 188

Programacin MELSEC A y Q

Instrucciones para el acceso a la memoria de bfer

FROM, FROMP, DFRO, DFROP

Funcionamiento

Lectura de datos de 1 y 2 palabras (32 bits) de un mdulo especial FROM Lectura de datos de 1 palabra (16 bits)

La instruccin FROM lee datos de 1 palabra del rango de memora de bfer de un mdulo especial y almacena estos en un rango prescrito de direcciones de la CPU. La direccin inicial de los datos a leer se define en n2, la cantidad de palabras de datos en n3 y la direccin del mdulo del cual resulta la posicin del mdulo en el portador de componentes, en n1. El rango de direcciones de la CPU, en el cual deben almacenarse los datos, se determina en d.

1 2

Memoria de bfer del mdulo especial Memoria de la CPU


FROM0E1

INDICACIN

Con la instruccin FROM pueden leerse tambin los datos de otra CPU en el servicio de CPU mltiple. Mayores informaciones se encuentran en el Cap. 9.6.2.
DFRO Lectura de datos de 2 palabras (32 bits)

La instruccin DFRO lee datos de 2 palabras de la memoria de bfer de un mdulo especial. La direccin inicial de los datos a leer se define en n2, la cantidad de palabras de datos (por 2) en n3 y la direccin del mdulo especial en n1. El rango de direcciones de la CPU, en el cual deben almacenarse los datos, se determina en d.

1 2

Memoria de bfer del mdulo especial Memoria de la CPU


DFRO0E1

INDICACIN

Una CPU de la Serie Q o del System Q puede acceder adems directamente a la memoria de bfer de los mdulos especiales. En este caso se indican los operandos en la forma U\G (U(direccin cabezal del mdulo especial)/G(direccin inicial de la memoria de bfer)).

Programacin MELSEC A y Q

7 189

FROM, FROMP, DFRO, DFROP


Fuentes de error

Instrucciones para el acceso a la memoria de bfer

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Antes de la ejecucin de la instruccin no se ejecut ningn intercambio de datos con el mdulo especial (Serie Q/System Q = Cdigo de error 1412). Antes de la ejecucin de la instruccin se present un error en el mdulo especial. (Serie Q/System Q = Cdigo de error 1402). No se encuentra ningn mdulo especial en la direccin I/O indicada en n1. (Serie Q/System Q = Cdigo de error 2110). La cantidad de palabras de datos indicada en n3 sobrepasa el rango previsto en d para el almacenamiento del operando (Serie Q/System Q = Cdigo de error 4101). La direccin indicada en n2 se encuentra fuera del rango de la memoria de bfer (Serie Q/System Q = Cdigo de error 4100). La direccin indicada en n2 es errnea (AJ71QC24) (Serie Q/System Q = Cdigo de error 4100). No resulta posible el acceso a un mdulo especial.

Ejemplo 1

FROMP En el siguiente programa con flanco positivo de X0, se leen los valores digitales del canal CH1 de la direccin 10 de la memoria de bfer de un mdulo A68AD. El rango de direcciones de mdulos es de 040 a 05F. Los datos ledos se almacenan en D0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FROM_MB1, FROM_KB1, FROM_IB1

Ejemplo 2

DFROP En el siguiente programa con flanco positivo de X0, se leen los datos del eje X de las direcciones 602 y 603 de la memoria de bfer de un mdulo AD71. El rango de direcciones de mdulos es de 040 a 05F. Los datos ledos se almacenan en D0 y D1.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

FROM_MB2, FROM_KB2, FROM_IB2

7 190

Programacin MELSEC A y Q

Instrucciones para el acceso a la memoria de bfer

FROM, FROMP, DFRO, DFROP

INDICACIN E

La direccin cabezal que debe indicarse en n1, se define del siguiente modo: n1 = 10 Direccin cabezal = 1 n1 = 20 Direccin cabezal = 2

Direccin inicial del registro especial: n1 = K4 H4


DFRO0E2

Este ejemplo de programa 2 no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

7 191

TO, TOP, DTO, DTOP


7.8.2 TO, TOP, DTO, DTOP

Instrucciones para el acceso a la memoria de bfer

CPU

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Operandos Operandos de bit X n1 n2 s n3


1 2
1 1 1 1 1 1 1 1 1 1 1 1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

2

Y M L

H P (16#)
2

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag M9012

Error Flag M9010 M9011

K1 K4

3 9/11 K1 4
K8

En combinacin con una CPU de A3H no pueden procesarse operandos de bits. El rango posible de las constantes para s es: H0 a FFFF, K-32768 a 32767 3 El largo de bloque puede determinarse en la programacin de una instruccin TOP entre K1 y K4 y con una instruccin DTOP entre K1 y K8. 4 La cantidad de pasos en caso de utilizacin de una CPU de AnA o AnAS se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.

Operandos MELSEC Q

Operandos Operandos internos (Sistema, Usuario) Bit n1 n2 s n3


Filendice

MELSECNET/10 Directo J\ Bit


Palabra

Mdulos especiale Registro de ndice s Zn Palabra U\G


Constantes K, H (16#)

Otros U

Error Flag

Pasos

SM0 5

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones

TO___ME1, TO___KE1, TO___IE1

GX Developer

TO___GE1

7 192

Programacin MELSEC A y Q

Instrucciones para el acceso a la memoria de bfer

TO, TOP, DTO, DTOP

Variables

Operando n1 n2 s n3

Valor de comando Direccin cabezal del mdulo especial en el portador de componente.

Tipo de datos BIN 16 bits

Direccin inicial del rango de direcciones del cual se escribe. Los datos a escribir o la direccin inicial del rango de direcciones de la CPU en BIN 16/32 bits la cual estn almacenados los datos a escribir. Cantidad de las palabras de datos a escribir. BIN 16 bits

Funcionamiento

Escritura en la memoria de bfer TO Escritura de datos de 1 palabra

La instruccin TO escribe datos de 1 palabra de la memoria de la CPU en la memoria de bfer de un mdulo especial. La direccin inicial del rango de memoria al cual deben transferirse los datos, se indica en n2, la cantidad de palabras de datos en n3 y la direccin del mdulo del cual resulta la posicin del mdulo en el portador de componentes, en n1. La direccin del rango de direcciones, de la cual deben leerse los datos, se determina en d.

1 2

Memoria de la CPU Memoria de bfer del mdulo especial


TO__0E1

DTO

Escritura de datos de 2 palabras (32 bits)

La instruccin DTO escribe los datos de 2 palabras (32 bits) en la memoria de bfer de un mdulo especial. La direccin inicial del rango de memoria al cual deben transferirse los datos, se define en n2, la cantidad de palabras de datos (por 2) en n3 y la direccin del mdulo especial en n1. La direccin del rango de direcciones, de la cual deben leerse los datos, se determina en d.

1 2

Memoria de la CPU Memoria de bfer del mdulo especial


DTO_0E1

Programacin MELSEC A y Q

7 193

TO, TOP, DTO, DTOP


Fuentes de error

Instrucciones para el acceso a la memoria de bfer

En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag: Antes de la ejecucin de la instruccin no se ejecut ningn intercambio de datos con el mdulo especial (Serie Q/System Q = Cdigo de error 1412). Antes de la ejecucin de la instruccin se present un error en el mdulo especial. (Serie Q/System Q = Cdigo de error 1402). No se encuentra ningn mdulo especial en la direccin I/O indicada en n1. (Serie Q/System Q = Cdigo de error 2110). La cantidad de palabras de datos indicada en n3 sobrepasa el rango previsto en s para el almacenamiento del operando (Serie Q/System Q = Cdigo de error 4101). La direccin indicada en n2 se encuentra fuera del rango de la memoria de bfer (cdigo de error 4100). La direccin indicada en n2 es errnea (AJ71QC24) (Serie Q/System Q = Cdigo de error 4100). No resulta posible el acceso a un mdulo especial.

Ejemplo 1

TOP En el siguiente programa con flanco positivo de X0, se activa la conversin A/D de los canales CH1 y CH2 de un mdulo A68AD. El mdulo especial ocupa las direcciones 040 a 05F. En la memoria de bfer se escribe el valor de 3 en la direccin 0.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

TO___MB1, TO___KB1, TO___IB1

Ejemplo 2

DTOP En el siguiente programa con flanco positivo de X0, se ajustan en 0 los valores de datos X en las direcciones de memoria de bfer var_D0 de un mdulo AD71. El mdulo especial se encuentra en la direccin 040 a 05F.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

TO___MB2, TO___KB2, TO___IB2

7 194

Programacin MELSEC A y Q

Instrucciones para el acceso a la memoria de bfer

TO, TOP, DTO, DTOP

INDICACIN

La direccin cabezal que debe indicarse en n1, se define del siguiente modo: n1 = 10 Direccin cabezal = 1 n1 = 20 Direccin cabezal = 2

Direccin inicial del registro especial: n1 = K4 H4


DFRO0E2

Este ejemplo de programa 2 no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Como consecuencia pueden emitirse mensajes de error del compilador o controlador. Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin.

Programacin MELSEC A y Q

7 195

Instrucciones de pantalla

7.9

Instrucciones de pantalla
La Serie Q de MELSEC y la Serie A de MELSEC dispone de una serie de instrucciones mediante las cuales pueden emitirse caracteres ASCII hacia las salidas de un mdulo de salida o bien indicarse mediante la pantalla LED en el lado frontal de los mdulos CPU respectivos. En total estn disponibles 7 instrucciones diferentes de pantalla.

Funcin

Instruccin MELSEC en el Editor MELSEC PR

Instruccin MELSEC en el editor IEC PR_M PRC_M LED_M LEDC_M LEDA_M LEDB_M LEDR_M

Emisin ASCII PRC LED Indicacin de caracteres ASCII y comentarios LEDC LEDA LEDB Eliminacin de la indicacin LEDR

INDICACIONES

La instruccin LEDA y LEDB no puede procesarse fcilmente como instruccin de pantalla en combinacin con una CPU de A3A. Las instrucciones sirven aqu como comando inicial para las instrucciones extendidas de aplicacin. Para poder ejecutar la funcin descrita de la instruccin LEDA y LEDB con una CPU de A3A, debe modificarse la secuencia de caracteres de los datos mediante las instrucciones extendidas de aplicacin de las CPUs de AnA o AnAS. Mayores indicaciones se encuentran en las Instrucciones de Programacin particulares de la Serie AnA y AnAS (Dedicated Instructions).

La indicacin de LED de la CPU est sujeta a la siguiente prioridad de visualizacin : 1. Indicacin de errores despus del autodiagnstico 2. Indicacin mediante instruccin CHK 3. Indicacin del nmero de un rel interno de error F 4. Indicacin de caracteres ASCII mediante una instruccin LED(A,B,C) 5. BATTERY ERROR

En caso de utilizar una CPU de A3A puede modificarse libremente esta prioridad. Mayores indicaciones se encuentran en los manuales de la Serie AnA. En caso que en la indicacin se presenta uno de los primeros tres mensajes, no se modifica el contenido actual de la indicacin al ejecutar una instruccin de pantalla. Sin embargo, cuando en la indicacin se muestra el mensaje BATTERY ERROR, se modifica el contenido de la indicacin al ejecutar la instruccin LED(A,B,C).

7.9.1

7 196

Programacin MELSEC A y Q

Instrucciones de pantalla

La ilustracin muestra esquemticamente la visualizacin en la pantalla LED despus de una instruccin LED(A,B,C).

LED_AB1

En la ejecucin de una instruccin LED se visualizan hasta 16 caracteres (9) en la indicacin (1). Despus de la ejecucin de una instruccin LEDA se utilizan los primeros 8 caracteres (7). Las ltimas 8 posiciones (8) se mantienen libres (2). Al ejecutar a continuacin una instruccin LEDB, se indican los datos en la segunda mitad de la pantalla (3). Una ejecucin repetida de la instruccin LEDB sobreescribe los datos originales en la segunda mitad. Los datos de las primeras 8 posiciones se mantienen sin alteracin (4). Despus de la ejecucin de una instruccin LEDC se indica un comentario definido (15 caracteres) en la pantalla (5). La ejecucin de una instruccin LEDB sobreescribe nuevamente los datos originales. Las primeras 8 posiciones se mantienen libres (6). En la pantalla LED de las CPUs respectivas pueden indicarse nmeros de 0 a 9, todas las letras entre A y Z (solamente maysculas sin caracteres especiales), as como los siguientes caracteres especiales : < > = x / ' + -

Programacin MELSEC A y Q

7 197

PR
7.9.1 PR

Instrucciones de pantalla

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos de bit X s d

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M L

H (16#) P

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9010 M9012 M9011


7 1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Usuario) Bit Palabra

Filendice

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiale de ndice s Zn Palabra U\G


Constantes $

Otros

s d
1

Solo para Y

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones

PR___ME1, PR___KE1, PR___IE1

GX Developer

PR___GE1

Variables

Operando s d

Valor de comando Primera direccin del operando en el cual se almacena el cdigo ASCII. Direccin inicial del mdulo de salida al cual se emite el cdigo ASCII.

Tipo de datos Secuencia de caracteres BIT

7 198

Programacin MELSEC A y Q

Pasos 3

Error Flag

Operandos MELSEC Q

Instrucciones de pantalla

PR

Funcionamiento

Emisin a un equipo perifrico PR Emisin de una secuencia de caracteres ASCII

La instruccin PR dispone de dos funciones. La funcin depende del estado del rel interno especial M9049 (Serie A) o bien del rel interno SM701 (Serie Q/System Q). Activacin de M9049/SM701 (1)(Funcin 1): Emisin de una secuencia de caracteres ASCII con 16 caracteres a un mdulo de salida. La secuencia de caracteres se divide en 2 por 8 caracteres y se lee del rea de direcciones s para ser emitida a las salidas definidas en d.

1 2

Operando en el cual se almacena el cdigo ASCII. Subprograma 3 Flag para la indicacin del procesamiento de una instruccin PR (se utiliza como interlock) 4 Inicio de la emisin 5 Salidas Y 6 Emisin del cdigo ASCII 7 Emisin de la seal Strobe 8 Impresora del equipo de visualizacin
PR_0E1

La instruccin PR puede acceder solamente a los datos ASCII ya almacenados. En caso de modificarse los datos almacenados, se emiten los datos actuales. Para la conversin de caracteres alfanumricos a un cdigo ASCII debe utilizarse la instruccin ASC. Durante la transmisin del cdigo ASCII que se compone de 16 caracteres, se activa una identificacin de ejecucin de la instruccin PR en la direccin d+9. Esto significa que la salida Y con la direccin d+9 permanece activada mientras dura la ejecucin de la instruccin PR.

Programacin MELSEC A y Q

7 199

PR
Sin activacin de M9049/SM701 (0)(Funcin 2):

Instrucciones de pantalla

Emisin de una secuencia de caracteres ASCII hasta el cdigo de caracter "00H" del rea de direcciones s como cdigo hexadecimal a las direcciones definidas en d.

1 2

Operando en el cual se almacena el cdigo ASCII. Subprograma 3 Flag para la indicacin del procesamiento de una instruccin PR (se utiliza como interlock) 4 Inicio de la emisin 5 Fin de la secuencia de caracteres (transferencia) 6 Salidas Y 7 Emisin del cdigo ASCII 8 Emisin de la seal Strobe 9 Impresora o equipo de visualizacin
PR_0E2

INDICACIN

Con una CPU de Serie A puede ejecutarse exclusivamente la primera funcin.

Al sobreescribir el contenido de las direcciones de operandos que almacenan el cdigo ASCII, an durante la emisin, se emiten los datos nuevos. El fin de la secuencia de caracteres ASCII se marca por el cdigo de caracter "00H". En caso de no disponer del cdigo hexadecimal "00H" en el operando determinado, se interrumpe el procesamiento y se activa una identificacin de error. Durante la transmisin del cdigo ASCII, se activa una identificacin de ejecucin de la instruccin PR en la direccin Y=d+9. Para la ejecucin de la instruccin PRC se requiere un mdulo de salida con 10 salidas binarias secuenciales. El rango de direcciones se inicia con la direccin de salida indicada en d. El tiempo de procesamiento de una seal de salida en un mdulo de salida es de 30 ms por caracter. Por lo tanto, hasta el procesamiento de n caracteres se requieren n x 30 ms. El programa de ejecucin se ejecuta continuamente, ya que el control de emisin de la transferencia se regula con un procesamiento de interrupcin en intervalos de 10 ms. El procesamiento de las 10 direcciones de salida en el mdulo de salida se ejecuta independientemente de una actualizacin de los estados I/O (Refresh I/O) despus de una instruccin END en la secuencia de trabajo. Adicionalmente al cdigo ASCII se emite una seal Strobe (CON = 10 ms, DESC = 20 ms) mediante la direccin Y= d+8.

7 200

Programacin MELSEC A y Q

Instrucciones de pantalla

PR

Las instrucciones PR y PRC pueden ejecutarse repetidamente. Sin embargo, la programacin debe ejecutarse de tal modo que se excluye la ejecucin simultnea de dos o ms instrucciones PR/PRC. Debido a este motivo debe programarse la identificacin de ejecucin (operando de salida en Y= d+9) como bloqueo de la instruccin.

Programacin MELSEC A y Q

7 201

PR
Ejemplo PR

Instrucciones de pantalla

El siguiente programa con flanco positivo de X0, convierte la secuencia de caracteres "ABCDEFGHIJKLMNOP" en un cdigo ASCII y almacena este en los registros de datos D0 a D7. Despus de la activacin de X3 se emite el cdigo ASCII de D0 a D7 a las salidas Y14 a Y1D.

Lista de instrucciones MELSEC

Lista de instrucciones IEC

Plano de contactos

PR___MB1, PR___IB1, PR___KB1

7 202

Programacin MELSEC A y Q

Instrucciones de pantalla

PR

Los siguientes diagramas de flujo de seales explican con mayor detalle el modo de procesamiento del programa.

1 2

Almacenamiento de la secuencia de caracteres "ABCDEFGH" en D0 a D3 Almacenamiento de la secuencia de caracteres "IJKLMNOP" en D4 a D7 3 Cdigo ASCII 4 Seal Strobe 5 Flag para la visualizacin del procesamiento de la instruccin PR 6 Procesamiento de la instruccin PR (duracin = 480 ms)
PR___AB1, PR_0E1, PR_0E2

INDICACIONES

Al no utilizar una CPU de la Serie A y al no estar activado el SM701, debe escribirse el valor "00H" en el registro D8. Sin este cdigo de caracteres puede presentarse un error en el ejemplo arriba indicado. Este ejemplo de programa no es ejecutable sin definicin de variables en el cabezal de la Unidad de Organizacin de Programa (POE). Mayores informaciones se encuentran en el prrafo 3.5.2 Direccionamiento de secuencia de bits y registro en el GX IEC Developer de estas Instrucciones de Programacin. Como consecuencia pueden emitirse mensajes de error del compilador o controlador.

Programacin MELSEC A y Q

7 203

PRC
7.9.2 PRC

Instrucciones de pantalla

CPU
1

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q
1

No para Q00JCPU, Q00CPU y Q01CPU


Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante K Punter Nivel o I N Largo de bloque

H (16#) P

ndice

Pasos

Operandos MELSEC A

Carry Flag

Error Flag

M9010 M9012 M9011


7 1

s d
1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Usuario) Bit Palabra

Filendice

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiale de ndice s Zn Palabra U\G


Constantes $

Otros P, I, J, U

s d
1

Solo para Y

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

PRC__ME1, PRC__KE1, PRC__IE1

GX Developer

PRC__GE1

Variables

Operando s d

Valor de comando Primera direccin del operando en el cual se almacena el comentario a emitir. Direccin del mdulo de salida al cual se emite el comentario.

Tipo de datos BIN 16 bits Bit

7 204

Programacin MELSEC A y Q

Pasos

Error Flag

Operandos MELSEC Q

Instrucciones de pantalla

PRC

Funcionamiento

Emisin a un equipo perifrico PRC Emisin de un comentario

La instruccin PRC emite un comentario de un operando (en cdigo ASCII) a un mdulo de salida. En la Serie A de MELSEC se lee la secuencia de caracteres, dividida en 2 por 8 caracteres, del rango de direcciones s y se emite hacia las salidas indicadas en d. En la Serie Q o en el System Q puede efectuarse una seleccin entre la emisin de 16 o 32 caracteres. La seleccin se efecta mediante el rel interno especial SM701. En caso de estar activado SM701 (1), se emiten 16 caracteres, en caso de no estar activado SM701 (0), se emiten 32 caracteres.

1 2

Comentario (cdigo ASCII) a partir de X1 Inicio de la emisin 3 Salidas Y 4 Subprograma 5 Flag para la indicacin del procesamiento de una instruccin PR (se utiliza como interlock) 6 Emisin del cdigo ASCII 7 Emisin de la seal Strobe 8 Impresora o equipo de visualizacin
PRC__AB1, PRC0E1

Programacin MELSEC A y Q

7 205

PRC

Instrucciones de pantalla

Los siguientes diagramas de flujo de seales explican con mayor detalle el modo de procesamiento de la instruccin PRC. Transcurso de seal con una CPU de QnA:

1 2

Seal Strobe Seal para la visualizacin del procesamiento de la instruccin PRC 3 Procesamiento de la instruccin PRC (duracin = 16 x 30 ms = 480 ms)
PRC0E2

Transcurso de seal con una CPU de Q de procesador mltiple


A Y30 - Y37 Vorverarbeitung 41H 30ms EIN PRC AUS EIN 1 Y38 AUS 10 10 10 ms msms EIN 2 Y39 AUS 3 EIN 4 SM721 AUS EIN 6 SM 720 AUS 7
1 2

B 42H

C 43H

N 4EH

O 4FH

Seal Strobe Seal para la visualizacin de la emisin de seales 3 Procesamiento de la instruccin PRC (duracin = 16 x 30 ms = 480 ms) 4 Indicacin que se accede a un archivo 5 Durante este tiempo no puede ejecutarse otra instruccin PRC. 6 Indicacin que se termin el acceso al archivo 7 Durante este tiempo no pueden ejecutarse otras instrucciones 8 Todas las instrucciones con excepcin de PRC, S.FREAD, S.FWRITE, PLOAD, PUNLOAD y PSWAPP, pueden ejecutarse
PRC0E3

7 206

Programacin MELSEC A y Q

Instrucciones de pantalla

PRC

Se ocupan 10 salidas binarias de un mdulo digital de salida. El rango de direcciones se inicia con la direccin de salida Y indicada en d. El tiempo de procesamiento de una seal de salida en un mdulo de salida es de 30 ms por caracter. Por lo tanto, hasta el procesamiento de n caracteres se requieren n x 30 ms. El programa de ejecucin se ejecuta continuamente, ya que el control de emisin de la transferencia se regula con un procesamiento de interrupcin en intervalos de 10 ms. Adicionalmente al cdigo ASCII se emite una seal Strobe (CON = 10 ms, DESC = 20 ms) mediante la direccin Y = d+8. Durante la transferencia del cdigo ASCII que se compone de 16 caracteres, se activa una identificacin de ejecucin de la instruccin PRC en la direccin d+9, esto quiere decir que la salida Y con la direccin d+9 se mantiene activado mientras dure la ejecucin de la instruccin PRC. Las instrucciones PR y PRC pueden ejecutarse repetidamente. Sin embargo, la programacin debe ejecutarse de tal modo que se excluye la ejecucin simultnea de dos o ms instrucciones PR/PRC. Debido a este motivo debe programarse la identificacin de ejecucin (operando de salida en d+9) como bloqueo de la instruccin. En caso de no encontrarse datos en el rango de direcciones s, no se ejecuta la instruccin. La instruccin PRC puede acceder solamente a los comentarios ya almacenados en el PLC. Para la conversin de caracteres alfanumricos a un cdigo ASCII debe utilizarse la instruccin ASC. El rel interno especial SM720 de la Serie Q/System Q se activa despus de la ejecucin de la instruccin para un ciclo. SM721 se activa durante la ejecucin de la instruccin PRC. La instruccin PRC no puede seleccionarse cuando se activ el SM721. INDICACIONES

Los comentarios a los cuales accede con la instruccin PRC, deben estar almacenados en la tarjeta de memoria. No es posible acceder a los comentarios almacenados en la memoria interna. El archivo de comentarios al cual accede la instruccin PRC, se ajusta en el modo de parametrizacin PC File Setting. Una emisin de comentarios no es posible con la instruccin PRC cuando no se ajust ningn archivo. La instruccin PRC no debe ejecutarse en un programa de interrupcin. Como consecuencia pueden surgir funciones errneas. Los operandos de comentario para la instruccin PRC se almacena en la tarjeta de memoria IC. En la memoria interna de la CPU no pueden almacenarse los comentarios (solamente para la Serie Q).

Programacin MELSEC A y Q

7 207

PRC
Ejemplo PRC

Instrucciones de pantalla

En el siguiente programa se activa la salida Y35 despus de la activacin del X0, simultneamente se emite el comentario de Y35 como cdigo ASCII hacia las salidas Y60 a Y69. Despus de la activacin del X3 se repone el Y35.

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

PRC__MB1, PRC__KE1, PRC__IE1

7 208

Programacin MELSEC A y Q

Instrucciones de pantalla

LED

7.9.3

LED

CPU
1 2

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Solamente para CPU de A3N Solamente para CPU de A3A 3 No para CPU de Q2A(S1)
Operandos Operandos de bit X s
1

Largo de bloque

Operandos de palabra (16 bits) F T C D W R A0 A1 Z V

Constante K

Y M L

H P (16#)

ndice

Pasos

Operandos MELSEC A

Punter Nivel o I N

Carry Flag

Error Flag

M9012 M9010 M9011 3


1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Operandos internos (Sistema, Usuario) Bit Palabra

Filendice

MELSECNET/10 Directo J\ Bit

Mdulos Registro especiale de ndice s Zn Palabra U\G

Constantes $

Otros

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

LED__ME1, LED__KE1, LED__IE1

Variables

Operando s

Valor de comando

Tipo de datos

Primera direccin del operando en el cual estn almacenados los datos ASCII a Secuencia de indicar. caracteres

Programacin MELSEC A y Q

7 209

Pasos 2

Error Flag

Operandos MELSEC Q

LED
Funcionamiento Emisin a una indicacin de LED LED

Instrucciones de pantalla

Indicacin de los datos ASCII almacenados en la pantalla LED de la CPU

La instruccin LED llama los datos ASCII (16 caracteres) de un rango de direcciones predefinido y visualiza estos en una pantalla LED de una CPU apropiada. La direccin inicial de los cdigos almacenados en las 8 direcciones, se determina en s (vase el siguiente esquema).

1 2

Datos a visualizar Caracteres ASCII 3 Cdigo ASCII (hexadecimal) 4 Pantalla LED en la CPU frontal
LED_0E1

En caso de no encontrarse datos ASCII en el rango de direcciones indicado, se mantiene vaca la indicacin de los temporizadores, contadores, datos y registros de enlaces. En los registros de archivo R se efecta una visualizacin discrecional. La indicacin se mantiene vaca en caso de haber eliminado previamente los registros respectivos de archivos. En la pantalla LED de las CPUs respectivas pueden indicarse nmeros de 0 a 9, todas las letras entre A y Z (solamente maysculas sin caracteres especiales), as como los siguientes caracteres especiales : < > = x / ' + La instruccin LED puede acceder solamente a los datos ASCII ya almacenados. Para la conversin de caracteres alfanumricos a un cdigo ASCII debe utilizarse la instruccin $MOV o bien ASC.

INDICACIN

La instruccin LED puede ejecutarse solamente por una CPU de A3N, A3A, Q3A, Q4A y Q4AR CPU. En caso de CPUs sin indicacin de LED se ejecuta el procesamiento de la instruccin sin reaccin.

7 210

Programacin MELSEC A y Q

Instrucciones de pantalla

LED

Ejemplo

LED El siguiente programa convierte una secuencia de caracteres en un cdigo ASCII, almacena este en los registros indicados y emite el contenido de registro a la pantalla LED de la CPU. Despus de la activacin de X0, en el primer paso se convierte la secuencia de caracteres "ABCDEFGHIJKLMNOP" en un cdigo ASCII y se almacena en los registros de datos D88 a D95. Despus de la activacin de X16 se indican los datos ASCII almacenados en D88 a D95, en la pantalla de la CPU.

Lista de instrucciones MELSEC

Lista de instrucciones IEC

Plano de contactos

LED__MB1, LED__KB1, LED__IB1

Programacin MELSEC A y Q

7 211

LEDC
7.9.4 LEDC

Instrucciones de pantalla

CPU
1 2

AnS

AnN

AnA(S)

AnU

QnA(S), Q4AR

System Q

Solamente para CPU de A3N. Solamente para CPU de A3A. 3 No para CPU de Q2A(S1)
Operandos Operandos de bit X Y M L S B F Operandos de palabra (16 bits) T C D W R A0 A1 Z V Constante K Punter Nivel o I N Largo de bloque

H P (16#)

ndice

Pasos

Operandos MELSEC A

Carry Flag

Error Flag

M9012 M9010 M9011 3


1

La cantidad de pasos en caso de utilizacin de una CPU de AnA, AnAS o AnU se indica en el prrafo 3.10.2 Con una CPU de AnA, AnAS y AnU de estas Instrucciones de Programacin.
Operandos Mdulos especiale Registro de ndice s Zn Palabra U\G

Operandos MELSEC Q

Filendice Bit s

Constantes $

Palabra

Bit

BL BL\S, BL\TR

GX IEC Developer

Lista de instrucciones MELSEC

Plano de contactos

Lista de instrucciones IEC

LEDC_ME1, LEDC_KE1

Variables

Operando s

Valor de comando

Tipo de datos

Primera direccin del operando en el cual se almacena el comentario a indicar. Direccin

7 212

Programacin MELSEC A y Q

Pasos 2

Error Flag

Operandos internos (Sistema, Usuario)

MELSECNET/10 Directo J\

Otros

Instrucciones de pantalla

LEDC

Funcionamiento

Emisin a una indicacin de LED LEDC Indicacin de los comentarios almacenados en la pantalla LED de la CPU

La instruccin LEDC llama los comentarios de operandos (16 caracteres) de un rango de direcciones predefinido y visualiza estos en una pantalla LED de una CPU apropiada. En caso de estar pendientes ms de 16 caracteres, se indican solamente los primeros 16 caracteres. En s se determina la direccin inicial del operando cuyos comentarios deben indicarse. En caso que el operando indicado en s, no dispone de ningn comentario, se mantiene vaca la pantalla de la CPU frontal o bien se elimina. Cuando los datos se encuentran fuera del rango de comentarios, no se ejecuta el procesamiento de la instruccin LEDC y se mantiene el contenido previo de la visualizacin. Cuando un comentario contiene caracteres que no pueden indicarse en la pantalla de la CPU, se ejecuta una indicacin defectuosa. En la pantalla LED de las CPUs respectivas pueden indicarse nmeros de 0 a 9, todas las letras entre A y Z (solamente maysculas sin caracteres especiales), as como los siguientes caracteres especiales : < > = x / ' + La instruccin LED no puede ejecutarse por la CPU de Q2A (S1). El procesamiento se ejecuta sin reaccin.

INDICACIN

La instruccin LEDC sirve en la instrucciones extendidas de aplicacin de las CPUs de AnA para la activacin de los operandos. Para la programacin de la instruccin LEDC en combinacin con una CPU de A3A CPU deben observarse las indicaciones respectivas en las instrucciones de programacin particulares de las CPUs de A