afficher la liste des articles
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 ?
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-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 ?
WinAC RTX -- Configurer et programmer la communication -- Configuration des connexions
Quel est l'emplacement à choisir pour configurer un WinAC RTX 2010 équipé de WinCC V11 ?
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 ?
Upload/Download de la station PC
Accès aux zones de données de WinAC avec les mnémoniques du STEP 7 par le serveur OPC SIMATIC NET
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 ?
Nº de référence:

Description
Les CPUs avec interface PROFINET intégrée et les WinAC RTX supportent la communication ouverte Industrial Ethernet.

L'article ID 18909487 contient une vue d'ensemble des services de communication supportés par les CPU à interface PROFINET intégrée et par WinAC RTX. Cette vue d'ensemble liste les protocoles de la communication Industrial Ethernet, qui sont supportés par les CPUs à interface PROFINET intégrée et par le WinAC RTX.

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

  • FB65 "TCON" pour l'établissement de la liaison
  • FB66 "TDISCON" pour la fermeture de la liaison
  • FB63 "TSEND" pour l'émission de données
  • FB64 "TRCV" 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 mentionnés ci-dessus depuis la Standard Library dans votre programme utilisateur et appelez-les dans votre programme utilisateur.
Les paramètres de liaison pour l'établissement de la liaison TCP sont mémorisés dans une structure de données.
Dans cet exemple, la structure de données UDT65 "TCON_PAR" est utilisée, qui doit être paramétrée par l'utilisateur. La liaison TCP n'est pas 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 l'établissement de la liaison TCP. En outre, le programme S7 contient l'appel des blocs de communication FB63 "TSEND" et FB64 "TRCV" de la  Standard Library - > Communication Blocks. Le FB63 "TSEND" sert pour envoyer des données à une station S7 ou S5, à une station de PC ou à un système tiers. Le FB64 "TRCV" sert à la réception des données d'une station S7 ou  S5, d'une station PC ou d'un système tiers.

Créez d'abord la configuration matérielle de votre station S7-300. Configurez l'octet mémento 10 comme mémento de cadence. C'est par ces bits mémento de cadence que la requête 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, FB300, DB300, FC97, UDT65 et FB63, FB64, FB65 et FB66.

OB100
L'OB100 est un OB de redémarrage et fonctionne 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 FB300 (avec le bloc de données d'instance DB300) est paramétré avec M0.3 comme paramètre INIT_COM. Le bit  M0.3 est remis à zéro après l'appel du FB300.


Figure 01

FB300
Le FB300 est appelé dans le cycle OB1.
Dans ce FB, vous trouvez l'appel du bloc FC97 "SET_TCP_ENDPOINTx" et des blocs FB65 "TCON", FB63 "TSEND", FB64 "TRCV" et FB66 "TDISCON".


Figure02

Les paramètres locaux et distants de la liaison TCP sont paramétrés par le FC97 "SET_TCP_ENDPOINTx". Cela concerne les paramètres suivants :
 
Paramètre d'entrée Type de données Description
ID Word numéro de liaison
DEV_ID Byte "local_device_id" de l'interface avec laquelle la liaison TCP sera établie avec le FB65 "TCON"

Vous trouverez des informations sur la valeur de "local_device_id" pour le paramètre d'entrée DEV_ID pour établir une liaison TCP avec le FB65 "TCON" pour la communication ouverte sur Industrial Ethernet dans l'article ID 51339682.

ACTIV Bool 0 = établissement passif de liaison
1 = établissement actif de liaison
LOC_PORT DInt numéro de port local de la CPU

Vous trouverez des informations sur les numéros de ports autorisés en TCP et en UDP dans le manuel "Fonctions standard et fonctions système pour S7-300/400 Volume 1 et volume 2", chapitre 24.2. Le manuel est disponible dans l'article ID44240604.

REM_PORT DInt numéro de port distant du partenaire de communication

Vous trouverez des informations sur les numéros de ports autorisés en TCP et en UDP dans le manuel "Fonctions standard et fonctions système pour S7-300/400 Volume 1 et volume 2", chapitre 24.2. Le manuel est disponible dans l'article ID 44240604.

