visualizza l'elenco degli articoli
Industrial Ethernet S7-300/400 CPs -- Progettazione e programmazione della comunicazione -- Utilizzo dei blocchi di comunicazione
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?
Come vengono trasferiti i dati con telegrammi di lunghezza variabile tramite il protocollo TCP e ricevuti in una stazione S7-300 con Industrial Ethernet CP?
Come si possono configurare i blocchi funzionali FB14 "GET" e FB15 "PUT" nel programma S7 dell'S7-300 per scambiare più di 160 byte di dati?
Dove è possibile trovare esempi di programmi e documentazione per la comunicazione di moduli SIMATIC S5 con moduli SIMATIC S7 tramite Industrial Ethernet utilizzando il protocollo di trasporto UDP?
Come si programma l'FC10 "AG_CNTRL"?
Quali CP IE supportano comandi (CMD) dell'FC10 "AG_CNTRL"?
Risorse dei CP per le funzioni di comunicazione S7 per i sistemi di automazione 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?
Avvertenza per l'impiego di una istanza per più ID di connessione
Richiamo interno dello FC5 (AG_SEND) con blocchi FTP-Client (FC 40-44) per il CP343-1 IT (6GK7 343-1GX11-0XE0)
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 FC11 e FC12 per il PROFINET IO-Device?
Richiami di blocco per i processori di comunicazione in diversi livelli di esecuzione
Modifica dei parametri di ingresso dei blocchi utente "AG_SEND" e "AG_RECV" durante l'esecuzione di job
A cosa occorre fare attenzione nel richiamo dei blocchi di comunicazione FC5/50 "AG_SEND/AG_LSEND" e FC6/60 "AG_RCV/AG_LRCV", se si trasferiscono variabili con il tipo dati "REAL"?
A cosa occorre fare attenzione nell'impiego dei blocchi di comunicazione FC53 "AG_SSEND" e FC63 "AG_SRECV"?
A cosa occorre fare attenzione nel richiamo dei blocchi di comunicazione FC5/50 e FC6/60 del programma applicativo STEP 7 della CPU?
Come si programmano i blocchi di comunicazione FC11 e FC12 per i PROFINET IO-Controller ?
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 FC50 e FC60?
STATUS Errore "0x7000" sul blocco funzionale FC6 / FC60 (AG_SEND) nella comunicazione Send/Receive su un controllore S7-400
Come vengono programmati i blocchi di comunicazione FC 5 e FC 6?
Esempio di programma: comunicazione S7 con i blocchi SFB14 ("GET") e SFB15 ("PUT") con S7-400
Esempio di programma – Comunicazione S7 con i blocchi FB14 ("GET") e FB15 ("PUT") con la CPU 317-2PN/DP
Come vengono programmati i blocchi di comunicazione FB8 "USEND" e FB9 "URCV" per lo scambio dati su S7-300?
"STATUS = 27" (0x1B) con la comunicazione S7 caricabile su S7-300
Come vengono programmati i blocchi di comunicazione FB14 "GET" e FB15 "PUT" per lo scambio dati nel programma S7 di una CPU S7-300?
Come vengono programmati i blocchi di comunicazione FB12 "BSEND" e FB13 "BRCV" per lo scambio dati nel programma S7 di una CPU S7-300?
Ripetizione del job "BSEND" (SFB12), se il blocco "BRCV" (SFB13) è nello stato "disable" ("EN_R = 0")
PROFIBUS S7-300/400 CPs -- Progettazione e programmazione della comunicazione -- Utilizzo dei blocchi di comunicazione
Come vengono programmati i blocchi di comunicazione FC50 e FC60?
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 FB14 "GET" e FB15 "PUT" per lo scambio dati nel programma S7 di una CPU S7-300?
Quali blocchi per Modbus TCP possono essere rinominati o modificati nel cablaggio se i numeri di blocco dei blocchi modalità sono già impiegati nel programma applicativo?
Come si possono configurare i blocchi funzionali FB14 "GET" e FB15 "PUT" nel programma S7 dell'S7-300 per scambiare più di 160 byte di dati?
Avvertenza per l'impiego di una istanza per più ID di connessione
Elaborazione dei dati provenienti da slave DP tramite CP342-5 su CPU31x
Richiami di blocco per i processori di comunicazione in diversi livelli di esecuzione
Modifica dei parametri di ingresso dei blocchi utente "AG_SEND" e "AG_RECV" durante l'esecuzione di job
A cosa occorre fare attenzione nel richiamo dei blocchi di comunicazione FC5/50 "AG_SEND/AG_LSEND" e FC6/60 "AG_RCV/AG_LRCV", se si trasferiscono variabili con il tipo dati "REAL"?
Come vengono programmati i blocchi di comunicazione FC 5 e FC 6?
Quali particolarità e proprietà offre la comunicazione di base S7?
Profibus: diagnostica di connessioni S7 con Step 7
Ripetizione del job "BSEND" (SFB12), se il blocco "BRCV" (SFB13) è nello stato "disable" ("EN_R = 0")
Come vengono programmati i blocchi di comunicazione FB8 "USEND" e FB9 "URCV" per lo scambio dati su S7-300?
Particolarità dell'alimentazione di parametri dei blocchi di comunicazione dei CP342 / CP343
A cosa occorre fare attenzione nella conversione / sostituzione del CP 342-5?
Quali versioni dei blocchi funzionali sono necessarie per il funzionamento del CP 342-5?
CP 342-5 -- Come si riconosce che il CP 342-5 si è sganciato da PROFIBUS?
CP 342-5 -- Come si programma lo scambio dati, se uno slave DP è dotato solo di uscite?
CP 342-5 -- Come si possono leggere opp. scrivere dati consistenti da uno slave DP tramite il CP 342-5?
Come vengono programmati i blocchi di comunicazione FC 5 e FC 6?
Numero di ordinazione:

