WP Manifestindependent plugin directory
manifest / unclassified / controlsystemtoolbox

Control Systems Toolbox

Toolbox scolastico per sistemi automatici

by Davide "the Prof." Bertolino · github.com/dadebertolino/controlsystemtoolbox · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/dadebertolino/controlsystemtoolbox/archive/refs/heads/main.zip

Readme

⚙️ Control Systems Toolbox

Plugin WordPress per l'insegnamento dei Controlli Automatici e dell'Automazione.

9 simulatori interattivi, zero dipendenze, un unico shortcode per modulo. Installa, attiva, insegna.


Moduli

# Modulo Shortcode Categoria
1 Simulatore PID [pid_simulator] Analisi Temporale
2 Diagrammi di Bode [bode_diagram] Analisi in Frequenza
3 Diagramma di Nyquist [nyquist_diagram] Analisi in Frequenza
4 Luogo delle Radici [root_locus] Stabilità
5 Mappa Poli-Zeri [polezero_map] Interattivo
6 Confronto Risposte [response_compare] Analisi Temporale
7 Spazio di Stato ↔ FdT [statespace] Modellazione
8 Algebra dei Blocchi [block_algebra] Modellazione
9 Discretizzazione [discretize] Modellazione

Ogni modulo è indipendente e attivabile singolarmente dalla pagina di configurazione.


Installazione

  1. Scarica il file control-systems-toolbox.zip dall'ultima release
  2. In WordPress: Plugin → Aggiungi nuovo → Carica plugin → seleziona il .zip
  3. Attiva il plugin
  4. Vai in Impostazioni → CS Toolbox per abilitare i moduli e creare le pagine

Oppure clona il repo direttamente in wp-content/plugins/:

cd wp-content/plugins/
git clone https://github.com/TUO-USER/control-systems-toolbox.git

Utilizzo

Inserisci lo shortcode in qualsiasi pagina o post WordPress:

[pid_simulator]

Oppure usa il pulsante "Crea tutte le pagine" nella pagina di configurazione per generare automaticamente una pagina per ogni modulo abilitato.


Architettura

control-systems-toolbox/
├── control-systems-toolbox.php    # Loader, admin page, shortcode registration
├── css/
│   └── cst-styles.css             # Tema dark (~900 righe, variabili CSS)
├── js/
│   ├── cst-math.js                # Math engine condiviso (34 KB, 1028 righe)
│   ├── cst-pid-simulator.js
│   ├── cst-bode-diagram.js
│   ├── cst-nyquist-diagram.js
│   ├── cst-root-locus.js
│   ├── cst-polezero-map.js
│   ├── cst-response-compare.js
│   ├── cst-statespace.js
│   ├── cst-block-algebra.js
│   └── cst-discretize.js
└── includes/
    ├── shared-styles.php           # Enqueue CSS
    ├── shared-math.php             # Enqueue math engine
    ├── pid-simulator.php
    ├── bode-diagram.php
    ├── nyquist-diagram.php
    ├── root-locus.php
    ├── polezero-map.php
    ├── response-compare.php
    ├── statespace.php
    ├── block-algebra.php
    └── discretize.php

Math Engine (cst-math.js)

Il cuore del toolbox. 34 KB di JavaScript puro, nessuna libreria esterna.

Aritmetica polinomiale: moltiplicazione, addizione, divisione, valutazione complessa, conversione in stringa.

Ricerca radici: Durand-Kerner per radici complesse di polinomi arbitrari.

Simulazione temporale: Runge-Kutta 4° ordine, equazioni alle differenze per sistemi discreti.

Analisi in frequenza: risposta in frequenza, margini di guadagno e fase, conteggio avvolgimenti Nyquist.

Spazio di stato: conversione TF ↔ SS (CCF, OCF, Modale), Fadeev-LeVerrier, polinomio caratteristico.

Discretizzazione: ZOH esatto (esponenziale matriciale Padé(6,6) con scale-and-square), Tustin (bilineare), Backward Euler.

Algebra dei blocchi: serie, parallelo, retroazione positiva/negativa.


Pagina di configurazione

In Impostazioni → CS Toolbox trovi:

  • Toggle on/off per ogni modulo (i moduli disabilitati non caricano JS)
  • Creazione automatica pagine con shortcode pre-inserito
  • Gestione pagine: visualizza, modifica, cestina
  • Link rapido dalla pagina Plugin di WordPress

Requisiti

Requisito Versione minima
WordPress 6.0
PHP 8.1
MySQL / MariaDB 5.7 / 10.3
Browser Chrome, Firefox, Edge, Safari (ultimi 2 anni)

Nessuna dipendenza server-side aggiuntiva. L'unica risorsa esterna è Chart.js (caricato da CDN).


Per i docenti

Il toolbox è pensato per accompagnare un corso di Controlli Automatici / Automazione a livello ITIS o universitario. Ogni simulatore è progettato per:

  • Feedback immediato: lo studente modifica un parametro e vede subito l'effetto
  • Rigore matematico: le implementazioni sono validate con 56+ test automatici
  • Esportabilità: grafici PNG e dati CSV per le relazioni di laboratorio

Materiali didattici disponibili

  • Presentazione PID (teoria e pratica, 17 slide)
  • Esercitazione laboratorio Ziegler-Nichols
  • Verifica parametrica ZN (30 varianti, una per studente)
  • Laboratorio Luogo delle Radici (teoria + simulatore)

Changelog

v2.7 (Febbraio 2026)

  • Aggiunto modulo Algebra dei Blocchi (serie, parallelo, retroazione)
  • Aggiunto modulo Discretizzazione (ZOH, Tustin, Backward Euler)
  • Pagina di configurazione admin con creazione automatica pagine
  • Math engine esteso: esponenziale matriciale, operazioni matriciali

v2.5

  • Aggiunto Confronto Risposte (fino a 6 configurazioni sovrapposte)
  • Aggiunto Convertitore Spazio di Stato (CCF, OCF, Modale)

v2.3

  • Aggiunto Luogo delle Radici con slider K interattivo
  • Aggiunto Mappa Poli-Zeri con drag & drop

v2.1

  • Aggiunto Diagramma di Nyquist con conteggio avvolgimenti
  • Bug fix: forma canonica controllabile, cancellazione poli PID

v2.0

  • Aggiunto Diagrammi di Bode con margini automatici
  • Math engine condiviso estratto in cst-math.js

v1.0

  • Primo rilascio: Simulatore PID con risposta temporale

Licenza

GPL v2 or later.


Autore

Prof. Davide Bertolino Controlli Automatici e Automazione — ITIS www.davidebertolino.it

Read the full README on GitHub →

Releases

TagPublished
2.7 Mar 25, 2026

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.