Industry Test di comunicazione tra due LOGO! 0BA7: Master - Master Dispositivi utilizzati: - 2 LOGO! 0BA7 (6ED1 052-1MD00-0AB7) - Scalance X-208 LOGO! 0BA7 Client IP: 192.168.0.1 LOGO! 0BA7 Server IP: 192.168.0.2 Stazione PG IP: 192.168.0.83 Nella configurazione con due master (Client-Server), entrambi i dispositivi contengono un programma e i due LOGO! si scambieranno dei dati attraverso l area di memoria V. Il Client è colui che farà le richieste di lettura o scrittura dell area V del server e il server risponderà. Siemens S.p.A. V.le Piero e Alberto Pirelli, 10 20126 Milano C.P. 17154-20170 Milano Italia www.siemens.it/automazione Capitale sociale: Euro 80.000.000 i.v. ; Iscrizione Registro Imprese Milano, Codice fiscale e partita I.V.A.: IT 00751160151; R.E.A. Milano: 525193 Pag. 1 di 8
Impostazione del LOGO! 0BA7 come SERVER Iniziamo col configurare la comunicazione lato server dal menù Tools -> Ethernet Connections (figura 1): Figura 1 Nella finestra che si apre, inserire in Module address, l indirizzo IP e la maschera di sottorete del dispositivo locale. Cliccare col pulsante destro su Ethernet Connections e selezionare Add connection (figura 2). Figura 2 Pag. 2 di 8
Facendo doppio click sulla connessione appena realizzata, si apre la finestra di parametrizzazione della connessione (figura 3). Selezioniamo l opzione Server Connection ed impostiamo il TSAP del Client. Inoltre, se vogliamo accettare le richieste da qualsiasi indirizzo IP selezioniamo l opzione Accept all connection requests, altrimenti immettiamo l indirizzo IP del Client nel campo Only this connection (nel nostro caso sarebbe 192.168.0.1). Figura 3 Tenere a mente il TSAP della stazione locale che sarà uno dei parametri da inserire al momento della parametrizzazione del Client. Pag. 3 di 8
Impostazione del LOGO! 0BA7 come Client Lato Client realizzare una nuova connessione come visto per il server ma questa volta, tra i parametri di connessione selezioniamo Client connection (vedi figura 4). Impostiamo inoltre il TSAP del server, facendo attenzione che sia coerente con quanto impostato in precedenza, e il suo indirizzo IP nella sezione Remote Properties (Server). Figura 4 A questo punto è possibile andare a definire i comandi di lettura e scrittura che il Client vuole impartire al Server. Pag. 4 di 8
Realizzazione delle richieste Il LOGO! uilizza come area di scambio l area V che contiene, a partire dal byte 923, i valori degli ingressi (digitali e analogici), delle uscite (digitali e analogiche) e dell area M (bit e word) (tabella 1): Area Memoria LOGO! Dati Allocati in area V VB0 Vuota VB1 Vuota VB922 Vuota V923.0 I1 V923.1 I2 V925.7 I24 VW926 AI1 VW940 AI8 V942.0 Q1 V943.7 Q16 VW944 AQ1 VW946 AQ2 V948.0 M1 V951.2 M27 VW952 AM1 VW982 AM16 Tabella 1 Nella tabella di inserimento dei comandi di lettura e scrittura (Figura 5) fare doppio click sulla prima riga vuota nella colonna Operate selezioniamo l operazione di lettura ( Read ) o scrittura ( Write ). Figura 5 Pag. 5 di 8
Nella colonna Length inseriamo la quantità di byte che vogliamo andare a leggere o scrivere sul Server. Nella colonna Address (Local) inseriamo il primo byte dell area V del client che vogliamo andare a leggere o scrivere (massimo fino al byte VB850). Nella colonna Address (Remote) inseriamo il primo byte dell area V del server che vogliamo andare a leggere o scrivere (in questo caso possiamo utilizzare tutta l area V). Tramite questo tipo di connessione è possibile: - Leggere lo stato degli ingressi, delle uscite e dei flag (M) del server e depositarli nei primi 850 byte dell area V del client; - Scrivere parametri mappati nei primi 850byte dell area V del client, sull area V del server; - Leggere parametri mappati nell area V del server e depositarli nei primi 850 byte dell area V del client. NOTA: A causa del limite del byte 850 come ultimo byte utilizzabile come indirizzo locale, il server non ha la possibilità di leggere lo stato di ingressi, delle uscite e dei flag (M) del client. Per eseguire questa operazione è necessario realizzare una seconda connessione (con TSAP diversi) in cui si invertono i ruoli di client e server e far impartire questo comando di lettura al nuovo client (Figura 6). Figura 6 Pag. 6 di 8
Esempio: Lettura di tutti i DI del server ed utilizzo del DI6 nel programma Vediamo ora come fare in modo che il Client legga i 24 DI del server e li salvi nei primi tre byte dell area V locale. Impostare i seguenti valori nell area Data Transfer (Figura 7): - Selezionare Read nella colonna Operate ; - Inserire nella colonna Length il valore 3 dato che vogliamo leggere 3 byte (24 bit); - Inserire nella colonna Address (Local) il valore VB0 dato che vogliamo depositare i dati letti a partire dal byte 0 dell area V locale; - Inserire nella colonna Address (Remote) il valore VB923 dato che vogliamo leggere lo stato degli ingressi che sono mappati a partire dal byte 923 dell area V della stazione remota (vedi Tabella 1); Figura 7 Ora possiamo utilizzare, ad esempio, il valore dell ingresso DI6 del server nel programma del client, utilizzando il blocco Network Input (Figura 8). Figura 8 Pag. 7 di 8
Tra le impostazioni del blocco selezionare VM nel campo Read value from, e scrivere 0 nel campo VB address e 5 nel campo Bit (il bit da leggere è V0.5). Esempio: Scrittura di un parametro sull area V del server E possibile posizionare nell area V locale, dei parametri (solo se si usano determinati blocchi, es. Up/Down Counter ) andando sul menù Tools -> Parameter VM mapping... (figura 9). Da qui selezionare nella colonna Block il blocco che gestisce il parametro che vogliamo salvare (es. blocco Max/Min valore analogico), nella colonna Parameter selezionare il parametro specifico (es. Valore minimo) e nella colonna Address il numero del byte di partenza della memoria V locale in cui vogliamo salvare il parametro. Figura 9 Vediamo ora, come fare in modo che il client scriva nell area V del server, un parametro che è salvato nella sua area V (Figura 10): - Selezionare Write nella colonna Operate ; - Inserire nella colonna Length il valore 2 dato che il parametro che vogliamo scrivere è una Word (2 byte); - Inserire nella colonna Address (Local) il valore VB10 dato che il parametro è stato depositato a partire dal byte 10 (vedi figura 7); - Inserire nella colonna Address (Remote) il valore VB100 per scrivere il parametro nell area V remota a partire dal byte 100. Figura 10 Quindi, lato server, possiamo usare il parametro che è stato scritto nella VW100 col blocco Network Analog Input (Figura 11). Figura 11 Pag. 8 di 8