Istruzioni
Per la comunicazione tramite una delle seguenti connessioni di comunicazione, nel programma S7 dell'S7-300 devono essere richiamati i blocchi di comunicazione FC5 "AG_SEND" e FC6 "AG_RECV".

  • Connessione TCP
  • Connessione ISO-on-TCP (RFC 1006)
  • Connessione di trasporto ISO
  • Connessione UDP
  • Connessione FDL

Caratteristiche dei blocchi di comunicazione FC5 "AG_SEND" e FC6 "AG_RECV"

  • FC5 e FC6 sono funzioni di comunicazione asincrone.
  • In questo esempio i blocchi sono richiamati nel ciclo OB1 (vedi anche articolo con ID: 2795485)
  • Possono essere eseguiti per più cicli OB1.
  • FC5 viene attivato con il parametro di ingresso "ACT".
  • La fine del job viene visualizzata tramite "DONE" oppure "ERROR".
  • AG_SEND e AG_RECV possono comunicare contemporaneamente tramite una connessione.
  • La versione aggiornata dei blocchi di comunicazione FC5 "AG_SEND" e FC6 "AG_RCV" si trova nella libreria SIMATIC_NET_CP in "CP 300 > Blocchi".

Descrizione dell'esempio di programma
Il programma S7 contiene il richiamo dei blocchi di comunicazione FC5 "AG_SEND" e FC6 "AG_RECV" dalla libreria SIMATIC_NET_CP. FC5 "AG_SEND" serve per l'invio di dati ad un'altra stazione S7, ad una stazione PC oppure ad un sistema di terzi. FC6 "AG_RECV" serve per la ricezione dei dati da un'altra stazione S7, da una stazione PC oppure da un sistema di terzi.
Il programma di esempio mostra il funzionamento dei blocchi di comunicazione FC5 "AG_SEND" e FC6 "AG_RCV" sulla base di una connessione ISO-on-TCP.

Creare per prima cosa la configurazione hardware della stazione S7-300.

Avvertenza
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.
In questo esempio di programma viene utilizzata la Timer-Ressource T10.

Configurare in NetPro una delle connessioni di comunicazione sopra citate per la CPU. Se i partner di comunicazione sono configurati insieme in un progetto STEP7, è possibile progettare una connessione di comunicazione specificata. Se il partner di comunicazione non è configurato nello stesso progetto STEP7 della stazione S7-300, viene configurata una connessione di comunicazione non specificata. Fare attenzione, nella configurazione della connessione di comunicazione, di assegnare correttamente gli indirizzi IP oppure PROFIBUS. Inoltre occorre fare attenzione alla corretta assegnazione di PORT, TSAP oppure LSAP. Queste servono per l'identificazione univoca della connessione di comunicazione tra i partner di comunicazione.

Nella finestra di dialogo delle proprietà della connessione di comunicazione -> Scheda "Generale" è indicato il valore che deve essere specificato per i parametri di ingresso "ID" e "LADDR" dei blocchi di comunicazione FC5 "AG_SEND" e FC6 "AG_RECV".


Figura 01

