Vai al contenuto

Visualizzare versione progetto EasyBuilder

Home Forum Terminali operatore (Weintek) Visualizzare versione progetto EasyBuilder

Stai visualizzando 5 post - dal 1 a 5 (di 5 totali)
  • Autore
    Post
  • #70297
    Chiara
    Partecipante

    Se più persone mettono mano allo stesso progetto esiste un modo per sapere qual’è la versione caricata sul pannello?

    Una TAG che indichi la versione della compilazione del progetto?

    Es. oggi compilo io e la build a video nel runtime sarà xxxx123, domani compila un altro e sarà xxxx124 ecc.

    #70324
    Sergio Bertana
    Amministratore del forum

    Nell’area delle TAGS di sistema esistono TAGs apposite con il report delle informazioni di progetto (Screenshot).

    #70360
    Chiara
    Partecipante

    Sto creando una macro per comporre la stringa della versione progetto “YYYYMMDD HHMM” ma ho qualche difficoltà, esiste un esempio su cui basarmi?

    #70371
    Sergio Bertana
    Amministratore del forum

    Non ho sottomano un esempio, ma visto che può essere utile ad altri ho scritto una macro che ottiene quello che hai richiesto.

    macro_command main()
    
    int EBVersion=0, SLength=0
    short Day=0, Month=0, Year=0
    short Hour=0, Minute=0, Second=0
    char Result[16]=""
    
    // Read compiled informations.
    
    GetDataEx(EBVersion, "Local HMI", LW, 9120, 1) //EasyBuilder version
    
    GetDataEx(Day, "Local HMI", LW, 9124, 1) //Project compiled time [Day]
    GetDataEx(Month, "Local HMI", LW, 9123, 1) //Project compiled time [Month]
    GetDataEx(Year, "Local HMI", LW, 9122, 1) //Project compiled time [Year]
    GetDataEx(Hour, "Local HMI", LW, 11440, 1) //Project compiled time [Hour]
    GetDataEx(Minute, "Local HMI", LW, 11441, 1) //Project compiled time [Minute]
    GetDataEx(Second, "Local HMI", LW, 11442, 1) //Project compiled time [Second]
    
    // Trace the data read.
    
    TRACE("Date %d", EBVersion)
    TRACE("Date %d/%d/%d", Day, Month, Year)
    TRACE("Date %d/%d/%d", Hour, Minute, Second)
    
    // Set local variables that can be displayed on terminal.
    
    SetData(EBVersion, "Local HMI", LW, 10, 1)
    
    SetData(Day, "Local HMI", LW, 20, 1)
    SetData(Month, "Local HMI", LW, 21, 1)
    SetData(Year, "Local HMI", LW, 22, 1)
    SetData(Hour, "Local HMI", LW, 23, 1)
    SetData(Minute, "Local HMI", LW, 24, 1)
    SetData(Second, "Local HMI", LW, 25, 1)
    
    // Create a DDMMYYYY Ascii string and set local variable.
    
    DEC2ASCII(Day, Result[0], 2) 
    
    SLength=StringLength(Result[0])
    DEC2ASCII(Month, Result[SLength], 2)
    
    SLength=StringLength(Result[0])
    DEC2ASCII(Year, Result[SLength], 4)
    
    SetData(Result[0], "Local HMI", LW, 30, 8)
    end macro_command

    Come vedi ho appoggiato i dati di compilazione su variabili LW locali per essere visualizzate sul pannello. I dati sono anche ritornati in trace nella finestra di output dell’EasyDiagnoser.

    #70393
    Chiara
    Partecipante

    Mi ero bloccata sulla conversione tra tipi e ho optato per il js:

    Template per config:
    {
        ”veasy”: “Address|AAABCQBMb2NhbCBITUkIBwBMVy05MTIwASoATFctOTEyMCAoMzJiaXQpIDogVmVyc2lvbmUgRWFzeUJ1aWxkZXIgUHJvAAAEAQA=”,
        ”yy”: “Address|AAABCQBMb2NhbCBITUkIBwBMVy05MTIyAS0ATFctOTEyMiAoMTZiaXQpIDogZGF0YSBkaSBjb21waWxhemlvbmUgW2Fubm9dAAACAQA=”,
        ”mm”: “Address|AAABCQBMb2NhbCBITUkIBwBMVy05MTIzAS0ATFctOTEyMyAoMTZiaXQpIDogZGF0YSBkaSBjb21waWxhemlvbmUgW21lc2VdAAACAQA=”,
        ”dd”: “Address|AAABCQBMb2NhbCBITUkIBwBMVy05MTI0AS8ATFctOTEyNCAoMTZiaXQpIDogZGF0YSBkaSBjb21waWxhemlvbmUgW2dpb3Jub10AAAIBAA==”,
        ”hh”: “Address|AAABCQBMb2NhbCBITUkICABMVy0xMTQ0MAFGAExXLTExNDQwICgxNmJpdCkgOiBvcmFyaW8gY29tcGlsYXppb25lIHByb2dldHRvIFtvcmFdIChmb3JtYXRvIDI0IG9yZSkAAAIBAA==”,
        ”min”: “Address|AAABCQBMb2NhbCBITUkICABMVy0xMTQ0MQE4AExXLTExNDQxICgxNmJpdCkgOiBvcmFyaW8gY29tcGlsYXppb25lIHByb2dldHRvIFttaW51dGldAAACAQA=”,
        ”result”: “Address|AAABCQBMb2NhbCBITUkIBQBMVy0zMAIMAHByb2plY3RfaW5mbwAAAgEA”
    }
    Code(Javascript)
    
    var stringa = ”;
    var scrivi = this.config.result;
    
    function write(tag){
        try {
            driver.promises.setStringData(tag, stringa.length, stringa);
            console.log(stringa);
            } catch (err) {
        console.log(‘Error:’, err.message);
        }
    }
    
    function read(tag) {
        driver.getData(tag, 1, function(err, data) {
        if (err) {
            console.log(‘Error:’, err.message);
        } else {
            console.log(data.values);
            stringa=stringa+”.”+data.values;
            console.log(“la stringa “+ stringa);
            write(scrivi);
        }
        });
    }
    
    read(this.config.veasy);
    read(this.config.yy);
    read(this.config.mm);
    read(this.config.dd);
    read(this.config.hh);
    read(this.config.min);

    Diagnostica:

    [09:10:14] [ 60801 ]
    [09:10:14] la stringa .60801
    [09:10:14] .60801
    [09:10:14] [ 2023 ]
    [09:10:14] la stringa .60801.2023
    [09:10:14] .60801.2023
    [09:10:14] [ 2 ]
    [09:10:14] la stringa .60801.2023.2
    [09:10:14] .60801.2023.2
    [09:10:14] [ 21 ]
    [09:10:14] la stringa .60801.2023.2.21
    [09:10:14] .60801.2023.2.21
    [09:10:14] [ 9 ]
    [09:10:14] la stringa .60801.2023.2.21.9
    [09:10:14] .60801.2023.2.21.9
    [09:10:14] [ 9 ]
    [09:10:14] la stringa .60801.2023.2.21.9.9
    [09:10:14] .60801.2023.2.21.9.9
Stai visualizzando 5 post - dal 1 a 5 (di 5 totali)
  • Devi essere connesso per rispondere a questo topic.