Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 3,241 a 3,255 (di 4,421 totali)
  • Autore
    Post
  • in risposta a: Esempio movimentazione carrello in linguaggio SFC #37914
    Sergio Bertana
    Amministratore del forum

    Il simulatore interno a LogicLab non è implementato nella versione attuale, sarà disponibile dalla prossima versione in via di rilascio. Attualmente forniamo un simulatore esterno, devi selezionare il target simulatore per utilizarlo (Topic).

    Ho convertito il tuo programma per l’utilizzo con il simulatore e ti ho aggiunto la gestione dell’allarme di avanzamento asse (Download programma sorgente). Ecco lo screenshot del tuo programma in simulazione.

    in risposta a: Utilizzo del protocollo CAN open #37912
    Sergio Bertana
    Amministratore del forum

    Il protocollo CAN open segue regole ben precise, il pannello operatore può operare come nodo slave in una rete CAN open. Ma per conoscere le variabili in scambio devi fornire al pannello il file eds del tuo dispositivo e  sul tuo dispositivo devi avere implementato tutto lo stack del protocollo CAN open.

    in risposta a: Lettura dati protocollo modbus da circolatore elettronico #37911
    Sergio Bertana
    Amministratore del forum

    La 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.

    in risposta a: Lettura dati protocollo modbus da circolatore elettronico #37909
    Sergio Bertana
    Amministratore del forum

    Ho 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 pompa

    La 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.

    in risposta a: Gestione pagine web dinamiche da parte dell’utente #37908
    Sergio Bertana
    Amministratore del forum

    In questo topic viene trattato l’utilizzo delle Google Charts per la visualizzazione di dati in forma grafica su pagine web.

    in risposta a: Come scrivere funzioni e blocchi funzioni in LogicLab #37907
    Sergio Bertana
    Amministratore del forum

    Un 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.

    in risposta a: Come scrivere funzioni e blocchi funzioni in LogicLab #37905
    Sergio Bertana
    Amministratore del forum

    Prendo 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.

    in risposta a: Effettuare la scalatura di un valore #37903
    Sergio Bertana
    Amministratore del forum

    Si è 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.

    in risposta a: Riconoscere da programma utente i moduli di espansione #37900
    Sergio Bertana
    Amministratore del forum

    SlimLine 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.

    in risposta a: Comando in frequenza di inverter Power-One per eolico #37898
    Sergio Bertana
    Amministratore del forum

    Il 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).

    in risposta a: Blocco momentaneo di comunicazione tra Bullet M5 HP #37896
    Sergio Bertana
    Amministratore del forum

    Credo 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.

    in risposta a: Comando in frequenza di inverter Power-One per eolico #37895
    Sergio Bertana
    Amministratore del forum

    Il 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.

    in risposta a: Cablaggio contatori con connessione in M-Bus #37893
    Sergio Bertana
    Amministratore del forum

    Il 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²).

    in risposta a: Utilizzo radiomodems per uso con protocollo Pelco #37892
    Sergio Bertana
    Amministratore del forum

    Il 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.

    in risposta a: Configurazione convertitore Ethernet/Seriale TRP-C37 #37891
    Sergio Bertana
    Amministratore del forum

    Mi 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.

Stai visualizzando 15 post - dal 3,241 a 3,255 (di 4,421 totali)