|
Descrizione Le CPU con interfaccia PROFINET integrata e WinAC RTX supportano la comunicazione aperta tramite Industrial Ethernet.
L'articolo con ID 18909487 contiene una panoramica dei servizi di comunicazione supportati dalle CPU con interfaccia PROFINET integrata e da WinAC RTX. La panoramica contiene informazioni sui protocolli di comunicazione aperta tramite Industrial Ethernet supportati dalle CPU con interfaccia PROFINET integrata e da WinAC RTX.
Per la comunicazione aperta tramite Industrial Ethernet mediante protocollo TCP sono disponibili i seguenti blocchi di comunicazione:
- FB65 "TCON" per la creazione della connessione;
- FB66 "TDISCON" per l'abbattimento della connessione;
- FB63 "TSEND" per l'invio di dati;
- FB64 "TRCV" per la ricezione di dati.
Questi blocchi di comunicazione si trovano in Standard Library -> Communication Blocks
Copiare la versione aggiornata dei blocchi funzionali sopra indicati dalla libreria standard nel programma applicativo e richiamarla nello stesso.
I parametri di connessione per la realizzazione della connessione TCP sono memorizzati in una struttura dati.
In questo esempio si utilizza la struttura dati UDT65 "TCON_PAR", che viene parametrizzata dall'utente stesso. La connessione TCP non viene configurata in NetPro.
Descrizione dell'esempio di programma Il programma S7 contiene il richiamo di FB65 "TCON" e la struttura dati UDT65 "TCON_PAR" con i parametri di connessione per la creazione della connessione TCP. Inoltre il programma S7 contiene il richiamo dei blocchi di comunicazione FB63 "TSEND" e FB64 "TRCV" dalla Standard Library -> Communication Blocks. L’FB63 "TSEND" serve per l'invio di dati a una stazione S7 oppure S5, a una stazione PC o a un sistema di terzi. FB64 "TRCV" serve per la ricezione dei dati da una stazione S7 oppure S5, una stazione PC oppure un sistema di terzi.
Creare per prima cosa la configurazione hardware della stazione S7-300. Fare attenzione a configurare il byte di merker 10 come merker di clock. Tramite questo merker di clock viene avviato il job di trasmissione. Memorizzare e compilare la configurazione hardware della stazione S7-300 e caricarla nella CPU.
Il programma STEP 7 è costituito dai blocchi OB100, OB1, FB300, DB300, FC97, UDT65 e FB63, FB64, FB65 e FB66.
OB100 OB100 è un OB di avvio e viene eseguito a un nuovo avviamento (warm start) della CPU. In questo OB viene impartita con il merker M0.3 l'autorizzazione per l'inizializzazione della comunicazione.
OB1 L’OB1 viene richiamato ciclicamente. In questo OB si trova il richiamo dell'FB300 con il blocco dati di istanza DB300 e con il merker M0.3 come parametro INIT_COM. Il merker M0.3 viene resettato nell'OB1 dopo il richiamo dell'FB300.

Figura 01
FB300 FB300 viene richiamato ciclicamente nell'OB1.
In questo FB300 si trova il richiamo della funzione FC97 "SET_TCP_ENDPOINTx" e dei blocchi funzionali FB65 "TCON", FB63 "TSEND", FB64 "TRCV" e FB66 "TDISCON".

Figura 02
Sui parametri d'ingresso della funzione FC97 "SET_TCP_ENDPOINTx" vengono definiti i parametri locali e remoti della connessione TCP.
| Parametri di ingresso |
Tipo di dati |
Descrizione |
| ID |
Word |
Numero connessione |
| DEV_ID |
Byte |
"local_device_id" dell'interfaccia tramite la quale viene creata la connessione TCP con l'FB65 "TCON".
L'articolo con ID 51339682 contiene informazioni sui "local_device_id" da inserire nel parametro d'ingresso DEV_ID per creare con l'FB65 "TCON" una connessione TCP per la comunicazione aperta tramite Industrial Ethernet. |
| ACTIV |
Bool |
0 = creazione passiva della connessione
1 = creazione attiva della connessione |
| LOC_PORT |
DInt |
Porta locale nella CPU.
Nel manuale "Software di sistema per S7-300/400 Funzioni standard e di sistema Volume 1 e Volume 2", capitolo 24.2, sono riportate le informazioni sui numeri delle porte ammesse per TCP e UDP. Il manuale è disponibile per il download all'articolo con ID 44240604. |
| REM_PORT |
DInt |
Porta remota del partner di comunicazione.
Nel manuale "Software di sistema per S7-300/400 Funzioni standard e di sistema Volume 1 e Volume 2", capitolo 24.2, sono riportate le informazioni sui numeri delle porte ammesse per TCP e UDP. Il manuale è disponibile per il download all'articolo con ID 44240604.
Avvertenza Se la CPU partecipa passivamente alla realizzazione della connessione, ovvero se ACTIV=0, la porta remota del partner di comunicazione non deve essere indicata, ovvero si definisce REM_PORT=0. |
| IP_ADDR1 |
Int |
Indirizzo IP del partner di comunicazione.
Avvertenza Se la CPU partecipa passivamente alla realizzazione della connessione, ovvero se ACTIV=0, l'indirizzo IP del partner di comunicazione non deve essere indicato, ovvero si definisce IP_ADDR1=0, IP_ADDR2=0, IP_ADDR3=0 e IP_ADDR4=0. |
| IP_ADDR2 |
Int |
| IP_ADDR3 |
Int |
| IP_ADDR4 |
Int |
Avvertenza Il numero di connessione viene indicato nella rete 2 dell'FB300. Esso viene memorizzato in una variabile statica e pertanto nel DB di istanza DB300.

