Bloques de función del sistema

A partir de la versión V2.3.56 se puede generar el siguiente mensaje de error cuando se compila un proyecto antiguo.

Error: Insuficientes 'contadores de retención' reservados para el compilador. Modificar los registros del sistema 5 o 6. o Error: Insuficientes 'contadores de no retención' reservados para el compilador. Modificar los registros del sistema 5 o 6.

El motivo de esta modificación a partir de la versión V2.3.56, es que se pueden asignar las llamadas a bloques de función, a áreas de retención y de no retención. Así, para cada llamada VAR_RETAIN del bloque de función CT_FB, el compilador asigna un contador del sistema del área de temporizadores/contadores, desde el límite superior hasta el comienzo del área de retención (registro del sistema 6). Por cada llamada de la clase VAR, el compilador asigna un contador del sistema desde el final del área de no retención (valor de los registros del sistema del 6 al 1) hasta el número de comienzo de los contadores (registro del sistema 5). Si los registros del sistema 5 o 6 están configurados de forma que el área de asignación no es válida, ocurre uno de los mensajes de error arriba descritos. Los registros del sistema 5 o 6 deben configurarse correctamente o se debe modificar la clase de la llamada del bloque de función.

Ejemplo

En la versión anterior a V2.3.56, los contadores comenzaban a partir del número 3071, que se encuentra en el área de retención. A partir de la versión V2.3.56, el compilador intenta asignar el contador a un área de no retención. Sin embargo, está limitado por los registros del sistema 5 o 6.

Solución: Modificar los registros del sistema 5 o 6 para ampliar el área de no retención de los contadores

o

Modificar la clase en la cabecera del programa que contiene la llamada asignada al área de retención.

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