Netlog III utilizzo display incorporato
Home › Forum › Controllori SlimLine e Netsyst (LogicLab) › Netlog III utilizzo display incorporato
Taggato: NetLog display incorporato
- Questo topic ha 5 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 5 anni, 7 mesi fa da
Sergio Bertana.
-
AutorePost
-
Ottobre 27, 2018 alle 6:07 am #45676
Gianluca
PartecipanteBuongiorno, le sto provando tutte ma non riesco proprio a gestire i tasti e i messaggi del NetLog III con display incorporato. Qualcuno ha un progetto demo per questa gestione?
Ottobre 27, 2018 alle 6:37 am #45713Sergio Bertana
Amministratore del forumNell’ultima versione di LogicLab (3.0.0) abbiamo inserito tra i progetti di esempio il programma ABCNetlog, un esempio di utilizzo del display di Netlog, lo allego per il download.
Un ottimo esempio di utilizzo del display integrato nel Netlog è dato dal programma ServerMonitor (Download) che è il programma citato in questa knowledge. Viene eseguita l’acquisizione di un misuratore di energia monofase, i dati acquisiti sono visualizzati sul display ed inviati via REST ad un server nel cloud.
Giugno 28, 2019 alle 8:16 am #48346alessandro.paniccia
PartecipanteDevo realizzare un programma su NetlogIII che tra le altre specifiche dovrà avere la possibilità di modifica di 3-4 variabili direttamente dal display integrato.
Stò vedendo l’esempio ABCNetlog del post precedente però non mi è ben chiaro come implementare 3-4 variabili per poterle successivamente modificare. Mi potete dare qualche dritta per favore…
Giugno 28, 2019 alle 8:25 am #48348Sergio Bertana
Amministratore del forumNella configurazione dei messaggi (Screenshot) puoi definire per ogni messaggio il numero che desideri di variabili, quindi a tua scelta puoi avere 3 messaggi (Uno per ogni variabile da impostare) oppure fare un unico messaggio con tutte e 3 le variabili.
Per inserire la visualizzazione delle variabili sul display devi mettere il tag <n>, dove al numero corrisponde la definizione della variabile nella tabella. Si possono gestire solo variabili globali di progetto sia allocate in DB100 che automatiche.
Per ogni variabile è possibile definire se è editabile oppure no, per tutte le variabili editabili può essere impostato il valore tramite i tasti del Netlog. Come funziona l’imputazione…
Agendo sul tasto [F] il valore della prima variabile editabile del messaggio diventa lampeggiante, agendo nuovamente su [F] si passa alla seconda, e così via.
Con la variabile lampeggiante agendo sul tasto [E] si attiva la modifica del valore, lampeggerà la cifra meno significativa, i tasti [L] e [R] permettono di spostarsi sulle cifre, i tasti [U] e [D] permettono di impostare il valore.
Il tasto [E] conferma il valore impostato, il tasto [F] abortisce l’imputazione.
Settembre 24, 2019 alle 1:36 pm #49961Gianluca
PartecipanteTutto funziona ma ho ancora un dubbio/problema che non riesco a risolvere: quando arrivo ad un certo messaggio (Impostazione manuale uscite) disabilitare i tasti navigazione fino alla pressione del tasto F e cambiare il modo di modifica variabili usando i tasti L e R per spostarmi sulla riga 2 e far lampeggiare la variabile editabile e i tasti U e D per variare il valore.
Questo perchè nel mio utilizzo quando provo le uscite manualmente diventa troppo lungo ed in certi casi pericoloso il tempo per rientrare nel modo edit standard. Ad esempio per spegnere l’uscita 7 devo premere F 7 volte, premere E, premere D e poi di nuovo E. Se potessi tenere sempre selezionata la stessa variabile potrei accendere e spegnere più rapidamente. Il messaggio sul display è fatto così:
Riga 1: 1-2-3-4-5-6-7-8
Riga 2: <1> <2> <3> <4> <5> <6> <7> <8>Le variabili sono associate alle uscite digitali.
Settembre 24, 2019 alle 3:47 pm #49987Sergio Bertana
Amministratore del forumLa gestione integrata del display purtruppo ha regole definite che non sono modificabili, quindi per passare da una variabile all’altra di un messaggio si utilizza il tasto [F] eseguita l’inputazione del valore ed accettata con il tasto [E] si riparte della prima variabile.
Ma se tu definisci un messaggio con due variabili stringa da 16 caratteri (Esempio RowUp e RowDw) e poi da programma le gestisci puoi fare quello che vuoi. Ti ho postato un esempio dove realizzi quello che chiedi, tralasciando le inizializzazioni che trovi nel progetto (Download NetlogCustomMsg), ecco il “succo” del programma.
// ------------------------------------------------------------------------- // GESTIONE MESSAGGIO // ------------------------------------------------------------------------- // Se sono nel messaggio #2 gestisco direttamente il display. IF (Messages.MsgID = 2) THEN i:=SysVarsnprintf(ADR(RowUp), SIZEOF(RowUp), '%s', STRING_TYPE, ADR('0-1-2-3-4-5-6-7 ')); i:=SysVarsnprintf(ADR(RowDw), SIZEOF(RowDw), '%s', STRING_TYPE, ADR('0 0 0 0 0 0 0 0 ')); // Stampo valore variabile. FOR i:=0 TO 7 DO Ptr:=VAdd[i]; //Auxiliary pointer IF (@Ptr <> 0) THEN Ptr:=ADR(RowDw)+(i*2); @Ptr:=16#31; END_IF; END_FOR; // Il messaggio non ha sottomessaggi quindi i tasti [<] e [>] non sono // gestiti. Sulla loro pressione seleziono la variabile da modificare // e la visualizzo rendendola lampeggiante. IF (Display.KeyLEFT <> KeyLEFT) THEN KeyLEFT:=Display.KeyLEFT; //Tasto [<] IF (Display.KeyLEFT AND (VNr > 0)) THEN VNr:=VNr-1; END_IF; END_IF; IF (Display.KeyRIGHT <> KeyRIGHT) THEN KeyRIGHT:=Display.KeyRIGHT; //Tasto [>] IF (Display.KeyRIGHT AND (VNr < 7)) THEN VNr:=VNr+1; END_IF; END_IF; // Eseguo lampeggio variabile selezionata. IF (SysClock1000) THEN Ptr:=ADR(RowDw)+(VNr*2); @Ptr:=16#20; END_IF; // Con il tasto [E] eseguo variazione variabile. IF (Display.KeyENT <> KeyENT) THEN KeyENT:=Display.KeyENT; //Tasto [E] Ptr:=VAdd[VNr]; //Auxiliary pointer IF (Display.KeyENT) THEN @Ptr:=@Ptr XOR 16#01; END_IF; END_IF; END_IF;
-
AutorePost
- Devi essere connesso per rispondere a questo topic.