Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Settembre 24, 2014 alle 10:10 am in risposta a: Differenza sui fonts trasferendo programma con altro PC #38425
Sergio Bertana
Amministratore del forumPer spiegare il problema devo rifarmi alla gestione dei fonts da parte di EasyBuilder.
Nella compilazione del progetto se selezionata la flag Costruisci file di font (Condizione di default, Screenshot). EasyBuilder copia tutti i fonts utilizzati nel progetto dalla cartella di Windows nella cartella di installazione programma sottocartella fonts (Esempio C:Program Files (x86)EBprofont). I vari files assumono il nome del progetto seguito da $Numero, e saranno questi i fonts utilizzati nel progetto.
Ora è chiaro che se viene aperto un progetto su di un altro PC dove non vi sono questi files fonts nella cartella, EasyBuilder dovrà ricostruirli, ed utilizzerà nuovamente quelli di Windows. Ora se uno dei fonts non è presente nella installazione di Windows compare un alert che lo indica. Sarà possibile installare il font mancante in Windows prima di aprire il progetto. In caso contrario viene scelto un font simile.
Questa operazione avviene anche solo per un trasferimento programma nel caso sia selezionata l’opzione invia file font (Screenshot).
Settembre 23, 2014 alle 12:27 pm in risposta a: Domanda sullo storico dati (Registrazione dati) #38423Sergio Bertana
Amministratore del forumE’ possibile aggiornare il firmware del pannello (Devi eseguire richiesta del nuovo firmware via mail a support vedi pagina). Nella nuova versione del firmware è stata modificata la gestione dei dati su SDCard e USB, inoltre e compila e scarica il progetto con l’ultima versione di EBPro che ha la gestione degli storici migliorata.
Nelle ultime versioni è stato implementato anche il supporto all’Office 2010 che permette di avere più di 60000 righe in un file, questa particolarità non era consentita con Office 2003 (Ha un limite a 65000 righe).
Sergio Bertana
Amministratore del forumIl primo errore molto grave è il ciclo WHILE. In un programma PLC non bisogna mai fermarsi in cicli di attesa, perché se sono più lunghi del tempo di intervento del watch dog provocano il riavvio del sistema (Topic). Ma in più è formalmente errata la gestione, perchè ammesso di essere certi che il ritardo della acquisizione analogica è pochi mS e si volesse attenderne il Done occorrebbe eseguire la FB nel ciclo WHILE scrivendo qualcosa del tipo:
AnInpVal(); (* Eseguo prima del WHILE per azzerare Done *)
WHILE (AnInpVal.Done <> TRUE) DO AnInpVal(); END_WHILE; (* Eseguo nel WHILE fino a Done attivo *)
Ho riportato questo esempio solo per chiarificare il funzionamento, ma la corretta gestione è quella di testare il Done per trasferire il valore nella variabile.
IF (AnInpVal.Done) THEN MyVal:=AnInpVal.Value; END_IF;Settembre 18, 2014 alle 10:12 am in risposta a: Connessione seriale pannelli con sistemi SlimLine #38420Sergio Bertana
Amministratore del forumIntanto non capisco perché non utilizzare la porta ethernet del pannello sia per la connessione Internet che per la connessione con il sistema SlimLine, questo ti eviterebbe di dover utilizzare la porta seriale. Basta che l’indirizzo IP del sistema SlimLine appartenga alla stessa classe di indirizzi del router con il quale fai accesso ad Internet.
Comunque se desideri utilizzare la porta seriale per la connessione con lo SlimLine devi impostare i corretti parametri di comunicazione (Se non hai fatto modifiche da pagina web lo SlimLine di default è impostato a 115200, e, 8). In merito ai cavi di connessione fai riferimento alla guida connessioni.
Settembre 18, 2014 alle 9:34 am in risposta a: PLC per visualizzazione dati tramite pagine Web #38418Sergio Bertana
Amministratore del forumAbbiamo sviluppato un esempio di connessione ad un Web service (Scritto in PHP) utilizzando un comune modem GPRS (Puoi trovarlo in questo topic). Come vedi dall’esempio ci si appoggia ad un servizio di hosting gratuito come Altervista, nell’esempio il programma in PHP esegue l’invio di una eMail ma con semplici modifica potrà essere modificato per salvare dati in un database MySQL.
Naturalmente andrà scritta tutta la parte di gestione autenticazione utenti e di consultazione dei dati, ma avendo i dati in un SQL server tutte queste operazioni sono fattibili in modo molto semplice.
Settembre 18, 2014 alle 7:42 am in risposta a: PLC per visualizzazione dati tramite pagine Web #38415Sergio Bertana
Amministratore del forumPer quanto riguarda l’acquisizione dati la loro storicizzazione (Esempio in files formato CSV) e la visualizzazione su pagine web, possono essere utilizzati sia i sistemi con CPU Codesys (Topic) che quelli basati su CPU ARM7 LogicLab (Topic). I dati salvati in file CSV (Si potranno creare files di log mensili, mantenendo ad esempio gli ultimi 6 mesi) potranno poi essere scaricati tramite una connessione FTP.
Per quanto riguarda la visualizzazione dei dati tutti i modelli hanno un server web integrato, Codesys utilizza WebVisu (Topic) mentre le CPU ARM7 possono visulaizzare pagine htm (Topic). Per l’accesso da rete locale non ci sono problemi, ogni dispositivo avrà un suo IP e basterà digitarlo dal browser.
Parlando di visibilità delle pagine da Internet, occorre effettuare un NAT/PAT sul router per poter accedere alle pagine dei vari PLC. Ad esempio se si hanno 4 PLC, si mapperanno 4 porte del router in modo che consentano di arrivare ai 4 PLC.
Visto che mi citi la funzionalità “eWon”, ti ricordo che la stessa funzionalità è fornita dai pannelli operatore Weintek tramite l’EasyAccess 2.0. Quindi sarà il pannello operatore a gestire la connessione sicura attraverso la rete aziendale senza dover effettuare alcuna modifica alla configurazione, rendendo accessibile il pannello stesso ed i dispositivi a lui connessi.Settembre 11, 2014 alle 9:38 am in risposta a: Gestire motori passo passo con un sistema SlimLine #38413Sergio Bertana
Amministratore del forumSi certo collegando l’uscita DO00 con l’ingresso DI00 è possibile tramite l’FB SysGetCounter conteggiare gli impulsi generati dall’uscita PWM che sono inviati all’ingresso di clock del driver motore stepping (Vedi cablaggio). Agendo sul valore di Frequency è possibile comandare la velocità del motore, impostando il valore 0.0 il motore si arresta.
Con Duty è possibile impostare percentualmente il tempo di On/Off del segnale PWM in uscita, dovendo generare una onda quadra il valore di Duty può essere setttato al 50%. Però ricorda che se ti spingi a frequenze elevate può essere necessario modificarne il valore come indicato precedentemente.
Ecco lo screenshot di un programma ladder che gestisce l’uscita PWM e ne conteggia gli impulsi generati, allego anche il programma sorgente.
Settembre 11, 2014 alle 8:04 am in risposta a: Rete di comunicazione modbus tra moduli SlimLine #38410Sergio Bertana
Amministratore del forumNon mi spiego il problema che tu lamenti, non scrivi che tipo di protocollo Modbus tu stia utilizzando (Se Ascii, RTU o TCP). Essendo una connessione in RS232 consiglio il protocollo RTU (Il cui protocollo slave è già gestito nativamente dal sistema operativo). Il protocollo RTU ha un CRC di controllo che garantisce la sicurezza dei dati quindi ritengo impossibile ricevere pacchetti errati.
Se vuoi poter gestire dal modulo master anche la programmazione dei vari moduli slaves della rete dai una occhiata a questo topic.
Non so come hai gestito la sequenzialità delle interrogazioni sul programma master, il blocco funzione ModbusMaster permette di essere eseguito in cascata collegando l’uscita Done di uno sull’ingresso Enable di quello successivo e così via. L’uscita Done dell’ultimo FB andrà a fare ripartire la sequenza (Screenshot).
Non è che per caso hai un conflitto di indirizzi sui nodi slave, se usi la gestione da sistema operativo l’indirizzo si imposta dalla pagina web di configurazione (Screenshot).
Settembre 9, 2014 alle 4:30 pm in risposta a: Come utilizzare la SDCard per il salvataggio di file di log #38409Sergio Bertana
Amministratore del forumCome risolvere nel modo corretto la temporizzazione, nel forum troverai infiniti esempi di utilizzo del tempo di sistema, ecco come si può fare.
IF ((SysGetSysTime(TRUE)-Time) > 60000000) THEN
Time:=SysGetSysTime(TRUE); (* Time buffer (uS) *)
Fp:=Sysfopen(‘Storage/CLog.txt’, ‘a’); (* Open the file in “append” mode. *)… Altri statements di programma
END_IF;Nota: La variabile Time deve essere di tipo UDINT.
Settembre 9, 2014 alle 2:45 pm in risposta a: Come utilizzare la SDCard per il salvataggio di file di log #38408Sergio Bertana
Amministratore del forumVediamo di rispondere con ordine ai tuoi problemi. Il comando Format da una certa versione del sistema operativo è stato modificato, ora occorre indicare quale directory si vuole formattare e a quanti files si vuole lasciare lo spazio. Quindi il tuo comando Format Storage, 4 formatta la directory Storage per contenere 4 files che si divideranno lo spazio disponibile (Come riporta il comando Dir).Non capisco perché il client FTP non si connetta, non mi dici che sistema operativo stai utilizzando, con Total Commander e con l’esplora risorse di Windows 7 che uso abitualmente non ho mai avuto problemi (Topic) eventualmente controlla se hai l’ultima versione del sistema operativo. L’errore che hai commesso è gravissimo… non puoi mai fermare un programma PLC in un loop chiuso. WHILE (SysTime-Tempo) < 60000 DO END_WHILE; Questo fa intervenire il watch dog del sistema che reinizializza l’esecuzione che si richiude nuovamente nel loop infinito e viene nuovamente reinizializzata. Questo blocca tutte le risorse del sistema comprese le comunicazioni (Topic). Come se ne esce… il sistema dopo un certo numero di riavvii si arresta in stop e così è nuovamente possibile riprendere la connessione e caricare un nuovo programma.
Sergio Bertana
Amministratore del forumLa soluzione che prospetti è sicuramente valida, visto che mi parli di zona in cui operano dei radars ti ricordo che la frequenza dei 5 Ghz potrebbe essere in sovrapposizione alla frequenza di alcuni radars. Nel menù di configurazione della Nanostation dovrai attivare il DFS (Topic).
In alternativa puoi utilizzare dei dispositivi NanoStation Loco M2 che operano a 2.4 Ghz e che quindi non hanno problemi di sovrapposizione alle frequenze radar. Vista inoltre la ridotta distanza di collegamento e la direzionalità delle antenne non dovrebbero crearsi problemi con eventuali altre reti WiFi della tua zona.
Settembre 4, 2014 alle 7:12 am in risposta a: Visualizzare all’accensione pagina con logo azienda #38405Sergio Bertana
Amministratore del forumIl messaggio No response di default si attiva al primo errore di comunicazione, un errore può capitare anche a causa di un banale disturbo elettrico, quindi anziché disabilitare il messaggio consiglio di impostare un numero di reinvio comandi.
In questo modo un eventuale errore sulla esecuzione di un comando modbus (Può derivare anche da un disturbo elettrico), non attiva immediatamente la visualizzazione della finestra di errore, ma forza l’esecuzione di un nuovo comando. Il numero di tentativi si definisce nella finestra di Impostazione parametri di sistema, relativamente alla definizione dei parametri di comunicazione modbus (Vedi screenshot).
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). -
AutorePost