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).