Smanettone15 Inserito: 10 ore fa Segnala Inserito: 10 ore fa Buongiorno a tutti ho un problema anzi due. Voglio limitare la funzione Jog+ nella selezione di un recod per impedire che continuando a premere il pulsante abbinato alla funzione il contatore vada oltre il limite massimo di record disponibili. Vengo all'esempio pratico. Ho un Recipe con numero di record variabili. Creo un pulsante al quale abbino la funzione JOG+ e come dispositivo sul quale scrivere imposto LocalHMI > Recipe > Selection. Come incremento imposto 1. Tutto funziona regolarmente se non fosse che raggiunto l'ulimo record disponibile se continuo a premere il pulsante abbinato alla funzione in realtà sembra che il contatore vada avanti anche se non sono presenti ulteriori record. Ovvero se raggiunto l'ultimo record premo altre 2 volte il tasto JOG+, per ritornare a selezionare l'ultimo record devo premere 2 volte il tasto JOG-. Pensavo di impostare dei limiti dinamici utilizzando come limite massimo la funzione Local HMI > Recipe > Count ma il risultato non è quello sperato. Se per esempio imposto come valore 0 il limite su JOG- tutto funziona perfettamente. Però non ho idea di come impostare il limite massimo su JOG+ considerando che non conosco il numero dell'ultimo record disponibile. Altro problema. Se voglio creare un nuovo record con la funzione Command > 1 è possibile aggiungere un record nuovo vuoto? Attulamente il nuovo record creato mi ripropone i valori inseriti nell'ultimo record. Grazie per le risposte. Pietro
Simone.Salarsi Inserita: 2 ore fa Segnala Inserita: 2 ore fa Recipe.count contiene il numero di ricette presenti nel database, quindi la tua ultima ricetta sarà sempre Count-1 siccome l'indice parte da zero. Pertanto se tu hai 4 ricette la i tuoi limiti devono essere 0 ( valore fisso) e 3 ( Count-1). Io per fare questa cosa ho fatto un piccolo script ed uso il valore calcolato come limite alto macro_command main() short Count, CalcCount GetData(Count, "Local HMI", RECIPE, "Prodotto.Count") // leggo numero attuale di ricette presenti nel DB // aggiorno la word che utilizzo come valore di controllo nell'action trigger // per lanciare la macro (RECIPE.Prodotto.Count <> LW190 allora lancio la macro) SetData(Count, "Local HMI", LW, 190, 1) if Count >0 then CalcCount = Count -1 else CalcCount = 0 end if SetData(CalcCount, "Local HMI", "RecipeActualCount", 1) Per il secondo problema invece non lo so, devo provare a guardare ma mi viene da pensare che non sia possibile.
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