|
Descrizione Per lo scambio dati tramite l'interfaccia PROFINET integrata di una CPU oppure tramite CP443-1 Advanced si può utilizzare tra l'altro la comunicazione aperta tramite Industrial Ethernet. Sono supportati i seguenti protocolli:
Per la comunicazione aperta tramite Industrial Ethernet mediante protocollo ISO-on-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 dalla libreria standard nel programma applicativo e richiamarla nello stesso.
I parametri di connessione per la realizzazione della connessione ISO-on-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 ISO-on-TCP non viene parametrizzata 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 realizzazione della connessione ISO-on-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, S5, una stazione PC o 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, FB400, DB400, FB420, 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'FB400 con il blocco dati di istanza DB400 e con il merker M0.3 come parametro INIT_COM. Il merker M0.3 viene resettato nell'OB1 dopo il richiamo dell'FB400.

Figura 01
FB400 FB400 viene richiamato ciclicamente nell'OB1. In FB400 vengono richiamati i seguenti blocchi funzionali:
- FB420 "SET_ISO_PARAM";
- FB65 "TCON";
- FB63 "TSEND";
- FB64 "TRCV";
- FB66 "TDISCON".

Figura 02
Sui parametri d'ingresso del blocco funzionale FB420 "SET_ISO_PARAM" vengono definiti i parametri locali e remoti della connessione ISO-on-TCP.
| Parametri di ingresso |
Tipo di dati |
Descrizione |
| ID |
Word |
Numero connessione |
| DEV_ID |
Byte |
B#16#0 per CP443-1 Adv
B#16#1 per CPU IM151-8 PN/DP oppure B#16#2 per CPU 31x-2PN/DP, IM154-8 CPU o
B#16#3 per CPU 319-3PN/DP oppure
B#16#5 per CPU 412-2 PN, CPU 414-3 PN/DP, CPU 416-3 PN/DP |
| ACTIV |
Bool |
true = creazione attiva della connessione
false = creazione passiva della connessione |
| TSAP |
Struct |
TSAP locale nella CPU e TSAP remoto del partner di comunicazione |
| IP_ADDR1 |
Int |
Indirizzo IP del partner di comunicazione |
| IP_ADDR2 |
Int |
| IP_ADDR3 |
Int |
| IP_ADDR4 |
Int |
Il parametro d'ingresso "TSAP" del tipo di dati Struct è strutturato come segue:
| Parametro |
Tipo di dati |
Descrizione |
| LOC_RACK_SLOT |
Byte |
B#16#0: i primi 2 byte dello TSAP locale non sono definiti con i valori 0xE0 (hex) e 0x02 (hex).
B#16#2: i primi 2 byte dello TSAP locale sono definiti come segue:
- Byte 0: 0xE0(hex);
- Byte 1: 0x02(hex).
|
| LOC_TSAP |
String |
- TSAP locale (punto terminale della connessione);
- la stringa ASCII definita dall'utente ha i seguenti valori: 'TCP-1'.
|
| CP_RACK_SLOT |
Byte |
Specificare il rack e lo slot del CP quando la comunicazione ha luogo tramite un CP443-1 Advanced. |
| REM_RACK_SLOT |
Byte |
B#16#0: I primi 2 byte dello TSAP nel partner di comunicazione non sono definiti con i valori 0xE0 (hex) e 0x02 (hex).
B#16#2: I primi 2 byte dello TSAP nel partner di comunicazione sono definiti come segue:
- Byte 0: 0xE0(hex);
- Byte 1: 0x02(hex).
|
| REM_TSAP |
String |
- TSAP (punto terminale della connessione) nel partner di comunicazione;
- La stringa ASCII definita dall'utente ha i seguenti valori: 'TCP-1'.
|
Per la comunicazione aperta tramite interfaccia PROFINET integrata di una CPU per mezzo del protocollo ISO-on-TCP i primi 2 byte del TSAP locale sono definiti come segue:
- Byte 0: 0xE0 (hex);
- Byte 1: 0x02 (hex).
Il valore 0x02 (hex) definisce il rack e lo slot della CPU.
Avvertenza Se la CPU supporta il formato ASCII per i TSAP, i primi 2 byte del TSAP locale non devono essere definiti con i valori 0xE0 e 0x02.
Le seguenti CPU supportano il formato ASCII per i TSAP.
- CPU 315-2 PN DP, CPU 317-2 PN/DP V3.1 e successive
- CPU 319-3 PN/DP V2.7 e successive
- CPU 414-3 PN/DP, CPU 416-3 PN/DP V5.2 e successive
- CPU 412-2 PN da V6.0
- IM 151-8 PN/DP CPU V2.7 e successive
- IM 154-8 CPU V3.2 e successive
Definizione di TSAP locale e TSAP nel partner di comunicazione Nel seguente esempio vengono utilizzati i seguenti TSAP (punti terminali della connessione):
| |
TSAP locale nella CPU |
TSAP remoto del partner di comunicazione |
| Valore iniziale (ASCII) |
TCP-1 |
TCP-1 |
| Valore iniziale (esadecimale) |
E0.02.54.43.50.2D.31 |
54.43.50.2D.31 |
Nella parametrizzazione dell'interfaccia dell'FB400 modificare il valore dello TSAP locale e remoto in base alla configurazione (vedi figura 04). Nella struttura "T_TSAP" per i parametri "LOC_TSAP" e "REM_TSAP" immettere come valore iniziale lo TSAP locale e remoto della configurazione.
Se i primi 2 byte dello TSAP locale nella CPU devono essere definiti con i valori 0xE0 e 0x02, modificare la parametrizzazione dell'interfaccia dell'FB400. Nella struttura "T_TSAP" definire per il parametro "LOC_RACK_SLOT" il valore iniziale "B#16#2".
Se i primi 2 byte dello TSAP i devono essere definiti con i valori 0xE0 e 0x02, modificare la parametrizzazione dell'interfaccia dell'FB400. Nella struttura "T_TSAP" definire per il parametro "REM_RACK_SLOT" il valore iniziale "B#16#2".

