Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 556 a 570 (di 4,373 totali)
  • Autore
    Post
  • in risposta a: Installazione di più versioni di LogicLab su stesso PC #71701
    Sergio Bertana
    Amministratore del forum

    Veniamo alla prima domanda, è possibile installare versioni diverse di LogicLab solo se sono versioni major (Quindi 3, 4, 5) indicando in fase di installazione una cartella diversa per ogni versione (Screenshot).

    Axel che sviluppa LogicLab opera in modo da mantenere sempre la compatibilità delle nuove versioni con i programmi sviluppati con versioni precedenti, quindi non dovrebbe essere necessario dover installare più versioni.

    Il problema che lamenti tu è il passaggio dalla nostra architettura XTarget ad XUnified, che come spiegato in questa nota può essere facilmente gestito con le opportune librerie  di supporto. Quindi è possibile con le nuove versioni di LogicLab compilare anche i programmi sviluppati con le precedenti versioni. Naturalmente quando apri un programma vecchio con la nuova versione di LogicLab non devi eseguire upgrade delle librerie.

    Una ulteriore complicazioni è stata introdotta con il rilascio della versione 5.22.x.xx, dove gli sviluppatori Axel hanno aggiunto controlli sulla sintassi del programma quindi possono insorgere alcune warnings in compilazione che non inficiano la funzionalità del programma compilato, leggi articolo.

    in risposta a: Utilizzare il pannello come browser web #71694
    Sergio Bertana
    Amministratore del forum

    I pannelli Cloud HMI Serie cMT-3000X Advanced supportano un oggetto Web Browser HTML che supporta l’HTML5 ma non ha il supporto alle applet java.

    Abbiamo applicazioni in cui questi pannelli sono utilizzati per visualizzare pagine da Web server in HTML5, ma detto questo è sempre consigliato un test per verificare performance e funzionalità in quanto il browser su HMI è custom e non ha gli aggiornamenti di un classico browser PC.

    in risposta a: Booléen expression in EasyBuilderPro #71688
    Sergio Bertana
    Amministratore del forum

    Certo che è possibile, come si vede dallo screenshot precedente la condizione del bit LB 10 dipende dalla condizione:

    LB 10 = (LB 0 = ON) AND (LB 1 = OFF)

    In pratica la condizione NOT si applica inserendo nella condizione il controllo sulla condizione OFF dell’operando.

    in risposta a: Gestione sicurezza HMI con Easyaccess #71685
    Sergio Bertana
    Amministratore del forum

    Probabilmente usi l’App cMTViewer tramite accesso remoto da EasyAccess per la visualizzazione del pannello. in tal caso ti ricordo che ogni connessione ha il suo utente e per la gestione corretta devi utilizzare le variabili PLW (Vedi topic).

    Se invece usi VNC anche da accesso remoto condividi la visualizzazione dell’utente locale e quindi operi con le variabili LW.

    in risposta a: Gestione database su file CSV con macro #71681
    Sergio Bertana
    Amministratore del forum

    Se usi il pannello la soluzione è utilizzare le query SQL (Vedi articolo) in questo modo hai un completo accesso a tutte le funzioni di ricerca. Ti allego due esempi forniti da Weintek che possono esserti utili per lo sviluppo della applicazione (Download).

    • Recipe_Import_Export_File_Browser_Demo, che permette l’importazione/esportazione database ricette da/verso file CSV.
    • Macro_Recipe, che opera con query sulle ricette.

    Se come PLC usi i ns istemi SlimLine puoi operare direttamente su file CSV, il programma TagFinder permette proprio di cercare in un file CSV un campo, mentre con il programma ST_DataLoggerOnCSVFile puoi vedere come scrivere dati su file CSV.

    in risposta a: Informazioni su comunicazione CANOpen #71676
    Sergio Bertana
    Amministratore del forum

    L’errore X4097 Recursive POU è un errore di ricorsione (es funzione che chiama sé stessa), il compilatore dovrebbe darti qualche indicazione in più. Eventualmente invia al supporto  il programma che diamo una occhiata.

    La gestione delle librerie è in corso di modifica nelle ultime versioni di LogicLab, la voce “Importa oggetti” si attiva solo selezionando una cartella nel tree di progetto (Screenshot).

    in risposta a: Errori comunicazione Modbus RTU #71668
    Sergio Bertana
    Amministratore del forum

    Con il programma mi è più facile capire dove stanno i problemi. Hai realizzato un FB che poi hai utilizzato con la tecnica in cascata, ma hai commesso un errore molto grave, la tecnica prevede che il Done di ogni FB rimanga attivo fino alla disabilitazione dell’Enable, ma nel tuo caso non è così. Il codice

      Done:=ACMdb.Done; //Execution done

    Essendo l’istanza Mdb di tipo ModbusMaster_v2 la stessa per tutti i FB di gestione moduli, connessa al FB ACMdb di tipo ACModbus_v2, in questo modo il Done del FB Mdb si propaga in tutti i FB andando a resettare fuori sequenza il relativo Done.

    Ho realizzato un esempio con una nuova FB di gestione modulo, che vista la necesità di solo 2 comandi modbus ho preferito utilizzare direttamente la chiamata al FB Mdb senza utilizzare la ACModbus_v2. Ecco il listato.

    FUNCTION_BLOCK IOModule
    VAR
        CaseNr : USINT; (* Program case *)
        AOutputs : ARRAY[0..8] OF WORD; (* Digital outputs value *)
        HW : ARRAY[0..1] OF WORD;
    END_VAR
    
    VAR_INPUT
        Enable : BOOL; (* Enable *)
        Node : USINT; (* Modbus node *)
        Setpoint : UINT;
        MMdb : @ModbusMaster_v2; (* Modbus master *)
    END_VAR
    
    VAR_OUTPUT
        Done : BOOL; (* Execution done *)
        Ao00 : UINT;
        Ao01 : UINT;
        Ao02 : UINT;
        Ao03 : UINT;
        Ao04 : UINT;
        Ao05 : UINT;
        Ao06 : UINT;
        Ao07 : UINT;
        Ao08 : UINT;
    END_VAR
    
    // *****************************************************************************
    // FUNCTION BLOCK "IOModule"
    // *****************************************************************************
    // Gestione modulo I/O.
    // -----------------------------------------------------------------------------
    
        // -------------------------------------------------------------------------
        // GESTIONE INIZIALIZZAZIONE
        // -------------------------------------------------------------------------
        // Gestione disabilitazione.
    
        IF NOT(Enable) THEN CaseNr:=0; Done:=FALSE; RETURN; END_IF;
        IF (Done) THEN RETURN; END_IF;
    
        // -------------------------------------------------------------------------
        // GESTIONE SEQUENZE PROGRAMMA
        // -------------------------------------------------------------------------
        // Gestione sequenze programma.
    
        CASE (CaseNr) OF
    
            // ---------------------------------------------------------------------
            // Eseguo impostazione valori.
    
            0:
            HW[0]:=1000;
            HW[1]:=Setpoint;
    
            @MMdb.Enable:=TRUE; //Modbus enable
            @MMdb.Node:=Node; //Node number
            @MMdb.FCode:=16#10; //Modbus function code
            @MMdb.Address:=1; //Modbus register address
            @MMdb.Points:=SIZEOF(HW)/2; //Modbus register points
            @MMdb.Buffer:=ADR(HW); //Memory buffer address
            IF NOT(@MMdb.Done) THEN RETURN; END_IF;
            @MMdb.Enable:=FALSE; //Modbus enable
            CaseNr:=CaseNr+1; //Program case
    
            // ---------------------------------------------------------------------
            // Eseguo lettura valori.
    
            1:
            @MMdb.Enable:=TRUE; //Modbus enable
            @MMdb.Node:=Node; //Node number
            @MMdb.FCode:=16#03; //Modbus function code
            @MMdb.Address:=1; //Modbus register address
            @MMdb.Points:=SIZEOF(AOutputs)/2; //Modbus register points
            @MMdb.Buffer:=ADR(AOutputs); //Memory buffer address
            IF NOT(@MMdb.Done) THEN RETURN; END_IF;
            @MMdb.Enable:=FALSE; //Modbus enable
            Done:=TRUE; //Execution done
          END_CASE;
    
    // [End of file]

    Allego il programma IoModbus, con la versione originale del tuo programma e la versione da me modificata (Download).

    Sergio Bertana
    Amministratore del forum

    Dal menù Project -> Address (Screenshot) puoi esportare le TAGs in un file CSV oppure Excel. Poi con un comune TextEditor se file CSV oppure con Excel puoi editare il file e con un cerca/sostituisci modificare il nome del PLC.

    Terminata la sostuitizione potrai reimportare le TAGs nel progetto.

    in risposta a: Informazioni sul client OPC-UA #71648
    Sergio Bertana
    Amministratore del forum

    Probabilmente hai un modello iP che non supporta le impostazioni per la sincronizzazione oraria. Quindi basterà sincronizzare l’orario del pannello con quello del PC volendo durante il download, questo si fa direttamente dal pannello quando si scarica il progetto c’è un flag apposta.

    In simulazione l’orario viene preso dal PC, quindi basterà che il PC abbia un indirizzo IP della stessa classe del server OPC-UA, ho visto che avete messo un 192.168.1.100 come server OPC-UA, nelle impostazioni di rete del PC ci vuole un 192.168.1.xxx che non sia .100 finale, se ci sono altri indirizzi IP provate a cancellarli lasciando solo questa classe di rete.

    Proverei con un progetto vuoto, inserendo un tag alla volta, non so se hai delle sicurezze sugli utenti, io consiglio sempre almeno per la prima volta come test, di entrare in modalità anonima senza sicurezze, partiamo almeno così a comunicare.

    Possiamo provare anche lato server OPC-UA a fare un progetto di test, dove ci condividono solo qualche tag, un bool e un INT per esempio.

    Farei un paio di prove di questo genere, è un driver totalmente simbolico quindi sicuramente non possiamo sbagliare a puntare alle tag.

    in risposta a: Utilizzo programma eLLabUpdater #71624
    Sergio Bertana
    Amministratore del forum

    La versione che hai tu è l’ultima, non era stata aggiornata la versione nel nostro repository, ho provveduto ad aggiornarla.

    in risposta a: Invio data e ora da pannello a PLC #71618
    Sergio Bertana
    Amministratore del forum

    Per utilizzare l’RTC occorre utilizzando la funzione Data transfer, traferire i valori di data/ora dalle word del pannello alle word del PLC.

    LW-9010 Tempo locale (secondi, BCD)
    LW-9011 Tempo locale (minuti, BCD)
    LW-9012 Tempo locale (ora, BCD)
    LW-9013 Tempo locale (giorno, BCD)
    LW-9014 Tempo locale (mese, BCD)
    LW-9015 Tempo locale (anno, BCD)
    LW-9016 Tempo locale (settimana, BCD)
    LW-9017 Tempo locale (secondi, BIN)
    LW-9018 Tempo locale (minuti, BIN)
    LW-9019 Tempo locale (ora, BIN)
    LW-9020 Tempo locale (giorno, BIN)
    LW-9021 Tempo locale (mese, BIN)
    LW-9022 Tempo locale (anno, BIN)
    LW-9023 Tempo locale (settimana, BIN)
    in risposta a: Simulazione programma PLC con connessione HMI #71547
    Sergio Bertana
    Amministratore del forum

    Il simulatore SimuLab presente in LogicLab permette di testare il funzionamento dei programmi ma non delle comunicazioni.

    Quindi non è possibile mettere in comunicazione il simulatore del pannello HMI di EasyBuilder con il programma PLC.

    Per testare il funzionamento della comunicazione ti serve necessariamente un dispositivo SlimLine a cui puoi connettere il simulatore di EasyBuilder utilizzando la funzione Simulazione On-Line.

    in risposta a: Richiesta dettagli su gateway Modbus ATC-1300 #71512
    Sergio Bertana
    Amministratore del forum

    Ecco le risposte alle domande poste.

    1. Il convertitore non è isolato dalla alimentazione ma è isolato dalla porta Ethernet.
    2. Se si utilizza l’alimentatore fornito con il convertitore si è isolati da terra. Altrimenti si può scegliere se isolare o meno in funzione dei dispositivi connessi alla porta seriale.
    3. Il conduttore di riferimento sulle linee RS422/485 normalmente non è necessario, è possibile comunque connetterlo su lunghe distanze.
    4. Sulle linee RS422/485 non sono incluse le resistenze di terminazione, è possibile utilizzare resistenze da 120Ohm sulle estremità delle connessioni.
    5. Sulle linee RS422/485 non serve predisporre la polarizzazione.
    6. I transceivers utilizzati sulle linee RS422/485 supportano fino a 255 nodi.

    Per quanto riguarda la connessione TCP certo ne basta 1 che può eseguire il polling di tutti i dispositivi RTU connessi semplicemente indicando il numero di nodo nella richiesta.

    in risposta a: Visualizzazione file PDF #71492
    Sergio Bertana
    Amministratore del forum

    La visualizzazione dei file PDF è una funzionalità utilizzata per fornire informazioni all’operatore direttamente dal pannello, con l’oggetto PDF Reader (Screenshot) è possibile aprire un file PDF (Deve essere salvato su PenDrive USB) e visualizzarne il contenuto.

    Solitamente su un tasto di help oppure su errore gestito dal PLC è viene aperta una finestra in pop-up con la visualizzazione dell’estratto del manuale utente. Questa funzione però è disponibile solo sui pannelli serie cMT, non è disponibile sui pannelli serie iP ed iE.

    Come workaround puoi creare pagine con immagini jpeg del contenuto del file PDF da visualizzare, naturalmente non potrai scrollare sulla pagina visualizzata.

    in risposta a: Informazioni sul client OPC-UA #71468
    Sergio Bertana
    Amministratore del forum

    Ho analizzato il progetto che mi hai inviato, ecco alcune considerazioni:

    1. Il progetto è realizzato con la V6.06.01.503, puoi aggiornare EasyBuilderPro almeno alla V6.07.02.466 presente sul nostro sito?
    2. Sul pannello impostare data e ora correttamente, devono essere aggiornati con il server OPC-UA (se è già cosi andate al test successivo).
    3. Collegare il PC direttamente al server OPC-UA, usare il simulatore online (così escludiamo il pannello e testiamo solo il progetto), almeno così funziona o stesso problema?
    4. Se anche in simulazione capita lo stesso problema,  è un qualcosa sul progetto, se in simulazione funziona bene probabilmente è qualcosa sul pannello.
    5. Controllare che nel progetto quando importate le tag, non ci siano tag non supportate, fare riferimento al documento presente nei post precedenti.
Stai visualizzando 15 post - dal 556 a 570 (di 4,373 totali)