Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Dicembre 19, 2013 alle 9:06 am in risposta a: Scambio di I/O su rete Internet con connessione ADSL #37935
Sergio Bertana
Amministratore del forumPer quanto riguarda lo scambio di I/O tra sistemi su rete ethernet abbiamo diversi moduli di I/O-Ethernet che prevedono lo scambio degli I/O punto-punto (Topic). Inoltre utilizzando i nostri controllori programmabili è possibile realizzare oltre allo scambio punto-punto anche lo scambio punto-multipunto (Topic).
Tutti questi sistemi si basano sulla definizione dell’indirizzo IP dei vari nodi della rete, quindi se tu mi parli di connessioni ADSL dovrai utilizzare degli indirizzi IP pubblici e statici per poter realizzare lo scambio degli I/O. Una possibilità per ovviare a questo è di realizzare una VPN tra i siti da gestire, e poi utilizzare gli indirizzi IP statici all’interno della rete VPN.
Quasi tutti i Modem/Router ADSL prevedono la gestione delle VPN e gestiscono anche servizi di DNS dinamico, in modo da poter realizzare la rete VPN anche su indirizzi IP pubblici dinamici.
Sergio Bertana
Amministratore del forumNella nostra gamma di radiomodem trovi molti prodotti adatti alla trasmissione di dati seriali, i prodotti ZigBee sono piccoli e consumano poco ma il loro raggio di azione è molto limitato (500 metri) ma se le antenne sono ben posizionate. Abbiamo già avuto clienti con problematiche come la tua e il radiomodem, messo nello zaino ha una portata ridicola.
I radiomodem serie DL a 169 o 868 MHz hanno sicuramente una portata eccellente anche con l’antenna male posizionata o posizionata molto vicino al terreno. Consumano un pò di più li puoi tranquillamente alimentare con un piccolo accumulatore a 12 VDC.
Ora il tuo problema è quello di realizzare un software per la trasmissione dei dati RTK ricevuti via Internet sulla porta seriale verso il radiomodem. Non conosco la problematica e magari esistono già applicazioni pronte all’uso. In alternativa posso consigliare l’utilizzo di un router con antenna opportuna per la connessione alla rete UMTS e poi tramite un access point WiFi ripetere la connessione verso il tuo telefono o tablet. Naturalmente devi pensare alla copertura WiFi che vista l’antenna del telefono o del tablet potrebbe essere ridotta. Questa soluzione però ti permetterebbe di posizionare la stazione in posizione elevata su di un palo in prossimità dell’auto da cui puoi prelevare anche l’alimentazione ed usare in tutta autonomia il tuo smartphone o tablet connessi ad Internet.Sergio Bertana
Amministratore del forumCome vedi dal manuale (Estratto), il numero continua a crescere in funzione del tipo prodotto e della matricola. Il massimo valore di tipo prodotto è 9999 che abbinato al massimo valore di matricola (99999), produce un UniqueID massimo di 1310688927 (0x4E1F869F).
Sergio Bertana
Amministratore del forumI nostri sistemi SlimLine sono basati su architettura ARM, questo tipo di architettura vuole che le variabili a due bytes siano allocate ad indirizzi divisibili per 2 e le variabili a 4 bytes siano allocate ad indirizzi divisibili per 4. L’allocazione delle variabili ad indirizzi che non rispondono a queste regole ne rende impossibile l’accesso.
LogicLab provvede automaticamente ad allocare le variabili seguendo le direttive imposte dalla architettura ARM, ma utilizzando un puntatore su di un array di bytes ecco che sarà il tuo programma a gestire l’indirizzamento e quindi quando ti trovi a puntare indirizzi pari verrà letta corettamente la variabile UINT (Come sequenza di due bytes) mentre se l’indirizzo è dispari la variabile non viene letta correttamente.
Ma devi anche prestare attenzione all’endiannes dei dati, l’architettura ARM è di tipo Little-Endian, quindi il byte meno significativo si trova ad indirizzo più basso rispetto al byte più significativo. Come vedi dallo screenshot del programma ByteToWord, ho allocato un array di bytes a MX100.0 (In questo modo sono sicuro che sono allocati ad indirizzo pari divisibile per 4).
Quando il puntatore a WORD punta l’indice 2 dell’array il risultato Result[0] è corretto (Il valore di LSB è l’indirizzo puntato mentre l’MSB è indirizzo+1, Little-Endian). Quando il puntatore a WORD punta l’indice 3 dell’array il risultato Result[1] è errato.
Sergio Bertana
Amministratore del forumGli I/O digitali sono allocati in array di dati e possono essere gestiti utilizzando direttamente le variabili. Gli I/O del modulo con indirizzo 0 sono allocati in SysDI00 e SysDO00, quelli del modulo con indirizzo 1 sono allocati in SysDI01 e SysDO01, e così via. Quindi un semplice programma che copia 8 ingressi del modulo 0 sulle sue rispettive 8 uscite può essere:
FOR i:=0 TO 7 DO SysDO00[i]:=SysDI00[i]; END_FOR;
Questa sintassi è molto comoda se nel loop si trattano I/O consecutivi, ma se gli I/O non sono consecutivi è preferibile utilizzare un array di puntatori a variabili BOOL:
IArray : ARRAY[ 0..15 ] OF @BOOL; { DE:”Input array” }
OArray : ARRAY[ 0..15 ] OF @BOOL; { DE:”Output array” }Valorizzando l’array con gli indirizzi degli I/O ed utilizzando un loop nel modo:
IArray[0]:=ADR(%IX0.0);
IArray[1]:=ADR(%IX0.4);
OArray[0]:=ADR(%QX0.0);
OArray[1]:=ADR(%QX0.7);
FOR i:=0 TO 1 DO @OArray[i]:=@IArray[i]; END_FOR;Allego la stampa ed il programma sorgente di un esempio di utilizzo di questa tecnica.
Sergio Bertana
Amministratore del forumTi aggiungo altre semplici informazioni, i PLC eseguono i programmi ciclicamente, lo SlimLine prevede 3 differenti Tasks di esecuzione (Topic). Di solito i programmi logici sono inseriti nella task Slow, il sistema operativo legge gli ingressi logici poi esegue tutti i programmi inseriti nella task e poi aggiorna le uscite logiche (Queste operazioni sono svolte ciclicamente ogni 10 mS).
La normativa prevede 5 linguaggi, perché per ogni tipo di operazione da svolgere si utilizza il linguaggio più consono. Per la logica il linguaggio è LD, mentre per i calcoli è preferibile usare FBD o ST. Per realizzare un programma devi partire dalla definizione degli Ingressi/Uscite che poi leghi nel tuo programma con sequenze logiche (Serie e parallelo) proprio come fai con uno schema elettromeccanico a relè.
Se ti servono dei relè di appoggio ecco che definisci delle variabili di tipo BOOL che userai come bobine (Coil) all’interno di rami logici. Ogni relè all’interno del PLC (Come pure gli ingressi e le uscite) ha infiniti contatti ausiliari, per cui potrai usare i contatti del tuo relè di appoggio (Sia NO che NC) in tutti i rami che vuoi.
Sergio Bertana
Amministratore del forumNon è semplice descrivere in poche righe la programmazione di un PLC, per cercare di spiegare in modo semplice come utilizzare LogicLab con i nostri prodotti abbiamo approntato dei videocorsi (Vedi pagina). Essenzialmente vi sono 3 corsi dove nel primo si spiegano i passaggi per creare un nuovo progetto, nel secondo si realizza un semplice programma in linguaggio LD e nel terzo si simula il funzionamento del programma.
Credo che il seguire questi 3 videocorsi aiuti a prendere confidenza con l’ambiente di sviluppo, poi certo occorre provare da soli a sviluppare semplici programmi, la disponibilità di un simulatore su PC ti permette di verificare il funzionamento dei programmi che realizzi (Topic). Ti rimando ad alcuni topics dove puoi eseguire il download di programmi già pronti per il simulatore (Relè Passo/Passo, Movimentazione carrello in SFC, Demo FB Average, Conteggio sacchi, Esempio scrittura di un blocco funzione, Regolazione PID).
Dicembre 13, 2013 alle 4:36 pm in risposta a: Realizzare un semplice convertitore Ethernet/Seriale #37926Sergio Bertana
Amministratore del forumSe si vuole utilizzare un software di VirtualCOM con il programma descritto precedentemente è possibile utilizzare il HW VSP3 – Virtual Serial Port della HWgroup, questo screenshot illustra l’utilizzo di uno SlimLine proprio con il software di virtualizzazione porta seriale.In un PC con Windows 7 è stato installato il software Virtual Serial Port impostando la porta COM3 sull’indirizzo IP dello SlimLine (192.168.0.162) su porta 1000 come definito nel programma. Nel PC è anche installato un convertitore USB/Seriale ATC-810 configurato come COM8, la sua porta seriale RS232 è connessa con la porta COM0 dello SlimLine.Utilizzando Toolly sono stati aperte due sessioni di terminale una connessa alla COM3 ed una alla COM8, come si vede i dati inviati sulla COM3 sono ricevuti dalla COM8 e viceversa.Attenzione, sulla porta virtuale COM3 non è possibile impostare i parametri di comunicazione seriale, il valore 9600, e, 8 è indicativo perché in realtà lo SlimLine utilizza sulla sua seriale COM0 i parametri definiti nel programma con il FB SetSMode.
Sergio Bertana
Amministratore del forumAccedendo al sistema da telnet, oppure eseguendo un catch alla accensione è possibile accedere all’interprete comandi (Topic). Il comando CfgCommit -d permette di riportare tutte le impostazioni di configurazione al loro valore iniziale (Factory default) (Screenshot).
Eseguendo il login come User sono impostati a default:
Parametri comunicazione porte seriali (115200, e, 8, DTR auto).
Parametri configurazione Modbus sia su porta seriale che su TCP/IP (Nodo 1, porta TCP 502).
I 4 valori di settaggio utente SysUSetA, SysUSetB, SysUSetC, SysUSetD sono abblencati.Eseguendo il login come Admin oltre alle impostazioni User sono impostati a default:
Credenziali di accesso (Admin, User, Guest).
Sono abilitati sia il web server che il modbus da TCP/IP.
Configurazione di rete (Ethernet IP 192.168.0.122, RNDIS IP 192.168.1.122, Mask 255.255.255.0).
Pagine di default e non presente su web server (System/Home.htm, System/NotFound.htm).
Sono azzerati tutti i codici di protezione funzioni e blocchi funzione.Dicembre 13, 2013 alle 10:26 am in risposta a: Gestire un display alfanumerico con un modulo SlimLine #37924Sergio Bertana
Amministratore del forumCon la nuova versione di LogicLab 2.2.0 è stato aggiunto un editor di messaggi per display alfanumerici, ora è possibile definire i messaggi da visualizzare sui display connessi al bus di espansione dei sistemi SlimLine direttamente da LogicLab (Topic).
Sergio Bertana
Amministratore del forumI proxy sono utilizzati esclusivamente per la navigazione web, la connessione ai sistemi SlimLine da parte di LogicLab utilizza il protocollo Modbus TCP/IP sulla porta standard 502 (Il numero di porta è modificabile). Quindi se dalla tua rete è possibile “uscire” su Internet (Vedi le regole di firewalling sul gateway) basterà impostare nelle impostazioni di connessione di LogicLab l’indirizzo IP pubblico dello SlimLine.
I pacchetti TCP/IP facendo riferimento ad un indirizzo IP esterno alla rete saranno instradati dal PC verso il gateway e poi su Internet. Naturalmente dovrai avere gestito correttamente le regole di forwarding delle porte (NAT) sul router di destinazione dove è connesso il sistema SlimLine.
Proprio per permettere la connessione tramite rete Internet è possibile modificare i tempi di attesa sui pacchetti TCP/IP in modo da adeguarsi alla velocità della connessione (Screenshot). Come si vede dallo screenshot in alternativa all’indirizzo IP è anche possibile definire un Hostname e questo può risultare comodo nel caso in cui il sistema da programmare sia connesso ad un router che non dispone di un indirizzo IP statico e quindi si utilizzi un servizio di DNS dinamico.
Dicembre 11, 2013 alle 5:06 pm in risposta a: Come conoscere l’indirizzo IP del Cloud HMI cMT-SVR #37922Sergio Bertana
Amministratore del forumDopo la descrizione del funzionamento dell’App aggiungo le note che riguardano le impostazioni del terminale. Le impostazioni sono possibili sia dalla App CloudHMI che da un browser. Digitando l’indirizzo IP del terminale nel browser viene richiesta la password di accesso (Di default 111111), digitata la quale viene visualizzata la pagina di impostazioni da cui è possibile effettuare tutti i settaggi desiderati (Screenshot).
Dicembre 11, 2013 alle 4:18 pm in risposta a: Come conoscere l’indirizzo IP del Cloud HMI cMT-SVR #37921Sergio Bertana
Amministratore del forumI terminali Cloud HMI cMT-SVR sono configurati di default per acquisire l’indirizzo IP da un server DHCP, non avendo nessun display per la visualizzazione il modo più semplice di conoscerne l’indirizzo IP è tramite un iPad in cui è installata l’App CloudHMI, la stessa operazione è possibile dal programma EasyBuilder Pro (Screenshot).
Eseguendo l’App viene visualizzata la finestra con riportati tutti i terminali trovati nella rete wireless, per ogni terminale è riportato l’indirizzo IP assegnato. Cliccando sul tasto GO si passa alla visualizzazione della pagina pannello ed è possibile operare sui componenti (Screenshot). Toccando il bottone in alto a destra è possibile passare alla visualizzazione delle miniature, tutti i terminali connessi all’iPad sono visualizzati e semplicemente toccandoli è possibile passare da uno all’altro. In questo screenshot vi è un solo terminale connesso.
Dicembre 10, 2013 alle 9:34 am in risposta a: Realizzare un semplice convertitore Ethernet/Seriale #37920Sergio Bertana
Amministratore del forumViste altre richieste relative a questo topic ho sviluppato il blocco funzione DataStreamExch che permette di scambiare dati tra due stream di I/O (Estratto manuale). Definendo come stream un socket TCP e come altro stream una porta seriale è facilmente realizzabile un convertitore Ethernet/Seriale.
Allego la stampa e programma sorgente di utilizzo di uno SlimLine come convertitore Ethernet/Seriale.
Sergio Bertana
Amministratore del forumCome alternativa alla serie Scalance della Siemens possiamo proporre i prodotti ORing. Mentre per quanto riguarda la tua applicazione la puoi realizzare esattamente come hai figurato la rete cablata. Uno switch di rete che nel wireless sarà un access point e poi tante stations wireless una per ogni dispositivo della rete. Utilizzando una configurazione bridged (Vedi foto) tutti i dispositivi station si connettono all’access point come se fossero connessi con un cavo di rete ethernet. In questa configurazione non vi è alcun limite di comunicazione tra i vari dispositivi della rete esattamente come in una rete cablata. Risulta evidente quindi che potrai accendere e spegnere i vari nodi indipendentemente. Naturalmente tutta la comunicazione passa attraverso l’access point che può anche essere solo alimentato e non connesso a nessuna rete ethernet e questa è esattamente la stessa situazione che hai con uno switch di rete. Come access point puoi utilizzare un dispositivo con antenna omnidirezionale (Picostation, Bullet, Rocket) mentre per le station puoi utilizzare dispositivi direzionali (NanoStation), vedi tutta la gamma Ubiquiti.
-
AutorePost