{"id":44,"date":"2026-02-11T09:00:33","date_gmt":"2026-02-11T08:00:33","guid":{"rendered":"https:\/\/www.cigna-baruffi-garelli.edu.it\/didattica\/?page_id=44"},"modified":"2026-02-11T09:07:07","modified_gmt":"2026-02-11T08:07:07","slug":"homepage","status":"publish","type":"page","link":"https:\/\/www.cigna-baruffi-garelli.edu.it\/didattica\/","title":{"rendered":"Homepage"},"content":{"rendered":"    <div id=\"pid-sim-app\" class=\"cst-app\">\n        <!-- Header -->\n        <div class=\"cst-header\">\n            <div class=\"cst-header-icon\">\n                <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M2 12h4l3-9 4 18 3-9h6\"\/><\/svg>\n            <\/div>\n            <div>\n                <h2 class=\"cst-title\">PID Simulator &amp; Tuner<\/h2>\n                <p class=\"cst-subtitle\">Analisi della risposta temporale di sistemi controllati<\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"cst-grid\">\n            <!-- LEFT: Parameters -->\n            <div class=\"cst-panel\">\n                    <fieldset class=\"cst-fieldset\">\n        <legend>Funzione di Trasferimento G(s)<\/legend>\n        <p class=\"cst-hint\">Coefficienti dal grado pi\u00f9 alto al pi\u00f9 basso, separati da virgola.<br>\n        Es: <code>1<\/code> \/ <code>1, 2, 1<\/code> &rarr; G(s) = 1 \/ (s&sup2; + 2s + 1)<\/p>\n        <div class=\"cst-tf-row\">\n            <div class=\"cst-tf-block\">\n                <label>Numeratore N(s)<\/label>\n                <input type=\"text\" id=\"pid-tf-num\" value=\"1\" spellcheck=\"false\">\n            <\/div>\n            <div class=\"cst-tf-divider\"><\/div>\n            <div class=\"cst-tf-block\">\n                <label>Denominatore D(s)<\/label>\n                <input type=\"text\" id=\"pid-tf-den\" value=\"1, 2, 1\" spellcheck=\"false\">\n            <\/div>\n        <\/div>\n        <div class=\"cst-tf-preview\" id=\"pid-tf-preview\"><\/div>\n    <\/fieldset>\n    \n                <!-- PID -->\n                <fieldset class=\"cst-fieldset\">\n                    <legend>Controllore PID<\/legend>\n                    <p class=\"cst-hint\">C(s) = K<sub>p<\/sub> + K<sub>i<\/sub>\/s + K<sub>d<\/sub>&middot;s<\/p>\n                    <div class=\"cst-params-grid\">\n                        <div class=\"cst-param\">\n                            <label>K<sub>p<\/sub> <span class=\"cst-param-tag\">Proporzionale<\/span><\/label>\n                            <input type=\"number\" id=\"pid-kp\" value=\"1\" step=\"0.1\">\n                            <input type=\"range\" min=\"0\" max=\"50\" step=\"0.1\" value=\"1\" class=\"cst-slider\" data-target=\"pid-kp\">\n                        <\/div>\n                        <div class=\"cst-param\">\n                            <label>K<sub>i<\/sub> <span class=\"cst-param-tag\">Integrale<\/span><\/label>\n                            <input type=\"number\" id=\"pid-ki\" value=\"0\" step=\"0.1\">\n                            <input type=\"range\" min=\"0\" max=\"50\" step=\"0.1\" value=\"0\" class=\"cst-slider\" data-target=\"pid-ki\">\n                        <\/div>\n                        <div class=\"cst-param\">\n                            <label>K<sub>d<\/sub> <span class=\"cst-param-tag\">Derivativo<\/span><\/label>\n                            <input type=\"number\" id=\"pid-kd\" value=\"0\" step=\"0.01\">\n                            <input type=\"range\" min=\"0\" max=\"10\" step=\"0.01\" value=\"0\" class=\"cst-slider\" data-target=\"pid-kd\">\n                        <\/div>\n                    <\/div>\n                <\/fieldset>\n\n                <!-- Simulation Settings -->\n                <fieldset class=\"cst-fieldset\">\n                    <legend>Simulazione<\/legend>\n                    <div class=\"cst-input-row\">\n                        <div>\n                            <label>Ingresso<\/label>\n                            <div class=\"cst-btn-group\" id=\"pid-input-select\">\n                                <button class=\"cst-btn-option active\" data-type=\"step\">Gradino<\/button>\n                                <button class=\"cst-btn-option\" data-type=\"impulse\">Impulso<\/button>\n                                <button class=\"cst-btn-option\" data-type=\"ramp\">Rampa<\/button>\n                            <\/div>\n                        <\/div>\n                        <div>\n                            <label>Tempo (s)<\/label>\n                            <input type=\"number\" id=\"pid-sim-time\" value=\"10\" min=\"0.5\" max=\"200\" step=\"0.5\" class=\"cst-num-input\">\n                        <\/div>\n                        <div>\n                            <label>Ampiezza<\/label>\n                            <input type=\"number\" id=\"pid-sim-amp\" value=\"1\" step=\"0.1\" class=\"cst-num-input\">\n                        <\/div>\n                    <\/div>\n                    <div class=\"cst-loop-row\">\n                        <label>Tipo di anello:<\/label>\n                        <div class=\"cst-btn-group\" id=\"pid-loop-select\">\n                            <button class=\"cst-btn-option active\" data-type=\"closed\">Chiuso<\/button>\n                            <button class=\"cst-btn-option\" data-type=\"open\">Aperto<\/button>\n                        <\/div>\n                    <\/div>\n                <\/fieldset>\n\n                <button class=\"cst-run-btn\" id=\"pid-btn-simulate\">\n                    <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><polygon points=\"5,3 19,12 5,21\"\/><\/svg>\n                    Simula\n                <\/button>\n            <\/div>\n\n            <!-- RIGHT: Chart + Metrics -->\n            <div class=\"cst-panel cst-panel-chart\">\n                <!-- Warning Banner -->\n                <div class=\"cst-warning\" id=\"pid-warning\">\n                    <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                        <path d=\"M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z\"\/>\n                        <line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/>\n                    <\/svg>\n                    <span id=\"pid-warning-text\">Sistema instabile \u2014 risposta divergente<\/span>\n                <\/div>\n\n                <div class=\"cst-chart-container\">\n                    <canvas id=\"pid-chart\"><\/canvas>\n                <\/div>\n\n                <div class=\"cst-metrics\" id=\"pid-metrics\" style=\"display:none;\">\n                    <div class=\"cst-metric\">\n                        <span class=\"cst-metric-label\">Valore finale<\/span>\n                        <span class=\"cst-metric-value\" id=\"pid-m-final\">\u2014<\/span>\n                    <\/div>\n                    <div class=\"cst-metric\">\n                        <span class=\"cst-metric-label\">Sovraelongazione<\/span>\n                        <span class=\"cst-metric-value\" id=\"pid-m-overshoot\">\u2014<\/span>\n                    <\/div>\n                    <div class=\"cst-metric\">\n                        <span class=\"cst-metric-label\">Tempo di salita (10\u219290%)<\/span>\n                        <span class=\"cst-metric-value\" id=\"pid-m-rise\">\u2014<\/span>\n                    <\/div>\n                    <div class=\"cst-metric\">\n                        <span class=\"cst-metric-label\">Tempo di assestamento (\u00b12%)<\/span>\n                        <span class=\"cst-metric-value\" id=\"pid-m-settle\">\u2014<\/span>\n                    <\/div>\n                    <div class=\"cst-metric\">\n                        <span class=\"cst-metric-label\">Errore a regime<\/span>\n                        <span class=\"cst-metric-value\" id=\"pid-m-error\">\u2014<\/span>\n                    <\/div>\n                <\/div>\n\n                <div class=\"cst-chart-actions\">\n                    <button class=\"cst-save-btn\" id=\"pid-btn-save-png\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4\"\/><polyline points=\"7 10 12 15 17 10\"\/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"\/><\/svg>\n                        Salva PNG\n                    <\/button>\n                    <button class=\"cst-save-btn\" id=\"pid-btn-save-csv\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z\"\/><polyline points=\"14 2 14 8 20 8\"\/><\/svg>\n                        Esporta CSV\n                    <\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Block Diagram -->\n        <div class=\"cst-block-diagram\">\n            <div class=\"cst-block-label\">Schema a blocchi:<\/div>\n            <div class=\"cst-blocks\">\n                <span class=\"cst-blk-signal\">R(s)<\/span>\n                <span class=\"cst-blk-arrow\">\u2192<\/span>\n                <span class=\"cst-blk-sum\" id=\"pid-blk-sum\">\u03a3<\/span>\n                <span class=\"cst-blk-arrow\">\u2192<\/span>\n                <span class=\"cst-blk-box cst-blk-pid\">C(s)<br><small id=\"pid-blk-pid-val\">PID<\/small><\/span>\n                <span class=\"cst-blk-arrow\">\u2192<\/span>\n                <span class=\"cst-blk-box cst-blk-plant\">G(s)<br><small id=\"pid-blk-plant-val\">Impianto<\/small><\/span>\n                <span class=\"cst-blk-arrow\">\u2192<\/span>\n                <span class=\"cst-blk-signal\">Y(s)<\/span>\n                <span class=\"cst-blk-feedback\" id=\"pid-blk-feedback\">\n                    <span class=\"cst-blk-fb-line\"><\/span>\n                    <span class=\"cst-blk-fb-arrow\">\u21b5<\/span>\n                <\/span>\n            <\/div>\n        <\/div>\n\n            <div class=\"cst-footer\">\n        <span class=\"cst-footer-author\">\n            &copy; 2026 <strong>Davide \"the Prof.\" Bertolino<\/strong>\n            &mdash; <a href=\"https:\/\/www.davidebertolino.it\" target=\"_blank\">www.davidebertolino.it<\/a>\n            &mdash; <a href=\"mailto:info@davidebertolino.it\">info@davidebertolino.it<\/a>\n        <\/span>\n        <span class=\"cst-footer-author\">Control Systems Toolbox v2.7<\/span>\n    <\/div>\n        <\/div>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-44","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.cigna-baruffi-garelli.edu.it\/didattica\/wp-json\/wp\/v2\/pages\/44","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cigna-baruffi-garelli.edu.it\/didattica\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.cigna-baruffi-garelli.edu.it\/didattica\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.cigna-baruffi-garelli.edu.it\/didattica\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cigna-baruffi-garelli.edu.it\/didattica\/wp-json\/wp\/v2\/comments?post=44"}],"version-history":[{"count":3,"href":"https:\/\/www.cigna-baruffi-garelli.edu.it\/didattica\/wp-json\/wp\/v2\/pages\/44\/revisions"}],"predecessor-version":[{"id":50,"href":"https:\/\/www.cigna-baruffi-garelli.edu.it\/didattica\/wp-json\/wp\/v2\/pages\/44\/revisions\/50"}],"wp:attachment":[{"href":"https:\/\/www.cigna-baruffi-garelli.edu.it\/didattica\/wp-json\/wp\/v2\/media?parent=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}