afficher la liste des articles
S7-300 CPU 31x -- Configurer et programmer la communication -- Utilisation de blocs de communication
Quels sont les modules de sécurité accessibles avec SOFTNET Security Client V4 via une liaison tunnel IPsec sécurisée ?
Quelle différence y a t-il entre les paramètres d'initialisation et d'exécution des blocs Modbus TCP ?
Pourquoi obtient-on la valeur hexa "W
Quelles sont les différences entre les blocs Modbus TCP de la version de démonstration et ceux de la version avec licence ?
Pourquoi le paramètre de sortie STATUS du bloc pour Modbus TCP est-il en permanence à la valeur A083 (hex) lorsque le paramètre d'entrée ENQ_ENR est défini à "true" ?
Quels blocs Modbus-TCP peuvent être renommés ou réassignés lorsque les numéros de blocs sont déjà utilisés dans le programme utilisateur ?
Comment réaliser un horodatage à la source pour des alarmes dans un S7-300 vers WinCC?
Comment programmer les blocs de communication FB14 "GET" et FB15 "PUT" dans un programme S7 pour échanger des données avec une CPU S7-300 ?
Quels ports sont libérés pour la communication Modbus/TCP et combien de clients Modbus peuvent communiquer avec une CPU SIMATIC S7 configurée en serveur Modbus ?
Que faut-il prendre en compte lors du paramétrage d'une liaison S7 non spécifiée, pour échanger des données entre S7-400 et S7-300 ?
Quelles sont les limitations en nombre de tâches actives dans les communications avec les SFC 58 / SFC 59 ou les SFB 52 / SFB 53 via PROFIBUS-DP et PROFINET IO ?
Comment programmer les blocs de communication FB12 "BSEND" et FB13 "BRCV" dans un programme S7 pour échanger des données avec une CPU S7-300 ?
Comment programmer les blocs FB63 "TSEND", FB64 "TRCV", FB65 "TCON" et FB66 "TDISCON", pour l'échange de données en protocole ISO-on-TCP par l'interface Industrial Ethernet intégrée d'une CPU S7-300 ou S7-400 ou par le CP443-1 Advanced ?
Comment programmer les blocs de communication FB63 "TSEND", FB64 "TRCV", FB65 "TCON" et FB66 "TDISCON", pour utiliser le protocole TCP pour l'échange de données par l'interface Industrial Ethernet intégrée d'une CPU S7-300 ou S7-400 ?
Comment mettre en oeuvre une communication OPEN MODBUS / TCP avec SIMATIC S7 et où obtenir des informations supplémentaires ?
Comment programmer les blocs de communication FB67 "TUSEND", FB68 "TURCV", FB65 "TCON" et FB66 "TDISCON", pour l'échange de données par le protocole UDP sur l'interface PROFINET intégrée d'une CPU ?
Comment échanger des données entre S7-300/S7- 400 et S7-200 au moyen de la communication de base S7 par MPI ?
Quelle taille a la consistance des données dans la communication S7 avec les SFB/FB PUT et GET pour chacune des CPU S7-300 et des appareils compacts C7?
Comment peut-on accéder sur PROFIBUS DP à une CPU esclave DP depuis un maitre DP avec la communication de base S7 et les SFC72 "I_GET" et SFC73 "I_PUT"?
Comment accéder à des données cohérentes sans SFC14/15 dans une mémoire image partielle ?
ET 200S (modules standard) -- Configurer et programmer la communication -- Utilisation de blocs de communication
Comment programmer avec WinAC MP 2008 une transmission de données avec le module ET200S 1SI pour le mode de communication 4 octets ou 8 octets ?
Quelles CPU’s peuvent fonctionner en tant que PROFINET I-Device?
Quelles sont les limitations en nombre de tâches actives dans les communications avec les SFC 58 / SFC 59 ou les SFB 52 / SFB 53 via PROFIBUS-DP et PROFINET IO ?
Quels ports sont libérés pour la communication Modbus/TCP et combien de clients Modbus peuvent communiquer avec une CPU SIMATIC S7 configurée en serveur Modbus ?
Comment programmer les blocs de communication FB63 "TSEND", FB64 "TRCV", FB65 "TCON" et FB66 "TDISCON", pour utiliser le protocole TCP pour l'échange de données par l'interface Industrial Ethernet intégrée d'une CPU S7-300 ou S7-400 ?
Comment programmer les blocs FB63 "TSEND", FB64 "TRCV", FB65 "TCON" et FB66 "TDISCON", pour l'échange de données en protocole ISO-on-TCP par l'interface Industrial Ethernet intégrée d'une CPU S7-300 ou S7-400 ou par le CP443-1 Advanced ?
Comment programmer les blocs de communication FB67 "TUSEND", FB68 "TURCV", FB65 "TCON" et FB66 "TDISCON", pour l'échange de données par le protocole UDP sur l'interface PROFINET intégrée d'une CPU ?
A quoi faut-il faire attention lors de la connexion à une CPU SIMATIC ET 200 d'un appareil SIMATIC HMI configuré avec WinCC flexible ES ?
Fonction "Signalisation d'erreurs système" avec l'ET 200S CPU applicable à partir de la version Firmware 2.1
Utilisation du SFB75 (Générer une alarme vers le maître DP) sur une CPU ET 200S
ET 200pro -- Configurer et programmer la communication -- Utilisation de blocs de communication
Quelles sont les limitations en nombre de tâches actives dans les communications avec les SFC 58 / SFC 59 ou les SFB 52 / SFB 53 via PROFIBUS-DP et PROFINET IO ?
Comment programmer les blocs de communication FB63 "TSEND", FB64 "TRCV", FB65 "TCON" et FB66 "TDISCON", pour utiliser le protocole TCP pour l'échange de données par l'interface Industrial Ethernet intégrée d'une CPU S7-300 ou S7-400 ?
Comment programmer les blocs FB63 "TSEND", FB64 "TRCV", FB65 "TCON" et FB66 "TDISCON", pour l'échange de données en protocole ISO-on-TCP par l'interface Industrial Ethernet intégrée d'une CPU S7-300 ou S7-400 ou par le CP443-1 Advanced ?
Comment programmer les blocs de communication FB67 "TUSEND", FB68 "TURCV", FB65 "TCON" et FB66 "TDISCON", pour l'échange de données par le protocole UDP sur l'interface PROFINET intégrée d'une CPU ?
S7-400 CPU 41x -- Configurer et programmer la communication -- Utilisation de blocs de communication
Quelle différence y a t-il entre les paramètres d'initialisation et d'exécution des blocs Modbus TCP ?
Pourquoi obtient-on la valeur hexa "W
Quelles sont les différences entre les blocs Modbus TCP de la version de démonstration et ceux de la version avec licence ?
Pourquoi le paramètre de sortie STATUS du bloc pour Modbus TCP est-il en permanence à la valeur A083 (hex) lorsque le paramètre d'entrée ENQ_ENR est défini à "true" ?
Quels blocs Modbus-TCP peuvent être renommés ou réassignés lorsque les numéros de blocs sont déjà utilisés dans le programme utilisateur ?
Quelles sont les possibilités de communication avec les SIMATIC S7-300/400 ?
Comment échanger des données entre S7-300/S7- 400 et S7-200 au moyen de la communication de base S7 par MPI ?
Données cohérentes du S7-400, résumé des mécanismes
Quels ports sont libérés pour la communication Modbus/TCP et combien de clients Modbus peuvent communiquer avec une CPU SIMATIC S7 configurée en serveur Modbus ?
Comment configurer des alarmes horodatées à la source avec un S7-400 et WinCC?
Que faut-il prendre en compte lors du paramétrage d'une liaison S7 non spécifiée, pour échanger des données entre S7-400 et S7-300 ?
Comment mettre en oeuvre une communication OPEN MODBUS / TCP avec SIMATIC S7 et où obtenir des informations supplémentaires ?
Comment transférer un projet dans un pupitre avec WinCC flexible via routage S7 ?
Quelles sont les limitations en nombre de tâches actives dans les communications avec les SFC 58 / SFC 59 ou les SFB 52 / SFB 53 via PROFIBUS-DP et PROFINET IO ?
Comment programmer les blocs FB63 "TSEND", FB64 "TRCV", FB65 "TCON" et FB66 "TDISCON", pour l'échange de données en protocole ISO-on-TCP par l'interface Industrial Ethernet intégrée d'une CPU S7-300 ou S7-400 ou par le CP443-1 Advanced ?
Comment programmer les blocs de communication FB63 "TSEND", FB64 "TRCV", FB65 "TCON" et FB66 "TDISCON", pour utiliser le protocole TCP pour l'échange de données par l'interface Industrial Ethernet intégrée d'une CPU S7-300 ou S7-400 ?
Comment programmer les blocs de communication FB67 "TUSEND", FB68 "TURCV", FB65 "TCON" et FB66 "TDISCON", pour l'échange de données par le protocole UDP sur l'interface PROFINET intégrée d'une CPU ?
Comment accéder à des données cohérentes sans SFC14/15 dans une mémoire image partielle ?
Quelle est la taille des données cohérentes avec les fonctions de communication S7 PUT et GET pour les CPU S7-400 ?
Comment programmer les blocs de communication FB67 "TUSEND", FB68 "TURCV", FB65 "TCON" et FB66 "TDISCON", pour l'échange de données par le protocole UDP sur l'interface PROFINET intégrée d'une CPU ?
Nº de référence:

