Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 751 a 765 (di 4,452 totali)
  • Autore
    Post
  • in risposta a: Errore in macro non modifica valore di variabile #69674
    Sergio Bertana
    Amministratore del forum

    Ho provato la tua macro, e anzi l’ho riscritta in base a quanto credo ti serva ottenere, ecco la mia versione

    macro_command main()
    bool Pulse //One shot memory
    bool Alarm=0 //Alarm flag
    int APage=0 //Alarm page
    
    //GetData(AL, "CODESYS V3 (Ethernet)", "Application.GVL.Allarme_Attivo", 1)
    GetData(Alarm, "Local HMI", LB, 0, 1)
    
    if (Alarm <> Pulse) then
        Pulse=Alarm //One shot memory
        
        if not(Alarm) then
            APage=10 //Alarm page
        end if
        
        if (Alarm) then
            APage=20 //Alarm page
        end if
       
        SetData(APage, "Local HMI", LW, 2000, 1)
    end if
    end macro_command

    Naturalmente per poterla testare ho gestito il set della condizione di allarme tramite una variabile pannello LB 0 anzichè dal PLC. Quando è presente un allarme LB0 set viene forzata la visualizzazione della pagina 20. Quando l’allarme si resetta si ritorna alla pagina 10.

    Da notare che la variabile Pulse deve mantenere il suo stato su esecuzioni successive della macro, quindi non è possibile inizializzarla e questo genera una warning in compilazione. Per evitare la warning occorrebbe eseguire un GetData ed un SetData di appoggio su variabile LB.

    in risposta a: Utilizzo programma eLLabUpdater per aggiornare le librerie #69654
    Sergio Bertana
    Amministratore del forum

    Abbiamo deciso di eliminare i download delle singole librerie a favore di un repository dove il programma eLLabUpdater ne esegue il download per permettere un più agevole upgrade delle stesse.

    Un unico comando sul programma permette di verificare le versioni delle singoile librerie e nel caso di nuove versioni decidere di eseguirne l’upgrade.

    Per quanto riguarda la domanda, siccome il programma eLLabUpdater è indipendente dalla installazione di LogicLab è possibile installarlo su qualsiasi PC connesso in rete. Basterà definire la cartella in cui sono presenti le librerie (Al limite anche su PenDrive) ed eseguendo l’upgrade tutte le librerie verranno trasferite nella cartella. Se si usa un PenDrive si potrà facilmente trasferirle su PC di lavoro dove c’è LogicLab.

    in risposta a: Autenticazione locale/remota su pannelli cMT #69643
    Sergio Bertana
    Amministratore del forum

    Sui pannelli cMT siccome è possibile connettere fino a 9 cMTViewer remoti più l’accesso da pannello locale viene gestita l’autenticazione separata per ogni accesso. A tal proposito si utilizzano le variabili PLW e non le LW, in sostanza:

    • Variabili LW condivise tra utenti, una variazione del valore fatta da un utente è visibile da tutti.
    • Variabili PLW propritarie dell’utente, ogni utente può variarle a sua discrezione.

    Detto questo per quanto riguarda l’autenticazione se vuoi gestirla anche da remoto tramite connessione cMTViewer devi selezionare le PLW e non le LW (Screenshot). Puoi cambiare tipo di selezione in qualsiasi momento e poi ricompilare il progetto.

    in risposta a: Errore in macro non modifica valore di variabile #69640
    Sergio Bertana
    Amministratore del forum

    Sicuramente la variabile PAGINA va dichiarata come short e non int.

    Poi eventualmente si può inserire oggetti visualizzazione numerica appoggiando le variabili per la visualizzazione in modo da verificare a video il risultato.

    Puoi anche inserire nella macro la funzione TRACE che ti permette di visualizzare tramite il debugger i passaggi intermedi di funzionamento.

    in risposta a: Informazioni su FB HTTPClient_v4 #69620
    Sergio Bertana
    Amministratore del forum

    In effetti era scappata la definizione di HostPort che era descritta nel testo pur non essendo più presente nel FB, ho provveduto a correggere la pagina di manuale.

    In realtà però il problema non dovrebbe presentarsi, se apri un progetto esistente quindi già testato e validato, l’oggetto HTTPClient è già stato importato nel progetto, quindi se non aggiorni volutamente il FB LogicLab continuerà ad utilizzare la vecchia versione senza dover fare modifiche al progetto.

    Ti rimando a questo articolo per la gestione dell’importazione librerie o oggetti, ed a questo articolo che in calce descrive cosa succede nel caso venga riaperto un vecchio progetto con librerie incluse che nel frattempo sono state aggiornate.

    Sul lavorare al freddo in un capannone ti do ragione… purtroppo ho i capelli bianchi e mi è capitato più volte di essere in quella situazione, e magari anche in piena notte…

    in risposta a: Verifica comunicazione Modbus #69614
    Sergio Bertana
    Amministratore del forum

    Se ho ben capito il problema l’esigenza è di accorgersi lato PLC che una comunicazione Modbus non è andata a buon fine. La causa può essere che lo slave non ha capito la richiesta o che si è rotto il cavo di collegamento.

    Utilizzando il FB ModbusMaster sia nella versione v1 che v2, credo che nel tuo programma vengano settati tutti i parametri ed il valore da scrivere poi si attivi l’ingresso Enable del FB e si aspetti il Done a conferma dell’avvenuta esecuzione.

    Done si attiva anche su errore, ma verificando lo stato dell’uscita di Ok (Si attiva per un loop di programma) si è certi che il FB ha inviato il comando al sistema slave ed ha ricevuto la risposta corretta, quindi il comando è stato certamente recepito.

    in risposta a: Problema di compilazione invio email con TLS #69610
    Sergio Bertana
    Amministratore del forum

    Hai fatto tutto correttamente, il FB SysTLSClient è stato implementato originariamente sul modulo SlimLine con Raspberry, ora stiamo terminandone il rilascio anche sui sistemi CortexM7.

    Il sistema operativo attualmente rilasciato non ha ancora il FB incluso, credo che rilasceremo la nuova versione con il FB attivo la prossima settimana.

    in risposta a: Connessione multicast con convertitorer Seriale/Ethernet ATC-1200 #69599
    Sergio Bertana
    Amministratore del forum

    Ho perso il pomeriggio nel cercare di configurare i convertitori per poter operare in multicast, purtroppo a differenza del modello precedente ATC-1000 che permetteva una configurazione multicast (Topic) su questo modello sembra non sia attuabile.

    Terminato il capodanno cinese sentirò il fornitore in merito per capire se c’è qualche configurazione possibile, anche se non vedendo nelle pagine web una pagina di configurazione degli indirizzi IP a cui inviare i dati credo non sia proprio fattibile.

    Una configurazione multicast è possibile utilizzando un ns sistema programmabile connesso in ethernet con tanti ATC-1200, con il programma COMMulticast è possibile realizzare quello che occorre (Vedi articolo).

    in risposta a: Numero massimo di connessioni Modbus TCP/IP #69470
    Sergio Bertana
    Amministratore del forum

    Come riportato nel 1° post il numero di connessioni Modbus contemporanee è impostabile da pagina web, di default sono 3 connessioni.

    Come si vede dallo screenshot è possibile modificare il numero di connessioni gestibili dal sistema per adattarlo alle proprie necessità.

     

    in risposta a: Problema connessione con arduino via rs485 #69425
    Sergio Bertana
    Amministratore del forum

    Non dici che protocollo stai usando per la comunicazione, se è Modbus prova a
    impostare il ritardo comunicazione a 10 e rinvio comandi a 1.

    In più puoi provare a rimuovere le resistenze di terminazione.

    in risposta a: Comparazione tra CMT2158X e cMT-2166X #69422
    Sergio Bertana
    Amministratore del forum

    Vediamo le differenze

    cMT-2158X

    • Ha 2 porte ethernet
    • Display 4/3 (1024 x 768) durata lampada >50000 ore
    • Touch screen 4 fili di tipo resistivo

    cMT-2166X

    • Ha 1 porte ethernet
    • Display 16/9 (1920 x 1080) durata lampada >30000 ore
    • Touch screen capacitivo

    Quindi a parte le 2 porte ethernet e la durata lampada le caratteristiche sono a favore del cMT-2166X, ma perchè allora il cMT-2158X costa di più?

    Non ho una risposta certa, la mia impressione è che il display 4/3 sia più costoso (Forse perchè è meno usato rispetto al 16/9) e che Weintek ha comunque realizzato il cMT-2158X per dare una compatibilità con chi utilizzava le serie eMT3000 mantenendo il formato 4/3 per poter utilizzare i progetti senza modificare il formato di visualizzazione.

    in risposta a: Problemi con il blocco funzione MQTT CLient #69326
    Sergio Bertana
    Amministratore del forum

    Le impostazioni da pagina web System settings, sono accessibili da programma utilizzando la funzione SysOSIDValue. Nel tuo caso per acquisire il valore impostato nel campo Device name devi riferirti al SYS_ID#OSID_DEVICE_NAME. Ecco un esempio di codice.

    PROGRAM MyProgram
    VAR
        i : BOOL; (* Auxiliary variable *)
        HostName : STRING[ 20 ]; (* Hostname *)
    END_VAR
        i:=SysOSIDValue(FALSE, SYS_ID#OSID_DEVICE_NAME, ADR(HostName));

    Nel tuo programma di gestione MQTT ti dovrai poi rifereire alla variabile HostName.

    MQTT.ClientID:=ADR(HostName); //Client identifier
    in risposta a: Configurazione EasyBuilder per comunicazione Modbus TCP/IP #69293
    Sergio Bertana
    Amministratore del forum

    Come indicato nella pagina delle FAQ terminali operatore, le 2 LAN devono essere impostate su due classi di rete differenti, qesto serve a separare le reti per garantire che da EasyAccess si possa raggiungere la sola rete di macchina impedendo l’accesso sulla rete aziendale. Nel caso si desideri avere una unica connessione tra la rete aziendale il pannello ed i PLC è possibile utilizzare solo la LAN1

    • LAN1 utilizzata per accesso al pannello via Internet, da collegare ad una rete con accesso ad Internet, esempio un router LTE.
    • LAN2 utilizzata per la connessione del pannello ai PLC.

    Dalla LAN1 non è possibile raggiungere i dispositivi connessi alla LAN2, è comunque possibile raggiungere il pannello sia per visualizzarlo in VNC o cMTViewer sia per accedervi in OPC-UA o protocollo Modbus TCP. La funzione Ethernet Pass-Through presente sui pannelli cMT permette di attivare il passaggio da LAN1 a LAN2 su uno specifico indirizzo IP.

    in risposta a: Accesso da remoto tramite FTP e HTTP #69290
    Sergio Bertana
    Amministratore del forum

    Appendere vicino al dispositivo una immaginetta sacra… o un calendario Pirelli…

    Sinceramente non capisco quale può essere il problema, passi l’FTP che per sua natura utilizza 2 porte TCP la 21 per i comandi e poi apre una porta scelta in automatico per i dati e questo anche se non dovrebbe potrebbe generare una criticità…

    Ma la connessione HTTP non deve avere problemi…

    Non è che il dispostivo ha dei blocchi sulle connessioni e non accetta connessioni che non arrivano da certi IP inseriti in una White list?

    in risposta a: Utilizzo di cURL per accedere a pagine web di SlimLine #69285
    Sergio Bertana
    Amministratore del forum

    I TAGs “OSID_xxxx” son TAGs che utilizziamo per la gestione nostre pagine web di sistema.

    Non sono documentati in quanto pur funzionando ne sconsigliamo l’utilizzo perchè questo ci permette di modificarne la funzionalità a nostra discrezione senza impattare con eventuali utilizzi dei clienti.

Stai visualizzando 15 post - dal 751 a 765 (di 4,452 totali)