Vous êtes sur la page 1sur 12

8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support,

t, Technical Consulting

Automation Technology > Communication industrielle > PROFIBUS > Connexions système > SIMATIC
S7

PROFIBUS S7-300/400 CPs -- Montage et paramétrage matériel -- Initialisation et paramétrage de


modules

Quels esclaves DP peuvent être insérés ou retirés sur un système maître DP au moyen de la
fonction CiR (configuration in RUN) et quelles préconisations système préalables le système
maître DP doit-il remplir ?
Où trouver des programmes exemples S7 et la documentation pour la communication via des
passerelles et des composants réseaux, et pour la sécurité dans les réseaux sur le CD SIMATIC
NET Quickstart?
Communication Maître / Esclave (SIMOVERT) sur Profibus- DP
Effacement général d'un CP443-5 Extended à partir de NCM S7 PROFIBUS-Diagnostic.
CP443-5 Extended, rechargement d'une configuration avec de grandes quantités de liaisons.
Données systèmes incohérentes lors du retrait d'un maître PROFIBUS-DP sur le réseau
A quoi f aut -il f aire at t ent ion lors que l'on c onf igure un CP 342-5 en maît re DP ?
P ourquoi es t -il néc es s aire d'appeler dans le programme applic at if de la CP U les
bloc s f onc t ion FC1 " DP _ S E ND" et FC2 " DP _ RE CV " pour pouv oir t rans f érer les
données ?
Pour quelle raison, est-ce que certaines des versions des nouvelles cartes de SIMATIC NET,
manquent du catalogue matériel ?
CP342-5 - Comment modifier l'adresse PROFIBUS ou le mode de fonctionnement du CP342-5 en
exploitation ?
A quoi faut-il faire attention lorsque l'on configure un CP342-5 en maître DP ? Pourquoi est-il nécessaire
d'appeler dans le programme applicatif de la CPU les blocs fonction FC1 "DP_SEND" et FC2
"DP_RECV" pour pouvoir transférer les données ?
Inf ormat ions de c onf igurat ion :
Vous trouverez dans ce FAQ les précautions à prendre lors de la mise en place d'un coupleur de
communication CP342-5 en tant que maître DP et les raisons pour lesquelles il est nécessaire d'appeler
dans votre programme applicatif les blocs fonction FC1 "DP_SEND" et FC2 "DP_RECV" pour pouvoir
transférer et récupérer les données.

Ce FAQ est composé des chapitres suivants :

1. Différences dans la communication lors de l'utilisation de l'interface Profibus DP interne de la


CPU et d'un CP443-5 EXT
2. Communication en utilisant un CP342-5
3. Paramétrage des paramètres des blocs fonction FC1 "DP_SEND" et FC2 "DP_RECV"
4. Exploitation de la valeur de retour des fonctions FC1 et FC2
5. Échange de données entre CPU, CP342-5 et plage d'E/S de l'esclave DP
6. Recommandation pour la programmation

1. Dif f érenc es dans la c ommunic at ion lors de l'ut ilis at ion de l'int erf ac e P rof ibus DP
int erne de la CP U et d'un CP 443-5 E X T
Lors de l'utilisation de l'interface Profibus DP interne des CPU ou du CP443-5 EXT, vous pouvez
accéder aux données des esclaves DP avec les instructions de chargement et de transfert ou avec les
fonctions systèmes SFC14/15.

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction=… 1/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

Figure 01

Figure 02

2. Communic at ion en ut ilis ant un CP 342-5


Si vous utilisez le CP342-5, vous ne pouv ez pas accéder directement aux données des esclaves DP
en utilisant les instructions de Chargement/Transfert ou des instructions combinatoires sur bit.

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction=… 2/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

Figure 03

Pour pouvoir accéder aux E/S il faut procéder en deux temps.

Les données à écrire dans les esclaves DP doivent être transférées de la CPU vers le CP342-5
et ensuite du CP342-5 vers les esclaves DP.
Les données provenant des esclaves DP sont disponibles d'abord dans le CP342-5. Puis ensuite
le CP342-5 transfère les données dans la CPU.

