Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Ottobre 6, 2014 alle 8:47 am in risposta a: Nuovo simulatore PLC, simulare programma PLC su PC #38440
Sergio Bertana
Amministratore del forumIl problema è legato alla versione del sistema target definito il simulatore è disponibile solo a partire dai targtes versione 11.0. Quindi dal menù Project con la voce Select target imposta il modello di CPU che vuoi simulare scegliendo un XTarget 11.0 (Screenshot).
Ottobre 6, 2014 alle 7:20 am in risposta a: Acquisizione valori energia da gruppo di misura Enel #38438Sergio Bertana
Amministratore del forumAggiungo al post precedente che grazie al supporto nativo al protocollo Modbus sarà possibile appoggiare i vari contatori su locazioni di memoria che poi possono essere acquisite tramite Modbus.
Grazie alla possibilità di creare pagine web dinamiche (Topic) è anche possibile visualiozzare i contatori all’interno di pagine web consultabili con un comune browser.
Abbinando al modulo CPU un pannello operatore è possibile visualizzare i valori in tempo reale.
In questo topic trovate un programma di Calcolo potenza istantanea da lettura impulsi contatore.
In questo topic trovate un programma per il Computo e visualizzazione potenza istantanea da contatore.Ottobre 4, 2014 alle 9:51 am in risposta a: Acquisizione valori energia da gruppo di misura Enel #38437Sergio Bertana
Amministratore del forumIl gruppo di misura multiorario ha la possibilità di avere in opzione una scheda di uscita segnali (Di cui riporto lo schema di connessione). Come si vede vi sono 6 uscite logiche di cui 2 sono per la potenza (Attiva/Reattiva) prelevata e 2 sono per di cui 2 sono per la potenza (Attiva/Reattiva) immessa.
Ora utilizzando un nostro modulo SlimLine compact, è possibile collegare le uscite del gruppo di misura direttamente agli ingressi del modulo ed eseguire il conteggio degli impulsi. Come si vede dallo schema di principio del gruppo di misura le uscite sono indicate come dei realy ma avendo indicato la polarità sembrerebbe (Come d’altronde più ovvio) che siano delle uscite elettroniche Open Collector.
Il modulo SlimLine può acquisire ingressi sia con comando positivo che con comando di negativo, quindi verrà portato il negativo al Contatto comune del misuratore, mentre il positivo andrà portato al comune degli ingressi del modulo SlimLine. Dalle caratteristiche del gruppo di misura si rileva che può operare con tensioni fino a 27 Vdc e che la durata minima dell’impulso in uscita è maggiore o uguale a 30 mS.
Con questi tempi non vi sono problemi a leggere gli impulsi anche con un banale programma ladder eseguito nella task Slow (Eseguita ogni 10 mS), nel programma ladder si potrà utilizzare semplici rami con l’operatore ADD come nell’esempio.
Ottobre 3, 2014 alle 6:32 am in risposta a: Progetto di startup per connessione HMI a SlimLine #38436Sergio Bertana
Amministratore del forumGrazie della segnalazione, stiamo facendo lavori sul sito web e qualche problema ogni tanto emerge. Ho sistemato i links.
Ottobre 2, 2014 alle 3:50 pm in risposta a: Progetto di startup per connessione HMI a SlimLine #38434Sergio Bertana
Amministratore del forumLa pagina del manuale che tu citi di cui riporto estratto indica quali sono le funzioni gestite dal protocollo Modbus, non fà riferimento agli indirizzi. Per un elenco completo delle funzioni Modbus gestite sui sistemi SlimLine ti rimando a questo topic.
Per quanto riguarda l’indirizzamento, il protocollo Modbus prevede un indirizzamento a 16 bits quindi il range di indirizzi può variare tra 0 e 65535 (0x0000, 0xFFFF). Ora sullo SlimLine si è scelto di indirizzare da Modbus tutta l’area di memoria della DB 100 (4096 bytes) allocandola arbitrariamente all’indirizzo modbus 40000.
Quindi se definisci da terminale la lettura di una variabile (Comando 3x 40000) il terminale andrà a leggere la variabile allocata all’indirizzo 0 della DB 100. Attenzione! siccome la memoria è allocata a byte mentre il comando modbus di lettura registri (3x) legge word (2 bytes) se definisci da terminale la lettura di una variabile (Comando 3x 40001) il terminale andrà a leggere la variabile allocata all’indirizzo 2 della DB 100 e così via.
Nel caso di lettura coils (Comando 0x) l’indirizzamento evolve a bytes, quindi se definisci da terminale la lettura di un coil (Comando 0x 40016) il terminale andrà a leggere la variabile allocata all’indirizzo 16 della DB 100. Se definisci da terminale la lettura di un coil (Comando 0x 40017) il terminale andrà a leggere la variabile allocata all’indirizzo 17 della DB 100. Attenzione! siccome il terminale raggruppa i coils a modulo 16 non è possibile accedere ad indirizzi coil con indirizzo inferiore a 40016.
Settembre 30, 2014 alle 4:39 pm in risposta a: Finestra in pop up di spazio storage insufficente #38432Sergio Bertana
Amministratore del forumSu di una certa versione del run time si è manifestato questo funzionamento anomalo, per elimarlo occorre utilizzare l’ultima versione del programma EasyBuilder Pro (Da versione 4.10.05) che è scaricabile dal nostro sito ed eseguire il download del progetto nel pannello spuntando la voce di download del firmware (Screenshot).
Questa operazione esegue l’update del run time sul pannello utilizzando l’ultima versione rilasciata (E’ compresa nella installazione di EasyBuilder Pro).
Sergio Bertana
Amministratore del forumATC non rilascia programmi di virtualizzazione porte in ambiente Linux.
Ricordo che per comunicare con un convertitore ATC-1000 basta aprire un socket TCP sull’indirizzo del convertitore (Porta definita) e tutti i dati inviati sulla connessione verranno dal convertitore trasferiti sulla seriale e viceversa.
Detto questo troverai programmi in ambiente Linux che permettono lo scambio bidirezionale di dati tra streams, cito il più conosciuto socat.
Settembre 24, 2014 alle 1:11 pm in risposta a: Differenza sui fonts trasferendo programma con altro PC #38429Sergio Bertana
Amministratore del forumDa quanto detto prima posso ipotizzare che EasyBuilder cerchi di copiare il file di font Andalus e non lo trovi o lo trovi bloccato da Windows.
Oppure cerchi di copiarlo nel file di font all’interno della sua directory su di un file di font di progetto che è bloccato (Magari da un’altra istanza di EasyBuilder).
Comunque anche se dopo un riavvio del PC continui ad avere questo tipo di errore, puoi provare a rinominare l’intero progetto.
Settembre 24, 2014 alle 1:05 pm in risposta a: Differenza sui fonts trasferendo programma con altro PC #38428Sergio 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.
-
AutorePost