Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Cambio Pagine S7 1200 E Kp 300


Messaggi consigliati

Inserito: (modificato)

Buongiorno a tutti

scrivo per chiedere lumi su una questione che è piuttosto banale,ma alla quale non trovo risposta.

Ho una piccola automazione che comprende una cpu 1212c dc/dc/dc collegata ad un pannellino kp 300 . Ho creato varie pagine che l'operatore 'sfoglia' usando tasti funzione presenti sul pannello che tramite la funzione ' cambio pagina' permettono tale operazione.

Fin qui tutto ok.

Durante certe fasi del programma avevo necessità di richiamare determinate pagine al verificarsi di determinati eventi e per fare ciò ho seguito i consigli di una discussione simile che ho trovato qui : ho creato una variabile 'cmd_cambio_pag' nel plc e poi su win cc ho fatto in modo che fosse collegata con la variabile di sistema del cambio pagina. Come consigliato da Batta ho inserito la variabile in tutte le pagine modello e non,anche se piccola ed invisibile,in modo che fosse sempre aggiornata.

A questo punto per comandare un cambio pagina da programma vado a scrivere il numero di pagina che voglio sia visualizzata dentro la variabile 'cmd_cambio_pag',e tutto funziona a meraviglia ma....

c'è un ma,mi sfugge qualcosa e non capisco cosa.

Dunque supponiamo che in un determinato momento sia visualizzata la pagina numero 1. Ad un certo punto si verifica l'evento esterno che richiama la pagina numero 2 e giustamente la pagina 2 appare. Ora l'operatore supponiamo faccia un cambio pagina tramite il tasto funzione sul pannellino per ritornare alla pagina 1 e la pagina 1 riappare...se a questo punto però si ri-manifesta l'evento che chiama la pagina 2 essa non appare! A furia di pensarci ho capito che era perchè il numero 2 era già presente dentro la variabile,e che quindi per lei non era cambiato nulla. O almeno credo sia cosi.

Su altre applicazioni sto usando anche somachine e su vijeo designer oltre alla possibilità di scrivere il numero di pagina da visualizzare analogamente a quanto fatto con il TIA esiste un'altra variabile dove posso andare a leggere la pagina visualizzata. Con questa variabile tramite qualche qualche riga di programma e qualche confronto riesco a scrivere zero dentro la variabile cambio pagina del plc ogni volta che rilevo un cambio pagina(zero perchè non provoca nessun cambio pagina);in questo modo funziona.

Sul TIA ho risolto più o meno alla stessa maniera tranne che lo zero lo muovo sul fronte discendente del bit che aveva richiamato una determinata pagina. In pratica sul fronte di salita scrivo ad esempio 5 e la pag 5 viene visualizzata,non appena l'evento cessa sul fronte di discesa scrivo zero. In questo modo la pagina rimane visibile ma sulla variabile posso scrivere qualsiasi altro valore sicuro che avrà effetto.

Mi scuso sin dall'inizio di aver fatto un pò di confusione,ma sono sicuro esista una soluzione più elegante per fare tutto ciò. Ringrazio anticipatamente tutti coloro che volessero esprimere un parere

Matteo

Modificato: da step-80

Giuseppe Signorella
Inserita: (modificato)

Come detto anche in altre discussioni, non è necessario inserire alcuna variabile connessa ad un oggetto "invisibile" nelle pagine per farle apparire, ma è sufficiente impostare la variabile che utilizzi per il richiamo delle pagine in modo che il refresh avvenga ciclicamente. Puoi anche settare il tempo di refresh.

Nelle medesime discussioni nonché nella sezione didattica, trovi anche un esempio

Credo che non esiste un modo più "elegante".

Per effettuare il successivo richiamo con la metodologia da te descritta, la condizione è quella di "azzerare" la variabile, poi il modo con cui farlo è soggettiva.

Io in genere creo delle finestre popup dove inserisco un pulsante di conferma che una volta premuto, oltre a rendere nuovamente invisibile la finestra fa il lavoro da te descritto.

Nello specifico il Kp 300 non essendo touch puoi utilizzare l'evento "pagina cancellata" per azzerare la tua variabile.

Modificato: da Giuseppe Signorella

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...