Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,891 a 1,905 (di 4,482 totali)
  • Autore
    Post
  • in risposta a: Ottimizzazione gestione riscadatori #44003
    Sergio Bertana
    Amministratore del forum

    Vista la differenza di prezzo (Che non è sostanziale) ti consiglio di utilizzare la CPU Cortex M7 che è anche il modello su cui sono supportate tutte le funzioni che stiamo sviluppando. Tra l’altro i suoi 2 ingressi analogici hanno una risoluzione di 12 bits quindi credo più che sufficenti per l’acquisizione dei tuoi 2 segnali 4-20 mA.

    Se devi solo gestire encoders da pannello per il settaggio dei valori di processo, non è necessario che utilizzi schede con la quadratura hardware,  il FB IOEncoder è sicuramente in grado di gestirli. Puoi eseguire l’acquisizione degli ingressi digitali e le istanze del FB in una Task Fast (1 mS), in questo modo si possono acquisire encoder con frequenza fino a 500 Hz.

    Ma attenzione ruotando a mano l’encoder anche se mediamente la frequenza è molto bassa si possono avere picchi di frequenza molto alti e quindi con l’FB si può perdere qualche conteggio. Ma visto che gli encoders sono solo per impostazione e non per il posizionamento non credo questo possa essere un problema.

    in risposta a: ATC-1000WF si connette a reti WiFi con protezione WPA2 #40077
    Sergio Bertana
    Amministratore del forum

    Nella sicurezza wireless, le password sono molto importanti e scegliere il giusto livello di crittografia è vitale. La maggior parte dei punti di accesso wireless offre la possibilità di abilitare uno dei tre standard di crittografia wireless: Wired Equivalent Privacy (WEP), Wi-Fi Protected Access (WPA) o WPA2.

    Il convertitore ATC-1000WF può connettersi a reti con cifratura WEP 64/128, TKIP (WPA-PSK) and AES (WPA2-PSK). Quindi può connettersi a reti con protezione WPA2.

    in risposta a: Libreria per comunicazione tra sistemi su Internet #40076
    Sergio Bertana
    Amministratore del forum

    L’argomento è trattato in modo più dettagliato in questa knowledge.

    in risposta a: Aggiornamento firmware convertitore ATC-1000 #40074
    Sergio Bertana
    Amministratore del forum

    ATC ha fornito una serie di convertitori ATC-1000 in cui era possibile eseguire l’upgrade del firmware, e la voce di menù riportata nel topic si riferisce proprio a quella serie. Le serie successive di prodotto purtroppo non hanno mantenuto la possibilità di upgrade del firmware, ecco quindi il perchè della scomparsa della voce di menù. Alla data odierna la versione di firmware del prodotto è “V1.44.3.10 2017/06/29”.Ma proprio per venire incontro alle nuove richieste del mercato offrendo nuove funzionalità (Tra cui anche l’upgrade del firmware) mantenendo un range di prezzo similare ATC ora propone il modello ATC-1200.

    in risposta a: LogicLab SlimLine CODICE DIFF. (SIM) alla connessione #40072
    Sergio Bertana
    Amministratore del forum

    Il problema della errata segnalazione “CODICE DIFF. (SIM)” di LogicLab alla connessione con i PLC SlimLine è un problema noto che abbiamo già segnalato più volte alla Axel che sviluppa l’ambiente LogicLab. Purtroppo nonostante diverse modifiche non siamo ancora riusciti ad arrivare alla completa soluzione del problema.

    Stiamo lavorando su una nuova versione di LogicLab che è attualmente in fase di testing presso di noi e speriamo con questa versione di arrivare alla soluzione del problema.

    in risposta a: Differenza tra oggetto Backup e Import/Export #40071
    Sergio Bertana
    Amministratore del forum

    Se cerchi nel forum vedrai che c’è già una risposta al tuo problema di controllo presenza pen drive (Topic).

    in risposta a: Ottimizzazione gestione riscadatori #40069
    Sergio Bertana
    Amministratore del forum

    Le mie sono valutazioni a mente libera non avendo mai affrontato questo tipo di regolazione. La temperatura da controllare è la temperatura di processo quindi su quella devi realizzare il PID di controllo, ma certo alla accensione impianto prima che la temperatura si propaghi fino alla termocoppia di processo tu avrai una fase in cui tutte le resistenze daranno il 100% di potenza ed in questa fase potrebbe essere che la temperatura in basso arrivi al suo valore di soglia. Questo evento, se possibile, succede già oggi è l’unica cosa che oggi l’impianto elettromeccanico può fare è spegnere le resistenze. In questo modo con continue accensioni/spegnimenti delle resistenze la temperatura si propaga nella struttura ed arriva alla termocoppia superiore.

    Ora tu puoi mantenere la stessa situazione, oppure prevedere una rampa di riscaldamento in cui attivi le resistenze non al 100% di potenza per  dare tempo all’intera massa di scaldarsi. Certo che se usi una percentuale bassa di potenza ci metterai più tempo ad andare in temperatura e comunque con una percentuale predefinita non hai una retroazione del comportamento reale.

    Un’altra possibilità è di realizzare come dici tu un PID di riscaldamento sulla termocoppia di controllo, il cui set point è fissato dal PID di processo (Con massimo 200 gradi, per non superare i 230 massimi). Quindi il PID di processo varierà il set point del PID di riscaldamento per regolare la temperatura del processo.

    in risposta a: Informazioni sulla gestione delle ricette tramite terminale #40068
    Sergio Bertana
    Amministratore del forum

    L’esempio di questo topic è stato ripreso ed aggiornato in questo topic.

    in risposta a: Acquisizione segnali digitali ed analogici #40067
    Sergio Bertana
    Amministratore del forum

    Nel tuo caso specifico acquisire temperature utilizzando sensori Pt100 o Pt1000 è estremamente semplice, il nostro modulo di espansione I/O analogico gestisce direttamente molti tipi di sensori ritornando in uscita un valore di temperatura già in gradi centigradi su di una variabile a virgola mobile di tipo REAL.

    Quindi basterà nel tuo programma istanziare un FB SysGetAnInp definendo l’indirizzo del modulo di I/O analogico ed il canale (Il modulo ne può avere 5 o 10) da cui vuoi acquisire il valore di temperatura, ecco lo screenshot di un programma in FBD.In pratica è un pò quello che hai descritto tu, istanziare infatti significa dichiarare una variabile assegnando un nome (Nel nostro caso Temperatura) di tipo FB, nel programma si definiranno i vari parametri in ingresso al FB (Nel nostro caso indirizzo di modulo, numero di canale e tipo di lettura) e si collegherà in uscita la variabile che dovrà contenere il valore (Nel nostro caso TAcqua).

    Come vedi per semplicità ho dichiarato la variabile TAcqua come variabile locale, ma se tu la vuoi utilizzare in altri program (POUs) del progetto dovrai dichiarare come hai detto tu una variabile globale.

    in risposta a: Effettuare la scalatura di un valore #40065
    Sergio Bertana
    Amministratore del forum

    Le ultime versioni delle varie librerie di LogicLab sono disponibili nella zona download della pagina delle librerie sul nostro sito. Scarichi la libreria che ti interessa e poi importi dalla libreria (Topic) l’oggetto che ti serve (Nel tuo caso la funzione ValueScale).Quello che è strano è che nella libreria eLLabUtyLib_C040 la funzione è presente, sei sicuro di avere selezionato le funzioni (Screenshot) quando esegui l’import ?

    in risposta a: Attivazione di una uscita su comando da ingresso #40063
    Sergio Bertana
    Amministratore del forum

    Se vuoi usare i pulsanti dei pannelli preconfigurati sul simulatore di SimuLab devi usare variabili allocate nella mappa di I/O del sistema, ma puoi anche crearti uno o più pannelli personalizzati solo eseguendo un drag delle variabili che vuoi gestire (Topic). Poi devi è importante capire la differenza tra le variabili globali e quelle locali (Topic).

    Le variabili allocate all’interno di un programma (o POU) sono locali, cioè sono accessibili al solo POU dove sono dichiarate, mentre le variabili globali sono visibili da tutti i POU. Ma ttenzione se tu dichiari la variabile Luce come globale e la assegni ad una uscita reale e poi mi dichiari un’altra variabile Luce (Quindi con lo stesso nome) come variabile locale all’interno di un POU, quando ti riferisci a quel nome all’interno di quel POU agirai solo sulla variabile locale e non su quella globale.

    Gli I/O logici sono gestiti in immagine di processo e per gestirli devi dichiararne l’indirizzo (Topic), le variabili automatiche sono variabili di appoggio e non possono essere I/O reali. Gli I/O analogici non sono gestiti in immagine di processo per utilizzarli occorre usare i blocchi funzioni appositi (Topic).

    In riferimento al linguaggio da utilizzare, in generale la normativa ne ha normalizzati 5 proprio perchè per ogni tipo di operazione da svolgere vi è un linguaggio più approppriato, esempio per la logica si utilizza il ladder diagram, ma ognuno può scegliere di utilizzare il linguaggio che preferisce.

    in risposta a: Attivazione di una uscita su comando da ingresso #40061
    Sergio Bertana
    Amministratore del forum

    La sintassi è corretta, probabilmente hai fatto errori nella assegnazione degli I/O o da qualche altra parte. Ti ho preparato il programma SimplyProgram che realizza quello che hai fatto tu, come vedi dallo screenshot eseguendolo in simulazione con SimuLab attivando l’ingresso IntAuto si attiva l’uscita Luce. Come vedi ho simulato un modulo CPU compact (6 ingressi, 4 uscite) e per comodità ho impostato l’ingresso a funzionare come selettore anzichè pulsante. Puoi scaricare il programma (Download) e continuare con il mio esempio. Un programma puramente logico come il tuo è preferibile realizzarlo con il linguaggio ladder (LD) anzichè il linguaggio strutturato (ST).Per il comando di lampade da pulsanti consiglio di realizzare un relè passo passo, in questo topic trovi un FB scritto in LD ma tu puoi cimentarti a scrivere un tuo FB in linguaggio ST che fà la stessa cosa.

    in risposta a: Gestione trasferimento ricette tra terminale e pen drive USB #40060
    Sergio Bertana
    Amministratore del forum

    La funzione backup è sempre stata cosi e serve principalmente per estrarre i file log e salvarsi lo stato ricette,  per ripristinare il file recipe.db su HMI si può utilizzare Utility manager -> Pubblica -> Download. In alternativa si creano le cartelle per il download da pen drive USB, poi come per il progetto inserisco il pen drive, aspetto il pop up e eseguo download storici.

    Il file db è un file SQL lite quindi apribile con un editor idoneo, è comunque possibile usare la funzione import/export su USB che genera un file csv, quindi importabile, esportabile e consultabile con un text editor o con Excel (Topic).

    in risposta a: Problemi nella comunicazione Ethernet tra HMI e PLC #40058
    Sergio Bertana
    Amministratore del forum

    Come hai configurato le due porte LAN del pannello ? Ti ricordo che devono essere impostate su due classi diverse, quindi se connetti il PLC utilizzando la LAN2 configurata nella stessa classe del PLC, devi configurare la LAN1 su un’altra classe.

    Hai rigenerato il file xmls da SoMachine per verificare che non ci siano variabili errate ?  Il messaggio “PLC no response” compare quando ci sono problemi di comunicazione ma anche quando cerchi di accedere ad una variabile PLC con indirizzo errato.

    in risposta a: Lettura stringa da lettore Barcode #40057
    Sergio Bertana
    Amministratore del forum

    Non posso che essere contento che hai scelto i nostri prodotti, per la tua applicazione ritengo che possano essere particolarmente adatti. I nostri prodotti pur essendo dei PLC (Vedi la programmabilità secondo la IEC61131) hanno nel loro DNA la possibilità di utilizzo per applicazioni in cui molte volte si usano sistemi a microcontrollore e/o sistemi basati su PC. Grazie al linguaggio strutturato ST, ai blocchi funzioni che gestiscono le comunicazioni (Seriali, CAN, Ethernet), alla possibilità di operare su files, alle funzioni di gestione stringhe, alla gestione web, ecc è possibile realizzare applicazioni anche molto diverse dalla classica automazione.Venendo alla tua domanda, certo è possibile utilizzare linguaggi grafici (LD ed FBD) per fare tutto (O quasi) ma i 5 linguaggi sono nati proprio per poter utilizzare il linguaggio giusto per ogni tipo di problema. La tua esigenza ne è proprio un esempio, gestire la ricezione stringa del Barcode usando linguaggi diversi dal ST anche se possibile sarebbe stata estremamente dispersiva. Ecco allora la scelta di realizzare un FB in linguaggio ST per poi utilizzarlo all’interno di un programma FBD, così da avere graficamente il colpo d’occhio sull’insieme.Venendo alla tua domanda ecco lo screenshot di un programma che esegue quello che ti serve, come vedi ho appoggiato il codice stringa nella variabile Code e poi ho eseguito la SysVarsscanf sulla stringa salvando il risultato numerico in CodeValue. Ma come vedi ho anche inserito la SysVarsscanf direttamente nel FB in modo da avere già in uscita il valore numerico, così in una sola riga di codice si è fatto tutto contro una serie di blocchetti da connettere in FBD (Download programma).

Stai visualizzando 15 post - dal 1,891 a 1,905 (di 4,482 totali)