Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 976 a 990 (di 4,309 totali)
  • Autore
    Post
  • in risposta a: Trasferimento variabile REAL da S7 a CMT-SVR #60536
    Sergio Bertana
    Amministratore del forum

    Non conosco il mondo Siemens, ma non capiosco perchè non utilizzi direttamente la lettura da cMT di 5 variabili float 32 bit in questo modo hai il tuo valore in REAL direttamente sul cMT.

    Poi potrai definire nel cMT il formato di visualizzazione (Quante cifre prima e  dopo la virgloa).

    in risposta a: Linguaggio SFC, variabile temporale di step e domanda su azioni #60531
    Sergio Bertana
    Amministratore del forum

    Non ho ben chiaro quello che stai realizzando, non sono un esperto di SFC quindi scusa il mio programma banale, ho realizzato il programma SFCExample (Download).

    Step 0: Attiva l’uscita 0 del modulo CPU SlimLine ed attende 2 secondi.
    Step 1: Disattiva l’uscita 0 del modulo CPU SlimLine ed attende 2 secondi.

    Come vedi dallo screenshot ho definito la variabile TDelay di tipo timer eTON, e nello step 0 eseguo l’azione SetDo00 che esegue il timer e sulla transizione ne controllo l’uscita Q. Nello step 1 eseguo l’azione ResetDo00 che esegue il timer e sulla transizione ne controllo l’uscita Q.

    Nota importante, come vedi nelle due azioni l’ingresso IN del timer è gestito con lo stato dell’uscita, questo perchè occorre che il FB veda disattivarsi IN per poi sulla attivazione gestire una nuova temporizzazione.

    in risposta a: Switch automatico tra connessione LTE e Ethernet #60528
    Sergio Bertana
    Amministratore del forum

    Allego un estratto del manuale che riporta le indicazioni per attivare il backup via LTE della rete WAN.

    In questo modo la connessione via rete WAN è prioritaria, se attiva il router si connetterà attraverso questa connessione. In assenza di connnessione verrà attivata automaticamente la connessione LTE.

    in risposta a: Linguaggio SFC, variabile temporale di step e domanda su azioni #60525
    Sergio Bertana
    Amministratore del forum

    Non utilizzo mai i linguaggi grafici, se guardi tutti gli esempi che abbiamo sia nelle knowledge che nel forum sono in ST.

    Il linguaggio testuale ha il grosso vantaggio di poter essere facilmente manipolato, copiato in parti da un programma ed incollato in un altro. Inoltre con semplici passaggi ssi può passare da LogicLab a CODESYS.

    Un esempio di programma in SFC lo puoi trovare in questo topic.

    Per aiutarti ho girato la domanda ad Axel che sono gli sviluppatori dell’ambiente di sviluppo LogicLab ed ecco la loro risposta.

    Ovviamente Spento deve essere dichiarato.

    Dentro le azioni puoi chiamare ciò che ti pare, es. funzione ma è possibile associare solo un azione per N (finché lo step è attivo) oppure P (pulse, quando lo step viene attivato).

    Dopodiché assegni le condizioni di uscita dalle transazioni, possono essere del codice o delle variabili booleane.

    in risposta a: Driver di comunicazione con CODESYS #60523
    Sergio Bertana
    Amministratore del forum

    Ho utilizzato CODESYS V3.5 SP17 + (64 bit) su di un nostro modulo CPU MPS055 basato su Raspberry.

    in risposta a: Driver di comunicazione con CODESYS #60517
    Sergio Bertana
    Amministratore del forum

    Ho fato la prova con un semplice progettino con una inputazione/visualizzazione numerica di variabile UDINT, mi sono collegato ad un nostro sistema SlimLine e non ho avuto alcun problema. Il tutto provato con EasyBuilderPro in simulazione su PC.

    Ecco lo screenshot delle impostazioni che ho effettuato, controlla se sono le stesse del tuo progetto.

    in risposta a: Driver di comunicazione con CODESYS #60514
    Sergio Bertana
    Amministratore del forum

    Per la connessione con sistemi programmati in CODESYS Weintek ha predisposto driver appositi con gestione sia dell’indirizzamento assoluto che simbolico.

    Il driver funziona con tutti i sistemi programmati in CODESYS.

    Quindi se ti viene visualizzato il messaggio PLC no response significa che hai commesso qualche errore di configurazione. Ti consiglio di realizzare un progetto con un solo pulsante toggle utilizzando l’indirizzamento assoluto e vedere se riesci a farlo funzionare.

    Per la configurazione del protocollo puoi verificare il manuale Guida connessioni PLC.

    in risposta a: Connessione a MySQL con cMT-SVR #60510
    Sergio Bertana
    Amministratore del forum

    Come vedi dalla comparazione delle caratteristiche tra i vari HMI il cMT-SVR supporta le SQL query e naturalmente ha il supporto al Modbus sia RTU che TCP.

    Naturalmente per risolvere il tup problema dovrai lavorare di macro sul pannello, per la gestione delle query SQL puoi dare una occhiata a questo articolo.

    Ti ricordo comunque che EasyBuilderPro permette la completa simulazione del progetto, quindi puoi provare a scrivere il tuo programma e testarlo in simulazione prima di acquistare il cMT-SVR.

    in risposta a: Utilizzo dongle USB 3G con CMT SVR #60441
    Sergio Bertana
    Amministratore del forum

    Weintek ha testato alcuni dongle USB, l’elenco è riportato nel post precedente e sulla pagina descrittiva del prodotto. Naturalmente anche altri dongle possono funzionare ma purtroppo non c’è modo di configurarli, se inserendo il dongle nel cMT questo non viene riconosciuto non si può fare nulla.

    Puoi indagare se il cMT riconosce il dongle tramite le variabili del pannello indicate nella pagina Cellular Data Network (Screenshot).

    Ti consiglio di realizzare una pagina sul pannello in cui visualizzi il valore di tutte le variabili interessate e verificare se il non funzionamento può essere determinato da un tuo errore (Esempio il PIN della SIM). Ma se il cMT non riconosce il dongle come connesso (LW-11379=0) non c’è modo di agire.

    in risposta a: Problemi di connessione a SlimLine #60417
    Sergio Bertana
    Amministratore del forum

    Lo SlimLine Raspberry viene rilasciato con il DHCP attivo e con l’accesso da utility Discover attivo. Quindi è strano che tu non riesca a raggiungerla. Questo potrebbe capitare se hai installato qualche tuo programma o ad esempio il run time di Codesys.

    In questo articolo diamo alcune indicazioni su come raggiungere il modulo. Ma se non riesci in alcun modo puoi sempre usare il metodo nativo, colleghi una tastiera ed un monitor e ci accedi direttamente.

    in risposta a: Scelta colore su immagine custom con EasyBuilder #60412
    Sergio Bertana
    Amministratore del forum

    La funzione di variazione colore su immagine è attiva solo sulle immagini delle librerie di sistema che vengono costruite da Weintek.

    Per tutte le altre immagini caricate dall’utente non c’è questa possibilità.

    in risposta a: Protocollo comunicazione con PIO I2C #60395
    Sergio Bertana
    Amministratore del forum

    Il bus di estensione dei ns sistemi utilizza il protocollo I2C standard è quindi possibile collegare qualsisi dispositivo I2C al bus. Abbiamo previsto la funzione SysI2CWrRd proprio per poter gestire dispositivi I2C standard connessi al bus di estensione.

    Come hai già visto tu il segnale RDYO-N è il segnale di abilitazione ai moduli , normalmente è allo stato logico TRUE (+5Vdc) e si porta a FALSE quando il programma PLC è in esecuzione (LED RDY acceso).

    Guardando il datsheet del MPC23017 vedo che ha un ingresso di RESET negato, quindi devi collegare a questo ingresso il segnale RDYO-N negato. mentre per la gestione dei comandi I2C devi riferti al datasheet del componente al capitolo byte mode and sequential mode.

    In Byte mode puoi scrivere/leggere un solo byte per ogni esecuzione della funzione SysI2CWrRd, in Sequential mode puoi scrivere/leggere più bytes sequenzialmente per ogni esecuzione della funzione SysI2CWrRd. Ecco un esempio di utilizzo

    // Esempio scrittura e lettura di 1 byte in "byte mode".
    
    I2CWrite[0]:=xx; //Device register address
    I2CWrite[1]:=xx; //Data to write
    i:=SysI2CWrRd(Address:=xx, WrBytes:=2, WrBuffer:=ADR(I2CWrite), RdBytes:=0, RdBuffer:=eNULL)
    
    I2CWrite[0]:=xx; //Device register address
    i:=SysI2CWrRd(Address:=xx, WrBytes:=1, WrBuffer:=ADR(I2CWrite), RdBytes:=1, RdBuffer:=ADR(I2CRead ))
    
    // Esempio scrittura e lettura di 4 bytes in "sequential mode".
    
    I2CWrite[0]:=xx; //Device register address
    I2CWrite[1]:=xx; //Data to write
    I2CWrite[2]:=xx; //Data to write
    I2CWrite[3]:=xx; //Data to write
    I2CWrite[3]:=xx; //Data to write
    i:=SysI2CWrRd(Address:=xx, WrBytes:=5, WrBuffer:=ADR(I2CWrite), RdBytes:=0, RdBuffer:=eNULL)
    
    I2CWrite[0]:=xx; //Device register address
    i:=SysI2CWrRd(Address:=xx, WrBytes:=1, WrBuffer:=ADR(I2CWrite), RdBytes:=4, RdBuffer:=ADR(I2CRead ))

    Il bus di estensione può essere utilizzato sia da task in back che slow o fast, l’accesso al bus blocca il task switching, quindi per minimizzare i jitters è preferibile non eseguire scritture/letture sequenziali di più di 4 bytes.

    Nota: Tutto quello cho ho scritto l’ho desunto dal datasheet del PIO quindi fai tu la verifica reale di funzionamento.

    in risposta a: Problemi di connessione a SlimLine #60347
    Sergio Bertana
    Amministratore del forum

    I sistemi SlimLine a partire dalla versione firmware SFW184A910 supportano l’utility Discoverer che ti permette l’impostazione dell’indirizzo IP anche da PC che non appartengono alla stessa classe di rete del sistema (Vedi articolo).

    Ora puoi limitarti al solo cambio di IP oppure puoi aggiornare i sistemi alla nuova architettura XTarget_12 o XUnified (Vedi articolo).

    Se tu apri con LogicLab il tuo progetto .ppjs (Lo puoi usare così o convertirlo nel nuovo formato .plcprj) e potrai collegarti ai vecchi sistemi XTarget_11 perchè già configurato nel progetto. Ma se cerchi di fare un nuovo progetto non troverai più nell’elenco di selezione del sistema i vecchi target e quindi sarai obbligato ad aggiornare il firmware.

    in risposta a: Stringa troncata a 99 caratteri su funzioni stringa #60341
    Sergio Bertana
    Amministratore del forum

    Le funzioni stringa operano sulle stringhe e ritornano l’indirizzo del buffer di memoria che contiene la stringa risultato. Quindi è evidente che DEVONO appoggiare su di un buffer di memoria i dati quindi hanno tutte una dimensione massima. Poi certo su sistemi con molta memoria a disposizione il buffer di appoggio può essere molto grande.

    Nei sistemi SlimLine potendo gestire le operazioni stringa su 3 diverse Tasks concorrenti abbiamo dovuto istanziare 3 diversi buffers di appoggio ed essendo un sistema basato su di un microcontrollore dove la memoria RAM non è molto grande abbiamo posto un limite a queste stringhe.

    Posso essere daccordo con te che il limite di 100 caratteri (99+tappo) è poco ed adesso stiamo vedendo di aumentare il valore, ma non è possibile avere un valore infinito, quindi prima o poi si cozza con la dimensione predefinita.

    Per evitare il limite di dimensione puoi utilizzare funzioni che operano con i puntatori, la CONCAT si può sostituire con la SysVsnprintf, dove passi alla funzione il buffer che contiene il risultato e la sua dimensione.

    in risposta a: Gestione digital I/O su router WL-R220 #60336
    Sergio Bertana
    Amministratore del forum

    Aggiungo il listato di un semplice script per fare lampeggiare l’uscita digitale. Naturalmente prima occorre impostare correttamente l’uscita con i comandi visti precedentemente.

    while true
    do
      echo 1 > /sys/class/gpio/gpio0/value
      sleep 1
      echo 0 > /sys/class/gpio/gpio0/value
      sleep 1
    done

    Salvare il file ad esempio con il nome “Blink” nella cartella “/usr” e poi eseguirlo con il comando “/usr/Blink”.

Stai visualizzando 15 post - dal 976 a 990 (di 4,309 totali)