Académique Documents
Professionnel Documents
Culture Documents
Avant-propos
Généralités sur le
SIMATIC NET ___________________
maniement 1
___________________
Blocs de programme pour
Industrial Ethernet 2
SIMATIC NET
___________________
Blocs de programme pour
PROFINET IO (S7-300) 3
___________________
Historique du document A
_______________
Bibliographie ____
B
10/2012
C79000-G8977-C229-07
Mentions légales
Signalétique d'avertissement
Ce manuel donne des consignes que vous devez respecter pour votre propre sécurité et pour éviter des
dommages matériels. Les avertissements servant à votre sécurité personnelle sont accompagnés d'un triangle de
danger, les avertissements concernant uniquement des dommages matériels sont dépourvus de ce triangle. Les
avertissements sont représentés ci-après par ordre décroissant de niveau de risque.
DANGER
signifie que la non-application des mesures de sécurité appropriées entraîne la mort ou des blessures graves.
ATTENTION
signifie que la non-application des mesures de sécurité appropriées peut entraîner la mort ou des blessures
graves.
PRUDENCE
signifie que la non-application des mesures de sécurité appropriées peut entraîner des blessures légères.
IMPORTANT
signifie que la non-application des mesures de sécurité appropriées peut entraîner un dommage matériel.
En présence de plusieurs niveaux de risque, c'est toujours l'avertissement correspondant au niveau le plus élevé
qui est reproduit. Si un avertissement avec triangle de danger prévient des risques de dommages corporels, le
même avertissement peut aussi contenir un avis de mise en garde contre des dommages matériels.
Personnes qualifiées
L’appareil/le système décrit dans cette documentation ne doit être manipulé que par du personnel qualifié pour
chaque tâche spécifique. La documentation relative à cette tâche doit être observée, en particulier les consignes
de sécurité et avertissements. Les personnes qualifiées sont, en raison de leur formation et de leur expérience,
en mesure de reconnaître les risques liés au maniement de ce produit / système et de les éviter.
Utilisation des produits Siemens conforme à leur destination
Tenez compte des points suivants:
ATTENTION
Les produits Siemens ne doivent être utilisés que pour les cas d'application prévus dans le catalogue et dans la
documentation technique correspondante. S'ils sont utilisés en liaison avec des produits et composants d'autres
marques, ceux-ci doivent être recommandés ou agréés par Siemens. Le fonctionnement correct et sûr des
produits suppose un transport, un entreposage, une mise en place, un montage, une mise en service, une
utilisation et une maintenance dans les règles de l'art. Il faut respecter les conditions d'environnement
admissibles ainsi que les indications dans les documentations afférentes.
Marques de fabrique
Toutes les désignations repérées par ® sont des marques déposées de Siemens AG. Les autres désignations
dans ce document peuvent être des marques dont l'utilisation par des tiers à leurs propres fins peut enfreindre les
droits de leurs propriétaires respectifs.
Exclusion de responsabilité
Nous avons vérifié la conformité du contenu du présent document avec le matériel et le logiciel qui y sont décrits.
Ne pouvant toutefois exclure toute divergence, nous ne pouvons pas nous porter garants de la conformité
intégrale. Si l'usage de ce manuel devait révéler des erreurs, nous en tiendrons compte et apporterons les
corrections nécessaires dès la prochaine édition.
Composition du manuel
Le manuel est structuré suivant les types de réseau et les services de communication.
Tous les blocs de programme sont décrits dans les chapitres ci-après :
● Signification
● Interface d'appel
● Mode de fonctionnement
● Explication des paramètres formels
● Indications
Des informations complémentaires spécifiques peuvent s'y ajouter.
Remarque
STEP 7 - désignation synonyme
La désignation STEP 7 est utilisée ci-après dans le manuel comme synonyme des
désignations STEP 7 V5.5 ou STEP 7 Professional
Remarque
Types de CP et services de communication
Veuillez noter que chaque bloc de programme prend en charge des services de
communication bien définis. Leur utilisation est par conséquent limitée aux types de CP
qui prennent en charge les services de communication en question.
Remarque
Fourniture STEP 7 / STEP 7 Professional
La fourniture des bibliothèques STEP 7 V5.5 peut se distinguer de celle de STEP 7
Professional.
Les récapitulatifs de blocs de programme présentés dans ce manuel indiquent pour
quelles familles d'appareils (S7-300 et S7-400) ils sont disponibles. Les récapitulatifs
n'indiquent pas s'ils sont contenus dans les bibliothèques respectives de STEP 7 V5.5 ou
STEP 7 Professional.
Documentation remplacée
Le présent manuel remplace l'édition 07/2012.
Historique des versions pour les blocs de programme (FC/FB) et pour les CP S7 de SIMATIC NET
Le document "Historique des versions et téléchargements actuels pour les CP S7 SIMATIC
NET" renseigne sur tous les CP S7 pour SIMATIC NET livrables jusqu'à ce jour
(Ind.Ethernet, PROFIBUS et IE/PB-Link) ainsi que sur les blocs de programme (FC/FB).
Vous trouverez une édition toujours à jour de ces documents sur Internet sous le numéro
d'article suivant :
9836605 (http://support.automation.siemens.com/WW/view/de/9836605)
Avant-propos ............................................................................................................................................. 3
1 Généralités sur le maniement .................................................................................................................. 13
1.1 Blocs de programme pour Ind. Ethernet / PROFINET ................................................................13
1.2 Blocs de programme pour PROFIBUS ........................................................................................15
1.3 Paramétrage des appels de blocs de programme.......................................................................17
1.4 Paramètres pour affecter les CP et liaisons (paramètres d'entrée).............................................18
1.5 Paramètres pour indiquer une zone de données de la CPU (paramètres d'entrée) ...................19
1.6 Informations d'état (paramètres de sortie) ...................................................................................20
2 Blocs de programme pour Industrial Ethernet.......................................................................................... 21
2.1 Blocs de programme pour services de communication ouverts (Interface
SEND/RECEIVE) .........................................................................................................................21
2.1.1 Blocs de programme et leur utilisation en bref ............................................................................21
2.1.2 AG_SEND / AG_LSEND / AG_SSEND .......................................................................................25
2.1.2.1 Signification et appel - AG_SEND / AG_LSEND / AG_SSEND...................................................25
2.1.2.2 Mode de travail - AG_SEND / AG_LSEND / AG_SSEND ...........................................................26
2.1.2.3 Explication des paramètres formels - AG_SEND / AG_LSEND / AG_SSEND............................29
2.1.2.4 Indications AG_SEND, AG_LSEND et AG_SSEND ....................................................................30
2.1.3 AG_RECV / AG_LRECV / AG_SRECV .......................................................................................32
2.1.3.1 Signification et appel - AG_RECV / AG_LRECV / AG_SRECV...................................................32
2.1.3.2 Mode de travail de AG_RECV / AG_LRECV / AG_SRECV.........................................................33
2.1.3.3 Explication des paramètres formels - AG_RECV / AG_LRECV / AG_SRECV............................39
2.1.3.4 Indications de AG_RECV, AG_LRECV et AG_SRECV ...............................................................41
2.2 Blocs de programme pour coordonner l'accès avec FETCH/WRITE..........................................43
2.2.1 Blocs de programme et leur utilisation en bref ............................................................................43
2.2.2 AG_LOCK ....................................................................................................................................45
2.2.2.1 Signification et appel - AG_LOCK................................................................................................45
2.2.2.2 Explication des paramètres formels - AG_LOCK.........................................................................46
2.2.2.3 Indications du bloc AG_LOCK .....................................................................................................46
2.2.3 AG_UNLOCK ...............................................................................................................................47
2.2.3.1 Signification et appel - AG_UNLOCK ..........................................................................................47
2.2.3.2 Explication des paramètres formels - AG_UNLOCK ...................................................................48
2.2.3.3 Indications du bloc AG_UNLOCK ................................................................................................48
2.3 Blocs de programme pour diagnostic des liaisons et diagnostic système ..................................49
2.3.1 AG_CNTRL ..................................................................................................................................49
2.3.1.1 Signification et appel - AG_CNTRL .............................................................................................49
2.3.1.2 Mode de travail de AG_CNTRL ...................................................................................................51
2.3.1.3 Explication des paramètres formels - AG_CNTRL ......................................................................52
2.3.1.4 Indications de AG_CNTRL...........................................................................................................53
2.3.1.5 Commandes et résultats de la tâche - AG_CNTRL .....................................................................54
2.3.2 AG_CNTEX ..................................................................................................................................61
2.3.2.1 Signification et appel - AG_CNTEX .............................................................................................61
Remarque
Fourniture STEP 7 / STEP 7 Professional
La fourniture des bibliothèques STEP 7 V5.5 peut se distinguer de celle de STEP 7
Professional.
Légende :
1) Le bloc FB88 / FB90, fourni avec l'outil d'ingénierie SIMATIC iMap, est inscrit dans la bibliothèque système
PROFINET lors de l'installation du complément STEP 7.
2) À ne pas utiliser pour les CP actuels et ne figurant plus dans la bibliothèque "SIMATIC_NET_CP" actuelle.
3) Suivant le type de CP.
4) Décrit dans la documentation de STEP 7.
5) La description détaillée du bloc de programme PE_DS3_Write_ET200S_CP pour STEP 7 Professional se trouve ci-
après dans le présent document sous la description du bloc de programme DS3_WRITE_CP pour STEP 7 V5.5 qui est
fonctionnellement identique.
Les bibliothèques de blocs SIMATIC NET installées avec STEP 7 contiennent les versions
de bloc actuelles au moment de la mise sur le marché de STEP 7.
Remarque
Il est recommandé d'utiliser toujours les versions les plus récentes des blocs quel que soit le
type de module mis en œuvre.
Les informations sur les versions les plus récentes des blocs ainsi que ces blocs eux-mêmes
sont téléchargeables sur le site Internet Customer Support sous le numéro d'article suivant :
8797900 (http://support.automation.siemens.com/WW/view/de/8797900)
Cette recommandation implique que vous utilisez la version de firmware actuelle du type de
module en question.
Remarque
Veillez, quand vous remplacez un module, à n'utiliser dans le programme utilisateur que les
blocs autorisés pour le type de CP configuré.
Il est recommandé d'utiliser toujours les versions les plus récentes des blocs quel que soit le
type de module mis en œuvre.
Cette recommandation implique que vous utilisez la version de firmware actuelle du type de
module en question.
Remarque
Fourniture STEP 7 / STEP 7 Professional
La fourniture des bibliothèques STEP 7 V5.5 peut se distinguer de celle de STEP 7
Professional.
La colonne SIMATIC_NET_CP indique en outre dans quel dossier les blocs sont rangés.
Veuillez noter qu'il faut utiliser des blocs de programme différents pour les automates S7-
300 et S7-400 (bibliothèques distinctes).
BRCV FB13 x 1)
PUT FB15 x 1)
GET FB14 x 1)
USEND FB8 x 1)
URCV FB9 x 1)
C_CNTRL FC62 x 1)
1) Décrit dans la documentation STEP 7. Les SFB à utiliser pour les S7-400 sont mis à disposition par la bibliothèque
STEP 7.
2) Peut être utilisé, mais n'a pas de fonction particulière sous PROFIBUS.
Les bibliothèques de blocs SIMATIC NET installées avec STEP 7 contiennent les versions
de bloc actuelles au moment de la mise sur le marché de STEP 7.
Remarque
Il est recommandé d'utiliser toujours les versions les plus récentes des blocs quel que soit le
type de module mis en œuvre.
Les informations sur les versions les plus récentes des blocs ainsi que ces blocs eux-mêmes
sont téléchargeables sur le site Internet Customer Support sous le numéro d'article suivant :
8797900 (http://support.automation.siemens.com/WW/view/de/8797900)
Cette recommandation implique que vous utilisez la version de firmware actuelle du type de
module en question.
Remarque
Veillez, quand vous remplacez un module, à n'utiliser dans le programme utilisateur que les
blocs autorisés pour le type de CP configuré.
Il est recommandé d'utiliser toujours les versions les plus récentes des blocs quel que soit le
type de module mis en œuvre.
Cette recommandation implique que vous utilisez la version de firmware actuelle du type de
module en question.
Les manuels renseignent sur la compatibilité entre les CP S7 et les blocs de programme
correspondants.
IMPORTANT
Appeler les blocs de communication pour S7-300
Il n'est pas permis d'appeler les blocs de communication pour S7-300 (bibliothèque de
blocs SIMATIC NET pour S7-300 sous STEP 7) dans plusieurs niveaux d'exécution ! Si
vous appelez un bloc de communication dans l'OB1 et dans l'OB35, par exemple, il se
pourrait que son exécution soit interrompue par l'OB respectif de priorité supérieure.
Quand vous appelez les blocs dans plusieurs OB, vous devez faire le nécessaire dans
la programmation pour qu'un bloc de communication en cours d'exécution ne soit pas
interrompu par un autre bloc de communication (par ex. au moyen de la SFC
Inhiber/valider alarmes).
Reprise automatique des paramètres de bloc (décrite ici pour STEP 7 V5.5.)
Afin de garantir le paramétrage correct des appels de bloc, STEP 7 offre dans l'éditeur
CONT/LIST/LOG la possibilité de reprendre automatiquement tous les paramètres
significatifs de la configuration matérielle (HW Config) et de la configuration des liaisons
(NetPro).
Pour cela, faites comme suit pour paramétrer le bloc dans le programme utilisateur :
1. Sélectionnez l'appel du bloc et ses paramètres de bloc.
2. Avec le bouton droit de la souris, choisissez la commande de menu "Liaisons...".
3. Selon le type de bloc, vous pouvez sélectionner dans une liste la liaison et / ou le module
prévus pour le bloc.
4. Confirmez votre sélection ; les valeurs de paramètre disponibles sont alors écrites autant
que possible dans l'appel du bloc.
Remarque
Si vous adressez par erreur non pas un CP mais un autre type de module, les erreurs qui en
découlent ne sont pas signalées par des messages d'erreur des blocs de programme.
Remarque
Sachez que les indications d'état DONE, NDR, ERROR, STATUS sont actualisées à
chaque appel de bloc.
Généralités
Les blocs de programme suivants sont disponibles pour la transmission de données au
niveau de l'interface SEND/RECEIVE :
● Pour S7-400 :
– Pour les blocs de programme AG_SEND / AG_RECV, la longueur de données par
tâche est limitée à <= 240 octets.
Les enregistrements plus longs (jusqu'à 8192 octets) peuvent être transmis à l'aide
des FC AG_LSEND ou AG_LRECV.
– Les blocs de programme AG_SSEND et AG_SRECV servent à transmettre les
données plus rapidement en utilisant une communication optimisée entre la CPU et le
CP dans la station S7. Cette communication rapide reste sans effet sur la
communication LAN.
– Sur S7–400, il n'est pas possible d'utiliser le FC6 sur les liaisons TCP, mais seulement
le FC60 ou le FC63.
Informations complémentaires
Veuillez consulter le manuel du CP S7 que vous utilisez pour vous renseigner sur la zone de
données supportée. Vous trouverez un récapitulatif des versions de FC/FB dans l'historique
des blocs SIMATIC NET.
Emploi
Le schéma ci-dessous montre l'emploi des blocs de programme décrits ici pour le transfert
bidirectionnel de données via une liaison configurée.
3URJUDPPH 3URJUDPPH
XWLOLVDWHXU XWLOLVDWHXU
67(3 67(3
=RQHVGHGRQQ«HV =RQHVGHGRQQ«HV
XWLOLVDWHXU XWLOLVDWHXU
Remarque
Sauf indication contraire, les explications données sur cette page et sur les suivantes
s'appliquent aux blocs AG_SEND / AG_LSEND et AG_RECV / AG_LRECV.
Exemples de programme
Les exemples de programme ci-après, disponibles sur Internet sous le numéro d'article
suivant, vous seront d'une aide précieuse
● Exemple de programme pour l'interface SEND/RECEIVE avec les blocs FC5 (AG_SEND)
et FC6 (AG_RECV) pour S7-300 :
17853532 (http://support.automation.siemens.com/WW/view/de/17853532)
● Exemple de programme pour l'interface SEND-RECEIVE avec les blocs FC50
(AG_LSEND) et FC60 (AG_LRECV) pour S7-400 :
18513371 (http://support.automation.siemens.com/WW/view/de/18513371)
Remarque
À propos de la longueur de la zone de données transmissible avec les anciennes versions
des CP Ethernet, veuillez tenir compte des indications données par l'information produit ou
le manuel du CP Ethernet que vous utilisez .
=RQHGHGRQQ«HVXWLOLVDWHXU
7DPSRQGH 3RUW ++LJK%\WH (% +/RZ%\WH %\WH
W¤FKHV (+ % + %\WH
$GUHVVH,3
+ + %\WH
(QW¬WHGHW¤FKH
'RQQ«HV
XWLOHV
Figure 2-1 Emission et réception programmée via une liaison UDP libre
Remarque
Après avoir lancé la tâche, vous n'êtes autorisé à modifier les paramètres d'appel sur
l'interface d'appel des blocs de programme AG_SEND et AG_RECV qu'après confirmation
de l'exécution de la tâche par le bloc de programme avec DONE=1 ou ERROR=1.
Si vous ne respectez pas cette obligation, il peut arriver que l'exécution soit abandonnée
avec erreur.
Indication d'état sur l'interface d'appel du FC ; particularité des versions de FC (seulement pour S7-
300) *)
Avec les FC AG_SEND (FC 5) et AG_RECV (FC 6), vous recevez les indications ci-dessous
dans les cas suivants :
● le CP est en STOP
● la liaison n'est pas configurée
● la liaison n'est pas établie
● la liaison est coupée
Indications :
● AG_SEND :
DONE=0 ; ERROR=1 ; Status=8183H
● AG_RECV :
DONE=0 ; ERROR=0 ; Status=8180H
ou
DONE=0 ; ERROR=1 ; Status=8183H
*) s'applique aux FC à partir de la version 4.0
Signification du bloc
Les blocs de programme AG_SEND / AG_LSEND / AG_SSEND remettent des données au
CP Ethernet qui les transmet via une liaison configurée.
La zone de données indiquée peut être une zone de mémentos ou une zone de bloc de
données.
L'exécution sans erreur est signalée quand la zone de données utilisateur a pu être envoyée
dans sa totalité via Ethernet.
Remarque :
sauf indication contraire, toutes les indications ci-après s'appliquent aux FC AG_SEND,
AG_LSEND et AG_SSEND.
Interface d'appel
Interface d'appel en représentation LOG
$*B6(1'$*B/6(1'$*B66(1'
$1< 6(1'
,17 /(1
LIST Explication
call fc 5 ( //Appel de bloc
ACT := M 10.0, //Lancement de la tâche par bit de mémento
ID := MW 12, //ID de liaison selon configuration
LADDR := W#16#0100, //=LADDR 256 déc. dans configuration matérielle
SEND := P#db99.dbx10.0 byte 240, //Tampon avec données d'émission
LEN := MW 14, //Longueur des données émises
DONE := M 10.1, //Indication d'exécution
ERROR := M 10.2, //Indication d'erreur
STATUS := MW 16 ); //Indication d'état
Remarque
Si vous voulez utiliser le FC53 AG_SSEND, vous devez sélectionner le mode de
fonctionnement "SPEED SEND/RECV" comme propriété dans la configuration de la liaison.
Mode de fonctionnement
Les organigrammes suivants montrent le déroulement normal dans le temps d'une
transmission de données déclenchée dans le programme utilisateur par le bloc AG_SEND.
Le mode de fonctionnement du FC dépend du type de CP utilisé.
● Cas 1 : déroulement avec FC5, FC50, FC53 dans les CP de S7–400
Dans S7–400, le CP exécute la transmission de toute la zone de données, quelle que soit
sa longueur, après le premier appel du bloc.
9DORULVHU$*B6(1'
DYHFGRQQ«HV
;
$&7
$*B6(1'
7¤FKHHQFRXUV
9DORULVHU$*B6(1'
$&7 /DWUDQVPLVVLRQGH
;
YLD(WKHUQHWHVWHQ
$*B6(1' FRXUV
7¤FKHHQFRXUV
$*B6(1'
7¤FKHWHUPLQ«HVDQVHUUHXU
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
L'indication d'état dans les paramètres de sortie DONE, ERROR et STATUS est actualisée à
chaque appel de bloc et peut être exploitée.
9DORULVHU$*B6(1'
DYHFGRQQ«HV
;
$&7
$*B6(1'
3ULVHHQFKDUJHGXEORF
7¤FKHHQFRXUV
GDQVOHWDPSRQG
«PLVVLRQ
9DORULVHU$*B6(1'
$&7
$*B6(1'
7¤FKHHQFRXUV 3ULVHHQFKDUJHGXEORF
GDQVOHWDPSRQ
G
«PLVVLRQ
$*B6(1'
7¤FKHHQFRXUV 3ULVHHQFKDUJHGXEORFQ
GDQVOHWDPSRQ
G
«PLVVLRQ
/DWUDQVPLVVLRQ /
HQUHJLVWUHPHQW;
YLD(WKHUQHWHVWHQFRXUV HVWWUDQVPLV
$*B6(1'
7¤FKHWHUPLQ«HVDQVHUUHXU
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
Remarque
En principe, il est possible d'appeler le FC plusieurs fois dans un cycle de CPU afin
d'accélérer le déroulement d'une tâche. Mais n'oubliez pas que ceci représentera une
charge pour le cycle de la CPU (différente selon le type de CPU) !
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
Voir aussi
/4/ (Page 296)
Signification du bloc
Le bloc de programme FC AG_RECV / AG_LRECV / AG_SRECV reçoit du CP Ethernet les
données transmises via une liaison configurée.
La zone indiquée pour cette prise en charge des données peut être une zone de mémentos
ou une zone de bloc de données.
L'exécution sans erreur est signalée quand les données du CP Ethernet ont pu être prises
en charge.
Remarque :
sauf indication contraire, toutes les indications ci-après s'appliquent aux FC AG_RECV et
AG_LRECV / AG_SRECV.
Appel
Interface d'appel en représentation LOG
$*B5(&9$*B/5(&9$*B65(&9
1'5 %22/
LIST Explications
call fc 6 ( //Appel du bloc
ID := MW 40, //ID de liaison selon configuration
LADDR := W#16#0100, //=LADDR 256 déc. dans configuration matérielle
RECV := P#M 0.0 BYTE 100, //Tampon pour données reçues
NDR := DB 110.DBX 0.6, //Indication de réception
ERROR := DB 110.DBX 0.7, //Indication d'erreur
STATUS := DB 110.DBW 2, //Indication d'état
LEN := DB 110.DBW 4 ); //Longueur des données reçues
Remarque
Si vous voulez utiliser le FC63 AG_SRECV, vous devez sélectionner le mode de
fonctionnement "SPEED SEND/RECV" comme propriété dans la configuration de la liaison.
Mode de fonctionnement
Les organigrammes suivants montrent le déroulement normal dans le temps d'une réception
de données déclenchée dans le programme utilisateur par le bloc AG_RECV.
Chaque tâche AG_RECV du programme utilisateur est acquittée par le CP Ethernet à l'aide
d'une indication dans les paramètres de sortie NDR, ERROR et STATUS.
Le mode de fonctionnement du FC dépend du type de CP utilisé et des types de liaison.
$*B5(&9
,OQ
\DHQFRUHDXFXQHGRQQ«H
/DWUDQVPLVVLRQGH
$
SDUH[RFWHWV
YLD(WKHUQHWHVWHQ
$*B5(&9
FRXUV
,OQ
\DHQFRUHDXFXQHGRQQ«H
$*B5(&9
7¤FKHWHUPLQ«HVDQVHUUHXU
5HFHYRLUH[SORLWHU
OHVGRQQ«HVUH©XHV
$
/DWUDQVPLVVLRQGH
%
SDUH[RFWHWVYLD
(WKHUQHWHVWHQFRXUV
$*B5(&9
,OQ
\DHQFRUHDXFXQHGRQQ«H
$*B5(&9
7¤FKHWHUPLQ«HVDQVHUUHXU
5HFHYRLUH[SORLWHU
OHVGRQQ«HVUH©XHV
%
$*B5(&9
/DWUDQVPLVVLRQGH
&
YLD(WKHUQHWHVWHQFRXUV
7UDQVIHUWGHVSDUDPªWUHV1'5(552567$786
Cas 2a : déroulement avec FC6 et FC60 dans les CP de S7-400 (liaisons ISO-Transport, ISO-on-
TCP, UDP)
En appelant le FC, le programme utilisateur prépare le tampon pour les données à recevoir
et ordonne au CP d'y écrire toutes les données disponibles.
Dès qu'un enregistrement a été stocké entièrement et de manière cohérente dans le tampon
de réception, le paramètre NDR=1 l'indique dans l'un des appels suivants du FC.
L'indication d'état dans les paramètres de sortie NDR, ERROR et STATUS est actualisée à
chaque appel du bloc et peut être exploitée.
$*B5(&9 /DWUDQVPLVVLRQGH
$
,OQ
\DHQFRUHDXFXQHGRQQ«H YLD(WKHUQHWHVWHQFRXUV
$*B5(&9
7¤FKHWHUPLQ«HVDQVHUUHXU
5HFHYRLUH[SORLWHU
OHVGRQQ«HVUH©XHV
$
/DWUDQVPLVVLRQGH
%
YLD(WKHUQHWHVWHQFRXUV
$*B5(&9
,OQ
\DHQFRUHDXFXQHGRQQ«H
$*B5(&9
7¤FKHWHUPLQ«HVDQVHUUHXU
5HFHYRLUH[SORLWHU
OHVGRQQ«HVUH©XHV
%
$*B5(&9
/DWUDQVPLVVLRQGH
&
YLD(WKHUQHWHVWHQFRXUV
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
Cas 2b : déroulement avec FC6 et FC60 dans les CP de S7-400 (seulement pour des liaisons TCP)
Avec la liaison TCP, c'est la longueur indiquée dans le pointeur ANY du paramètre RECV
qui est décisive. Une tâche FC6 /FC60 est terminée avec l'indication NDR=1 dès que la
quantité de données correspondant à la longueur indiquée a été écrite dans le tampon de
réception.
L'exemple choisi montre le cas où, avec un FC60, la longueur a été paramétrée à 400 octets
dans le pointeur ANY.
$*B5(&9
,OQ
\DHQFRUHDXFXQHGRQQ«H
/DWUDQVPLVVLRQGH
$
$*B5(&9 SDUH[RFWHWV
YLD(WKHUQHWHVWHQ
,OQ
\DHQFRUHDXFXQHGRQQ«H FRXUV
$*B5(&9
7¤FKHWHUPLQ«HVDQVHUUHXU
5HFHYRLUH[SORLWHU
OHVGRQQ«HVUH©XHV
$
/DWUDQVPLVVLRQGH
%
SDUH[RFWHWVYLD
(WKHUQHWHVWHQFRXUV
$*B5(&9
,OQ
\DHQFRUHDXFXQHGRQQ«H
$*B5(&9
7¤FKHWHUPLQ«HVDQVHUUHXU
5HFHYRLUH[SORLWHU
OHVGRQQ«HVUH©XHV
%
$*B5(&9
/DWUDQVPLVVLRQGH
&
YLD(WKHUQHWHVWHQFRXUV
7UDQVIHUWGHVSDUDPªWUHV1'5(552567$786
Cas 3a : déroulement avec FC63 dans les CP de S7-400 (liaisons ISO-Transport, ISO-on-TCP, UDP)
En appelant le FC, le programme utilisateur prépare le tampon pour les données à recevoir
et ordonne au CP d'y écrire toutes les données jusqu'à la fin de la transmission, c.-à-d.
quand la longueur indiquée par le pointeur ANY est atteinte.
Dès que l'enregistrement a été stocké entièrement et de manière cohérente dans le tampon
de réception, le paramètre NDR=1 l'indique dans l'un des appels suivants du FC.
La longueur maximale des données à recevoir est de 1452 octets. La taille du tampon de
réception doit toujours être réglée sur cette valeur.
L'indication d'état dans les paramètres de sortie NDR, ERROR et STATUS est actualisée à
chaque appel du bloc et peut être exploitée.
$*B5(&9
/DWUDQVPLVVLRQGH
$
7RXWHVOHVGRQQ«HV YLD(WKHUQHWHVWHQ
SURYHQDQWGH FRXUV
O
HQUHJLVWUHPHQW$VRQW
UDQJ«HVGDQVOH
WDPSRQ 7¤FKHWHUPLQ«HVDQVHUUHXU
5HFHYRLUH[SORLWHU
OHVGRQQ«HVUH©XHV
$
7UDQVIHUWGHVSDUDPªWUHV1'5(552567$786
Cas 3b : déroulement avec FC63 dans les CP de S7-400 (seulement pour des liaisons TCP)
En appelant le FC, le programme utilisateur prépare le tampon pour les données à recevoir
et ordonne au CP d'y écrire toutes les données momentanément disponibles. Tant que les
données n'ont pas été stockées entièrement dans le tampon, le message délivré est "Tâche
en cours" (8181H).
Le nouvel appel du FC sert à ranger dans le tampon les données actuellement disponibles.
Quand l'enregistrement a été stocké entièrement et de manière cohérente dans le tampon
de réception, le paramètre NDR=1 l'indique dans l'un des appels suivants du FC.
La longueur maximale des données à recevoir est de 1452 octets. La taille du tampon de
réception doit toujours être réglée sur cette valeur.
L'indication d'état dans les paramètres de sortie NDR, ERROR et STATUS est actualisée à
chaque appel du bloc et peut être exploitée.
$*B5(&9
67$786
/DWUDQVPLVVLRQGH
$
YLD(WKHUQHWHVWHQ
FRXUV
$*B5(&9
'RQQ«HVGLVSRQLEOHVGDQVOHWDPSRQ 7¤FKHWHUPLQ«HVDQVHUUHXU
5HFHYRLUH[SORLWHU
OHVGRQQ«HVUH©XHV
$
7UDQVIHUWGHVSDUDPªWUHV1'5(552567$786
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de NDR, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
Voir aussi
/4/ (Page 296)
Généralités
Les blocs de programme suivants sont disponibles pour coordonner l'accès dans le cadre de
la fonction FETCH/WRITE :
Mode de fonctionnement
Ces blocs de programme permettent de coordonner l'accès aux zones de mémoire système
afin d'éviter que des données incohérentes soient générées et transmises. Pour cela, le
contrôle est assuré par le programme utilisateur dans la CPU S7 qui peut, au besoin,
verrouiller par un appel AG_LOCK un accès FETCH/WRITE externe. Après un laps de
temps donné ou après que le propre accès en lecture/écriture est achevé, l'accès externe
peut être déverrouillé par une tâche AG_UNLOCK.
En outre, il est possible de limiter ce verrouillage à la liaison FETCH/WRITE spécifiée dans
l'appel. Si vous configurez plusieurs liaisons FETCH/WRITE, vous pouvez les utiliser
précisément pour certaines zones de mémoire système, par exemple, et réaliser ainsi une
coordination d'accès sélective.
Le schéma ci-après montre le déroulement habituel dans le temps d'une coordination
d'accès à la mémoire, commandée dans le programme utilisateur par AG_LOCK et
AG_UNLOCK.
^
$*B/2&.
&\FOHQ /2&.('
/
DFFªV)(7&+:5,7(
^
DX'%[HVWHQFRXUV
$*B/2&.
&\FOHQ
/2&.('
&\FOHQ
^
7UDLWHPHQWGHVGRQQ«HV
GDQV'%[
$*B/2&.
/2&.(' )(7&+:5,7(
)(7&+:5,7(UHMHW«
^
$*B81/2&.
&\FOHQP
67$786 [
/
DFFªV)(7&+:5,7(
DX'%[HVWHQFRXUV
La tâche de verrouillage doit d'abord être surveillée dans le programme utilisateur via
l'indication dans le paramètre retourné LOCKED. Tant que LOCKED=0, il faut présumer
qu'un accès FETCH/WRITE externe est encore en cours.
LOCKED=1 indique que le verrouillage est actif ; il est alors possible de modifier des
données depuis le programme utilisateur.
L'indication d'état est mise à jour à chaque appel du bloc.
2.2.2 AG_LOCK
Signification du bloc
Le bloc AG-LOCK permet de verrouiller l'échange de données par FETCH ou WRITE via la
liaison sélectionnée à l'aide du paramètre ID. La sortie LOCKED indique si le verrouillage a
été effectué ou pas. Si le verrouillage a échoué, il faut lancer de nouveau la tâche dans un
prochain cycle de la CPU.
La sortie STATUS indique l'état du CP pour cette liaison.
Appel
Interface d'appel en représentation LOG
$*B/2&.
,' /2&.('
/$''5 67$786
LIST Explication
call fc 7 ( //Appel du bloc
ID := DB 100.DBW 2, //ID de liaison selon configuration
LADDR := W#16#0100, //=LADDR 256 déc. dans configuration matérielle
LOCKED := DB 100.DBX 0.6, //Indication d'état du verrouillage d'accès
STATUS := DB 100.DBW 4 ); //Indication d'état
Indications
Le tableau ci-après renseigne sur l'indication STATUS à exploiter par le programme
utilisateur.
STATUS Signification
7000H Le CP ne traite aucune tâche
7001H FETCH en cours
7002H WRITE en cours
8183H FETCH/WRITE non configuré pour cette liaison (seulement pour S7-400)
8186H Numéro d'ID hors de la plage autorisée (par ex. 1...64 pour CP Industrial Ethernet de S7-400)
80A4H La liaison de bus de communication entre CPU et CP n'est pas établie (pour les nouvelles versions de CPU)
80B0H Le module ne connaît pas cet enregistrement.
80B1H L'indication de longueur (dans le paramètre LEN) est erronée.
80B2H La liaison de bus de communication entre CPU et CP n'est pas établie
80C0H Impossible de lire l'enregistrement.
80C1H L'enregistrement indiqué est en cours de traitement.
80C2H Engorgement des tâches.
80C3H Les ressources (mémoire) de la CPU sont temporairement occupées.
STATUS Signification
80C4H Erreur de communication
survient temporairement, une répétition dans le programme utilisateur est donc judicieuse.
80D2H L'adresse de début du module est erronée.
2.2.3 AG_UNLOCK
Signification du bloc
Le bloc AG_UNLOCK autorise l'accès externe aux zones de la mémoire utilisateur de la
CPU S7. L'accès est ensuite possible avec FETCH et WRITE via la liaision sélectionnée à
l'aide du paramètre ID.
L'accès avait été verrouillé auparavant par AG_LOCK.
Appel
Interface d'appel en représentation LOG
$*B81/2&.
,' 67$786
/$''5
LIST Explication
call fc 8 ( //Appel du bloc
ID := DB 100.DBW 2, //ID de liaison selon configuration
LADDR := W#16#0100, //=LADDR 256 déc. dans configuration matérielle
STATUS := DB 100.DBW 4 ); //Indication d'état
Mode de travail
Pour déverrouiller la liaison, le FC doit remettre le bit de requête LOCK à zéro. Le FC
indique en outre l'état actuel par des messages d'erreur.
Indications
Le tableau ci-après renseigne sur l'indication STATUS à exploiter par le programme
utilisateur.
STATUS Signification
7000H Le CP ne traite aucune tâche
7001H FETCH en cours
7002H WRITE en cours
8183H FETCH/WRITE non configuré pour cette liaison (seulement pour S7-400)
8186H Numéro d'ID hors de la plage autorisée (par ex. 1...64 pour CP Industrial Ethernet de S7-400)
80A4H La liaison de bus de communication entre CPU et CP n'est pas établie (pour les nouvelles versions de CPU)
80B0H Le module ne connaît pas cet enregistrement.
80B1H L'indication de longueur (dans le paramètre LEN) est erronée.
80B2H La liaison de bus de communication entre CPU et CP n'est pas établie
80C0H Impossible de lire l'enregistrement.
80C1H L'enregistrement indiqué est en cours de traitement.
80C2H Engorgement des tâches.
80C3H Les ressources (mémoire) de la CPU sont temporairement occupées.
80C4H Erreur de communication
survient temporairement, une répétition dans le programme utilisateur est donc judicieuse
80D2H L'adresse de début du module est erronée.
2.3.1 AG_CNTRL
Remarque
AG_CNTRL et AG_CNTEX
Le bloc de programme AG_CNTEX offre des fonctions complémentaires par rapport au bloc
de programme AG_CNTRL.
Toutes les fonctions du bloc AG_CNTRL sont contenues dans AG_CNTEX et utilisables de
manière identique au niveau de l'interface du programme utilisateur.
Interface d'appel
Interface d'appel en représentation LOG
$*B&175/
5(68/7 ':25'
LIST Explication
call fc 10 ( //Appel du bloc AG_CNTRL
ACT := M1.0, //Lancement de la tâche
ID := MW8, //ID de liaison selon configuration
LADDR := W#16#100, //Adresse de module selon configuration matérielle
CMD := MW6, //Identificateur de commande
DONE := M20.1, //Indication d'exécution
ERROR := M20.2, //Indication d'erreur
STATUS := MW22, //Indication d'état
RESULT1 := MD24, //Résultat 1 de la tâche
RESULT2 := MD28 ); //Résultat 2 de la tâche
Voir aussi
Article FAQ ID 33414377 (http://support.automation.siemens.com/WW/view/de/33414377)
Mode de travail
Le schéma suivant montre un déroulement typique de tâches AG_CNTRL dans le
programme utilisateur.
3URJUDPPHXWLOLVDWHXU (WKHUQHW&3
F\FOHGH&38
(VZLUGHLQ(UHLJQLVHUNDQQW
GDVGHQ$EEUXFKXQG1HXDXI
EDXHLQHU9HUELQGXQJVLQQYROO
PDFKW
$VVLJQHUGHVYDOHXUV¢
$*B&175/SRXU
LQWHUURJDWLRQG
«WDW
$&7 &0'
,' OLDLVRQ
$*B&175/6WDWXVDEIUDJH
/
LQWHUURJDWLRQG
«WDWGHOD
(WDWGHODOLDLVRQ,' OLDLVRQHVWDFTXLWW«
$VVLJQHUGHVYDOHXUV¢
$*B&175/SRXU
U«LQLWLDOLVDWLRQ
$&7 &0'
,' OLDLVRQ
$*B&175/5HVHW.RPPDQGR
$FTXLWWHPHQWG
DFFHSWDWLRQGH 5HTX¬WHGHU«LQLWLDOLVDWLRQHQ
W¤FKH FRXUV
5(68/7ಯ(WDEOLVVHPHQWGH /
LGHQWLILFDWHXUGHU«LQLWLDOLVDWLRQ
OLDLVRQG«FOHQFK«ರ
ELWGDQV5(68/7HVWPLV¢
(QWU«HGHWDPSRQGHGLDJQRVWLF
/DOLDLVRQHVW«WDEOLH
$VVLJQHUGHVYDOHXUV¢ HWU«LQLWLDOLV«H
$*B&175/SRXU /
LGHQWLILFDWHXUELWGDQV
LQWHUURJDWLRQG
«WDW 5(68/7UHVWH¢
$&7 &0'
,' OLDLVRQ
$*B&175/6WDWXVDEIUDJH
/
LQWHUURJDWLRQG
«WDWHVW
DFTXLWW«H
O
LGHQWLILFDWHXUGHU«LQL
(WDWGHODOLDLVRQ,' WLDOLVDWLRQELWGDQV
5(68/7
$FTXLWWHPHQW HVWHQVXLWHUHPLV¢
5(68/7%+
ಯ5«LQLWLDOLVDWLRQH[«FXW«Hರ
7HPSV 7HPSV
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786HW5(68/7
L'organigramme montre qu'on commence par interroger l'état de la liaison, puis que la
coupure de la liaison est ordonné au moyen d'une commande Reset dans une deuxième
tâche.
À cette occasion, le repère de réinitialisation est mis à 1 dans le CP (bit15 dans RESULT1).
Ceci permettra de reconnaître, lors d'une interrogation d'état ultérieure, si la liaison avait été
réinitialisée en raison d'une tâche Reset. Ce repère de réinitialisation ne sera remis à 0 dans
le CP qu'après une interrogation d'état (ou par suite d'une commande CN_CLEAR_RESET
explicite).
Remarque
Il faut que ACT=1 dans l'appel du bloc ; en cas d'appel avec ACT=0, la fonction n'est pas
appelée et le bloc est quitté immédiatement.
Le résultat de la tâche étant fourni de manière synchrone à l'appel avec le FC10, le bloc
peut être appelé de nouveau dans le même cycle.
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, ERROR et STATUS.
Il faut exploiter en outre les résultats des commandes dans les paramètres RESULT1/2
conformément à "Commandes et résultats de la tâche - AG_CNTRL (Page 54) ".
Remarque
Exploitation des commandes des anciens types de CP ou anciennes versions de firmware
Les commandes décrites ci-après sont prises en charge par les types de CP et versions de
firmware actuels. Tenez compte des informations complémentaires sur Internet fournies
sous le numéro d'article ci-après :
33414377 (http://support.automation.siemens.com/ww/view/de/33414377)
CMD Signification
0 NOP – no operation
Le bloc est parcouru sans qu'une tâche soit adressée au CP.
RESULT (pour CMD = 0) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H Déroulement sans erreur
RESULT2 0000 0000H Valeur par défaut
CMD Signification
1 CN_STATUS – connection status
Cette commande fournit l'état de la liaison sélectionnée par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
Si le bit 15 (identificateur de réinitialisation) était à 1, il est remis automatiquement à 0 (ce comportement
équivaut à la tâche CN_CLEAR_RESET - voir CMD = 5).
RESULT (pour CMD = 1) Valeur / signification
Paramètre Valeur hexa/plage Bit
RESULT1 0000 000*H Bits 0 à 3 : indications pour la direction d'émission
(valeurs exclues : 0x2)
Bit 0 Type de liaison
0: pas de liaison d'émission ou de réception
1: liaison réservée aux tâches d'émission et de
réception
Bit 1 Etat de la tâche actuelle
0: pas de tâche d'émission en cours
1: tâche d'émission en cours
Bits 2+3 Tâche précédente :
00: aucune information disponible sur la tâche
d'émission précédente
01: tâche d'émission précédente terminée sans erreur
10: tâche d'émission précédente terminée avec erreur
CMD Signification
1 CN_STATUS – connection status (Suite pour CMD=1)
Cette commande fournit l'état de la liaison sélectionnée par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
Si le bit 15 (identificateur de réinitialisation) était à 1, il est remis automatiquement à 0 (ce comportement
équivaut à la tâche CN_CLEAR_RESET - voir CMD = 5).
RESULT (pour CMD = 1) Valeur / signification
Paramètre Valeur hexa/plage Bit
CMD Signification
RESULT1 0000 00*0H Bits 4 à 7 : indications pour la direction de réception
(valeurs exclues : 0x2)
Bit 4 Type de liaison
0: pas de liaison d'émission ou de réception
1: liaison réservée aux tâches d'émission et de
réception
Bit 5 Etat de la tâche actuelle
0: pas de tâche de réception en cours
1: tâche de réception en cours
Bits 6+7 Tâche précédente :
00: aucune information disponible sur la tâche de
réception précédente
01: tâche de réception précédente terminée sans
erreur
10: tâche de réception précédente terminée avec
erreur
CMD Signification
1 CN_STATUS – connection status (Suite pour CMD=1)
Cette commande fournit l'état de la liaison sélectionnée par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
Si le bit 15 (identificateur de réinitialisation) était à 1, il est remis automatiquement à 0 (ce comportement
équivaut à la tâche CN_CLEAR_RESET - voir CMD = 5).
RESULT (pour CMD = 1) Valeur / signification
Paramètre Valeur hexa/plage Bit
RESULT1 0000 0*00H Bits 8 à 11 : indications pour FETCH/WRITE
(valeurs exclues :0x3,0x7,0x8,0xB,0xF)
Bit 8 Type de liaison
0: pas une liaison FETCH
1: liaison réservée pour tâches FETCH
Bit 9 Type de liaison
0: pas une liaison WRITE
1: liaison réservée pour tâches WRITE
CMD Signification
Bit 10 Etat de la tâche (FETCH/WRITE)
0: Etat de la tâche OK
1: Etat de la tâche NOT OK.
Cet identificateur est mis à 1 dans les cas suivants :
– La tâche a reçu un acquittement négatif de la
CPU.
– La tâche n'a pu être remise à la CPU, car la
liaison se trouvait à l'état "LOCKED".
– La tâche a été refusée, car l'en-tête
FETCH/WRITE n'était pas construit correctement.
Bit 11 Etat de la tâche FETCH/WRITE
0: aucune tâche en cours
1: une tâche de LAN en cours
CMD Signification
1 CN_STATUS – connection status (Suite pour CMD=1)
Cette commande fournit l'état de la liaison sélectionnée par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
Si le bit 15 (identificateur de réinitialisation) était à 1, il est remis automatiquement à 0 (ce comportement
équivaut à la tâche CN_CLEAR_RESET - voir CMD = 5).
RESULT (pour CMD = 1) Valeur / signification
Paramètre Valeur hexa/plage Bit
RESULT1 0000 *000H Bits 12 à 15 : informations générales sur le CP
(valeurs exclues : 0x3,0xB)
Bits 12 + 13 Informations sur l'état de liaison :
(disponibles seulement pour les liaisons SEND/RECV qui
utilisent les protocoles ISO/RFC/TCP ; pour UDP, les
informations internes correspondantes sont fournies)
00: La liaison est coupée
01: La liaison est en cours d'établissement
10: La liaison est en cours de coupure
11: La liaison est établie
Bit 14 Informations sur le CP
0: CP en STOP
1: CP en RUN
Bit 15 Identificateur de réinitialisation
0: Le FC10 n'a pas encore réinitialisé de liaison ou
l'identificateur a été remis à 0.
1: Le bloc Control a réinitialisé une liaison.
RESULT1 **** 0000H Bits 16 à 31 : réservés
0 – réservé à des extensions ultérieures
RESULT2 0000 0000H - réservé à des extensions ultérieures -
CMD Signification
2 CN_RESET – connection reset
Cette commande remet à 0 la liaison sélectionnée par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
La réinitialisation de la liaison provoque sa coupure et son rétablissement (actif ou passif, selon la
configuration). Les données reçues au moment de la coupure de la liaison mais pas encore réceptionnées par
le programme utilisateur sont effacées.
De plus, une entrée générée dans le tampon de diagnostic mentionne le résultat de la tâche.
RESULT (pour CMD = 2) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H La tâche Reset a été transmise correctement au CP.
La coupure de la liaison et le rétablissement suivant ont
été déclenchés.
0000 0002H La tâche Reset n'a pas pu être transmise au CP, car ce
service n'est pas démarré dans le CP (par ex. CP en
STOP).
RESULT2 0000 0000H Valeur par défaut
CMD Signification
3 CN_STATUS_ALL – all connections status
Cette commande fournit dans les paramètres RESULT1/2 (8 octets au total d'informations groupées) l'état de
toutes les liaisons (établie/coupée).
Le paramètre ID doit avoir la valeur "0" (il est testé à 0).
Le CP est sélectionné au moyen du paramètre LADDR.
Pour obtenir des informations de détail sur une liaison coupée ou non configurée, on peut lancer au besoin un
nouvel appel d'état avec CMD=1 et s'appliquant à la liaison en question.
RESULT (pour CMD = 3) Signification
Paramètre Valeur hexa/plage
RESULT1 **** ****H 32 bits : liaisons 1 à 32
0 - liaisons coupées / non configurées
1 - liaisons établies
RESULT2 **** ****H 32 bits : liaisons 33 à 64
0 - liaisons coupées / non configurées
1 - liaisons établies
CMD Signification
4 CN_RESET_ALL – all connections reset
Cette commande réinitialise toutes les liaisons.
Le paramètre ID doit avoir la valeur "0" (il est testé à 0).
Le CP est sélectionné au moyen du paramètre LADDR.
La réinitialisation des liaisons provoque leur coupure et leur rétablissement (actif ou passif, selon la
configuration). Les données reçues au moment de la coupure de la liaison mais pas encore réceptionnées par
le programme utilisateur sont effacées.
De plus, une entrée générée dans le tampon de diagnostic mentionne le résultat de la tâche.
RESULT (pour CMD = 4) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H La tâche Reset a été transmise correctement au CP. La
coupure de toutes les liaisons et leur rétablissement
suivant ont été déclenchés.
RESULT1 0000 0002H La tâche Reset n'a pas pu être transmise au CP, car ce
service n'est pas démarré dans le CP (par ex. CP en
STOP).
RESULT2 0000 0000H Valeur par défaut
CMD Signification
5 CN_CLEAR_RESET – remise à 0 de l'identificateur de réinitialisation
Cette commande remet à 0 l'identificateur de réinitialisation (bit 15 dans RESULT1) pour la liaison sélectionnée
par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
Cette tâche s'exécute aussi automatiquement à la lecture de l'état de la liaison (CMD=1) ; la tâche décrite ici,
qui peut être lancée séparément, n'est donc nécessaire que dans des cas spéciaux.
RESULT (pour CMD = 5) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H La tâche Clear a été transmise correctement au CP.
RESULT1 0000 0002H La tâche Clear n'a pas pu être transmise au CP, car ce
service n'est pas démarré dans le CP (par ex. CP en
STOP).
RESULT2 0000 0000H Valeur par défaut
CMD Signification
6 CN_DISCON − connection disconnect
Cette commande remet à zéro la liaison sélectionnée par ID et LADDR.
La remise à zéro de la liaison est obtenue par sa coupure.
Les données éventuellement mémorisées dans la pile sont alors perdues sans avis préalable. Ensuite, la
liaison n'est pas rétablie automatiquement. Elle peut être établie de nouveau au moyen de la tâche Control
CN_STARTCON. L'entrée générée dans le tampon de diagnostic mentionne le résultat de la tâche.
RESULT (pour CMD = 6) Signification
Paramètre Valeur hexa/plage
CMD Signification
RESULT1 0000 0001H La tâche a été transmise correctement au CP. La
coupure de la liaison a été engagée.
RESULT1 0000 0002H La tâche n'a pas pu être transmise au CP, car ce service
n'est pas démarré dans le CP (par ex. CP en STOP).
RESULT2 0000 0000H Valeur par défaut
CMD Signification
7 CN_STARTCON − start connection
Cette commande établit une liaison qui a été sélectionnée avec ID et LADDR et coupée auparavant au moyen
de la tâche Control CN_DISCON. L'entrée générée dans le tampon de diagnostic mentionne le résultat de la
tâche.
RESULT (pour CMD = 7) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H La tâche d'établissement de liaison a été transmise
correctement au CP. L'établissement de la liaison a été
engagé.
RESULT1 0000 0002H La tâche d'établissement de liaison n'a pas pu être
transmise au CP, car ce service n'est pas démarré dans
le CP (par ex. CP en STOP).
RESULT2 0000 0000H Valeur par défaut
Voir aussi
Tenez compte des informations complémentaires dans les FAQ sous le numéro d'article ci-
après : 33414377 (http://support.automation.siemens.com/ww/view/de/33414377)
2.3.2 AG_CNTEX
Remarque
AG_CNTRL et AG_CNTEX
Le bloc de programme AG_CNTEX offre des fonctions complémentaires par rapport au bloc
de programme AG_CNTRL.
Toutes les fonctions du bloc AG_CNTRL sont contenues dans AG_CNTEX et utilisables de
manière identique au niveau de l'interface du programme utilisateur.
Remarque
Disponibilité dans la bibliothèque de blocs
Si le bloc de programme AG_CNTEX n'est pas encore disponible dans la bibliothèque de
blocs SIMATIC_NET_CP, installez la dernière bibliothèque de blocs SIMATIC NET en date ;
vous la trouverez sur Internet sous le numéro d'article suivant :
8797900 (http://support.automation.siemens.com/WW/view/de/8797900)
Interface d'appel
Interface d'appel en représentation LOG
$*B&17(;
LIST Explication
call fb 10, DB10 ( //Appel du bloc AG_CNTEX
ACT := DB11.DBX0.0, //Lancement de la tâche
ID := DB11.DBW2, //ID de liaison selon configuration
LADDR := DB11.DBW4, //Adresse de module selon configuration matérielle
CMD := DB11.DBW6, //Identificateur de commande
PING := P#DB11.DBX8.0, //Zone de données avec données ping
DONE := DB11.DBX16.0, //Indication d'exécution
ERROR := DB11.DBX16.1, //Indication d'erreur
STATUS := DB11.DBW18, //Indication d'état
RESULT1 := DB11.DBD20, //Résultat 1 de la tâche
RESULT2 := DB11.DBD24); //Résultat 2 de la tâche
Mode de fonctionnement
L'organigramme suivant montre un déroulement typique de tâches AG_CNTEX dans le
programme utilisateur. Vous trouverez plus loin un autre organigramme à titre d'exemple
pour les commandes ping.
3URJUDPPHXWLOLVDWHXU &3(WKHUQHW
F\FOHGH&38
/
«Y«QHPHQWG«WHFW«MXVWLILHOD
FRXSXUHHWOHU«WDEOLVVHPHQW
G
XQHOLDLVRQ
$VVLJQHUGHVYDOHXUV¢
$*B&17(;SRXU
LQWHUURJDWLRQG
«WDW
$&7 &0'
,' OLDLVRQ
/
LQWHUURJDWLRQG
«WDWGHOD
(WDWGHODOLDLVRQ,' OLDLVRQHVWDFTXLWW«
$VVLJQHUGHVYDOHXUV¢
$*B&17(;SRXU
U«LQLWLDOLVDWLRQ
$&7 &0'
,' OLDLVRQ
$*B&17(;FRPPDQGHGH
U«LQLWLDOLVDWLRQ
$FTXLWWHPHQWG
DFFHSWDWLRQGH 5HTX¬WHGHU«LQLWLDOLVDWLRQHQ
W¤FKH FRXUV
5(68/7ಯ(WDEOLVVHPHQWGH /
LGHQWLILFDWHXUGHU«LQLWLDOLVD
OLDLVRQG«FOHQFK«ರ WLRQELWGDQV5(68/7
HVWPLV¢
(QWU«HGHWDPSRQGHGLDJQRVWLF
/DOLDLVRQHVW«WDEOLH
$VVLJQHUGHVYDOHXUV¢ HWU«LQLWLDOLV«H
$*B&17(;SRXU /
LGHQWLILFDWHXUELWGDQV
LQWHUURJDWLRQG
«WDW 5(68/7UHVWH¢
$&7 &0'
,' OLDLVRQ
$*B&17(;LQWHUURJDWLRQ
G
«WDW
/
LQWHUURJDWLRQG
«WDWHVW
DFTXLWW«H
(WDWGHODOLDLVRQ,' O
LGHQWLILFDWHXUGHU«LQL
WLDOLVDWLRQELWGDQV
$FTXLWWHPHQW 5(68/7
HVWHQVXLWHUHPLV¢
5(68/7%+
ಯ5«LQLWLDOLVDWLRQH[«FXW«Hರ
7HPSV 7HPSV
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786HW5(68/7
L'organigramme montre qu'on commence par interroger l'état de la liaison, puis que la
coupure de la liaison est ordonné au moyen d'une commande Reset dans une deuxième
tâche.
Remarque
ACT doit être à 1 lors de l'appel du bloc. En cas d'appel avec ACT=0, la fonction n'est pas
appelée et le bloc est quitté immédiatement.
Le résultat de la tâche étant fourni de manière synchrone à l'appel du bloc AG_CNTEX, le
bloc peut être appelé de nouveau dans le même cycle.
Remarque
Ping présuppose qu'une liaison a été configurée
La commande ping présuppose qu'au moins une liaison a été configurée pour l'interface
SEND/RECEIVE (TCP, ISO-on-TCP, ISO-Transport, UDP).
La figure ci-après présente l'organigramme typique d'une requête ping avec l'interrogation du
résultat ping correspondant.
$VVLJQHUGHVYDOHXUV¢$*B&17(;
SRXUUHTX¬WH3,1*
$&7 &0' ,'
3,1*,3 ;<7,0(287 PV
&DOO)%
3,1*;<
7LPHRXWHQFRXUV
PV
+5
HU«FKR3,1*
$VVLJQHUGHVYDOHXUV¢$*B&17(;
SRXUUHTX¬WHGHU«VXOWDWV3,1* 3,1*;<
$&7 &0'
7LPHRXWHQFRXUV
3,1*,3 ;< PV
H«FKR3,1*
&DOO)%
+
3,1*;<
7LPHRXWHQFRXUV
PV
H«FKR3,1*
3,1*;<
7LPHRXWHQFRXUV
PV
H«FKR3,1*
&DOO)%
+55 U«VXOWDW
VPD[
([SORLWDWLRQGHVU«VXOWDWV3,1*
5(68/7 (FKR(FKR
5(68/7 (FKR(FKR
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786HW5(68/7
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, ERROR et STATUS.
Il faut exploiter en outre les résultats des commandes dans les paramètres RESULT1/2
conformément à Commandes et résultats de la tâche - AG_CNTEX (Page 69).
Remarque
Exploitation des commandes des anciens types de CP ou anciennes versions de firmware
Les commandes décrites ci-après sont prises en charge par les types de CP et versions de
firmware actuels. Tenez compte des informations complémentaires sur Internet fournies
sous le numéro d'article ci-après :
33414377 (http://support.automation.siemens.com/ww/view/fr/33414377)
CMD Signification
0 NOP – no operation
Le bloc est parcouru sans qu'une tâche soit adressée au CP.
RESULT (pour CMD = 0) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H Déroulement sans erreur
RESULT2 0000 0000H Valeur par défaut
CMD Signification
1 CN_STATUS – connection status
Cette commande fournit l'état de la liaison sélectionnée par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
Si le bit 15 (identificateur de réinitialisation) était à 1, il est remis automatiquement à 0 (ce comportement
équivaut à la tâche CN_CLEAR_RESET - voir CMD = 5).
RESULT (pour CMD = 1) Valeur / signification
Paramètre Valeur hexa/plage Bit
CMD Signification
RESULT1 0000 000*H Bits 0 à 3 : indications pour la direction d'émission
(valeurs exclues : 0x2)
Bit 0 Type de liaison
0: pas de liaison d'émission ou de réception
1: liaison réservée aux tâches d'émission et de
réception
Bit 1 Etat de la tâche actuelle
0: pas de tâche d'émission en cours
1: tâche d'émission en cours
Bits 2+3 Tâche précédente :
00: aucune information disponible sur la tâche
d'émission précédente
01: tâche d'émission précédente terminée sans erreur
10: tâche d'émission précédente terminée avec erreur
CMD Signification
1 CN_STATUS – connection status (Suite pour CMD=1)
Cette commande fournit l'état de la liaison sélectionnée par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
Si le bit 15 (identificateur de réinitialisation) était à 1, il est remis automatiquement à 0 (ce comportement
équivaut à la tâche CN_CLEAR_RESET - voir CMD = 5).
RESULT (pour CMD = 1) Valeur / signification
Paramètre Valeur hexa/plage Bit
RESULT1 0000 00*0H Bits 4 à 7 : indications pour la direction de réception
(valeurs exclues : 0x2)
Bit 4 Type de liaison
0: pas de liaison d'émission ou de réception
1: liaison réservée aux tâches d'émission et de
réception
Bit 5 Etat de la tâche actuelle
0: pas de tâche de réception en cours
1: tâche de réception en cours
Bits 6+7 Tâche précédente :
00: aucune information disponible sur la tâche de
réception précédente
01: tâche de réception précédente terminée sans
erreur
10: tâche de réception précédente terminée avec
erreur
CMD Signification
1 CN_STATUS – connection status (Suite pour CMD=1)
Cette commande fournit l'état de la liaison sélectionnée par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
Si le bit 15 (identificateur de réinitialisation) était à 1, il est remis automatiquement à 0 (ce comportement
équivaut à la tâche CN_CLEAR_RESET - voir CMD = 5).
RESULT (pour CMD = 1) Valeur / signification
Paramètre Valeur hexa/plage Bit
RESULT1 0000 0*00H Bits 8 à 11 : indications pour FETCH/WRITE
(valeurs exclues :0x3,0x7,0x8,0xB,0xF)
Bit 8 Type de liaison
0: pas une liaison FETCH
1: liaison réservée pour tâches FETCH
Bit 9 Type de liaison
0: pas une liaison WRITE
1: liaison réservée pour tâches WRITE
Bit 10 Etat de la tâche (FETCH/WRITE)
0: Etat de la tâche OK
1: Etat de la tâche NOT OK.
Cet identificateur est mis à 1 dans les cas suivants :
– La tâche a reçu un acquittement négatif de la
CPU.
– La tâche n'a pu être remise à la CPU, car la
liaison se trouvait à l'état "LOCKED".
– La tâche a été refusée, car l'en-tête
FETCH/WRITE n'était pas construit correctement.
Bit 11 Etat de la tâche FETCH/WRITE
0: aucune tâche en cours
1: une tâche de LAN en cours
CMD Signification
1 CN_STATUS – connection status (Suite pour CMD=1)
Cette commande fournit l'état de la liaison sélectionnée par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
Si le bit 15 (identificateur de réinitialisation) était à 1, il est remis automatiquement à 0 (ce comportement
équivaut à la tâche CN_CLEAR_RESET - voir CMD = 5).
RESULT (pour CMD = 1) Valeur / signification
Paramètre Valeur hexa/plage Bit
RESULT1 0000 *000H Bits 12 à 15 : informations générales sur le CP
(valeurs exclues : 0x3,0xB)
CMD Signification
Bits 12 + 13 Informations sur l'état de liaison :
(disponibles seulement pour les liaisons SEND/RECV qui
utilisent les protocoles ISO/RFC/TCP ; pour UDP, les
informations internes correspondantes sont fournies)
00 : la liaison est coupée
01: La liaison est en cours d'établissement
10: La liaison est en cours de coupure
11: La liaison est établie
Bit 14 Informations sur le CP
0: CP en STOP
1: CP en RUN
Bit 15 Identificateur de réinitialisation
0: AG_CNTEX n'a pas encore réinitialisé de liaison ou
le repère a été remis à 0.
1: L'instruction AG_CNTEX a déclenché une
réinitialisation de liaison.
RESULT1 **** 0000H Bits 16 à 31 : réservés
0 – réservé à des extensions ultérieures
RESULT2 0000 0000H - réservé à des extensions ultérieures -
CMD Signification
2 CN_RESET – connection reset
Cette commande remet à 0 la liaison sélectionnée par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
La réinitialisation de la liaison provoque sa coupure et son rétablissement (actif ou passif, selon la
configuration). Les données reçues au moment de la coupure de la liaison mais pas encore réceptionnées par
le programme utilisateur sont effacées.
De plus, une entrée générée dans le tampon de diagnostic mentionne le résultat de la tâche.
RESULT (pour CMD = 2) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H La tâche Reset a été transmise correctement au CP.
La coupure de la liaison et le rétablissement suivant ont
été déclenchés.
0000 0002H La tâche Reset n'a pas pu être transmise au CP, car ce
service n'est pas démarré dans le CP (par ex. CP en
STOP).
RESULT2 0000 0000H Valeur par défaut
CMD Signification
3 CN_STATUS_ALL – all connections status
Cette commande fournit dans les paramètres RESULT1/2 (8 octets au total d'informations groupées) l'état de
toutes les liaisons (établie/coupée).
Le paramètre ID doit avoir la valeur "0" (il est testé à 0).
Le CP est sélectionné au moyen du paramètre LADDR.
Pour obtenir des informations de détail sur une liaison coupée ou non configurée, on peut lancer au besoin un
nouvel appel d'état avec CMD=1 et s'appliquant à la liaison en question.
RESULT (pour CMD = 3) Signification
Paramètre Valeur hexa/plage
RESULT1 **** ****H Pour chaque liaison :
32 bits valables comme suit : 0 - liaisons coupées / non configurées
Pour S7-400 : bit 0-31 pour 1 - liaisons établies
liaison 1 - 32
Pour S7-300 : bit 0-15 pour
liaison 1 - 16
RESULT2 **** ****H Pour chaque liaison :
32 bits valables comme suit : 0 - liaisons coupées / non configurées
Pour S7-400 : bit 0-31 pour 1 - liaisons établies
liaison 33 - 64
CMD Signification
4 CN_RESET_ALL – all connections reset
Cette commande réinitialise toutes les liaisons.
Le paramètre ID doit avoir la valeur "0" (il est testé à 0).
Le CP est sélectionné au moyen du paramètre LADDR.
La réinitialisation des liaisons provoque leur coupure et leur rétablissement (actif ou passif, selon la
configuration). Les données reçues au moment de la coupure de la liaison mais pas encore réceptionnées par
le programme utilisateur sont effacées.
De plus, une entrée générée dans le tampon de diagnostic mentionne le résultat de la tâche.
RESULT (pour CMD = 4) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H La tâche Reset a été transmise correctement au CP. La
coupure de toutes les liaisons et leur rétablissement
suivant ont été déclenchés.
RESULT1 0000 0002H La tâche Reset n'a pas pu être transmise au CP, car ce
service n'est pas démarré dans le CP (par ex. CP en
STOP).
RESULT2 0000 0000H Valeur par défaut
CMD Signification
5 CN_CLEAR_RESET – remise à 0 de l'identificateur de réinitialisation
Cette commande remet à 0 l'identificateur de réinitialisation (bit 15 dans RESULT1) pour la liaison sélectionnée
par ID.
Le CP est sélectionné au moyen du paramètre LADDR.
Cette tâche s'exécute aussi automatiquement à la lecture de l'état de la liaison (CMD=1) ; la tâche décrite ici,
qui peut être lancée séparément, n'est donc nécessaire que dans des cas spéciaux.
RESULT (pour CMD = 5) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H La tâche Clear a été transmise correctement au CP.
RESULT1 0000 0002H La tâche Clear n'a pas pu être transmise au CP, car ce
service n'est pas démarré dans le CP (par ex. CP en
STOP).
RESULT2 0000 0000H Valeur par défaut
CMD Signification
6 CN_DISCON − connection disconnect
Cette commande remet à zéro la liaison sélectionnée par ID et LADDR.
La remise à zéro de la liaison est obtenue par sa coupure.
Les données éventuellement mémorisées dans la pile sont alors perdues sans avis préalable. Ensuite, la
liaison n'est pas rétablie automatiquement. Elle peut être établie de nouveau au moyen de la tâche Control
CN_STARTCON. L'entrée générée dans le tampon de diagnostic mentionne le résultat de la tâche.
RESULT (pour CMD = 6) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H La tâche a été transmise correctement au CP. La
coupure de la liaison a été engagée.
RESULT1 0000 0002H La tâche n'a pas pu être transmise au CP, car ce service
n'est pas démarré dans le CP (par ex. CP en STOP).
RESULT2 0000 0000H Valeur par défaut
CMD Signification
7 CN_STARTCON − start connection
Cette commande établit une liaison qui a été sélectionnée avec ID et LADDR et coupée auparavant au moyen
de la tâche Control CN_DISCON. L'entrée générée dans le tampon de diagnostic mentionne le résultat de la
tâche.
RESULT (pour CMD = 7) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H La tâche d'établissement de liaison a été transmise
correctement au CP. L'établissement de la liaison a été
engagé.
RESULT1 0000 0002H La tâche d'établissement de liaison n'a pas pu être
transmise au CP, car ce service n'est pas démarré dans
le CP (par ex. CP en STOP).
RESULT2 0000 0000H Valeur par défaut
CMD Signification
8 PING_REQUEST - Envoi d'une requête ping
Cette commande envoie une requête ping au CP. A la suite de quoi le CP envoie 4 requêtes d'écho ping à
l'adresse IP spécifiée.
RESULT (pour CMD = 8) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 0001H Les requêtes ping ont été transmises avec succès au CP.
RESULT2 0000 0002H La requête ping n'a pas pu être remise au CP car le
service requis du CP n'était pas accessible.
Cause possible : CP en mode STOP.
CMD Signification
9 PING_RESULT - Interrogation des résultats ping
Cette commande envoie une interrogation de résultats ping au CP. Le CP transmet les résultats des 4
requêtes d'écho ping dans le paramètre RESULT.
L'appel n'est réussi que si le CP a achevé le traitement des 4 requêtes d'écho ping.
RESULT (pour CMD = 9) Signification
Paramètre Valeur hexa/plage
RESULT1 **** ****H 1. Mot :
temps de réponse en ms à la 1ère requête d'écho ping.
2. Mot :
temps de réponse en ms à la 2ème requête d'écho ping.
Exemple :
0005 FFFFH
Echo 1 -> reçu au bout de 5 ms
Echo 2 -> pas d'écho pendant le timeout défini
RESULT2 **** ****H 1. Mot :
temps de réponse en ms à la 3ème requête d'écho ping.
2. Mot :
temps de réponse en ms à la 4ème requête d'écho ping.
Exemple :
0002 3456H
Echo 3 -> reçu au bout de 2 ms
Echo 4 -> reçu au bout de 13398 ms
Plages de valeur pour mots de données dans RESULT1 / RESULT 2 :
0000H inutilisé
0001H ... EA60H Temps de réponse en ms
0001H = 1 ms
EA60H = 60000 ms
EA61H ... FFFEH inutilisé
FFFFH Timeout : pas d'écho durant le timeout défini.
CMD Signification
10 CONN_TYPE - Type de liaison
Cette commande demande au CP de spécifier le type de liaison actuel pour l'ID de liaison indiqué.
RESULT (pour CMD = 10) Signification
Paramètre Valeur hexa/plage
RESULT1 0000 000*H La requête délivre pour les types de liaisons possibles les
valeurs suivantes :
0: pas de liaison configurée
1 : liaison UDP
2 : liaison SMTP
3 : liaison TCP
4 : liaison UDP libre
5 : liaison FTP
6 : liaison transport ISO
7 : liaison ISO-on-TCP
RESULT2 0000 0000H Valeur par défaut
Voir aussi
Tenez compte des informations complémentaires dans les FAQ sous le numéro d'article ci-
après : 33414377 (http://support.automation.siemens.com/ww/view/fr/33414377)
Remarque
Veuillez noter que les services client FTP ne peuvent pas être exécutés par les anciennes
CPU SIMATIC S7-300, p. ex. par les CPU 312 ou CPU 315-1AF01, parce qu'elles ne
prennent pas en charge le SFC 24.
En cas d'utilisation de FC40 - FC44 avec un S7-300 : Le CP a besoin pour exécuter les FC
FTP du FC5 (AG_SEND) fourni ; le FC5 ne peut pas être renommé dans cette application.
Voir aussi
Migration de FC 40-44 vers FTP_CMD (Page 87)
Signification
Le bloc FB40 permet d'établir des liaisons FTP et de transmettre des fichiers depuis et vers
un serveur FTP.
Le FB40 remplace les fonctions FTP FC40 à FC44 utilisées jusqu'ici. Dans le FB40, les
différences entre ces fonctions sont reproduites au moyen d'un paramètre de commande.
Le FB40 présente les avantages suivants :
● simplification dans le programme utilisateur : l'exécution est commandée par une variable
et ne demande plus différents appels de fonction ;
● fonction supplémentaire "APPEND"
"APPEND" permet d'ajouter des données à un fichier existant ;
● fonction supplémentaire "RETR_PART"
"RETR_PART" permet de lire des zones de données sélectivement dans un fichier.
● Fonction complémentaire "CONNECT_TLS_PRIVATE"
"CONNECT_TLS_PRIVATE" permet d'établir des liaisons sécurisées SSL
● La fonction AG_SEND (FC5) n'est pas nécessaire au traitement.
Validité
Le FB40 peut être employé à partir des types de module suivants :
● A partir du CP 343-1 Advanced (GX30* / GX31)
● A partir du CP 443-1 Advanced (GX20* / GX30)
*) La fonction "CONNECT_TLS_PRIVATE" n'est pas utilisable.
Interface d'appel
Interface d'appel en représentation LOG
)73B&0'
$1< 1$0(B675
,17 ),/(B'%B15
':25' 2))6(7
':25' /(1
LIST Explication
CALL FB 40, DB 40 ( // Appel du bloc
ID := 4, // ID de liaison FTP selon configuration
LADDR := W#16#3FFD, // Adresse de module selon configuration
CMD := B#16#3, // La commande FTP à exécuter
NAME_STR := P#DB44.DBX 170.0 BYTE 220, // Adresse et longueur de la zone de données cible
FILE_DB_NR := 42, // Numéro du bloc de données
OFFSET := DW#16#0, // (sans signification dans l'exemple)
LEN := DW#16#0, // (sans signification dans l'exemple)
DONE := M 420.1, // Paramètre d'état
ERROR := M 420.2, //Indication d'erreur
STATUS := MW 422); //Indication d'état
Remarque
Veuillez noter que les anciennes CPU SIMATIC S7-300, par ex. CPU 312 ou CPU 315-
1AF01, ne peuvent pas exécuter les services client FTP puisqu'elles ne supportent pas le
SFC 24.
Introduction
Pour exploiter l'état, il faut exploiter les paramètres suivants dans le programme utilisateur :
Les paramètres DONE, ERROR et STATUS sont mis à jour à chaque appel du bloc.
Exemple
Durant l'exécution d'une tâche, le FB 40 fournit les indications suivantes :
● DONE=0
● ERROR=0
● STATUS=8181H
Signification : la tâche est encore en cours.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez consulter également
le manuel de référence STEP 7 "Fonctions système et fonctions standard". Vous y trouverez
des informations au chapitre "Evaluation d'erreur avec le paramètre de sortie RET_VAL".
Mais si vous souhaitez passer des fonctions FTP FC40 à 44 au bloc fonctionnel FB40, vous
devrez modifier votre programme utilisateur.
Le tableau suivant indique quelles commandes du FB40 correspondent aux fonctions FC40
à 44.
● Les équivalences sont marquées d'un "X".
● Les disparités sont marquées d'un "-".
1)...4) Les paramètres des FC 40 à 43 et de CMD 1 à 4 (FB 40) ne sont pas identiques
Le tableau suivant énumère les paramètres qui spécifient la fonction respective dans les
FC40 à FC43 et dans les commandes du FB40.
2.4.3 FTP_CONNECT
Signification
Par l'appel de cette fonction, le client FTP établit une liaison FTP à un serveur FTP.
Pour cela, il faut communiquer au serveur FTP l'adresse IP, le nom d'utilisateur (username)
et (si nécessaire) le mot de passe associé au nom d'utilisateur.
Le client FTP exécutera tous les autres accès sur la base de ce nom d'utilisateur lorsque
vous utiliserez la même ID de liaison FTP. Des données sont alors échangées avec le
serveur FTP spécifié pour cet utilisateur.
Interface d'appel
)73B&211(&7
$1< /2*,1
,17 %8))(5B'%B15
LIST Explication
call fc40 ( //Appel de FTP_CONNECT
ACT := M 420.0, // Lancement du contrat par bit de mémento
ID := 4, //ID de liaison FTP selon configuration
LADDR := W#16#3FFD, // Adresse de module selon configuration
LOGIN := P#DB40.DBX 0.0 BYTE 170, //Indication du LOGIN dans DB 40
BUFFER_DB_NR := 9, // Zone tampon pour le service FTP
DONE := M 420.1,
ERROR := M 420.2,
STATUS := MW 422);
Paramètre LOGIN
Cet enregistrement de paramètre a le contenu suivant pour FTP_CONNECT :
2.4.4 FTP_STORE
Signification
Avec cet appel de fonction, un bloc de données (DB de fichier) est transmis du client FTP
(CPU S7) au serveur FTP.
Pour cela, vous devez indiquer le bloc de données qui contient le fichier. Il faut préciser
également le nom de chemin et de fichier sous lequel créer le fichier sur le serveur FTP.
Si le fichier (DB de fichier) existe déjà sur le serveur FTP, il sera écrasé.
Interface d'appel
FTP_STORE
ANY FILE_NAME
INT BUFFER_DB_NR
INT FILE_DB_NR
LIST Explication
call fc41 ( //Appel de FTP_STORE
ACT := M 420.0, // Lancement du contrat par bit de mémento
ID := 4, // ID de liaison FTP selon configuration
LADDR := W#16#3FFD, // Adresse de module selon configuration
FILE_NAME := P#DB40.DBX 170.0 BYTE 220, // Indication du fichier cible dans DB 40
BUFFER_DB_NR := 9, // Zone tampon pour le service FTP
FILE_DB_NR := 42, // N° de DB du fichier source
DONE := M 420.1,
ERROR := M 420.2,
STATUS := MW 422);
Paramètre FILE_NAME
Cet enregistrement de paramètre a le contenu suivant pour FTP_STORE :
2.4.5 FTP_RETRIEVE
Signification
Avec cet appel de fonction, un fichier est transmis du serveur FTP au client FTP (CPU S7).
Pour cela, vous devez indiquer le bloc de données dans lequel le fichier doit être stocké. Il
faut préciser également le nom de chemin et de fichier sous lequel le fichier est enregistré
sur le serveur FTP.
Si le bloc de données (DB de fichier) sur le client FTP contient déjà un fichier, il sera écrasé.
Interface d'appel
FTP_RETRIEVE
ANY FILE_NAME
INT BUFFER_DB_NR
INT FILE_DB_NR
LIST Explication
call fc42 ( //Appel de FTP_RETRIEVE
ACT := M 420.0, // Lancement du contrat par bit de mémento
ID := 4, // ID de liaison FTP selon configuration
LADDR := W#16#3FFD, // Adresse de module selon configuration
FILE_NAME := P#DB40.DBX 170.0 BYTE 220, // Indication du fichier source dans DB 40
BUFFER_DB_NR := 9, // Zone tampon pour le service FTP
FILE_DB_NR := 42, // N° de DB du fichier cible
DONE := M 420.1,
ERROR := M 420.2,
STATUS := MW 422);
Paramètre FILE_NAME
Cet enregistrement de paramètre a le contenu suivant pour FTP_RETRIEVE :
2.4.6 FTP_DELETE
Signification
Avec cet appel de fonction, vous supprimez un fichier sur le serveur FTP.
Interface d'appel
FTP_DELETE
ANY FILE_NAME
INT BUFFER_DB_NR
LIST Explication
call fc43 ( //Appel de FTP_DELETE
ACT := M 420.0, // Lancement du contrat par bit de mémento
ID := 4, // ID de liaison FTP selon configuration
LADDR := W#16#3FFD, // Adresse de module selon configuration
FILE_NAME := P#DB40.DBX 170.0 BYTE 220, // Indication du fichier cible dans DB 40
BUFFER_DB_NR := 9, // Zone tampon pour le service FTP
DONE := M 420.1,
ERROR := M 420.2,
STATUS := MW 422);
Paramètre LOGIN
Cet enregistrement de paramètre a le contenu suivant pour FTP_DELETE :
2.4.7 FTP_QUIT
Signification
Avec cet appel de fonction, vous coupez la liaison FTP désignée par l'ID.
Interface d'appel
FTP_QUIT
LIST Explication
call fc44 ( //Appel de FTP_QUIT
ACT := M 420.0, // Lancement du contrat par bit de mémento
ID := 4, // ID de liaison FTP selon configuration
LADDR := W#16#3FFD, // Adresse de module selon configuration
DONE := M 420.1,
ERROR := M 420.2,
STATUS := MW 422);
Remarque
La sortie de FC44 doit recevoir un mot de mémento comme valeur. La saisie de DBx.DWy
provoque l'apparition d'un message d'erreur (seulement pour S7-300).
IMPORTANT
Veillez impérativement à n'appeler qu'un seul bloc de programme client FTP par ID
utilisateur tant que ACT est à 1.
Il ne faut donc pas par exemple que FTP_STORE et FTP_RETRIEVE soit exécutés
simultanément sur la même liaison FTP. Cette exigence est conforme à la fonctionnalité
FTP normale.
Sinon, vous ne pourrez pas vous fier à l'exactitude des paramètres de sortie (bit DONE, bit
ERROR et mot d'état STATUS).
Remarque
Avec FC FTP_QUIT, n'utilisez que le Mot de mémento comme type de données pour le
paramètre STATUS (ne s'applique qu'au CP 343-1 IT).
Exemple
Durant l'exécution d'une tâche, le FC fournit les indications suivantes :
● DONE=0
● ERROR=0
● STATUS=8181H
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez consulter également
le manuel de référence STEP 7 "Fonctions système et fonctions standard". Vous y trouverez
des informations au chapitre "Evaluation d'erreur avec le paramètre de sortie RET_VAL".
2.4.10.1 Structure des blocs de données (DB fichier) pour les services FTP - mode client FTP
Mode de fonctionnement
Vous devez créer des blocs de données sur la CPU de votre station S7 pour la transmission
de donnnées via FTP (DB de fichiers). Ces blocs de données doivent être conformes à une
structure définie afin qu'ils puissent être manipulés par les services FTP au même titre que
des fichiers transmissibles. Ils se composent des sections suivantes
● Section 1 : En-tête de DB de fichier (structure invariable avec une longueur de 20 octets)
● Section 2 : Données utiles (longueur et structure variables)
2.4.10.2 Structure des blocs de données (DB fichier) pour les services FTP - mode serveur FTP
Mode de fonctionnement
Vous devez créer des blocs de données sur la CPU de votre station S7 pour la transmission
de donnnées via FTP (DB fichiers). Ces blocs de données doivent être conformes à une
structure définie afin qu'ils puissent être manipulés par les services FTP au même titre que
des fichiers transmissibles. Ils se composent des sections suivantes
● Section 1 : En-tête de DB fichier (longueur (20 octets) et structure invariables)
● Section 2 : Données utiles (longueur et structure variables)
Remarque
Veuillez tenir compte à propos des fonctions décrites ici des caractéristiques (types de
liaison pris en charge) du type de CP que vous utilisez ; vous trouverez des informations à
ce propos dans le manuel des appareils.
Informations complémentaires
Vous trouverez des informations complémentaires sur les sujets suivants dans /1/
(Page 296) :
● Propriétés des types de liaison configurables ;
● Informations sur la configuration de la protection d'accès IP ;
● Informations sur les voluments de données et les capacités fonctionnelles.
%ORFGHGRQQ«HVGHFRQILJXUDWLRQ
)%,3B&21),* 'RQQ«HV
V\VWªPHGX&3
/LDLVRQ
GRQQ«HVGHFRQILJXUDWLRQ
WUDQVPLVHVDX&3
/LDLVRQ
/LDLVRQQ
QPD[
Le DB de configuration peut être chargé à tout moment sur le CP. Les liaisons et données
de configuration valables auparavant (adresse IP, masque de sous-réseau, routeur par
défaut, serveur d'horodatage NTP et autres paramètres) sont alors écrasées.
Les données de configuration indiquent au CP Ethernet que les liaisons de communication
seront configurées par le programme utilisateur.
Remarque
Les fonctions ne pourront être exécutées que si la protection d'accès aux modules a été
configurée "Non verrouillé" : Voir boîte de dialogue des propriétés du CP, onglet "Options"
(par sur chaque CP).
Il faut par ailleurs que l'option "Créer l'adresse IP dans le programme utilisateur" (voir
dialogue des propriétés du CP ou de l'interface Ethernet du CP, onglet "Configuration IP").
Remarque
Dès que le programme utilisateur transmet les données de liaison à l'aide du bloc de liaisons
FB55 IP_CONFIG, la CPU basculera le CP pendant un court instant sur ARRÊT. Le CP
reprend les données système (adresse IP comprise) et les nouvelles données de liaison et
les traite durant le démarrage (MARCHE).
Capacités fonctionnelles
Il est possible de spécifier au maximum 64 liaisons dans le bloc de programme
CP_CONFIG. L'important est cependant le nombre maximal de liaisons prises en charge par
le type de CP que vous utilisez.
Particularité / Restrictions
● Contrôle de cohérence uniquement sous STEP 7
La configuration de liaisons sous STEP 7 s'accompagne de contrôles de cohérence qui
ne sont pas possibles ou difficilement réalisables en cas de configuration programmée !
● Configuration de liaison requise sur le partenaire
Lors de la configuration de liaisons spécifiées sous STEP 7, la liaison du partenaire est
configurée implicitement ; ceci n'est pas possible lors de la configuration programmée !
Les liaisons appropriées des partenaires doivent être configurées.
● Configuration de la protection d'accès IP
La protection d'accès IP permet de limiter la communication via le CP de la station S7
locale à des partenaires possédant une adresse IP bien déterminée. Ce paramétrage est
également valable pour les liaisons de communication programmées. Vous devez soit
désactiver la protection d'accès IP sous STEP 7 (= paramétrage par défaut) soit autoriser
les partenaires de communication.
● DHCP / DNS sont pris en charge
La configuration programmée autorise également un adressage IP via DHCP (et DNS
pour le service de courrier électronique).
L'utilisation d'un serveur DHCP sera définie dans ce cas dans le FB55 (pas dans la
configuration).
● Pas d'informations de liaison lors du chargement
Lors du chargement des données de la station S7 sous STEP 7, les données de la
configuration programmée ne sont pas incluses.
● Configuration de liaison sur CP dotés de plusieurs interfaces
Dans le cas de CP à plusieurs interfaces (interface Gigabit p. ex.), vérifiez dans le
manuel du CP la prise en charge de la configuration de liaison des deux interfaces.
Conditions préalables
Les opérations décrites ici présupposent :
● que vous ayez créé dans vos projets STEP 7 la station S7 locale ainsi que les stations
partenaires requises.
● Que vous sachiez avec quels autres types de station vous devez établir des liaisons.
Vous devrez créer pour ces dernières des objets génériques dans vos projets STEP 7.
Signification
Le bloc de données de configuration (CONF_DB) contient toutes les données de la liaison
ainsi que les données de configuration (adresse IP, masque de sous-réseau, routeur par
défaut, serveur d'horodatage NTP et autres paramètres) d'un CP Ethernet. Le bloc de
connées de configuration (CONF_DB) est transmis au CP avec le bloc fonctionnel FB55.
%ORFGHGRQQ«HV
GHFRQILJXUDWLRQ
=RQHGH
G«FDODJHQ
&21)B'% %ORFGHSDUDPªWUHVSRXUGRQQ«HVV\VWªPH
,GHQWLILDQWB'% PLVHHQU«VHDXGX&3HWOLDLVRQV
'RQQ«HVV\VWªPH 7\SH
GX&3 ,'SRXUGRQQ«HV
V\VWªPH
/LDLVRQ
1RPEUHBVRXVEORFV 6RXVEORF
/LDLVRQ 6RXVEORF
6RXVEORF 3DUDPªWUH
/LDLVRQQ
6RXVEORFQ
① Les blocs de paramètres sont décrits ci-après dans Bloc de paramètres pour données système (configuration IP)
(Page 115)
② Les types de sous-blocs sont décrits ci-après dans Blocs de paramètres pour types de liaison (Page 116)
Voir aussi
Types de sous-bloc (Page 122)
CONF_DB
LIST
DATA_BLOCK DB271
TITLE=IP_CONFIG pour une liaison nTCP active,
AUTHOR : SIMATIC //CP-Daten : IP=200.12.1.144, Router=200.12.1.80
FAMILY : AS300 //Données de liaison : Destination IP-Addr=200.12.1.99,
NAME : ipconf //Port local = 4001, port distant = 5001, établissement de liaison=actif
VERSION : 1.0 //07-Jun-2005
STRUCT
DB_TYP : INT := 1;
// --------------------------------------------------------- Données système ------
sys_pb : INT:=0; // Type de sous-bloc : Données système du CP
sys_id : INT:= 0; // ID de paramètres système, toujours 0
sys_sb_cnt: INT:= 3; //Nombre de sous-blocs dans le bloc de paramètres
ip_addr: SUB_IP_V4; système
LIST
END_DATA_BLOCK
LIST
// Structure de données IP Config
TYPE "SUB_IP_V4"
STRUCT
id : int := 1; // ID for IP, V4-Addr.
len: int := 8; // Sub Block Length
b_3 : BYTE := b#16#C8; // IP_High 200.
b_2 : BYTE := b#16#0C; // IP_ 12.
b_1 : BYTE := b#16#01; // IP_ 1.
b_0 : BYTE := b#16#90; // IP_Low 144
END_STRUCT;
END_TYPE
TYPE "SUB_NETMASK"
STRUCT
id : int := 2; // ID for Sub Net Mask
len: int := 8; // Sub Block Length
b_3 : BYTE := b#16#FF; // SNM_High
b_2 : BYTE := b#16#FF; // SNM_
b_1 : BYTE := b#16#FF; // SNM_
b_0 : BYTE := b#16#00; // SNM_Low
END_STRUCT;
END_TYPE
TYPE "SUB_DEF_ROUTER"
STRUCT
id : int := 8; // ID_4_Router
len: int := 8; // Sub Block Length
r_3 : BYTE := b#16#C8; // R_High
r_2 : BYTE := b#16#0C; // R_
r_1 : BYTE := b#16#01; // R_
r_0 : BYTE := b#16#50; // R_Low
END_STRUCT;
END_TYPE
LIST
TYPE "SUB_LOC_PORT"
STRUCT
id : int := 9; // ID_4_LOC_PORT
len: int := 6; // Sub Block Length
port: int := 2001; // Loc. Port
END_STRUCT;
END_TYPE
TYPE "SUB_REM_PORT"
STRUCT
id : int :=10; // ID_4_REM_PORT
len: int := 6; // Sub Block Length
port: int := 2002; // Rem. Port
END_STRUCT;
END_TYPE
TYPE "CON_NAME_L" // 24 characters
STRUCT
id : int := 18; // ID for CON Name
len: int := 28; // 4+len(n[0..x]
c : ARRAY [1..24] of CHAR := ‘V’,’B’,’_’,’N’,’a’,’m’,’e’,’_’,’2’,’4’,’C’,’h’,’a’,’r’,
‘a’,’c’,’t’,’e’,’r’,’s’,’_’,’0’,’0’,’1’;
END_STRUCT;
END_TYPE
TYPE "SUB_KBUS_ADDR"
STRUCT
id : int := 21; // ID for KBUS-Address
len: int := 5; //
addr: BYTE := B#16#04; // =R0/S4
END_STRUCT
END_TYPE
TYPE "ACT_CN_REQ"
STRUCT
id : int := 22; // ID for CON REQ Mode
len: int := 5; // Sub Block Length
w : BYTE := b#16#1; // = Active
END_STRUCT;
Remarque :
Les structures mentionnées ici doivent encore être inscrites dans la table des mnémoniques.
Exemple pour l'entrée SUB_IP_V4 :
Voir aussi
Types de sous-bloc (Page 122)
Signification
Vous trouverez ci-après le bloc de paramètres pour données système, valable pour la
configuration IP du CP, ainsi que les sous-blocs à mentionner.
Vous n'aurez pas besoin, selon l'application, de tous les types de sous-bloc - vous trouverez
des informations à ce sujet dans le tableau.
Structure
Pour les CP à plusieurs interfaces, la structure de bloc de paramètres décrite ci-après ne
s'appplique qu'à l'interface PROFINET.
Type = 0
ID = 0
Nombre_sous-blocs = n
Sous-bloc 1
Sous-bloc 2
Sous-bloc n
...
Sous-blocs utilisables
Sous-bloc Paramètre
ID Type Particularités / Notes Emploi ***)
1 SUB_IP_V4 Adresse IP locale ++
2 SUB_NETMASK - ++
8 SUB_DEF_ROUTER - +
4 SUB_DNS_SERV_ADDR *) Ce sous-bloc peut survenir de 0 à 4 fois. La première +
entrée est le Primary DNS Server.
Sous-bloc Paramètre
ID Type Particularités / Notes Emploi ***)
14 SUB_DHCP_ENABLE 0: pas de DHCP +
1: DHCP
15 SUB_CLIENT_ID - +
Remarque : Utile uniquement si SUB_DHCP_ENABLE = 1
30**) SUB_DEVICE_NAME Nom d'appareil selon les conventions PROFINET IO +
Entrez un nom d'appareil afin d'identifier l'appareil dans le
réseau à des fins d'analyse et de diagnostic.
*) Ce type de sous-bloc est uniquement utilisée pour les liaisons de courrier électronique.
**) ID pris en charge que par certains types de CP.
***) ++ = obligatoire ; + = facultatif
Voir aussi
Types de sous-bloc (Page 122)
Généralités
Vous trouverez dans ce qui suit des informations sur les valeurs à entrer dans les blocs de
paramètres et sur les sous-blocs à employer avec un type de liaison donné.
Vous n'aurez pas besoin, selon l'application, de tous les types de sous-bloc - vous trouverez
également des informations à ce sujet dans le tableau.
ID de liaison
Le paramètre ID qui prècède, avec l'indication de type, chaque bloc de paramètres de
liaison, est particulièrement important.
Dans le cas de liaisons programmées, vous pourrez autoriser cet ID dans le cadre des
valeurs admises. Vous devrez alors utiliser cet ID au niveau de l'interface d'appel des FC
pour l'interface SEND/RECV pour identifier la liaison.
Valeurs admises pour l'ID de liaison :
● S7-400 : 1,2...64
● S7-300 : 1,2...16
Structure
Entrez les paramètres dans le bloc de paramètres pour liaisons TCP comme suit :
Type = 1 -> ①
ID = ID de liaison -> ②
Nombre_sous-blocs = n
Sous-bloc 1
Sous-bloc 2
Sous-bloc n
...
Légende :
① Indication du type de liaison
② référence de liaison attribuable par l'utilisateur ; à spécifier dans AG_SEND / AG_RECV.
Valeurs admises pour l'ID de liaison :
pour S7-400 : 1, 2...64
pour S7-300 : 1,2...16
Sous-blocs utilisables
Sous-bloc Paramètre
ID Type Particularités / Notes Emploi ***)
1 SUB_IP_V4 Adresse IP du partenaire ++ *)
9 SUB_LOC_PORT - ++
10 SUB_REM_PORT - ++ **)
18 SUB_CONNECT_NAME - +
19 SUB_LOC_MODE - +
21 SUB_KBUS_ADR Pour les CP de S7-300 cette valeur ++ (pour S7-400)
invariable est 2 et n'est donc pas à
spécifier.
22 SUB_CON_ESTABL - ++
*) facultatif pour les liaisons passives.
***) ++ = obligatoire ; + = facultatif
Voir aussi
Types de sous-bloc (Page 122)
Structure
Entrez les paramètres dans le bloc de paramètres pour liaisons UDP comme suit :
Type = 2 -> ①
ID = ID de liaison -> ②
Nombre_sous-blocs = n
Sous-bloc 1
Sous-bloc 2
Sous-bloc n
...
Légende :
① Indication du type de liaison
② référence de liaison attribuable par l'utilisateur ; à spécifier dans AG_SEND / AG_RECV.
Valeurs admises pour l'ID de liaison :
pour S7-400 : 1, 2...64
pour S7-300 : 1,2...16
Sous-blocs utilisables
Sous-bloc Paramètre
ID Type Particularités / Notes Emploi ***)
1 SUB_IP_V4 Adresse IP du partenaire ++
9 SUB_LOC_PORT - ++
10 SUB_REM_PORT - ++
18 SUB_CONNECT_NAME - +
19 SUB_LOC_MODE - +
21 SUB_KBUS_ADR Pour les CP de S7-300 cette ++ (pour S7-400)
valeur invariable est 2 et n'est donc
pas à spécifier.
23 SUB_ADDR_IN_DATABLOCK Si vous spécifiez avec ce +
paramètre l'option "liaison UDP
libre", les paramètres SUB_IP_V4
et SUB_REM_PORT sont
désactivés.
***) ++ = obligatoire ; + = facultatif
Voir aussi
Types de sous-bloc (Page 122)
Structure
Entrez les paramètres dans le bloc de paramètres pour liaisons ISO-on-TCP comme suit :
Type = 3 -> ①
ID = ID de liaison -> ②
Nombre_sous-blocs = n
Sous-bloc 1
Sous-bloc 2
Sous-bloc n
...
Légende :
① Indication du type de liaison
② référence de liaison attribuable par l'utilisateur ; à spécifier dans AG_SEND / AG_RECV.
Plage de valeurs pour l'ID de liaison :
pour S7-400 : 1, 2...64
pour S7-300 : 1,2...16
Sous-blocs utilisables
Sous-bloc Paramètre
ID Type Particularités / Notes Emploi ***)
1 SUB_IP_V4 Adresse IP du partenaire ++ *)
11 SUB_LOC_TSAP - ++
12 SUB_REM_TSAP - ++ *)
18 SUB_CONNECT_NAME - +
19 SUB_LOC_MODE - +
21 SUB_KBUS_ADR Pour les CP de S7-300 cette valeur ++ (pour S7-400)
invariable est 2 et n'est donc pas à
spécifier.
22 SUB_CON_ESTABL - ++
*) facultatif en cas de liaison passive (si vous indiquez l'adresse IP, vous devez également indiquer le
TSAP.)
***) ++ = obligatoire ; + = facultatif
Voir aussi
Types de sous-bloc (Page 122)
Signification
Pour émettre des messages électroniques, il faut configurer d'une manière générale une
liaison de courrier électronique par CP Advanced. La spécification de la liaison de courrier
électronique définit le serveur de messagerie qui distribue tous les messages émis par le CP
Advanced.
Structure
Entrez les paramètres dans le bloc de paramètres pour liaisons de courrier électronique
comme suit :
Type = 4 -> ①
ID = ID de liaison -> ②
Nombre_sous-blocs = n
Sous-bloc 1
Sous-bloc 2
Sous-bloc n
...
Légende :
① Indication du type de liaison
② référence de liaison attribuable par l'utilisateur ; à spécifier dans AG_SEND / AG_RECV.
Valeurs admises pour l'ID de liaison :
pour S7-400 : 1, 2...64
pour S7-300 : 1,2...16
Sous-blocs utilisables
Sous-bloc Paramètre
ID Type Particularités / Notes Emploi ***)
1 SUB_IP_V4 Adresse IP du serveur de messagerie ++ / + *)
via lequel les messages sont envoyés.
L'adresse IP peut être spécifiée de
manière absolue ou symbolique.
La spécification symbolique présuppose
que le CP Advanced connaisse
l'adresse du Domain Name Server
(DNS). Une entrée adéquate devra
donc être prévue lors de la configuration
du CP Advanced sous STEP 7 ; pour
plus de détails veuillez vous référer à
l'aide en ligne de HW Config.
3 SUB_DNS_NAME Nom DNS du serveur de messagerie ++ / + *)
13 SUB_EMAIL_SENDER Adresse de message de l'expéditeur ++
18 SUB_CONNECT_NAME - +
21 SUB_KBUS_ADR Pour les CP de S7-300 cette valeur ++ (pour S7-400)
invariable est 0 et n'est donc pas à
spécifier.
22 SUB_CON_ESTABL - ++
*) Les paramètres SUB_IP_V4 et SUB_DNS_NAME s'excluent mutuellement ; vous ne pouvez
spécifier que l'un des deux paramètres.
***) ++ = obligatoire ; + = facultatif
Remarque
Les ports de serveur de messagerie sont des "well known ports" qu'il n'est pas nécessaire
de spécifier.
Voir aussi
Types de sous-bloc (Page 122)
Signification
Pour pouvoir exécuter les séquences de tâches FTP entre la station S7 client FTP et un
serveur FTP, le CP Advanced doit établir une liaison à la CPU S7. Nous nommerons cette
liaison ici liaison FTP.
Les liaison FTP sont des liaisons TCP qui sont mises en mode "FTP" par le paramètre
SUB_LOC_MODE.
Structure
Entrez les paramètres dans le bloc de paramètres pour liaisons FTP comme suit :
Type = 1 -> ①
ID = ID de liaison -> ②
Nombre_sous-blocs = n
Sous-bloc 1
Sous-bloc 2
Sous-bloc n
...
Légende :
① Indication du type de liaison
② référence de liaison attribuable par l'utilisateur ; à spécifier dans AG_SEND / AG_RECV.
Valeurs admises pour l'ID de liaison :
pour S7-400 : 1, 2...64
pour S7-300 : 1,2...16
Sous-blocs utilisables
Sous-bloc Paramètre
ID Type Particularités / Notes Emploi ***)
18 SUB_CONNECT_NAME - +
19 SUB_LOC_MODE en l'occurrence : 0x01 = protocole FTP ++
21 SUB_KBUS_ADR Pour les CP de S7-300 cette valeur ++ (pour S7-400)
invariable est 0 et n'est donc pas à
spécifier.
***) ++ = obligatoire ; + = facultatif
Voir aussi
Types de sous-bloc (Page 122)
Exemple
L'extrait d'un CONF_DB ci-après présente la structure d'un sous-bloc en prenant pour
exemple le type de sous-bloc SUB_NETMASK.
0 = pas de DHCP
1 = DHCP
(facultatif)
0x00 = SEND/RECV
0x80 = FETCH *)
0x40 = WRITE *)
Le paramétrage par défaut lorsque ce
paramètre n'est pas spécifié est
SEND/RECV.
Remarque :
FETCH / WRITE nécessitent le paramétrage
d'un établissement de liaison passif (voir
sous SUB_CON_ESTABL).
20 SUB_REM_MODE 1+4 Paramétrage du mode sur le partenaire de
communication.
(n'est pas pris en charge)
21 SUB_KBUS_ADR 5 Pour S7-400
0 = passif
1 = actif
0 = autre
Ce paramètre n'est utile que pour une liaison
UDP.
24 SUB_NTP_SERVER 4+4 Ce sous-bloc définit un serveur NTP auprès
duquel le CP se procure la date/heure via le
protocole NTP.
Si un ou plusieurs serveurs NTP ont été
définis, il est possible de spécifier jusqu'à 4
sous-blocs à ID 24.
Les sous-blocs à ID 24 doivent être
uniquement incorporés au bloc de
paramètres système de type 0 / ID 0.
* Pour sous-blocs 11 et 12 : si la longueur de sous-bloc est égale à un nombre impair d'octets, un octet complémentaire est
rajouté pour que le sous-bloc suivant possède à nouveau une adresse à nombre d'octets pair. L'octet complémentaire
n'est pas affiché dans la longueur du sous-bloc, mais doit être pris en compte dans la longueur totale du bloc de
données.
Voir aussi
Bloc de données de configuration - Exemple (Page 112)
Signification du bloc
Le FB55 transmet au CP, dans un bloc de données (DB de configuration), la configuration IP
spécifiée ainsi que les données de liaison. Le DB de configuration contient toutes les
données de liaison nécessaires à la configuration des liaisons de l'interface SEND/RECEIVE
d'un CP Ethernet.
Vous pouvez recourir à cette variante des liaisons de communication programmées au lieu
de configurer les liaisons avec STEP 7.
La transmission au CP se fait en plusieurs segments, suivant la taille du DB de
configuration. Vous devez donc appeler de nouveau le FB jusqu'à ce qu'il signale
l'achèvement de la transmission par le bit DONE=1.
Appel
Interface d'appel en représentation LOG
,3B&21),*
LIST Explication
call fb 55 ( //Appel du bloc IP_CONFIG
ACT := M 10.0, //Lancement de la tâche par bit de mémento
LADDR := W#16#0100, //=LADDR 256 déc. dans configuration matérielle
CONF_DB:= P#db99.dbx10.0 byte 240, //Bloc de données avec données de liaison
LEN := MW 14, //Longueur des données de liaison
DONE := M 10.1, //Indication d'exécution
ERROR := M 10.2, //Indication d'erreur
STATUS := MW 16, //Indication d'état
EXT_STATUS := MW 18); //Cause d'erreur dans les données de liaison
Remarque
Pas d'emploi du FB55 en cas d'utilisation du CP avec des liaision S7 à haute disponibilité
Si vous configurez sur le CP des liaisons S7 à haute disponibilité, n'employez pas de FB55
pour la configuration IP du CP.
Remarque
Veillez à ne pas effectuer de double adressage
Si vous utilisez le FB55, veillez particulièrement à n'attribuer que des adresses IP uniques. Il
se peut qu'en cas de détection d'une adresse double, le CP ne soit pas activé sur le réseau.
Remarque
CPU à l'état MARCHE
Dans un système H, vous ne pouvez configurer un CP avec un FB55 que si la CPU
correspondante se trouve à l'état MARCHE.
Dans le système H, seul un rack est mis en marche dans un premier temps. Ceci a pour
conséquence que la CPU ne peut accéder qu'à sa propre périphérie (CP). C'est pourquoi
vous ne pouvez paramétrer avec le FB55 dans l'OB de démarrage (OB100) que les CP
de ce rack.
Pour pouvoir également paramétrer des CP dans le rack redondant, nous vous
recommandons de procéder comme suit :
1. Programmez dans l'OB100 les appels FB55 pour tous les CP devant obtenir une
configuration par le FB55.
2. Au démarrage des divers FB55, enregistrez l'information signalant la configuration ou non
des divers CP.
3. Lorsque le système H active la branche redondante, l'OB72 (erreur de redondance CPU)
est automatiquement appelé. Veillez à ce qu'au cours de l'exécution de l'OB72, une
information d'état spécifiant les FB de configuration (FB55) à appeler soit enregistrée.
4. Appelez ensuite dans l'OB1, au moyen de cette information d'état préalablement
enregistrée, les FB55 nécessaires à la configuration des CP du système redondant.
Remarque :
Vous pouvez, d'une manière générale, renouveler dans l'OB72 les appels de FB55 qui
n'ont pas abouti lors de l'exécution de l'OB100. S'agissant cependant d'un FB nécessitant
plusieurs appels, cela prolongerait la durée d'exécution de l'OB. C'est la raison pour
laquelle nous recommandons la méthode dans l'OB1.
Mode de travail
Le diagramme séquentiel ci-après illustre le déroulement normal dans le temps d'une
configuration IP et d'une configuration de liaison lancée dans le programme utilisateur par
IP_CONFIG.
La tâche est exécutée dès que le paramètre ACT = 1 est transféré.
3URJUDPPHXWLOLVDWHXU (WKHUQHW&3
F\FOHGHOD&38
9DORULVHU&21)B'%
DYHFGRQQ«HV
0HWWUH$&7
&DOO,3B&21),*
W¤FKHHQFRXUV
/H&3UH©RLWGHVGRQQ«HV
V\VWªPH\FRPSULV
O
DGUHVVH,3
&21)B'%HVWWUDQVPLV
VHJPHQWSDUVHJPHQW &DOO,3B&21),* /HVOLDLVRQVVRQWFRQILJX
U«HVVXUOH&3
W¤FKHHQFRXUV
&DOO,3B&21),*
7¤FKHWHUPLQ«HVDQVHUUHXU
0HWWUH$&7
&DOO,3B&21),*
7HPSV 7HPSV
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
Remarque
Les données communiquées au moyen du DB de configuration et stockées dans le CP n'y
sont pas protégées contre une chute de tension ; il faut les charger de nouveau dans le CP
après une interruption de la tension !
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, ERROR et STATUS.
Validité
Le bloc de programme LOGICAL_TRIGGER est utilisable avec les types de module suivants
:
● CP 343-1 ERPC
Appel
Interface d'appel en représentation LOG
/2*,&$/B75,**(5
,17 &21)B'%
,17 &QI/HYHO
Mode de fonctionnement
Le tableau ci-après montre les étapes d'un appel de déclenchement par le programme
utilisateur de la CPU.
Etape Signification
1 Le FB56 LOGICAL_TRIGGER est appelé à l'emplacement prévu du programme
utilisateur de la CPU avec le DB d'instance adéquat et le bloc de données CONF_DB
configuré.
Si le bloc FB56 LOGICAL_TRIGGER est appelé par ACT = 1, les données
momentanées du déclenchement sont lues et transmises au firmware du CP.
Si le FB56 LOGICAL_TRIGGER est appelé par ACT = 0, les indications d'état
DONE, ERROR et STATUS sont mises à jour.
2 Le FB56 LOGICAL_TRIGGER lit les données de déclenchement momentanées.
3 Le FB56 LOGICAL_TRIGGER génère la PDU qui est transmise au firmware du CP
avec les données de déclenchement momentanées.
Etape Signification
4 Le firmware du CP génère un télégramme de données et le transmet à l'application
ERPC.
5 L'application ERPC transmet le télégramme de données aux abonnés ERP (système
ERP ou MES).
La variable "TriggerResponse" du DB de
configuration (DB_CONF) signale que l'accès à
l'abonné ERP était possible ou que l'application
ERPC se trouve en mode Store-and-Forward.
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, ERROR et STATUS.
Ouvrez le DB sous STEP 7 et configurez les deux premières lignes libres avec les variables
"ident" et "data" comme suit :
*) END_STRUCT *)
*) Les valeurs sont entrées par le programme
Remarque
Taille de DB
La taille de DB recommandée est 2 048 octets. Si, durant la mise en service, il s'avère que
cette valeur est insuffisante, augmentez-la. Si la valeur est insuffisante, le FB56
LOGICAL_TRIGGER le signale par une erreur et l'indication STATUS "8A05H".
Besoin en ressources
Remarque
Tenez compte de la version des blocs. Les versions de bloc fournies actuellement peuvent
être différentes des versions de bloc indiquées ici. Le besoin en ressources peut être
différent pour les blocs d'une autre version.
Vous trouverez des informations sur les versions de bloc actuelles sous le numéro d'article :
9836605 (http://support.automation.siemens.com/WW/view/de/9836605)
3.2.1 PNIO_SEND
Compléments
● à partir de la version de bloc V2.0
PNIO_SEND prend en charge le fonctionnement parallèle d'un contrôleur et d'un
périphérique PROFINET IO Vous indiquez pour quel mode le FC est appelé au moyen du
paramètre supplémentaire MODE.
● à partir de la version de bloc V3.0
Le paramètre MODE offre les options de transmission de l'IO Consumer Status suivantes
:
– limitation à l'information d'état groupée dans le paramètre CHECK_IOCS, optimisée
pour une transmission plus rapide ;
ou
– des informations détaillées complémentaires dans le paramètre IO Consumer Status.
31,2B6(1'
&+(&.B,2&6 %22/
LIST Explication
call fc 11 ( //Appel de PNIO_SEND
CPLADDR:=W#16#0100, //Adresse du module dans la configuration matérielle
MODE :=B#16#80, //Fonctionnement en mode contrôleur ou périphérique ;
//Les bits d'état IOCS ne sont pas transmis
LEN :=20, //Longueur de la zone de données
IOCS :=P#DB10.DBX20.0 BYTE 3, //Un bit Status dans le DB10 par octet de données émises
DONE :=M 70.0, //Adresse pour paramètre en retour DONE
ERROR :=M 70.1, //Adresse pour paramètre en retour ERROR
STATUS :=MW 72, //Adresse pour paramètre en retour STATUS
CHECK_IOCS :=M 70.2, //Adresse pour paramètre en retour CHECK_IOCS
SEND :=P#DB10.DBX0.0 BYTE 20 ); //Zone de données à transmettre depuis DB10
//(20 octets)
Limitation au message
groupé dans CHECK_IOCS
; pas de bits d'état dans
IOCS.
Mode Device IO :
Les données sont transmises dans
l'ordre des emplacements comme les
modules d'entrée sont configurés pour
ce Device PROFINET IO sur le segment
du Controller PROFINET IO.
Nota :
vous devez faire le nécessaire pour
garantir la cohérence entre la longueur
programmée ici et la configuration du
Controller PROFINET IO. Pour le
Device, c'est toute la longueur de la
zone de données qui est transmise, y
compris les adresses éventuellement
manquantes.
DONE OUTPUT BOOL 0: - Le paramètre d'état indique si la tâche a été
1 : nouvelles données prises en exécutée sans erreur.
charge
ERROR OUTPUT BOOL 0: -1: Erreurs Indication d'erreur
STATUS OUTPUT WORD - Indication d'état
Remarque
Attente de la confirmation d'exécution
N'exécutez les actions ci-après qu'après signalisation par le bloc de DONE = 1 ou de
ERROR = 1 :
analyse des paramètres de sortie ;
modification du paramètre MODE.
Remarque
Vous devez partir de la supposition que l'état IOCS fourni ne sera pas synchrone avec les
données (paramètre SEND), mais en retard d'un cycle du programme utilisateur. Par
conséquent, les données utilisateur et l'IOCS ne sont pas cohérents.
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
3.2.2 PNIO_RECV
Compléments
● à partir de la version de bloc V2.0
PNIO_RECV prend en charge le fonctionnement parallèle d'un contrôleur et d'un
périphérique PROFINET IO. Vous indiquez pour quel mode le FC est appelé au moyen
du paramètre supplémentaire MODE.
● à partir de la version de bloc V3.0
le paramètre MODE offre les options de transmission de l'IO Provider Status suivantes :
– limitation à l'information d'état groupée dans le paramètre CHECK_IOPS, optimisée
pour une transmission plus rapide ;
ou
– des informations détaillées complémentaires dans le paramètre IO Provider Status.
31,2B5(&9
67$786 :25'
&+(&.B,236 %22/
$''B,1)2 :25'
$1< 5(&9
LIST Explication
call fc 12 ( //Appel de PNIO_RECV
CPLADDR :=W#16#0100, //Adresse du module dans la configuration matérielle
MODE :=B#16#80, //Fonctionnement en mode contrôleur ou périphérique ;
//Les bits d'état IOCS ne sont pas transmis
LEN :=7, //Longueur de la zone de données
IOPS :=P#DB11.DBX7.0 BYTE 1, //Un bit Status dans le DB11 par octet de données reçuess
NDR :=M 74.0, //Adresse pour paramètre en retour NDR
ERROR :=M 74.1, //Adresse pour paramètre en retour ERROR
STATUS :=MW76, //Adresse pour paramètre en retour STATUS
CHECK_IOPS :=M74.2, //Adresse pour paramètre en retour CHECK_IOPS
ADD_INFO :=MW 26, //Information de diagnostic
RECV :=P#DB11.DBX0.0 BYTE 7 ); //Données reçues dans DB11 (7 octets)
Voir aussi
Cohérence des données (Page 162)
Valeurs de substitution (Page 163)
8YH
Limitiation au message
groupé dans CHECK_IOPS
; pas de bits d'état dans
IOPS.
Mode Device IO :
Les données sont transmises dans l'ordre
des emplacements comme les modules
d'entrée sont configurés pour ce Device
PROFINET IO sur le segment du
Controller PROFINET IO.
Nota :
vous devez faire le nécessaire pour
garantir la cohérence entre la longueur
programmée ici et la configuration du
Controller PROFINET IO. Pour le Device,
c'est toute la longueur de la zone de
données qui est transmise, y compris les
adresses éventuellement manquantes.
NDR OUTPUT BOOL 0: - Le paramètre d'état indique si la tâche a été
1 : données prises en charge exécutée sans erreur.
ERROR OUTPUT BOOL 0: - Indication d'erreur
1 : erreur
STATUS OUTPUT WORD - Indication d'état
CHECK_ OUTPUT BOOL 0: tous les IOPS sont GOOD Message groupé indiquant s'il est nécessaire
IOPS 1: au moins un IOPS est BAD d'exploiter la zone d'état IOPS
Le message groupé CHECK_IOPS est
toujours fourni indépendamment du
paramètre MODE.
Remarque
Attente de la confirmation d'exécution
N'exécutez les actions ci-après qu'après signalisation par le bloc de DONE = 1 ou de
ERROR = 1 :
analyse des paramètres de sortie ;
modification du paramètre MODE.
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de NDR, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
Exemple :
ne transmettez, par exemple, dans chaque cycle que la première zone des données (à
durée critique) et tous les deux cycles la longueur totale des données d'E/S configurées.
Pour cela, vous devez placer les données à durée critique dans la zone inférieure (à partir
de l'adresse d'E/S 0) lors de la configuration.
Appel du bloc
Pour assurer la cohérence des données, vous ne pouvez cependant accéder aux données
IO qu'une fois le bloc terminé sans erreur (paramètre de sortie NDR = TRUE). Vous devez
vérifier en plus que l'état IOCS ou IOPS des données est GOOD.
Exemple
Normalement (selon la longueur totale des données IO), le bloc sera exécuté durant
plusieurs cycles du programme utilisateur, jusqu'à ce que l'indicateur DONE/NDR = 1.
$SSHOHUOHFRPSRVDQW31,2B5(&9MXVTX
¢FHTXH1'5
&RQWU¶OHUO
«WDW,236GHVGRQQ«HVUH©XHVGHV,2
'HYLFHVOHFDV«FK«DQWWUDLWHPHQWG
HUUHXU
0HWWUHHQIRUPHHWWUDLWHUOHVGRQQ«HVSU«SDUHUQRXYHOOHV
GRQQ«HVGHVRUWLH
$SSHOHUOHFRPSRVDQW31,2B6(1'
MXVTX
¢FHTXH'21(
&RQWU¶OHUOHVYDOHXUVG
«WDWUH©XHVGHV,2'HYLFHVOHFDV
«FK«DQWWUDLWHPHQWG
HUUHXU
Cas d'utilisation
Utiliser des valeurs de substitution est possible dans les deux cas suivants :
● valeurs de substitution à la mise en route (passage de la CPU de STOP à RUN)
● valeurs de substitution en cas d'incidents (débrochage/enfichage ou
défaillance/rétablissement de la station)
3.2.6 PNIO_RW_REC
Interface d'appel
Interface d'appel en représentation LOG
PNIO_RW_REC
WORD CPLADDR
BOOL WRITE_REC
STATUS WORD
INT LEN
ANY RECORD
LIST Explication
CALL FB 52, DB 52 ( //Appel de PNIO_RW_REC
CPLADDR := W#16#0110, //Adresse de module issue de la configuration matérielle
WRITE_REC := M 1.1, //Type de tâche
ID := W#16#86A, //Adresse logique du module à adresser
INDEX := W#16#8000, //Numéro d'enregistrement
DONE := M 1.3, //Adresse du paramètre en retour DONE
ERROR := M 1.1, //Adresse du paramètre en retour ERROR
STATUS := MW 12, //Adresse du paramètre en retour STATUS
LEN := MW 16, // Longueur de l'enregistrementen octets
RECORD := P#DB3.DBX0.0 BYTE 80 ); //Cible ou source de l'enregistrement
//(ici 80 octets max.)
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
3.2.7 PNIO_ALARM
Remarque
Tant que le bloc n'a pas été appelé, les alarmes sont acquittées automatiquement de
manière interne au CP.
Quand le FB 54 a été appelé une fois (au moins) dans le programme utilisateur, il doit
continuer à être appelé pour acquitter les alarmes présentes. C'est le cas quand le FC 12
indique une valeur différente de "0" dans son paramètre ADD_INFO.
Quand le FB 54 n'est plus appelé dans le programme utilisateur après un ou plusieurs
appels, les alarmes ne sont pas acquittées et la mise à jour correcte de la mémoire image
des E/S n'est pas garantie. Ceci peut être le cas après une alarme signalant le
rétablissement d'une station, par exemple. La nécessité d'appeler le FB 54 ne peut être
annulée que par un démarrage du CP (coupure de tension).
Interface d'appel
Interface d'appel en représentation LOG
PNIO_ALARM
ERROR BOOL
NEW BOOL
LIST Explication
CALL FB 54, DB 54 ( //Appel de PNIO_ALARM
CPLADDR:= W#16#0110, //Adresse de module issue de la configuration matérielle
DONE := M 1.1, //Adresse du paramètre en retour DONE
ERROR := M 1.2, //Adresse du paramètre en retour ERROR
NEW := M 1.3, //TRUE: Une nouvelle alarme a été reçue
STATUS := MW 12, //Code d'erreur
ID := MW14, //Adresse de début logique du composant signalant
LEN := MW 16, //Longueur des informations d'alarme reçues (AINFO)
MODE := MD 18, //RÉSERVÉ (valeur toujours = 0)
TINFO := P#DB4.DBX0.0 BYTE 32, //task information
AINFO := P#DB4.DBX32.0 BYTE 532 ); //alarm information
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, NEW, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
3.3 PROFIenergy
PROFIenergy
Les fonctions PROFIenergy sous PROFINET servent à la gestion de l'énergie d'installations.
En font partie les fonctions d'arrêt planifié ou spontané d'appareils de terrain, d'unités ou de
parties d'installation à des fins d'économies d'énergie. L'arrêt intervient pendant les périodes
non productives ou les pauses de production. Les données d'énergie et de diagnostic
peuvent être lues sur des appareils qui sont intégrés au concept d'énergie et qui prennent en
charge ces fonctions.
Contrôleur PROFIenergy
Les commandes d'arrêt proviennent de l'automate de niveau supérieur ou, sous PROFINET
IO, du contrôleur IO.
Sur un SIMATIC S7-300, le contrôleur PROFIenergy peut être le CP ou une CPU S7-300 à
fonction PROFIenergy.
Périphériques PROFIenergy
Les commandes du contrôleur PROFIenergy sont traitées par les périphériques IO à
fonction PROFIenergy pour couper les appareils de terrain connectés.
Dans le contexte des blocs de programme PROFIenergy, un périphérique IO à fonction
PROFIenergy est désigné par périphérique PROFIenergy. Sur un SIMATIC S7-300, le
périphérique PROFIenergy peut être le CP ou une CPU S7-300 à fonction PROFIenergy.
I-Devices
Sur SIMATIC S7, un périphérique intelligent (I-Device) peut également posséder des
périphériques PROFIenergy subordonnés. Dans ce cas, le périphérique intelligent possède
également la fonction d'un contrôleur PROFIenergy.
Spécification PROFIenergy
Les fonctions des blocs de programme PROFIenergy du CP 300 se basent sur la
spécification suivante de la PROFIBUS Nutzerorganisation e.V. (PNO) :
Common Application Profile PROFIenergy, Technical Specification for PROFINET,
Version 1.0, January 2010, Order No. 3.802
Remarque
Appels de bloc
PE_START_END_CP, PE_CMD_CP, PE_I_DEV_CP et DS3_WRITE_CP ne doivent pas être
appelés simultanément. Le bloc de programme suivant ne peut être appelé que si l'un de
ces blocs de programme a signalé "Pas d'erreur" (VALID = 1) ou "Erreur" (ERROR = 1).
Le bloc de programme PNIO_RW_REC ne doit également pas être appelé en même temps
que PE_START_END_CP, PE_CMD_CP, PE_I_DEV_CP ou DS3_WRITE_CP.
3.3.2 PE_START_END_CP
Séquence
3(B67$57B(1'B&3
3(B&0'B&3 3(B,B'(9B&3
&RQWU¶OHXU352),HQHUJ\ 3«ULSK«ULTXH352),HQHUJ\
7¤FKHG
«FULWXUH
1(:
5«SRQVHG
«FULWXUHSRVLWLYH
7¤FKHGHOHFWXUH
5«SRQVHGHOHFWXUHQ«JDWLYH
UHVVRXUFHRFFXS«H bV
PV
7¤FKHGHOHFWXUH
5«SRQVHGHOHFWXUHSRVLWLYH
bV
7HPSRULVDWLRQ 7HPSRULVDWLRQ
3(B67$57B(1'B&3
LIST Explication
call fb 85 ( //Appeler le bloc de programme PE_START_END_CP;
CPLADDR :=W#16#0100, //Adresse du module de la configuration matérielle;
START :=M100.0, //Adresse pour signal "Début de la pause";
END :=M100.1, //Adresse pour Signal "Fin de la pause";
ID :=W#16#110, //Adresse de l'appareil cible;
PAUSE_TIME :=T#10S //Indication du temps de pause comme temporisation CEI;
VALID :=M100.2 //Adresse pour paramètre de retour VALID;
BUSY :=M110.0, //Adresse pour paramètre de retour BUSY;
ERROR :=M110.1, //Adresse pour paramètre de retour ERROR;
STATUS :=MW128, //Adresse pour paramètre de retour STATUS;
PE_MODE_ID :=MB111 ); //Adresse pour l'ID du mode d'économie d'énergie
Visualisations de PE_START_END_CP
PE_START_END_CP repose sur le bloc de programme PNIO_RW_REC et fournit toutes les
visualisations de PNIO_RW_REC, voir Visualisations du bloc PNIO_RW_REC.
Il fournit en outre les indications spécifiques PROFIenergy ci-après. Les indications d'erreur
de STATUS ne valent qu'en relation avec ERROR = 1.
STATUS Signification
Erreurs spécifiques de bloc
8080h Front montant simultanément pour START et END
8081h Conflit de longueur entre CMD_PARAM et CMD_PARAM_LEN
Erreurs spécifiques PROFIenergy
FE01h Service_Request_ID invalide
FE02h Request_Reference invalide
FE03h CMD_MODIFIER invalide
FE04h Indications invalides sur la structure de données d'une commande (Data_Structure_Identifier_RQ) dans le
télégramme pour l'enregistrement PROFIenergy d'écriture
FE05h Indications invalides sur la structure de données d'une commande (Data_Structure_Identifier_RS) dans le
télégramme pour l'enregistrement PROFIenergy de lecture
FE06h Mode d'économie d'énergie (PE_Mode_ID) non pris en charge
STATUS Signification
FE07h Réponse plus longue que la longueur de transfert max.
FE08h Nombre de commandes invalide
FE09h Block Type invalide (voir en-tête de télégramme)
FE0Ah Block Length invalide (voir en-tête de télégramme)
FE0Bh Block Version invalide (voir en-tête de télégramme)
FE50h Pas de mode d'économie d'énergie approprié (PE_Mode_ID)
FE51h La valeur de PAUSE_TIME n'est pas prise en charge.
FE52h PE_Mode_ID non pris en charge
Des détails sur les paramètres des erreurs spécifiques PROFIenergy sont fournis au
chapitre Données de réponse (Page 185).
Voir aussi
Indications du bloc PNIO_RW_REC (Page 166)
3.3.3 PE_CMD_CP
3(B&0'B&3
%<7( &0'B02',),(5
$1< &0'B3$5$
,17 &0'B3$5$B/(1
LIST Explication
call fb 86 ( //Appeler le bloc de programme PE_CMD_CP;
CPLADDR :=W#16#0100, //Adresse du module de la configuration matérielle;
REQ :=M220.0, //Adresse pour signal de front pour l'exécution du bloc;
ID :=W#16#110, //Adresse de l'appareil cible;
CMD :=MB222, //Service_Request_ID de la commande PROFIenergy;
CMD_MODIFIER :=MB224, //Modificateur de la commande PROFIenergy;
CMD_PARA :=MD240, //Pointeur sur le paramètre du modificateur;
CMD_PARA_LEN :=MW226, //Longueur du paramètre de CMD_PARA;
VALID :=M220.2 //Adresse pour paramètre de retour VALID;
BUSY :=M220.1, //Adresse pour paramètre de retour BUSY;
ERROR :=M220.3, //Adresse pour paramètre de retour ERROR;
STATUS :=MW228, //Adresse pour paramètre de retour STATUS;
RESPONSE_DATA //Adresse pour les données de réponse du périphérique IO
:=P#DB400.DBX0.0 BYTE 244 );
Voir aussi
Explication des paramètres formels de PE_CMD_CP (Page 181)
● 05 = PE_Identity
Interroge les services PROFIenergy pris en charge par le périphérique IO.
● 16 = Query_Measurement
Interroge les données d'énergie du périphérique IO.
Les informations lues sont précisées par le paramètre CMD_MODIFIER.
– Get_Measurement_List
Lit tous les Measurement_ID configurés sur le périphérique IO.
– Get_Measurement_Values
Lit les mesures d'énergie des Measurement_ID sélectionnés.
Indications de PE_CMD_CP
PE_CMD_CP repose sur le bloc de programme PNIO_RW_REC et fournit tous les
visualisation de PNIO_RW_REC, voir Visualisation du bloc PNIO_RW_REC.
Il fournit en outre les indications spécifiques PROFIenergy ci-après. Les indications d'erreur
de STATUS ne valent qu'en relation avec ERROR = 1.
STATUS Signification
Erreurs spécifiques de bloc
8081h Conflit de longueur entre CMD_PARAM et CMD_PARAM_LEN
Erreurs spécifiques PROFIenergy
FE01h Service_Request_ID invalide
FE02h Request_Reference invalide
FE03h CMD_MODIFIER invalide
FE04h Indications invalides sur la structure de données d'une commande (Data_Structure_Identifier_RQ) dans le
télégramme pour l'enregistrement PROFIenergy d'écriture
FE05h Indications invalides sur la structure de données d'une commande (Data_Structure_Identifier_RS) dans le
télégramme pour l'enregistrement PROFIenergy de lecture
FE06h Mode d'économie d'énergie (PE_Mode_ID) non pris en charge
FE07h Réponse plus longue que la longueur de transfert max.
FE08h Nombre de commandes invalide
FE09h Block Type invalide (voir en-tête de télégramme)
FE0Ah Block Length invalide (voir en-tête de télégramme)
FE0Bh Block Version invalide (voir en-tête de télégramme)
FE50h Pas de mode d'économie d'énergie approprié (PE_Mode_ID)
FE51h La valeur de PAUSE_TIME n'est pas prise en charge.
FE52h PE_Mode_ID non pris en charge
Des détails sur les paramètres des erreurs spécifiques PROFIenergy sont fournis au
chapitre Données de réponse (Page 185).
Voir aussi
Indications du bloc PNIO_RW_REC (Page 166)
* Codage du bit 0:
0 = Uniquement valeurs de mesure de temps et d'énergie statiques disponibles.
1 = Valeurs de mesure de temps et d'énergie dynamiques disponibles.
Bit 1...7 : réservé
* Nombre de Measurement_ID
** Premier Measurement_ID pris en charge
*** Dernier Measurement_ID pris en charge
1 Domaine de précision (plage 1...4):
0 = réservé
1 = pourcent de la plage de mesure
2 = pourcents de la valeur de mesure actuelle
3 = précision selon CEI 61557-12
4 = précision selon EN 50470-3 chapitre 8
2 Classe de précision (plage 1...15):
0 = réservé
1 (0,01%) ... 15 (>20%)
3 Plage de mesure si Accuracy_Domain = 1 ; sinon indéfini
* Nombre de Measurement_ID
** Première mesure interrogée
** Dernière mesure interrogée
* Nombre de Measurement_ID
** Première mesure interrogée
** Dernière mesure interrogée
3.3.5 PE_I_DEV_CP
3(B,B'(9B&3
,1'(; ,17
1(: %22/
(5525 %22/
67$786 :25'
LIST Explication
call fb 87 ( //Appel du bloc de programme PE_I_DEV_CP ;
CPLADDR :=W#16#0100, //Adresse de module issue de la configuration matérielle ;
RESET :=M1.0, //Signal de mise à zéro du bloc ;
VALID :=M1.3, //Signal de transfert de données au contrôleur ;
CMD :=MW222, //Service_Request_ID de la commande PROFIenergy ;
CMD_MODIFIER :=MW224, //Modifier de la commande PROFIenergy ;
CMD_PARA :=MD230, //Pointeur vers le paramètre du Modifier ;
INDEX :=MW228, //Numéro de l'enregistrement PROFIenergy ;
NEW :=M1.1, //Etat d'exécution du bloc ;
ERROR :=M1.2, //Adresse du paramètre en retour ERROR ;
STATUS :=MW2, //Adresse du paramètre en retour STATUS ;
LIST Explication
RESPONSE_DATA //Adresse pour les données de réponse du périphérique IO
:=P#DB400.DBX0.0 BYTE 244 );
– 02 (Get_Mode) – 02 (Get_Mode):
Lit les données du mode
Modifier pour PEM_Status : PROFIenergy sélectionné.
00
Commande "Query_Measurement",
Modifier pour PE_Identity : Modifier :
00
– 01 (Get_Measurement_List):
Query_Measurement, Lit tous les Measurement_ID
Modifier : configurés.
– 01 (Get_Measurement – 02 (Get_Measurement_Values):
_List) Lit les mesures des Measurement_ID
– 02 (Get_Measurement sélectionnés.
_Values)
CMD_PARA OUTPUT ANY Pointeur Any vers les paramètres pour les
Modifier de commande suivants (cf.
paramètre CMD_MODIFIER) :
pour Get_Mode :
PE_Mode_ID (ID du mode d'économie
d'énergie) Longueur = 1
pour "Get_Measurement_Values" :
mesures des Measurement_IDs
Longueur = max. 236 octets
(télégramme complet de la commande
de contrôleur sans en-tête)
INDEX OUTPUT INT Numéro de l'enregistrement PROFIenergy
(80A0h)
NEW OUTPUT BOOL 0: Exécution pas encore Indication de l'état d'exécution du bloc de
commencée, terminée ou programme
abandonnée
1: Exécution en cours
ERROR OUTPUT BOOL 0: - Indication d'erreur
1: Erreur Pour sa signification en corrélation avec le
paramètre STATUS, voir Indications de
PE_I_DEV_CP (Page 195).
Indications de PE_I_DEV_CP
PE_I_DEV_CP repose sur le bloc de programme PNIO_RW_REC et fournit tous les
visualisation de PNIO_RW_REC, voir Visualisation du bloc PNIO_RW_REC.
Voir aussi
Indications du bloc PNIO_RW_REC (Page 166)
Fonction
Les blocs de programme complémentaires FC 0 à FC 8 prennent en charge la mise à
disposition des données de réponse que PE_I_DEV_CP transfère au contrôleur :
● Il existe un bloc de programme distinct (FC 1 - FC 8) pour les données de réponse de
chaque commande PROFIenergy.
● FC 0 génère une réponse négative commune pour toutes les commandes PROFIenergy.
Les FC sont appelés dans le programme utilisateur. Il sont mis à disposition sous STEP 7
V5.5 dans la bibliothèque par défaut dans le dossier "PROFIenergy.
Récapitulatif des FC
Les blocs de programme complémentaires suivants sont mis à disposition :
Numéro Nom
FC 0 PE_ERROR_RSP
FC 1 PE_START_RSP
FC 2 PE_END_RSP
FC 3 PE_LIST_MODES_RSP
FC 4 PE_GET_MODE_RSP
FC 5 PE_PEM_STATUS_RSP
FC 6 PE_IDENTIFY_RSP
FC 7 PE_MEASUREMENT_LIST_RSP
FC 8 PE_MEASUREMENT_VALUE_RSP
Voir aussi
Paramètres individuels des FC (Page 198)
%ORFVGHSURJUDPPH
3(B,B'(9B&3 )&)&
&3/$''5,1
5(6(7,1 ,1SDUDPªWUHV
8WLOLVDWHXU
VS«FLILTXHV&0'
8WLOLVDWHXU
&0'B3$5$287
([SORLWDWLRQHWU«DFWLRQGHO
XWLOLVDWHXU
(QWU«HGHO
XWLOLVDWHXU
Remarque
La liaison des blocs de programme est impérativement requise
PE_I_DEV_CP doit être connecté aux FC 0...FC 8 au niveau des paramètres sur fond bleu
clair qui sont affectés par des flèches rouges aux paramètres correspondants des FC.
PE_ERROR_RSP
Génère une réponse négative si la commande PROFIenergy requérante n'est généralement
ou temporairement pas prise en charge. La réponse négative est indépendante de la
commande requérante.
PE_START_RSP
Démarre une pause d'économie d'énergie. Génère la réponse à la commande
"Start_Pause". Signale en retour le mode d'économie d'énergie adopté par l'appareil.
Signalisation en retour par PE_Mode_ID du mode d'économie d'énergie adopté par l'appareil
de terrain ou le groupe d'unités.
PE_END_RSP
Génère la réponse à la commande "End_Pause".
PE_LIST_MODES_RSP
Génère la réponse à la commande "Query_Modes" > Modifier "List_Modes" (liste des modes
d'économie d'énergie pris en charge).
Les ID des modes d'économie d'énergie sont à définir dans le programme utilisateur.
Si les appareils d'un groupe doivent réagir différemment à des pauses de durées différentes,
vous pouvez configurer à cette fin des modes d'économie d'énergie (PE_Mode) différents.
Affectez aux différents modes d'économie d'énergie des PE_Mode_ID différents.
Valeurs possible pour "PE_Mode_ID" :
● 00h : PE_Power_off (hors tension)
● 01h...FEh : configurable ou spécifique fabricant
● FFh : PE_Ready_to_operate (opérationnel)
PE_GET_MODE_RSP
Génère la réponse à la commande "Query_Modes" > Modifier "Get_Mode".
PE_PEM_STATUS_RSP
Génère la réponse à la commande "PEM_STATUS".
PE_IDENTIFY_RSP
Génère la réponse à la commande "PE_Identify".
En tant qu'utilisateur, vous devez spécifier les commandes PROFIenergy prises en charge.
PE_MEASUREMENT_LIST_RSP
Génère la réponse à la commande "Query_Measurement" > Modifier
"Get_Measurement_List".
PE_MEASUREMENT_VALUE_RSP
Génère la réponse à la commande "Query_Measurement" > Modifier
"Get_Measurement_Values".
'6B:5,7(B&3
,17 )81&B
,17 6/27B12B
,17 )81&B
LIST Explication
CALL FB 53, DB 53 ( //Appeler le bloc de programme DS3_WRITE_CP;
CPLADDR := W#16#0110, //Adresse du module de la configuration matérielle;
ENABLE := M 1.1, //Adresse pour signal de front pour l'exécution du bloc;
ID := W#16#86A, //Adresse de l'emplacement de tête du périphérique IO;
SLOT_NO_1 := W#16#1000, //Adresse logique du module d'alimentation 1;
FUNC_1 := M 2.1, //Adresse de la valeur du comportement de commutation du module
... d'alimentation 1;
... //...
BUSY := M 1.2, //...
DONE := M 1.3, //Adresse pour paramètre de retour BUSY;
ERROR := M 1.4, //Adresse pour paramètre de retour DONE;
STATUS := MW 12 ); //Adresse pour paramètre de retour ERROR;
//Adresse pour paramètre de retour STATUS
Indications de DS3_WRITE_CP
DS3_WRITE_CP repose sur le bloc de programme PNIO_RW_REC et fournit tous les
visualisation de PNIO_RW_REC, voir Visualisation du bloc PNIO_RW_REC.
Voir aussi
Indications du bloc PNIO_RW_REC (Page 166)
Besoin en ressources
Remarque
Tenez compte de la version des blocs. Les versions de bloc fournies actuellement peuvent
être différentes des versions de bloc indiquées ici. Le besoin en ressources peut être
différent pour les blocs d'une autre version.
Vous trouverez des informations sur les versions de bloc actuelles sous le numéro d'article :
9836605 (http://support.automation.siemens.com/WW/view/de/9836605)
● pour quelques erreurs, les indications du paramètre STATUS ne sont pas les mêmes
avec FB88 et avec FB90 ;
● il y a des différences dans les capacités fonctionnelles du DB d'interface (voir le manuel
respectif).
Remarque
Vous trouverez des informations détaillées sur la composition et sur le maniement du DB
d'interface dans la documentation de SIMATIC iMap.
Remarque
En cas de chargement après coup de blocs du programme utilisateur, la cohérence des
données n'est garantie que si la CPU a été mise en STOP auparavant.
Interface d'appel
Interface d'appel en représentation LOG
PN_InOut / PN_InOut_Fast
ERROR BOOL
STATUS WORD
LIST Explication
Call FB 88 , DB88 ( //Appel du bloc avec l'instance DB88
LADDR := W#16#0120,
DONE := M 99.1,
ERROR := M 99.0,
STATUS := MW 104);
Avec l'onglet "Appels" du dialogue des propriétés du FB décrit ici, vous pouvez afficher les
SFC utilisés et significatifs pour l'analyse d'erreur.
Remarque
Pour les entrées mentionnant sous STATUS un codage 8FxxH (pour S7-300) ou 8xxxH
(pour S7-400), veuillez consulter également le manuel de référence STEP 7 "Fonctions
système et fonctions standard". Vous y trouverez des informations au chapitre "Evaluation
d'erreur avec le paramètre de sortie RET_VAL".
Généralités
Les blocs de programme suivants sont à la disposition de l'interface SEND/RECEIVE pour la
transmission de données via des liaisons FDL configurées :
Emploi
Le schéma ci-dessous montre l'emploi des blocs FC AG_SEND / AG_LSEND et AG_RECV /
AG_LRECV pour le transfert bidirectionnel de données via une liaison FDL configurée.
Pour certains types de liaison, il faut prévoir un en-tête de tâche dans la zone de données
utilisateur.
Programme Programme
utilisateur utilisateur
STEP 7 Liaison FDL STEP 7
via
Zones de PROFIBUS Zones de
données DP données DP
AG_SEND émettre recevoir AG_RECV
Figure 5-1 Utiliser AG_SEND et AG_RECV sur les deux partenaires de communication
Données
utiles
Figure 5-2 Emission et réception via une liaison FDL avec adressage broadcast programmé
La zone de données utilisateur peut englober jusqu'à 240 octets. Il est possible de
transmettre jusqu'à 236 octets de données utiles. 4 octets sont réservés à l'en-tête de tâche.
Veuillez noter que la longueur de données spécifiée dans l'appel du bloc (paramètre LEN)
doit englober l'en-tête et les données utiles !
Signification du bloc
Le bloc de programme AG_SEND / AG_LSEND remet des données au CP PROFIBUS pour
une transmission via une liaison FDL configurée.
La zone de données indiquée peut être une zone de mémoire image, une zone de
mémentos ou une zone de bloc de données.
L'exécution sans erreur est signalée quand la zone de données utilisateur a pu être envoyée
dans son entier via PROFIBUS.
Remarque :
sauf indication contraire, toutes les indications ci-après s'appliquent autant à AG_SEND qu'à
AG_LSEND.
Appel
Interface d'appel en représentation LOG
$*B6(1'$*B/6(1'
$1< 6(1'
,17 /(1
LIST Explication
call fc 5 ( //Appel de fonction
ACT := M 20.0, //Lancement de la tâche par bit de mémento
ID := MW 22, //ID de liaison selon configuration
LADDR := W#16#0100, //=LADDR 256 déc. dans configuration matérielle
SEND := P#db99.dbx10.0 byte 240, //Tampon avec données d'émission
LEN := MW 24, //Longueur des données émises
DONE := M 20.1, //Indication d'exécution
ERROR := M 20.2, //Indication d'erreur
STATUS := MW 26 ); //Indication d'état
Mode de travail
Le schéma suivant montre le déroulement normal dans le temps d'une transmission de
données déclenchée dans le programme utilisateur par le bloc AG_SEND.
La tâche d'émission est exécutée dès que le paramètre ACT = 1 est transféré.
Ensuite, vous devez transférer le paramètre ACT = 0 dans un appel supplémentaire au
moins.
L'indication d'état dans les paramètres de sortie DONE, ERROR et STATUS est actualisée à
chaque appel de bloc et peut être exploitée. Pour actualiser l'indication d'état sans nouvelle
tâche d'émission, il suffit de lancer un nouvel appel de bloc avec le paramètre ACT = 0.
Voyez aussi l'exemple de programme à la fin de ce chapitre .
$VVLJQHUGHVGRQQ«HV
;ಬ
¢$*B6(1'
$&7
$*B6(1'
$VVLJQHUGHVGRQQ«HV¢$*B6(1'
$&7
7UDQVIHUW
GH
;
YLD352),%86
$*B6(1' HQFRXUV
$*B6(1'
/«JHQGH
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
Signification du bloc
Le bloc de programme AG_RECV reçoit du CP PROFIBUS les données transmises via une
liaison FDL configurée.
La zone de données spécifiée pour la prise en charge des données peut être une zone de
mémoire image, une zone de mémentos ou une zone de bloc de données.
L'exécution sans erreur est signalée quand les données ont pu être reçues du CP
PROFIBUS.
Remarque :
sauf indication contraire, toutes les indications ci-après s'appliquent autant à AG_RECV qu'à
AG_LRECV.
Interface d'appel
Interface d'appel en représentation LOG
$*B5(&9$*B/5(&9
1'5 %22/
LIST Explication
call fc 6 ( //Appel de fonction
ID := MW 30, //ID de liaison selon configuration
LADDR := W#16#0100, //=LADDR 256 déc. dans configuration matérielle
RECV := P#M 10.0 BYTE 100, //Tampon pour données reçues
NDR := DB 100.DBX 0.6, //Indication de réception
ERROR := DB 100.DBX 0.7, //Indication d'exécution
LIST Explication
STATUS := DB 100.DBW 2, //Indication d'erreur
LEN := DB 100.DBW 4 ); //Indication d'état
Tableau 5- 3 Paramètres en retour dans l'en-tête de tâche dans la zone de données (utilisateur) FDL
Mode de travail
Les schémas suivants montrent le déroulement normal dans le temps d'une réception de
données déclenchée dans le programme utilisateur par le bloc AG_RECV.
Chaque tâche AG_RECV du programme utilisateur est acquittée par le CP Ethernet à l'aide
d'une indication dans les paramètres de sortie NDR, ERROR et STATUS.
/DWUDQVPLVVLRQ
GH
$
YLD352),%86
$*B5(&9
HVWHQFRXUV
$*B5(&9
5HFHYRLUH[SORLWHU
OHVGRQQ«HVUH©XHV
$
/DWUDQVPLVVLRQ
GH
%
YLD352),%86
$*B5(&9 HVWHQFRXUV
$*B5(&9
5HFHYRLUH[SORLWHU
OHVGRQQ«HVUH©XHV
%
$*B5(&9 /DWUDQVPLVVLRQ
GH
&
YLD352),%86
HVWHQFRXUV
/«JHQGH
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de NDR, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
Généralités
Avec S7-300, vous disposez des blocs de programme suivants pour les modes maître DP et
esclave DP :
Emploi
Le schéma ci-dessous montre l'utilisation des blocs de programme DP_SEND et DP_RECV
sur le maître DP et l'esclave DP.
'30DVWHU '36ODYH
3URJUDPPH 3URJUDPPH
XWLOLVDWHXU XWLOLVDWHXU
67(3 67(3
=RQHVGH =RQHVGH
GRQQ«HV'3 GRQQ«HV'3
'3B6(1' «PHWWUH UHFHYRLU '3B5(&9
352),%86
'3B5(&9 UHFHYRLU «PHWWUH '3B6(1'
5.2.2 DP_SEND
Signification
Le bloc de programme DP_SEND transmet des données au CP PROFIBUS. Selon le mode
de fonctionnement du CP PROFIBUS, DP_SEND a la signification suivante.
● Quand il est utilisé dans le maître DP
Le bloc transfère au CP PROFIBUS les données d'une zone de sortie DP spécifiée pour
qu'elles soient remises à la périphérie décentralisée.
● Quand il est utilisé dans l'esclave DP
Le bloc transfère les données d'entrée de l'esclave DP au CP PROFIBUS pour qu'elles
soient transmises au maître DP.
La zone de données indiquée peut être une zone de mémoire image, une zone de
mémentos ou une zone de bloc de données.
L'exécution sans erreur est signalée quand la zone de données DP a pu être prise en
charge intégralement par le CP PROFIBUS.
Pour démarrer le maître DP, il suffit de faire précéder la séquence d'appel d'un seul appel de
DP-SEND ou de DP-RECV. On notera à propos de cet appel initial :
Si vous utilisez DP-SEND pour l'initialisation, la zone de données transmise n'est pas reprise
tandis qu'un "0" est transmis aux esclaves. Les données utiles ne sont transmises que lors
du deuxième appel de bloc.
Interface d'appel
DP_SEND
STATUS WORD
LIST Explication
call fc 1 ( //Appel du bloc DP_SEND
CPLADDR:= W#16#0120,
SEND := P#db17.dbx0.0 byte 103,
DONE := M 99.1,
ERROR := M 99.0,
STATUS := MW 104 ) ;
Mode de fonctionnement
Le schéma suivant montre le déroulement normal dans le temps d'une transmission de
données déclenchée dans le programme utilisateur par DP_SEND.
Dans l'organigramme on admet que l'initialisation du maître DP a déjà eu lieu suite à un
appel DP_SEND ou DP_RECV.
Chaque tâche DP_SEND du programme utilisateur est acquittée par le CP PROFIBUS au
moyen d'une indication dans les paramètres de sortie DONE, ERROR et STATUS.
3U«G«ILQLUGRQQ«HVXWLOHVSRXU
'3B6(1'
WRXWHVOHVVRUWLHVಬ$ಬ
'3B6(1'
1HSDVPRGLILHU
OHVGRQQ«HVXWLOHV
ಬ$ಬ
'3B6(1'
7UDQVIHUW
GHGRQQ«HVGHVXEVWLWX
WLRQಬ
'3B6(1' YLD352),%86HQFRXUV
3U«G«ILQLUGRQQ«HVXWLOHVSRXU
'3B6(1'
WRXWHVOHVVRUWLHVಬ%ಬ
'3B6(1' 7UDQVIHUW
GH
$
1HSDVPRGLILHU YLD352),%86HQFRXUV
OHVGRQQ«HVXWLOHV
ಬ%ಬ
'3B6(1'
'3B6(1'
3U«G«ILQLUGRQQ«HVXWLOHVSRXU
'3B6(1'
WRXWHVOHVVRUWLHVಬ%ಬ 7UDQVIHUW
'3B6(1' GH
%
YLD352),%86HQFRXUV
1HSDVPRGLILHU
OHVGRQQ«HVXWLOHV
ಬ&ಬ
7HPSV 7HPSV 7HPSV
/«JHQGH
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
VXUOHVDQFLHQVW\SHGH&3LOVHSHXWTXHO
LQGLFDWLRQ+DSSDUDLVVHDXG«PDUUDJH
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
Le client DP a été démarré mais la reprise des données n'est pas encore possible.
Mode normal
5.2.3 DP_RECV
Signification
Le bloc de commande DP_RECV reçoit des données via PROFIBUS. Selon le mode de
fonctionnement du CP PROFIBUS, DP_RECV a la signification suivante.
● Quand il est utilisé dans le maître DP
DP_RECV prend en charge, dans une zone d'entrée DP spécifiée, les données de
processus de la périphérie décentralisée ainsi qu'une information d'état.
● Quand il est utilisé dans l'esclave DP
DP_RECV prend en charge, dans la zone de données DP spécifiée dans le bloc, les
données de sortie transmises par le maître DP.
La zone de données spécifiée pour la prise en charge des données peut être une zone de
mémoire image, une zone de mémentos ou une zone de bloc de données.
L'exécution sans erreur est signalée quand la zone de données d'entrée DP a pu être
transférée intégralement par le CP PROFIBUS.
Sachez que le bloc FC DP_RECV doit être appelé avec succès au moins une fois sur
l'esclave DP dans le programme utilisateur si des données de sortie ont été configurées pour
cet esclave. Tenez compte aussi des indications données par le manuel de l'appareil.
Pour démarrer le maître DP, il suffit de faire précéder la séquence d'appel d'un seul appel de
DP-SEND ou de DP-RECV. On notera à propos de cet appel initial :
● Si DP_RECV est utilisé pour l'initialisation, les données reçues ne sont pas reprises. Les
données utiles reçues ne sont transmises que lors du deuxième appel de bloc.
Interface d'appel
DP_RECV
STATUS WORD
DPSTATUS BYTE
LIST Explication
call fc 2 ( //Appel du bloc DP_RECV
CPLADDR:= W#16#0120,
RECV := P#db17.dbx240.0 byte 103,
NDR := M 99.1,
ERROR := M 99.0,
STATUS := MW 104,
DPSTATUS:= MB 0 );
Mode de travail
Le schéma ci-dessous montre le déroulement normal dans le temps d'une prise en charge
de données déclenchée dans le programme utilisateur par DP_RECV.
Chaque tâche DP_RECV du programme utilisateur est acquittée par le CP PROFIBUS au
moyen d'une indication dans les paramètres de sortie NDR, ERROR et STATUS.
$FFHSWHUOHVGRQQ«HVUH©XHVಬಬRXಬಬ
HWಬ$ಬHWH[SORLWHU'367$786OLVWH 7UDQVIHUW
GHVVWDWLRQV GH
$
YLD352),%86
HQFRXUV
'3B5(&9
'3B5(&9
$FFHSWHUOHVGRQQ«HVUH©XHVಬ$ಬRXಬ$ಬ
HWಬ%ಬHWH[SORLWHU'367$786OLVWH 7UDQVIHUW
GHVVWDWLRQV GH
%
YLD352),%86
HQFRXUV
'3B6(1'
'3B5(&9
$FFH«WHUOHVGRQQ«HVಬ%ಬ
UH©XHVHWH[SORLWHU'367$786
/LVWHGHVVWDWLRQV
/«JHQGH
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
VXUOHVDQFLHQVW\SHGH&3LOVHSHXWTXHO
LQGLFDWLRQ+DSSDUDLVVHDXG«PDUUDJH
● En mode maître DP :
quand un esclave DP n'est pas dans sa phase de transfert des données, les données
reçues concernées sont mises à 0.
Quand le maître DP n'est ni à l'état RUN ni à l'état CLEAR (bit 4 et 5 dans DPSTATUS),
toutes les données reçues sont mises à 0.
Quand des données ont été reçues plusieurs fois de l'esclave DP depuis le dernier appel
du bloc DP_RECV, seules celles qui ont été reçues en dernier seront extraites avec le
prochain DP_RECV.
● En mode esclave DP :
quand l'esclave DP n'est pas dans sa phase de transfert des données (bit 1 dans
DPSTATUS) ou le maître DP dans l'état Clear (bit 2 dans DPSTATUS), les données
reçues sont mises à 0.
Quand des données ont été reçues plusieurs fois du maître DP depuis le dernier appel
du bloc DP_RECV, seules celles qui ont été reçues en dernier seront extraites avec le
prochain DP_RECV.
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de NDR, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
Le client DP a été démarré mais la reprise des données n'est pas encore possible.
Mode normal
DPSTATUS
Le codage du paramètre de sortie DPSTATUS n'est pas le même en mode maître DP et en
mode esclave DP :
Mode maître DP
7 6 5 4 3 2 1 0
0
Bit Signification
7 non affecté
6 Ce bit n'est pas positionné.
Tenez compte aussi des indications données par le manuel de l'appareil.
5,4 Valeurs pour DPSTATUS du maître DP :
00 RUN
01 CLEAR
10 STOP (reproduit sur l'état de fonctionnement OFFLINE)
11 OFFLINE
Tenez compte aussi des indications données par le manuel de l'appareil.
3 Valeur 1 : synchronisation cyclique activée
2 Valeur 0 : il n'y a pas de nouvelles données de diagnostic
Valeur 1 : il est judicieux d'exploiter la liste de diagnostic ; une station au moins possède de nouvelles données de
diagnostic.
1 Valeur 0 : tous les esclaves DP sont en phase de transfert de données
Valeur 1 : il est judicieux d'exploiter la liste des stations.
0 Mode DP
Valeur 0 : mode maître DP
La signification indiquée pour les autres bits n'est valable que si ce bit est à 0.
Mode esclave DP
7 6 5 4 3 2 1 0
1
Bit Signification
7-5 non affecté
4 Ce bit n'est pas positionné.
Tenez compte aussi des indications données par le manuel de l'appareil.
3 Ce bit n'est pas positionné.
Tenez compte aussi des indications données par le manuel de l'appareil.
2 Valeur 1 : le maître DP 1 est à l'état CLEAR. L'esclave DP reçoit la valeur 0 pour toutes les données DP destinées
aux sorties. Ceci n'a pas d'influence sur les données émises.
1 Valeur 1 : la configuration / le paramétrage n'est pas encore achevé(e) correctement.
0 Valeur 1 : mode esclave DP
La signification indiquée pour les autres bits n'est valable que si ce bit est à 1.
Remarque
Notez bien que l'exploitation de DPSTATUS est autorisée seulement après que le paramètre
en retour NDR a pris la valeur 1.
5.2.4 DP_DIAG
Signification du bloc
Le bloc de programme DP_DIAG sert à demander des informations de diagnostic. On
distingue les types de tâche suivants :
● requête de la liste des stations DP
● requête de la liste de diagnostic DP
● requête d'un état DP individuel
● lecture acyclique des données d'entrée/sortie d'un esclave DP
● lecture d'un ancien diagnostic DP individuel
● lecture de l'état de fonctionnement DP
● lecture de l'état de fonctionnement DP en cas d'arrêt AP/CP
● lecture de l'état actuel de l'esclave DP
Vous pouvez demander les données de diagnostic spécifiques à un esclave en indiquant
une adresse de station.
Il faut prévoir une zone de mémoire dans la CPU et l'indiquer dans l'appel pour que les
données de diagnostic soient transférées à la CPU. Cette zone de mémoire peut être une
zone de bloc de données ou une zone de mémentos. La longueur maximale de la zone de
mémoire disponible doit être indiquée dans la tâche.
Remarque
Le bloc FC DP_DIAG n'est utile qu'en mode DP avec maître DP.
Exclusion
Tant que le bloc est en cours d'exécution, il ne doit pas recevoir de nouvelles données de
tâche.
Exception : requête de liste de stations DP ou de liste de diagnostic DP.
Interface d'appel
DP_DIAG
LIST Explication
call fc 3 ( //Appel du bloc DP_DIAG
CPLADDR:= W#16#0120,
DTYPE := B#16#00,
STATION:= B#16#03,
DIAG := P#db18.dbx0.0 byte 16,
NDR := M 70.0,
ERROR := M 70.1,
STATUS := MW 72,
DIAGLNG:= MB 20 );
3URJUDPPHXWLOLVDWHXU 352),%86&3
F\FOHGH&38PD°WUH'3 '33ROO]\NOXV
'3B',$*
'3B',$*
'3B',$*
([SORLWHUOHVYDOHXUV
DQFLHQQHVHQUHWRXU
7HPSV 7HPSV
7UDQVIHUWGHVSDUDPªWUHV1'5(552567$786
Remarque
Notez bien la particularité suivante pour les types de tâche Lire liste des stations DP et Lire
liste de diagnostic DP :
La tâche de diagnostic fournit les données de diagnostic disponibles au moment du
dernier appel de DP_RECV. La lecture d'une liste verrouille une nouvelle lecture (valeur
en retour 0x8182).
Le déverrouillage des listes se fait par un nouvel événement de diagnostic suivi d'un
appel de DP_RECV.
En réponse à l'appel de DP_DIAG, vous obtiendrez donc l'un des ensembles d'indications
suivants :
Types de tâche
Conformez-vous au tableau suivant pour combiner DTYPE, STATION et DIAGLNG en
indications autorisées et judicieuses pour les tâches.
OFFLINE
OFFLINE
OFFLINE
*) L'état STOP n'est plus pris en charge par les modules actuels (à partir du type de module DA02).
À la lecture d'un diagnostic actuel, le pointeur de lecture est remis sur le 1er diagnostic
ancien.
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de NDR, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
5.2.5 DP_CTRL
Signification du bloc
Le bloc de programme DP_CTRL remet des tâches de commande au CP PROFIBUS.
L'indication d'un bloc de tâche (paramètre CONTROL) permet de préciser la tâche de
commande.
On distingue les types de tâche suivants :
● Global Control acyclique / cyclique
● suppression d'un ancien diagnostic
● fixation de l'état de fonctionnement DP actuel
● fixation de l'état de fonctionnement DP en cas d'arrêt AP/CP
● lecture cyclique de données d'entrée/sortie
● fixation du mode de traitement de l'esclave DP
Les types de tâche énumérés font l'objet de restrictions (à ce sujet, veuillez vous référer aux
informations données par le manuel de l'appareil).
Remarque
Le bloc FC DP_CTRL n'est utile qu'en mode DP avec maître DP.
Exclusion
Tant que le bloc est en cours d'exécution, il ne doit pas recevoir de nouvelles données de
tâche.
Interface d'appel
DP_CTRL
STATUS WORD
LIST Explication
call fc 4 ( //Appel du bloc DP_CTRL
CPLADDR:= W#16#0120,
CONTROL:= P#db14.dbx0.0 byte 30, // Le tampon pour la tâche Control
// occupe les 30 premiers octets du DB 14.
DONE := M 70.0,
ERROR := M 70.1,
STATUS := MW 72 );
'3B&75/
'3B&75/
7¤FKHWHUPLQ«HVDQVHUUHXU
/«JHQGH
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
En réponse à l'appel de DP_CTRL, vous obtiendrez donc l'un des ensembles d'indications
suivants :
● DONE=0, ERROR=0, STATUS=8181
Tant que cette indication reste présente, vous n'avez pas le droit de modifier les
paramètres de tâche.
● DONE=1
Cette valeur du paramètre DONE indique que la tâche a été exécutée. Il peut y avoir des
informations complémentaires dans le paramètre STATUS .
● DONE=0, ERROR=1
Une erreur est survenue. Le message d'erreur figure dans STATUS.
Adresse
CONTROL CTYPE
1er octet de paramètres voir sous 'Paramètres'
(nombre et nom)
2ème octet de paramètres
nième octet de
paramètres
DB 14
Byte 0 01H CTYPE
Byte 1 24H Command Mode
Byte 2 18H Group Select
Byte 3 00H Autoclear
La longueur spécifiée dans le pointeur ANY doit être au moins égale à 4 (dans l'exemple
d'appel, elle est de 30).
Types de tâche
Conformez-vous au tableau suivant pour combiner CTYPE et les paramètres du bloc de
tâche en indications autorisées et judicieuses pour les tâches.
ou de désactiver :
UNSYNC
UNFREEZE
UNCLEAR (bit CLEAR = 0)
Il est possible d'indiquer plus d'une tâche dans le
paramètre Command Mode.
Pour mettre fin à une tâche cyclique Global Control en
cours d'exécution, il faut exécuter une nouvelle tâche
Global Control (cyclique ou acyclique).
Pour mettre fin à la tâche paramétrée dans Command
Mode, il faut désactiver la tâche en question.
Par ex., la tâche SYNC est désactivée par une tâche
UNSYNC.
3 Supprimer un 1. octet : 1 Suppression des anciennes données de diagnostic
diagnostic DP Adresse escl. DP individuel, mémorisées dans le CP PROFIBUS,
individuel ancien 1..126 pour un esclave DP ou pour tous.
127 = tous les
esclaves
Numéro de bit : 7 6 5 4 3 2 1 0
inutilisé
CLEAR
UNFREEZE
FREEZE
UNSYNC
SYNC
inutilisé
Numéro de bit : 7 6 5 4 3 2 1 0
Groupe : 8 7 6 5 4 3 2 1
Indications
Le tableau ci-après renseigne sur l'indication que le programme utilisateur doit exploiter,
composée de DONE, ERROR et STATUS.
Remarque
Pour les entrées mentionnant un codage 8FxxH sous STATUS, veuillez tenir compte des
informations sur le paramètre RET_VAL dans les descriptions des blocs de programme
système référencés.
Vous pourrez rechercher sous STEP 7 les blocs de programme système utilisés et
significatifs pour l'analyse de l'erreur.
Besoin en ressources
Remarque
Tenez compte de la version des blocs. Les versions de bloc fournies actuellement peuvent
être différentes des versions de bloc indiquées ici. Le besoin en ressources peut être
différent pour les blocs d'une autre version.
Vous trouverez des informations sur les versions de bloc actuelles sous le numéro d'article :
9836605 (http://support.automation.siemens.com/WW/view/de/9836605)
Généralités
Pour une station S7, les blocs fonctionnels suivants sont disponibles pour la communication
FMS.
La liste indique les numéros de bloc utilisés à la livraison. Vous pourrez les modifier.
)%[
67$786 :25'
Selon le type du FB, vous y trouverez différents paramètres de type INPUT, OUTPUT ou
INOUT.
Les tableaux suivants donnent la signification, le type de données, les valeurs admises et la
zone de mémoire pour tous les paramètres de bloc existants.
Zone de mémoire
Les zones de mémoire indiquées en abrégé dans le tableau sont les suivantes :
Abréviation Type
E Entrée
A Sortie
M Mémento
L Données locales temporaires
D Zone de bloc de données
Z Compteur
T Temporisation
DBX Bloc de données
6.3 IDENTIFY
Signification du bloc
Le bloc fonctionnel IDENTIFY vous permet d'aller chercher les informations suivantes sur
l'appareil partenaire (via la CPU pour les stations S7) :
● Nom du fabricant de l'appareil
● Nom du modèle de l'appareil
● Version de l'appareil
En fonction de ces informations, vous pouvez alors, par exemple :
Interface d'appel
,'(17,)<
67$786 :25'
9(1'25 675,1*
02'(/ 675,1*
5(9,6,21 675,1*
LIST Explication
call FB 2, DB 22 ( //appel du bloc IDENTIFY avec DB d'instance
REQ := M 1.0, //signal de front pour l'exécution du FB
ID := DW#16#10001, //adapté à la configuration
// de la liaison FMS
NDR := M 1.1, //indique quand "nouvelles données prises en charge"
ERROR := M 1.2, //indique exécution erronée
STATUS := MW 20, //décodage détaillé de l'erreur
VENDOR := "SLAVE2".VENDOR_ABBILD, //zone de données pour nom du fabricant
MODEL := "SLAVE2".MODEL_ABBILD, //zone de données pour type d'appareil
REVISION := "SLAVE2".REV_ABBILD ); //zone de données pour version
Informations complémentaires
"SLAVE2"
est le nom symbolique d'un bloc de données. Il est défini dans la table de mnémoniques
correspondante.
VENDOR_ABBILD, MODEL_ABBILD et REVISION_ABBILD
sont des variables de type STRING. Elles sont définies dans le bloc de données "SLAVE2".
Mode de travail
Le schéma ci-dessous montre le déroulement normal dans le temps d'une tâche IDENTIFY.
La tâche est activée par un changement de front (positif) du paramètre REQ.
)06&OLHQW )066HUYHU
3URJUDPPHXWLOLVDWHXU 352),%86&3 352),%86&3
F\FOHGHOD&38
9DORULVHUOHVSDUDPªWUHV
,1387
&$//)%5(4
9DORULVHUOHVSDUDPªWUHV
,1387
&$//)%5(4
^
,'(17,)<3'8
/
LQWHUURJDWLRQ ;;
HVWHQFRXUV ;;
/LUHOHVGRQQ«HV
G
LGHQWLILFDWLRQ
,'(17,)<
^ &RQILUPHG3'8
,QGLFDWLRQG
«WDW
SU«VHQWH
7HPSV 7HPSV 7HPSV
7UDQVIHUWGHVSDUDPªWUHV1'5(552567$786
6.4 READ
Signification
Le bloc fonctionnel READ lit des données depuis une zone de données du partenaire de
communication qui est spécifiée par son nom ou par son index, selon le paramétrage de la
tâche. Les données lues sont rangées localement dans un bloc de données, dans une zone
de la mémoire image des entrées/sorties ou dans une zone de mémentos.
Interface d'appel du FB
5($'
$1< 5'B
LIST Explication
call FB 3, DB 29 ( //appel du bloc READ avec DB d'instance
REQ := M 1.0, //signal de front pour l'exécution du FB
ID := DW#16#10001, //adapté à la configuration
// de la liaison FMS
VAR_1 := "SLAVE2".INDEX, //adresse la variable de communication à lire
RD_1 := "PROZESS".Motor1, //adresse la zone de données dans laquelle transmettre
NDR := M 1.1, //confirmation de l'exécution
ERROR := M 1.2, //indique une exécution erronée
STATUS := MW 20 ); //décodage détaillé de l'erreur
Mode de travail
Le schéma suivant montre le déroulement normal dans le temps d'une prise en charge de
données déclenchée dans le programme utilisateur par READ.
)06&OLHQW )066HUYHU
3URJUDPPHXWLOLVDWHXU 352),%86&3 352),%86&3
F\FOHGHOD&38
9DORULVHUOHVSDUDPªWUHV
,1387
&$//)%5(4
9DORULVHUOHVSDUDPªWUHV
,1387
&$//)%5(4
^
5($'5HTXHVW3'8
/DOHFWXUH ;;
HVWHQFRXUV ;;
/HFWXUHGHVGRQQ«HV
GDQVOD]RQHGHGRQQ«HV
XWLOLVDWHXUHWFRQYHUVLRQ
DXIRUPDW)06
5($'
^
&RQILUPHG3'8
/DOHFWXUHHVW
WHUPLQ«H
7HPSV 7HPSV 7HPSV
7UDQVIHUWGHVSDUDPªWUHV1'5(552567$786
6.5 REPORT
Signification du bloc
Le bloc fonctionnel REPORT (signaler) permet à un serveur FMS de transmettre des
variables sans confirmation. Ce type de tâche est utilisé en particulier pour la transmission
sur des liaisons FMS de type Broadcast.
Il faut que la structure des variables à signaler ait été fixée localement (serveur FMS) par
configuration.
Interface d'appel
5(3257
$1< 9$5B
LIST Explication
call FB 4, DB 28 ( //appel du bloc REPORT avec DB d'instance
REQ := M 1.0, //signal de front pour l'exécution du FB
ID := DW#16#10001, //adapté à la configuration de la liaison FMS
VAR_1 := "SLAVE2".INDEX, //désigne la variable de communication à signaler
SD_1 := "PROZESS".Motor1, //adresse la zone de données depuis laquelle transmettre
DONE := M 1.1, //confirmation de l'exécution
ERROR := M 1.2, //indique une exécution erronée
STATUS := MW 20 ); //décodage détaillé de l'erreur
Remarque
Le paramètre SD_1 sert à adresser la zone de données depuis laquelle les valeurs de
variable sont lues et signalées. Conformément aux conventions FMS, vous devez indiquer
en plus l'index de variable à l'interface du FC. Mais la cohérence de ces deux indications
n'est pas vérifiée lors du traitement de la tâche.
Mode de travail
Le schéma suivant montre le déroulement normal dans le temps d'une transmission de
données déclenchée dans le programme utilisateur par REPORT.
La tâche est activée par un changement de front (positif) du paramètre REQ.
Chaque tâche REPORT du programme utilisateur est acquittée par le CP PROFIBUS au
moyen d'une indication dans les paramètres de sortie DONE, ERROR et STATUS.
)066HUYHU )06&OLHQW
3URJUDPPHXWLOLVDWHXU 352),%86&3 352),%86&3
F\FOHGHOD&38
9DORULVHUOHVSDUDPªWUHV
,1387
&$//)%5(4
9DORULVHUOHVSDUDPªWUHV
,1387
&$//)%5(4
5(32573'8
^
&RQYHUVLRQGHVGRQQ«HV
/DVLJQDOLVDWLRQ GXIRUPDW)06
HVWWHUPLQ«H HW«FULWXUHGDQVOD]RQHGH
GRQQ«HVXWLOLVDWHXU
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
6.6 STATUS
Signification du bloc
Le bloc fonctionnel STATUS permet de demander des informations d'état au partenaire de
communication sur la liaison FMS indiquée.
On distingue :
● l'état logique de VFD ;
renseigne par ex. sur la disposition à communiquer ;
● l'état physique de VFD ;
renseigne sur l'état de l'appareil ;
● les informations de détail spécifiques à l'appareil ;
fournissent des informations complémentaires le plus souvent spécifiques au fabricant.
Le tableau suivant donne des explications sur les indications qu'un appareil peut fournir en
raison d'une interrogation d'état :
Interface d'appel
)%
67$786 :25'
LIST Explication
call FB 5, DB 21 ( //appel du bloc STATUS avec DB d'instance
REQ := M 1.0, //signal de front pour l'exécution du FB
ID := DW#16#10001, //adapté à la configuration de la liaison FMS
NDR := M 1.1, //indique quand "nouvelles données prises en charge"
ERROR := M 1.2, //indique exécution erronée
STATUS := MW 20, //décodage détaillé de l'erreur
PHYS := MB 22, //zone de données pour état physique
LOG := MB 23, //zone de données pour état logique
LOCAL := P#DB18.DBX0.0 WORD8 ); //zone de données pour "local detail"
Mode de travail
Le schéma ci-dessous montre le déroulement normal dans le temps d'une tâche STATUS.
La tâche est activée par un changement de front (positif) du paramètre REQ.
Chaque tâche STATUS du programme utilisateur est acquittée par le CP PROFIBUS au
moyen d'une indication dans les paramètres de sortie NDR, ERROR et STATUS.
)06&OLHQW )066HUYHU
3URJUDPPHXWLOLVDWHXU 352),%86&3 352),%86&3
F\FOHGHOD&38
9DORULVHUOHVSDUDPªWUHV
,1387
&$//)%5(4
9DORULVHUOHVSDUDPªWUHV
,1387
&$//)%5(4
^
67$7863'8
/
LQWHUURJDWLRQG
«WDW ;;
HVWHQFRXUV ;;
0HWWUHOHVLQIRUPDWLRQV
G
«WDW¢GLVSRVLWLRQ
67$786
^ &RQILUPHG3'8
/
LQGLFDWLRQG
«WDW
HVWSU«VHQWH
7HPSV 7HPSV 7HPSV
7UDQVIHUWGHVSDUDPªWUHV1'5(552567$786
6.7 WRITE
Signification
Le bloc FB WRITE transmet des données d'une zone de données locale spécifiée dans une
zone de données du partenaire de communication. Cette zone de données locale peut être
un bloc de données, une zone dans la mémoire image des entrées/sorties ou une zone de
mémentos (voir paramètre SD_1, paramètre de bloc FMS (Page 268))
La zone de données du partenaire de communication est spécifiée au moyen d'un nom de
variable ou d'un index de variable.
Interface d'appel
:5,7(
$1< 6'B
LIST Explication
call FB 6, DB 28 ( //appel du bloc WRITE avec DB d'instance
REQ := M 1.0, //signal de front pour l'exécution du FB
ID := DW#16#10001, //adapté à la configuration de la liaison FMS
VAR_1 := "SLAVE2".INDEX, //désigne la variable de communication à écrire
SD_1 := "PROZESS".Motor1, //adresse la zone de données depuis laquelle transmettre
DONE := M 1.1, //confirmation de l'exécution
ERROR := M 1.2, //indique une exécution erronée
STATUS := MW 20 ); //décodage détaillé de l'erreur
Mode de travail
Le schéma suivant montre le déroulement normal dans le temps d'une transmission de
données déclenchée dans le programme utilisateur par WRITE.
La tâche est activée par un changement de front (positif) du paramètre REQ.
Chaque tâche WRITE du programme utilisateur est acquittée par le CP PROFIBUS au
moyen d'une indication dans les paramètres de sortie DONE, ERROR et STATUS.
)06&OLHQW )066HUYHU
3URJUDPPHXWLOLVDWHXU 352),%86&3 352),%86&3
F\FOHGHOD&38
9DORULVHUOHVSDUDPªWUHV
,1387
&$//)%5(4
9DORULVHUOHVSDUDPªWUHV
,1387
&$//)%5(4
:5,7(5HTXHVW3'8
^
PLW'DWHQ
/
«FULWXUH ;;
HVWHQFRXUV ;;
&RQYHUVLRQGHVGRQQ«HV
GXIRUPDW)06
HW«FULWXUHGDQVOD]RQHGH
GRQQ«HVXWLOLVDWHXU
:5,7(
^ &RQILUPHG3'8
/
«FULWXUHHVW
WHUPLQ«H
7HPSV 7HPSV 7HPSV
7UDQVIHUWGHVSDUDPªWUHV'21((552567$786
(UUHXUVG«WHFW«HVSDU
(UUHXUVG«WHFW«HVORFDOHPHQW
OHSDUWHQDLUH)06
FODVV«HVSDU
FODVVHG
HUUHXUVH[SOLFDWLRQGDQVOHWDEOHDXFLGHVVRXV
FRGHG
HUUHXUVLJQLILFDWLRQYRLUOHWDEOHDXFLGHVVRXV
Classes d'erreurs
Les codes d'erreur possibles sont groupés en classes d'erreurs comme suit :
Tableau 6- 7 Classe d'erreurs "Dossier d'objets" (OV) / classe d'erreurs Etat VFD/Reject
Remarque
Tenez compte de la version des blocs. Les versions de bloc fournies actuellement peuvent
être différentes des versions de bloc indiquées ici. Le besoin en ressources peut être
différent pour les blocs d'une autre version.
Vous trouverez des informations sur les versions de bloc actuelles sous le numéro d'article :
9836605 (http://support.automation.siemens.com/WW/view/de/9836605)
Nouveautés de la version 06
Cette édition du manuel contient des corrections.
Corrections :
● blocs de programme PROFIenergy
Nouveautés de la version 05
Cette édition du manuel contient des corrections et compléments.
Modifications / Compléments :
● PROFIenergy
Nouveaux blocs de programme pour fonctions PROFIenergy
Nouveautés de la version 04
Cette édition du manuel contient des corrections et compléments.
Modifications / Compléments :
● Nouveau bloc de programme AG_CNTEX
● Adaptation au nouveau logiciel de configuration STEP 7 Professional
Les blocs de programme ne sont plus désignés dans le nouveau logiciel de configuration
que par leur nom symbolique. Le présent manuel en tient compte dans la mesure où ces
noms de bloc de programme y sont utilisés de préférence. Il existe cependant toujours
une correspondance avec les désignations par des numéros de bloc comme cela ce
faisait sous STEP 7 V5.5.
● Bloc de programme FTP_CMD complété
Vous pouvez établir des liaisons FTP sécurisées par SSL.
Nouveautés de la version 03
Cette édition du manuel contient des corrections et compléments.
Modifications / Compléments :
Nouveautés de la version 02
Cette édition du manuel contient des corrections et compléments.
Par rapport à l'édition précédente, sont venus s'ajouter dans la présente édition :
Modifications / Compléments :
● Dans le chapitre Industrial Ethernet
Le nouveau bloc fonctionnel FB 56 est mis à disposition pour la communication ERPC
des CP ERPC.
● Au chapitre FC / FB pour services FTP
La description du bloc de données DB de fichier se trouve à présent dans l'aide en ligne
mais aussi dans le présent manuel.
● Dans le chapitre FB pour liaisons programmées et configuration IP
Ce chapitre contient désormais également la description complète du bloc de données de
configuration requis.
Il décrit en complément la possibilité de configurer un nom d'appareil sur certains types
de CP.
● Dans le chapitre FC / FB pour PROFINET IO
La nouveauté de ce chapitre est la possibilité de désactiver la transmission d'informations
d'état détaillées dans les FC PNIO_SEND et PNIO_RECV. Vous bénéficiez dans ce cas
d'une réaction plus courte au niveau de l'interface.
Nouveautés de la version 01
Cette édition du manuel regroupe les descriptions de bloc qui figuraient jusqu'à présent dans
les différents manuels des CP S7 consacrés aux types de réseau. À l'avenir, ces manuels ne
contiendront plus les descriptions des blocs.
Par rapport aux éditions précédentes des manuels consacrés aux CP S7, l'édition 1
présente en outre les nouveautés suivantes dans les descriptions des blocs :
/1/
SIMATIC NET
CP S7 pour Industrial Ethernet
Configuration et mise en service
Manuel partie A - Applications générales
Manuel de configuration
Siemens AG
(SIMATIC NET Manual Collection)
Sur Internet sous le numéro d'article :
Lien vers la partie A : (http://support.automation.siemens.com/WW/view/fr/30374198)
/2/
Historique des versions des blocs fonctionnels et fonctions SIMATIC NET pour SIMATIC S7
Manuel de référence
Siemens AG
(SIMATIC NET Manual Collection)
Sur Internet sous le numéro d'article :
9836605 (http://support.automation.siemens.com/WW/view/de/9836605)
/3/
SIMATIC
Programmation sous STEP 7
Siemens AG
(Partie de la documentation STEP 7 Informations basiques STEP 7)
(Fait partie de la documentation en ligne de STEP 7)
Sur Internet sous le numéro d'article :
18652056 (http://support.automation.siemens.com/WW/view/de/18652056)
/4/
SIMATIC
Fonctions système et fonctions standard pour S7-300/400 - Volumes 1/2
Manuel de référence
Siemens AG
(Partie de la documentation STEP 7 Informations basiques STEP 7)
(Fait partie de la documentation en ligne de STEP 7)
Sur Internet sous le numéro d'article :
1214574 (http://support.automation.siemens.com/WW/view/de/1214574)