Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumSe spulci nel forum trovi esempi che eseguono la gestione della comunicazione sia su porta seriale che su TCP/IP. In generale ti ricordo che con la funzione Sysfopen puoi aprire lo stream di comunicazione (Porta seriale o socket TCP), la funzione ritorna un file pointer di tipo FILEP.
Passando il FILEP ritornato alle funzioni Sysfgetc e Sysfread potrai ricevere dati dallo stream, con le funzioni Sysfputc e Sysfwrite potrai inviare dati sullo stream dai una occhiata a questo topic e questo topic.
La funzione SysVarsscanf permette di controllare i dati ricevuti mentre con la SysVarsnprintf potrai comporre la stringa di dati con le tue variabili (Guarda ad esempio il programma in questo topic ed in
questo topic) e poi inviarla in uscita con la Sysfwrite.Settembre 4, 2014 alle 6:39 am in risposta a: Interfaccia web su terminali touch screen Weintek #38402Sergio Bertana
Amministratore del forumAggiungo che con la presentazione del nuovo EasyAccess 2.0 – Assistenza remota HMI-PLC si è finalmente superato il problema dell’IP statico e della apertura delle porte sul router di connessione Internet. Con l’acquisto di una licenza, EasyAccess 2.0 è possibile l’accesso remoto al pannello operatore e, in modalità passthrough, ai dispositivi (PLC o altro) ad esso connessi (in modalità seriale o Ethernet) senza nessuna configurazione di rete. Il sistema utilizza una connessione VPN protetta SSL che permette uno scambio sicuro di dati ed informazioni con impiego minimo di banda.
Sergio Bertana
Amministratore del forumA livello di programmazione il pannello operatore ed il Cloud HMI (cMT-SVR) si equivalgono, naturalmente il pannello operatore ha lo schermo touch screen integrato, mentre il Cloud HMI opera utilizzando una applicazione per smartphone, tablet o PC Windows.
Il cMT-SVR non ha la gestione VNC ma puoi agire sui comandi grafici del panello Cloud HMI dal tuo smartphone tramite rete WiFi o connessione Internet. Si possono avere fino a 3 connessioni contemporanee ed ogni connessione agisce in modo indipendente dalle altre.Avendo tutti i pannelli (Non cMT) la gestione del server VNC, tramite un client VNC puoi agire da smartphone anche sul pannello operatore (Topic). In questo caso però si tratta di una remotazione fisica dello schermo quindi le operazioni eseguite sul panello o sul client VNC sono visibili a tutti gli operatori connessi.
Naturalmente il pannello operatore và messo in un posto visibile, i miei clienti che operano in domotica hanno realizzato delle cornici per incassarlo nel muro, il Cloud HMI invece può essere posto in qualsiasi locazione basta sia connesso alla rete WiFi.
Ora parliamo di storage, i 256 Mb di memoria Flash non sono tutti disponibili per lo storage dei dati sono usati anche dal sistema operativo. Weintek mi dice che lo spazio di memoria libera è da considerare sui 32 MB e questo vale per entrambi i prodotti. Se aggiungi uno storage esterno SDCard o pen drive USB potrai utilizzare tutto lo spazio del dispositivo come storage per i trend (Topic).Settembre 2, 2014 alle 7:11 am in risposta a: Creazione di un file di log per registrazione variazione I/O #38400Sergio Bertana
Amministratore del forumSpulciando tra i vari topics del forum puoi trovare esempi per realizzare quello che ti occorre. In particolare modo il programma trattato in questo topic di cui puoi eseguire il download fa già qualcosa di molto simile alla tua necessità. Naturalmente per effettuare quello che ti serve il linguaggio ladder non è adatto, si può però per schematicità realizzare una FB che esegue la memorizzazione del log e poi gestirla il LD.
Come gestire la dimensione del file, come vedi nel programma WriteLog tutti i logs hanno la stessa dimensione, in questo modo raggiunto il numero definito è possibile riscrivere i log più vecchi ripartendo dall’inizio del file. Naturalmente non saranno più in ordine di data, ma basterà importarli in Excel e poi ordinarli.
Settembre 2, 2014 alle 6:45 am in risposta a: Errore in compilazione da XTarget 11 a XTarget 10 #38399Sergio Bertana
Amministratore del forumDa quello che dici riguardo ai tempi di download sullo SlimLine del codice compilato, mi sembra di capire che non hai modificato l’opzione di default di eseguire il download del codice sorgente insieme alla applicazione. Questo ti porta a scaricare nel target (SlimLine) il codice sorgente ad ogni download con un incremento notevole del tempo di download. Ti consiglio nel menù Project -> Option di modificare la scelta (Screenshot), ti rimando a questo topic per ulteriori informazioni.
Settembre 2, 2014 alle 6:26 am in risposta a: Eseguire trasferimento programma sorgente su target #38398Sergio Bertana
Amministratore del forumCon le nuove versioni di LogicLab è stata modificata la gestione del download del codice sorgente (ZIP del file di progetto con tutti i commenti) sul modulo target. Ora la scelta è impostata nel menù Project -> Options (Screenshot) ed è possibile scegliere tra 3 diverse opzioni.
Never: Il codice sorgente non è mai scaricato sul sistema target.
Before disconnession: Il codice sorgente viene scaricato quando si sconnette LogicLab dal sistema target.
On PLC application download: Il codice sorgentye viene scaricato sul target ad ogni download applicazione.Naturalmente è possibile definire una password di protezione del codice. Di default è definita l’opzione di scaricare il codice sorgente ad ogni download applicazione sul sistema target.
Consiglio di cambiare questa impostazione scegliendo di eseguire il download del codice sorgente alla sconnessione dal sistema, questo perché essendo il codice sorgente lo ZIP del file di progetto con tutti i commenti è un file di dimensioni molto più grandi rispetto al solo file applicazione. Questo allunga notevolmente il tempo necessario al download, e quando si sviluppa un programma ad ogni modifica si esegue il download per testarla ed è inutile perdere tempo nel download del sorgente.
Sergio Bertana
Amministratore del forumTi rispondo citando un post che ho postato qualche giorno fà in questo topic.
Per quanto riguarda gli I/O analogici occorre fare riferimento ai blocchi funzione SysGetAnInp per la lettura degli ingressi e SysSetAnOut per la scrittura delle uscite. Occorrerà indicare alla FB l’indirizzo del modulo (255 per il modulo CPU), il numero di canale, ed il tipo di acquisizione o di uscita.
I due ingressi analogici del modulo CPU possono acquisire tensioni (0-10 Volt) quindi utilizzando la FB SysGetAnInp dovrai impostare Address 255, Channel 0 o 1, Mode AD_VOLT_0_10_COMMON.
Sergio Bertana
Amministratore del forumPer quanto riguarda gli I/O logici ha capito perfettamente. Come tutti i PLC e come richiesto dalla normativa gli I/O logici oprerano in immagine di processo, cioè sono acquisiti gli ingressi prima della esecuzione del loop di programma e sono gestite le uscite al termine (In questo modo gli I/O rimangono stabili per tutta l’esecuzione del loop di programma). Quindi il sistema operativo provvede a mapparli in DB di memoria, è stato scelto il DB 0 per il modulo di estensione 0, il DB 1 per il modulo 1 e così via. Così gli I/O del modulo CPU si è deciso di mapparli nella DB 255.
Per quanto riguarda gli I/O analogici occorre fare riferimento ai blocchi funzione SysGetAnInp per la lettura degli ingressi (Trovi un esempio qui) e SysSetAnOut per la scrittura delle uscite (Trovi un esempio qui). Occorrerà indicare alla FB l’indirizzo del modulo (255 per il modulo CPU), il numero di canale, ed il tipo di acquisizione o di uscita.
Sergio Bertana
Amministratore del forumAggiungo links a note applicative rilasciate da Weintek.
Decompilazione, procedura per decompilare un progetto, passare da un file con estensione *.xob ad un file *.mtp.
Decompressione, procedura per scompattare un progetto, passare da un file con estensione *.cmp ad un file *.mtp.Agosto 28, 2014 alle 6:11 am in risposta a: Come gestire il cambio lingua sui terminali Weintek #38390Sergio Bertana
Amministratore del forumLa risposta voleva essere ironica e non presuntuosa… abbiamo creato il forum proprio per aggregare le informazioni e renderle agibili a tutti. Certo la strada da percorrere è lunga..
Sono conscio che gli strumenti di ricerca sono migliorabili… Anche noi al nostro interno molte volte non riusciamo a trovare quel particolare topic che siamo certi di avere postato ma che ostinatamente sfugge alla ricerca.
Sergio Bertana
Amministratore del forumNon so se hai già il PLC ma ti posso suggerire ad esempio l’impiego dei nostri controllori SlimLine, l’utilizzo del file system oltre ad una serie di blocchi funzioni già predisposti rende semplice creare un programma PLC (In linguaggio ST) che esegue l’acquisizione dei valori di temperatura e ne effettua la registrazione su di un file CSV direttamente importabile da Excel (Topic).
Anche in questo caso puoi accedere in FTP per la lettura del file (Topic) ed essendo la generazione del file gestita interamente da programma utente non hai nessuna limitazione sul formato del file e su registrazione a tempo e/o su trigger.
Sergio Bertana
Amministratore del forumPer informazioni su come gestire la registrazione dati sul terminale ti rimando a questo topic.
Ma il terminale non fa esattamente quello che vuoi tu, puoi definire gruppi di dati eterogenei (Ad esempio le 24 temperature) definendo il tipo di dato e l’indirizzo delle variabili PLC dove i valori si trovano, ma devi decidere se registrare a tempo o a trigger (Pulsante su terminale).
Per la tua necessità puoi definire due registrazioni dati, una a tempo ed una a trigger, ma in questo modo avrai anche due files distinti (Giornalieri) con i valori registrati.
La registrazione avviene in un unico file giornaliero che si chiude ad ogni cambio giorno, il file contiene tutte le letture effettuate nel giorno. Quindi non è possibile fare un file per ogni lettura ma dovrai scaricare l’intero file giornaliero e poi da Excel estrapolare i dati che ti servono.
Per scaricare i files puoi connetterti in FTP (Topic) oppure utilizzare l’oggetto backup che tramite un pulsante da terminale permette di scaricare i dati storici giornalieri su di un pen drive USB. I dati letti in FTP sono in formato proprietario e li devi convertire in Excel con l’EasyConverter, mentre l’oggetto backup esegue già la conversione in Excel (Topic).
Agosto 27, 2014 alle 7:37 am in risposta a: Errore in compilazione da XTarget 11 a XTarget 10 #38386Sergio Bertana
Amministratore del forumIntanto ti ricordo che puoi eseguire l’upgrade del firmware del modulo CPU e trasformarlo in un XTarget 11 (Vedi nota).
Ora vediamo di mettere un pò di ordine e cercare di spiegare l’origine del tuo problema. A partire dalla versione SFW184A800 del sistema operativo (Target 11) è stata introdotta la funzione SysSpyData, SPY_BINARY è una definizione che indica il tipo di spionaggio (In questo topic trovi ulteriori informazioni).
Ma da quanto mi sembra di capire dall’errore tu non stai utilizzando la funzione ma hai semplicemente fatto l’errore che fanno in molti, hai importato nel progetto la libreria ePLCUtyLib (Screenshot). Questa libreria è un repository di funzioni e blocchi funzione, non và importata nel progetto ma occorre importare da questa libreria i soli oggetti che servono, ti riporto un estratto del manuale programmazione IEC61131-3 che tratta l’argomento.
Importando l’intera libreria nel progetto LogicLab durante la compilazione esegue un controllo sintattico su tutti gli oggetti presenti anche se non utilizzati e la versione della libreria ePLCUtyLib che tu hai importato utilizza riferimenti alla definizione SPY_BINARY.
Quindi la soluzione al problema è eliminare la libreria dal tuo progetto, e se nel progetto utilizzi oggetti presenti nella libreria, esegui l’importazione dei soli oggetti utilizzati.
Agosto 27, 2014 alle 6:24 am in risposta a: Come gestire il cambio lingua sui terminali Weintek #38385Sergio Bertana
Amministratore del forumLa ricerca è sempre molto difficile da rendere efficace, attualmente inserendo una parola nella casella di ricerca viene eseguita la ricerca della parola contestualmente al forum in cui si è posizionati. Nel tuo caso cercando lingua nel forum dei terminali Weintek (Screenshot) vengono trovati alcuni risultati tra cui quello da me indicato.
Il problema della mancanza di risultati è perché la ricerca era effettuata tra apici “” e quindi viene ricercata la parola esatta, mentre il topic interessato riportava la parola “linguaggi” che contiene la parola lingua.
Sergio Bertana
Amministratore del forumIl sistema operativo dei dispositivi SlimLine e Netsyst gestisce in automatico il passaggio da ora solare ad ora legale in base all’impostazione eseguita da pagina web (Screenshot). E’ possibile impostare 3 diverse Daylight zone:
0: No daylight
1: Europa (Da ore 1.00 UTC ultima domenica di Marzo a ore 2.00 UTC ultima domenica di Ottobre)
2: USA (Da ore 2.00 locali seconda domenica di Marzo a ore 2.00 locali prima domenica di Novembre)La variabile di sistema BOOL SysIsDST si attiva se si è nel periodo di Daylight Saving Time, quindi basterà controllare lo stato di questa variabile.
-
AutorePost