Skip to main content

SA0134: Conversiones explícitas firmadas/sin firmar

Detecta conversiones explícitas de tipos de datos firmados a tipos de datos sin firmar y viceversa

Justificación: El uso excesivo de conversiones de tipos puede indicar que se han seleccionado tipos de datos incorrectos para las variables. Por este motivo, existen pautas de programación que requieren una justificación explícita para las conversiones de tipos de datos.

Importancia: Baja

ejemplo 57. Ejemplo
PROGRAM PLC_PRG
VAR
    byVar :BYTE;
    udiVar : UDINT;
    uliVar : ULINT;
    lwVar : LWORD;
    wVar : WORD;
    siVar   : SINT;
    iVar    : INT;
    diVar : DINT;
    liVar   : LINT;
END_VAR
liVar := ULINT_TO_LINT(uliVar);
udiVar := DINT_TO_UDINT(diVar);
siVar := BYTE_TO_SINT(byVar);
wVar := INT_TO_WORD(iVar);
lwVar := SINT_TO_LWORD(siVar);

Salida en el Mensajes vista:

  • sa_icon_message.png SA0134: Conversión explícita firmada/sin firmar del tipo 'ULINT' al tipo 'LINT'

  • sa_icon_message.png SA0134: Conversión explícita firmada/sin firmar del tipo 'DINT' al tipo 'UDINT'

  • sa_icon_message.png SA0134: Conversión explícita firmada/sin firmar del tipo 'BYTE' al tipo 'SINT'

  • sa_icon_message.png SA0134: Conversión explícita firmada/sin firmar del tipo 'INT' al tipo 'WORD'

  • sa_icon_message.png SA0134: Conversión explícita firmada/sin firmar del tipo 'SINT' al tipo 'LWORD'