visualizza l'elenco degli articoli

ET 200pro -- Progettazione e programmazione della comunicazione -- Utilizzo dei blocchi di comunicazione 
Quali limitazioni ci sono per i job attivi nella comunicazione con SFC 58 / SFC 59 opp. SFB 52 / SFB 53 tramite PROFIBUS DP opp. PROFINET IO? 
Come vengono programmati i blocchi di comunicazione FB63 "TSEND", FB64 "TRCV", FB65 "TCON" e FB66 "TDISCON", per utilizzare il protocollo TCP per lo scambio dati tramite l'interfaccia PROFINET integrata di una CPU S7-300 o S7-400? 
Come vengono programmati i blocchi di comunicazione FB63 "TSEND", FB64 "TRCV", FB65 "TCON" e FB66 "TDISCON", per utilizzare il protocollo ISO-on-TCP per lo scambio dati tramite l'interfaccia PROFINET integrata di una CPU oppure tramite CP443-1 Advanced? 
Come vengono programmati i blocchi di comunicazione FB67 "TUSEND", FB68 "TURCV", FB65 "TCON" e FB66 "TDISCON", per utilizzare il protocollo UDP per lo scambio dati tramite l'interfaccia PROFINET integrata di una CPU? 

Quali limitazioni ci sono per i job attivi nella comunicazione con SFC 58 / SFC 59 opp. SFB 52 / SFB 53 tramite PROFIBUS DP opp. PROFINET IO?Vai all'inizio
Numero di ordinazione:

Avvertenze di configurazione
Con le funzioni opp. blocchi di sistema SFB52 "RDREC" / SFC59 "RD_REC" (read record) vengono letti i record di dati di un componente (unità opp. modulo) di un slave DP/PROFINET IO-Devices. Con le funzioni opp. blocchi di sistema
SFB53 "WRREC" / SFC58 "WR_REC" (write record) vengono trasferiti record di dati ad un componente (unità opp. modulo) di uno slave DP/PROFINET IO-Device.

In funzione delle CPU impiegata sussistono limitazioni sul numero dei job attivi delle funzioni opp. blocchi di sistema SFB53/SFC58 opp. SFB52/SFC59.

Nella tabella seguente si trovano informazioni su quanti job attivi delle funzioni opp. blocchi di sistema SFB53/SFC58 opp. SFB52/SFC59 vengono supportati contemporaneamente dalla CPU in uso.
 

Funzione/Blocco di sistema

SFB 52 "RDREC"/
SFB 53 "WRREC"

SFC 59 "RD_REC"/
SFC 58 "WR_REC"

Significato

Record di dati da DP-Slave, PROFINET IO-Device

Record di dati da DP-Slave

IM154 (ET 200pro)
IM151 (ET 200S)
IM147 (ET 200X)

4 job insieme con SFC 58/59

4 job insieme con SFB 52/53

CPU 312, CPU 313, CPU 314
CPU 315, CPU 316

4 job insieme con SFC 58/59

4 job insieme con SFB 52/53

CPU 317, CPU 319
CPU 318-2

8 job insieme con SFC 58/59

8 job insieme con SFB 52/53

CPU 41x1)

ciascuna 8 job per ogni ramo PROFIBUS DP opp. PROFINET IO-System

ciascuna 8 job per ogni ramo PROFIBUS DP opp. PROFINET IO-System

1) Il numero di job attivi contemporanei su rami PROFIBUS DP esterni opp. sistemi PROFINET IO non può superare in somma 32 job per SFC/SFB.

Esempio
Con una CPU 414-2DP si possono eseguire contemporaneamente max. 48 job per ogni SFC/SFB (8 ciascuno su entrambi i rami PROFIBUS DP, che sono collegati alle interfacce integrate dalla CPU e 32 su rami PROFIBUS DP e sistemi PROFINET IO esterni).

Regole

  • All'interno del telaio (CR, ER) non c'è alcuna limitazione sulla contemporaneità dei job. Tramite il bus dell'apparecchiatura gli SFC vengono eseguiti in modo sincrono. SFC sincroni possono essere richiamati in un numero "qualsiasi".  
  • Se sulla rete PROFIBUS sono in esercizio più partner di comunicazione, allora fare attenzione che non siano mai attivi contemporaneamente più dei job indicati. Ricordare che un SFC/SFB può essere eseguito durante più cicli CPU.
  • Le limitazioni elencate in questo articolo per i job attivi delle funzioni opp. blocchi di sistema SFB53/SFC58 opp. SFB52/SFC59 valgono anche per i blocchi che internamente richiamano queste funzioni opp. blocchi di sistema. Tra questi ad esempio i blocchi FM_CS, PID_FM e FMCS_PID.
    Esempio
    Nella comunicazione con una FM 355 (4 canali parametrizzati) tramite il blocco FMCS_PID vengono occupati 4 job di lettura attivi.

Avvertenza
Le funzioni di sistema SFC58/59 sono disponibili su tutte le CPU.