Note
Lorsque la CPU est configurée pour un établissement passif de liaison, c'est-à-dire ACTIV=0, le port distant du partenaire de communication ne doit pas être indiqué, définissez alors REM_PORT=0.

IP_ADDR1 Int Adresse IP du partenaire de communication

Note:
Lorsque la CPU est configurée pour un établissement passif de liaison, c'est-à-dire ACTIV=0, l'adresse IP du partenaire de communication ne doit pas être indiquée, définissez alors IP_ADDR1=0, IP_ADDR2=0, IP_ADDR3=0 et IP_ADDR4=0.

IP_ADDR2 Int
IP_ADDR3 Int
IP_ADDR4 Int

Note
Indiquez le numéro de liaison dans le réseau 2 du FB300. Ce numéro est mémorisé dans une variable statique et donc dans le DB d'instance DB300.


Figure 03

L'établissement de la liaison est lancé 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 de la liaison est incluse dans le bloc de données d'instance du FB300. La zone mémoire qui contient le paramétrage de la liaison, est indiquée sur le paramètre d'entrée "CONNECT" du FB65 "TCON".
La liaison est établie lors du démarrage du système et reste établie 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 04

La requête d'émission est lancée par un front montant sur le paramètre d'entrée "REQ" du FB63 "TSEND". Cette requête est activée par le mémento de cadence M10.6 et la variable  "C1.SEND_BUSY". Lorsque la requête d'émission est en cours, "C1. SEND_BUSY" est à 1. Il n'est de la sorte pas possible de lancer une nouvelle requête d'émission (voir figure 05).
Indiquez au paramètre d'entrée "DATA", la zone mémoire qui contient les données à envoyer.
Indiquez au paramètre d'entrée "LEN", le nombre d'octets à envoyer. Les paramètres de sortie "DONE", "ERROR" et "STATUS" seront nécessaires pour le diagnostic de la commande.


Figure 05

Lorsque la requête d'émission s'est terminée avec succès, "C1.SEND_BUSY" est remis à zéro. Une nouvelle émission peut alors être lancée.

Lorsque la requête d'émission s'est terminée avec erreur, "C1.SEND_BUSY" est également remis à zéro et la valeur du paramètre de sortie "STATUS" du FB63 est sauvegardée pour une analyse de l'erreur.


Figure 06


Figure 07

Les données peuvent être reçues dès que la liaison TCP est établie. L'adresse et la longueur de la zone de données dans laquelle les données reçues doivent être rangées, sont indiquées au paramètre d'entrée "DATA".


Figure 08

Le paramètre de sortie "NDR" informe que de nouvelles données ont été reçues. Le paramètre de sortie "LEN" donne la longueur des données reçues.
Si les données ne sont pas reçues avec succès, la valeur du paramètre de sortie "STATUS" sera sauvegardée et évaluée.


Figure 09

Le FB66 "TDISCON" permet de fermer volontairement  la liaison TCP. La commande de fermeture de la liaison TCP est lancée par un front montant sur le paramètre d'entrée "REQ" du FB66 "TDISCON".


Figure 10

Note
Dans cet exemple, c'est le protocole TCP qui est utilisé, c'est-à-dire que dans le paramétrage UDT65, le paramètre "connection_type" est défini avec une valeur de "B#16#11".
Les CPU S7-300 V2.3 prennent en charge le TCP (mode compatible). Lorsque l'exemple de programme doit être utilisé sur une CPU S7-300 V2.3, veuillez modifier le paramètre "connection_type" de l'UDT65 en "B#16#01".

Téléchargement du projet STEP 7
Le projet STEP 7 contient un programme exemple pour l'appel du FB300 ainsi que la fonction FC97 "SET_TCP_ENDPOINTx", les blocs FB65 "TCON", FB66 "TDISCON", FB63 "TSEND" et FB64 "TRECV" avec une évaluation des mots d'états. Il a été créé avec STEP 7 V5.5.

Sample_open_TCP.zip ( 46 KB )

Autres informations

  • Des informations détaillées traitant de la communication ouverte avec 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.
  • Un guide de configuration d'une liaison TCP pour la communication via les CPs Industrial Ethernet des S7-300 et S7-400 figure dans l'article ID: 22385024.

 ID contribution:29737950   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