Figura 03
La realizzazione della connessione viene avviata con un fronte di salita sul parametro d'ingresso "REQ" di FB65 "TCON". La struttura dati UDT65 "TCON_PAR" con la parametrizzazione della connessione è incorporata nel blocco dati di istanza dell'FB300.
Sul parametro d'ingresso "CONNECT" dell'FB65 "TCON" viene indicata l'area di memoria che contiene la parametrizzazione della connessione.
La connessione viene realizzata all'avvio del sistema e permane fino a quando ad esempio non viene abbattuta specificamente con l'FB66 "TDISCON", la CPU va in STOP oppure non viene disinserita l'alimentazione.

Figura 04
Il job di trasmissione viene avviato con un fronte di salita sul parametro d'ingresso "REQ" dell'FB63 "TSEND". L'avvio del job di trasmissione viene pilotato con il merker di clock M10.6 e la variabile "C1.SEND_BUSY". Quando il job di trasmissione è in esecuzione, "C1.SEND_BUSY" è impostata. In questo modo non è possibile l'avvio di un nuovo job di trasmissione.
Sul parametro d'ingresso "DATA" si indica l'area di memoria che contiene i dati da trasmettere.
Sul parametro d'ingresso "LEN" viene registrato il numero dei byte da trasmettere.
I parametri di uscita "DONE", "ERROR" e "STATUS" sono necessari per l'analisi del job.

Figura 05
Se il job di trasmissione si è concluso con successo, la variabile "C1.SEND_BUSY" viene resettata. In questo modo è possibile avviare un nuovo job di trasmissione.
Se il job di trasmissione si è concluso con errore, "C1.SEND_BUSY" viene resettata e il valore del parametro di uscita "STATUS" dell'FB63 viene salvato per un'analisi dell'errore.

Figura 06

Figura 07
Non appena viene stabilita la connessione TCP, è possibile ricevere i dati.
Nel parametro d'ingresso "DATA" vengono indicati l'indirizzo e la lunghezza del campo dati in cui vengono memorizzati i dati ricevuti.

Figura 08
Il parametro di uscita "NDR" assicura la visualizzazione della ricezione di nuovi dati. Il parametro di uscita "LEN" indica la lunghezza dei dati ricevuti.
Se i dati non sono stati ricevuti con successo, il valore del parametro di uscita "STATUS" viene salvato e analizzato.

Figura 09
Con l'FB66 "TDISCON" è possibile abbattere in modo mirato la connessione TCP. Il job per l'abbattimento della connessione TCP viene avviato con un fronte di salita sul parametro d'ingresso "REQ" dell'FB66 "TDISCON".

Figura 10
Avvertenza In questo esempio di programma viene utilizzato il protocollo TCP per la trasmissione dei dati, ovvero nella parametrizzazione UDT65 il parametro "connection_type" è definito con il valore "B#16#11".
Le CPU S7-300 V2.3 supportano il protocollo TCP (modo compatibilità). Per utilizzare l'esempio di programma su una CPU S7-300 V2.3, occorre modificare, nella parametrizzazione UDT65, il parametro "connection_type" con il valore "B#16#01".
Il progetto STEP 7 come download Il progetto STEP7 contiene un esempio di programma per il richiamo dell'FB300 e inoltre la funzione FC97 "SET_TCP_ENDPOINTx", i blocchi FB65 "TCON", FB66 "TDISCON", FB63 "TSEND" e FB64 "TRECV" con analisi dello stato. Esso è stato creato con STEP 7 V5.5.
Sample_open_TCP.zip ( 46 KB )
Configurazione di ulteriori connessioni TCP Per la configurazione di ulteriori connessioni TCP copiare l'FB300, in modo da ottenere un ulteriore blocco funzionale (p. es. FB301). Modificare i parametri e generare un nuovo blocco dati di istanza.
Altre informazioni
- Per maggiori informazioni sulla comunicazione aperta mediante Industrial Ethernet, consultare il manuale "Software di sistema per S7-300/400 Funzioni standard e di sistema Volume 1 e Volume 2" nell'articolo con ID: 44240604.
- Le istruzioni per la progettazione di una connessione TCP per la comunicazione tramite Industrial Ethernet CP S7-300 e S7-400 sono riportate nell'articolo con ID: 22385024.
|