Vai al contenuto
PLC Forum


Touch Area Wincc Unified V20


Messaggi consigliati

Inserito:

Ciao a tutti, 

da qualche mese ho iniziato ad usare i nuovi pannelli siemens Unified. Molte parti di programmazione sono in java, dove non sono tanto pratico. Tramite l'oggetto "Touch Area" dovrei far aumentare e diminuire una variabile in modo progressivo oppure a step. Scrivendo il codice mi da sempre un errore sulle parentesi. Qualcuno mi può aiutare? 

Vi ringrazio. 


  • 2 weeks later...
Inserita:

Sinceramente non l'ho trovo più, forse l'ho eliminato. In ogni caso sono partito da questo codice:

 

export function Touch_area_1_OnGestureDetected(item, gesture) {
if (gesture == UI.Enums.HmiGesture.SwipeLeft)
{
 HMIRuntime.UI.SysFct.SetPropertyValue("../swMenuRight", "Visible", true);
}
if (gesture == UI.Enums.HmiGesture.SwipeRight)
{
 HMIRuntime.UI.SysFct.SetPropertyValue("../swMenuRight", "Visible", false);
}
}

 

che lo uso per aprire e chiedere un menu all'interno di una pagina (costruito con un istruttore unifild). Ho modificato il codice inserendo up e down al posto left e right e inserendo la variabile che deve comandare. Mi sembra di aver fatto una cosa del genere come quella sotto:

 

if (gesture == UI.Enums.HmiGesture.SwipeUp
{
 Tags.Inching.SysFct.ReadAndIncreaseTag: (int, value:10);
}
if (gesture == UI.Enums.HmiGesture.SwipeDown
{
 HMIRuntime.Tags.Inching.SysFct.ReadAndDecreaseTag: (int, value: 10);
}
}

Mattia Spoldi
Inserita:

ci sono un po' di errori nel codice,

1 - ti mancano le ')' di chiusura dell'if,

2 - sulla funzione di incremento non hai messo HMIRuntime

3 - su entrambe hai messo un ':' che non dovrebbe esserci

4 - hai chiamato la variabile 'int' senza doppi apici (io non userei come nome di variabile int, gli darei un nome sensato)

5 - quando inserisci il valore di decremento/incremento, scrivi 'value: xx', il 'value:' non ci va

 

con questo funziona

 

export function Touch_area_1_OnGestureDetected(item, gesture) {

  switch (gesture) 
  {
    case UI.Enums.HmiGesture.SwipeDown:
      HMIRuntime.Tags.SysFct.IncreaseTag("variabile", -10);
      break;
    
    case UI.Enums.HmiGesture.SwipeUp:
      HMIRuntime.Tags.SysFct.IncreaseTag("variabile", 10);
      break;

 

    case UI.Enums.HmiGesture.SwipeLeft:
      // fai qualcosa
      break;

 

    case UI.Enums.HmiGesture.SwipeRight:
      // fai qualcos'altro
      break;
  }

}

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