Description Pour l'échange de données par l'interface intégrée Industrial Ethernet des CPUs ou via le CP443-1 Advanced, vous pouvez utiliser entre autres, la communication ouverte sur Industrial Ethernet. Les protocoles suivants sont supportés :
Les blocs de communication suivants sont disponibles, pour réaliser une communication ouverte sur Industrial Ethernet via le protocole ISO-on-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 fonctionnels 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 ISO-on-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. Elle est à paramétrer par l'utilisateur. Par contre la liaison ISO-on-TCP ne doit pas être 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". Ce manuel est disponible dans le FAQ Nr: 1214574.
Description du programme exemple Le programme S7 contient l'appel du FB65 "TCON" et la structure de données UDT65 "TCON_PAR" renseignées pour réaliser l'établissement d'une liaison ISO-on-TCP. De plus, le programme S7 fait appel aux blocs de communication FB63 "TSEND" et FB64 "TRCV" de la Standard Library - > Communication Blocks. Le FB63 "TSEND" permet d'envoyer des données à une station S7/S5, une station PC ou à un système tiers. Le FB64 "TRCV" permet la réception des données provenant d'une station S7/S5, d'une station PC ou d'un système tiers.
Créez d'abord la configuration matérielle de votre station S7-300. Assurez-vous que l'octet de mémento 10 est configuré comme mémento de cadence. C'est par ces bits de 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, FB400, DB400, FB420, 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 "START-UP".
OB1 L'OB1 est appelé cycliquement. Dans cet OB, l'appel du FB400 (bloc d'instance DB400) est paramétré avec M0.3 "START-UP" comme paramètre (INIT_COM). Le bit M0.3 "START-UP" est remis à zéro à la fin de l'OB1.

Figure 01
FB400 Le bloc FB400 "TSEND_TRECV_ISO1" doit être appelé dans le bloc cyclique OB1. Le bloc FB400 fait appel aux différents blocs fonctionnel de communication suivants :
- FB420 "SET_ISO_PARAM"
- FB65 "TCON",
- FB63 "TSEND",
- FB64 "TRCV",
- FB66 "TDISCON"

Figure 02
Les paramètres locaux et distants de la liaison ISO-on-TCP sont définis via les paramètres d'entrées du bloc fonctionnel FB420 "SET_ISO_PARAM".
| Paramètre d'entrée |
Type de données |
Description |
| ID |
Word |
Numéro d'identification de la liaison |
| DEV_ID |
Byte |
B#16#0 pour un CP443-1 Adv
B#16#1 pour un IM151-8 PN/DP CPU ou B#16#2 pour une CPU 31x-2PN/DP, IM154-8 CPU ou
B#16#3 pour une CPU 319-3PN/DP ou
B#16#5 pour une CPU 412-2 PN, CPU 414-3 PN/DP, CPU 416-3 PN/DP |
| ACTIV |
Bool |
vrai = établissement d'une liaison active
faux = établissement d'une liaison passive |
| TSAP |
Struct |
TSAP local pour la CPU et TSAP distant du partenaire de communication |
| IP_ADDR1 |
Int |
Adresse IP du partenaire de communication distant |
| IP_ADDR2 |
Int |
| IP_ADDR3 |
Int |
| IP_ADDR4 |
Int |
Tableau 01
Le paramètre d'entrée "TSAP" est une donnée de type structure et composée des éléments suivants:
| Paramètre |
Type de données |
Description |
| LOC_RACK_SLOT |
Byte |
B#16#0: Les deux premiers octets du TSAP local ne sont pas définis avec les valeurs par défaut 0xE0 (hex) et 0x02 (hex).
B#16#2: Les deux premiers octets du TSAP local sont définis avec les valeurs suivantes :
- Octet 0: 0xE0(hex)
- Octet 1: 0x02(hex)
|
| LOC_TSAP |
String |
- TSAP local (point terminal de la liaison)
- La chaîne de caractères ASCII définie par défaut est: 'TCP-1'.
|
| CP_RACK_SLOT |
Byte |
Lorsque la communication est réalisée à l'aide d'un CP443-1 Advanced, il faut indiquer le numéro du rack et du numéro d'emplacement du CP. |
| REM_RACK_SLOT |
Byte |
B#16#0: Les deux premiers octets du TSAP du partenaire distant de communication ne sont pas définis avec les valeurs par défaut 0xE0 (hex) et 0x02 (hex).
B#16#2: Les deux premiers octets du TSAP du partenaire distant de communication ne sont pas définis avec les valeurs par défaut:
- Octet 0 : 0xE0(hex)
- Octet 1 : 0x02(hex)
|
| REM_TSAP |
String |
- TSAP distant (nœud d'extrémité distant de la liaison) du partenaire de communication
- La chaîne de caractères ASCII définit par défaut est: 'TCP-1'.
|
Tableau 02
Remarques Si la CPU accepte les TSAP au format ASCII, il n'est pas nécessaire que les deux premiers octets de TSAP local soient définis avec les valeurs 0xE0 et 0x02.
Vous trouverez ci-dessous les CPU qui acceptent des TSAP contenant des caractères ASCII.
- CPU 315-2 PN DP, CPU 317-2 PN/DP à partir de la V3.1
- CPU 319-3 PN/DP à partir de la V2.7
- CPU 414-3 PN/DP, CPU 416-3 PN/DP à partir de la V5.2
- CPU 412-2 PN à partir de la V6.0
- IM 151-8 PN/DP CPU à partir de la V2.7
- IM 154-8 CPU à partir de la V3.2
Définition des TSAP locaux et distants du partenaire de communication Voici les TSAPs qui ont été définis pour notre exemple :
| |
TSAP local dans la CPU |
TSAP distant du partenaire de communication |
| Valeur initiale(ASCII) |
TCP-1 |
TCP-1 |
| Valeur initiale(hex) |
E0.02.54.43.50.2D.31 |
54.43.50.2D.31 |
Tableau 03
Dans l'interface de paramétrage du FB400, modifiez la valeur des TSAP locaux et distants en fonction de votre configuration (voir figure 04). Dans la structure "T_TSAP" saisissez, en tant que valeur initiale, les paramètres "LOC_TSAP" et "REM_TSAP" le TSAP local et distant de votre configuration.
Si les deux premiers octets du TSAP local doivent être définis dans la CPU avec les valeurs 0xE0 et 0x02, alors vous devez modifier le paramétrage de l'interface du FB400. Vous devez alors saisir la valeur initiale "B#16#2" pour le paramètre "LOC_RACK_SLOT" dans la structure "T_TSAP".
De même si les deux premiers octets du TSAP distant du partenaire de communication doivent être définis avec les valeurs 0xE0 et 0x02, vous devez modifier également les paramètres de l'interface du FB400. Saisissez la valeur "B#16#2" pour le paramètre "REM_RACK_SLOT"dans la structure "T_TSAP".
Figure 03
Définition du numéro d'identification de la liaison. Le numéro d'identification de la liaison peut être modifié. Pour cela adaptez le numéro de liaison programmé dans le réseau 2 du FB400 en fonction de votre propre configuration. Ce numéro d'identification de la liaison est stocké dans une variable statique et donc disponible via la table de donnée d'instance du FB400.
Dans notre exemple le numéro d'identification de la liaison a été défini avec la valeur "1".

Figure 04
Etablissement de la liaison L'établissement de la liaison est démarré par un front positif 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 FB400. La plage 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 active tant qu'elle n'est pas par exemple fermée par le FB66 "TDISCON", par un passage de STOP de la CPU ou par la mise hors tension de l'alimentation. .

Figure 05
La commande d'émission est lancée par un front positif sur le paramètre d'entrée "REQ" du FB63 "TSEND". Cette commande est activée par le mémento de cadence M10.6 et la variable "C1.SEND_BUSY". Pendant l'exécution du contrat démission, "C1. SEND_BUSY" est à 1. Un nouveau lancement de la commande d'émission n'est alors pas possible.
Indiquez la plage mémoire qui contient les données à envoyer, dans le paramètre d'entrée "DATA". Indiquez le nombre d'octets à envoyer dans le paramètre d'entrée "LEN" l. Les paramètres de sortie "DONE", "ERROR" et "STATUS" seront nécessaires pour le diagnostic de la commande.

Figure 06
"C1.SEND_BUSY" est remis à zéro lorsque la commande d'émission s'est terminée avec succès. Une nouvelle émission peut alors être lancée.
"C1.SEND_BUSY" est également remis à zéro lorsque la commande d'émission s'est terminée avec erreur. La valeur du paramètre de sortie "STATUS" du FB63 est alors sauvegardée pour une analyse de l'erreur.

Figure 07

Figure 08
Les données peuvent être reçues dès que la liaison ISO-on-TCP est établie. L'adresse et la longueur de la plage de données où les données reçues doivent être rangées sont indiquées au paramètre d'entrée "DATA" et "LEN".

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 "RCV_LEN" donne la longueur des données qui ont été reçues.
Si les données ne sont pas reçues avec succès, la valeur du paramètre de sortie "RCVD_LEN" sera sauvegardée.

Figure 10
Si les données ne sont pas reçues avec succès, la valeur du paramètre de sortie "STATUS" sera sauvegardée et testée.

Figure 11
Avec le FB66 "TDISCON", il est possible de fermer volontairement la liaison ISO-on-TCP. La commande pour la fermeture de la liaison ISO-on-TCP est démarrée par un front positif sur le paramètre d'entrée "REQ" du FB66 "TDISCON".

Figure 12
Téléchargement du projet STEP 7 Le projet STEP 7 contient un programme exemple pour l'appel du FB400 "TSEND_TRECV_ISO1" ainsi que le bloc fonctionnel FB420 "SET_ISO_PARAM", FB65 "TCON", FB66 "TDISCON", FB63 "TSEND" et FB64 "TRECV" avec une évaluation des mots d'états. Il a été créé avec STEP 7 V5.4 SP5
Sample_open_ISO.zip ( 52 KB )
Configuration d'autres liaisons ISO-on-TCP
Pour la configuration d'autres liaisons ISO-on-TCP, copiez le FB400 pour obtenir un autre bloc fonctionnel (par exemple FB401). Modifiez les paramètres et générez un nouveau bloc de données d'instance.
Remarque
Vous pouvez créer les paramètres de liaison de la liaison ISO-on-TCP avec l'outil "Open Communication Wizard". L'outil "Open Communication Wizard" est téléchargeable dans le FAQ Nr : 47885440.
|