Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 271 a 285 (di 4,355 totali)
  • Autore
    Post
  • 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.

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

    I due registri a cui ti riferisci sono:

    • LW-11458 (32bit): HMI total space for history data
    • LW-11460 (32bit): HMI current free space for history data

    Questi registri sono presenti solo sui terminali serie cMT e quindi anche sul tuo modello serie cMT X.

    Considera che lo spazio di memoria per lo storico sui cMT è di 800Mb, ed i registri ne ritornano il valore espresso in Kb. Quindi il valore di spazio totale dovrebbe avere valore 800000 che deve essere visualizzato in formato 32bit unsigned.

    in risposta a: Grafico Barra Dinamico #78569
    Sergio Bertana
    Amministratore del forum

    Per la gestione dei grafici a barra si deve utilizzare l’oggetto Bar Graph, per le impostazioni, come si vede dallo screenshot:

    • General: In questa sezione si definisce la variabile PLC a cui l’oggetto si riferisce ed al cui variare del valore si sposta la barra sul display in visualizzazione.
    • Outline: In questa sezione si definisce il tipo di visualizzazione della barra, orrizzontate o verticale scegliendo anche il tipo di scorrimento.
    • Range: Si definiscono i valori limite della barra, eventuali limiti di allarme con relativi colori.
    in risposta a: Problema nella inizializzazione variabili #78398
    Sergio Bertana
    Amministratore del forum

    Hai problemi di inizializzazione perchè stai operando sull’area di backup (Area in DB100 da 2048 a 4095). Siccome l’area è in backup il comportamento dell’init è particolare, in pratica se il valore di init è diverso da 16#00 la variabile viene inizializzata.

    Se il valore di init è 16#00 la variabile non viene inizializzata e rimane con il valore che aveva allo spegnimento del sistema.

    In questa verifica poi mi sono accorto di un problema che sembra avere LogicLab, quando si inizializza una stringa con “$00” in realtà anzichè inserire il valore 16#00 che coincide con il codice tappo viene inserito il valore “0” codice hex 16#30.

    Quindi per rispondere alla tua domanda o sposti le variabili in area non backup, oppure le inizializzi da programma sulla task di Boot o testando la variabile SysFirstLoop.

        VarC:=16#00;
        VarX:='zc$00';
    in risposta a: Connessione TCP client con FB SysTCPClient #78390
    Sergio Bertana
    Amministratore del forum

    Devi leggere bene le informazioni del FB ModbusMaster, il FB è realizzato per poter operare con modello a cascata, quindi se mantieni Enable semmpre attivo verrà eseguita una sola interrogazione. Se vedi gli esempi si collega sempre il Done negato all’Enable in questo modo terminata un comando ne viene eseguito un’altro e così via. Il tempo tra i comandi lo puoi definire con il parametro Delay.

    Perchè adesso esegue una lettura ogni circa 28 secondi, se tu vedi hai impostato un tempo di LifeTime nella FB SysTCPClient di 20 secondi, alla connessione il FB modbus con Enable attivo esegue un solo comando, non essendoci più comunicazione dopo 20 secondi il TCP client chiude la connessione e dopo 5 secondi ne ritenta un’altra che và a buon fine  e cosi parte un’altra interrogazione Modbus.

    in risposta a: Gestione bitwise AND su allarmi #78379
    Sergio Bertana
    Amministratore del forum

    Se è possibile puoi inviare il progetto sia del PLC che del pannello alla ns eMail di supporto così possiamo fare una verifica.

    In generale mi sembrano tempi non congrui, sicuramente non aiuta il PLC che è lento nel trasferimento pacchetti, ma comunque mi sembrano tempi elevati.

    Un altra cosa da verificare è il tempo ciclo del PLC se elevato (direi dai 20ms) può compromettere di molto i tempi in quanto questi PLC non hanno una comunicazione indipendente ma la comunicazione è secondaria al processo.

    in risposta a: Connessione TCP client con FB SysTCPClient #78371
    Sergio Bertana
    Amministratore del forum

    Le cause del Fault possono essere molte, intanto ti consiglio di verificare con il comando Syslog da connessione Telnet che errori hai, la descrizione degli errori la trovi qui.

    Hai verificato se il tuo dispositivo 192.168.255.1 è raggiungibile dallo SlimLine, se il dispositivo risponde al ping puoi testarlo con il comando di Ping sempre da connessione Telnet.

    Ma guardando il tuo programma vedo il motivo dell’errore, se leggi bene la documentazione del FB SysTCPClient, vedi questo:

    • LocalAdd (@STRING) Indirizzo IP della interfaccia di rete da cui effettuare la connessione. Default ‘0.0.0.0’: l’interfaccia è scelta automaticamente in base all’IP a cui connettersi.
    • LocalPort UINT) Numero porta TCP da cui parte la connessione (0 scelta automaticamente).

    Tu invece hai definito sia uno che l’altro dei parametri.

    Definendo LocalAdd con l’indirizzo IP dello SlimLine stai obbligando il FB ad utilizzare la connessione che ha questo indirizzo e fino a qui tutto funziona tanto la connessione con il tuo dispositivi parte proprio dalla porta ethernet dello SlimLine.

    Ma definendo LocalPort a 502 stai obbligando il FB ad aprire la connessione verso la porta 502 del tuo dispositivo dalla sua porta 502 che in realtà è già utilizzata dallo SlimLine (é quella dove ci si conette in Modbus). Quindi trovandola già aperta il FB non può utilizzarla.

    in risposta a: Esempio programma Modbus Master in Ladder #78277
    Sergio Bertana
    Amministratore del forum

    Meglio del ladder è il linguaggio FBD che essendo comunque grafico è ancora puù intuitivo del ladder ed è estremamente più veloce nel realizzare il programma.

    Intanto di direi di dare una occhiata al programma di esempio FBD_SDM120Waterfal che trivi in questo articolo.

    L’esempio utilizza una porta seriale come porta di comunicazione, nel tuo caso dovrai semplicemente sostituire il FB SysSerialPort con il FB SysTCPClient, e naturalmente modificare il tipo di protocollo Modbus in MDB_TCP.

    Credo sia superfluo ricordare che il dispositivoi SlimLine abbia l’interfaccia di rete compatibile con il dispositivo con il quale devi connetterti, eventualmente per la verifica puoi utilizzare il comando di ping, ammesso che il dispositivo risponda al ping.

    in risposta a: Gestione bitwise AND su allarmi #78272
    Sergio Bertana
    Amministratore del forum

    E’ stranissimo avere tempi di risposta in lettura così lenti, questo indipendentemente dal tipo di variabili che il pannello legge.

    Non è che esegui nel progetto accesso a variabili in errore, in tal caso si possono sommare i tempi di timeout sulla risposta dal protocollo e quindi avere tempi molto lunghi. Verifica la comunicazione con EasyDiagnoser.

    Eventualmente puoi provare a creare un array di variabili BOOL e puntare a queste.

Stai visualizzando 15 post - dal 271 a 285 (di 4,355 totali)