Vai al contenuto

Pagina subordinata da una memoria sul PLC


Messaggi consigliati

Inserito:

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

 

Inserita:

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.

 

Inserita:
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

Inserita:

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

 

Inserita:

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
Inserita:

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

image.png.75d0940990cb91a61ece0831a2da132a.png

Mattia Spoldi
Inserita:
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

image.png.75d0940990cb91a61ece0831a2da132a.png

effettivamente questa è la soluzione più semplice e veloce

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...