Misure (schede vere, firmware 0.3.39–0.3.71, novembre 2026)
| Cosa | Valore | Dove |
|---|---|---|
| Network LD → ST (3 istruzioni VM) | 788 ns | ESP32-WROOM 240 MHz |
| Network con ADD DINT su DB | 1.364–1.460 ns | ESP32 |
| Scansione vuota (I/O, SDB, controlli) | ~0,13 ms | ESP32 |
| carico-100fc: Main + 101 FC, 14,8 KB | 1,44 ms | ESP32 |
| 4,3 MB di codice macchina, 129 blocchi: VM / misto | 209,7 / 38,9 ms | ESP32-P4, 60 confronti con l'interprete uguali |
| Programma piccolo con cicli: VM / codice macchina | 136 / 168 µs | ESP32-P4 |
| Memoria di lavoro libera, WiFi + Ethernet | 11.702 byte | ESP32 |
| Memoria di lavoro libera | 7.989.150 byte | ESP32-P4 con PSRAM |
| µLink, andata e ritorno medio (3 moduli ESP32) | 309–495 µs | PLC P4, periodo 5 ms |
| µLink, risposte in ritardo sotto stress | 0,06–0,42 % | 22.608 scambi per modulo |
| µLink, modulo ESP32-C3 + W5100 (SPI) | 4,7–7,3 ms | il chip SPI è il collo di bottiglia |
| µLink, 8 moduli | ~1,3 ms di bus ogni 5 ms | documentazione µLink |
| µLink, 192 moduli (prova) | 16 ms per inviare tutto | ESP32-P4 |
| Download di 127 KB via USB (cavo seriale, compresi STOP e scrittura in flash) | ~28 s | ESP32-P4, misura automatica di MiaConfig |
| Editor via Ethernet / USB | 0,7–1,3 s / 33,5 s | 370 KB, 18 file |
| Richiesta di stato via Ethernet, PLC in RUN | 31–40 ms | ESP32 e P4 |
Stime (da confermare)
- P4 con la VM interprete: almeno 1,5× l'ESP32 (CPU RISC-V 360–400 MHz; la stima va da 1,5 a 2,2×). Nei calcoli usiamo 1,5×.
- Chiamata di una FC: ~0,3 µs, più ~0,25 µs per parametro.
- Stanza: 23 network di bit, 3 box (scala e confronti del clima), 26 parametri → ~29 µs su ESP32, ~19 µs sul P4; 107 byte di chiamata + 24 byte di DB; la FC «Stanza» 600 byte, una volta sola. 12 uscite per stanza: 5 stanze per modulo da 63 uscite utili.
- Ettaro: 2 settori × (5 network, 4 box con il timer, 12 parametri) → ~26 µs su ESP32; 102 byte di chiamate, 56 byte di DB (due TIMER da 16 byte, tempi, soglie, sonda). Stazione fissa: 4 KB di codice, 1 KB di DB, 0,4 ms.
- Nastro: 20 network di bit, 10 box (inseguimento, tempi, confronti), 15 parametri → ~34 µs su ESP32, ~23 µs sul P4 con la VM; col codice macchina del P4 5,4× più veloce (il valore misurato sul programma grande). 63 byte di chiamata, 64 byte di DB (coda delle valigie, timer); 4 ingressi per nastro: 15 nastri per modulo. Obiettivo: tutto aggiornato entro 20 ms.
- Bus: periodo = almeno 5 ms, con il bus occupato al massimo al 60 %; sul P4 0,083 ms per modulo (192 moduli in 16 ms). Reazione al peggio = 2 periodi + 1 ciclo.
- P4, configurazione estesa (in sviluppo): 1000 schede I/O, aree I/O da 128 kbit, area REAL da 131.072 valori (128k). Una sonda REAL per stanza e per ettaro.
Le formule
ciclo = 0,13 ms + N × (network × 0,79 + box × 1,4 + 0,3 + parametri × 0,25) µs ÷ velocità memoria = codice fisso + N × byte di chiamata ≤ memoria di lavoro dati = dati fissi + N × byte di DB ≤ area dei DB periodo = max(5 ms, moduli × tempo per modulo ÷ 0,6)
Il calcolatore è nel file assets/js/prestazioni.js del sito: tutti i numeri di partenza sono in cima, con la loro fonte.