Come vengono programmati i blocchi di comunicazione FB63 "TSEND", FB64 "TRCV", FB65 "TCON" e FB66 "TDISCON", per utilizzare il protocollo TCP per lo scambio dati tramite l'interfaccia PROFINET integrata di una CPU S7-300 o S7-400?Vai all'inizio
Numero di ordinazione:

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.
Come vengono programmati i blocchi di comunicazione FB63 "TSEND", FB64 "TRCV", FB65 "TCON" e FB66 "TDISCON", per utilizzare il protocollo ISO-on-TCP per lo scambio dati tramite l'interfaccia PROFINET integrata di una CPU oppure tramite CP443-1 Advanced?Vai all'inizio
Numero di ordinazione:

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:

  • TCP;
  • ISO-on-TCP;
  • UDP.

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.

Come vengono programmati i blocchi di comunicazione FB67 "TUSEND", FB68 "TURCV", FB65 "TCON" e FB66 "TDISCON", per utilizzare il protocollo UDP per lo scambio dati tramite l'interfaccia PROFINET integrata di una CPU?Vai all'inizio
Numero di ordinazione:

Descrizione
Per lo scambio dati tramite l'interfaccia PROFINET integrata di una CPU si può utilizzare tra l'altro la comunicazione aperta tramite Industrial Ethernet. Vengono supportati i seguenti protocolli:

  • TCP;
  • ISO-on-TCP;
  • UDP.

Per la comunicazione aperta tramite Industrial Ethernet mediante Protocollo UDP sono disponibili i seguenti blocchi di comunicazione:

  • FB65 "TCON" per la predisposizione del punto terminale UDP;
  • FB66 "TDISCON" per la disinserzione del punto terminale UDP;
  • FB67 "TUSEND" per l'invio di dati;
  • FB68 "TURCV" per la ricezione di dati.

Questi blocchi di comunicazione si trovano nella 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 per la predisposizione del punto terminale UDP sono memorizzati in una struttura dati. In questo esempio si utilizza la struttura dati UDT65 "TCON_PAR", che viene parametrizzata dall'utente stesso. Nessuna connessione viene configurata in NetPro.

Descrizione dell'esempio di programma
Il programma S7 contiene il richiamo dell'FB65 "TCON" e la struttura dati UDT65 "TCON_PAR" con i parametri per la predisposizione del punto terminale UDP. Inoltre il programma S7 contiene il richiamo dei blocchi di comunicazione FB67 "TUSEND" e FB68 "TURCV" dalla Standard Library -> Communication Blocks. L'FB67 "TUSEND" serve per l'invio di dati a una stazione S7, a una stazione PC o a un sistema di terzi. L'FB68 "TURCV" serve per la ricezione dei dati da una stazione S7, 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, FB500, DB500, FC95, FC96, UDT65, UDT66 e FB63, FB64, FB67 e FB68.

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'FB500 con il blocco dati di istanza DB500 e con il merker M0.3 come parametro INIT_COM. Il merker M0.3 viene resettato nell'OB1 dopo il richiamo dell'FB500.


Figura 01

FB500
FB500 viene richiamato ciclicamente nell'OB1.

In questo FB500 si trova il richiamo delle funzioni FC95 "SET_UDP_REMOTE" e FC96 "SET_UDP_ENDPOINT" e dei blocchi funzionali FB65 "TCON", FB67 "TUSEND", FB68 "TURCV" e FB66 "TDISCON".


Figura 02

Sui parametri d'ingresso della funzione FC96 "SET_UDP_ENDPOINT" vengono definiti i parametri del punto terminale UDP locale.
 
Parametri di ingresso Tipo di dati Descrizione
ID Word Numero connessione
DEV_ID Byte B#16#01 per la IM151-8 PN/DP CPU
B#16#02 per la CPU 31x-2PN/DP, IM154-8 CPU
B#16#03 per la CPU 319-3PN/DP
B#16#05 per la CPU 412-2PN, CPU 414-3 PN/DP, CPU 416-3 PN/DP
LOC_PORT DInt Porta locale nella CPU
-Numeri delle porte ammissibili per CPU S7-300 fino alla V2.6 inclusa e CPU S7-400 fino alla V5.1 inclusa: da 2000 a 5000
-Numeri delle porte ammissibili per CPU S7-300 a partire dalla V2.7 e CPU S7-400 a partire dalla V5.2: da 1 a 49151


Figura 03

Sui parametri d'ingresso della funzione FC95 "SET_UDP_REMOTE" vengono definiti i parametri del punto terminale UDP remoto.
 
Parametri di ingresso Tipo di dati Descrizione
REM_PORT DInt Porta remota del partner di comunicazione
-Numeri delle porte ammissibili per CPU S7-300 fino alla V2.6 inclusa e CPU S7-400 fino alla V5.1 inclusa: da 2000 a 5000
-Numeri delle porte ammissibili per CPU S7-300 a partire dalla V2.7 e CPU S7-400 a partire dalla V5.2: da 1 a 49151
IP_ADDR1 Int  Indirizzo IP del partner di comunicazione
IP_ADDR2 Int
IP_ADDR3 Int
IP_ADDR4 Int

Avvertenza
Il numero di connessione viene indicato nella rete 2 dell'FB500. Esso viene memorizzato in una variabile statica e pertanto nel DB di istanza DB500.


