Vai al contenuto
PLC Forum


S7-1200 - Logo 8


over

Messaggi consigliati

Ciao All, vorrei collegare alcuni Logo 8 ad un S7-1200 ma mi trovo in difficolta'.

Ho trovato piu' documentazioni sul web che documentano come configurare sia il Logo che il 1200, ma tutte le documentazioni che ho trovato propongono :

 

1) un unico Logo mentre io ne avrei "n".

2) l'unico Logo e' configurato come Client.

 

Io vorrei configurare il 1200 come Client e tutti i Logo come Server poiche' mi piacerebbe che (con una interfaccia web) io possa andare a scrivere sulla memoria VM di ciascun Logo solo quando posto la mia modifica; per assurdo vorrei che se il 1200 si guasta tutti i Logo possano continuare con la loro programmazione lasciatagli dal 1200 un attimo prima.

 

Io avevo gia' provato a creare una connessione "Server" nelle "ethernet connections", ho alimentato anche tutti i campi necessari (nell'ambiente Logo8) ed ho anche compilato la parte della connessione S7 nel TIA Portal, quello che mi manca e' sapere in che modo dire al S7-1200 di scrivere su una determinata memoria del Logo via rete.

 

Qualcuno mi puo' illuminare sul come procedere ?

 

Grazie.

 

Over

Link al commento
Condividi su altri siti


Ciao over,

 

mi sembra di capire che la connessione tra 1200 e un solo logo8 funzioni.basta che cambi l'indirizzo ip dei logo(127.0.0.xxx)

 

uno slave e tanti master?? con la comunicazione "connessione S7" puoi far andare tutti i logo che vuoi e farli parlare col tuo 1200 basta che li indirizzi ad una variabile DB differente (es. DB1.dw0.0 il primo logo ed il secondo su DB1.dw2.0) per scrivere sul logo è la stessa cosa basta che dal logo vai a leggere in variabili differenti(es. DB2.dw0.0 il primo logo ed il secondo su DB2.dw2.0).

 

Se il 1200 va KO i logo funzionano tranquillamente con l'ultima modifica fino a che il 1200 non ritorna,attento alla ritenzione perche se no i logo richiamano 0 a tutte le variabili.

 

spero di essere stato chiaro

 

Baraz

Link al commento
Condividi su altri siti

Baraz, io vorrei configurare ogni logo come server ed il 1200 come client; purtroppo non trovo documentazioni se non per il contrario.

Altra domanda che ho scordato di fare e' : c'e' un limite al numero di Logo "figli" del 1200 ?

Link al commento
Condividi su altri siti

Ho provato e funzia !

 

Mi chiedo pero' : devo creare una S7Connection per ogni LOGO ? Io ne ho gia' 4 di Logo da collegare e prevedo di arrivare a decine; riusciro' a gestire bene la cosa ?

 

Ho scoperto poi che non mi serve "creare un progetto rete" con Logosoft 8, ma mi e' sufficiente andare nel mio progetto "non di rete" e nelle connessioni ethernet andare a crearne una "server" impostando il valore di TSAP del server; l'unico problema e' che il valore TSAP per il client, di default e' 20.00 e non e' modificabile... basta creare una seconda connessione per avere 21.00 e poi cancellare la prima. Questo mi evita di ri-creare lo "schema" nella sezione "network"... A proposito, ma se sono nella sezione "Network" di Logosoft non posso importare uno "schema" creato nella sezione "non network" ? 

 

Buona giornata.

 

Over

Link al commento
Condividi su altri siti

Quote

Mi chiedo pero' : devo creare una S7Connection per ogni LOGO ?

Si ogni LOGO ha un indirizzo diverso e l'indirizzo è uno dei parametri della connessione.

 

Quote

Io ne ho gia' 4 di Logo da collegare e prevedo di arrivare a decine; riusciro' a gestire bene la cosa ?

Assolutamente no.

