gremodic Report Share Posted February 19 Buongiorno, sono un novizio della programmazione Siemens con TIA PORTAL 15.1. Stavo facendo le mie prove iniziali, ad un certo punto ho notato che da quando ho inserito un blocco counter nel programma, non sono piu stato in grado di modificare le variabili appartenenti alle "Variabili Standard", invece posso continuare a modificare le variabili dei "Blocchi Dati". Rimuovendo il counter tutto ha ricominciato a funzionare. Mi sapete dare la motivazione? Grazie Quote Link to post Share on other sites
drn5 Report Share Posted February 19 Scrivi il tuo codice(o metti uno screenshot) così possiamo aiutarti senza improvvisare Ciao Quote Link to post Share on other sites
gremodic Author Report Share Posted February 19 in assenza di blocco counter, riesco a comandare 0 e 1 senza problemi. Non appena inserisco un blocco counter in un punto qualsiasi del programma conitnuo a vedere ia funzionalita, il log mi riporta che il comando è stato eseguito correttamente, ma nella pratica non viene eseguito. Rimuovendo il counter dal programma, tutto ritorna a funzionare correttamente. Il problema affligge solo le "variabili standard" Mentre sulle variabili definite tramite "Blocco Dati", nessun problema in entrambe le situazioni Spero di essere stato piu chiaro Quote Link to post Share on other sites
batta Report Share Posted February 19 Nel primo caso, hai messo il cursore del mouse sulla variabile nel ladder, nel secondo io vedo il cursore sulla tabella delle variabili. In altre parole: non ho capito cos'è che non funziona, e il tuo esempio è tutt'altro che esplicativo. Quote Link to post Share on other sites
Simone.Salarsi Report Share Posted February 19 il current value (CV) del counter scrive sulla DWord MD0, la quale comprende i singoli byte MB0, MB1, MB2 e MB3. per questo motivo quando togli il counter riesci a comandare i singoli bit (M0.0 che si vede nella prima immagine) se premi F11 (riferimenti incrociati) e poi premi l'icona col disegno di un trattino, vedrai che ti segnala un overlapping delle variabili Quote Link to post Share on other sites
Mattia Spoldi Report Share Posted February 19 3 ore fa, gremodic ha scritto: Stai sovrapponendo le variabili da SWDI_00 a 02 con la variabile SWDAI_00, ti basta cambiare gli indirizzi e dovrebbe funzionare. Quote Link to post Share on other sites
max.bocca Report Share Posted February 19 Purtroppo non viene fatto notare la sovrapposizione dal Tia. Se usi MD0 devi considerare che utilizza 4byte quindi MB0,1,2,3 32bit , se fosse una Word sono 2 byte quindi 16bit Quote Link to post Share on other sites
gremodic Author Report Share Posted Tuesday at 09:28 AM Il 19/2/2021 alle 20:47 , max.bocca ha scritto: Purtroppo non viene fatto notare la sovrapposizione dal Tia. Se usi MD0 devi considerare che utilizza 4byte quindi MB0,1,2,3 32bit , se fosse una Word sono 2 byte quindi 16bit Grazie a tutti, ho verificato ed effettivamente era questo il problema, pensavo che le aree di memoria fossero gestite diversamente come avviene su altri modelli di PLC. Quote Link to post Share on other sites
batta Report Share Posted Wednesday at 10:41 AM Il 23/2/2021 alle 09:28 , gremodic ha scritto: pensavo che le aree di memoria fossero gestite diversamente come avviene su altri modelli di PLC. Per curiosità, su quali? Non è una questione di PLC, ma di informatica: una DWord occupa 4 byte. Può cambiare l'ordine dei byte (da destra a sinistra o da sinistra a destra), ma sono sempre 4 byte. Quote Link to post Share on other sites