La communication entre la CPU et le CP342-5 est réalisée à l'aide des bloc fonction FC1 "DP_SEND"
et FC2 "DP_RECV". Les données transférées du CP342-5 vers les esclaves DP se font de manière
automatique.

Lors de l’ajout d’un système maître Profibus DP via un CP342-5 dans la configuration matérielle, vous
êtes informé sur le fait de devoir utiliser les blocs de fonction FC1 "DP_SEND" et FC2 "DP_RECV"
dans votre programme pour réaliser les échanges de données avec les esclaves DP.

Figure 04

Not e
Les différences entre l'interface Profibus intégrée d'une CPU S7-300 et celle d'un CP342-5 sont décrites
dans le FAQ Nr: 689920.

3. P aramét rage des paramèt res des bloc s f onc t ion FC1 " DP _ S E ND" et FC2 " DP _ RE CV "
Les fonctions FC1 "DP_SEND" et FC2 "DP_RECV" disposent des paramètres d'entrée suivants :

CPLADDR
http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction=… 3/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

SEND oder RECV

P aramét rage de l'ent rée " CP LA DDR"


Spécifiez pour le paramètre "CPLADDR" l’adresse de début de la carte de communication CP342-5.
Cette adresse correspond à une adresse 16 bits donnée dans la configuration matérielle. Vous
trouverez l'adresse exacte du CP342-5 en double-cliquant sur celui-ci et en allant dans l'onglet
"Adresses". L'adresse est donnée dans le champ "début "de l'adresse du module.

Figure 05

La longueur de ces adresses (16 Byte) n’a pas d’influence :

sur le nombre d’esclave susceptible de fonctionner avec le maître DP,


sur la taille de la zone E/S devant être adressées,
le point de la zone de début d’E/S.

Cette valeur sera utilisée par la CPU pour adresser la carte CP342-5 et il n’y a rien d’aut re à f aire
concernant l’adressage des E/S pour les esclaves DP raccordés.

Cette adresse devra être spécifiée dans les blocs fonctions FC1 "DP_SEND" et FC2 "DP_RECV", car il
est possible de mettre en œuvre plusieurs CP simultanément sur une CPU . Il s'agit donc de préciser,
via cette adresse, le système maître DP ou CP de votre choix pour effectuer les échanges des
données .

Not e
La valeur de l'adresse de début de zone donnée par la configuration matérielle est donnée en décimale.
Vous devez spécifier pour le paramètre "CPLADDR" la valeur au format hexadécimal.

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction=… 4/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

La figure suivante illutstre un appel des blocs de communication FC1 "DP_SEND" et FC2 "DP_RECV"
dans le programme pour que la CPU puisse échanger des données avec le CP342-5 et que ce dernier
puisse réaliser la communication entre le système maître DP et les esclaves DP.

Figure 06

P aramét rage des paramèt res d'ent rées " S E ND" et " RE CV "
Au paramètre d'entrée "SEND", spécifiez l'adresse et la longueur de la zone de données qui contient les
données à transférer. Ces données sont transférées de la CPU vers le CP342-5 et ensuite du CP342-5
vers les esclaves DP.

Au paramètre d'entrée "RECV", spécifiez l'adresse et la longueur de la zone de données où sont


transférées les données reçues ( tampon de réception). Le CP342-5 transfère les données provenant
des esclaves DP vers le tampon de réception défini dans la CPU.

Les paramètres "SEND" et "RECV" nécessite un format Pointeur de type "ANY" (par exemple
"P#DB1.DBX3.0 BYTE 37"). Dans cet exemple, le pointeur pointe sur le bit Bit 0 du Byte 3 du bloc de
données DB1. Le champ "BYTE 37" correspond à la longueur d’octet qui sera transférée

Not e
Le Format "ANY" permet en principe d’autres spécifications de longueur. Cependant, pour les fonctions
FC1 "DP_SEND" et FC2 "DP_RECV" vous devez spécifier la longueur en B y t e obligatoirement

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction=… 5/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

Figure 07

