biondo Inserito: 27 maggio Segnala Inserito: 27 maggio Buongiorno a tutti, Ho un progetto con PLC S7-1500 e 2 pannelli 12 pollici Comfort Avrei la necessità di cambiare pagina con uno script se un bit di abilitazione pannello è attivo e bloccare l'altro pannello. Ho creato un DB a livello di PLC (DB75) con una variabile Numero Pagina.Ho dichiarato una variabile nel Hmi 1 e 2 che punta a quella variabile con ciclo continuo 100ms e faccio un cambia valore sulla variabile e al suo variare lancio lo script.Nel PLC in un DB chiamato HMI ho 2 bool Abilita_HMI_1 e Abilita_HMI_2. Nello script a seconda del valore delle 2 bool e del numero pagina a cui devo andare o vado alla pagina richiesta se il bool del HMI è attivo o carico uno scrren di LOCK(Diverso per i 2 pannelli) Sulla carta funziona tutto, in pratica abilitando sempre un pannello e cambiando la pagina da visualizzare ho risultati incostanti, ovvero la pagina caricata non è quella che richiamo ma quella successiva al cambio. come se la variabile numero pagina rimanesse indietro. Allego Script. Dim Memoria Dim PageRequest PageRequest=0 'pulisco la variabile Memoria=False 'pulisco la variabile Memoria=SmartTags("HMI_Hmi_Abilita_HMI_2") 'controllo se HMI 2 è attivo PageRequest=SmartTags("DB75_Numero_Pagina") 'Leggo in numero di pagina richiesto dal PLC If Memoria Then ' Lancio lo screen di blocco HmiRuntime.BaseScreenName="Lock_1" Else 'Carico la pagina richiesta ActivateScreenByNumber PageRequest,0 End If Qualcuno ha avuto comportamenti simili ? ActivateScreenByNumber sembra non funzionare correttamente....le pagine del progetto sono circa 50 🙃 Grazie per qualsiasi aiuto o suggerimento.
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