Sergio Bertana
Risposte nei forum create
-
AutorePost
-
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.
Agosto 26, 2014 alle 7:53 am in risposta a: Batterie da utilizzare con modulo UPS DC DR-UPS40 #38381Sergio Bertana
Amministratore del forumIl dispositivo è in grado di gestire correnti fino a 40 Ampere, puoi mettere qualsiasi tipo di batteria, l’unica accortezza è non utilizzare carichi superiori ai 40 Ampere. Batterie di capacità maggiore daranno più autonomia ai dispositivi collegati.
Attenzione alla corrente di carica, il dispositivo carica la batteria con una corrente di 2 Ampere, quindi batterie con capacità molto elevate richiederanno tempi di ricarica molto lunghi.
Sergio Bertana
Amministratore del forumHo installato MyCADA su di un PC ed ho fatto un minimo di prove, premesso che ho notato un po di instabilità nella esecuzione ecco come viene gestito uno strumento Gauge (Screenshot). MySCADA non gestisce variabili BOOL quindi ho allocato variabili UINT nella DB 100 dello SlimLine. Utilizzando accesso comer Holding register (Comando Modbus 16#03) è possibile accedere a queste variabili.
Come riportato nel capitolo Modbus del manuale di programmazione, per calcolare l’indirizzo elle variabili si utilizza la formula ((Indirizzo variabile/2)+40000)-1 quindi la variabile Gauge allocata a DB100.22 avrà indirizzo 40010.
Come vedi infatti nello screenshot modificando da debug in LogicLab il valore della variabile la lancetta del Gauge nello SCADA si sposta al valore impostato. Il range impostato nello SCADA è da 0 a 100, quindi un valore di 50 posiziona la lancetta al centro.
Come espresso prima non gestendo lo SCADA variabili BOOL devi utilizzare variabili UINT anche per i comandi logici (Pulsanti Start, Stop, Lampada, ecc).
Agosto 25, 2014 alle 2:19 pm in risposta a: Batterie da utilizzare con modulo UPS DC DR-UPS40 #38377Sergio Bertana
Amministratore del forumCertamente è possibile utilizzare la serie di due batterie, come riporta l’articolo del tuo link, il collegamento in serie di due batterie uguali permette di ottenere in uscita il doppio della tensione nominale delle singole batterie, mantenendo la stessa capacità. Ad esempio due batterie da 12V 6Ah collegate in serie, daranno in uscita una tensione totale di 24V (Volts) e una capacità invariata di 6Ah (Ampère l’ora).
Quindi puoi utilizzare due batterie il più possibile uguali, meglio sarebbe se con lo stesso lotto di produzione, poi scegli tu il modello (Piombo, Litio, ecc) in base alla tua necessità di corrente utilizzata e periodo in cui ti serve questa erogazione di corrente.
Sergio Bertana
Amministratore del forumL’apertura con la funzione Sysfopen è corretta, il problema è quello che hai visto tu, la porta seriale del modulo di espansione analogico è utilizzabile dal programma utente solo dalla versione PCB126C110.
Le due versioni sono sostanzialmente diverse nella versione C viene utilizzato un nuovo microprocessore con molta più memoria il che ha permesso di avere lo spazio per contenere il firmware di gestione della porta seriale.
Sergio Bertana
Amministratore del forumNon capisco come mai tu non riesca ad eseguire il Login, hai usato come username e password Admin (Case sensitive).Comunque per le tue necessità non occorre modificare la configurazione del modulo CPU, se non utilizzate dal programma utente tutte le porte COM del modulo CPU supportano il protocollo Modbus RTU. Quindi sul pannello Weintek basta impostare baud rate 115200, e, 8 e definire come nodo Modbus il nodo 1 (Vedi manuale connessioni). Nella sezione relativa ai terminali Weintek troverai molti esempi di utilizzo (In questo topic troverai un programma di startup).Ti ricordo che per il protocollo Modbus sulle porte dei moduli di estensione non è gestito nativamente ma devi creare un programma che lo gestisca (Trovi esempi nel forum). Il tuo modulo CPU ha una sola porta seriale la COM0 quindi il consiglio è di connettere il pannello operatore a questa a porta ed è anche per questo che su questa porta il programma di echo che hai citato funziona. Per accedere alle porte seriali presenti sul modulo CPU occorre utilizzare la funzione Sysfopen definendo il nome della porta da utilizzare. Esistono moduli di estensione che sono provvisti di porte seriali, l’accesso a queste porte è esattamente uguale a quello delle porte presenti sul modulo CPU, occorre definire come nome della porta da utilizzare la definizione PCOMx.y dove con x si indica l’indirizzo del modulo e con y il numero di porta presente sul modulo. (Esempio PCOM0.0 definisce la porta 0 presente sul modulo 0, PCOM1.2 definisce la porta 2 presente sul modulo 1 (Topic).
Sergio Bertana
Amministratore del forumAccertati che l’indirizzo IP dello SlimLine sia accessibile dallo smartphone, puoi eseguire un ping. Esistono apps gratuite allo scopo (Screenshot).
Agosto 25, 2014 alle 7:00 am in risposta a: Come gestire il cambio lingua sui terminali Weintek #38369Sergio Bertana
Amministratore del forumL’errore più grande è non consultare il forum, in questo topic trovi le informazioni che ti interessano.
-
AutorePost