Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 2,446 a 2,460 (di 4,367 totali)
  • Autore
    Post
  • in risposta a: Connessione terminale con Arduino Mega #39085
    Sergio Bertana
    Amministratore del forum

    No non abbiamo soluzioni terminale operatore ed I/O integrati. Ma considerando che la somma del prezzo di un pannello MT6050iP e di un modulo CPU compact si aggira sui 230 € credo si possano utilizzare anche disgiunti.

    Inoltre avendo i due prodotti disgiunti si può sistemare il modulo I/O all’interno del quadro ed il pannello sul pulpito facilitando il cablaggio.

    in risposta a: Porte TCP/IP utilizzate sui terminali Weintek #39083
    Sergio Bertana
    Amministratore del forum

    Solo alcune porte sono modificabili, come:

    Porta pass throught (standard 2000)
    Porta HMI (8000) usata per comunicare con simulatori, PC, pannelli remoti
    Porta FTP (21) questa si può modificare per i pannelli standard nel setting direttamente sul pannello
    Porta download (20248) questa si può modificare per i pannelli standard nel setting direttamente sul pannello

    Per quanto riguarda le altre porte per ora non sono modificabili.

    in risposta a: Porte TCP/IP utilizzate sui terminali Weintek #39081
    Sergio Bertana
    Amministratore del forum

    Il post con la tabella è un pò datato, è stato compilato prima del rilascio del pannello Cloud HMI cMT-SVR. La App di accesso al pannello Cloud utilizza le seguenti porte.

    TCP 80: System Setting/Misc.
    TCP 8000: COM
    TCP 10763: For UAC, Trend, Event Display
    UDP 10275: Search HMI

    in risposta a: Problemi scrittura TAGs su PLC Siemens S7-1200 #39079
    Sergio Bertana
    Amministratore del forum

    Come dice il messaggio di errore dalla versione 4.0 del firmware dei PLC Siemens S7 è cambiata la gestione delle TAGs, ora non è più possibile utilizzare il pulsante Prendi info Tag ma bisogna utilizzare il pulsante Importa Tag ed importare le TAGs tramite i file sorgenti e xls generati sul TIA portal (Vedi screenshot).

    in risposta a: Modifica automatica nome delle variabili #39077
    Sergio Bertana
    Amministratore del forum

    Come workaround, posso consigliare la tecnica che utilizzo io…

    Chiudo LogicLab, apro il file progetto (Estensione ppjs) con un qualsiasi text editor (Io utilizzo Notepad++) e da lì posso effettuare tutte le operazioni di Find/Replace che voglio in piena libertà. Salvo il file modificato che poi riapro da LogicLab.

    Attenzione quella che ho indicato non è una tecnica ortodossa ma è molto utile in alcuni casi. Consiglio sempre di effettuare un backup del file prima di modificarlo. Qualsiasi errore nella procedura può corrompere il file che non sarà più apribile da LogicLab.

    in risposta a: Modifica automatica nome delle variabili #39076
    Sergio Bertana
    Amministratore del forum

    Ho aperto un ticket presso Axel, ecco il carteggio.

    Un cliente lamenta il fatto che non è possibile modificare il nome di una variabile nell’intero progetto. Il Find/Replace funziona solo sul singolo file e non nell’intero progetto. Il cliente suggerisce di eseguire la sostituzione del nome della variabile nell’intero progetto al momento che si modifica il nome nella tabella di definizione. Certo un Find/Replace a livello progetto servirebbe.

    La risposta di Axel.
    La funzionalità è certamente sviluppabile, al momento però non rientra negli sviluppi immediati. Apriamo un ticket per tenere traccia della richiesta. #LL1477: Find/replace function enhancement

    in risposta a: Blocco funzione SysGetCrc per calcolo CRC #39074
    Sergio Bertana
    Amministratore del forum

    Il blocco funzione SysGetCrc calcola il CRC a 16 bit secondo lo standard richiesto dal protocollo Modbus RTU. Il blocco funzione è embedded nel nostro sistema operativo perchè viene utilizzato anche per la gestione del protocollo Modbus RTU da sistema operativo.

    L’algoritmo è scritto in linguaggio C e si trova da qualsiasi parte su Internet, se esegui il dowload dal nostro sito del Modbus Protocol Reference Guide lo trovi riportato in fondo alla guida.

    Il fatto che devi scambiare LSB e MSB dipende dalla endiannes del sistema su cui esegui il calcolo, per definizione il protocollo Modbus RTU riporta le variabili WORD  sempre nel formato Big-Endian.

    in risposta a: Problema con funzione SysVarsnprintf #39073
    Sergio Bertana
    Amministratore del forum

    Per accedere ai caratteri di una stringa devi utilizzare un puntatore. Dichiari una variabile pointer ad USINT (Esempio Ptr come @USINT) e poi usi il pointer per iterare sulla stringa. Ecco come fare nel tuo caso:

    LRC:=0; (* Longitudinal redundancy check *)
    FOR Ptr:=ADR(SOut) TO TO_UDINT(ADR(SOut)+LEN(SOut)-1) DO LRC:=LRC+@Ptr; END_FOR;
    LRC:=(LRC XOR 16#FF)+1; (* Longitudinal redundancy check *)

    Per semplificarti ho scritto un semplice programma LogicLab che fà quello che ti serve (Stampa e Download programma).

    in risposta a: Accesso a telecamere da internet senza IP pubblico #39070
    Sergio Bertana
    Amministratore del forum

    Per poter accedere a dispositivi IP su una rete LAN da rete WAN in cui non si dispone di un IP pubblico l’unico modo e di creare una VPN. I routers Conel hanno la possibilità di creare una o più VPN utilizzando i protocolli OpenVPN e IPSec (Topic).

    Ma è ovvio che una VPN connette due punti tra di loro, quindi solo dal punto dove è connessa la VPN è possibile collegarsi ai dispositivi connessi alla rete LAN del router.

    Una alternativa è sfruttare il servizio EasyAccess 2.0 offerto dai terminali Weintek (Topic). Questo servizio permette tramite apposite apps (Disponibili per smartphone e per PC) di realizzare una VPN tra il dispositivo ed il terminale passando attraverso reti NATtate. In questo modo vengono resi accessibili dal dispositivo in cui è eseguita l’applicazione EasyAccess tutti i dispositivi connessi sulla stessa rete LAN del terminale, senza dover effettuare operazioni sul router di accesso a Internet.

    Impostando sulla applicazione EasyAccess il Pass-through è possibile connettere uno per volta i dispositivi (Nel tuo caso le telecamere). Ecco che se la telecamera nella rete LAN sotto al router ha indirizzo IP 10.0.0.251 basterà impostarlo (Screenshot) per averlo disponbile da qualsiasi applicativo (Esempio IPCamViewer). Nota: Unica condizione è che nel dispositivo (Smartphone o  PC) dove è eseguito EasyAccess non vi sia una scheda di rete nella stessa classe di indirizzi definita nel Pass-through.

    Per utilizzare EasyAccess è necessario installare un classico terminale con schermo touch oppure un terminale cloud senza schermo.

    in risposta a: Monitoraggio impianti rete fognaria #39069
    Sergio Bertana
    Amministratore del forum

    La soluzione per la tua applicazione potrebbe essere la Modem machine, questo prodotto è basato su di un sistema programmabile SlimLine. In pratica viene fornito un modulo CPU a cui si connette un modem GSM/GPRS, essendo un sistema programmabile e modulare è possibile estendere il numero degli I/O a piacere. Se si vuole una alimentazione di backup occorrerà realizzare un quadretto con l’utilizzo di una batteria.Come si evince dalla spiegazione della Modem machine il prodotto è un progetto aperto da cui il cliente può partire per sviluppare la propria applicazione di telecontrollo. E questo permette di poter adeguare l’applicazione nel tempo adattandola alle crescenti necessità senza dover sostutuire il prodotto ma solo modificandone il programma.Il programma base manda SMS su attivazione di contatti logici, ma è possibile aggiungere ingressi analogici e/o connettere il modulo CPU a misuratori di energia (Topic) per poter rilevare anche parametri di funzionamento dell’impianto.Inoltre si può realizzare una connessione in HTTP con un servizio Web nel cloud per avere la gestione degli impianti via Internet (Topic).Riassumendo il prodotto è certamente flessibile, aperto e permette il suo aggiornamento ed ampliamento nel tempo, però la condizione essenziale è che il cliente abbia un approccio attivo ad esso. Quindi è necessario che venga messo in conto l’apprendimento della sua programmazione con LogicLab, perchè solo entrando nel programma è possibile sfruttare tutta la versatilità del prodotto.L’approccio attivo evita di trovarsi nella situazione attuale dove il sistema di invio SMS utilizzato nei quadri dei gruppi elettrogeni, nel momento in cui deve essere modificato richiede l’intervento del fornitore e se non previsti ampliamenti rende necessaria la sua sostituzione.

    in risposta a: Come gestire piu’ uscite PWM #39068
    Sergio Bertana
    Amministratore del forum

    La gestione di motori stepping è un argomento ampiamente trattato nel forum (Topic, topic), la tua idea di utilizzare gli I/O standard per generare frequenze di uscita dell’ordine di 400 Hz ha un problema. Le uscite digitali statiche hanno tempi di On/Off compatibili con i 400 Hz ma è la loro gestione il tallone d’Achille.

    Se ipotizzi di utilizzare l’interrupt fast a 1 mS per invertire lo stato di una uscita digitale tu avrai una frequenza in uscita di 500 Hz. Ho fatto delle prove ed è possibile anche scendere con l’interrupt a 500nS con frequenza massima di 1KHz. Ora se tu utilizzi una sola uscita puoi variare il tempo di interrupt (Funzione SysSetTaskLpTime) per avere tutte le frequenze nel range fino ad 1KHz. Ma se le uscite sono più di una è ovvio che variando il tempo di interrupt tutte le uscite cambiano di frequenza.

    Per variare la frequenza di ogni uscita puoi solo attendere una o più esecuzioni dell’interrupt per invertire l’uscita ma in tal caso le frequenze sono sottomultipli esatti della frequenza base (Esempio 1KHz, 500Hz, 250Hz, 125Hz…) e non credo vada bene.

    Sul mercato esistono drivers economici per motori stepping che si possono gestire via I2C (Vedi questo), in alternativa esistono degli integrati per generare uscite PWM pilotabili da bus I2C (Esempio il PCA9685, 16-channel, 12-bit PWM Fm+ I2C-bus LED controller della NXP).

    in risposta a: Connessione terminale con Arduino Mega #39066
    Sergio Bertana
    Amministratore del forum

    Siccome mi dici che hai testato il tutto con un programmino vuol dire che la connessione con il PC è corretta, allora prova a testare il progetto con il simulatore del pannello direttamente da PC (Usa il tasto Simulatore On-Line) devi definire la COM corretta nel progetto (Magari nel tuo PC si chiama COM6…).

    Mumble… Arduino Mega Vs SlimLine Compact, perchè no…

    in risposta a: Connessione terminale con Arduino Mega #39065
    Sergio Bertana
    Amministratore del forum

    Il terminale ha due porte seriali la COM1 che può essere RS232 oppure RS485 (2 o 4 fili), la porta COM3 può essere solo RS485 2 fili. I collegamenti corretti sono quelli riportati sul datasheet.

    Ad alcune delle domande che mi fai devi essere tu a rispondere… RS232 o RS485 dipende da che interfaccia seriale dispone Arduino Mega. Se le ha entrambe scegli quella più consona alla tua applicazione (RS232 massimo 15 mt, RS485 massimo 1200 mt).

    Se Arduino è un Modbus RTU slave è ovvio che devi impostare il pannello in modalita Modbus RTU master.

    Ma attenzione hai impostato correttamente i parametri seriali e l’indirizzo di nodo ?

    Il range di indirizi delle variabili è corretto ?

    Il terminale usa i comandi modbus 01 Read Coil Status e 05 Force Single Coil per la gestione variabili BOOL. 03 Read Holding Registers e 16 (10 Hex) Preset Multiple Regs per la gestione delle variabili WORD. Questi comandi sono supportati dall’Arduino Mega ?

    in risposta a: Comando da sistema SCADA di carichi trifase #39064
    Sergio Bertana
    Amministratore del forum

    La corrente richiesta dai carichi è estremamente bassa, ma attenzione al carico capacitivo, una capacità al momento della connessione è un cortocircuito e la corrente in quell’istante tende all’infinito (Come vedi nella nostra nota applicativa può andare anche a 40 volte la corrente nominale). Quindi ti consiglio di proteggere il contatto del relè, puoi utilizzare a tale scopo una resistenza in serie al carico.

    Siccome il carico è in alternata la capacità continuerà a caricarsi/scaricarsi facendo passare corrente nella resistenza, quindi bisognerà utilizzare una resistenza di pochi Ω per evitare grosse potenze in dissipazione. Vado molto a naso e quindi ti consiglio di provare quello che cito come dati.

    Metterei per iniziare una resistenza da 4.7Ω che ipotizzando una corrente media di 1 A dissiperebbe una potenza di 4.7 Watt. Naturalmente se scendi di valore resistivo scendi anche con la potenza dissipata ma come detto devi fare sperimentazione.

    Una tecnica più raffinata immaginando che tutti i comandi a 220 Volt operino sulla stessa tensione o su tensioni in fase tra di loro, è di acquisire con un ingresso digitale (Tramite un trasformatore) la tensione di rete e campionandola in tast Fast ad 1 mS, potrai così commutare il relè di uscita solo sul passaggio per lo zero, in pratica realizzi un circuito zero crossing detector. Naturalmente dovrai anticipare il comando di qualche mS per compensare il tempo di ritardo del relè.

    Il modulo CPU compact Ethernet supporta al massimo 4 moduli di espansione, avendone 5 dovrai per forza utilizzare il modulo CPU base.

    in risposta a: Abilitazione EasyAccess 2.0 su terminale #39063
    Sergio Bertana
    Amministratore del forum

    La soluzione più semplice è utilizzare Easy Access 2.0, esistono apps sia per gli smartphone Android che iOS, le apps sono scaricabili dal market.

    Attivata la app lo smartphone è connesso in VPN con il terminale a questo punto puoi attivare la app di visualizazione anch’essa scaricabile gratuitamente dal market.

Stai visualizzando 15 post - dal 2,446 a 2,460 (di 4,367 totali)