Non ricordo d quante risorse di comunicazione (cioè di quante connessioni attive contemporaneamente) dispone S71200, ma non sono decine.

Hai bisogno di uno o più (max 3) processori di comunicazione tipo CP1243-1 il quale ha 8 risorse S7 GET/PUT.

 

Con 3 CP hai 24 risorse + quelle (rimanenti) della CPU.

 

Se pensi che possano non bastarti considera un cambio di architettura prevedendo un mini PC magari.

 

Link al commento
Condividi su altri siti

Ma io al massimo comunichero' con un Logo alla volta... questo volge a mio favore ?

...non avevo capito che ho un numero limitato di PUT (non ho letto nessun manuale a dire il vero poiche' pensavo che quello che sto costruendo era banale).

 

 

Link al commento
Condividi su altri siti

Non puoi creare dinamicamente una connessione di tipo S7 (GET/PUT), la devi progettare e poi trasferire tutto nella CPU.

Al PLC non interessa che tu le utilizzi una alla volta o tutte contemporaneamente e nemmeno se comunichi una volta ogni anno, lui deve comunque impegnare N risorse di comunicazione.

Ad ogni risorsa è assegnato un partner (che può anche essere unspecified) ma soprattutto un protocollo ed un endpoint (l'indirizzo IP).

 

Inoltre, quando ti parlavo delle risorse "rimanenti" sulla CPU mi riferivo al fatto che anche il pannello operatore ed il PC con cui ti connetti occupano una risorsa ciascuno.

 

Piccolo inciso sui manuali, le cose ci sono ma sono molto dispersivi e a volte bisogna prendere le informazioni da varie fonti e poi fare lo XOR delle informazioni.

Ad esempio, su questo forum ed altri continuo a leggere di pannelli HMI collegati in profinet che è una bestialità abbissale, ma la colpa è di Siemens che nelle brochures confonde il media con il protocollo.

 

Link al commento
Condividi su altri siti

Ok Dan64100, quindi da quanto mi dici non potro' nemmeno creare la quarta connessione S7 nel mio progetto perche' il sistema non me lo consentira'... (dopo il tuo post ho cercato in giro ed ho trovato che il numero massimo di connessioni S7 e' 3 ...pero' si parla di connesioni contemporanee).

 

...Comunque questa sera per curiosita' voglio provare.

 

Grazie.

 

Over

 

Link al commento
Condividi su altri siti

Quote

...Comunque questa sera per curiosita' voglio provare.

Assolutamente si :thumb_yello:

 

Già dal progetto prova ad aggiungere altre connessioni a PLC fittizi (inventati degli IP compatibili) e vedi quando ti ferma.

S7Manager avvisava al raggiungimento delle risorse.

 

C'è una soluzione davvero lercia, potresti invertire il verso delle connessioni:

Nel PLC S71200 non progetti niente e lo usi quindi come server. Nei LOGO progetti le connessioni come "attive".

 

La sostanza non cambia, il PLC automaticamente disconnette le connessioni in eccesso però il firmware del LOGO tenterà automaticamente di riconnettersi.

Se le trasmissioni sono abbastanza sfalsate potrebbe funzionare ma, ripeto, è una soluzione bruttissima che gioca sul recupero degli errori (ed è tutta da verificare).

 

Comunque facci sapere ;)

 

Link al commento
Condividi su altri siti

Mi piacerebbe approfondire un po meglio la "soluzione lercia"... nel frattempo mi sono sbizzarrito creando connessioni S7 a go-go.

 

Il risultato e' che c'e' una sorta di limite a 14 connessioni (numero strano) ovvero da id 100 ad id 10D. Dico "una sorta" perche' se uno vuole crea anche la successiva ma poi alcuni campi nelle proprieta' della ulteriore connessione non si riesce a compilarli. 

 

Ho creato per ogni connessione un nuovo blocco "PUT" avendo cura di mettere l'id giusto per ogni blocco (ne' o creati 5); ho compilato senza errori e caricato sulla S7-1212 senza problemi. Per la parte che riesco a collaudare fisicamente ho visto che c'e' risposta dal Logo.

 

