visualizza l'elenco degli articoli
S7-300 CPU 31x -- Progettazione e programmazione della comunicazione -- Utilizzo dei blocchi di comunicazione
Come leggere ciclicamente il più velocemente possibile gli 8 canali del modulo di conteggio FM 350-2?
Come è possibile leggere nel programma applicativo l'indirizzo IP della CPU S7-300?
Come si attiva il modo ad hoc richiamando l'istruzione TRCV?
Come utilizzare i blocchi per la comunicazione MODBUS/TCP tramite l'interfaccia PROFINET integrata delle CPU S7-300 e S7-400 e della CPU IM151-8 PN/DP in STEP 7 Professional (TIA Portal)?
Quali moduli di Security sono raggiungibili con il SOFTNET Security Client V4 mediante una connessione tunnel IPsec protetta?
In che cosa si differenziano i parametri d'inizializzazione e di esecuzione sui blocchi per modo TCP?
Perché sul blocco per Modbus TCP viene emesso il valore di stato A090 (hex), sebbene sia stata registrata la licenza corretta?
Quali sono le differenze fra la versione con licenza e la versione demo scaricabile del blocco per Modbus TCP?
Perché il valore A083 (hex) viene emesso permanentemente nel parametro d'uscita STATUS del blocco per Modbus TCP quando è stato impostato il parametro d'ingresso ENQ_ENR=true?
Quali blocchi per Modbus TCP possono essere rinominati o modificati nel cablaggio se i numeri di blocco dei blocchi Modbus sono già impiegati nel programma applicativo?
Come si possono realizzare segnalazioni in sequenza cronologica con le CPU S7-300 e WinCC?
Come vengono programmati i blocchi di comunicazione FB14 "GET" e FB15 "PUT" per lo scambio dati nel programma S7 di una CPU S7-300?
Quali porte sono abilitate per la comunicazione Modbus/TCP e quanti client Modbus possono comunicare con una CPU SIMATIC S7 come server Modbus?
A cosa occorre fare attenzione nella progettazione di una connessione S7 non specificata per lo scambio dati tra S7-400 e S7-300?
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 FB12 "BSEND" e FB13 "BRCV" per lo scambio dati nel programma S7 di una CPU S7-300?
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 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 si può stabilire da SIMATIC S7 una comunicazione OPEN MODBUS / TCP e dove si ottengono ulteriori informazioni?
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?
Come avviene lo scambio dati con la comunicazione di base S7 tra S7-300/S7- 400 e S7-200 tramite MPI
Quanto è grande la consistenza dei dati per le funzioni di comunicazione S7 PUT e GET per le singole CPU S7-300 o S7-400 e per i controllori visualizzati C7 ?
CPU 315-2 come server per I_PUT/I_GET
L’accesso a dati consistenti è possibile anche senza SFC14/15, come parte dell'immagine di processo?
ET 200S (unità standard) -- Progettazione e programmazione della comunicazione -- Utilizzo dei blocchi di comunicazione
In caso di impiego dell'FB81 S_MODB su una S7-400 con oltre 8 Kbyte di merker, come è possibile accedere all'area merker superiore a MB 255?
Come si imposta il parametro di immissione TIME_RTS_OFF dell'istruzione S_V24 in presenza di basse velocità di trasmissione dei dati?
Come si utilizza il modulo ET200S 1SI in combinazione con una CPU S7-15xx?
CPU S7 come PROFINET IO Device
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?
Quali porte sono abilitate per la comunicazione Modbus/TCP e quanti client Modbus possono comunicare con una CPU SIMATIC S7 come server Modbus?
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?
A quali impostazioni occorre fare attenzione nel collegamento di un apparecchio SIMATIC HMI, progettato con WinCC flexible ES ad una SIMATIC ET 200-CPU?
Funzione "Segnalazione di errore di sistema" utilizzabile con la CPU ET 200S a partire dalla versione firmware 2.1
Impiego dello SFB75 (Invio di allarme al master DP) su una CPU ET 200S
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?
S7-400 CPU 41x -- Progettazione e programmazione della comunicazione -- Utilizzo dei blocchi di comunicazione
In caso di impiego dell'FB81 S_MODB su una S7-400 con oltre 8 Kbyte di merker, come è possibile accedere all'area merker superiore a MB 255?
Come si attiva il modo ad hoc richiamando l'istruzione TRCV?
Come utilizzare i blocchi per la comunicazione MODBUS/TCP tramite l'interfaccia PROFINET integrata delle CPU S7-300 e S7-400 e della CPU IM151-8 PN/DP in STEP 7 Professional (TIA Portal)?
Come è possibile realizzare una comunicazione ridondante MODBUS/TCP tramite l'interfaccia PROFINET integrata di una CPU 41x-H in STEP 7 V5.5?
In che cosa si differenziano i parametri d'inizializzazione e di esecuzione sui blocchi per modo TCP?
Perché sul blocco per Modbus TCP viene emesso il valore di stato A090 (hex), sebbene sia stata registrata la licenza corretta?
Quali sono le differenze fra la versione con licenza e la versione demo scaricabile del blocco per Modbus TCP?
Perché il valore A083 (hex) viene emesso permanentemente nel parametro d'uscita STATUS del blocco per Modbus TCP quando è stato impostato il parametro d'ingresso ENQ_ENR=true?
Quali blocchi per Modbus TCP possono essere rinominati o modificati nel cablaggio se i numeri di blocco dei blocchi Modbus sono già impiegati nel programma applicativo?
Comunicazione industriale: panoramica dei sistemi di bus disponibili nel SIMATIC S7
Come avviene lo scambio dati con la comunicazione di base S7 tra S7-300/S7- 400 e S7-200 tramite MPI
Dati consistenti nell'S7-400, riepilogo dei meccanismi
Quali porte sono abilitate per la comunicazione Modbus/TCP e quanti client Modbus possono comunicare con una CPU SIMATIC S7 come server Modbus?
Come si possono realizzare segnalazioni in sequenza cronologica con le CPU S7-400 e WinCC?
A cosa occorre fare attenzione nella progettazione di una connessione S7 non specificata per lo scambio dati tra S7-400 e S7-300?
Come si può stabilire da SIMATIC S7 una comunicazione OPEN MODBUS / TCP e dove si ottengono ulteriori informazioni?
Come si può utilizzare WinCC flexible per traferire un progetto a un pannello operatore con S7-Routing?
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 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 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 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?
L’accesso a dati consistenti è possibile anche senza SFC14/15, come parte dell'immagine di processo?
Quanto è grande la consistenza dei dati con le funzioni di comunicazione S7 PUT e GET per le singole CPU S7-400?
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?
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 ( 290 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:29738463   Data:2012-06-08 
Questo articoloè stato utilenon è stato utile                                 
mySupport
My Documentation Manager 
Newsletter 
CAx-Download-Manager 
Support Request
Vai all'articolo
Stampa
Creazione PDF 
Invia l'articolo
QuickLinks
Strumento di compatibilità 
Argomenti
Aiuto
Aiuto on-line
Guided Tour