Anche le cose semplici a volte si possono complicare un pochino e farci perdere qualche ora del ns prezioso tempo.
Scrivo questo articolo in quanto ho notato che la soluzione non è stata immediata neanche per chi su wincc ci lavora da un pò di tempo.
Aprire una “Finestra di Pagina” in wincc 11 è un’operazione davvero banale.
Esiste un comado apposito per cui anche uno sviluppatore alle prime armi ne sarebbe capace: posizioniamo su una pagina un pulsante che chiameremo “pulsante_1”, creiamo una “finestra di pagina” delle dimensiami che ci servono e dentro come sappiamo possiamo metterci una seconda pagina da visualizzare al suo interno.
Ricordatevi di mettere a False la proprietà “visibile” della “Finesra della pagina”.
Nell’evento “Premere tasto sisnistro del mouse” di “pulsante_1” inseriremo la funzione di sistema “attiva pagina nella finestra” inserendo i parametri che ci vengono chiesti. Mandando in run time la ns applicazione e cliccando su “pulsante_1” vedremo apparire la ns “finestra della pagina”.
I problemi iniziano adesso. Se proviamo a chiudere la finestra della pagina, pur cliccando su “pulsante_1” la ns Finestra della pagina non riapparirà piu’.
La soluzione del problema è scegliere un’altra funzione di sistema all’evento “Premere tasto sinistro del mouse” di “pulsante_1” sicuramente meno intuitivo rispetto alla prima soluzione, ma sicuramente piu’ funzionale: “Definisci proprietà tramite costante”.
Nel nome della pagine inseriamo la pagina su cui stiamo lavorando, oggetto della pagina inseriamo la ns “finestra della pagina”, in Nome della proprietà inseriamo la proprietà “Visibile” della finestra della pagina ed ovviamente nel “Nuovo valore della variabile” inseriamo la costante “true”.
Succede che quando facciamo clic sul pulsante la proprietà “visibile” della ns “finestra della pagina” verrà settata a “true” per cui si aprirà. Se proviamo a chiuderla, tale proprietà verrà settata a False dal sistema per cui rischiacciando “pulsante_1” questa volta il tutto funzionerà perfettamente.
Tale operazione può essere effettuata anche con VB script del quale allego il piccolo listato:
Funzione_1
Dim Fin_Menu
Set Fin_Menu = HMIRuntime.Screens(“Home”).ScreenItems(“Finestra del menù”)
If Fin_Menu.Visible = 0 Then
Fin_Menu.Visible = 1
Else
Fin_Menu.Visible = 0
End If
Basterà mettere negli eventi di “pulsante_1” la Funzione_1 per avere lo stesso effetto della funzione di sistema “Nuovo valore della variabile”
Fabio Stranieri
(Fabio Stranieri è un lettore di questo blog che ha deciso di ricambiare le informazioni ricevute inviandomi un articolo che pubblico molto volentieri)
Scrivi un commento
Devi accedere, per commentare.