Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Novembre 27, 2013 alle 11:29 am in risposta a: Lettura dati protocollo modbus da circolatore elettronico #37911
Sergio Bertana
Amministratore del forumLa rete RS485 permette proprio di poter dialogare con più dispositivi utilizzando una connessione multidrop (Tutti connessi sullo stesso doppino), per fare questo dovrai dare un indirizzo di nodo diverso ad ogni circolatore.
Il Profilab-Expert permette di gestire il protocollo Modbus RTU e quindi ti permette di gestire la comunicazione e la visualizzazione dei dati. Naturalmente devi crearti un programma per le tue esigenze Profilab-Expert è un ambiente di sviluppo non è un programma finito.
Per fare test sulla comunicazione Modbus ti consiglio di dare una occhiata al programma Modbus Poll.
Novembre 27, 2013 alle 9:56 am in risposta a: Lettura dati protocollo modbus da circolatore elettronico #37909Sergio Bertana
Amministratore del forumHo dato una occhiata al circolatore in questione e come si vede dal manuale modbus, è possibile acquisire i valori andando a leggere i relativi registri modbus, ad esempio:
Registro 00216: Pump1RPM (1rpm) Giri al minuto del motore
Registro 00218: Pump1OperatingTimeHI (1h) Tempo di utilizzo della pompaLa connessione modbus è una seriale RS485, per la connessione al PC puoi utilizzare un convertitore USB/Seriale (Esempio ATC-850). Ma poi ti servirà un programma sul PC che gestisca il protocollo Modbus andando ad acquisire i registri che ti interessano, in questo topic trovi ulteriori informazioni.
Se invece vuoi visualizzare i valori e/o gestire una automazione utilizzando i prodotti della linea SlimLine puoi acquisire i registri via Modbus e visualizzarli su pagina web e/o su pannello operatore. Se fai una ricerca nel forum con la parola Modbus troverai centinaia di topics che trattano l’argomento.
Novembre 26, 2013 alle 8:41 am in risposta a: Gestione pagine web dinamiche da parte dell’utente #37908Sergio Bertana
Amministratore del forumIn questo topic viene trattato l’utilizzo delle Google Charts per la visualizzazione di dati in forma grafica su pagine web.
Novembre 21, 2013 alle 10:13 am in risposta a: Come scrivere funzioni e blocchi funzioni in LogicLab #37907Sergio Bertana
Amministratore del forumUn blocco funzione per decomprimere la WORD in 16 BOOL potrebbe essere scritto nel modo che ti indico sotto. Naturalmente devi mettere tutti i bits, io ti ho solo messo un esempio con i primi e gli ultimi.
b00:=TO_BOOL(In AND 16#0001); (* Bit 0 result *)
b01:=TO_BOOL(In AND 16#0002); (* Bit 1 result *)b07:=TO_BOOL(In AND 16#0080); (* Bit 7 result *)
b08:=TO_BOOL(In AND 16#0100); (* Bit 8 result *)b15:=TO_BOOL(In AND 16#8000); (* Bit 15 result *)
Per il problema dell’orologio, ti consiglio di eseguire un upgrade del firmware dei moduli (Vedi nota). Ma aspetta qualche giorno che sia stata pubblicata la versione SFW184A800 che ha anche le pagine web così come hai visto nel mio screenshot.
Novembre 20, 2013 alle 5:10 pm in risposta a: Come scrivere funzioni e blocchi funzioni in LogicLab #37905Sergio Bertana
Amministratore del forumPrendo spunto dalla tua richiesta per realizzare un programma in cui ho definito due FB identiche nel funzionamento ma realizzate con due linguaggi diversi. In questo modo desidero dimostrare come sia possibile ad esempio utilizzando il linguaggio FBD realizzare la FB di cui tu hai bisogno BitToWordFBD, semplicemente richiamando altre FB di libreria.
Nello stesso programma troverai anche la BitToWordST, dove realizzo quello di cui hai bisogno in modo nativo in linguaggio ST. Ora ognuno può usare la tecnica che vuole per realizzare le proprie FB ma credo sia preferibile sempre raggruppare funzioni o FB già scritte e testate piuttosto che realizzare una FB completamente da zero. Ecco la stampa ed il download del programma.
In merito alla impostazione della data nella pagina General Setup basta impostare il nuovo valore di data ed ora e agire sul tasto Save (Screenshot). Devi fare attenzione a scrivere la data e l’ora nel formato in cui sono visualizzate, mantenendo sia la barra che i due punti di separazione tra le cifre senza interporre spazi, l’anno và scritto su 4 cifre.
Sergio Bertana
Amministratore del forumSi è proprio la funzione Linearize (Estratto manuale) che ti serve. Come vedi dal manuale devi fornire alla funzione gli indirizzi di due array di variabili REAL.
VInReference, Array con i valori in ingresso da linearizzare (Nel tuo caso 1.0, 2.0, ecc.).
VOutReference, Array con i valori di uscita linearizzati (Nel tuo caso 1.0, 1.5, ecc.).La funzione esegue la ricerca nell’array VinReference del valore immediatamente superiore al valore in ingresso interpolando linearmente tra il valore trovato e quello precedente, calcolando il valore in uscita in base ai due valori presenti nelle stesse posizioni dell’array VOutReference. Naturalmente il valore in uscita sarà molto piuù preciso quanti più punti avrai tabellato nei due arrays.
Novembre 19, 2013 alle 1:03 pm in risposta a: Riconoscere da programma utente i moduli di espansione #37900Sergio Bertana
Amministratore del forumSlimLine come tutti i PLC lavora in immagine di processo, il sistema riconosce i moduli di I/O logici connessi al bus di estensione che vengono gestiti automaticamente sulla esecuzione della task Slow. La funzione SysSetPhrDO si utilizza solo nel caso si desideri acquisire ingressi o gestire uscite immediatamente senza attendere la gestione automatica in immagine di processo.
Naturalmente la gestione del bus I2C utilizza tempo processore e quello che succede è che il tempo di esecuzione della task Slow ha subito un aumento solo per il fatto di avere collegato il modulo al sistema. La task Slow interrompe l’esecuzione della task Back.
Però ti voglio ricordare che la gestione seriale è eseguita in interrupt sul processore e quindi i dati seriali sono sicuramente ricevuti e caricati nel buffer di ricezione a qualsiasi velocità essi arrivino. Sarà poi il tuo programma con la chiamata alla funzione SysGetIChars a verificare se sono stati ricevuti dati tra una esecuzione e l’altra e potrà leggerli con le funzioni Sysfgetc e Sysfread fino a svuotare il buffer.
Lo stesso vale per la trasmissione, il programma utente con la funzione SysGetOSpace può controllare quanto spazio c’è nel buffer di trasmissione seriale e con le funzioni Sysfputc e Sysfwrite, potrà trasferire i caratteri da trasmettere nel buffer di trasmissione. Il sistema operativo autonomamente provvederà ad inviarli sulla seriale indipendentemente dalla esecuzione del programma utente.
Novembre 16, 2013 alle 7:20 am in risposta a: Comando in frequenza di inverter Power-One per eolico #37898Sergio Bertana
Amministratore del forumIl blocco funzione SysSetPWMOut può operare solo sulla uscita DO00 del modulo CPU ARM7. La nuova versione del firmware SFW184A800 è pronta, stiamo facendo gli ultimi aggiornamenti sull’ambiente di sviluppo LogicLab per implementare le nuove funzionalità, non ho ancora una data certa di rilascio ma è sicuramente questione di un paio di settimane.
Per la gestione di stepping motors ho trovato interessante l’approccio che ho consigliato ad un nostro cliente un po di tempo fa (Topic).
Novembre 15, 2013 alle 5:21 pm in risposta a: Blocco momentaneo di comunicazione tra Bullet M5 HP #37896Sergio Bertana
Amministratore del forumCredo che la tua sia una configurazione Brigded con 1 access point e 2 stations, visto che la comunicazione viene a mancare su entrambi gli slaves (Per slaves credo tu intenda le 2 stations) potrebbe anche trattarsi di una anomalia sul funzionamento del bullet configurato come access point. Puoi provare ad invertire l’access point con una station.
Le reti punto punto sarebbe sempre preferibile realizzarle con soluzioni ad antenna direttiva proprio per non incappare in disturbi dovuti ad altre apparecchiature che trasmettono nella tua stessa zona. Puoi provare ad eseguire l’utility AirView (Screenshot) che ti crea un report dell’impegno di banda (Questa utility arresta la comunicazione WiFi), così potrai individuare quale canale è più libero e cambiare il canale utilizzato nella tua configurazione.
Novembre 14, 2013 alle 2:54 pm in risposta a: Comando in frequenza di inverter Power-One per eolico #37895Sergio Bertana
Amministratore del forumIl tuo errore è che non hai gestito direttamente le uscite del modulo CPU ma ne hai demandata la gestione all’immagine di processo che la esegue ogni 10 mS (Topic) e non so in che task hai eseguito il programma. Se vedi nel programma che ti allego (Stampa e Download), viene eseguita la gestione nella task fast a cui ho modificato il tempo di esecuzione portandolo da 1 mS a 100 uS.
Con questo programma si riescono ad ottenere frequenze anche vicine ad 1 Khz, naturalmente si ha una “granulosità” nella impostazione del tempo di 100 uS che è il tempo con cui è eseguita la task fast.
Completamente diverso invece è l’approccio utilizzando la funzione SysSetPWMOut la quale opera in hardware con una granulosità inferiore al uS.
Sergio Bertana
Amministratore del forumIl bus di comunicazione M-Bus si caratterizza per:
Bassi costi per la stesura del bus e per i collegamenti dei dispositivi
Lunghe distanze senza l’utilizzo di particolari amplificatori di segnale
Elevato numero di dispositivi centralizzabili
Differenti scelte per la tipologie del bus: lineare, stella, albero (Unica tipologia non ammessa è ad anello)L’M-bus permette di raggiungere distanze fino a 10 Km (Un solo dispositivo M-bus, e sezione del cavo di 1,5 mm²). Si raccomanda comunque di non superare i 4 Km nella stesura del bus. Per la realizzazione della rete M-Bus si utilizza un cavo twistato a coppia non schermato (Tipicamente 2 poli da 0,5 mm²).
Novembre 14, 2013 alle 7:42 am in risposta a: Utilizzo radiomodems per uso con protocollo Pelco #37892Sergio Bertana
Amministratore del forumIl protocollo Pelco è un protocollo binario a pacchetto con indirizzamento del nodo quindi adatto a comunicazioni multidrop. Il frame dati è molto corto dell’ordine di una decina di bytes quindi non vi sono problemi di buffering per qualsiasi radiomodem della nostra gamma tu voglia utilizzare. Ricordo che essendo una comunicazione multidrop se hai più telecamere puoi mettere un radiomodem per ogni telecamera ed un radiomodem sulla tastiera di comando e gestire tutte le telecamere come se fossero interconnesse su rete cablata RS485.La distanza da coprire è effettivamente molto limitata, potrebbe essere coperta anche dal semplicissimo ATC-3200 ma essendo uno ZigBee è molto sensibile agli ostacoli ed all’interno di edifici il suo raggio d’azione è molto limitato. Se non hai problemi di spazio ad un costo maggiore puoi trovare la serie DL (Esempio il DL868) che ti dà una garanzia di collegamento maggiore.
Novembre 14, 2013 alle 7:20 am in risposta a: Configurazione convertitore Ethernet/Seriale TRP-C37 #37891Sergio Bertana
Amministratore del forumMi scrivi che il convertitore TRP-C37 è visto nella rete ed è configurato come server, ma non mi hai detto se hai installato e configurato correttamente il VirtualCOM (Topic). Se il VirtualCOM è installato ed hai già configurato una porta COMx sul tuo PC dovresti provare se la porta funziona. Come primo test crei un loopback seriale sul convertitore (Colleghi i pins 2 e 3 del connettore DB9 tra di loro) ed utilizzando un programma di emulazione terminale (Esempio Toolly) provi ad inviare dati sulla porta COMx.
Siccome hai realizzato un loop back i dati inviati verranno ritornati e visualizzati nella finestra terminale. Se questo funziona vuol dire che l’operatività della seriale c’è. Ora potrebbe essere che il tuo programma di collegamento con il CNC non riesce a forzare i corretti parametri di comunicazione sul convertitore, per risolvere il problema se conosci questi parametri li potrai impostare direttamente tu sul convertitore utilizzando la sua interfaccia web.
Novembre 13, 2013 alle 4:13 pm in risposta a: Comando in frequenza di inverter Power-One per eolico #37889Sergio Bertana
Amministratore del forumIl blocco funzione PWMOut permette di gestisce una qualsiasi uscita logica per comandare un carico in modulazione di potenza variando il tempo di On/Off di comando del dispositivo. Questo è un blocco “tutto software” è scritto in linguaggio ST ed utilizza i temporizzatori per gestire i tempi.
Il blocco funzione SysSetPWMOut invece gestisce moduli che hanno il circuito PWM realizzato in hardware, e questo permette di gestire uscite PWM con frequenze di lavoro elevate. Questo blocco funzione sarà disponibile dalla prossima versione firmware (Codice SFW184A800).
Novembre 13, 2013 alle 3:48 pm in risposta a: Informazioni su bus I2C, possibilità utilizzo moduli custom #37887Sergio Bertana
Amministratore del forumLe due tensioni in origine sul modulo CPU sono connesse tra di loro (Sono la stessa tensione), sono state diversificate sul bus di estensione per compensare la caduta di tensione dovuta ai cavi ed alle connessioni.
+5Vdc: Deve essere utilizzato per alimentare tutti i circuiti logici connessi al bus di estensione.
+5V (Aux): Deve essere utilizzato per alimentare eventuali dispositivi presenti sul modulo, esempio relè, LED, display, ecc. che non sono direttamente connessi al bus di estensione ma vengono pilotati da drivers. -
AutorePost