Figura 04

La predisposizione del punto terminale UDP viene avviata con un fronte di salita sul parametro d'ingresso "REQ" di FB65 "TCON". La struttura dati UDT65 "TCON_PAR" con la parametrizzazione del punto terminale UDP locale è incorporata nel blocco dati di istanza dell'FB500.
Sul parametro d'ingresso "CONNECT" dell'FB65 "TCON" viene indicata l'area di memoria che contiene la parametrizzazione del punto terminale UDP locale.
La predisposizione del punto terminale UDP avviene all'avvio del sistema e permane fino a quando ad esempio viene disinserito specificamente con l'FB66 "TDISCON", la CPU va in STOP oppure viene disattivata l'alimentazione.


Figura 05

Il job di trasmissione viene avviato con un fronte di salita sul parametro d'ingresso "REQ" dell'FB67 "TUSEND". 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.
Sul parametro d'ingresso "ADDR" si indica l'area dati in cui è memorizzato l'indirizzo IP del ricevente. In questo esempio i parametri di indirizzamento del partner di comunicazione sono memorizzati nella struttura dati UDT66 "TADDR_PAR". Questa è incorporata nel blocco dati di istanza DB500.
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 ed il valore del parametro di uscita "STATUS" dell'FB67 viene salvato per un'analisi dell'errore.


Figura 07


Figura 08

Non appena il punto terminale UDP è predisposto, è possibile ricevere i dati.
Sul parametro d'ingresso "DATA" vengono indicati l'indirizzo e la lunghezza del campo dati in cui vengono memorizzati i dati ricevuti.
Sul parametro d'ingresso "ADDR" si indica l'area dati in cui è memorizzato l'indirizzo IP del trasmettitore. In questo esempio i parametri di indirizzamento del partner di comunicazione sono memorizzati nella struttura dati UDT66 "TADDR_PAR". Questa è incorporata nel blocco dati di istanza DB500.


Figura 09

Il parametro di uscita "NDR" serve come 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.
Se i dati non sono stati ricevuti con successo, il valore del parametro di uscita "STATUS" viene salvato ed analizzato.


Figura 10

Con l'FB66 "TDISCON" è possibile disinserire in un modo mirato il punto terminale UDP. Il job per la disinserzione del punto terminale UDP viene avviato con un fronte di salita sul parametro d'ingresso "REQ" dell'FB66 "TDISCON".


Figura 11

Il progetto STEP 7 come download
Il progetto STEP7 contiene un esempio di programma per il richiamo dell'FB500 e inoltre le funzioni FC95 "SET_UDP_ENDPOINT", FC96 "SET_UDP_REMOTE", i blocchi FB65 "TCON", FB66 "TDISCON", FB67 "TUSEND" e FB68 "TURECV" con analisi dello stato. Esso è stato creato con STEP 7 V5.4 SP3.

Sample_open_UDP.zip ( 44 KB )

Configurazione di ulteriori connessioni UDP
Per inviare i datagrammi UDP a più partner di comunicazione, configurare altri punti terminali UDP locali e remoti. Copiare l'FB500, in modo da ottenere altri blocchi funzionali (p. es. FB501). Modificare i parametri del punto terminale UDP locale e remoto e generare nuovi blocchi dati di istanza.

L'ID del punto terminale UDP locale può essere scelto liberamente nel campo dei valori da 1 a 4095.
La porta locale e remota può essere scelta liberamente nel campo dei valori da 1 a 49151 per CPU S7-300 a partire dalla V2.7 e CPU S7-400 a partire dalla V5.2.

L'ID e la porta devono essere univoci per ogni punto terminale UDP locale, ovvero per ogni punto terminale UDP locale è necessario definire un ID e una porta diversi.

Definire la porta remota e l'indirizzo IP in conformità alla progettazione del partner di comunicazione.

La tabella seguente mostra un esempio per la configurazione di più punti terminali UDP locali e remoti. In questo esempio viene utilizzato lo stesso ID e la stessa porta per locale e remoto.
 
Punto terminale UDP locale/remoto 1 2 3
ID 1 2 3
LOC_PORT 2000 2001 2002
REM_PORT 2000 2001 2002
Indirizzo IP del partner di comunicazione 172.16.43.40 172.16.43.50 172.16.43.60

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 UDP per la comunicazione tramite Industrial Ethernet CP S7-300 e S7-400 sono riportate nell'articolo con ID: 47885893.

 Articolo con ID:30143683   Data:2012-06-08 
Questo articoloè stato utilenon è stato utile                                 






























related links
SIMATIC S7-400 Sistema di automaz ...
SIMATIC S7-300 CPU 31xC e CPU 31x ...
Migrazione da PROFIBUS DP a PROFI ...
Manuale parte B4A CP 443-1 Advanced
Software di sistema per S7-300/40 ...
mySupport
My Documentation Manager 
Newsletter 
CAx-Download-Manager 
Support Request
Vai all'articolo
Stampa
Creazione PDF 
Invia l'articolo
QuickLinks
Strumento di compatibilità 
Aiuto
Aiuto on-line
Guided Tour