Piuttosto sto lottando con un problema del blocco PUT : ho visto che gran parte degli esempi sul web utilizza un flag che blinka come trigger per il blocco PUT e questo forse puo risolvere problemi altrui... non il mio.

 

In sostanza io vorrei triggerare il PUT mettendo ad 1 un flag (ad es. DB100.DBX10.0) che poi una volta che il blocco PUT mi da il DONE vorrei resettare.

Il "DONE" io lo memorizzo appena accade su un altro flag (ad es. M10.0) e poi se (in AND) mi ritrovo il flag di trigger (DB100.DBX10.0) ed il M10.0, resetto M10.0 e  DB100.DBX10.0.

Sta di fatto che 3 volte su 4 il tutto funziona e la quinta volta il trigger DB100.DBX10.0 mi rimane alto e la situazione si blocca. Qualcuno sa dirmi perche' ?

Sia M10.0 che DB100.DBX10.0 non sono utilizzati in altri punti del blocco/i.

 

Il perche' di tutto questo teatrino e' perche' vorrei che ogni Logo "figlio" possa vivere di vita propria e che gli vengano solo modificati i parametri rarissime volte dalla S7-1200 con una azione intenzionale da interfaccia web.  

 

Grazie.

 

over

 

Link al commento
Condividi su altri siti

Quote

ho visto che gran parte degli esempi sul web utilizza un flag che blinka come trigger per il blocco PUT

E' il classico esempio di fuga di cervelli.

Il cervello è fuggito all'estero ed il programmatore è rimasto in Siemens a scrivere gli esempi, è scandaloso usare Merkers, Timers di sistema e blink bit per le comunicazioni.

 

Quote

Qualcuno sa dirmi perche' ?

Seleziona il blocco e premi F1  :thumbdown:

 

Non basta controllare il DONE, devi controllare anche STATUS e ERROR.

DONE è alto solo se il trasferimento è avvenuto con successo.

 

REQ lo devi abbassare quando DONE è alto oppure ERROR<>0 oppure STATUS=11

Nel primo caso è tutto OK, nel secondo c'è stato un errore ed in STATUS trovi il codice, nel terzo abortisci l'operazione e riprovi (se usi una macchina a stati e chiami PUT una volta sola non dovrebbe mai succederti).

 

Per pervenire la prossima domanda: LOGO è poco più che un giocattolo, non sempre le comunicazioni vanno a buon fine.

 

Link al commento
Condividi su altri siti

...Parto dalla fine :

Quote

Per pervenire la prossima domanda: LOGO è poco più che un giocattolo, non sempre le comunicazioni vanno a buon fine.

 

Mi deve fungere da "poco piu' di un giocattolo" ovvero da "programmatore settimanale" che vorrei poter gestire da remoto con una pagina web.

 

In merito al resto, usero' il tasto F1 ed i tuoi suggerimenti, pero' , a tutta la pappardella che avevo scritto aggiungo che ho osservato la "S7Connection" col Logo ed ho osservato che una volta ogni 7-8 secondi mi va via indicandomi per breve tempo il messaggio : 

 

"faulty: Configured static ISO-on-TCP connection. Connection is disconnected..." ecc. 

 

La disconnessione dura 2-3 secondi , nemmeno il tempo di copiare ed incollare il testo.

Logico che se io utilizzassi il sistema del merker che blinka non mi accorgerei del problema ma mi vorrei concentrare su una soluzione come quella che mi suggerisci tu.

 

P.S. ho notato visualizzando lo stato delle variabili che lo STATUS talvolta assume valore 25 in alcuni momenti subito dopo il REQ, mentre per il resto del tempo rimane a 0. 

 

over

 

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...