Description
Pour l'échange de données par l'interface PROFINET intégrée d'une CPU, vous pouvez utiliser, entre autres, la communication ouverte sur Industrial Ethernet. Les protocoles suivants sont supportés :

  • TCP
  • ISO-on-TCP
  • UDP

Les blocs de communication suivants sont disponibles, pour la communication ouverte sur Industrial Ethernet au moyen du protocole UDP :

  • FB65 "TCON" pour la création du nœud d'extrémité UDP
  • FB66 "TDISCON" pour la fermeture du nœud d'extrémité UDP
  • FB67 "TUSEND" pour l'émission de données
  • FB68 "TURCV" pour la réception de données

Vous trouverez ces blocs de communication dans la Standard Library - > Communication Blocks.
Copiez la version actuelle des blocs fonctionnels mentionnés ci-dessus depuis la bibliothèque standard dans votre programme utilisateur et appelez-les dans votre programme utilisateur.
Les paramètres pour la création du nœud d'extrémité UDP sont mémorisés dans une structure de données. Dans cet exemple, la structure de données UDT65 "TCON_PAR" est utilisée. Elle doit être paramétrée par l'utilisateur. Il n'y a aucune liaison configurée dans NetPro.

Note
Vous trouverez des informations détaillées sur la communication ouverte par Industrial Ethernet dans le manuel "Logiciel système pour SIMATIC S7-300/400 Fonctions standard et fonctions système" dans l'article ID: 1214574.

