Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1 a 15 (di 4,363 totali)
  • Autore
    Post
  • in risposta a: Problema comunicazione tra terminale Mitos ed inverter Toshiba #84314
    Sergio Bertana
    Amministratore del forum

    Per togliere l’errore si deve:

    • Spostare gli switch dietro il Mitos in alto
    • Impostare su inverter F802=1
    • Impostare su inverter F829=1
    • Spegnere l’inverter
    • Riaccendere l’inverter

    Ora la comunicazione dovrebbe essere attiva.

    in risposta a: Accesso a database esterno funziona in simulazione #84302
    Sergio Bertana
    Amministratore del forum

    La gestione del database MySQL funziona anche con il simulatore.

    Dopo aver avviato il simulatore e verificato lo stato connesso, esegui il comando di lettura per importare i dati?

    in risposta a: Riportare sistema SlimLine alle condizioni di default di fabbrica #84279
    Sergio Bertana
    Amministratore del forum

    I sistemi SlimLine possono essere resettati a default attuando la procedura di rcatch. La procedura è attivabile a partire dalla versione di firmware SFW198E050/SFW210B000 o superiore.

    La procedura di rcatch si attiva collegando la porta seriale COM0 dello SlimLine al PC in cui viene eseguito un emulatore di terminale seriale (es.: il Terminal di Toolly) impostato a 115200,e,8,1.

    Durante l’accensione dello SlimLine occorre inviare dal terminale in sequenza i caratteri che compongono la stringa rcatch (quindi inviando “r“, poi “c“, poi “a” etc.). Prima di inviare il carattere successivo occorre attendere l’echo da parte del sistema del carattere inviato.

    La procedura di rcatch esegue le seguenti operazioni:

    • Viene cancellato il programma PLC e le variabili tamponate di DB100 e RETAIN.
    • Viene formattato il disco C cancellando quindi anche il sorgente PLC e perdendo le pagine web. Il caricamento delle pagine web andrà poi eseguito da FTP come indicato nella procedura di upgrade.
    • Viene eseguito automaticamente il comando cfgcommit -d da utente Admin. Il comando ripristina la condizioni di default impostando la password Admin per l’utente amministratore.
    Sergio Bertana
    Amministratore del forum

    Approfitto per evidenziare quanto riportato in questo topic, con le nuove versioni di LogicLab è stato introdotto il concetto di raccolta libererie (Package), aprendo un vecchio progetto ci si troverà con una serie di librerie incluse nel progetto. Ora si aprono due scenari

    • Il vecchio progetto era riferito già ad un sistema con architettura XUnified, in tal caso è possibile ricompilare il progetto senza problemi.
    • Il vecchio progetto era riferito ad un sistema XTarget, in tal caso passando ad un nuovo sistema XUnified (Vedi articolo) occorrerà aggiungere al progetto l’ultima versione della raccolta di librerie. Se nel progetto sono già incluse nostre librerie standard verranno generate warning del tipo Object is already defined. E’ possibile compilare il progetto senza problemi si si vuole rimuovere le warnings occorre eliminare le librerie incluse.

    Come suggerimento consiglio di eliminare dal progetto le nostre librerie incluse e collegare al loro posto la raccolta librerie, in questo modo si ha la possibilità aggiornarnando la versione della raccolta collegata di utilizzare sempre le ultime versioni di tutti gli oggetti di  libreria.

    in risposta a: Impostazione indirizzo I2C su FB I2CBusManager #84253
    Sergio Bertana
    Amministratore del forum

    Si utilizza il FB I2CBusManager per gestire dispositivi I2C tramite I/O digitali quando i dispositivi sono lontani dal modulo CPU e quindi non è possibile collegarli direttamente al bus di espansione e gestirli con la funzione SysI2CWrRd. Utilizzando gli I/O digitali inoltre si ha la separazione galvanica tra il sistema ed i dispositivi evitando che problemi sui dispositivi possano bloccare l’intero sistema.

    Ora venendo alla tua domanda, non capisco cosa intendi per “cambiare l’indirizzo senza inizializzare I2C”. Riferendomi all’esempio ST_I2CBusManager come vedi l’istanza I2CBus è eseguita come una funzione passando direttamente i valori alla chiamata. Basterà aggiungere ai parametri anche il valore di I2CAddress per gestire dispositivi diversi. Ti allego un estratto del programma con la gestione di due stati per scrittura e lettura da due dispositivi diversi.

        // -------------------------------------------------------------------------
        // PROGRAM CASES
        // -------------------------------------------------------------------------
        // Program cases management.
    
        CASE (CaseNr) OF
    
            // ---------------------------------------------------------------------
            // Gestione Write/Read address 60.
    
            0:
            I2CBus(I2CAddress:=60, WrBuffer:=ADR(I2CWrite), WrBytes:=2, RdBuffer:=ADR(I2CRead), RdBytes:=1);
            IF NOT(I2CBus.Done) THEN RETURN; END_IF;
            IF (I2CBus.Fault) THEN Errors:=Errors+1; CaseNr:=0; RETURN; END_IF;
            CaseNr:=CaseNr+1; //Program case
    
            // ---------------------------------------------------------------------
            // Gestione Write/Read address 61.
    
            1:
            I2CBus(I2CAddress:=61, WrBuffer:=ADR(I2CWrite), WrBytes:=2, RdBuffer:=ADR(I2CRead), RdBytes:=1);
            IF NOT(I2CBus.Done) THEN RETURN; END_IF;
            IF (I2CBus.Fault) THEN Errors:=Errors+1; CaseNr:=0; RETURN; END_IF;
            CaseNr:=0; //Program case
        END_CASE;
    in risposta a: Delucidazioni su simulatore I/O #84245
    Sergio Bertana
    Amministratore del forum

    Il simulatore I/O serve proprio a comandare l’attivazione di ingressi digitali tramite interruttori, vediamo come funziona partendo proprio dal suo schema elettrico. Il simulatore dispone di:

    • 16 deviatori a levetta a 3 posizioni di tipo (on)-off-(on) (Fissa, Fissa, Momentanea) (Da S1 a S16). I deviatori hanno una posizione fissa centrale a circuito aperto. Una posizione fissa verso l’alto a circuito chiuso (Interruttore). Una posizione momentanea verso il basso a circuito chiuso (Pulsante).
    • 1 potenziometro da 1KOhm
    • 1 potenziometro da 5KOhm
    • 1 encoder rotativo
    • 1 connettore IDC maschio a 20 poli
    • 1 morsetto estraibile a 6 poli
    • 1 connettore di alimentazione 2.1 mm

    Come vedi dall schema elettrico i deviatori permettono di connettere la tensione UNRG verso 16 pin del connettore IDC, la connessione può essere stabile (interruttore) o momentanea (pulsante).

    Con dei ponticelli è possibile connettere l’encoder rotativo in parallelo ai deviatori S11-S12 o S15-S16 per testare gli ingressi encoder dei moduli.

    Con il potenziometro da 5KOhm è possibile generare una tensione in uscita variabile da 0 a 10V per il test degli ingressi analogici.

    Il potenzionetro da 1KOhm è di libero utilizzo.

    in risposta a: Potenziometro esterno per impostazione set velocità #84234
    Sergio Bertana
    Amministratore del forum

    INVT non dà alcuna specifica in riferimento al valore del potenziometro da utilizzare.

    Noi internamente usiamo e suggeriamo un range intorno a 10KOhm per tutte le famiglie di inverter.

    Per gestire la velocità da potenzionetro esterno dovrai poi impostare i parametri:

    • Selezionare comando di frequenza A da ingresso AI2 P00.06=2.
    • Selezionare come sorgente di velocità comando di frequenza A P00.09=0.
    in risposta a: Sincronizzazione data/ora tra PLC e HMI #84227
    Sergio Bertana
    Amministratore del forum

    Come riportato in questo articolo tutte le librerie sono fornite in una raccolta, e vengono continuamente aggiornate per soluzionare BUGs e/o per implementare nuove funzioni o blocchi funzioni.

    Durante gli aggiornamenti vengono aggiornate le pagine del manuale on-line con le nuove funzioni ma la raccolta librerie viene rilasciata solo dopo un certo tempo che le modifiche sono realizzate e testate. Durante il periodo di sviluppo viene rilasciata una versione beta della raccolta che è contraddistinta con il carattere “_” finale nel codice.

    La versione beta della raccolta è disponibile per il download da questo link.

    in risposta a: Compatibilità con Linux dei monitor industriali Exenta #84209
    Sergio Bertana
    Amministratore del forum

    Per sicurezza ho chiesto al fornitore, che mi conferma che tutti i monitor della serie Exenta sono stati provati da loro anche su distribuzione Linux Ubuntu e funzionano correttamente.

    I driver sono già inclusi nella distribuzione Linux Ubuntu.

    in risposta a: Cambio pagina automatico su pannello cMT-FHDX-820 #84201
    Sergio Bertana
    Amministratore del forum

    Per gestire operazioni relative alla istanza che opera sul pannello (Display integrato o porta HDMI, App cMTViewer) occorre agire sulle private words (PLW).

    Quindi volendo fare in modo che una certa operazione ad esempio il cambio pagina operi solo sull’istanza che la stà visualizzando devi utilizare una PLW.

    Come vedi dallo screenshot crei un PLC Control in cui definisci il cambio pagina riferito al valore di una variabile PLW (Nel mio esempio è la PLW 10). Nel mio esempio ho effettuato un cambio pagina tra pagina 10 e pagina 20, ecco le operazioni:

    • All’interno della pagina 10 ho inserito un Action Trigger che attende 5 secondi e poi scrive il valore 20 nella PLW 10. In questo modo si passa alla visualizzazione della pagina 20.
    • All’interno della pagina 10 ho inserito un Action Trigger che attende 5 secondi e poi scrive il valore 10 nella PLW 10. In questo modo si passa alla visualizzazione della pagina 10.
    • Il ciclo continua all’infinito.
    in risposta a: Acquisizione di due tastiere Wiegand #84194
    Sergio Bertana
    Amministratore del forum

    L’errore 9981201 come visibile dalla pagina elenco errori, indica “Errore impostazione modo counter” nel FB SysGetCounter.

    Infatti tu hai definito Mode 16#00000000 sia per il CInp0[0] che per il CInp1[0], e 16#00000001 sia per il CInp0[1] che per il CInp1[1]. Come vedi dalla definizione di Mode nel FB SysGetCounter, la cifra meno significativa indica l’ingresso digitale da collegare al counter.

    In questo modo tu hai asseegnato gli ingressi o e 1 ad entrambi i counters e questo genera l’errore. Devi modificare l’inizializzazionre dei counters in questo modo.

        IF (SysFirstLoop) THEN
    
            // Imposta frequenza di esecuzione del task
            eTO_JUNK(SysSetTaskLpTime(ID_TASK_FAST, 1000));
    
            // --- Config lettore 1 ---
            CInp0[0].Address := 255;
            CInp0[0].Channel := 0;
            CInp0[0].Mode := 16#00000000;
    
            CInp0[1].Address := 255;
            CInp0[1].Channel := 1;
            CInp0[1].Mode := 16#00000001;
    
            // --- Config lettore 2 ---
            CInp1[0].Address := 255;
            CInp1[1].Channel := 2;
            CInp1[0].Mode := 16#00000002;
    
            CInp1[1].Address := 255;
            CInp1[1].Channel := 3;
            CInp1[1].Mode := 16#00000003;
        END_IF;

    Inoltre il Task Fast è di default già eseguito ogni 1mS quindi la definizione.

    eTO_JUNK(SysSetTaskLpTime(ID_TASK_FAST, 1000));

    E’ inutile, si utilizza la funzione SysSetTaskLpTime solo per modificare il tempo di esecuzione di una task.

    in risposta a: Visualizzazione immagini da file su server FTP #84177
    Sergio Bertana
    Amministratore del forum

    E’ possibile utilizzare un pulsante Combo Button o un Action Trigger con la funzione File transfer.

    Così potrai trasferire un file da cartella FTP server sulla chiavetta USB inserita nel pannello. A questo punto se il file è un file immagine potrai usare l’oggetto Picture View per visualizzare immagine su schermo.

    in risposta a: Esportazione valori variabili tra programmi #84169
    Sergio Bertana
    Amministratore del forum

    Con il comando PLCCommand -pmbku File da connessione telnet puoi esportare tutta l’area ritentiva della DB100 in un file su disco. Collegandoti in FTP al sistema puoi scaricare il file e trasferirlo sul nuovo sistema. Il comando PLCCommand -pmres File eseguirà il restore dei dati valorizando l’area in DB100.

    In alternativa puoi modificare il programma inserendo il FB MemoryBackup che ti permette di trasferire su file un’area di memoria a tua scelta. Anche qui con una connessione FTP potrai trasferire il file sul nuovo sistema dove sempre con il FB MemoryBackup potrai eseguirne il restore sia sulla stessa area che su area diversa.

    in risposta a: Modbus RS232 con due media converter #84159
    Sergio Bertana
    Amministratore del forum

    Ho dato un’occhiata al media converter sembra che converta la RS232 in pacchetti ethernet che poi “veicola” su connessione in fibra.

    A livello di conversione Seriale/Ethernet credo abbia un funzionamento equivalente al ns Convertitore Ethernet-seriale ATC-1200, che normalmente utilizziamo per trasportare comunicazioni Modbus su rete ethernet basta configurare un dispositivo come server TCP e l’altro come client TCP. Naturalmente dovendo i dispositivi creare pacchetti ethernet per lo scambio dati è importante definire correttamente i parametri di comunicazione seriale.

    Un approccio diverso per la comunicazione in fibra ottica si ha utilizzando il ns Convertitore seriale-fibra ATC-277MM per fibra multimodale o il Convertitore seriale-fibra ATC-277SM-SC per fibra monomodale. Questi convertitori trasferiscono i livelli logici della seriale, non effettuano alcuna interpretazione sui dati infatti non hanno alcuna configurazione, sono completamente trasparenti.

    Ora venendo al tuo problema visto che in connessione con il cavo i due PLC comunicano, farei una ferifica delle impostazioni dei media converter. Puoi testarne il funzionamento collegandone uno alla seriale di un PC e collegando sull’altro un loopback (Connetti tra di loro i pin 2 e 3 del connettore seriale). Se funzionano digitando un carattere su di un emulatore terminale (Esempio Toolly) devi riceverne l’echo. Quando sei riuscito ad ottenere questo sicuramente funzioneranno anche collegandoli ai 2 PLC.

    in risposta a: Protocollo Siemens S5 3964R #84157
    Sergio Bertana
    Amministratore del forum

    No purtroppo non esiste alcuna implementazione di questo protocollo.

Stai visualizzando 15 post - dal 1 a 15 (di 4,363 totali)