Figura 03
Definizione del numero della connessione Il numero della connessione può essere modificato singolarmente. Adeguare il numero della connessione nella rete 2 dell'FB400 in base alla propria configurazione. Il numero della connessione è memorizzato in una variabile statica e quindi nel blocco dati di istanza DB400.
In questo esempio viene definito il numero della connessione "1".

Figura 04
Creazione della connessione La creazione 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'FB400.
Sul parametro d'ingresso "CONNECT" dell'FB65 "TCON" viene indicata l'area di memoria che contiene la parametrizzazione della connessione.
La connessione viene creata all'avvio del sistema e permane fino a quando ad esempio viene abbattuta specificamente con l'FB66 "TDISCON", la CPU va in STOP oppure viene disinserita l'alimentazione.

Figura 05
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" è impostato. 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 06
Se il job di trasmissione si è concluso con successo, "C1.SEND_BUSY" è 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 07

Figura 08
Non appena viene stabilita la connessione ISO-on-TCP, è possibile ricevere i dati.
Sui parametri d'ingresso "DATA" e "LEN" vengono indicati l'indirizzo e la lunghezza del campo dati in cui vengono memorizzati i dati ricevuti.

Figura 09
Il parametro di uscita "NDR" assicura la visualizzazione della ricezione di nuovi dati. Il parametro di uscita RCVD_LEN indica la lunghezza dei dati ricevuti.
Se i dati sono stati ricevuti con successo, il valore del parametro di uscita "RCVD_LEN" viene salvato.

Figura 10
Se i dati non sono stati ricevuti con successo, il valore del parametro di uscita "STATUS" viene salvato ed analizzato.

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

Figura 12
Il progetto STEP 7 come download Il progetto STEP 7 contiene un esempio di programma per il richiamo dell'FB400 "TSEND_TRECV_ISO1" e inoltre i blocchi funzionali FB420 "SET_ISO_PARAM", FB65 "TCON", FB66 "TDISCON", FB63 "TSEND" e FB64 "TRECV" con analisi dello stato. Esso è stato creato con STEP 7 V5.4 SP5.
Sample_open_ISO.zip ( 52 KB )
Configurazione di ulteriori connessioni ISO-on-TCP Per la configurazione di ulteriori connessioni ISO-on-TCP copiare l'FB400, in modo da ottenere un ulteriore blocco funzionale (p. es. FB401). 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 ISO-on-TCP per la comunicazione tramite CP S7-300 e S7-400 sono riportate nell'articolo con ID: 47885440.
|