Vai al contenuto

Dubbio indirizzamento variabili su sistema SlimLine

Home Forum Terminali operatore (Weintek) Dubbio indirizzamento variabili su sistema SlimLine

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #55182
    Anonimo
    Inattivo

    Sto preparando un programma con molte variabili  Modbus da pubblicare su di un pannello HMI Weintek, ho le prime 127 variabili BOOL, assegnate agli indirizzi 100.0 – 100.127, quindi in Modbus sul pannello utilizzo gli indirizzi 40000 – 40127.

    Ora dovrei assegnare variabili REAL, la prima sarà 100.128, quindi in Modbus sul pannello avrà indirizzo 40000+(128/2)=40064. Ma la 40064 è già assegnata ad una variabile BOOL, dove mi son perso?

    #55185
    Sergio Bertana
    Amministratore del forum

    Vediamo di fare chiarezza…

    Con l’accesso a variabili BOOL (Comandi Modbus 0x/1x sul pannello HMI) l’indirizzo di richiesta Modbus ricevuto da HMI viene utilizato dallo SlimLine per puntare alla variabile nella DB100 semplicemente sottraendo l’offset 40000. Quindi la 40064 del pannello corrisponde alla variabile BOOL allocata a 100.64.

    Con l’accesso a variabili WORD (Comandi Modbus 3x/4x sul pannello HMI) l’indirizzo di richiesta Modbus ricevuto da HMI viene utilizato dallo SlimLine per puntare alla variabile nella DB100 sottraendo l’offset 40000 e moltiplicando il risultato per 2. Quindi la 40064 del pannello corrisponde alla variabile WORD allocata a 100.128.

    Ricordo ancora che essendo lo SlimLine basato su architettura ARM le variabili a 2 bytes vanno sempre allocate ad indirizzo divisibile per 2 (Esempio 100.2, 100.4, … 100.130,.. 100.514, ecc), le variabili a 4 bytes come le REAL vanno sempre allocate ad indirizzo divisibile per 4 (Esempio 100.4, 100.8, … 100.128,.. 100.512, ecc).

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