Funciones definidas por el usuario

Para las funciones creadas por el usuario en el proyecto o en la librería de usuario, en la compilación del programa se crea un subprograma. Cada vez que se llama, lo primero que se transfieren son los parámetros de entrada de las clases VAR_INPUT y VAR_IN_OUT. Después se salta dentro del subprograma correspondiente. Finalmente, se leen de nuevo los parámetros de salida VAR_OUTPUT y VAR_IN_OUT. El número de subprogramas o de funciones que se pueden definir depende del tipo de controlador.

Por cada función de usuario, solo se crea un subprograma. Este se puede llamar desde varios puntos.

En el siguiente ejemplo, se usan las direcciones FP para facilitar la comprensión del código ensamblador creado a partir de estas. Puesto que el programa se vuelve más complicado cuando se usa direccionamiento FP, se recomienda utilizar variables con nombres descriptivos.

Temas relacionados

Se llama a la función de usuario User_ADD en el diagrama de contactos:

Tiene el siguiente contenido:

Se genera el siguiente código ensamblador para el PLC:

ST R9010

Transfiere los parámetros de entrada

F0 (*MV*)

R9010 siempre = TRUE

DT0 DT0 -> User_ADD.In1
DT550

F0 (*MV*)

DT1 DT1 -> User_ADD.In2
DT551

CALL 0

Entrada del subprograma User_ADD

ST R9010

Vuelve a cargar los parámetros de salida

F0 (*MV*)

DT552

DT2 User_ADD -> DT2
...

ED

Fin del programa principal

SUB 0

Subprograma User_ADD

ST R9010

F22 (*PLUS_S*)

DT550

DT551

DT552 si (TRUE)
UserAdd=UserAdd.In1 + UserAdd.In2
RET

salto de vuelta al programa principal

Temas relacionados

Modificado el: 2020-10-27Comentarios sobre esta páginaLínea directa de Panasonic