Il programma STEP 7 è costituito dai blocchi OB100, OB1, FB200, DB200, DB201, FC5 e FC6.

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 0.3 "START-UP" l'autorizzazione per l'inizializzazione della comunicazione.

OB1
L’OB1 viene richiamato ciclicamente. Questo OB contiene il richiamo del FB200 (Blocco dati di istanza: DB200) con M0.3 "START-UP" come parametro (INIT_COM). Dopo aver eseguito il FB200, M0.3 "START-UP" viene resettato.


Figura 02

FB200
FB200 viene richiamato nel ciclo OB1. FB200 contiene il richiamo dei blocchi di comunicazione FC5 "AG_SEND" e FC6 "AG_RECV". Il job di trasmissione viene avviato con un fronte di salita sul parametro d'ingresso "ACT" dello FC5. L'avvio del job di trasmissione viene pilotato con il clock di merker M10.7 e la variabile "SND_BUSY". Quando il job di trasmissione è in esecuzione, "SND_BUSY" è impostato. In questo modo non è possibile l'avvio di un nuovo job di trasmissione.

Questo interblocco è particolarmente importante perché la funzione è asincrona e può durare diversi cicli. Un avvio continuo di nuovi job di trasmissione senza attendere che questi si concludano con successo oppure con errore, può generare un sovraccarico di comunicazione.

I valori per i parametri di ingresso "ID" e "LADDR" devono essere trasferiti dalla finestra di dialogo delle proprietà della connessione di comunicazione in NetPro (vedi Figura 1).
Sul parametro d'ingresso "SEND" di FC5 vengono indicati l'indirizzo e la lunghezza del campo dati che contiene i dati da inviare (buffer di trasmissione), per esempio: P#DB201.DBX0.0 BYTE 100.
Sul parametro d'ingresso "LEN" viene registrata la lunghezza dei dati da trasmettere in byte. In questo esempio la lunghezza dei dati da trasmettere è definita in 100 byte.
I parametri di uscita "DONE", "ERROR" e "STATUS" sono necessari per l'analisi del job e sono validi solo nello stesso ciclo!


Figura 03

Se il job di trasmissione si è concluso con successo, "SND_BUSY" è resettata. In questo modo è possibile avviare un nuovo job di trasmissione.

Se il job di trasmissione si è concluso con errore, "SND_BUSY" viene resettata ed il valore del parametro di uscita "STATUS" del FC5 viene salvato per un'analisi dell'errore.


Figura 04

I valori per i parametri di ingresso "ID" e "LADDR" devono essere trasferiti dalla finestra di dialogo delle proprietà della connessione di comunicazione in NetPro (vedi Figura 1). Sul parametro d'ingresso "RECV" del FC6 vengono indicati l'indirizzo e la lunghezza del campo dati in cui vengono memorizzati i dati ricevuti (buffer di ricezione), ad esempio: P#DB201.DBX100.0 BYTE 100.


Figura 05

Il parametro di uscita "NDR" serve come 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 ed analizzato.

 
Figura 06

In FB200 viene analizzata la frequenza con cui i corrispondenti valori di STATUS compaiono su FC5 "AG_SEND" e FC6 "AG_RCV". Questa informazione viene memorizzata tra i parametri statici di interfaccia dell'FB 200 nella variabile "STATISTIC" del tipo dati "Struttura".


Figura 07

Tramite la variabile "#STATISTIC.ON_OFF" è possibile inserire oppure disinserire l'analisi di STATUS. L'analisi di STATUS è normalmente inserita.


Figura 08

Caso particolare
Se lo scambio dati avviene tramite una connessione TCP, il parametro di uscita "NDR" viene impostato solo quando il buffer di ricezione intero è pieno!
Il valore del parametro di uscita "LEN" mostra sempre l'intera lunghezza del buffer di ricezione!

Il progetto STEP 7 come download
Il progetto STEP 7 contiene un programma di esempio per i richiami di FC5 e FC6 con analisi di stato. Esso è stato creato con STEP 7 V5.4 SP3.

S7_300_SEND_RCV.zip ( 45 KB )

Avvertenza
Copiare la versione aggiornata dei blocchi di comunicazione FC5 e FC6 dalla libreria SIMATIC_NET_CP nel programma applicativo e richiamarla nel programma applicativo.

Ricerca complementare
FUP, SEND/RECEIVE, programma di esempio, progettazione STEP7, trasferimento dati

 Articolo con ID:17853532   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à 
Aiuto
Aiuto on-line
Guided Tour