Mitsubishi Electric MELSEC A Serie Manual De Programación página 559

Tabla de contenido

Publicidad

Instrucciones estructuradas de programa
Funciona-
Llamada de una rutina de subprograma
miento
CALL
La llamada de una rutina de subprograma con una instrucción CALL se ejecuta mediante
indicación de la dirección de puntero Pxx de la rutina de subprograma en el MELSEC MEDOC
o bien mediante indicación de la etiqueta en la rutina de subprograma en el GX IEC Developer.
La dirección 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
programación de la dirección de puntero (etiqueta) se ejecuta en función de las indicaciones
para las instrucciones de salto (véase CJ, SCJ, JMP).
1
Rutina de programa principal
2
Rutina de subprograma
La instrucción CALL llama la rutina de subprograma indicada con la dirección de puntero
(etiqueta). En la programación de la instrucción 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 ejecución de una rutina de subprograma, se mantienen
activados incluso en caso que esta rutina ya no sigue ejecutándose. Para reponer estos
operandos, debe utilizarse la instrucción FCALL.
Fuentes de
En los siguientes casos se presenta un error de procesamiento y se aplica un Error Flag:
error
● Después de la ejecución de una instrucción CALL se ejecuta una instrucción END, FEND,
GOEND o STOP sin que se haya ejecutado previamente una instrucción RET
(Serie Q/System Q = Código de error 4211).
● Una instrucción RET se ejecuta antes de instrucción CALL
(Serie Q/System Q = Código de error 4212).
● Se ejecutan más de 5 anidamientos (serie A) o bien más de 16 anidamientos (serie Q/
System Q) (Serie Q/System Q = Código de error 4213).
● En el puntero/etiqueta indicado, no existe ninguna rutina de subprograma
(Serie Q/System Q = Código de error 4210).
● En una instrucción CALL se indica una dirección de puntero (etiqueta) superior a P(etiqueta)
255 (Serie A).
● La subrutina se abandona con una instrucción JMP antes de ejecutar una instrucción RET
(serie A).
Programación MELSEC A y Q
Llamada de una rutina de subprograma
CALL, CALLP
CALL0E1
7 – 133

Hide quick links:

Publicidad

Tabla de contenido
loading

Tabla de contenido