4. E x ploit at ion de la v aleur de ret our des f onc t ions FC1 et FC2
Le FC1 "DP_SEND" dispose des paramètres de sorties "DONE", "ERROR" et "STATUS" qui donnent
l’état et les informations résultant des données transférées.

Le FC2 "DP_RECV" dispose des paramètres "NDR", "ERROR", "STATUS" et "DPSTATUS" pour
signaler l’état du succès de réception et l’état des données transférées.

Vous devez par conséquent alimenter avec les variables adéquates ces paramètres pour pouvoir tester
dans votre programme l’état de l’échange. Dans l’exemple ci-après, ces paramètres sont affectés avec
des mémentos.

Le transfert des données avec le FC1 "DP_SEND" a été réalisé complètement et avec succès lorsque
les conditions suivantes ont été remplies :

la valeur du paramètre de sortie "ERROR" est à "Faux" et que


la valeur du paramètre de sortie "STATUS" est à 0 et que
la valeur du paramètre de sortie "DONE" est à 1.

Le transfert des données avec le FC2 "DP_RECV" a été réalisé complètement et avec succès lorsque
les conditions suivantes ont été remplies :

la valeur du paramètre de sortie ""ERROR" est à "Faux" et que


la valeur du paramètre de sortie "STATUS" est à 0 et que
la valeur du paramètre de sortie "NDR" est à 1.

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction=… 6/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

Figure 08

Lorsque les données ont été transférées avec succès, la valeur du paramètre de sortie "STATUS"
passe de 0 à 8180 (hex) et la valeur du paramètre de sortie "DONE" alterne entre 0 et 1 car les blocs
fonction FC1 "DP_SEND" et FC2 "DP_RECV" sont appelés cycliquement.

Si le transfert des données n’a pas réussi , alors aucun esclave n'est sollicité pour l’échange de
données avec le maître DP ou aucune données pour cet esclave sont valables. La zone complète E/S
du système maître DP,- par exemple si tous les esclaves sont raccordés – sera défaillante lors d’une
perte de communication

A ut res inf ormat ions


Vous trouverez d'autres informations à propos du paramétrage et de l'évaluation de l'état des blocs
fonctions FC1 "DP_SEND" et FC2 "DP_RECV" dans le manuel technique des coupleurs CP " SIMATIC
NET, blocs de programme pour CP S7 SIMATIC NET' et disponible gratuitement dans le FAQ
Nr:30564821

5. É c hange de données ent re CP U, CP 342-5 et plage d'E / S de l'es c lav e DP


Dans le cas du FC1 "DP_SEND" ou du FC2 "DP_RECV", on ne spécifie jamais avec quel esclave les
données devront être écrites ou lues respectivement. Les accès directs aux esclaves ne sont pas
possibles avec le CP342-5 maitre DP.

Le CP342-5 lui-même dispose d’une mémoire de données interne pour la zone d'adresses des E/S des
esclaves. Le CP342-5 en tant que maître DP dispose d'une zone de 2160 Bytes pour la zone des
entrées ainsi que pour la zone des sorties. Ces zones de données sont copiées cycliquement vers la
zone de périphérie complète, ou bien elles sont lues depuis la zone de périphérie c omplèt e sans qu
l'utilisateur puisse ici avoir d’influence. L’adresse la plus haute que vous pouvez définir dans la zone de
périphérie E/S pour une zone de données de 2160 Bytes est de 2159.

Vous devez utiliser les blocs fonctions FC1 "DP_SEND" et FC2 "DP_RECV" pour effectuer la lecture
et l’écriture des données internes de la CP342-5.

Lors du paramétrage du pointeur, vous devez renseigner aux paramètres d'entrées SEND et RECV la
longueur de la zone de données à transférer. Cette zone de données, commençant à l’adresse 0 d’E/S
pour la zone de données interne du CP342-5, est écrite vers la zone de périphérie ou bien est lue à
partir de cette adresse.

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction=… 7/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

