Vai al contenuto

Informazioni sull’utilizzo di macro

Home Forum Terminali operatore (Weintek) Informazioni sull’utilizzo di macro

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #35624
    Mattia
    Partecipante

    Salve a tutti, scrivo per chiedere info su una macro di conversione di una variabile Word (LW100) in Byte (rispettivamente HiByte e LoByte). Ho provato ad usare le funzioni HiByte e LoByte ma mi vengono visualizzati valori sbagliati. Le macro sono queste:

    HiByte
    macro_command main()
    short  dato, result
    GetData (dato, “Local HMI”, LW, 100, 1)
    HIBYTE(dato; result)
    SetData (result, “Local HMI”, LW, 110, 1)
    end macro_command

    LoByte
    macro_command main()
    short  dato, result
    GetData (dato, “Local HMI”, LW, 100, 1)
    LOBYTE(dato; result)
    SetData (result, “Local HMI”, LW, 102, 1)
    end macro_command

    Le macro sono eseguite ciclicamente ogni secondo. I risultati vengono trasferiti rispettivamente su LW110 e LW102, ma se per esempio su LW100 ho 2512, nella LW110 ho 9 e su LW102 ho 208. Qualcuno può darmi un’aiuto ?

    #38427
    Sergio Bertana
    Amministratore del forum

    Da quello che scrivi le due macro funzionano perfettamente, tu dici la LW100 ha valore 2512 che in esadecimale è 0x9D0.

    Quindi nella LW 110 che contiene l’MSB trovi il valore 9, nella LW 102 che contiene l’LSB trovi il valore 208 che in esadecimale è 0xD0.

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.