adamo Posted February 28 Report Posted February 28 Buongiorno, con la speranza che l'argomento non sia stato già trattato, volevo chiedere a voi esperti: Sto utilizzando Tia16, PLC e HMI, vorrei far in modo che alla pressione di un pulsante sull' HMI mi porti ad una pagina, già create, tenendo conto di una serie di memorie che sono sul PLC. Mi spiego meglio, il pulsante sull'HMI è sempre lo stesso, ma a seconda della ricetta, e quindi una memoria, che sta girando sul PLC si attivi o meno la pagina corrispondente alla ricetta che sta girando in quel momento sul PLC. In pratica a seconda di 4 ingressi del plc, combinazione a bit, se sono a zero oppure a uno, mi carico una ricetta, vorrei che allo stesso modo, sull'HMI, quando pigio il pulsante creato apra la pagina corrispondente alla ricetta che sto utilizzando. Come sempre.......grazie
Mattia Spoldi Posted February 28 Report Posted February 28 o fai uno scipt sul'hmi (solo se è un modello comfort), altrimenti la via più semplice è ti crei 16 pulsanti, ad ognuno imposti la visibilità subordinata alla ricetta caricata e poi li metti tuitti uno sopra all'altro.
adamo Posted February 28 Author Report Posted February 28 7 ore fa, Mattia Spoldi ha scritto: o fai uno scipt sul'hmi (solo se è un modello comfort), altrimenti la via più semplice è ti crei 16 pulsanti, ad ognuno imposti la visibilità subordinata alla ricetta caricata e poi li metti tuitti uno sopra all'altro. Intanto grazie, confermo è un comfort ma onestamente non saprei da dove iniziare con lo script, è complicato? Adamo
Mattia Spoldi Posted March 1 Report Posted March 1 non è niente di complicato, crei un nuovo script, dentro ci metti un case (o una serie di if then else) collegato alla tua variabile, in base alla variabile chiami un activatepage diverso, poi richiami il tuo script alla pressione del pulsante
pigroplc Posted March 1 Report Posted March 1 Dim puntatore puntatore = 0 'anche se non serve te lo metto per capire If SmartTags("Ingresso 1") Then puntatore = puntatore +1 'statements End If If SmartTags("Ingresso 2") Then puntatore = puntatore +2 'statements End If If SmartTags("Ingresso 3") Then puntatore = puntatore +4 'statements End If If SmartTags("Ingresso 4") Then puntatore = puntatore +8 'statements End If ' così hai la combinazione binaria del case qui sotto (da zero a quindici) 'Please replace all sequences which are enclosed with '_' by your own code. Select Case puntatore Case 1 ActivateScreen "ScritturaProgramma_1", 0 Case 2 ActivateScreen "ScritturaProgramma_2", 0 Case 3 ActivateScreen "ScritturaProgramma_3", 0 ' eccetera Case Else ActivateScreen "PaginaCheDiceProgrammaNonEsistente", 0 End Select
Simone.Salarsi Posted March 2 Report Posted March 2 ci sarebbe un'altra soluzione se non vuoi avventurarti in script o se ti dovesse capitare la stessa situazione con un Basic Panel. Puoi definire una variabile a PLC su cui caricare il numero di pagina a seconda delle combinazioni di bit ed usare la funzione ActivateScreenByNumber sul tasto legata al valore inserito da PLC
Mattia Spoldi Posted March 2 Report Posted March 2 9 ore fa, Simone.Salarsi ha scritto: ci sarebbe un'altra soluzione se non vuoi avventurarti in script o se ti dovesse capitare la stessa situazione con un Basic Panel. Puoi definire una variabile a PLC su cui caricare il numero di pagina a seconda delle combinazioni di bit ed usare la funzione ActivateScreenByNumber sul tasto legata al valore inserito da PLC effettivamente questa è la soluzione più semplice e veloce
adamo Posted Thursday at 07:00 PM Author Report Posted Thursday at 07:00 PM Il 2/3/2026 alle 08:18 , Simone.Salarsi ha scritto: ci sarebbe un'altra soluzione se non vuoi avventurarti in script o se ti dovesse capitare la stessa situazione con un Basic Panel. Puoi definire una variabile a PLC su cui caricare il numero di pagina a seconda delle combinazioni di bit ed usare la funzione ActivateScreenByNumber sul tasto legata al valore inserito da PLC Il 2/3/2026 alle 08:18 , Simone.Salarsi ha scritto: ci sarebbe un'altra soluzione se non vuoi avventurarti in script o se ti dovesse capitare la stessa situazione con un Basic Panel. Puoi definire una variabile a PLC su cui caricare il numero di pagina a seconda delle combinazioni di bit ed usare la funzione ActivateScreenByNumber sul tasto legata al valore inserito da PLC Premessa, funzionaaaa!, grazieeee. Non ho ben capito però come fa ad associare le pagine ad un numero, mi spiego: Ho creato 15 pagine, con il nome "Ricetta 2020" fino alla 2034, ebbene scrivendo un numero che va da 2 a 16 mi carica, al secondo del numero scritto in quel momento, una pagina, ad esempio scrivendo 8 mi carica la pagina relativa alla Ricetta 2026, ma scrivendo 9 mi abilita la pagina relativa alla ricetta 2032. Ribadisco che funziona, mi sono fatto uno specchietto con le varie combinazioni ed ho risolto. Ancora grazia a tutti. Adamo Il 2/3/2026 alle 18:11 , Mattia Spoldi ha scritto: effettivamente questa è la soluzione più semplice e veloce
Simone.Salarsi Posted Friday at 07:17 AM Report Posted Friday at 07:17 AM 12 ore fa, adamo ha scritto: Premessa, funzionaaaa!, grazieeee. Non ho ben capito però come fa ad associare le pagine ad un numero, mi spiego: Ho creato 15 pagine, con il nome "Ricetta 2020" fino alla 2034, ebbene scrivendo un numero che va da 2 a 16 mi carica, al secondo del numero scritto in quel momento, una pagina, ad esempio scrivendo 8 mi carica la pagina relativa alla Ricetta 2026, ma scrivendo 9 mi abilita la pagina relativa alla ricetta 2032. Ribadisco che funziona, mi sono fatto uno specchietto con le varie combinazioni ed ho risolto. Ancora grazia a tutti. Adamo Per impostare il numero di pagina c'è una proprietà nella scheda generale di ogni pagina
adamo Posted 10 hours ago Author Report Posted 10 hours ago Il 06/03/2026 alle 08:17 , Simone.Salarsi ha scritto: Per impostare il numero di pagina c'è una proprietà nella scheda generale di ogni pagina Ancora grazie a tutti, non c' è niente da fare, si impara fino alla bara!, diceva il nostro direttore generale!. Adamo
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now