Une modification de la valeur initiale du pointeur sur les paramètres d'entrées SEND et RECV, n’a pas
d’influence sur le stockage des données dans la mémoire interne du CP342-5 et par conséquent n’a pas
d’influence sur le stockage dans la zone E/S des esclaves DP raccordés. Lorsque la fonction
FC1"DP_SEND" est utilisée, les données de la zone P#DB2.DBX3. 0 BYTE 17 sont transférées vers la
zone de périphérie E/S de 0 à 16 comme les données à partir de la zone P#DB2.DBX32. 0 BYTE 17.
Ainsi il n’est pas possible d’adresser la zone E/S d’un esclave DP spécifique. C’est t oujours la zone
de début d’adresse E/S, qui démarre avec l’adresse 0 et pour la longueur spécifiée dans le pointeur, qui
est mise à jour.

Not e
La plus haute adresse configurée d’E/S pour un esclave DP + 1 nous donne la longueur de la zone de
données qui doit être renseignée pour les paramètres "SEND" et "RECV" via le pointeur.

E x emple
Vous disposez d’un esclave DP (par exemple ET200M avec 16 DI et 16 DO) qui occupe la zone de
périphérie de 200 jusqu’à 201 . Dans ce cas vous devez spécifier une zone de données de 202 (0...201)
Bytes pour le pointeur (par exemple P#DB88.DBX13.0 BYTE 202), même si seulement 2 octets seront
transférés vers les esclaves.

Pour réaliser les fonctions qui utilisent un CP342-5 comme le montre la figure 02, vous devez écrire le
programme indiqué dans la figure 09.

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction=… 8/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

Figure 09

La figure ci-dessous donne la structure du bloc de données DB1. Ce bloc de données contient les
valeurs retournées par le bloc fonction FC2 "DP_RECV et la zone d'entrée utilisée.

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction=… 9/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

Figure 10

La figure ci-dessous donne la structure du bloc de données DB2. Ce bloc de données contient les
valeurs retournées par le bloc fonction FC1 "DP_SEND" et la zone de sortie utilisée.

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction… 10/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

Figure 11

Not e
Dans les tables de données DB1 et DB2, un décalage apparait lors du stockage des valeurs retournées
par les FC. Cependant vous pouvez stocker les valeurs renvoyées vers un autre type de données
comme par exemple des mémentos, un autre type de bloc de données ou à la fin des "Blocs de
données E/S ", à partir de l’adresse "0" .

6. Rec ommandat ion pour la programmat ion


Créez deux blocs de données.
Le premier bloc de données, dans l'exemple DB1, se chargera de couvrir la zone des données
d’adressage des entrées des esclaves DP raccordés.
Le second bloc de données, dans l'exemple DB2, se chargera de couvrir la zone des données
d’adressage des sorties des esclaves DP raccordés

Premièrement, vous appelez le bloc fonction FC1 "DP_SEND" et immédiatement après le bloc fonction
FC2 "DP_RECV" en lui spécifiant les blocs de données vus précédemment de la manière suivante :
Pour le paramètre d'entrée SEND du FC1 "DP_SEND", spécifiez le bloc de données qui couvre la zone
d'adresse des sorties - dans l'exemple DB2.
Pour le paramètre d'entrée RECV du FC2 "DP_RECV", spécifiez le bloc de données qui couvre la zone
d'adresse des entrées - dans l'exemple DB1.

Vous pouvez aussi spécifier, pour le pointeur, le premier bit 'un bloc de données (par exemple
P#DB*.DBX0. 0 BYTE * ). Dans le traitement du programme vous accéderez aux plages des blocs de
données par les instructions de Chargement / Transfert comme si les adresses dans le bloc de
données étaient des adresses de la périphérie E/S

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction… 11/12
8/4/2014 Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

L DB1.DBB0 correspondant à L EB0


T DB2.DBB0 correspondant à T AB0

ID c ont ribut ion: 18208090 Dat e: 2012-02-27

© Siemens AG 2014 - Adresse bibliographique - Protection des données - Conditions d'utilisation

http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=26993439&load=treecontent&lang=fr&siteid=cseus&aktprim=0&objaction… 12/12

Vous aimerez peut-être aussi