Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 136 a 150 (di 4,228 totali)
  • Autore
    Post
  • in risposta a: Comandare il cambio pagina da PLC su pannello #78793
    Sergio Bertana
    Amministratore del forum

    Se utilizzi il trasferimento ciclico basterà indicare l’indirizzo della variabile sorgente e destinazione nelle proprietà, quindi la tua destinazione sarà la LW-9134.

    Se utilizzi una macro dovrai usare la funzione SetData. Nel manuale di EasyBuilder trovi esempi di utilizzo.

    in risposta a: Creare stringa con valore di HH:MM:SS #78789
    Sergio Bertana
    Amministratore del forum

    Se ho ben capito quello che ti serve è qualcosa di simile a quello che vedi nello screenshot.

    Ecco la macro eseguita a tempo che genera la stringa

    macro_command main()
    short Hour=0, Minute=0, Second=0
    char AValue[2]=""
    char Result[32]="The time is:"
    
    GetData(Hour, "Local HMI", LW, 9019, 1) //LW-9019 (16bit) : local hour
    DEC2ASCII(Hour, AValue[0], 2) //Stringa ASCII con valore (2 cifre)
    StringCat(AValue[0], Result[0]) //Aggiungo a risultato il valore
    StringCat(":", Result[0])
    
    GetData(Minute, "Local HMI", LW, 9018, 1) //LW-9018 (16bit) : local minute
    DEC2ASCII(Minute, AValue[0], 2) //Stringa ASCII con valore (2 cifre)
    StringCat(AValue[0], Result[0]) //Aggiungo a risultato il valore
    StringCat(":", Result[0])
    
    GetData(Second, "Local HMI", LW, 9017, 1) //LW-9017 (16bit) : local second
    DEC2ASCII(Second, AValue[0], 2) //Stringa ASCII con valore (2 cifre)
    StringCat(AValue[0], Result[0]) //Aggiungo a risultato il valore
    
    SetData(Result[0], "Local HMI", LW, 20, 32) //Salvo risultato in LW-20
    
    TRACE("Result=%s", Result[0]) //Trace valore e stringa risultato
    end macro_command
    in risposta a: Cambio lingua pannello da comando PLC #78784
    Sergio Bertana
    Amministratore del forum

    E’ possibile da macro o con il trasferimento dati. Per selezionare la lingua occorre agire sulla LW-9134.

    The value range in LW-9134 is 0~23. The values in LW-9134 relates to the languages downloaded to HMI. LW-9134 value and language correspondence vary according to the languages selected during project compilation and download.

    For example: If 5 languages are defined by user in Label Library as Language 1 (Traditional Chinese), Language 2 (Simplified Chinese), Language 3 (English), Language 4 (French), and Language 5 (Japanese). If only Language 1, 3, 5 are downloaded, the corresponding language of the value in LW-9134 will be 0 → Language 1 (Traditional Chinese), 1 → Language 3 (English), 2 → Language 5 (Japanese).

    in risposta a: Testo filtro visualizzatore ricette #78782
    Sergio Bertana
    Amministratore del forum

    Il testo cerca non è attualmente tra i campi editabili e convertibili.

    in risposta a: Calcolo differenza tempi #78770
    Sergio Bertana
    Amministratore del forum

    Puoi eseguire quello che ti serve realizzando due macro da eseguire sulla pressione di due tasti funzione.

    • Macro SaveTime: Alla pressione del primo tasto esegue il salvataggio del tempo in una variabile HMI.
    • Macro ComputeTime: Alla pressione del secondo tasto calcola il tempo intercorso dalla pressione del primo tasto e salva il valore in una variabile HMI.

    Ecco il listato delle due macro.

    // -----------------------------------------------------------------------------
    // MACRO "SaveTime"
    // -----------------------------------------------------------------------------
    // Esegue il salvataggio del tempo su variabile HMI LW-10 (32 bit-unsigned).
    // -----------------------------------------------------------------------------
    
    macro_command main()
    
    	short Value=0 //Get valoe
    	int TSave=0 //Time save (S)
    
    	// Trasformo ora attuale in secondi.
    
    	GetData(Value, "Local HMI", LW, 9019, 1) //LW-9019 (16bit) : local hour
    	TSave=Value*3600
    
    	GetData(Value, "Local HMI", LW, 9018, 1) //LW-9018 (16bit) : local minute
    	TSave=TSave+(Value*60)
    
    	GetData(Value, "Local HMI", LW, 9017, 1) //LW-9017 (16bit) : local second
    	TSave=TSave+Value
    
    	// Salvo valore in variabile HMI.
    
    	SetData(TSave, "Local HMI", LW, 10, 1)
    	TRACE("TSave:%d", TSave)
    end macro_command
    // -----------------------------------------------------------------------------
    // MACRO "ComputeTime"
    // -----------------------------------------------------------------------------
    // Calcola tempo trascorso e salva su variabile HMI LW-10 (32 bit-unsigned).
    // -----------------------------------------------------------------------------
    
    macro_command main()
    
    	short Value=0 //Get valoe
    	int TSave=0 //Time save (S)
    	int TLoad=0 //Time load (S)
    	int TPass=0 //Time passed (S)
    
    	// Trasformo ora attuale in secondi.
    
    	GetData(Value, "Local HMI", LW, 9019, 1) //LW-9019 (16bit) : local hour
    	TLoad=Value*3600
    
    	GetData(Value, "Local HMI", LW, 9018, 1) //LW-9018 (16bit) : local minute
    	TLoad=TLoad+(Value*60)
    
    	GetData(Value, "Local HMI", LW, 9017, 1) //LW-9017 (16bit) : local second
    	TLoad=TLoad+Value
    
    	// Calcolo tempo trascorso.
    
    	GetDataEx(TSave, "Local HMI", LW, 10, 1)
    	TPass=TLoad-TSave
    	SetData(TPass, "Local HMI", LW, 12, 1)
    	TRACE("TLoad:%d, TSave:%d, TPass:%d", TLoad, TSave, TPass)
    end macro_command
    in risposta a: Collegamento terminale MITOS e inverter #78750
    Sergio Bertana
    Amministratore del forum

    Essendo un Mitos nuovo manca una configurazione sulla seriale dell’inverter TOSHIBA VF-S15. Verificare che:

    F402=1
    F429=1

    Poi togliere tensione, attendere che si spenga il display dell’inverter e in seguito riaccendere il tutto.

    in risposta a: Spazio in memoria su pannello cMT3162X #78748
    Sergio Bertana
    Amministratore del forum

    I dati dello screenshot riportano le risorse hardware del sistema, può variare in base ai carichi della pagina ed alle funzioni eseguite e riguarda la RAM occupata.

    Le due LW invece indicano lo spazio per lo storico. Prima ho citato 800Mb ma può darsi che nella versione del sistema operativo del pannello specifico abbiamo ampliato un pò lo spazio.

    Nel tuo caso su di un totale di 1Gb hai 850Mb di memoria libera.

    in risposta a: Comandare il cambio pagina da PLC su pannello #78741
    Sergio Bertana
    Amministratore del forum

    Si certo è possibile, puoi tramite una macro o con un trasferimento dati sovrascrivere la LW9134 di selezione lingua.

    in risposta a: Importazione dati da database #78736
    Sergio Bertana
    Amministratore del forum

    Se usi come penso le query standard (non avanzate) per importare direttamente la struttura dal DB, una volta importata, occorre sistemare eventualmente aree di memoria e dimensioni nel caso di stringhe o dati in formato non compatibile. Dai una occhiata al capitolo sottoriportato del manuale di EasyBuilder.

    13.44.2.6 Converting Datatype
    Converting datatype as shown in the following table will take place after reading MySQL database. If conversion cannot run properly, error code 5 will show. For example, when converting MySQL’s INT into EasyBuilder Pro’s 16-bit Unsigned, if the value exceeds the limit of 16-bit Unsigned, error code 5 will show.

    Nel capitolo è riportata una tabella con le corrispondenze tra il tipo dati del database ed il tipo dati di EasyBuilder, le variabili di tipo VARCHAR e DATETIME sono convertite come stringhe e le dovrai trattare opportunamente su più variabili LW in base alla loro lunghezza.

    in risposta a: Ritardare comunicazione con PLC su accensione #78713
    Sergio Bertana
    Amministratore del forum

    Nel menù System Parameters->System è possibile definire il parametro Delay time of device communication after HMI starts, il valore è espresso in secondi.

    In pratica il pannello operatore si avvia, visualizza la Startup window, poi attende il tempo definito prima di iniziare la comunicazione con il PLC.

    Per evitare di visualizzare la pagina di startup senza i valori letti dal PLC è possibile nella pagina di startup visualizzare solo un messaggio di benvenuto. Eseguire una macro con la flag Execute one time when HMI starts od in alternativa attivarne l’esecuzione alla apertura della pagina, che gestendo una temporizzazione comandi il cambio pagina.

    in risposta a: Situazione di blocco per overload CPU #78707
    Sergio Bertana
    Amministratore del forum

    Occorre monitorare il carico CPU e verificare in corrispondenza dell’innalzamento cosa è in esecuzione.

    Tipicamente questi problemi possono nascere da una macro che va in loop infinito, oppure l’accesso ad una pagina con immagini enormi su cui deve essere eseguito un resize.

    Per le immagini si consiglia sempre di generarle con la risoluzione desiderata per evitare, specie se sono più di una in una pagina di creare un lavoro supplementare alla CPU per il loro resize.

    in risposta a: Scambio di I/O digitali su rete ethernet #78661
    Sergio Bertana
    Amministratore del forum

    I prodotti Damocles non permettono lo scambio di I/O modulo to modulo.

    Per realizzare quello che necessiti puoi dare una occhiata alla applicazione DataExchange, in pratica utilizzando i nostri prodotti programmabili SlimLine abbiamo realizzato un programma che trasmette gli ingressi digitali di un modulo verso l’altro che attiverà la relativa uscita e viceversa. I due moduli sono configurabili tramite browser, uno deve essere configurato come server e l’altro come client.

    Il sistema è componibile in base al numero di I/O, se bastano 4 segnali in scambio si possono utilizzare due moduli CPU compatti come questo, a cui è possibile aggiungere moduli di estensione per aumentare il numero di I/O scambiati.

    Se hai esperienzi di programmazione puoi anche modificare il programma adattandolo alle tue esigenze aggiungendo logiche sugli I/O, temporizzazioni, invio di eMail, invio di messaggi Telegram ed altro.

    in risposta a: Realizzazione immagine animata #78625
    Sergio Bertana
    Amministratore del forum

    Puoi usare il JS object o se non sono molte le combinazioni, puoi usare un Multi-State Switch realizzando fino a 256 immagini con le varie combinazioni.

    in risposta a: Errore dopo aggiornamento versione EasyBuilder #78622
    Sergio Bertana
    Amministratore del forum

    Disinstalla il programma e dopo la disinstallazione cancella dal disco la cartella driver.

    Poi scarica ed installa l’ultima versione dal ns sito.

    in risposta a: Convertire un progetto CMTP in uno EMTP #78590
    Sergio Bertana
    Amministratore del forum

    Si purtroppo è così, non si possono neanche importare oggetti o parti di pagina.

Stai visualizzando 15 post - dal 136 a 150 (di 4,228 totali)