Description du programme exemple
Le programme S7 contient l'appel du FB65 "TCON" et la structure de données UDT65 "TCON_PAR" avec les paramètres pour la création du nœud d'extrémité UDP. En outre, le programme S7 contient l'appel des blocs de communication FB67 "TUSEND" et FB68 "TURCV" de la Standard Library - > Communication Blocks. Le FB67 "TUSEND" sert à envoyer des données à une station S7, à une station PC ou à un système tiers. Le FB68 "TURCV" sert à la réception des données d'une station S7, d'une station PC ou d'un système tiers. 

Créez d'abord la configuration matérielle de votre station S7-300. Vérifiez que l'octet mémento 10 est configuré comme mémento de cadence. C'est par ces bits de l'octet mémento de cadence que la commande d'émission sera lancée. Enregistrez et compilez la configuration matérielle de votre station S7-300 et chargez-la ensuite dans la CPU.

Le programme STEP 7 est constitué des blocs OB100, OB1, FB500, DB500, FC95, FC96, UDT65, UDT66 et FB63, FB64, FB67 et FB68.

OB100
L'OB100 est un OB de démarrage qui est exécuté lorsque la CPU est redémarrée à chaud (Warmstart) . Dans cet OB, la première tentative de communication est démarrée avec le mémento M0.3.

