Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Settembre 24, 2014 alle 1:05 pm in risposta a: Differenza sui fonts trasferendo programma con altro PC #38428
Sergio Bertana
Amministratore del forumStò ultimando un progetto su di un terminale e come ultimi ritocchi ho aggiunto un font per avere la visualizzazione di alcuni testi più leggibile. Ora se compilo il progetto attivando la flag Costruisci file font mi viene generato errore (Screenshot).
Se compilo il progetto senza la flag attiva non ho problemi, avete indicazioni ?
Sergio Bertana
Amministratore del forumDa quello che scrivi le due macro funzionano perfettamente, tu dici la LW100 ha valore 2512 che in esadecimale è 0x9D0.
Quindi nella LW 110 che contiene l’MSB trovi il valore 9, nella LW 102 che contiene l’LSB trovi il valore 208 che in esadecimale è 0xD0.
Settembre 24, 2014 alle 10:27 am in risposta a: Differenza sui fonts trasferendo programma con altro PC #38426Sergio Bertana
Amministratore del forumAggiungo un modo comportamentale corretto, con il file progetto dovrebbero essere forniti anche i vari files di fonts presenti nella cartella font di EasyBuilder (Tutti i files con lo stesso nome del progetto) e questi files vanno copiati nella cartella font di EasyBuilder nel proprio PC prima di aprire il progetto.
Nel caso di upgrade dello stesso progetto sul terminale, per evitare problemi di font non spuntare la flag di trasferisci file di font nella finestra di download. In questo modo la nuova versione del progetto continuerà ad utilizzare i fonts corretti già presenti nel terminale indipendentemente da quelli presenti nel PC.
Settembre 24, 2014 alle 10:10 am in risposta a: Differenza sui fonts trasferendo programma con altro PC #38425Sergio 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).
-
AutorePost