Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 3,226 a 3,240 (di 4,400 totali)
  • Autore
    Post
  • 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.

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

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

    in risposta a: Informazioni su bus I2C, possibilità utilizzo moduli custom #37887
    Sergio Bertana
    Amministratore del forum

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

    in risposta a: Informazioni su bus I2C, possibilità utilizzo moduli custom #37885
    Sergio Bertana
    Amministratore del forum

    In questo topic viene trattato un esempio di gestione di un display alfanumerico connesso al bus di estensione.

    in risposta a: Visualizzazione dati su PC di supervisione #37883
    Sergio Bertana
    Amministratore del forum

    Sui nostri dispositivi SlimLine è gestito in modo nativo il protocollo Modbus slave, in questo topic trovi maggiori informazioni. Se sei esperto in programmazione su PC in ambiente visual puoi connetterti sia su rete ethernet che via seriale, in questi due topic (1) e (2) trovi informazioni in merito.
     
    Naturalmente l’uso di un programma SCADA come Movicon o del suo fratello più piccolo Power HMI ti semplificano di molto la programmazione mettendoti a disposizione sia la gestione del protocollo di comunicazione che una vasta serie di simboli animati già pronti all’uso, in questo topic un progetto di start up già pronto.
     
    Se la visualizzazione grafica è semplice puoi anche utilizzare il programma ProfilabExpert, che ti permette di gestire la comunicazione modbus e di realizzare pannelli sinottici, in questo topic un progetto di start up già pronto.

    in risposta a: Programmazione da remoto dei Vs dispositivi #37882
    Sergio Bertana
    Amministratore del forum

    Intanto la prima cosa da fare è connettere lo SlimLine alla rete wireless, per fare questo utilizzando un modulo CPU con ethernet potrai connetterlo ad esempio una Picostation od un altro prodotto dell nostra linea Wireless LAN.

    Ora se la programmazione deve avvenire nella stessa rete WiFi non ci sono problemi, basterà connettere anche il PC alla rete WiFi, definendo da LogicLab una connessione Modbus TCP potrai operare sul PLC semplicemente definendone l’indirizzo IP. Esattamente come si opererebbe su di una rete cablata ethernet.

    Se invece la tua domanda è come programmarlo via Internet allora occorre capire se sul sito dove c’è il PLC vi è una connessione Internet e se è possibile operare sul router di connessione. In questo caso basterà impostare delle regole di port forwarding o NAT sul router per poter raggiungere il dispositivo da Internet. In questo post trovi indicazione delle porte TCP gestite dallo SlimLine. Naturalmente si deve disporre di un indirizzo IP pubblico (Se statico nessun problema) se dinamico occorre appoggiarsi a servizi come DynDNS.

    Se non si dipone di una connessione Internet puoi utilizzare uno dei ns routers GPRS od UMTS, attenzione però che l’unico gestore che dà indirizzi IP pubblici e TIM (Vodafone devi fare una richiesta) e non è comunque possibile avere indirizzi IP statici. Anche qui puoi usare servizi come DynDNS oppure “svegliare” il router con un SMS ed il router ti invierà un SMS di ritorno con il suo indirizzo IP.

    in risposta a: Realizzare lo scambio di I/O su connessione WiFi #37880
    Sergio Bertana
    Amministratore del forum

    Per quanto riguarda la configurazione delle Picostation devi utilizzare la configurazione bridged (Menù Network, Network mode Bridge), che permette di utilizzare due dispositivi per creare una rete wireless tra più dispositivi. Uno dei due dispositivi andrà configurato come come Access point (Menù Wireless, Wireless mode Access point) e l’altro o gli altri come Station  (Menù Wireless, Wireless mode Station).

    Devi assegnare indirizzi IP statici ai dispositivi nella stessa rete degli SlimLine, come SSID di rete e come password puoi scegliere quello che desideri. Ora i due sistemi SlimLine sono interconnessi tra di loro, e se tu hai un PC con rete wireless od uno smartphone puoi connetterti alla rete e dialogare con entrambi gli SlimLine.

    Per quanto riguarda lo scambio di I/O tra i due SlimLine devi utilizzare il blocco funzione UDPDataTxfer che permette di scambiare tra i sistemi blocchi di memoria, basterà trasferire nella memoria scambiata tra i sistemi gli I/O ed il gioco è fatto (Topic). In questo topic trovi un esempio di scambio dati tra 3 PLC.

Stai visualizzando 15 post - dal 3,226 a 3,240 (di 4,400 totali)