OB1
L'OB1 est appelé cycliquement. Dans cet OB, l'appel du FB500 ( bloc d'instance DB500 ) est paramétré avec M0.3 comme paramètre INIT_COM. Le bit M0.3 est remis à zéro dans l'OB1 après l'appel du FB500.


Figure 01

FB500
Le FB500 est appelé dans le cycle OB1.

Dans le FB500, les fonctions FC95 "SET_UDP_REMOTE" et FC96 "SET_UDP_ENDPOINT" ainsi que les blocs fonctionnels FB65 "TCON", FB67 "TUSEND", FB68 "TURCV" et FB66 "TDISCON" sont appelés.


Figure 02

Les paramètres du nœud d'extrémité UDP local sont définis aux paramètres d'entrées de la fonction FC96 "SET_UDP_ENDPOINT".
 
Paramètre d'entrée Type de données Description
ID Word Numéro de liaison
DEV_ID Byte B#16#01 pour la CPU IM151-8 PN/DP
B#16#02 pour les CPU 31x-2PN/DP, IM154-8
B#16#03 pour la CPU 319-3PN/DP
B#16#05 pour les CPU 412-2PN, CPU 414-3 PN/DP, CPU 416-3 PN/DP
LOC_PORT DInt Port local dans la CPU
-numéros de port autorisés pour les CPU S7-300 jusqu'à V2.6 inclus et les CPU S7-400 jusqu'à V5.1 inclus: 2000 à 5000
-numéros de port autorisés pour les CPU S7-300 à partir de V2.7 et les CPU S7-400 à partir de V5.2: 1 à 49151


Figure 03

Les paramètres du nœud d'extrémité UDP distant sont définis aux paramètres d'entrées de la fonction FC95 "SET_UDP_REMOTE".
 
Paramètre d'entrée Type de données Description
REM_PORT DInt Port distant du partenaire de communication
-numéros de port autorisés pour les CPU S7-300 jusqu'à V2.6 inclus et les CPU S7-400 jusqu'à V5.1 inclus: 2000 à 5000
-numéros de port autorisés pour les CPU S7-300 à partir de V2.7 et les CPU S7-400 à partir de V5.2: 1 à 49151
IP_ADDR1 Int  Adresse IP du partenaire de communication
IP_ADDR2 Int
IP_ADDR3 Int
IP_ADDR4 Int

Note
Le numéro de liaison est indiqué dans le réseau 2 du FB500. Celui-ci est mémorisé dans une variable statique et donc dans le bloc de données d'instance DB500.


Figure 04

La création du nœud d'extrémité UDP est démarrée par un front montant sur le paramètre d'entrée "REQ" du FB65 "TCON". La structure de données UDT65 "TCON_PAR" avec le paramétrage du nœud d'extrémité UDP local est incluse dans le bloc de données d'instance du FB500.
La plage mémoire contenant le nœud d'extrémité local est indiquée sur le paramètre d'entrée "CONNECT" du FB65 "TCON".
La création du nœud d'extrémité UDP est établie lors du démarrage du système. Elle reste connectée tant qu'elle n'est pas, par exemple, fermée par le FB66 "TDISCON", par un passage en STOP de la CPU ou par la mise hors tension de l'alimentation.


Figure 05

Le contrat d'émission est lancé par un front montant sur le paramètre d'entrée "REQ" du FB67 "TUSEND". Le lancement de l'émission sera activé par le mémento de cadence M10.6 et la variable "C1.SEND_BUSY". Si le contrat d'émission est lancé lorsque "C1. SEND_BUSY" est positionné, alors un nouveau contrat d'émission ne sera pas possible.
Indiquez au paramètre d'entrée "DATA" la plage de données qui contient les données à envoyer.
Au paramètre d'entrée "LEN", indiquez le nombre d'octets à envoyer.
Indiquez dans le paramètre d'entrée ADDR la plage de données, dans laquelle l'adresse IP du récepteur est enregistrée. Dans cet exemple, le paramètre d'adresse du partenaire de communication est enregistré dans la structure de données UDT66 "TADDR_PAR". Celle-ci est incluse dans le bloc de données d'instance DB500.
Les paramètres de sortie "DONE", "ERROR" et "STATUS" seront nécessaires pour suivre l'exécution du contrat.


Figure 06

Lorsque le contrat d'émission s'est terminé avec succès, alors "C1.SEND_BUSY" est remis à zéro. Un nouveau contrat pourra alors être relancé.
Lorsque le contrat d'émission se termine avec une erreur, alors "C1.SEND_BUSY" est également remis à zéro et la valeur du paramètre de sortie STATUS du FB67 sera sauvegardée pour une analyse de l'erreur.


Figure 07


Figure 08

Dès que la création du nœud d'extrémité UDP est initialisée, les données peuvent être reçues.
L'adresse et la longueur de la plage de données dans laquelle les données reçues doivent être rangées, sont indiquées au paramètre d'entrée "DATA".
Indiquez dans le paramètre d'entrée ADDR la plage de données dans laquelle l'adresse IP de l'émetteur est enregistrée. Dans cet exemple, le paramètre d'adresse du partenaire de communication est enregistré dans la structure de données UDT66 "TADDR_PAR". Celle-ci est incluse dans le bloc de données d'instance DB500.


Figure 09

Le paramètre de sortie "NDR" sert d'indicateur informant que de nouvelles données ont été reçues. Le paramètre de sortie "RCVD_LEN" donne la longueur des données qui ont été reçues.
Si les données sont reçues avec succès, la valeur du paramètre de sortie RCVD_LEN est mémorisée.
Si les données ne sont pas reçues avec succès, la valeur du paramètre de sortie "STATUS" sera sauvegardée et exploitée.


Figure 10

Avec le FB66 "TDISCON", il est possible de fermer volontairement le nœud d'extrémité UDP. La commande pour la fermeture du nœud d'extrémité UDP est démarrée par un front montant sur le paramètre d'entrée "REQ" du FB66 "TDISCON".


Figure 11

Le projet STEP 7 à télécharger
Le projet STEP 7 contient un programme exemple pour l'appel du FB500 ainsi que les fonctions FC95 "SET_UDP_ENDPOINT", FC96 "SET_UDP_REMOTE", les blocs fonctionnels FB65 "TCON", FB66 "TDISCON", FB67 "TUSEND" et FB68 "TURECV" avec une évaluation des mots d'états. Il a été créé avec STEP 7 V5.4 SP3.

Sample_open_UDP.zip ( 44 KB )

Configuration de plusieurs liaisons UDP
Pour envoyer des datagrammes UDP vers plusieurs partenaires de communication, configurez d’autres nœuds d’extrémité locaux et distants. Copiez le FB500 autant de fois que de liaisons souhaitées ( par exemple FB501… ). Modifiez les paramètres des nœuds UDP locaux et distants et générez les nouveaux DB d’instance.

La valeur du paramètre ID du nœud local UDP peut être choisi librement dans la plage 1 à 4095.
Le port local et le port distant peuvent être choisis librement dans la plage 1 à 49151 pour les CPU S7-300 à partir de V2.7 et pour les CPU S7-400 à partir de V5.2.

Les valeurs des paramètres ID et Port doivent être univoques pour chaque nœud local, c'est-à-dire que vous devez définir pour chaque nœud local un ID différent et un port différent.

Définissez le port distant et l’adresse IP en fonction du paramétrage du partenaire de communication.

Le tableau suivant présente un exemple pour la configuration de plusieurs nœuds UDP locaux et distants. Dans cet exemple, on utilise sur chaque partenaire toujours le même ID et numéro de port.
 
Nœud UDP local/distant 1 2 3
ID 1 2 3
LOC_PORT 2000 2001 2002
REM_PORT 2000 2001 2002
Adresse IP du partenaire de communication 172.16.43.40 172.16.43.50 172.16.43.60

Autres informations

  • Des informations détaillées traitant de la communication ouverte par Industrial Ethernet figurent dans le manuel opérateur "S7-300/400 Fonctions standard et fonctions système Volume 1 et Volume 2" dans l'article ID: 44240604.
  • Vous trouverez un guide pour la configuration d'une liaison UDP pour la communication via les CP Industrial Ethernet des APIs S7-300 et S7-400 dans l'article ID: 47885893.

 ID contribution:29738463   Date:2012-04-17 
Cette contribution...m´a aidéne m´a pas aidé                                 
mySupport
My Documentation Manager 
Lettre d'information 
CAx-Download-Manager 
Demande d'assistance technique
A propos de cet article
Imprimer
Créer PDF 
Envoyer l'article
QuickLinks
Outil de compatibilité 
Aide
Aide en ligne
Guided Tour