Skip to main content

Diálogo: Configuración de análisis estático: Convenciones de nomenclatura

Función: En el diálogo, usted definir los prefijos para los tipos de datos y los alcances de las variables, así como los prefijos para las POU y los tipos de datos definidos por el usuario (DUT). Comprobaciones de análisis estático cumplimiento con las convenciones de nomenclatura. Cuando no se observa una convención, el análisis estático informa un mensaje de error en el Mensajes vista. Para más información, ver: Configurar y ejecutar análisis estático

Llamar:

  • Proyecto → Configuración del proyecto menú, Análisis estático categoría, Abrir cuadro de diálogo de configuración Enlace

  • Construir → Análisis estático → Configuración menú

Requisito:

  • El CODESYS Static Analysis el paquete está instalado.

  • Un proyecto está abierto.

Los mensajes de error se muestran en el siguiente formato: sa_icon_message.png NC <prefix of convention number> : <message text>. NC significa "convención de nomenclatura". Por ejemplo, el mensaje de error sa_icon_message.pngNC0102: Nombre no válido... significa una violación de la convención de nomenclatura 102 para POU de tipo PROGRAM.

Sugerencia

Puedes usar el 'naming' pragma para desactivar convenciones de nomenclatura para individuos identificadores. Los identificadores pueden comenzar con cualquier cosa, no necesariamente con el prefijo.

Filtrar

Campo de entrada para las cadenas que se buscarán

Tabla con las convenciones de nomenclatura

nombres

Nodos y elementos para los que se puede definir un prefijo.

El número entre paréntesis después de cada elemento (por ejemplo, PROGRAMA (102)) es el número de convención de prefijo que se notifica en caso de incumplimiento de una convención de nomenclatura.

Prefijo

Campo de entrada del prefijo

  • Se pueden especificar varios prefijos mediante la separación por comas.

    Ejemplo:

    Prefijo para POU, PROGRAM (102): prog, PRG_

    Prefijo para POU, FUNCTION (103): fun, FUN_

  • Las expresiones regulares (RegEx) también son posibles para los prefijos. Para hacer esto, un @ tiene que ser antepuesto.

    Ejemplo:

    El nombre tiene que empezar por x y puede contener un carácter del alcance a-dA-D: @x[a-dA-D].

  • Para variables de tipo Alias y POUs de tipo Propiedad, el prefijo se puede definir con el marcador de posición {datatype}.

Prefijos para variables

Nodo organizativo para todas las variables para las que se puede definir un prefijo según el tipo de datos o el ámbito.

Prefijos para POU

Nodo organizativo para todos los tipos de POU y alcances de métodos para los que se puede definir un prefijo

Prefijos para DUT

Nodo organizativo para los tipos de datos DUT (estructura, enumeración, alias o unión) para los que se puede definir un prefijo

Prefijos para tipos personalizados

Nodo organizativo para tipos personalizados especiales (particularmente los de bibliotecas)

Puede ampliar la lista con convenciones: haga clic en el espacio en blanco debajo de ella. En el Asistente de entrada cuadro de diálogo, especifique el nombre de un tipo personalizado o seleccione un tipo personalizado.

Para eliminar una convención, selecciónela y presione el botón Supr llave.

Nota: Estas convenciones tienen prioridad sobre los prefijos que se definen con el atributo {attribute 'nameprefix' := '<prefix>'}.

Opciones

El primer carácter después del prefijo debe ser una letra mayúscula

standard icon: el análisis estático informa de un error para una variable cuando el primer carácter del nombre de la variable después del prefijo definido no es una letra mayúscula.

Combine el prefijo de ámbito con el prefijo de tipo de datos

standard icon: Como espacio de nombres, una variable debe tener el prefijo definido seguido del prefijo definido para su tipo de datos.

Ejemplo: Se definen los siguientes prefijos: g_ por VAR_GLOBAL, y r para el tipo de datos VERDADERO.

El análisis de código informa errores para variables REAL globales que no tienen el prefijo g_r.

_cds_icon_option_deactivated.png: si se especifican convenciones para el espacio de nombres para una variable, estas convenciones se tienen en cuenta. Como resultado, se ignoran las convenciones de tipos de datos.

Ejemplo: Se definen los siguientes prefijos: g_ por VAR_GLOBAL, y r para el tipo de datos VERDADERO.

El análisis de código reporta exclusivamente errores para global REAL variables que no tienen el prefijo g_.

Prefijos recursivos para tipos de datos combinables

standard icon: Las variables de tipos de datos combinados deben tener prefijos compuestos que sigan las convenciones de nomenclatura definidas.

Ejemplo:

ppiVariable : POINTER TO POINTER TO INT;

el prefijo p se definió para variables de tipo de datos POINTER, y el prefijo I se definió para el tipo de datos INT.

El análisis estático informa errores para todas las variables de tipo POINTER TO POINTER TO INT que no tienen el prefijo ppi.

refaiVar : REFERENCE TO ARRAY[1..3] OF INT;

el prefijo ref se definió para el tipo de datos REFERENCE TO, el prefijo a para una matriz, y el prefijo I para el tipo de datos INT.

El análisis estático informa errores para todas las variables de tipo REFERENCE TO ARRAY[1..3] OF INT que no tienen el prefijo refai.

Ejemplo

La siguiente convención de nomenclatura corresponde en su mayor parte a las recomendaciones que se describen en CODESYS para los "identificadores".

_san_prefixes_for_variables_types.png
_san_prefixes_for_variables_scopes.png
_san_prefixes_for_pous_and_duts.png

Ejemplo

La convención de nomenclatura (1) se refiere a la POU estándar TON. Como resultado, las declaraciones de la POU de la biblioteca especial se comprueban en busca del prefijo "ton_". Haga clic en el espacio en blanco (2) para insertar más convenciones de nomenclatura.

_san_img_prefixes_for_user_defined_types.png