Domocla Inserito: 23 febbraio 2017 Segnala Share Inserito: 23 febbraio 2017 Buongiorno a tutti, sono alle prese con la simulazione di un progetto realizzato con Step 7 e CPU S7 300. Premessa: gli ingressi da simulare non sono dichiarati esplicitamente (es. E0.1) bensì vengono appoggiati con una funzione move da PED0 al DB102.DBX0.0 DB102.DBX0.1 ecc... Pertanto quanto devo simulare la reazione del sistema all'eccitazione dell'ingresso fisico e0.0 in realtà vado a simulare l'eccitazione del DB102.DBX0.0 che inserisco come una variabile generica. Il ciclo della simulazione è posizionato in "continuo" ma quando attivo l'ingresso questo è momentaneo e non stabile. Al termine del ciclo va a 0. Nella realtà l'ingresso sarà mantenuto ad 1 da un selettore ma nella simulazione come posso mantenerlo a 1 fisso senza essere costretto a utilizzare il ciclo singolo per ripristinare manualmente il bit del database? Grazie. Link al commento Condividi su altri siti More sharing options...
eddy Inserita: 1 marzo 2017 Segnala Share Inserita: 1 marzo 2017 Hai provato a trasferire ED0 al posto di PED0 ? Link al commento Condividi su altri siti More sharing options...
Domocla Inserita: 8 marzo 2017 Autore Segnala Share Inserita: 8 marzo 2017 Ciao Eddy, io trasferisco sul simulatore DB102.DBX 0.0 e sollevo il bit 0 a 1. Ma al ciclo successivo lo butta a 0. Se utilizzo ED (sempre sul simulatore) non mi permette di gestire i bit. Il DB102.DBX 0.0 è abbinato all'interruttore generale dell'impianto. Non è interruttore e non un pulsante a ritenzione. Quindi non c'è nessuna ragione logica che quel bit vada a 0. E' il primo della lista. Link al commento Condividi su altri siti More sharing options...
DesmoGiec Inserita: 8 marzo 2017 Segnala Share Inserita: 8 marzo 2017 Non ho ben capito.. Tu forzi il bit della db.. Ma al ciclo successivo è ovvio torni a 0,perché muovi ped0 sulla db. Se e0.0 è a 0,in automatico va a 0 il bit della db.. Link al commento Condividi su altri siti More sharing options...
mirko.trevenzoli Inserita: 8 marzo 2017 Segnala Share Inserita: 8 marzo 2017 Se tu forzi ad un valore db102.dbx0.0, poi al ciclo successivo il plc lo sovrascrivere con il valore letto dalla PED e te lo rimette a 0. Potresti far saltare la parte dove fai il trasferimento da PED a DB con un salto incondizionato . A questo punto, non venendo più sovrascritti i valori della db102 rimarranno al valore che tu imposti. Link al commento Condividi su altri siti More sharing options...
pescatore Inserita: 8 marzo 2017 Segnala Share Inserita: 8 marzo 2017 Scusa, ma se dalla vista di plc SIM, aggiungi la scheda ingressi, la metti come formato byte, indirizzi eb0, a questo punto vedi le caselline di spunta per i primi 8 ingressi; selezioni l'ingresso e0.0 e questo ti rimane attivo sino a quando non togli la spunta nel plc SIM, cosi puoi fare il debug del tuo programma completo Link al commento Condividi su altri siti More sharing options...
Domocla Inserita: 9 marzo 2017 Autore Segnala Share Inserita: 9 marzo 2017 Nella maschera del plc SIM ho aggiunto la scheda ingressi e ho inserito EB0 mettendo a 1 il bit 0 (vi ricordo che PED0 viene spostato con un move su DB102.DBD0). In questo modo dovrei portare a 1 il bit del DB102.DBX0.0 ma non funziona. Vedo il blocchetto MOVE correttemente abilitato ma se porto a 1 il bit meno significativo di PED0 (quindi EB 0 0 0 0 0 0 0 1) non succede nulla. Dovrei aspettarmi che DB102.DBX0.0 vada a 1 e che sulla linea di PED0 legga 16#00000001. Invece nonostante ciò io sulla linea del PED0 leggo sempre 16#00000000 . Link al commento Condividi su altri siti More sharing options...
mirko.trevenzoli Inserita: 9 marzo 2017 Segnala Share Inserita: 9 marzo 2017 L'area PED e l'area E non sono la stessa cosa... https://support.industry.siemens.com/cs/document/18325417/perché-e-quando-serve-l'indirizzamento-della-periferia-?dti=0&lc=it-IT Link al commento Condividi su altri siti More sharing options...
Domocla Inserita: 9 marzo 2017 Autore Segnala Share Inserita: 9 marzo 2017 Ok. Pero' se utilizzo eb 0 e porto a 1 il bit che mi interessa si dovrebbe aggiornare anche il bit di database associato. Corretto? E invece cio' non avviene. Visto che non avviene sul simulatore non avverrebbe nemmeno sul plc? Non ho trovato sui manuali nulla che facesse riferimento a questo aspetto. Link al commento Condividi su altri siti More sharing options...
DesmoGiec Inserita: 9 marzo 2017 Segnala Share Inserita: 9 marzo 2017 Non so bene come funzioni il simulatore, probabilmente non gestisce correttamente la periferia. Di fatto, se utilizzassi ED0 anzichè PED0 (come ti è già stato suggerito), il problema non lo avresti. All'atto pratico, nel plc, funzionerebbe. Link al commento Condividi su altri siti More sharing options...
Domocla Inserita: 19 marzo 2017 Autore Segnala Share Inserita: 19 marzo 2017 Grazie a tutti del supporto. I dati del db vanno a 0 semplicemente perche' collegati a degli ingressi di periferica (es pew0) che essendo presenti ma solo simulati muovono il db relativo a 0. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora