Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Giugno 20, 2011 alle 6:59 am in risposta a: Sistema di automazione per imbarcazioni con touch screen #36798
Sergio Bertana
Amministratore del forumAbbiamo alcuni clienti che utilizzano questi pannelli in ambiente nautico senza problemi. Mi riferisco ad applicazioni indoor, non ho feedback di applicazioni sul ponte di comando con la luce solare diretta e gli eventuali spruzzi di acqua marina, anche se la protezione frontale del pannello è IP65.
Per la programmazione del pannello devi utilizzare il programma EasyBuilder 8000 che puoi scaricare liberamente dal nostro sito. Il programma opera su sistemi Windows ed è gratuito, permette inoltre di verificare il funzionamento del programma sviluppato sul terminale. E’ possibile attivare una simulazione in cui un pannello virtuale viene visualizzato sul PC e funziona esattamente come il pannello reale.
Abbiamo nel forum una sezione dedicata ai terminali Weintek dove troverai programmi di esempio per il terminale ed una sezione dedicata allo SlimLine dove troverai programmi di esempio per il sistema di automazione.
Ti ricordo che è possibile effettuare un periodo di training presso la nostra sede per apprendere la programmazione sia del terminale che dello SlimLine. Nel tuo caso ritengo che un giorno di training sia sufficente a sviluppare la tua applicazione insieme ad un nostro tecnico, al termine della giornata avrai il programma e le informazioni per effettuare le modifiche.Giugno 20, 2011 alle 6:46 am in risposta a: Connessione con I/O distribuiti TRP via modbus RTU #36796Sergio Bertana
Amministratore del forumAggiungo un Tip che può essere utile a capire l’indirizzamento dei sistemi SlimLine. SlimLine è basato su di un procesore ARM che utilizza la memorizzazione dei dati nel formato little-endian, inizia dal byte meno significativo per finire col più significativo.
Quindi come puoi vedere dall’esempio la %MW100.0 è valorizzata con il valore 16#0005, quindi alla locazione con offset 0 dell’array TRPC26Read allocato allo stesso indiirizzo di %MW100.0 corrisponde LSB del valore della word, mentre alla locazione con offset 1 corrisponde MSB.
Essendo il valore della word 16#0005 il suo LSB sarà diverso da zero, cioè TRUE, mentre il suo MSB sarà uguale a o cioè FALSE. Se il valore della word fosse stato 16#0101 avremmo avuto sia MSB che LSB al valore TRUE.
Giugno 20, 2011 alle 6:24 am in risposta a: Connessione con I/O distribuiti TRP via modbus RTU #36795Sergio Bertana
Amministratore del forumOccorre capire la differenza tra FCode 16#01 (Read coil status) e 16#03 (Read holding register).
Il comando 16#01 esegue la lettura dello stato di contatti logici, cioè variabili booleane, quindi eseguendo la lettura di 16 variabili Points=16, come nel mio programma TRPCom, si valorizzano i 16 valori BOOL consecutivi dell’array TRPC26Read.
Il comando 16#03 esegue la lettura di words (16 bits) di memoria, quindi eseguendo la lettura di 1 variabile Points=1 come nel tuo esempio viene valorizzata una sola variabile USINT di programma. Come si vede la %MW100.0 è valorizzata con il valore 16#0005 che è il valore presente nel PLC Siemens.
Se il tuo problema è suddividere una variabile USINT in 16 variabili BOOL, puoi utilizzare i blocchi funzione WordToByte e ByteToBit (Estratto manuale).
Giugno 18, 2011 alle 9:43 am in risposta a: Sincronizzazione orologi all’interno di un edificio #36793Sergio Bertana
Amministratore del forumSegnale orario RAI Codificato (SRC) è generato dall’IEN ed è diffuso dalla RAI, permette la sincronizzazione di orologi predisposti alla ricezione di questo segnale.Ma il sistema più utilizzato per la sincronizzazione automatica degli orologi è quello basato sul DCF77, sigla che definisce un sistema tedesco di trasmissione dell’ora legale attraverso delle onde radio, verso un’ampia zona di copertura. È stato creato dal Physikalisch-Technische Bundesanstalt (PTB) su iniziativa del governo tedesco.Nella nostra gamma di prodotti non abbiamo nessun ricevitore adatto a gestire la ricezione di questi segnali, ne l’SRC nè il DCF77. Abbiamo sicuramente i modem per la trasmissione dei dati seriali all’interno di edifici, per il vostro tipo di esigenza ritengo che il prodotto ATC-3200 possa essere il modello consigliato.Ma dalla richiesta non mi è chiaro se gli orologi sono predisposti per l’aggiornamento dell’ora da porta seriale e sul tipo di protocollo da utilizzarsi per questa operazione. Avendo maggiori informazioni magari posso dare una soluzione al problema.
Sergio Bertana
Amministratore del forumLa gamma di prodotti Ubiquiti si compone di svariati prodotti tutti basati sullo stesso sistema operativo AirOS. Per questo sistema operativo è disponibile un SDK quindi è un sistema operativo a sviluppo libero a tutti. La facilità di configurazione è quasi disarmante, e per chi volesse cambiare, può benissimo utilizzare WRT. Tutti i prodotti possono essere configurati per operare sia come stazioni PtP, come access point o come stazioni CPE. Naturalmente per soluzioni PtP dove si deve realizzare una connessione tra due punti conviene utilizzare prodotti con antenne direttive (Nano station, Power station o AirGrid). Ubiquiti per il PtP realizza un apparecchio specifico la NanoBridge.
Giugno 18, 2011 alle 8:09 am in risposta a: Sistema di automazione per imbarcazioni con touch screen #36791Sergio Bertana
Amministratore del forumParlando di automazione a bordo di imbarcazioni la tendo ad assimilare ad applicazioni di automazione in ambito domestico (Home automation). Le caratteristiche sono comuni, uno o più punti di controllo (Touch screen) e uno o più punti di interfaccia verso le utenze (Dispositivi) da controllare. Il suggerimento è quello di realizzare una soluzione distribuita, utilizzando come rete di interconnessione tra i diversi dispositivi la rete ethernet. Questo permette di avere un facile accesso centralizzato a tutte le risorse presenti in rete (Pannelli touch screen e dispositivi di interfaccia), da un unico punto, con possibilità di remotare l’accesso anche via Internet per una facile manutenzione remota. Come pannelli Touch-screen consiglio quelli della Weintek, esistono diversi modelli da 4,3″ fino a 10″, caratterizzati da un basso costo ed una eccellente rapporto prezzo/prestazioni. Per la parte di interfaccia verso i dispositivi di bordo consiglio i prodotti della serie SlimLine. Come verrà realizzata l’automazione, i dispositivi SlimLine ubicati a bordo nei vari punti dove si concentrano le utenze da controllare, gestiscono gli I/O secondo una logica interna (Da realizzarsi come programma PLC), il pannello operatore visualizza i comandi e gli stati (In forma di pulsanti, lampade, strumenti a lancetta virtuali) comunicando con i dispositivi SlimLine tramite rete ethernet. I dispositivi SlimLine stessi possono dialogare tra di loro tramite rete ethernet scambiandosi informazioni, ecco quindi che un ingresso logico e/o un valore analogico rilevato da un dispositivo può essere inviato ad altri dispositivi che lo possono utilizzare nella loro logica interna (Vedi post). Sul pannello touch screen può essere gestita la storicizzazione di valori analogici (Trend) e gli allarmi di impianto, garantendo una dettagliata diagnostica di funzionamento. Il pannello è inoltre dotato di server VNC che ne permette la visualizzazione anche su di uno smartphone, questo rende accessibile il pannello in mobilità. L’armatore o chi per lui potrà accedere alla imbarcazione tramite Internet da qualsiasi parte si trovi (Vedi post). Al sistema SlimLine possono essere connessi Modem GSM per invio/ricezione messaggi SMS (Vedi post) e/o ricevitori GPS per controllo posizione imbarcazione e/o geofencing (Vedi post).
Giugno 18, 2011 alle 7:55 am in risposta a: Lunghezza massima cavo RS 485 per convertitore ATC-850 #36790Sergio Bertana
Amministratore del forumLe specifiche dell’interfaccia RS485 prevedono una connessione di lunghezza massima di 1200 mt (1.2 Km), quindi le specifiche sono corrette. Unica accortezza a cui prestare attenzione è che il cavo utilizzato sia twistato, cioè una coppia di fili attorcigliati uno con l’altro ed il cavo và terminato (Tramite inserimento resistenza da 120 Ohm) da entrambe le estremità (Vedi nota tecnica).
Giugno 14, 2011 alle 3:58 pm in risposta a: Utilizzo ripetitori in reti ZigBee con radiomodem ATC-3200 #36789Sergio Bertana
Amministratore del forumIn merito al ripetitore occorre comprendere il funzionamento della comunicazione ZigBee di questo dispositivo.
La configurazione della rete avviene impostando il valore di PANID del modulo master sui vari moduli slaves ad esso connessi. In pratica nel pacchetto radio che il radiomodem trasmette è indicato il PANID di riferimento, e solo i radiomodems configurati per ricevere questo PANID riceveranno i pacchetti.
Se chiamiamo (a) la rete principale di radiomodem e (b) il ripetitore, sul punto del ripetitore dovremo installare un radiomodem Slave(a) connesso ad un radiomodem Master(b) in seriale, il quale via radio potrà comunicare con uno o più radiomodem Slave(b).
Master(a) ~~[Radio]~~ Slave(a) –[Seriale]– Master(b) ~~[Radio]~~ Slave(b)
Si potrà selezionare canali diversi per le reti (a) e (b).
Sergio Bertana
Amministratore del forumLo standard IEC61131 per il concatenamento di stringhe prevede l’utilizzo di una funzione CONCAT. Passando alla funzione due stringhe essa ritorna una terza stringa risultato della concatenazione della prima stringa con la seconda.
Tra i miei programmi tempo fà ho realizzato una funzione di concatenamento simile alla strcat del linguaggio C, alla stringa di destinazione viene concatenata la stringa sorgente. Riporto di seguito il listato della funzione ed allego un programma di test per il download.
FUNCTION eStrCat : BOOL
VAR_INPUT
Dest : @USINT; { DE:”Destination pointer” }
Source : @USINT; { DE:”Source pointer” }
END_VARVAR
Len : INT; { DE:”String length” }
i : INT; { DE:”Auxiliary counter” }
END_VAR{ CODE:ST }(* FUNZIONE “eStrCat(@USINT Dest, @USINT Source)” *)
Dest:=Dest+eLEN(Dest); (* Destination pointer *)
Len:=eLEN(Source); (* String length *)FOR i:=0 TO Len DO
@Dest:=@Source;
Source:=Source+1; (* Source pointer *)
Dest:=Dest+1; (* Destination pointer *)
END_FOR;eStrCat:=TRUE;
END_FUNCTIONGiugno 9, 2011 alle 12:28 pm in risposta a: Operatività su pannello HMI da remoto tramite smartphone #36784Sergio Bertana
Amministratore del forumPer attivare il server VNC sul pannello operatore, occorre attivare il menù impostazioni, freccia in basso a destra sul display. Toccare l’icona con il simbolo dell’ingranaggio, definire la password di accesso, di default 111111.
Si aprirà il menù settaggi di sistema e dal tab VNC server settings è possibile attivare/disattivare il servizio e definire la password di accesso, vedi screenshot.
Giugno 9, 2011 alle 11:48 am in risposta a: Operatività su pannello HMI da remoto tramite smartphone #36783Sergio Bertana
Amministratore del forumCome hai riportato correttamente nel tuo post, i pannelli operatore della Weintek, supportano il VNC server, quindi è possibile accedere al pannello da qualunque client VNC sia su PC che su smartphone. In applicazioni sia industriali che domotiche, è possibile visualizzare una immagine virtuale del pannello ed operare su di esso usando viewer VNC. Ne esistono per tutti i sistemi operativi, per windows si può utilizzare RealVNC. E’ anche possibile utilizzare un viewer in Java (Basta mettere l’indirizzo IP del pannello nel proprio browser). Per gli smartphone esistono molti viewer gratuiti, io personalmente ho utilizzato androidVNC, su di uno smartphone della HTC con sistema operativo Android. E’ impagabile la comodità di accedere tramite rete WiFi e/o UMTS al pannello operatore dallo smartphone, ed agire su di esso stando comodamente seduti sul divano di casa od al bar, eseguendo tutte le operazioni che si è soliti fare sul pannello stesso.
Giugno 9, 2011 alle 10:19 am in risposta a: Valori errati su visualizzazione registri SAP Selema #36782Sergio Bertana
Amministratore del forumAggiungo la segnalazione di un bug software, il programma EasyBuilder 8000 (Versione 4.4.1 multilingua) pur definendo i valori corretti nel protocollo, limitando a 0 pacchetti ed a 2 words i comandi di lettura e scrittura, continua ad ottimizzare le interrogazioni.
Se tu hai installato questa versione di programma, ti consiglio di eseguire un downgrade alla versione di EasyBuilder 8000 (Versione 3.4.5 Italiano), disponibile per il download dal sito.
Il bug verrà risolto dalle versioni succesive del programma.
Giugno 9, 2011 alle 10:06 am in risposta a: Valori errati su visualizzazione registri SAP Selema #36781Sergio Bertana
Amministratore del forumAllora per risolvere il problema occorre impedire al terminale di ottimizzare la comunicazione, forzandolo ad eseguire interrogazioni modbus singole (Una interrogazione per ogni oggetto grafico). In questo modo per ogni oggetto verrà inviata una richiesta modbus specifica con indicazione dell’indirizzo del registro e del numero di registri modbus da leggere (1 se registro a 16 bits, 2 se registro a 32 bits).
Nel menù Edit -> Parametri di sistema -> Dispositivo, scegliendo il protocollo Modbus RTU (Adjustable), occorre definire intervallo pacchetti “0“, e Max comando lettura e scrittura “2“, vedi screenshot.
Giugno 9, 2011 alle 9:18 am in risposta a: Valori errati su visualizzazione registri SAP Selema #36779Sergio Bertana
Amministratore del forumHo dato una occhiata all’estratto della documentazione Selema che mi hai mandato ed ho notato che utilizza registri a 32 bits, quindi ogni registro occupa lo spazio di indirizzamento di due registri Modbus (Modbus usa registri a 16 bits).
Registro 10 profile_acceleration, Indirizzo: 0x800A, Range: [0,…,0x7FFFFFFF]
Registro 11 profile_deceleration, Indirizzo: 0x800B, Range: [0,…,0x7FFFFFFF]
Registro 12 profile_velocity, Indirizzo: 0x800C, Range: [0,…,0x7FFFFFFF]Il pannello Weintek può gestire registri a 32 bits sia come doppia word sia come variabile float, però quando si utilizza l’indirizzamento a 32 bits vengono letti due registri modbus consecutivi. Ora il problema stà nel fatto che Selema probabilmente per mantenere la compatibilità con il suo formato standard di comunicazione S-Net ha previsto l’indirizzamento dei registri ad indirizzi consecutivi, e non utilizzando solo indirizzi pari (Saltando ciòè un indirizzo per mantenere l’indirizzamento a 16 bits tipico del modbus).
Se inserisci più oggetti di visualizzazione in una pagina del terminale, il software del terminale per ottimizzare la comunicazione raggruppa le interrogazioni eseguendo una sola interogazione di più registri consecutivi. Ma il registro 0x800B (32779) per il terminale usa metà valore del registro 0x800A (32778), e questo ti crea il problema.
La prova più semplice è quella di inserire un solo oggetto di visualizzazione in una pagina e verificare che funzioni correttamente, essendoci un solo oggetto non vengono effettuate ottimizzazioni in lettura quindi se visualizzi il registro 0x800A il terminale richiederà due registri modbus a partire da indirizzo 32778.
Sergio Bertana
Amministratore del forumAggiungo una ottimizzazione su quanto detto in merito alla possibilità di gestire una sorgente di real time clock esterna al terminale. In alternativa al trasferimento dati ciclico è possibile definire nel menù Edit -> Parametri di sistema -> Modello, nella voce Tempo una sorgente esterna di clock (Vedi screenshot).
Per gestire correttamente la sorgente esterna di clock è importante che i dati del real time clock siano allocati nel dispositivo esterno su 6 word consecutive, riporto estratto manuale.
[External device] means the time signal comes from external device. To correctly set source address of time signal is necessary. Take the illustration below as an example: It indicates the source of time signal is from “TV” of the “Local PLC”. The source address “V” starts from address 0 contains 6 consecutive words and each of them contains the following information:
TV 0: Second (the limited range: 0~59)
TV 1: Minute (the limited range: 0~59)
TV 2: Hour (the limited range: 0~23)
TV 3: Day (the limited range: 1~31)
TV 4: Month (the limited range: 1~12)
TV 5: Year (the limit range: 1970~2037)Ricordo che se il PLC è uno SlimLine basterà definire l’indirizzo 100 cosi come riportato nello screenshot.
-
AutorePost