116
Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7- 300/400 ___________________ ___________________ ___________________ __________ ___________________ __________________SIMATIC ET 200MP / ET 200SP Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation 01/2013 A5E31625083-AA Avantpropos Guide de la documentation 1 Introduction 2 Programmation - communication via des instructions 3 Messages d'erreur 4 Service & Support A

1 Introduction 2 Programmation

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 Introduction 2 Programmation

� Instructions de communication PtP

utilisées avec périphérie décentralisée d'un S7- �300/400

___________________

___________________

___________________

______________________________

___________________

SIMATIC

ET 200MP / ET 200SPInstructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation

01/2013 A5E31625083-AA

Avantpropos

Guide de la documentation 1

Introduction 2

Programmation - communication via des instructions

3

Messages d'erreur 4

Service & Support A

Page 2: 1 Introduction 2 Programmation

Siemens AG Industry Sector Postfach 48 48 90026 NÜRNBERG ALLEMAGNE

A5E31625083-AA Ⓟ 12/2012 Sous réserve de modifications techniques

Copyright © Siemens AG 2013. Tous droits réservés

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.

Page 3: 1 Introduction 2 Programmation

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 3

Avantpropos

Objet de cette documentation Cette documentation fournit d'importantes informations pour programmer les modules de communication point à point de l'ET 200MP et l'ET 200SP dans un système S7-300/400 à l'aide des instructions développées pour TIA-Portal V12 (configuration décentralisée).

Connaissances de base requises Pour bien exploiter les informations contenues dans cette documentation, les connaissances suivantes sont nécessaires :

● Connaissances générales en technique d'automatisation

● Connaissances de l'automate programmable industriel SIMATIC

● Connaissances sur l'utilisation d'ordinateurs sous Windows

● Connaissances dans l'utilisation de STEP 7

Domaine de validité de la documentation Cette documentation est valide pour tous les modules de communication point à point suivants :

● Module de communication CM PtP RS232 BA (6ES7540-1AD00-0AA0)

● Module de communication CM PtP RS422/485 BA (6ES7540-1AB00-0AA0)

● Module de communication CM PtP RS232 HF (6ES7541-1AD00-0AB0)

● Module de communication CM PtP RS422/485 HF (6ES7541-1AB00-0AB0)

● Module de communication CM PtP (6ES7137-6AA00-0BA0)

Conventions Par la suite, le terme "CPU" désigne aussi bien les unités centrales du S7-300/400 que les modules d'interface de la périphérie décentralisée.

Tenez également compte des remarques identifiées de la façon suivante :

Remarque

Un nota contient des informations importantes sur le produit décrit dans la documentation, sur la manipulation du produit ou sur la partie de la documentation qu'il faut particulièrement mettre en relief.

Page 4: 1 Introduction 2 Programmation

Avantpropos

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 4 Manuel de programmation, 01/2013, A5E31625083-AA

Recyclage et élimination Les produits sont recyclables car leurs composants sont peu polluants. Pour que votre appareil usagé soit recyclé et éliminé sans nuisances pour l'environnement, contactez une entreprise d'élimination certifiée pour les déchets électroniques.

Aide supplémentaire ● Vous trouverez des informations complémentaires sur Assistance technique

(http://www.siemens.com/automation/support-request) en annexe de cette documentation.

● L'offre de documentation technique pour chaque produit et système SIMATIC est disponible sur SIMATIC Portal (http://www.siemens.com/simatic-tech-doku-portal).

● Vous trouverez le catalogue en ligne et le système de commande en ligne sur Catalogue (http://mall.automation.siemens.com).

Remarque sur la sécurité informatique Siemens offre pour son portefeuille de produits d’automatisation et entraînements des mécanismes de sécurité informatiques garantissant une exploitation sécurisée de l'installation ou de la machine. Nous vous recommandons de vous tenir régulièrement informé des nouveautés relatives à la sécurité informatique de vos produits. Pour plus d'informations à ce sujet, allez sur Internet (http://support.automation.siemens.com).

Sur cette page, vous pouvez vous abonner à la Newsletter d'un produit donné.

Pour l’exploitation sécurisée d’une installation ou d’une machine, il est en outre nécessaire d’intégrer les constituants d'automatisation dans un concept global de sécurité informatique de l'installation ou de la machine qui correspond à l'état actuel de la technique informatique. Vous trouverez des informations à ce sujet sur Internet (http://www.siemens.com/industrialsecurity).

Veuillez également tenir compte des produits que vous utilisez et qui proviennent d'autres fabricants.

Page 5: 1 Introduction 2 Programmation

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 5

Sommaire

Avantpropos .............................................................................................................................................. 3

1 Guide de la documentation........................................................................................................................ 7

2 Introduction................................................................................................................................................ 9

2.1 Convention.....................................................................................................................................9

2.2 Vue d'ensemble des instructions .................................................................................................10

3 Programmation - communication via des instructions.............................................................................. 13

3.1 Point à point .................................................................................................................................13 3.1.1 Présentation de la communication point à point ..........................................................................13 3.1.2 Application des instructions .........................................................................................................16 3.1.3 Paramètres communs pour les instructions point à point............................................................18 3.1.4 Port_Config : configuration de port de communication point à point ...........................................20 3.1.5 Send_Config : configuration d'émission point à point ..................................................................23 3.1.6 Receive_Config : configuration de réception point à point ..........................................................25 3.1.7 P3964_Config : Configurer le protocole 3964(R).........................................................................30 3.1.8 Send_P2P : Envoi de données ....................................................................................................32 3.1.9 Utilisation des paramètres LENGTH et BUFFER pour les opérations de communication..........34 3.1.10 Receive_P2P : réception de données..........................................................................................35 3.1.11 Receive_Reset : Effacer le tampon de réception.........................................................................36 3.1.12 Signal_Get : lire les signaux.........................................................................................................37 3.1.13 Signal_Set : activer signaux d'accompagnement ........................................................................38 3.1.14 Get_Features : appel de fonctions étendues ...............................................................................39 3.1.15 Set_Features : activation de fonctions étendues.........................................................................40

3.2 Modbus ........................................................................................................................................41 3.2.1 Présentation de la communication Modbus RTU ........................................................................41 3.2.2 Modbus_Comm_Load : configuration d'un module de communication pour Modbus .................43 3.2.3 Modbus_Master : communication en tant que maître Modbus....................................................46 3.2.4 Modbus_Slave : communication en tant qu'esclave Modbus ......................................................53 3.2.5 Structure des télégrammes..........................................................................................................59

3.3 USS..............................................................................................................................................68 3.3.1 Présentation de la communication USS ......................................................................................68 3.3.2 Conditions requises pour l'utilisation du protocole USS ..............................................................70 3.3.3 USS_Port_Scan : communication par le biais du réseau USS....................................................74 3.3.4 USS_Drive_Control : Préparer et afficher les données pour l'entraînement ...............................77 3.3.5 USS_Read_Param : lire des données de l'entraînement ............................................................81 3.3.6 USS_Write_Param : modifier des données dans un entraînement .............................................83 3.3.7 Informations générales sur la configuration d'un entraînement...................................................85

4 Messages d'erreur ................................................................................................................................... 89

A Service & Support.................................................................................................................................. 107

Glossaire ............................................................................................................................................... 111

Index...................................................................................................................................................... 115

Page 6: 1 Introduction 2 Programmation

Sommaire

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 6 Manuel de programmation, 01/2013, A5E31625083-AA

Page 7: 1 Introduction 2 Programmation

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 7

Guide de la documentation 1

Introduction La documentation des produits SIMATIC est de conception modulaire et traite des thèmes touchant à votre système d'automatisation.

La documentation complète relative aux systèmes S7-300/400, ET 200MP/SP comprend les instructions de service, les manuels et les informations produit.

Vue d'ensemble de la documentation concernant la communication point à point Le tableau suivant indique les autres documentations qui complètent la présente description.

Sujet Documentation Contenus les plus importants Système Manuel système Système de périphérie

décentralisée ET 200SP (http://support.automation.siemens.com/WW/view/fr/58649293) Manuel système Système de périphérie décentralisé ET 200MP (http://support.automation.siemens.com/WW/view/fr/59193214)

• Planification de l'utilisation • Montage • Connexion • Adressage • Mise en service • Maintenance

Page 8: 1 Introduction 2 Programmation

Guide de la documentation

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 8 Manuel de programmation, 01/2013, A5E31625083-AA

Sujet Documentation Contenus les plus importants Description fonctionnelle Communication (http://support.automation.siemens.com/WW/view/fr/59192925)

• Bases de la communication série

• Fonctions de transmission de données

• Fonctions de diagnostic

Communication

Manuel Module de communication CM PtP RS232 BA (http://support.automation.siemens.com/WW/view/fr/59057152) Manuel Module de communication CM PtP RS232 HF (http://support.automation.siemens.com/WW/view/fr/59057160) Manuel Module de communication CM PtP RS422/485 BA (http://support.automation.siemens.com/WW/view/fr/59057390) Manuel Module de communication CM PtP RS422/485 HF (http://support.automation.siemens.com/WW/view/fr/59061372) Manuel Module de communication CM PtP (http://support.automation.siemens.com/WW/view/fr/59061378)

• Présentation du produit • Connexion • Paramétrer • Programmation • Diagnostic

Diagnostic système

Description fonctionnelle Diagnostic système (http://support.automation.siemens.com/WW/view/fr/59192926)

Pour S7-1500, ET 200MP, ET 200SP : • Analyse du diagnostic

Matériel/logiciel

Construction Description fonctionnelle Montage sans perturbation des automates (http://support.automation.siemens.com/WW/view/fr/59193566)

• Notions fondamentales • Compatibilité

électromagnétique • Protection contre la foudre

Manuels SIMATIC Toutes les dernières versions en date des manuels des produits SIMATIC sont téléchargeables gratuitement sur Internet (http://www.siemens.com/automation/service&support).

Page 9: 1 Introduction 2 Programmation

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 9

Introduction 22.1 Convention

Terminologie TIA Portal

Remarque La terminologie TIA Portal est utilisée dans cette documentation. • Instruction

Cela signifie que pour la description des blocs de communication point à point, Modbus et USS il n'est plus différencié comme dans le contexte S7-300/400 entre FB et SFB ou entre FC et SFC et qu'on ne parlera plus que d'instructions. Toutes les instructions ne dépendent plus de la CPUutilisée mais peuvent être utilisées aussi bien pour les S7-300/400 (et de manière décentralisée dans un ET 200MP/SP) que pour le S7-1500 (configuration centralisée et décentralisée).

• Module de communication Cela signifie pour la description des appareils que le terme habituel de "Processeur de communication" utilisé dans le contexte S7-300/400 sera remplacé par le terme de "Module de communication".

Page 10: 1 Introduction 2 Programmation

Introduction 2.2 Vue d'ensemble des instructions

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 10 Manuel de programmation, 01/2013, A5E31625083-AA

2.2 Vue d'ensemble des instructions

Remarque Utilisation des instructions

Pour pouvoir utiliser les instructions décrites ci-après dans un contexte S7-300/400-Umfeld (et de manière décentralisée dans un ET 200MP/SP), vous devez avoir intégré la bibliothèque requise via un HSP (Hardware Support Package) dans votre STEP 7 (SIMATIC Manager).

Les bibliothèques suivantes sont disponibles : • Punkt-zu-Punkt: PtP Communication, PtP_Comm • Modbus (RTU): MODBUS (RTU), MODBUS_(RTU) • USS: USS Communication, USS_Comm

Présentation des instructions La conversion des protocoles de transmission se fait sur le module de communication. L'interface du module de communication est adaptée par le biais du protocole à l'interface du partenaire de communication.

La communication entre la CPU, le module de communication et un partenaire de communication s'effectue via des instructions spéciales et les protocoles qui prennent en charge les modules de communication correspondants.

Les instructions constituent l'interface logicielle entre la CPU et le module de communication. Elles doivent être appelées de manière cyclique depuis le programme utilisateur. Une transmission de données s'effectue sur plusieurs cycles.

Tableau 2- 1 Instructions pour PtP

Instruction Signification Port_Config (Page 20)

L'instruction Port_Config vous permet de procéder à la configuration dynamique de paramètres base de l'interface.

Send_Config (Page 23)

L'instruction Send_Config (configuration d'émission) vous permet de procéder à la configuration dynamique de paramètres d'émission série pour un port.

Receive_Config (Page 25)

L'instruction Receive_Config (configuration de réception) vous permet de procéder à la configuration dynamique de paramètres de réception série pour un port.

P3964_Config (Page 30)

L'instruction P3964_Config (configuration de protocole) vous permet de procéder à la configuration dynamique des paramètres de la procédure 3964(R).

Send_P2P (Page 32)

L'instruction Send_P2Pvous permet de procéder à l'émission de données à un partenaire de communication.

Receive_P2P (Page 35)

L'instruction Recveive_P2P vous permet de procéder à la réception de données d'un partenaire de communication.

Receive_Reset (Page 36)

L'instruction Receive_Reset vous permet d'effacer le tampon de réception du module de communication.

Page 11: 1 Introduction 2 Programmation

Introduction 2.2 Vue d'ensemble des instructions

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 11

Instruction Signification Signal_Get (Page 37)

L'instruction Signal_Get vous permet de lire les signaux d'accompagnement RS232.

Signal_Set (Page 38)

L'instruction Signal_Set vous permet de lire les signaux d'accompagnement RS232.

Get_Features (Page 39)

L'instruction Get_Features vous permet de lire les fonctions étendues prises en charge par le module de communication.

Set_Features (Page 40)

L'instruction Set_Features vous permet d'activer les fonctions étendues prises en charge par le module de communication.

Tableau 2- 2 Instructions pour USS

Instruction Signification USS_Port_Scan (Page 74)

L'instruction USS_Port_Scan vous permet de procéder à la communication via le réseau USS.

USS_Drive_Control (Page 77)

L'instruction USS_Drive_Control vous permet de procéder à l'échange de données avec l'entraînement.

USS_Read_Param (Page 81)

L'instruction USS_Read_Param vous permet de procéder à la lecture de paramètres d'un entraînement.

USS_Write_Param (Page 83)

L'instruction USS_Write_Param vous permet de procéder à l'écriture des paramètres dans l'entraînement.

Tableau 2- 3 Instructions pour Modbus

Instruction Signification Modbus_Comm_Load (Page 43)

L'instruction Modbus_Comm_Load vous permet de configurer le port du module de communication pour Modbus-RTU. .

Modbus_Master (Page 46)

L'instruction Modbus_Master vous permet de communiquer en tant que maître Modbus via le port point à point.

Modbus_Slave (Page 53)

L'instruction Modbus_Slave vous permet de communiquer en tant qu'esclave Modbus via le port point à point.

Page 12: 1 Introduction 2 Programmation

Introduction 2.2 Vue d'ensemble des instructions

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 12 Manuel de programmation, 01/2013, A5E31625083-AA

Page 13: 1 Introduction 2 Programmation

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 13

Programmation - communication via des instructions 33.1 Point à point

3.1.1 Présentation de la communication point à point STEP 7 fournit des instructions avancées qui permettent au programme utilisateur d'exécuter la communication point à point avec un protocole indiqué dans le programme utilisateur. Ces instructions peuvent être classées en deux catégories :

● Instructions de configuration

● Instructions de communication

Remarque Capacités fonctionnelles CPU

Les instructions point à point communiquent avec les modules de communication par la lecture ou l'écriture des enregistrements. Si ces instructions sont utilisées, il convient de tenir compte des capacités fonctionnelles de chaque CPU pour la lecture et l'écriture des enregistrements. Si plusieurs instructions d'une CPU lisent ou écrivent simultanément des enregistrements, elles doivent être appelées par le programme utilisateur de manière différée.

Instructions de configuration Avant que le programme utilisateur ne puisse exécuter une communication point à point, vous devez configurer l'interface de communication ainsi que les paramètres pour l'émission et la réception de données.

Vous pouvez effectuer la configuration de l'interface et des messages pour chaque CM via la configuration d'appareil ou par le biais des instructions suivantes dans votre programme utilisateur :

● Port_Config (Page 20)

● Send_Config (Page 23)

● Receive_Config (Page 25)

● P3964_Config (Page 30)

Page 14: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 14 Manuel de programmation, 01/2013, A5E31625083-AA

IMPORTANT Configuration de l'appareil <-> Instructions de configuration

Les paramètres de la configuration de l'appareil sont transmis à chaque Power On de la CPU (remise sous tension) au CM.

Les paramètres des instructions de configuration sont transmis en fonction du programme utilisateur au CM.

Il n'y a pas de synchronisation entre les paramètres de la configuration de l'appareil et les paramètres des instructions de configuration, c'est-à-dire que les paramètres des instructions de configuration ne sont pas repris dans la configuration de l'appareil de la CPU. Le programme utilisateur vous permet de déterminer à quel moment un paramètre donné est actif dans le CM.

Instructions de communication Les instructions de communication point à point permettent au programme utilisateur d'envoyer des données aux interfaces de communication et d'en recevoir. Les CMs envoient des données aux partenaires de communication et en reçoivent. Le protocole est dans une mémoire tampon qui est reçue d'une interface de communication spécifique ou lui est envoyée.

● Send_P2P (Page 32)

● Receive_P2P (Page 35)

Remarque Cohérence des données

Pour que les données à émettre soient transmises de manière cohérente, elles ne doivent pas être modifiées après le front montant du paramètre REQ jusqu'à la mise à 1 de DONE par l'instruction Send_P2P.

Pour que les données de réception soient lues de manière cohérente, elles ne doivent être évaluées que si NDR = true.

D'autres instructions permettent de réinitialiser la mémoire tampon de réception ainsi que de lire et d'activer des signaux RS232 spécifiques.

● Receive_Reset (Page 36)

● Signal_Get (Page 37)

● Signal_Set (Page 38)

Les instructions suivantes permettent de lire ou d'écrire des fonctions avancées si le module les prend en charge.

● Get_Features (Page 39)

● Set_Features (Page 40)

Page 15: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 15

Toutes les instructions PtP sont asynchrones, c'est-à-dire que le programme utilisateur n'est pas suspendu tant que l'instruction n'est pas traitée en totalité. De ce fait, l'instruction doit être appelée jusqu'à ce que le paramètre de sortie DONE indique son exécution totale.

Le programme utilisateur peut utiliser une architecture d'interrogation pour déterminer l'état des émissions et des réceptions. Send_P2P et Receive_P2P peuvent s'exécuter simultanément. Les modules de communication mettent les données d'émission et de réception en mémoire tampon selon les besoins, jusqu'à une taille de mémoire tampon maximale spécifique au module.

Remarque Résolution en temps bit

Pour plusieurs paramètres, le nombre de temps de bit est indiqué pour la vitesse de transmission configurée. La spécification du paramètre en temps de bit permet d'avoir un paramètre indépendant de la vitesse de transmission. Tous les paramètres en unités de temps de bit peuvent avoir une valeur maximale de 65535. Toutefois, la quantité de temps maximale que peut mesurer un CM est de 8 secondes.

Page 16: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 16 Manuel de programmation, 01/2013, A5E31625083-AA

3.1.2 Application des instructions Les instructions point à point doivent être appelées cycliquement pour vérifier si des données ont été reçues. L'interrogation de l'émission indiquera au programme utilisateur lorsque l'émission s'est achevée.

En fonction de la quantité de données, la transmission peut s'effectuer sur plusieurs appels (cycles de programme). SI la tâche s'est terminée par DONE = TRUE ou NDR = TRUE, elle a été exécutée sans erreur.

Remarque Sauvegarder STATUS

Les paramètres DONE, NDR, ERROR et STATUS sont activés uniquement pour la durée d'un cycle. Pour visualiser le STATUS, vous devez donc copier STATUS dans une zone de données libre.

maître Séquence type pour un maître :

1. L'instruction Send_P2P déclenche une transmission au CM. Un front montant à l'entrée REQ déclenche le transfert des données.

2. L'instruction Send_P2P est exécutée lors des cycles suivants pour interroger l'état d'achèvement de l'émission.

3. Lorsque l'instruction Send_P2P indique que l'émission est achevée, le code utilisateur peut préparer la réception de la réponse.

4. L'instruction Receive_P2P est exécutée de manière répétée pour vérifier s'il y a une réponse. Lorsque le CM a collecté un message de réponse, l'instruction Receive_P2P copie la réponse dans la CPU et signale que de nouvelles données ont été reçues.

5. Le programme utilisateur peut traiter la réponse.

6. Retour à l'étape 1 et répétition du cycle.

Page 17: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 17

esclave Séquence type pour un esclave :

1. Le programme utilisateur exécute l'instruction Receive_P2P à chaque cycle.

2. Lorsque le CM a reçu une demande, l'instruction Receive_P2P signale que de nouvelles données sont prêtes et la demande est copiée dans la CPU.

3. Le programme utilisateur traite la demande et génère une réponse.

4. L'instruction Send_P2P est utilisée pour renvoyer la réponse au maître

5. Exécutez Send_P2P de manière répétée pour être sûr que l'émission a lieu.

6. Retour à l'étape 1 et répétition du cycle.

L'esclave doit appeler Receive_P2P suffisamment souvent pour recevoir une émission du maître avant que ce dernier n'interrompe l'opération en raison de l'expiration du délai d'attente de réponse chez le maître. A cet effet, le programme utilisateur peut appeler Receive_P2P à partir d'un OB d'alarme cyclique dont la période est suffisamment courte pour recevoir une émission du maître avant que le délai d'attente n'expire. Si vous définissez la période de l'OB de manière à permettre deux exécutions pendant le délai d'attente du maître, le programme utilisateur peut recevoir les émissions sans en manquer aucune.

Page 18: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 18 Manuel de programmation, 01/2013, A5E31625083-AA

3.1.3 Paramètres communs pour les instructions point à point

Tableau 3- 1 Paramètres d'entrée généraux pour les instructions point à point

Paramètres Description REQ Un front montant à l'entrée REQ déclenche le transfert des données. Un autre front à l'entrée REQ ne peut

être généré qu'à la fin de la tâche (DONE ou ERROR). Selon la quantité de données, la transmission peut s'effectuer sur plusieurs appels (cycles de programme). Lorsque vous insérez une instruction point à point dans votre programme, STEP 7 demande de spécifier le bloc de données d'instance (ou STEP 7 crée un DB d'instance correspondant). Utilisez un DB unique pour chaque appel de l'instruction point à point.

PORT Une adresse de port est attribuée pendant la configuration du module de communication. Le paramètre PORT permet d'indiquer à l'instruction son affectation à un module de communication donné. Après la configuration, un nom symbolique de port par défaut peut être sélectionné. La valeur de port CM affectée est la propriété "Identification matérielle" de la configuration d'appareil pour le S7-1200/1500 et l'"adresse d'entrée" pour le S7-300/400. Le nom symbolique du port est affecté dans la table de mnémoniques.

Les paramètres de sortie DONE, NDR, ERROR et STATUS des instructions point à point indiquent l'état d'achèvement de l'exécution des fonctions point à point.

Tableau 3- 2 Paramètres de sortie DONE, NDR, ERROR et STATUS

Paramètres Type de données

Standard Description

DONE Bool FALSE Mis sur TRUE pendant tout un cycle pour indiquer que la dernière demande s'est achevée sans erreur. Sinon, FALSE.

NDR Bool FALSE Mis sur TRUE pendant tout un cycle pour indiquer que de nouvelles données ont été reçues. Sinon, FALSE.

ERROR Bool FALSE Mis sur TRUE pendant tout un cycle pour indiquer que la dernière demande s'est achevée avec des erreurs, le code d'erreur correspondant étant contenu dans STATUS. Sinon FALSE.

STATUS Word 0 ou 0x7000 Etat du résultat : • Si le bit DONE ou NDR est à 1, STATUS est mis à 0/0x700 ou

reçoit un code d'erreur spécifique. • Si le bit ERROR est à 1, un code d'erreur est affiché au niveau

du STATUS. • Si aucun des bits ci-dessus n'est à 1, l'instruction renvoie des

résultats d'état qui décrivent l'état en cours de la fonction. La valeur au niveau du STATUS s'applique jusqu'au prochain appel de l'instruction (avec la même adresse de port).

Page 19: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 19

Tableau 3- 3 Paramètre d'entrée/sortie COM_RST

Paramètres Type de données

Standard Description

COM_RST Bool FALSE Initialisation de l'instruction Avec TRUE, l'instruction est initialisée. Ensuite, COM_RST est remis à FALSE. Nota : Vous devez mettre COM_RST au démarrage sur TRUE et ne plus modifier le paramètre par la suite, c'est-à-dire ne pas affecter de valeur lors de l'appel de l'instruction. Après l'initialisation du DB d'instance, COM_RST est réinitialisé par l'instruction.

Remarque

Notez que les paramètres DONE, NDR, ERROR et STATUS sont à 1 pour un cycle uniquement.

Tableau 3- 4 Codes d’erreur communs

Code d'erreur Description 0x0000 Pas d'erreur 0x7000 La fonction est inactive 0x7001 Premier appel après le démarrage d'une demande. 0x7002 Appel consécutif après le démarrage d'une demande. 0x8x3A Pointeur illicite dans le paramètre x

Tableau 3- 5 Classes d'erreur communes du paramètre STATUS

Description de la classe Classes d'erreur Description Configuration du port 0x81Ax Utilisé pour définir les erreurs de configuration de port

communes Configuration d'émission 0x81Bx Utilisé pour définir les erreurs de configuration d'émission Configuration de la réception 0x81Cx Utilisé pour définir les erreurs de configuration de réception Emission 0x81Dx Utilisé pour définir les erreurs apparaissant à l'exécution de

l'émission Réception 0x81Ex Utilisé pour définir les erreurs apparaissant à l'exécution de la

réception Signaux d'accompagnement RS232

0x81Fx Utilisé pour définir les erreurs associées au traitement du signal

Page 20: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 20 Manuel de programmation, 01/2013, A5E31625083-AA

3.1.4 Port_Config : configuration de port de communication point à point

Description L'instruction Port_Config (configuration de port) vous permet de modifier des paramètres comme la vitesse de transmission, à partir de votre programme.

Les modifications de configuration de Port_Config ne sont pas enregistrées dans la CPU mais sur le CM. Les paramètres enregistrés dans la configuration de l'appareil sont restaurés lorsque la CPU est remise en marche.

Paramètres

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/ WinAC

Standard Description

REQ IN Bool FALSE Activation de la modification de configuration en cas de front montant de cette entrée.

PORT IN PORT (UInt)

Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port apparaît dans la propriété "Identification matérielle" de la configuration d'appareil (S7-1200/1500) (adresse d'entrée S7-300/400). Le nom symbolique du port est défini dans l'onglet "Constantes système" de la table de variables API.

PROTOCOL IN UInt Word 0 Protocole • 0 = Protocole de la communication point à point

(freeport) • 1 = Protocole 3964(R) • 2-n = réservé

BAUD IN UInt Word 6 Vitesse de transmission du port : • 1 = 300 Bit/s • 2 = 600 Bit/s • 3 = 1200 Bit/s • 4 = 2400 Bit/s • 5 = 4800 Bit/s • 6 = 9600 Bit/s • 7 = 19200 Bit/s • 8 = 38400 Bit/s • 9 = 57600 Bit/s • 10 = 76800 Bit/s • 11 = 115200 Bit/s

Page 21: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 21

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/WinAC

Standard Description

PARITY IN UInt Word 1 Parité du port : • 1 = pas de parité • 2 = parité paire • 3 = parité impaire • 4 = parité marque • 5 = parité espace • 6 = quelconque

DATABITS IN UInt Word 1 Bits par caractère : • 1 = 8 bits de données • 2 = 7 bits de données

STOPBITS IN UInt Word 1 Bits d'arrêt : • 1 = 1 bit d'arrêt • 2 = 2 bits d'arrêt

FLOWCTRL IN UInt Word 1 Contrôle du flux : • 1 = pas de contrôle de flux • 2 = XON/XOFF • 3 = RTS matériel toujours activé • 4 = RTS matériel commuté • 5 = RTS matériel toujours activé, ignorer DTR/DSR

XONCHAR IN Char 11H Indique le caractère qui est utilisé comme caractère XON. Ce sera typiquement le caractère DC1 (11H). Ce paramètre n'est évalué que si le contrôle de flux est activé.

XOFFCHAR IN Char 13H Indique le caractère qui est utilisé comme caractère XOFF. Ce sera typiquement le caractère DC3 (13H). Ce paramètre n'est évalué que si le contrôle de flux est activé.

WAITIME IN UInt Word 2000 Indique combien de temps un caractère XON est attendu après la réception d'un caractère XOFF ou combien de temps CTS = ON est attendu après CTS = ON (0 à 65535 ms). Ce paramètre n'est évalué que si le contrôle de flux est activé.

Page 22: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 22 Manuel de programmation, 01/2013, A5E31625083-AA

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/ WinAC

Standard Description

MODE IN USInt Byte 0 Mode de fonctionnement Les modes autorisés sont : • 0 = Duplex intégral (RS232) • 1 = Duplex intégral (RS422) mode 4 fils (point à point) • 2 = Duplex intégral (RS422), mode 4 fils (maître

multipoint) • 3 = Duplex intégral (RS422), mode 4 fils (esclave

multipoint) • 4 = Semi-duplex (RS485), mode 2 fils

LINE_PRE IN USInt Byte 0 Préconfiguration de la ligne de réception Les préconfigurations autorisées sont : • 0 = "Aucune" préconfiguration • 1 = Signal R(A)=5V, signal R(B)=0 V (détection

Break): Cette préconfiguration permet la détection Break. Seulement sélectionnable si : "duplex intégral (RS422), mode 4 fils (couplage point à point)" et "duplex intégral (RS422), mode 4 fils (esclave multipoint)"

• 2 = Signal R(A)=0 V, signal R(B)=5 V : Cette préconfiguration correspond à l'état de repos (aucune opération d'émission active). Cette préconfiguration ne permet pas la détection de Break.

CABLE_BRK IN USInt Byte 0 Détection Break Les valeurs autorisées sont : • 0= Détection de Break désactivée • 1 = Détection de Break activée

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Port_Config Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

DONE OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée sans erreur.

ERROR OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée avec une erreur.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

Page 23: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 23

3.1.5 Send_Config : configuration d'émission point à point

Description L'instruction Send_Config (configuration d'émission) permet de modifier des paramètres de transmission série en cours d'exploitation. Toutes les données en attente dans un CM sont supprimées si Send_Config est exécuté.

Les modifications de configuration de Send_Config ne sont pas enregistrées dans la CPU mais sur le CM. Les paramètres enregistrés dans la configuration de l'appareil sont restaurés lorsque la CPU est remise en marche.

Paramètres

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/WinAC

Standard Description

REQ IN Bool FALSE Activation de la modification de configuration en cas de front montant de cette entrée.

PORT IN PORT (UInt)

Word 0 Une fois que vous avez configuré le CM, l'identificateur de port apparaît dans la propriété "Identification matérielle" de la configuration d'appareil (S7-1200/1500) (adresse d'entrée S7-300/400). Le nom symbolique du port est défini dans l'onglet "Constantes système" de la table de variables API. L'adresse d'entrée attribuée dans HWCN doit être affectée au port CM dans les systèmes S7 300/400/WinAC.

RTSONDLY IN UInt Word 0 Nombre de millisecondes à attendre après activation de RTS avant tout lancement de transmission de données d'émission. Ce paramètre n'est valable que si le contrôle de flux matériel est activé. La plage valide va de 0 à 65535 ms. La valeur 0 désactive la fonction.

RTSOFFDLY IN UInt Word 0 Nombre de millisecondes à attendre avant de désactiver RTS après la transmission des données d'émission : Ce paramètre n'est valable que si le contrôle de flux matériel est activé. La plage valide va de 0 à 65535 ms. La valeur 0 désactive la fonction.

BREAK IN UInt Word 0 Ce paramètre indique qu'un BREAK du nombre indiqué de temps bit sera envoyée au début de chaque télégramme. 65535 temps bit sont au maximum possibles. La valeur 0 désactive la fonction.

IDLELINE IN UInt Word 0 Ce paramètre indique que la ligne restera inactive pendant le nombre indiqué de temps bit avant le début de chaque télégramme. 65535 temps bit sont au maximum possibles. La valeur 0 désactive la fonction.

Page 24: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 24 Manuel de programmation, 01/2013, A5E31625083-AA

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/ WinAC

Standard Description

USR_END IN STRING[2] 0 Entrée des caractères de fin. Il est possible de configurer 2 caractères de fin au maximum. L'émission se fait jusqu'au(x) caractères de fin inclus, indépendamment de la longueur de télégramme paramétrée.

APP_END IN STRING[5] 0 Saisie des caractères à ajouter. Il est possible d'ajouter 5 caractères au maximum.

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Send_Config Avec TRUE, l'instruction est initialisée. Ensuite, COM_RST est remis à FALSE par l'instruction.

DONE OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée sans erreur.

ERROR OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée avec une erreur.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

Page 25: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 25

3.1.6 Receive_Config : configuration de réception point à point

Description L'instruction Receive_Config (configuration de réception) permet de modifier des paramètres de réception série en cours d'exploitation. Cette instruction configure les conditions qui signalent le début et la fin des données reçues. Toutes les données en attente dans un CM sont supprimées si Receive_Config est exécuté.

Les modifications de configuration de Port_Config ne sont pas enregistrées dans la CPU mais sur le CM. Les paramètres enregistrés dans la configuration de l'appareil sont restaurés lorsque la CPU est remise en marche.

Paramètres

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/WinAC

Standard Description

REQ IN Bool FALSE Activation de la modification de configuration en cas de front montant de cette entrée.

PORT IN PORT (UInt)

Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port CM apparaît dans la propriété "Identification matérielle" de la configuration d'appareil. Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables API.

Receive_Conditions

IN Variant Any - La structure de données Receive_Conditions indique les conditions de début et de fin qui identifient le début et la fin d'un télégramme.

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Receive_Konfig Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

DONE OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée sans erreur.

ERROR OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée avec une erreur.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

.

Conditions de début pour l'instruction Receive_P2P L'instruction Receive_P2P utilise la configuration indiquée dans la configuration de l'appareil ou dans l'instruction Receive_Config pour déterminer le début et la fin des télégrammes de la communication point à point. Le début du télégramme est déterminé par les conditions de début. Le début du télégramme peut être déterminé par une condition de début ou par une combinaison de conditions de début. Si plusieurs conditions de début sont spécifiées, toutes les conditions doivent être satisfaites avant que la transmission de données ne commence.

Page 26: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 26 Manuel de programmation, 01/2013, A5E31625083-AA

Structure du type de données pour le paramètre Receive_Conditions, partie 1 (conditions de début)

Tableau 3- 6 Structure Receive_Conditions pour les conditions de début

Paramètres Décla-ration

Type de données

Standard Description

START.STARTCOND IN Word 02H Définit la condition de début • 01H - Détection du caractère de début • 02H : Caractère quelconque • 04H - Détection d'un Line Break • 08H - Détection d'une Idle Line • 10H - Détection d'une séquence de début 1 • 20H - Détection d'une séquence de début 2 • 40H - Détection d'une séquence de début 3 • 80H - Détection d'une séquence de début 4 Les conditions de démarrage peuvent être combinées par addition des valeurs.

START.IDLETIME IN Word 28H Le nombre de temps bit requis à vide, afin de détecter un nouveau début de télégramme est (valeur par défaut : W#16#28). Utilisé uniquement avec une condition de ligne inactive. 0 à FFFF

START.STARTCHAR IN Byte 02H Caractère de début utilisé avec la condition "caractère de début" (valeur par défaut : B#16#2)

START.SEQ[1].CTL IN Byte 0 Séquence de début 1, comparaison pour chaque caractère désactiver/activer : (valeur par défaut : B#16#0) Il s'agit des bits d'activation pour chaque caractère dans la séquence de début. • 01H : Caractère 1 • 02H : Caractère 2 • 04H : Caractère 3 • 08H : Caractère 4 • 10H : Caractère 5 Désactiver le bit associé à un caractère donné signifie qu'à cette position de la séquence tout caractère représente une séquence de début valide (p. ex. 1FH = les 5 caractères sont interprétés).

START.SEQ[1].STR[1] .. START.SEQ[1].STR.[5]

IN Char[5] 0 Caractères de début de la séquence de début 1 (5 caractères).

START.SEQ[2].CTL IN Byte 0 Ignorer/comparer contrôle pour chaque caractère de la séquence de début 2. Valeur par défaut : B#16#0)

START.SEQ[2].STR[1] .. START.SEQ[2].STR.[5]

IN Char[5] 0 Caractères de début de la séquence de début 2 (5 caractères).

START.SEQ[3].CTL IN Byte 0 Ignorer/comparer contrôle pour chaque caractère de la séquence de début 3. Valeur par défaut : B#16#0

START.SEQ[3].STR[1] .. START.SEQ[3].STR.[5]

IN Char[5] 0 Caractères de début de la séquence de début 3 (5 caractères).

Page 27: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 27

Paramètres Décla-ration

Type de données

Standard Description

START.SEQ[4].CTL IN Byte 0 Ignorer/comparer contrôle pour chaque caractère de la séquence de début 4. Valeur par défaut : B#16#0

START.SEQ[4].STR[1] .. START.SEQ[4].STR.[5]

IN Char[5] 0 Caractères de début de la séquence de début 4 (5 caractères).

Exemple Considérons les données reçues suivantes codées en hexadécimal : "68 10 aa 68 bb 10 aa 16" et les séquences de début configurées présentées dans le tableau ci-après. Les séquences de début commencent à être évaluées lorsque la réception du premier caractère 68H a abouti. Après réception du quatrième caractère (le second 68H), la condition de début 1 est satisfaite. Une fois les conditions de début satisfaites, l'évaluation des conditions de fin commence.

Le traitement de la séquence de début peut être interrompu en raison de diverses erreurs de parité, de trame ou de dépassement de délai inter-caractère. Si ces erreurs se produisent, aucune donnée n'est reçue puisque la condition de début n'est pas remplie.

Tableau 3- 7 Conditions de début

Condition de début Premier caractère Premier caractère +1

Premier caractère +2

Premier caractère +3

Premier caractère +4

1 68H xx xx 68H xx 2 10H aaH xx xx xx 3 dcH aaH xx xx xx 4 e5H xx xx xx xx

Conditions de fin pour l'instruction Receive_P2P La fin d'un télégramme est déterminée par la première occurrence d'une ou de plusieurs conditions de fin configurées.

Vous pouvez configurer les conditions de fin soit dans les propriétés de l'interface de communication dans la configuration des appareils, soit dans l'instruction Receive_Config. A chaque mise en marche de la CPU, les paramètres de réception (conditions de début et conditions de fin) prennent la valeur paramétrée de la configuration de l'appareil. Si le programme utilisateur STEP 7 exécute Receive_Config, les paramétrages sont modifiés pour être conformes aux conditions de Receive_Config .

Page 28: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 28 Manuel de programmation, 01/2013, A5E31625083-AA

Structure de type de données du paramètre Receive_Conditions, partie 2 (conditions de fin)

Tableau 3- 8 Structure Receive_Conditions pour les conditions de fin

Paramètres Décla-ration

Type de données

Standard Description

END.ENDCOND IN Word 0 Ce paramètre indique la condition de fin de télégramme : • 01H - Dépassement du temps de réponse • 02H - Dépassement du temps de message • 04H - Délai inter-caractère • 08H - Longueur maximale du télégramme • 10H - Lire la longueur du message dans le message

(N+LEN+M) • 20H - Séquence de fin • 40H - Longueur fixe de télégramme

END.FIXLEN IN Word 1 Longueur fixe de télégramme : Utilisé uniquement si la condition de fin "longueur fixe" est sélectionnée. 1 à 4000 octets (selon le module)

END.MAXLEN IN Word 1 Longueur de télégramme maximale : Utilisé uniquement si la condition de fin "longueur maximale" est sélectionnée. 1 à 4000 octets (selon le module)

END.N IN Word 0 Position d'octet du champ de longueur dans le télégramme. Utilisé uniquement avec la condition de fin N+LEN+M. 1 à 4000 octets (selon le module)

END.LENGTHSIZE IN Word 0 Taille du champ d'octet( 1, 2 ou 4 octets). Utilisé uniquement avec la condition de fin N+LEN+M.

END.LENGTHM IN Word 0 Indiquez le nombre de caractères suivant le champ de longueur qui ne sont pas inclus dans la valeur du champ de longueur. Cette donnée est utilisée uniquement avec la condition de fin N+LEN+M. 0 à 255 octets

END.RCVTIME IN Word 200 Indiquez combien de temps attendre le premier caractère à recevoir. Il sera mis fin à l'instruction de réception avec une erreur si aucune réception de caractère n'aboutit pendant le temps indiqué. Utilisé uniquement avec la condition "temps de réponse". (0 à 65535 ms). Remarque : Ce paramètre ne peut pas être utilisé comme seul critère de fin, mais uniquement en combinaison avec une autre condition de fin.

END.MSGTIME IN Word 200 Indiquez combien de temps attendre pour que le télégramme entier soit complètement reçu une fois le premier caractère reçu. Ce paramètre est utilisé uniquement lorsque la condition "après expiration du délai d'attente de la limite de temps du télégramme" est sélectionnée. (0 à 65535 ms)

END.CHARGAP IN Word 12 Indiquez le nombre de temps bit entre caractères. Si le nombre de temps bit entre caractères dépasse la valeur indiquée, la condition de fin est satisfaite. Utilisé uniquement avec la condition "délai inter-caractères". (0 à 65535 temps de bit)

Page 29: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 29

Paramètres Décla-ration

Type de données

Standard Description

END.SEQ.CTL IN Byte 0 Ignorer/comparer contrôle pour chaque caractère de la séquence 1 : Il s'agit des bits d'activation pour chaque caractère dans la séquence de fin. Le caractère 1 est le bit 0, le caractère 2 le bit 1, ..., le caractère 5 le bit 4. Désactiver le bit associé à un caractère signifie que n'importe quel caractère conviendra à cette position de la séquence.

END.SEQ.STR[1] .. END.SEQ.STR[5]

IN Char[5] 0 Caractères de début de la séquence 1 (5 caractères)

Tableau 3- 9 Paramètres généraux de l'instruction Receive_P2P

Paramètres Décla-ration

Type de données

Standard Description

GENERAL.MBUF_SIZE

IN Byte 255 Saisie du nombre de télégrammes à sauvegarder dans le tampon de réception du CM. Si le nombre de télégrammes à enregistrer est dépassé, tous les télégrammes suivants sont rejetés. (1 à 255 télégrammes)

GENERAL.OW_ PROT

IN Byte 0 Active le non écrasement du télégramme sauvegardé quand le CM reçoit un nouveau télégramme et que le tampon de réception du CM n'a pas encore été lu. Cette mesure empêche la perte éventuelle des télégrammes de réception déjà sauvegardés. • 0 - non activé • 1 - activé

GENERAL.CLR_ MBUF

IN Byte 0 Active la suppression du tampon de réception au démarrage de la CPU. Le tampon de réception est supprimé automatiquement lorsque la CPU passe de STOP à RUN). Le tampon de réception ne contient plus que des télégrammes reçus après le démarrage de la CPU. • 0 - non activé • 1 - activé

Page 30: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 30 Manuel de programmation, 01/2013, A5E31625083-AA

3.1.7 P3964_Config : Configurer le protocole 3964(R)

Description L'instruction P3964_Config (configuration du protocole) permet de modifier des paramètres du protocole 3964(R) comme le délai inter-caractère, la priorité et le contrôle de bloc, à partir du programme en cours d'exploitation.

Les modifications de configuration de P3964_Config ne sont pas enregistrées dans la CPU mais sur le CM. Les paramètres enregistrés dans la configuration de l'appareil sont restaurés lorsque la CPU est remise en marche.

Paramètres

Type de données Paramètres Décla-ration S7-

1200/ 1500

S7- 300/400/WinAC

Standard Description

REQ IN Bool FALSE Activation de la modification de configuration en cas de front montant de cette entrée.

PORT IN PORT (UInt)

Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port apparaît dans la propriété "Identification matérielle" de la configuration d'appareil (S7-1200/1500) (adresse d'entrée S7-300/400). Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables API.

BCC IN SInt Byte 1 Active/désactive le contrôle de bloc • 0 = sans contrôle de bloc • 1 = avec contrôle de bloc

Priority IN SInt Byte 1 Paramétrage de la priorité • 0 = priorité basse • 1 = priorité haute

CharacterDelayTime IN UInt Word DCH Paramétrage du délai inter-caractère (en fonction de la vitesse de transmission définie) (valeur par défaut : 220 ms) 1 à 65535 ms

AcknDelayTime IN UInt Word 7D0H Paramétrage du délai d'acquittement (en fonction de la vitesse de transmission définie) (valeur par défaut : 2000 ms) 1 à 65535 ms

BuildupAttempts IN SInt Byte 6H Paramétrage du nombre de tentatives d'établissement 1 à 255

RepetitionAttempts IN SInt Byte 6H Paramétrage du nombre de tentatives de transmission 1 à 255

Page 31: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 31

Type de données Paramètres Décla-ration S7-

1200/ 1500

S7- 300/400/WinAC

Standard Description

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction P3964_Config Avec TRUE, l'instruction est initialisée. Ensuite, COM_RST est remis à FALSE par l'instruction.

DONE OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée sans erreur.

ERROR OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée avec une erreur.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

.

Page 32: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 32 Manuel de programmation, 01/2013, A5E31625083-AA

3.1.8 Send_P2P : Envoi de données

Description L'instruction Send_P2P (émission de données point à point) déclenche la transmission des données et envoie le contenu du tampon affecté vers le module de communication. Le programme de la CPU se poursuit pendant que le CM envoie les données à la vitesse de transmission définie. Une seule instruction d'émission par module de communication peut être en attente à un moment donné. Le CM renvoie une erreur si une seconde instruction Send_P2P est exécutée alors que le CM est déjà en train d'envoyer un télégramme.

Paramètres

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/ WinAC

Standard Description

REQ IN Bool FALSE Activation de l'émission demandée en cas de front montant de cette entrée de validation d'émission. Cela déclenche le transfert du contenu de la mémoire tampon vers l'interface de communication point à point.

PORT IN PORT (UInt)

Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port apparaît dans la propriété "Identification matérielle" de la configuration d'appareil (S7-1200/1500) (S7-300/400 ; adresse d'entrée). Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables API.

BUFFER IN Variant Any 0 Ce paramètre pointe sur l'adresse de début de la mémoire tampon d'émission. Remarque : les données booléennes et les tableaux booléens ne sont pas pris en charge.

LENGTH IN UInt Word 0 longueur des données à transférer en octets COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Send_P2P

Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

DONE OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée sans erreur.

ERROR OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée avec une erreur.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

Page 33: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 33

Paramètres Tant qu'une instruction d'émission est en cours, les sorties DONE et ERROR sont à FALSE. Lorsqu'une instruction d'émission est achevée, soit la sortie DONE soit la sortie ERROR est mise à TRUE pour montrer l'état de l'opération d'émission. Si ERROR est à l'état TRUE, le code d'erreur à la sortie STATUS est évalué.

L'instruction renvoie un état de 16#7001 si l'interface de communication accepte les données d'émission. Les exécutions suivantes de Send_P2P renvoient la valeur 16#7002 si le CM est toujours occupé à émettre. Une fois l'instruction d'émission achevée, le CM renvoie l'état 16#0000 pour l'opération d'émission (si aucune erreur ne s'est produite). Les exécutions suivantes de Send_P2P avec REQ = 0 renvoient l'état 16#7000 (libre).

Le schéma suivant montre la relation des valeurs de sortie à REQ. On part du principe que l'instruction est appelée cycliquement pour vérifier l'état du processus d'émission (représenté par les valeurs STATUS.

Le schéma suivant montre que les paramètres DONE et STATUS ne sont valables que pour un cycle si la ligne REQ présente une impulsion (pendant un cycle) pour déclencher l'opération d'émission.

Le schéma suivant montre la relation des paramètres DONE, ERROR et STATUS en présence d'une erreur.

Les valeurs de DONE, ERROR et STATUS ne sont valables que jusqu'à l'exécution suivante de Send_P2P avec le même bloc de données d'instance.

Page 34: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 34 Manuel de programmation, 01/2013, A5E31625083-AA

3.1.9 Utilisation des paramètres LENGTH et BUFFER pour les opérations de communication

Interation entre les paramètres LENGTH et BUFFER pour Send_P2P La taille de données minimale pouvant être envoyée par l'instruction Send_P2P est un octet. Le paramètre BUFFER détermine la taille des données à envoyer. Vous ne pouvez pas utiliser le type de données Bool ou des tableaux de Bool pour le paramètre BUFFER.

Tableau 3- 10 Paramètre LENGTH

LENGTH Description > 0 Le nombre d'octets paramétré est transmis. = 0 L'ensemble du contenu de la mémoire tampon adressé via le BUFFER est transmis.

Si le BUFFER pointe vers une chaîne, l'ensemble du contenu de la chaîne est transmis sans les octets avec la longueur maximale et réelle.

Tableau 3- 11 Paramètre BUFFER

BUFFER Description Type de données simple

Lors de l'émission : La valeur LENGTH doit contenir le nombre d'octets de ce type de données. Exemple : pour une valeur Word, LENGTH doit être égal à deux. Pour une valeur DWord ou Real, LENGTH doit être égal à quatre.

Structure Pour la mémoire optimisée : la longueur maximale autorisée du BUFFER est de 1024 Byte. Lors de l'émission : La valeur LENGTH peut contenir un nombre d'octets inférieur à la longueur totale en octets de la structure, auquel cas seuls les premiers octets LENGTH de la structure BUFFER sont émis.

Array Pour la mémoire optimisée : si le type de données tableau est différent de Byte, Word et DWord, la longueur maximale autorisée du tampon est égale à 1024 Byte. Lors de l'émission : La valeur LENGTH doit contenir un nombre d'octets qui est inférieur à la longueur totale en octets du tableau et qui doit être un multiple du nombre d'octets de l'élément de données. Exemple : le paramètre LENGTH doit être un multiple de deux pour un tableau de mots (Word) et un multiple de quatre pour un tableau de réels (Real). Lorsque LENGTH est précisé, le nombre d'éléments de tableau est transféré en octets LENGTH. Par exemple, si BUFFER contient un tableau de 15 doubles mots (DWord), soit 60 Bytes au total et si vous indiquez une longueur LENGTH = 20, les cinq premiers doubles mots (DWord) du tableau sont transmis.

String Le paramètre LENGTH contient le nombre de caractères à envoyer. Seuls les caractères de la chaîne String sont envoyés. Les octets de longueur maximale et réelle de la chaîne String ne sont pas émis.

Page 35: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 35

3.1.10 Receive_P2P : réception de données

Description L'instruction Receive_P2P (réception de données par une communication point à point) vérifie les télégrammes reçus dans le CM. Si un télégramme est disponible, il est transmis du CM à la CPU. Une erreur de réception est affichée au paramètre STATUS .

Paramètres

Type de données Paramètres Déclaration

S7- 1200/1500

S7- 300/400/WinAC

Standard Description

PORT IN PORT (UInt)

Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port apparaît dans la propriété "Identification matérielle" de la configuration d'appareil (S7-1200/1500) (S7-300/400 ; adresse d'entrée). Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables API.

BUFFER IN Variant Any 0 Ce paramètre pointe sur l'adresse de début de la mémoire tampon de réception. Cette mémoire tampon doit être suffisamment grande pour recevoir la longueur maximale de télégramme. Remarque : les données booléennes et les tableaux booléens ne sont pas acceptés.

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Receive_P2P Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

LENGTH OUT UInt Word 0 Longueur du télégramme reçu en octets NDR OUT Bool FALSE TRUE pour un cycle lorsque de nouvelles données sont

prêtes et que l'instruction s'est achevée sans erreur. ERROR OUT Bool FALSE TRUE pour un cycle lorsque l'instruction s'est achevée

avec une erreur. STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

Si ERROR est à l'état TRUE, le code d'erreur à la sortie STATUS est évalué. La valeur STATUS fournit la raison de l'arrêt de l'opération de réception dans le CM. Il s'agira typiquement d'une valeur positive indiquant que l'opération de réception a réussi et le critère de fin de télégramme reconnu. Si la valeur STATUS est négative (le bit de poids fort de la valeur hexadécimale est à 1), cela signifie que l'opération de réception a été interrompue en raison d'une situation d'erreur, telles des erreurs de parité, de trame ou de débordement.

Chaque interface de communication point à point peut mettre en mémoire tampon un nombre d'octets spécifiques au module. S'il y a plus d'un télégramme disponible dans le CM, l'instruction Receive_P2P renvoie le télégramme le plus ancien disponible. Une fois que le télégramme le plus ancien a été réceptionné, le télégramme immédiatement suivant devient le plus ancien.

Page 36: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 36 Manuel de programmation, 01/2013, A5E31625083-AA

3.1.11 Receive_Reset : Effacer le tampon de réception

Description L'instruction Receive_Reset (réinitialiser récepteur) efface la mémoire tampon de réception dans le CM.

Paramètres

Type de données Paramètres Déclaration

S7- 1200/1500

S7- 300/400/ WinAC

Standard Description

REQ IN Bool FALSE Active l'effacement du tampon de réception en cas de front montant de cette entrée de validation

PORT IN PORT (UInt)

Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port apparaît dans la propriété "Identification matérielle" de la configuration d'appareil (S7-1200/1500) (S7-300/400 ; adresse d'entrée). Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables API.

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Receive_Reset Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

DONE OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée sans erreur.

ERROR OUT Bool FALSE Cette sortie est TRUE lorsque la dernière requête s'est achevée avec des erreurs. Si cette sortie est TRUE, la sortie STATUS contient les codes d'erreur correspondants.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

Page 37: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 37

3.1.12 Signal_Get : lire les signaux

Description L'instruction Signal_Get (appel des signaux RS232) lit les états en cours des signaux d'accompagnement RS232 et les affichent sur les sorties correspondantes de l'instruction.

Paramètres

Type de données Paramètres Déclaration

S7- 1200/1500

S7- 300/400/WinAC

Standard Description

REQ IN Bool FALSE Lecture des valeurs d'état de signal RS232 en cas de front montant de cette entrée.

PORT IN PORT (UInt)

Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port apparaît dans la propriété "Identification matérielle" de la configuration d'appareil (S7-1200/1500) (S7-300/400 ; adresse d'entrée). Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables API.

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Signal_Get Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

NDR OUT Bool FALSE TRUE pour un cycle si les signaux d'accompagnement RS232 ont été lus et si l'instruction s'est achevée sans erreur.

ERROR OUT Bool FALSE TRUE pour un cycle lorsque l'instruction s'est achevée avec une erreur.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89)) DTR OUT Bool FALSE Terminal de données prêt, module prêt (sortie) DSR OUT Bool FALSE Modem prêt, partenaire de communication prêt (entrée). RTS OUT Bool FALSE Demande pour émettre, module prêt à émettre (sortie). CTS OUT Bool FALSE Prêt à émettre, le partenaire de communication peut

recevoir les données (entrée). DCD OUT Bool FALSE Détection de porteuse, réception du niveau de signal

(toujours faux, non pris en charge) RING OUT Bool FALSE Indicateur d'appel, signale un appel entrant (toujours faux,

non pris en charge)

Page 38: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 38 Manuel de programmation, 01/2013, A5E31625083-AA

3.1.13 Signal_Set : activer signaux d'accompagnement

Description L'instruction Signal_Set (activation des signaux RS232) permet d'activer les états des signaux de communication RS232.

Cette fonction n'est valable que pour le CM RS232.

Paramètres

Type de données Paramètres Déclaration

S7- 1200/1500

S7- 300/400/ WinAC

Standard Description

REQ IN Bool FALSE Lancement de l'instruction d'activation des signaux RS232 en cas de front montant de cette entrée.

PORT IN PORT (UInt)

Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port apparaît dans la propriété "Identification matérielle" de la configuration d'appareil (S7-1200/1500) (S7-300/400 ; adresse d'entrée). Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables API.

SIGNAL IN Byte 0 Sélection du signal à activer (choix multiple possible) : • 01H = RTS • 02H = DTR • 04H = DSR

RTS IN Bool FALSE Demande d'émission, module prêt à émettre. Activer cette valeur sur la sortie (TRUE ou FALSE), valeur par défaut : FALSE

DTR IN Bool FALSE Terminal de données prêt, module prêt Activer cette valeur sur la sortie (TRUE ou FALSE), valeur par défaut : FALSE

DSR IN Bool FALSE Enregistrement prêt (valable uniquement pour les interfaces de type DCE), non utilisé.

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Signal_Set Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

DONE OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée sans erreur.

ERROR OUT Bool FALSE TRUE pour un cycle lorsque la dernière demande s'est achevée avec une erreur.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

.

Page 39: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 39

3.1.14 Get_Features : appel de fonctions étendues

Description L'instruction Get_Features (appel de fonctions étendues) permet d'obtenir des renseignements sur la capacité du module à prendre en charge le CRC et à générer des messages de diagnostic, si le module les prend en charge.

Paramètres

Type de données Paramètres Déclaration

S7- 1200/1500

S7- 300/400/WinAC

Standard Description

REQ IN Bool FALSE L'instruction de récupération des fonctions avancées en cas de front montant est démarrée sur cette entrée.

PORT IN PORT (UInt)

Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port apparaît dans la propriété "Identification matérielle" de la configuration d'appareil (S7-1200/1500) (S7-300/400 ; adresse d'entrée). Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables API.

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Get_Features Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

NDR OUT Bool FALSE TRUE pour un cycle lorsque de nouvelles données sont prêtes et que l'instruction s'est achevée sans erreur.

MODBUS_CRC

OUT Bool FALSE Prise en charge du CRC Modbus

DIAG_ALARM

OUT Bool FALSE Génération de messages de diagnostic

ERROR OUT Bool FALSE TRUE pour un cycle lorsque l'instruction s'est achevée avec une erreur.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

Page 40: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.1 Point à point

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 40 Manuel de programmation, 01/2013, A5E31625083-AA

3.1.15 Set_Features : activation de fonctions étendues

Description L'instruction Set_Features (appel de fonctions étendues) permet d'activer la prise en charge du CRC et la génération de messages de diagnostic, si le module les prend en charge.

Paramètres

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/WinAC

Standard Description

REQ IN Bool FALSE L'instruction d'activation des fonctions avancées en cas de front montant est démarrée sur cette entrée.

PORT IN PORT (UInt)

Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port apparaît dans la propriété "Identification matérielle" de la configuration d'appareil (S7-1200/1500) (S7-300/400 ; adresse d'entrée). Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables API.

EN_MODBUS_CRC

IN Bool FALSE Activation de la prise en charge du CRC Modbus

EN_DIAG_ALARM

IN Bool FALSE Activation de la génération de messages de diagnostic

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Set_Features Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

DONE OUT Bool FALSE TRUE pour une exécution lorsque la dernière demande s'est achevée sans erreur.

ERROR OUT Bool FALSE TRUE pour un cycle lorsque l'instruction s'est achevée avec une erreur.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

Page 41: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 41

3.2 Modbus

3.2.1 Présentation de la communication Modbus RTU

Communication Modbus RTU Modbus RTU (Remote Terminal Unit, unité terminale distante) est un protocole de communication de réseau standard qui utilise le connecteur RS232 ou RS422/485 pour la transmission des données série entre les appareils Modbus du réseau.

Modbus RTU utilise un réseau maître/esclave où toutes les communications sont déclenchées par un maître unique et où les esclaves peuvent uniquement répondre à une demande du maître. Le maître envoie une demande à une adresse d'esclave et seul cet esclave avec cette adresse d'esclave répond à la commande.

Cas particulier : l'adresse d'esclave Modbus 0 diffuse un télégramme à tous les esclaves (sans réponse de ces derniers).

Codes de fonction Modbus ● Une CPU fonctionnant en tant que maître Modbus RTU peut lire/écrire à la fois des

données et des états d'E/S dans un esclave Modbus RTU éloigné relié par le biais d'une liaison de communication.

● Une CPU fonctionnant en tant qu'esclave Modbus RTU permet à un maître Modbus RTU éloigné de lire/écrire à la fois des données et des états d'E/S dans sa propre CPU par le biais d'une liaison de communication.

Tableau 3- 12 Fonctions de lecture de données : lecture d'E/S éloignées et de données de programme

Code de fonction Modbus Fonctions de lecture dans l'esclave (serveur) : adressage standard 01 Lecture de bits de sortie : 1 à 1992 bits par demande 02 Lecture de bits d'entrée : 1 à 1992 bits par demande 03 Lecture de registres de maintien : 1 à 124 mots par demande 04 Lecture de mots d'entrée : 1 à 124 mots par demande

Tableau 3- 13 Fonctions d'écriture de données : écriture d'E/S éloignées et modification de données de programme

Code de fonction Modbus Fonctions d'écriture dans l'esclave (serveur) : adressage standard 05 Ecriture d'un bit de sortie : 1 bit par demande 06 Ecriture d'un registre de maintien : 1 mot par demande 15 Ecriture d'un ou de plusieurs bits de sortie : 1 à 1960 bits par demande 16 Ecriture d'un ou de plusieurs registres de maintien : 1 à 122 mots par

demande

Page 42: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 42 Manuel de programmation, 01/2013, A5E31625083-AA

● Les fonctions Modbus de codes 08 à 11 fournissent des informations de diagnostic sur la communication avec l'esclave.

● L'adresse d'esclave Modbus 0 diffuse un télégramme à tous les esclaves (sans réponse de ces derniers ; pour codes de fonction 5, 6, 15, 16).

Tableau 3- 14 Adresses de stations de réseau Modbus

Station Adresse Adresse de station standard 1 à 247 et 0 pour Broadcast Station RTU Adresse de station étendue 1 à 65535 et 0 pour Broadcast

Adresses de mémoire Modbus Le nombre réel d'adresses de mémoire Modbus disponibles dépend du modèle de la CPU, de la taille de la mémoire de travail disponible.

Instructions Modbus RTU dans votre programme ● Modbus_Comm_Load : une exécution de Modbus_Comm_Load sert à configurer les

paramètres de port point à point, tels que la vitesse de transmission, la parité et le contrôle de flux. Une fois qu'un module de communication est configuré pour le protocole Modbus RTU, il peut être utilisé uniquement par l'instruction Modbus_Masterou Modbus_Slave.

● Modbus_Master : l'instruction Modbus-Master permet à la CPU d'agir en tant que maître Modbus RTU et de communiquer avec un ou plusieurs esclaves Modbus.

● Modbus_Slave : l'instruction Modbus-Slave permet à la CPU d'agir en tant qu'esclave Modbus RTU et de communiquer avec un maître Modbus.

Page 43: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 43

3.2.2 Modbus_Comm_Load : configuration d'un module de communication pour Modbus

Description L'instruction Modbus_Comm_Load configure un module de communication pour la communication via le protocole Modbus RTU. Un bloc de données d'instance est automatiquement affecté à Modbus_Comm_Load lorsque vous insérez cette instruction dans votre programme.

Paramètres

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/WinAC

Standard Description

REQ IN Bool FALSE Un front montant (de 0 à 1) déclenche l'instruction. PORT IN Port Laddr 0 Une fois que vous avez inséré et configuré le CM,

l'identificateur de port du CM apparaît dans la propriété "Identification matérielle" de la configuration d'appareil. Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables PLC.

BAUD IN UDInt DWord 6 Sélection de la vitesse de transmission : 1 = 300, 2 = 600, 3 = 1200, 4 = 2400, 5 = 4800, 6 = 9600, 7 = 19200, 8 = 38400, 9 = 57600, 10 = 76800, 11 = 115200 bit/s. Toutes les autres valeurs sont invalides.

PARITY IN UInt Word 1 Sélection de la parité : • 0 = Pas de parité • 1 = Parité impaire • 2 = Parité paire

FLOW_CTRL IN UInt Word 0 Sélection du contrôle de flux : • 0 (valeur par défaut) = Pas de contrôle de flux • 1 = Contrôle de flux matériel avec RTS toujours activé

(ne s'applique pas aux modules CM RS485) • 2 = Contrôle de flux matériel avec RTS commuté

RTS_ON_DLY IN UInt Word 0 Sélection du retard RTS activé : • 0 = (valeur par défaut) Pas de retard à partir de RTS

actif jusqu'à ce que le premier caractère du télégramme soit émis.

• 1 à 65535 = Retard en millisecondes à partir de RTS actif jusqu'à ce que le premier caractère du télégramme soit émis (ne s'applique pas aux modules CM RS485). Les retards RTS doivent être appliqués indépendamment de la sélection FLOW_CTRL.

Page 44: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 44 Manuel de programmation, 01/2013, A5E31625083-AA

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/ WinAC

Standard Description

RTS_OFF_DLY IN UInt Word 0 Sélection du retard RTS désactivé : • 0 = Pas de retard après la transmission du dernier

caractère émis jusqu'à "RTS inactif". • 1 à 65535 - Retard en millisecondes à partir de la

transmission du dernier caractère jusqu'à "RTS inactif" (ne s'applique pas aux ports RS485). Les retards RTS doivent être appliqués indépendamment de la sélection FLOW_CTRL.

RESP_TO IN UInt Word 1000 Dépassement du délai d'attente de la réponse : 5 ms à 65535 ms - Temps en millisecondes accordé par le Modbus_Master pour que l'esclave réponde. Si l'esclave ne répond pas pendant cette durée, Modbus_Master renouvelle la demande ou met fin à la demande avec une erreur si le nombre de répétitions indiqué a été envoyé (voir ci-dessous paramètre RETRIES).

MB_DB IN/OUT MB_BASE - Référence au bloc de données d'instance utilisé par les instructions Modbus_Master ou Modbus_Slave. Il faut connecter le paramètre MB_DB au paramètre MB_DB (statique et par conséquent invisible sur l'instruction) des instructions Modbus_Master ou Modbus_Slave .

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Modbus_Comm_Load Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

DONE OUT Bool FALSE Le bit DONE est TRUE pour un cycle si la dernière demande s'est achevée sans erreur.

ERROR OUT Bool FALSE Le bit ERROR est TRUE pour un cycle si la dernière demande s'est achevée avec une erreur. Le code d'erreur dans le paramètre STATUS ne vaut que pendant le cycle où ERROR est TRUE.

STATUS OUT Word 16#7000 Code d'erreur (voir Messages d'erreur (Page 89))

Modbus_Comm_Load est exécuté pour configurer un port pour le protocole Modbus RTU. Une fois qu'un port est configuré pour le protocole Modbus RTU, il peut être utilisé uniquement par les instructions Modbus_Masterou Modbus_Slave.

Il faut exécuter Modbus_Comm_Load une fois pour chaque port de communication utilisé pour la communication Modbus à configurer. Affectez un bloc de données d'instance Modbus_Comm_Load unique pour chaque port que vous utilisez. Ne réexécutez Modbus_Comm_Load que si des paramètres de communication tels que la vitesse de transmission ou la parité doivent être modifiés.

Si vous ajoutez dans le programme Modbus_Master ou Modbus_Slave, l'instruction est affectée à un bloc de données d'instance. Vous devez interconnecter le paramètre MB_DB de l'instruction Modbus_Comm_Load avec le paramètre MB_DB de l'instruction Modbus_Master ou Modbus_Slave.

Page 45: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 45

Variables du bloc de données Modbus_Comm_Load Le tableau suivant montre les variables statiques publiques sauvegardées dans le bloc de données d'instance pour Modbus_Comm_Load pouvant être utilisées dans votre programme.

Tableau 3- 15 Variables statiques dans le bloc de données d'instance

Variable Type de données

Standard Description

ICHAR_GAP Word 0 Retard pour le délai inter-caractères. Ce paramètre indiqué en millisecondes sert à augmenter la durée escomptée entre caractères reçus. Le nombre correspondant de temps bit pour ce paramètre est ajouté à la valeur Modbus par défaut de 35 temps bit (3,5 temps caractère).

RETRIES Word 2 Nombre de nouvelles tentatives que tentera le maître avant de renvoyer le code d'erreur "Pas de réponse" 0x80C8.

EN_DIAG_ALARM Word 0 Activer le message de diagnostic : • 0 - non activé • 1 - activé

MODE USInt 0 Mode de fonctionnement Les modes autorisés sont : • 0 = Duplex intégral (RS232) • 1 = Duplex intégral (RS422) mode 4 fils (point à point) • 2 = Duplex intégral (RS422), mode 4 fils (maître multipoint) • 3 = Duplex intégral (RS422), mode 4 fils (esclave multipoint) • 4 = Semi-duplex (RS485), mode 2 fils

LINE_PRE USInt 0 Préconfiguration de la ligne de réception Les préconfigurations autorisées sont : • 0 = "Aucune" préconfiguration • 1 = Signal R(A)=5V, signal R(B)=0 V (détection Break):

Cette préconfiguration permet la détection Break. Seulement sélectionnable si : "duplex intégral (RS422), mode 4 fils (couplage point à point)" et "duplex intégral (RS422), mode 4 fils (esclave multipoint)"

• 2 = Signal R(A)=0 V, signal R(B)=5 V : Cette préconfiguration correspond à l'état de repos (aucune opération d'émission active). Cette préconfiguration ne permet pas la détection de Break.

Page 46: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 46 Manuel de programmation, 01/2013, A5E31625083-AA

3.2.3 Modbus_Master : communication en tant que maître Modbus

Description L'instruction Modbus_Master permet la communication en tant que maître Modbus à l'aide d'un port configuré avec l'instruction Modbus_Comm_Load. Un bloc de données d'instance est automatiquement affecté à Modbus_Master lorsque vous insérez cette instruction dans votre programme. Le paramètre MB_DB de l'instruction Modbus_Comm_Load doit être interconnecté au paramètre (statique) MB_DB de l'instruction "Modbus_Master".

Paramètres

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/ WinAC

Standard Description

REQ IN Bool FALSE FALSE = Pas de demande TRUE = Demande d'envoi de données à un esclave Modbus

MB_ADDR IN UInt Word - Adresse de station Modbus RTU. Plage d'adressage standard (1 à 247 ) et 0 pour Broadcast) Plage d'adressage étendue (1 à 65535 et 0 pour Broadcast) La valeur 0 est réservée à la diffusion générale (Broadcast) du télégramme à tous les esclaves Modbus. Les codes de fonction Modbus 05, 06, 15 et 16 sont les seuls codes de fonction acceptés pour le broadcast.

MODE IN USInt Byte 0 Sélection du mode : indique le type de demande (lecture, écriture ou diagnostic). Voir le tableau des fonctions Modbus ci-après pour plus de détails.

DATA_ADDR IN UDInt DWord 0 Adresse de début dans l'esclave : indique l'adresse de début des données auxquelles accéder dans l'esclave Modbus. Voir les adresses valides dans le tableau des fonctions Modbus ci-après.

DATA_LEN IN UInt Word 0 Longueur des données : indique le nombre de bits ou mots auxquels accéder dans cette demande. Voir les longueurs valides dans le tableau des fonctions Modbus ci-après.

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Modbus_Master Avec TRUE, l'instruction est initialisée. Ensuite, COM_RST est remis à FALSE par l'instruction.

DATA_PTR IN/OUT Variant Any - Pointeur de données : pointe sur l'adresse de mémento ou de DB pour les données en cours d'écriture ou de lecture.

DONE OUT Bool FALSE Le bit DONE est TRUE pour un cycle si la dernière demande s'est achevée sans erreur.

Page 47: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 47

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/WinAC

Standard Description

BUSY OUT Bool - • FALSE – Pas de tâche active pour Modbus_Master • TRUE – Tâche en cours de traitement pour

Modbus_Master

ERROR OUT Bool FALSE Le bit ERROR est TRUE pour un cycle si la dernière demande s'est achevée avec une erreur. Le code d'erreur dans le paramètre STATUS ne vaut que pendant le cycle où ERROR est TRUE.

STATUS OUT Word 0 Code d'erreur (voir Messages d'erreur (Page 89))

Page 48: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 48 Manuel de programmation, 01/2013, A5E31625083-AA

Variables dans le bloc de données du maître Modbus Le tableau suivant montre les variables statiques publiques sauvegardées dans le bloc de données d'instance pour Modbus_Master pouvant être utilisées dans votre programme.

Tableau 3- 16 Variables statiques dans le bloc de données d'instance

Variable Type de données

Standard Description

Blocked_Proc_Timeout Real 0.5 Durée (en secondes) pendant laquelle attendre une instance de maître Modbus bloquée avant d'annuler l'état ACTIF de cette instance. Cela peut, par exemple, se produire lorsqu'une demande maître a été émise et que l'application arrête d'exécuter la fonction maître avant l'achèvement complet de la demande. La valeur de temps doit être supérieure à 0 et inférieure à 55 secondes ou une erreur se produit. Voir à ce sujet les paragraphes "Règles de communication pour le maître Modbus-Master" et "Appel de l'instruction Modbus_Master avec différents paramétrages".

Extended_Addressing Bool FALSE Configure l'adressage d'esclave à un ou deux octets. • FALSE = adresse 1 octet ; 0 à 247 • TRUE = adresse 2 octets (correspond à l'adressage étendu) ;

0 à 65535

Compatibility_Mode 1) Bool FALSE Mode de compatibilité avec CP 341 et CP 441-2 avec pilote pour Modbus RTU et avec ET 200SP 1SI pour Modbus. La valeur par défaut est 0. • FALSE = selon la spécification Modbus, non compatible • TRUE = compatible

– Pour FC1 et FC2 : les données lues dans le télégramme de réception sont écrites mot par mot dans la mémoire adressée de la CPU et échangées par octets. Si le nombre des bits à transmettre n'est pas un multiple de 16, les bits non significatifs dans le dernier mot sont mis à 0.

– Avec FC15, sachez que : Les mots à transmettre sont lus mot par mot dans la mémoire adressée et écrits par octets dans le télégramme d'émission. Si le nombre des bits à transmettre n'est pas un multiple de 8, les bits non significatifs dans le dernier octet sont lus sans modification dans la mémoire adressée et inscrits dans le télégramme d'émission.

MB_DB MB_BASE

- Le paramètre MB_DB de l'instruction Modbus_Comm_Load doit être interconnecté au paramètre MB_DB de l'instruction Modbus_Master.

1) Les modules de communication point à point se comportent selon la norme Modbus. Pour obtenir un comportement Modbus normalement habituel comme dans les CP 341, CP 441-2et ET 200SP 1SI , utilisez le paramètre "Compatibility_Mode".

Votre programme peut écrire des valeurs dans les variables Blocked_Proc_Timeout et Extended_Addressing pour commander le fonctionnement du maître Modbus.

Page 49: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 49

Règles de communication pour le Modbus-Master ● Modbus_Comm_Load doit être exécuté pour configurer un port avant qu'une instruction

Modbus_Master ne puisse communiquer avec ce port.

● Si un port doit être utilisé comme maître Modbus, ce port ne doit pas être utilisé par Modbus _Slave . Une ou plusieurs instances d'exécution de Modbus_Master 1) peuvent être utilisées avec ce port. Mais toutes les exécutions de Modbus_Master doivent utiliser le même bloc de données d'instance pour ce port.

● Les instructions Modbus n'utilisent pas d'événements d'alarme de communication pour piloter le processus de communication. Votre programme doit interroger les tâches achevées de l'instruction Modbus_Master (DONE, ERROR).

● Nous vous conseillons d'appeler toutes les exécutions de Modbus_Master pour un port donné dans un OB de cycle de programme. Les instructions maître Modbus ne peuvent s'exécuter que dans un niveau d'exécution, cycle de programme ou alarme cyclique/temporisée. Elles ne peuvent pas s'exécuter dans deux niveaux de priorité d'exécution différents. L'interruption d'une instruction maître Modbus par une autre instruction maître Modbus dans un niveau de priorité d'exécution supérieur entraîne un fonctionnement incorrect. Les instructions maître Modbus ne doivent pas s'exécuter dans les niveaux de priorité mise en route, diagnostic ou erreur de temps.

1) Par "instance du maître Modbus", on entend un appel de l'instruction Modbus_Master avec la même interconnexion avec une instruction Modbus_Comm_Load et le même réglage des paramètres MB_ADDR, MODE, DATA_ADDR et DATA_LEN .

Exemple :

Modbus_Master est appelé par MODE=0 et DATA_ADDR=10

Cette tâche reste active jusqu'à ce que DONE=1 ou ERROR=1 y mette fin ou jusqu'à l'expiration de la surveillance de temps paramétrée sur Blocked_Proc_Timeout . Si, une fois le temps de surveillance écoulé, une nouvelle tâche est démarrée avant que la tâche précédente soit achevée, la tâche précédente est interrompue sans message d'erreur.

Si maintenant, pendant que cette tâche est en cours, un deuxième appel de l'instruction avec les mêmes données d'instance mais des réglages des paramètres MODE et DATA_ADDR différents est déclenché, le deuxième appel est terminé par ERROR=1 et STATUS=8200.

Appel de l'instruction Modbus_Master avec différents paramétrages Si vous placez dans votre programme plusieurs appels de l'instruction Modbus_Master avec des paramètres différents pour MB_ADDR, MODE, DATA_ADDR ou DATA_LEN, vous devez vous assurer qu'une seule de ces tâches est active à un temps donné, sinon le message d'erreur 0x8200 s'affiche (l'interface est occupée par une tâche en cours).

Si un appel ne peut pas être traité en entier, la surveillance de temps est activée via le paramètre Blocked_Proc_Timeout et elle termine la tâche en cours.

Page 50: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 50 Manuel de programmation, 01/2013, A5E31625083-AA

Paramètre REQ FALSE = Pas de demande ; TRUE = Demande d'envoi de données à un esclave Modbus

Activation de l'émission demandée en cas de front montant de cette entrée de validation d'émission. Cela déclenche le transfert du contenu de la mémoire tampon vers l'interface de communication point à point.

Les paramètres DATA_ADDR et MODE permettent de sélectionner le code de fonction Modbus. DATA_ADDR (adresse Modbus de début dans l'esclave) : indique l'adresse de début des données auxquelles accéder dans l'esclave Modbus.

L'instruction Modbus_Master utilise une entrée MODE et non une entrée code de fonction. La combinaison de MODE et de DATA_ADDR détermine le code de fonction qui est utilisé dans le télégramme Modbus réel. Le tableau suivant montre l'affectation entre le paramètre MODE, le code de fonction Modbus et la plage d'adresses Modbus dans DATA_ADDR.

Tableau 3- 17 Fonctions Modbus

MODE DATA_ADDR (Adresse Modbus)

DATA_LEN (Longueur des données)

Code de fonction Modbus

Opération et données

Bits par demande Lecture de bits de sortie : 0 1 à 9999 1 à 2000/1992 1

010 à 9998

Bits par demande Lecture de bits d'entrée : 0 10001 à 19999 1 à 2000/1992 1

020 à 9998

Mots par demande Lecture de registres de maintien : 40001 à 49999 1 à 125/124 1 0 à 9998

0

400001 à 465535 1 à 125/124 1

03

0 à 65534 Mots par demande Lecture de mots d'entrée : 0

30001 à 39999 1 à 125/124 104

0 à 9998 Bits par demande Ecriture d'un bit de sortie : 1

1 à 9999 1 05

0 à 9998 1 mot par demande Ecriture d'un registre de maintien :

40001 à 49999 1 0 à 99981

400001 à 465535 1

06

0 à 65524 Bits par demande Ecriture de plusieurs bits de sortie : 1

1 à 9999 2 à 1968/1960 115

0 à 9998 Mots par demande Ecriture de plusieurs registres de

maintien : 40001 à 49999 2 à 123/122 0 à 9998

1

400001 à 465534 2 à 123/122 1

16

0 à 65534 Bits par demande Ecriture d'un ou de plusieurs bits de

sortie : 2 2

1 à 9999 2 à 1968/1960 1

15

0 à 9998

Page 51: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 51

MODE DATA_ADDR (Adresse Modbus)

DATA_LEN (Longueur des données)

Code de fonction Modbus

Opération et données

Mots par demande Ecriture d'un ou de plusieurs registres de maintien :

40001 à 49999 1 à 123 0 à 9998

2 2

400001 à 465535 1 à 122 1

16

0 à 6553411 Les deux opérandes DATA_ADDR et DATA_LEN de

Modbus_Master ne sont pas pris en compte pour cette fonction.

11 Lecture du mot d'état de communication esclave et du compteur d'événements. Le mot d'état indique si l'esclave est occupé (0 - non occupé, 0xFFFF - occupé). Le compteur d'événements est incrémenté à chaque fois qu'un télégramme s'achève avec succès.

1 mot par demande Contrôle de l'état de l'esclave à l'aide du code de diagnostic de données 0x0000 (test de retour - l'esclave renvoie la demande en écho)

80

- 1

08

- 1 mot par demande Réinitialisation du compteur

d'événements de l'esclave à l'aide du code de diagnostic de données 0x000A.

81

- 1

08

- 3 à 10,

12 à 79,

82 à 255

- - Réservé

1 En mode d'adressage étendu (voir le paramètre Extended_Adressing), les longueurs maximales de données sont réduites de 1 octet ou 1 mot selon le type de données utilisé par la fonction.

2 MODE 2 permet l'écriture d'un ou plusieurs bits de sortie et d'un ou plusieurs registres de maintien en utilisant les fonctions Modbus 15 et 16. MODE 1 utilise les fonctions Modbus 5 et 6 pour écrire 1 bit de sortie et 1 registre de maintien et les fonctions Modbus 15 et 16 pour écrire plusieurs bits de sortie et plusieurs registres de maintien.

Page 52: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 52 Manuel de programmation, 01/2013, A5E31625083-AA

Paramètre DATA_PTR Le paramètre DATA_PTR pointe sur l'adresse M ou DB à lire ou dans laquelle écrire. Si vous utilisez un bloc de données, vous devez créer un bloc de données global qui fournit de la mémoire pour les lectures et écritures dans les esclaves Modbus.

Remarque S7-1200/1500 - Le bloc de données adressé par DATA_PTR doit autoriser l'adressage direct

Le bloc de données doit autoriser à la fois l'adressage direct (absolu) et l'adressage symbolique.

Structures de bloc de données pour le paramètre DATA_PTR ● Ces types de données sont valides pour la lecture de mots de la plage d'adresses

Modbus (DATA_PTR) 30001 de 39999, 40001 à 49999 et 400001 à 465535 et également pour l'écriture de mots de la plage d'adresses Modbus (paramètre DATA_PTR) 40001 à 49999 et 400001 à 465535.

– Tableau standard de types de données WORD, UINT ou INT

– Structure WORD, UINT ou INT nommée dans laquelle chaque élément a un nom unique et un type de données de 16 bits.

– Structure complexe nommée dans laquelle chaque élément a un nom unique et un type de données de 16 ou 32 bits.

● Pour la lecture et l'écriture des bits de la plage d'adresses Modbus (paramètre DATA_PTR) 00001 à 09999 et pour la lecture des bits de 10001 à 19999.

– Tableau standard de types de données BOOL.

– Structure booléenne nommée de variables booléennes à nom unique.

● Bien que cela ne soit pas obligatoire, il est recommandé que chaque instruction Modbus_Master ait sa propre zone de mémoire distincte. La raison en est que le risque d'altération des données est plus important si plusieurs instructions Modbus_Master lisent et écrivent dans la même zone de mémoire.

● Les zones de données DATA_PTR ne doivent pas nécessairement être dans le même bloc de données global. Vous pouvez créer un bloc de données à zones multiples pour les lectures Modbus, un bloc de données pour les écritures Modbus ou un bloc de données pour chaque station esclave.

Voir aussi Modbus_Slave : communication en tant qu'esclave Modbus (Page 53)

Page 53: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 53

3.2.4 Modbus_Slave : communication en tant qu'esclave Modbus

Description L'instruction Modbus_Slave permet à votre programme de communiquer en tant qu'esclave Modbus par le biais d'un port point à point sur le CM (RS422/485 ou RS232). STEP 7 crée automatiquement un DB d'instance lorsque vous ajoutez l'instruction. Le paramètre MB_DB de l'instruction Modbus_Comm_Load doit être interconnecté au paramètre (statique) MB_DB de l'instruction "Modbus_Slave ".

Paramètres

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/WinAC

Standard Description

MB_ADDR IN UInt Word - Adresse de station de l'esclave Modbus : Plage d'adressage standard (1 à 247) Plage d'adressage étendue (0 à 65535) Nota : 0 est l'adresse de diffusion générale

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction Modbus_Slave Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

MB_HOLD_REG

IN/OUT Variant Any - Pointeur désignant le DB de registre de maintien Modbus : le registre de maintien Modbus peut être un mémento ou un bloc de données.

NDR OUT Bool FALSE Nouvelles données prêtes : • 0 = Pas de nouvelles données • 1 = Indique que des nouvelles données ont été écrites

par le maître Modbus Le bit NDR est VRAI pour un cycle si la dernière demande s'est achevée sans erreur.

DR OUT Bool FALSE Lecture de données : • 0 = Pas de données lues • 1 = Indique que des données ont été lues par le maître

Modbus Le bit DR est TRUE pour un cycle si la dernière demande s'est achevée sans erreur.

ERROR OUT Bool FALSE Le bit ERROR est TRUE pour un cycle si la dernière demande s'est achevée avec une erreur. Si l'exécution s'achève avec une erreur, la valeur de code d'erreur dans le paramètre STATUS ne vaut que pendant le cycle où ERROR est à TRUE.

STATUS OUT Word 0 Code d'erreur (voir Messages d'erreur (Page 89))

Page 54: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 54 Manuel de programmation, 01/2013, A5E31625083-AA

Les codes de fonctions de communication Modbus (1, 2, 4, 5 et 15) peuvent lire et écrire des bits et des mots directement dans la mémoire image des entrées et la mémoire image des sorties de la CPU. Pour ces fonctions, le paramètre MB_HOLD_REG doit être défini avec un type de données supérieur à un octet. Le tableau suivant montre en exemple la correspondance entre les adresses Modbus et la mémoire image dans la CPU.

Tableau 3- 18 Correspondance entre adresses Modbus et mémoire image

Fonctions Modbus S7-1200 Code Fonction Zone de

données Plage d'adresses

Zone de données Adresse de la CPU

01 Lecture de bits

Sortie 0 à 8191 Mémoire image de sorties A0.0 à A1023.7

02 Lecture de bits

Entrée 0 à 8191 Mémoire image des entrées

E0.0 à E1023.7

04 Lecture de mots

Entrée 0 à 511 Mémoire image des entrées

EW0 à EW1022

05 Ecriture d'un bit

Sortie 0 à 8191 Mémoire image de sorties A0.0 à A1023.7

15 Ecriture de bits

Sortie 0 à 8191 Mémoire image de sorties A0.0 à A1023.7

Tableau 3- 19 Correspondance entre adresses Modbus et mémoire image

Fonctions Modbus S7-1500 / S7-300 / S7-400 Code Fonction Zone de

données Plage d'adresses

Zone de données Adresse de la CPU

01 Lecture de bits

Sortie 0 à 9998 Mémoire image de sorties A0.0 à A1248.6

02 Lecture de bits

Entrée 0 à 9998 Mémoire image des entrées

E0.0 à E1248.6

04 Lecture de mots

Entrée 0 à 9998 Mémoire image des entrées

EW0 à EW19996

05 Ecriture d'un bit

Sortie 0 à 9998 Mémoire image de sorties A0.0 à A1248.6

15 Ecriture de bits

Sortie 0 à 9998 Mémoire image de sorties A0.0 à A1248.6

Remarque

La plage d'adresses disponible peut aussi être plus petite selon la capacité de mémoire de la CPU.

Page 55: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 55

Les codes de fonction de communication Modbus 3, 6 et 16 utilisent un registre de maintien Modbus qui peut être une zone d'adresse en mémoire M ou un bloc de données. Le type de registre de maintien est indiqué par le paramètre MB_HOLD_REG dans l'instruction Modbus_Slave.

Remarque S7-1200/1500 - Type du bloc de données MB_HOLD_REG

Un bloc de données faisant office de registre de maintien Modbus doit autoriser à la fois l'adressage direct (absolu) et l'adressage symbolique.

Tableau 3- 20 Fonctions de diagnostic

Fonctions de diagnostic Modbus Modbus_Slave du S7-1200 Codes de fonction Sous-

fonction Description

08 0000H Renvoi d'un test d'écho des données de requête : l'instruction Modbus_Slave renvoie en écho à un maître Modbus un mot de données reçu.

08 000AH Effacement du compteur d'événements de communication : l'instruction Modbus_Slave efface le compteur d'événements de communication qui est utilisé pour la fonction Modbus 11.

11 Lecture du compteur d'événements de communication : l'instruction Modbus_Slave utilise un compteur d'événements de communication interne pour enregistrer le nombre de demandes de lecture et d'écriture Modbus envoyées à l'esclave Modbus qui ont abouties. Le compteur ne s'incrémente pas pour les fonctions 8 et 11 ni pour les demandes à diffusion générale. Il ne s'incrémente pas non plus pour toute demande entraînant une erreur de communication (erreurs de parité ou de CRC, par exemple).

L'instruction Modbus_Slave accepte les demandes d'écriture à diffusion générale provenant de n'importe quel maître Modbus à condition que la requête demande l'accès à des adresses valides. Modbus_Slave génère un code d'erreur 0x8188 pour les codes de fonction non pris en charge en diffusion générale.

Page 56: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 56 Manuel de programmation, 01/2013, A5E31625083-AA

Variables pour l'esclave Modbus Ce tableau montre les variables statiques publiques sauvegardées dans le bloc de données d'instance pour Modbus_Slave pouvant être utilisées dans votre programme.

Tableau 3- 21 Variables pour l'esclave Modbus

Variable Type de données

Standard Description

HR_Start_Offset Word 0 Indique l'adresse de début du registre de maintien Modbus (valeur par défaut = 0)

Extended_Addressing Bool FALSE Adressage étendu, configure l'adressage d'esclave à un ou deux octets. (0 = adresse à un octet, 1 = adresse à deux octets ; valeur par défaut = 0)

Request_Count Word 0 Nombre de toutes les demandes reçues par cet esclave Slave_Message_Count Word 0 Nombre de demandes reçues pour cet esclave spécifique Bad_CRC_Count Word 0 Nombre de demandes reçues comportant une erreur CRC Broadcast_Count Word 0 Nombre de demandes à diffusion générale reçues Exception_Count Word 0 Erreurs Modbus spécifiques nécessitant le renvoi d'une exception Success_Count Word 0 Nombre de demandes reçues pour cet esclave spécifique ne

contenant pas d'erreurs de protocole MB_DB MB_BASE - Le paramètre MB_DB de l'instruction Modbus_Comm_Load doit être

interconnecté au paramètre MB_DB de l'instruction Modbus_Master.

Votre programme peut écrire des valeurs dans les variables HR_Start_Offset et Extended_Addressing pour commander le fonctionnement de l'esclave Modbus. Les autres variables peuvent être lues pour visualiser l'état de Modbus.

Règles de communication pour l'esclave Modbus ● Modbus_Comm_Load doit être exécuté pour configurer un port avant qu'une instruction

Modbus_Slave ne puisse communiquer par le biais de ce port.

● Si un port doit répondre en tant qu'esclave à un maître Modbus, ne programmez pas ce port avec l'instruction Modbus_Master .

● Une seule instance de Modbus_Slave peut être utilisée avec un port donné, faute de quoi le comportement pourrait devenir imprévisible.

● Les instructions Modbus n'utilisent pas d'événements d'alarme de communication pour piloter le processus de communication. Votre programme doit piloter le processus de communication en interrogeant les conditions émission et réception achevées de l'instruction Modbus_Slave .

● L'instruction Modbus_Slave doit s'exécuter périodiquement à une fréquence permettant de répondre rapidement à des demandes entrantes provenant d'un maître Modbus. Il est recommandé d'exécuter Modbus_Slave à chaque cycle dans un OB de cycle de programme. Il est possible d'exécuter Modbus_Slave dans un OB d'alarme cyclique, mais ce n'est pas recommandé en raison du risque que des retards excessifs dans le programme d'alarme bloquent l'exécution d'autres programmes d'alarme.

Page 57: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 57

Synchronisation des signaux Modbus Modbus_Slave doit être exécuté périodiquement pour recevoir chaque demande provenant du maître Modbus et pour y répondre de manière appropriée. La fréquence d'exécution de Modbus_Slave dépend du délai d'attente de la réponse dans le maître Modbus. Ceci est illustré dans le schéma suivant.

Le délai d'attente de la réponse RESP_TO est la durée pendant laquelle un maître Modbus attend le début d'une réponse d'un esclave Modbus. Ce temps n'est pas défini par le protocole Modbus, mais par un paramètre de l'instruction Modbus_Comm_Load. Etant donné que l'émission et la réception d'un télégramme nécessitent plusieurs appels, ou au moins trois appels chacune de l'instruction Modbus_Slave, vous devriez exécuter Modbus_Slave au minimum douze fois pendant le délai d'attente de la réponse du maître Modbus afin que l'émission et la réception de données par l'esclave Modbus soient exécutées deux fois plus souvent que le délai d'attente indiqué.

HR_Start_Offset Les adresses du registre de maintien Modbus commencent à 40001 ou 400001. Ces adresses correspondent à l'adresse de début du registre de maintien dans la mémoire du système cible. Vous pouvez toutefois configurer la variable HR_Start_Offset, afin de configurer une adresse de début autre que 40001 ou 400001 pour le registre de maintien Modbus.

Par exemple, si le registre de maintien est configuré pour commencer à MW100 et s'il a une longueur de 100 mots. Un décalage de 20 spécifie une adresse de début du registre de maintien de 40021 au lieu de 40001. Toute adresse inférieure à 40021 et supérieure à 400119 entraîne une erreur d'adressage.

Tableau 3- 22 Exemple d'adressage du registre de maintien Modbus si DATA_PTR est un pointeur vers MW100

HR_Start_Offset Adresse Minimum Maximum Adresse Modbus (mot) 40001 40099 0 Adresse S7-1500 MW100 MW298 Adresse Modbus (mot) 40021 40119 20 Adresse S7-1500 MW100 MW298

HR_Start_Offset est une valeur de mot qui indique l'adresse de début du registre de maintien Modbus et est sauvegardée dans le bloc de données d'instance de Modbus_Slave . Vous pouvez définir la valeur de cette variable statique publique à l'aide de la liste déroulante d'aide pour les paramètres lorsque vous avez inséré Modbus_Slave dans votre programme.

Page 58: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 58 Manuel de programmation, 01/2013, A5E31625083-AA

Par exemple, une fois Modbus_Slave inséré dans un réseau CONT, vous pouvez aller à un réseau précédent et définir la valeur HR_Start_Offset avec la commande Move. La valeur doit être affectée avant l'exécution de Modbus_Slave.

Entrée d'une variable pour l'esclave Modbus à l'aide du nom de DB par défaut :

1. Placez le curseur dans le champ de paramètre OUT1 et tapez la lettre m.

2. Sélectionnez dans la zone de liste déroulante le DB d'instance voulu de l'instruction Modbus_Slave.

3. Placez le curseur à droite du nom de DB (après le guillemet) et entrez un point.

4. Sélectionnez "Modbus_Slave_DB.HR_Start_Offset" dans la liste déroulante.

Page 59: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 59

3.2.5 Structure des télégrammes

Extended_Addressing Vous accédez à la variable Extended_Addressing de la même manière qu'à la référence HR_Start_Offset, si ce n'est que la variable Extended_Addressing est une valeur booléenne.

L'adressage d'esclave Modbus peut être configuré à un octet (la norme pour Modbus) ou à deux octets. On utilise l'adressage étendu pour accéder à plus de 247 appareils dans un seul réseau. La sélection de l'adressage étendu vous permet d'accéder à 65535 adresses au maximum. Un télégramme pour la fonction Modbus 1 est présenté ci-dessous comme exemple.

Tableau 3- 23 Adresse d'esclave à un octet (octet 0)

Fonction 1 Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Demande Adresse

esclave Code F Adresse de début Données

Réponse valide Adresse esclave

Code F Longueur Données

Message d'erreur

Adresse esclave

0xxx Code E

Tableau 3- 24 Adresse d'esclave à à deux octets (octet 0 et octet 1)

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Demande Adresse esclave Code F Adresse de début Données Réponse valide Adresse esclave Code F Longueur Données Message d'erreur

Adresse esclave 0xxx Code E

Description du télégramme L'échange de données maître-esclave ou esclave-maître débute par l'adresse de l'esclave, suivie du code de fonction. Après quoi les données sont transmises. L'organisation de la trame des données dépend de la fonction utilisée. Le total de contrôle CRC est transmis à la fin du télégramme.

Page 60: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 60 Manuel de programmation, 01/2013, A5E31625083-AA

Code de fonction 1 - Cette fonction permet de lire un bit de sortie

Tableau 3- 25 FC 1 - Lire les bits de sortie

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Demande Adresse

esclave Code de fonction

Adresse de début Nombre de sorties

Réponse valide Adresse esclave

Code de fonction

Longueur 1 Données de sortie 3)

Message d'erreur

Adresse esclave

0x81 Code E 2 ---

Longueur 1 : Si le nombre de sorties divisé par 8 donne un reste, le nombre d'octets est incrémenté de 1. 2 Code E : 01 ou 02 ou 03 ou 04 3 Les données de sorties peuvent comprendre plusieurs octets

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Demande Adresse esclave Code de

fonction Adresse de début Nombre de sorties

Réponse valide

Adresse esclave Code de fonction

Longueur 1 Données de sortie

Message d'erreur

Adresse esclave 0x81 Code E 2 ---

Longueur 1 : Si le nombre de sorties divisé par 8 donne un reste, le nombre d'octets est incrémenté de 1. 2 Code E : 01 ou 02 ou 03 ou 04 3 Les données de sorties peuvent comprendre plusieurs octets

Page 61: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 61

Code de fonction 2 - Cette fonction permet de lire un bit d'entrée

Tableau 3- 26 FC 2 - Lire les bits d'entrée

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Demande Adresse

esclave Code de fonction

Adresse de début Nombre d'entrées

Réponse valide Adresse esclave

Code de fonction

Longueur 1 Données d'entrée

Message d'erreur

Adresse esclave

0x82 Code E 2 ---

Longueur 1 : Si le nombre d'entrées divisé par 8 donne un reste, le nombre d'octets est incrémenté de 1. 2 Code E : 01 ou 02 ou 03 ou 04

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Demande Adresse esclave Code de

fonction Adresse de début Nombre d'entrées

Réponse valide

Adresse esclave Code de fonction

Longueur 1 Données d'entrée

Message d'erreur

Adresse esclave 0x82 Code E 2 ---

Longueur 1 : Si le nombre d'entrées divisé par 8 donne un reste, le nombre d'octets est incrémenté de 1. 2 Code E : 01 ou 02 ou 03 ou 04

Page 62: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 62 Manuel de programmation, 01/2013, A5E31625083-AA

Code de fonction 3 - Cette fonction permet de lire un registre

Tableau 3- 27 FC 3 - Lire les registres de maintien

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Demande Adresse

esclave Code de fonction

Adresse de début Nombre de registres

Réponse valide Adresse esclave

Code de fonction

Longueur 1 Données de registre

Message d'erreur

Adresse esclave

0x83 Code E 2 ---

Longueur 1 : Nombre d'octets 2 Code E : 01 ou 02 ou 03 ou 04

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Demande Adresse esclave Code de

fonction Adresse de début Nombre registres

Réponse valide

Adresse esclave Code de fonction

Longueur 1 Données de registre

Message d'erreur

Adresse esclave 0x83 Code E 2 ---

Longueur 1 : Nombre d'octets 2 Code E : 01 ou 02 ou 03 ou 04

Page 63: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 63

Code de fonction 4 - Cette fonction permet de lire un registre

Tableau 3- 28 FC 4 - Lire les mots d'entrée

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Demande Adresse

esclave Code de fonction

Adresse de début Nombre de mots d'entrée

Réponse valide Adresse esclave

Code de fonction

Longueur 1 Données d'entrée

Message d'erreur

Adresse esclave

0x84 Code E 2 ---

Longueur 1 : 2 * Nombre de mots d'entrée 2 Code E : 01 ou 02 ou 03 ou 04

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Demande Adresse esclave Code de

fonction Adresse de début Nombre de mots d'entrée

Réponse valide

Adresse esclave Code de fonction

Longueur 1 Données d'entrée

Message d'erreur

Adresse esclave 0x84 Code E 2 ---

Longueur 1 : 2 * Nombre de mots d'entrée 2 Code E : 01 ou 02 ou 03 ou 04

Code de fonction 5 - Cette fonction permet de mettre un bit à 1 ou de le supprimer

Tableau 3- 29 FC 5 - Ecrire un bit de sortie

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Demande Adresse

esclave Code de fonction

Adresse de début Valeur

Réponse valide Adresse esclave

Code de fonction

Longueur Valeur

Message d'erreur

Adresse esclave

0x85 Code E 1 ---

1 Code E : 01 ou 02 ou 03 ou 04

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Demande Adresse esclave Code de

fonction Adresse de début Valeur

Réponse valide

Adresse esclave Code de fonction

Longueur Valeur

Message d'erreur

Adresse esclave 0x85 Code E 1 ---

1 Code E : 01 ou 02 ou 03 ou 04

Page 64: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 64 Manuel de programmation, 01/2013, A5E31625083-AA

Code de fonction 6 - Cette fonction permet d'écrire un registre

Tableau 3- 30 FC 6 - Ecrire les registres de maintien

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Demande Adresse

esclave Code de fonction

Adresse Registre

Réponse valide Adresse esclave

Code de fonction

Adresse Registre

Message d'erreur

Adresse esclave

0x86 Code E 1 ---

1 Code E : 01 ou 02 ou 03 ou 04

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Demande Adresse esclave Code de

fonction Adresse Registre

Réponse valide

Adresse esclave Code de fonction

Adresse Registre

Message d'erreur

Adresse esclave 0x86 Code E 1 ---

1 Code E : 01 ou 02 ou 03 ou 04

Code de fonction 8 - Cette fonction permet de vérifier la liaison de communication

Tableau 3- 31 FC 8 - Etat esclave

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Demande Adresse

esclave Code de fonction

Code de diagnostic Valeur de test

Réponse valide Adresse esclave

Code de fonction

Code de diagnostic Valeur de test

Message d'erreur

Adresse esclave

0x88 Code E 1 ---

1 Code E : 01 ou 03 ou 04

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Demande Adresse esclave Code de

fonction Code de diagnostic Valeur de test

Réponse valide

Adresse esclave Code de fonction

Code de diagnostic Valeur de test

Message d'erreur

Adresse esclave 0x88 Code E 1 ---

1 Code E : 01 ou 03 ou 04

Page 65: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 65

Code de fonction 11 - Cette fonction permet de lire un "mot d’état" de 2 octets et un "compteur d’événements" de 2 octets

Tableau 3- 32 FC 11 - Compteur d'événements de la communication esclave

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Demande Adresse

esclave Code de fonction

---

Réponse valide Adresse esclave

Code de fonction

Etat Compteur d'événements

Message d'erreur

Adresse esclave

0x8B Code E 1 ---

1 Code E : 01 ou 04

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Demande Adresse esclave Code de

fonction ---

Réponse valide

Adresse esclave Code de fonction

Etat Compteur d'événements

Message d'erreur

Adresse esclave 0x8B Code E 1 ---

1 Code E : 01 ou 04

Page 66: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 66 Manuel de programmation, 01/2013, A5E31625083-AA

Code de fonction 15 - Cette fonction permet d'écrire plusieurs bits

Tableau 3- 33 FC 15 - Ecrire un/plusieurs bits de sortie

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Octet 7 Octet n Demande Adresse

esclave Code de fonction

Adresse de début Nombre de mots de sortie

Compteur d'octets 1

Valeur

Réponse valide

Adresse esclave

Code de fonction

Adresse de début Nombre de mots de sortie

---

Message d'erreur

Adresse esclave

0x8F Code E 2

---

1 Compteur d'octets : Si le nombre d'octets divisé par 8 donne un reste, le nombre d'octets est incrémenté de 1. 2 Code E : 01 ou 02 ou 03 ou 04

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Octet 7 Octet 8 Octet n Demande Adresse esclave Code de

fonction Adresse de

début Nombre de mots de

sortie Compteur d'octets 1

Valeur

Réponse valide

Adresse esclave Code de fonction

Adresse de début

Nombre de mots de sortie

---

Message d'erreur

Adresse esclave 0x8F Code E 2 ---

1 Compteur d'octets : Si le nombre d'octets divisé par 8 donne un reste, le nombre d'octets est incrémenté de 1. 2 Code E : 01 ou 02 ou 03 ou 04

Page 67: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.2 Modbus

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 67

Code fonction 16 - Cette fonction permet d'écrire un ou plusieurs registres

Tableau 3- 34 FC 16 - Ecrire un/plusieurs registres de maintien

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Octet 7 Octet n Demande Adresse

esclave Code de fonction

Adresse de début Nombre de registres Compteur d'octets 1

Valeur

Réponse valide

Adresse esclave

Code de fonction

Adresse de début Nombre de registres ---

Message d'erreur

Adresse esclave

0x90 Code E 2 ---

1 Compteur d'octets : Nombre de registres * 2 2 Code E : 01 ou 02 ou 03 ou 04

Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Octet 7 Octet 8 Octet n Demande Adresse esclave Code de

fonction Adresse de

début Nombre de registres Compteur

d'octets 1 Valeur

Réponse valide

Adresse esclave Code de fonction

Adresse de début

Nombre de registres ---

Message d'erreur

Adresse esclave 0x90 Code E 2 ---

1 Compteur d'octets : Nombre de registres * 2 2 Code E : 01 ou 02 ou 03 ou 04

Page 68: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 68 Manuel de programmation, 01/2013, A5E31625083-AA

3.3 USS

3.3.1 Présentation de la communication USS

Communication USS Les instructions USS commandent le fonctionnement d'entraînements qui prennent en charge le protocole USS (interface série universelle). Vous pouvez utiliser les instructions USS pour communiquer avec plusieurs entraînements via des liaisons RS485 vers des modules de communication point à point. Chaque port RS485 peut faire fonctionner jusqu'à 16 entraînements.

Le protocole USS utilise un réseau maître-esclave pour communiquer par le biais d'un bus série. Le maître utilise un paramètre adresse pour envoyer des données à un esclave sélectionné. Un esclave, lui, ne peut jamais émettre s'il n'y a pas d'abord été invité par un maître. Une communication directe entre les esclaves individuels est impossible. La communication USS s'opère en mode semi-duplex. L'illustration suivante montre un schéma de réseau pour un exemple d'application avec 16 entraînements.

3

1 2

① CPU ② CM ③ Entraînements dans un réseau USS

Figure 3-1 Exemple d'interconnexion avec le module de communication S7-1500

Remarque Communication avec un entraînement via RS232

En principe, vous pouvez également utiliser le CM PtP RS232 BA et le CM PtP RS232 HF pour gérer la communication avec un entraînement. Cependant, vous ne pouvez connecter qu'un seul entraînement à un même port RS232.

Page 69: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 69

Instructions USS dans votre programme ● USS_Port_Scan : L'instruction USS_Port_Scan permet la communication via un module

de communication avec 16 entraînements maximum via un réseau USS (doit être appelé de manière cyclique).

Il n'y a qu'une instruction USS_Port_Scan par port de communication point à point dans le programme qui commande la transmission à tous les entraînements.

● USS_Drive_Control : L'instruction USS_Drive_Control vous permet de traiter les données d'émission de USS_Port_Scan pour un entraînement et d'afficher les données de réception.

USS_Drive_Control ne fait que configurer les données à envoyer et interpréter les données éventuelles reçues d'une précédente demande via USS_Port_Scan.

● USS_Read_Param : l'instruction USS_Read_Param vous permet de procéder à la lecture de paramètres d'un entraînement.

● USS_Write_Param : l'instruction USS_Write_Param vous permet de procéder à l'écriture des paramètres dans l'entraînement.

Page 70: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 70 Manuel de programmation, 01/2013, A5E31625083-AA

3.3.2 Conditions requises pour l'utilisation du protocole USS Les quatre instructions USS utilisent 2 FB et 2 FC pour la prise en charge du protocole USS. Un bloc de données d'instance USS_Port_Scan est utilisé pour chaque réseau USS et un bloc de données d'instance commun pour tous les appels du USS_Drive_Conrol.

Figure 3-2 Exécution du programme - USS

Tous les entraînements (16 au maximum) connectés à un même port RS485 font partie du même réseau USS. Tous les entraînements connectés à un port RS485 différent font partie d'un réseau USS différent. Chaque réseau USS est géré à l'aide d'un bloc de données d'instance unique pour toutes les instructions USS_Drive_Control et d'un autre bloc de données d'instance pour l'instruction USS_Port_Scan. Toutes les instructions associées à un même réseau USS doivent partager le bloc de données d'instance pour USS_Drive_Conrol. Les instructions USS_Port_Scan, USS_Read_Param et USS_Write_Param utilisent pour cela le paramètre USS_DB qui doit être interconnecté avec le paramètre (statique) USS_DB du DB d'instance de l'instruction USS_Drive_Control.

Page 71: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 71

● Les instructions USS_Drive_Control et USS_Port_Scan sont des blocs fonctionnels (FB). Si vous placez l'instruction USS_Drive_Control ou USS_Port_Scan dans l'éditeur de programmes, la boîte de dialogue "Options d'appel" s'affiche et vous demande d'affecter un DB à ce FB. S'il s'agit de la première instruction USS_Drive_Control dans ce programme pour ce réseau USS, vous pouvez accepter le DB indiqué par défaut (ou modifier son nom si vous le désirez) et ce nouveau DB est alors créé pour vous. En revanche, s'il ne s'agit pas de la première instruction USS_Drive_Control pour cet entraînement, vous devez utiliser la liste déroulante dans la boîte de dialogue "Options d'appel" pour sélectionner le nom de DB précédemment affecté à ce réseau USS.

● Dans le cas des instructions USS_Port_Scan et USS_Read_Param , il s'agit de fonctions (FC). Il n'y a pas d'affectation de DB lorsque vous placez ces FC dans l'éditeur. Si vous placez ces FC ou l'instruction USS_Port_Scan dans l'éditeur de programmes, vous devez affecter l'entrée USS_DB de ces instructions au paramètre USS_DB du DB d'instance respectif de USS_Drive_Control. Double-cliquez sur le champ de paramètre, puis cliquez sur l'icône d'aide pour voir les noms de DB disponibles. Saisissez un point "." et sélectionnez dans la liste déroulante le paramètre USS_DB.

● La fonction USS_Port_Scan gère la communication entre la CPU et les entraînements par le biais du port de communication RS485 point à point. Chaque appel de cette fonction gère une communication avec un entraînement. Votre programme doit appeler cette fonction suffisamment rapidement pour éviter un dépassement du délai de communication par les entraînements. Pour garantir un comportement temporel constant de l'émission du télégramme, vous devez appeler cette instruction dans un OB d'alarme cyclique.

● L'instruction USS_Drive_Control permet à votre programme d'accéder à un entraînement spécifié dans le réseau USS. Ses entrées et sorties constituent les états et les commandes pour l'entraînement. S'il y a 16 entraînements dans le réseau, votre programme doit comporter au moins 16 appels de USS_Drive_Control , un pour chaque entraînement.

Vous devez appeler l'instruction USS_Drive_Control uniquement à partir d'un OB d'alarme cyclique.

● Les fonctions USS_Read_Param et USS_Write_Param lisent et écrivent les paramètres de fonctionnement de l'entraînement. Ces paramètres pilotent le fonctionnement interne de l'entraînement. Vous trouverez la définition de ces paramètres dans le manuel de l'entraînement. Votre programme peut contenir autant de ces fonctions que nécessaire, mais une seule demande de lecture ou d'écriture peut être active par entraînement à un moment donné. Vous ne pouvez appeler les fonctions USS_Read_Param et USS_Write_Param que dans un OB de cycle de programme principal.

Page 72: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 72 Manuel de programmation, 01/2013, A5E31625083-AA

IMPORTANT Appel des instructions USS

Appelez USS_Drive_Control, USS_Read_Param et USS_Write_Param uniquement à partir d'un OB de cycle du programme principal. La fonction USS_Port_Scan peut être appelée dans n'importe quel OB, généralement un OB d'alarme cyclique.

N'utilisez pas les instructions USS_Drive_Control, USS_Read_Param et USS_Write_Param dans un OB ayant une priorité supérieure à l'instruction USS_Port_Scan. Ainsi, ne placez pas USS_Port_Scan dans le programme principal et USS_Read_Param dans un OB d'alarme cyclique. Si l'exécution de USS_Port_Scan est interrompue par une autre instruction, des erreurs inattendues peuvent se produire.

Calcul du temps requis pour communiquer avec l'entraînement La communication avec l'entraînement est asynchrone par rapport au cycle du S7-1500. Typiquement, le S7-1500 exécute plusieurs cycles avant qu'une transaction de communication avec un entraînement s'achève.

Afin que la surveillance de temps paramétrée pour l'entraînement ne se déclenche pas, les télégrammes d'émission vers l'entraînement doivent être envoyés pendant cet intervalle. Le nombre de tentatives de répétition doit être pris en compte si plusieurs tentatives sont nécessaires pour terminer la transaction à la suite d'erreurs de communication. Par défaut, on exécute deux répétitions pour le protocole USS à chaque transaction. L'intervalle de temps entre deux télégrammes d'émission est calculé comme suit :

(N * 5 * temps de cycle + 2 * temps d'exécution des télégrammes) * Nombre de tentatives de répétition + (timeout du télégramme de réception) * (Nombre de tentatives de répétition - 1)

N Nombre d'entraînements dans ce réseau Facteur 5 Il faut 5 cycles pour l'émission et la réception des télégrammes. Temps de cycle Temps de cycle maximal de l'OB d'alarme cyclique dans lequel

l'instruction USS_Port_Scan est appelé. 2 * Temps de transmission du télégramme

Une fois par émission et réception

Temps de transmission du télégramme

Temps de transmission du télégramme = (nombre de caractères par ligne) * (11 Bit par caractère) / (vitesse de transmission des données dans Bit/s)

Nombre de tentatives de répétition

3

Page 73: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 73

Les temps suivants du "timeout du télégramme de réception" s'appliquent BAUD = 115200: Receive_Conditions.END.RCVTIME := 25; Receive_Conditions.END.MSGTIME := 25; ELSIF BAUD = 57600 THEN Receive_Conditions.END.RCVTIME := 29; Receive_Conditions.END.MSGTIME := 29; ELSIF BAUD = 38400 THEN Receive_Conditions.END.RCVTIME := 33; Receive_Conditions.END.MSGTIME := 33; ELSIF BAUD = 19200 THEN Receive_Conditions.END.RCVTIME := 56; Receive_Conditions.END.MSGTIME := 56; ELSIF BAUD = 9600 THEN Receive_Conditions.END.RCVTIME := 72; Receive_Conditions.END.MSGTIME := 72; ELSIF BAUD = 4800 THEN Receive_Conditions.END.RCVTIME := 100; Receive_Conditions.END.MSGTIME := 124; ELSIF BAUD = 2400 THEN Receive_Conditions.END.RCVTIME := 100; Receive_Conditions.END.MSGTIME := 240; ELSIF BAUD = 1200 THEN Receive_Conditions.END.RCVTIME := 100; Exemple : 5 entraînements vitesse de transmission = 9600 bits/s 28 caractères par télégramme temps de cycle = 0,020 sec écart de temps = (5 * 5 * 0,02 sec + 2 * 28 * 11 / 1200 sec) * 3 = 1,69 sec La surveillance de temps de l'entraînement doit dans ce cas être réglée sur environ 2 secondes.

Page 74: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 74 Manuel de programmation, 01/2013, A5E31625083-AA

3.3.3 USS_Port_Scan : communication par le biais du réseau USS

Description L'instruction USS_Port_Scan gère la communication par le biais d'un réseau USS. STEP 7 crée automatiquement le DB lorsque vous ajoutez l'instruction.

Remarque Changement d'utilisation du module de communication

Si le module de communication doit être utilisé pour le protocole USS après avoir été utilisé pour Modbus, il faut auparavant exécuter une mise hors/sous tension (remise à 0 des paramètres du Modbus_Comm_Load).

Paramètres

Type de données Para-mètres

Déclaration

S7-1200/1500

S7-300/400/ WinAC

Standard Description

PORT IN Port Word 0 Une fois que vous avez inséré et configuré le CM, l'identificateur de port CM apparaît dans la propriété "Identification matérielle" de la configuration d'appareil. Le nom symbolique du port est attribué dans l'onglet "Constantes système" de la table de variables API.

BAUD IN DInt 9600 Vitesse de transmission de données pour la communication USS Les valeurs autorisées sont : • 1200 Bit/s • 2400 Bit/s • 4800 Bit/s • 9600 Bit/s • 19200 Bit/s • 38400 Bit/s • 57600 Bit/s • 115200 Bit/s

USS_DB INOUT USS_BASE – Le paramètre USS_DB doit être interconnecté avec le paramètre (statique) USS_DB du bloc de données d'instance qui est créé et initialisé lors de l'ajout d'une instruction USS_Drive_Control dans le programme.

COM_RST INOUT --- Bool FALSE Initialisation de l'instruction USS_Port_Scan Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

Page 75: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 75

Type de données Para-mètres

Déclaration

S7-1200/1500

S7-300/400/WinAC

Standard Description

ERROR OUT Bool FALSE Si TRUE, cette sortie signale qu'une erreur s'est produite et que la sortie STATUS est valide.

STATUS OUT Word 0 La valeur d'état de la demande indique le résultat du cycle ou de l'initialisation. Des informations supplémentaires sont disponibles dans la variable "USS_Extended_Error" pour certains codes d'état (voir Messages d'erreur (Page 89)).

Il n'y a qu'une instruction USS_Port_Scan par port de communication point à point dans le programme et chaque appel de cette instruction commande une transmission vers ou depuis tous les entraînements de ce réseau. Toutes les fonctions USS associées à un réseau USS et un port de communication point à point doivent utiliser le même bloc de données d'instance.

Votre programme doit exécuter l'instruction USS_Port_Scan suffisamment souvent pour empêcher les timeout dans l'entraînement (voir Conditions requises pour l'utilisation du protocole USS (Page 70), chapitre "Calcul du temps requis pour communiquer avec l'entraînement").

L'instruction USS_Port_Scan est généralement appelée dans un OB d'alarme cyclique pour éviter les dépassements de délai des entraînements et mettre les mises à jour les plus récentes des données USS à disposition des appels USS_Drive_Control .

Page 76: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 76 Manuel de programmation, 01/2013, A5E31625083-AA

Variables du bloc de données USS_Port_Scan Le tableau suivant montre les variables statiques publiques sauvegardées dans le bloc de données d'instance pour USS_Port_Scan pouvant être utilisées dans votre programme.

Tableau 3- 35 Variables statiques dans le bloc de données d'instance

Variable Type de données

Standard Description

MODE USInt 4 Mode de fonctionnement Les modes autorisés sont : • 0 = Duplex intégral (RS232) • 1 = Duplex intégral (RS422) mode 4 fils (point à point) • 2 = Duplex intégral (RS422), mode 4 fils (maître multipoint) • 3 = Duplex intégral (RS422), mode 4 fils (esclave multipoint) • 4 = Semi-duplex (RS485), mode 2 fils

LINE_PRE USInt 2 Préconfiguration de la ligne de réception Les préconfigurations autorisées sont : • 0 = "Aucune" préconfiguration • 1 = Signal R(A)=5V, signal R(B)=0 V (détection Break):

Cette préconfiguration permet la détection Break. Seulement sélectionnable si : "duplex intégral (RS422), mode 4 fils (couplage point à point)" et "duplex intégral (RS422), mode 4 fils (esclave multipoint)"

• 2 = Signal R(A)=0 V, signal R(B)=5 V : Cette préconfiguration correspond à l'état de repos (aucune opération d'émission active). Cette préconfiguration ne permet pas la détection de Break.

RETRIES_MAX SInt/Byte 2 Nombre de tentatives de répétition en cas d'erreurs de communication. Ce paramètre permet de définir le nombre de tentatives de répétition d'émission d'un télégramme de demande si le télégramme de réponse n'est pas reçu dans l'intervalle de temps paramétré.

Page 77: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 77

3.3.4 USS_Drive_Control : Préparer et afficher les données pour l'entraînement

Description L'instruction USS_Drive_Control prépare les données d'émission et évalue les données de réception de l'entraînement. Il faut utiliser une instance distincte de l'instruction pour chaque entraînement et toutes les fonctions USS affectées à un réseau USS et un port de communication point à point doivent utiliser le même bloc de données d'instance. Vous devez créer le nom du DB lorsque vous insérez la première instruction USS_Drive_Control ; vous faites ensuite appel au DB créé par la première utilisation de l'instruction.

STEP 7 crée automatiquement le DB lorsque vous ajoutez l'instruction.

Paramètres

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/WinAC

Standard Description

RUN IN Bool FALSE Bit de démarrage d'entraînement : Lorsque ce paramètre est TRUE, cette entrée permet le fonctionnement de l'entraînement à la vitesse prédéfinie. Lorsque RUN passe à FALSE pendant le fonctionnement d'un entraînement, le moteur décélère jusqu'à l'arrêt complet. Ce comportement diffère de l'arrêt électrique (OFF2) ou du freinage du moteur (OFF3).

OFF2 IN Bool FALSE Bit d'arrêt électrique : Lorsque ce paramètre est FALSE, ce bit permet à l'entraînement de tourner en roue libre jusqu'à l'arrêt sans freinage.

OFF3 IN Bool FALSE Bit d'arrêt rapide : Lorsque ce paramètre est FALSE, ce bit provoque un arrêt rapide par freinage de l'entraînement.

F_ACK IN Bool FALSE Bit d'acquittement de défaut : ce bit sert à réinitialiser le bit de défaut d'un entraînement. Le bit est mis à 1 après que le défaut a été corrigé afin de signaler à l'entraînement qu'il n'a plus besoin de signaler le défaut précédent.

DIR IN Bool FALSE Commande du sens de l'entraînement : ce bit est mis à 1 pour indiquer que le sens est la marche avant (pour SPEED_SP positif).

DRIVE IN USInt Byte 1 Adresse de l'entraînement : cette entrée est l'adresse de l'entraînement USS. La plage valide va de l'entraînement 1 à l'entraînement 16.

PZD_LEN IN USInt Byte 2 Longueur en mots : il s'agit du nombre de mots des données PZD. Les valeurs valides sont 2, 4, 6 ou 8 mots. La valeur par défaut est 2.

SPEED_SP IN Real 0.0 Consigne de vitesse : il s'agit de la vitesse de l'entraînement sous forme de pourcentage de la fréquence configurée. Une valeur positive correspond à une marche avant (lorsque DIR est vrai). La plage valide va de 200,00 à -200,00.

Page 78: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 78 Manuel de programmation, 01/2013, A5E31625083-AA

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/ WinAC

Standard Description

CTRL3 IN Word 0 Mot de commande 3 : valeur écrite dans un paramètre configurable de l'entraînement. Vous devez le configurer dans l'entraînement (paramètre facultatif).

CTRL4 IN Word 0 Mot de commande 4 : valeur écrite dans un paramètre configurable de l'entraînement. Vous devez le configurer dans l'entraînement (paramètre facultatif).

CTRL5 IN Word 0 Mot de commande 5 : valeur écrite dans un paramètre configurable de l'entraînement. Vous devez le configurer dans l'entraînement (paramètre facultatif).

CTRL6 IN Word 0 Mot de commande 6 : valeur écrite dans un paramètre configurable de l'entraînement. Vous devez le configurer dans l'entraînement (paramètre facultatif).

CTRL7 IN Word 0 Mot de commande 7 : valeur écrite dans un paramètre configurable de l'entraînement. Vous devez le configurer dans l'entraînement (paramètre facultatif).

CTRL8 IN Word 0 Mot de commande 8 : valeur écrite dans un paramètre configurable de l'entraînement. Vous devez le configurer dans l'entraînement (paramètre facultatif).

COM_RST IN/OUT --- Bool FALSE Initialisation de l'instruction USS_Drive_Control Avec 1, l'instruction est initialisée. Ensuite, COM_RST est remis à 0.

NDR OUT Bool FALSE Nouvelles données prêtes : lorsque ce paramètre est vrai, le bit signale que les sorties contiennent des données pour une nouvelle demande de communication.

ERROR OUT Bool FALSE Une erreur s'est produite : Si TRUE, signale qu'une erreur s'est produite et que la sortie STATUS est valide. Toutes les autres sorties sont mises à zéro en cas d'erreur. Les erreurs de communication sont signalées uniquement au niveau des sorties ERROR et STATUS de l'instruction USS_Port_Scan.

STATUS OUT Word 0

La valeur d'état de la demande indique le résultat du cycle. Il ne s'agit pas d'un mot d'état provenant de l'entraînement (voir Messages d'erreur (Page 89)).

RUN_EN OUT Bool FALSE Marche activée : ce bit signale si l'entraînement fonctionne ou non.

D_DIR OUT Bool FALSE Sens de l'entraînement : ce bit signale si l'entraînement fonctionne en marche avant ou non. • 0 = avant • 1 = arrière

INHIBIT OUT Bool FALSE Entraînement bloqué : ce bit indique l'état du bit de blocage dans l'entraînement. • 0 - non bloqué • 1 - bloqué

Page 79: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 79

Type de données Paramètres Décla-ration S7-

1200/1500 S7-

300/400/WinAC

Standard Description

FAULT OUT Bool FALSE Défaut de l'entraînement : ce bit signale que l'entraînement a enregistré un défaut. Vous devez résoudre le problème puis mettre le bit F_ACK à 1 pour effacer ce bit lorsqu'il a été mis à 1.

SPEED OUT Real 0.0 Vitesse en cours de l'entraînement (valeur mise à l'échelle du mot d'état d'entraînement 2) : il s'agit de la vitesse de l'entraînement sous forme de pourcentage de la vitesse configurée.

STATUS1 OUT Word 0 Mot d'état 1 de l'entraînement cette valeur contient des bits d'état fixes d'un entraînement.

STATUS3 OUT Word 0 Mot d'état 3 de l'entraînement cette valeur contient un mot d'état configurable de l'entraînement.

STATUS4 OUT Word 0 Mot d'état 4 de l'entraînement cette valeur contient un mot d'état configurable de l'entraînement.

STATUS5 OUT Word 0 Mot d'état 5 de l'entraînement cette valeur contient un mot d'état configurable de l'entraînement.

STATUS6 OUT Word 0 Mot d'état 6 de l'entraînement cette valeur contient un mot d'état configurable de l'entraînement.

STATUS7 OUT Word 0 Mot d'état 7 de l'entraînement cette valeur contient un mot d'état configurable de l'entraînement.

STATUS8 OUT Word 0 Mot d'état 8 de l'entraînement cette valeur contient un mot d'état configurable de l'entraînement.

Lors de l'exécution de la première instruction USS_Drive_Control, l'entraînement indiqué par l'adresse USS (paramètre DRIVE) est initialisé dans le bloc de données d'instance. Après )initialisation, les exécutions suivantes de USS_Port_Scan peuvent commencer la communication avec l'entraînement à ce numéro d'entraînement.

La modification du numéro d'entraînement nécessite un passage de la CPU de STOP à RUN afin d'initialiser le bloc de données d'instance. Les paramètres d'entrée sont écrits dans la mémoire tampon USS de message à émettre et les sorties sont lues d'une mémoire tampon de réponse valide "précédente" s'il en existe une. USS_Drive_Control ne fait que configurer les données à envoyer et interpréter les données éventuelles reçues d'une précédente demande.

Page 80: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 80 Manuel de programmation, 01/2013, A5E31625083-AA

Vous pouvez commander le sens de rotation de l'entraînement via l'entrée D_IR (Bool) ou via le signe (positif ou négatif) de l'entrée SPEED_SP (Real). Le tableau suivant montre comment ces entrées déterminent ensemble le sens de l'entraînement, dans l'hypothèse où le moteur est câblé pour une rotation avant.

Tableau 3- 36 Interaction entre les paramètres SPEED_SP et DIR

SPEED_SP DIR Sens de rotation de l'entraînement Valeur > 0 0 Arrière Valeur > 0 1 Avant Valeur < 0 0 Avant Valeur < 0 1 Arrière

Page 81: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 81

3.3.5 USS_Read_Param : lire des données de l'entraînement

Description L'instruction USS_Read_Param lit un paramètre provenant de l'entraînement. Toutes les fonctions USS affectées à un réseau USS et un port de communication point à point doivent utiliser le bloc de données d'instance de l'instruction USS_Drive_Control . Il faut appeler USS_Read_Param dans un OB de cycle de programme principal.

Paramètres

Type de données Para-mètres

Déclaration S7-

12001500 S7-

300/400/WinAC

Standard Description

REQ IN Bool – Un front montant sur REQ lance une nouvelle demande de lecture.

DRIVE IN USInt Byte – Adresse de l'entraînement : DRIVE est l'adresse de l'entraînement USS. La plage valide va de l'entraînement 1 à l'entraînement 16.

PARAM IN UInt – Numéro du paramètre : PARAM désigne le paramètre d'entraînement à écrire. La plage de ce paramètre est comprise entre 0 et 2047. Pour certains entraînements, l'octet de plus fort poids du paramètre INDEX permet d'accéder à des valeurs de paramètre supérieures à 2047. Vous trouverez plus de détails sur la manière d'accéder à une plage étendue dans le manuel de l'entraînement.

INDEX IN UInt – Indice du paramètre : INDEX désigne l'indice du paramètre d'entraînement à écrire. Il s'agit d'une valeur de 16 bits dans laquelle l'octet de poids faible est la valeur d'indice réelle avec une plage de 0 à 255. L'octet de poids fort peut être utilisé par l'entraînement et lui est spécifique. Consultez le manuel de l'entraînement pour plus de détails.

USS_DB INOUT USS_BASE – Le paramètre USS_DB doit être interconnecté avec le paramètre (statique) USS_DB du bloc de données d'instance qui est créé et initialisé lors de l'ajout d'une instruction USS_Drive_Control dans le programme.

DONE1 OUT Bool FALSE Si ce paramètre est TRUE, la sortie VALUE contient la valeur du paramètre de lecture demandée précédemment. Ce bit est mis à 1 lorsque USS_Drive_Control détecte les données de réponse de lecture provenant de l'entraînement. Ce bit est remis à zéro à l'appel suivant du USS_Read_Param .

ERROR OUT Bool FALSE Une erreur s'est produite : Lorsque TRUE, ERROR signale qu'une erreur s'est produite et que la sortie STATUS est valide. Toutes les autres sorties sont mises à zéro en cas d'erreur. Les erreurs de communication sont signalées uniquement au niveau des sorties ERROR et STATUS de l'instruction USS_Port_Scan.

Page 82: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 82 Manuel de programmation, 01/2013, A5E31625083-AA

Type de données Para-mètres

Déclaration S7-

12001500 S7-

300/400/ WinAC

Standard Description

STATUS OUT Word 0 STATUS indique le résultat de la demande de lecture. Des informations supplémentaires sont disponibles dans la variable "USS_Extended_Error" pour certains codes d'état (voir Messages d'erreur (Page 89)).

VALUE OUT Variant (Word, Int, UInt, DWord, DInt, UDInt, Real)

Any (Word, Int, UInt, DWord, DInt, UDInt, Real)

– Il s'agit de la valeur du paramètre qui a été lue et qui est uniquement valide lorsque le bit DONE est vrai.

1 Le bit DON Eindique que des données valides ont été lues dans l'entraînement de moteur référencé et transmises à la CPU. Il ne signifie pas que la bibliothèque USS est capable de lire immédiatement un autre paramètre. Une demande de lecture vide doit être envoyée à l'entraînement et doit également être acquittée par l'instruction avant que la voie de paramètre pour l'entraînement spécifique ne soit mise à disposition L'appel immédiat d'une instruction USS_Read_Param ou USS_Write_Param pour l'entraînement spécifié provoque une erreur 0x818A.

Page 83: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 83

3.3.6 USS_Write_Param : modifier des données dans un entraînement

Remarque Pour les instructions d'écriture en EEPROM (EEPROM dans un entraînement USS) :

Réduisez autant que possible le nombre d'opérations d'écriture en EEPROM pour allonger la durée de vie de l'EEPROM.

Description L'instruction USS_Write_Param modifie un paramètre dans l'entraînement. Toutes les fonctions USS associées à un réseau USS et un port de communication point à point doivent utiliser le bloc de données d'instance du USS_Drive_Control.

Il faut appeler USS_Write_Param dans un OB de cycle de programme principal.

Paramètres

Tableau 3- 37 Types de données pour les paramètres

Type de données Para-mètres

Déclaration

S7- 1200/1500

S7-300/400/WinAC

Standard Description

REQ IN Bool – Un front montant sur REQ lance une nouvelle demande d'écriture.

DRIVE IN USInt Byte – Adresse de l'entraînement : DRIVE est l'adresse de l'entraînement USS. La plage valide va de l'entraînement 1 à l'entraînement 16.

PARAM IN UInt – Numéro du paramètre : PARAM désigne le paramètre d'entraînement à écrire. La plage de ce paramètre est comprise entre 0 et 2047. Pour certains entraînements, l'octet de plus fort poids du paramètre INDEX permet d'accéder à des valeurs de paramètre supérieures à 2047. Vous trouverez plus de détails sur la manière d'accéder à une plage étendue dans le manuel de l'entraînement.

INDEX IN UInt – Indice du paramètre : INDEX désigne l'indice du paramètre d'entraînement à écrire. Il s'agit d'une valeur de 16 bits dans laquelle l'octet de poids faible est la valeur d'indice réelle avec une plage de 0 à 255. L'octet de poids fort peut être utilisé par l'entraînement et lui est spécifique. Consultez le manuel de l'entraînement pour plus de détails.

Page 84: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 84 Manuel de programmation, 01/2013, A5E31625083-AA

Type de données Para-mètres

Déclaration

S7- 1200/1500

S7-300/400/ WinAC

Standard Description

EEPROM IN Bool – Stockage dans l'EEPROM : Lorsque TRUE, une transaction d'écriture dans le paramètre de l'entraînement est stockée dans l'EEPROM de l'entraînement. Lorsque FALSE, l'écriture est temporaire et ne sera pas conservée en cas de mise hors tension puis sous tension de l'entraînement.

VALUE IN Variant (Word, Int, UInt, DWord, DInt, UDInt, Real)

Any (Word, Int, UInt, DWord, DInt, UDInt, Real)

– Valeur du paramètre qui doit être écrite. Elle doit être valide lors du front montant de REQ.

USS_DB INOUT USS_BASE – Le paramètre USS_DB doit être interconnecté avec le paramètre (statique) USS_DB du bloc de données d'instance qui est créé et initialisé lors de l'ajout d'une instruction USS_Drive_Control dans le programme.

DONE1 OUT Bool FALSE Lorsque TRUE, DONE signale que l'entrée VALUE a été écrite dans l'entraînement. Ce bit est mis à 1 lorsque l'instruction USS_Drive_Control reconnaît la réponse d'écriture provenant de l'entraînement. Ce bit est remis à zéro à l'appel suivant du USS_Write_Param.

ERROR OUT Bool FALSE Lorsque TRUE, ERROR signale qu'une erreur s'est produite et que la sortie STATUS est valide. Toutes les autres sorties sont mises à zéro en cas d'erreur. Les erreurs de communication sont signalées uniquement au niveau des sorties ERROR et STATUS de l'instruction USS_Port_Scan .

STATUS OUT Word 0 STATUS indique le résultat de la demande d'écriture. Des informations supplémentaires sont disponibles dans la variable "USS_Extended_Error" pour certains codes d'état (voir Messages d'erreur (Page 89)).

1 Le bit DONEindique que des données valides ont été lues dans l'entraînement de moteur référencé et transmises à la CPU. Il ne signifie pas que la bibliothèque USS est capable de lire immédiatement un autre paramètre. Une demande d'écriture vide doit être envoyée à l'entraînement et doit également être acquittée par l'instruction avant que la voie de paramètre pour l'entraînement spécifique ne soit mise à disposition L'appel immédiat d'une instruction USS_Read_Param ou FC USS_Write_Param pour l'entraînement spécifié provoque une erreur 0x818A.

Page 85: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 85

3.3.7 Informations générales sur la configuration d'un entraînement

Exigences générales pour la configuration d'un entraînement ● Les entraînements doivent être paramétrés pour utiliser 4 mots PKW

(Parameterkennungswert, pour valeur d'identification de paramètre).

● Les entraînements peuvent être configurés pour 2, 4, 6 ou 8 mots PZD (Prozessdatenbereich, pour plage de données de process).

● Le nombre de mots PZD dans l'entraînement doit correspondre à l'entrée PZD_LEN dans l'instruction USS_Drive_Control de cet entraînement.

● La vitesse de transmission dans tous les entraînements doit coïncider avec l'entrée Bits/s dans l'instruction USS_Port_Scan.

● La commande à distance doit être activée pour l'entraînement.

● La consigne de fréquence à USS sur la liaison COM doit être sélectionnée pour l'entraînement.

● L'adresse de l'entraînement doit être définie entre 1 et 16. L'adresse doit correspondre à l'entrée DRIVE dans le bloc USS_Drive_Control de l'entraînement.

● La commande du sens de l'entraînement doit utiliser la polarité de la consigne de l'entraînement.

● Le réseau RS485 doit être muni de résistances de terminaison appropriées.

Connexion d'un entraînement MicroMaster Ces informations sur les entraînements SIEMENS MicroMaster sont données à titre d'exemple. Pour les autres entraînements, consultez les instructions de configuration dans le manuel de l'entraînement.

Pour effectuer la connexion à un entraînement MicroMaster série 4 (MM4), insérez les extrémités du câble RS485 dans les deux bornes sans vis à bride gainée fournies pour l'exploitation USS. Vous pouvez utiliser un câble et des connecteurs PROFIBUS standard pour connecter le S7-1200/1500 à l'entraînement MicroMaster.

IMPORTANT Le fait d'interconnecter des appareils ayant des potentiels de référence différents peut provoquer des flux de courant indésirables via le câble de liaison.

Ces courants indésirables peuvent entraîner des erreurs de communication ou endommager les appareils. Assurez-vous que tous les matériels que vous allez connecter avec un câble de communication partagent un même potentiel de référence ou qu'ils sont isolés afin d'empêcher les flux de courant indésirables. Le blindage doit être relié à la terre du châssis ou à la broche 1 du connecteur à 9 broches. Nous vous recommandons de relier la borne de câblage 2-0V de l'entraînement MicroMaster à la terre du châssis.

Page 86: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 86 Manuel de programmation, 01/2013, A5E31625083-AA

Insérez les deux fils à l'extrémité opposée du câble RS485 dans les borniers de l'entraînement MM4. Pour brancher le câble sur un entraînement MM4, vous devez enlever le(s) volet(s) de l'entraînement afin d'accéder aux borniers. Vous trouverez dans le guide de l'utilisateur de l'entraînement MM4 plus d'informations sur la façon d'ôter le(s) volet(s) de protection de votre entraînement spécifique.

Les connexions des borniers sont numérotées. Avec un connecteur PROFIBUS côté S7-1200/1500, connectez la borne A du câble à la borne 15 d'un entraînement MM420 ou à la borne 30 d'un entraînement MM440. Connectez la borne B (P) A (N) du connecteur de câble à la borne 14 de l'entraînement MM420 ou à la borne 29 de l'entraînement MM440.

Si le S7-1200/1500 constitue un nœud de terminaison dans le réseau ou s'il s'agit d'une liaison point à point, il faut utiliser les bornes A1 et B1 (et non les bornes A2 et B2) du connecteur puisqu'elles permettent de régler les paramétrages de terminaison (par exemple, avec le type de connecteur DP 6ES7972-0BA40-0X40).

IMPORTANT Monter les volets de protection de l'entraînement

Veillez à replacer correctement les volets de protection des entraînements avant de mettre l'appareil sous tension.

Si l'entraînement est configuré comme le nœud de terminaison dans le réseau, des résistances de terminaison et de polarisation doivent également être raccordées aux bornes appropriées. Ce schéma montre des exemples de raccordements d'entraînement MM4 nécessaires pour la terminaison et la polarisation.

14

15

2

1

120 Ω

470 Ω1.5 kΩ

MM420

N

P

0 V

+10 V

29

30

2

1

120 Ω

470 Ω1.5 kΩ

MM440

N

P

0 V

+10 V

Page 87: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 87

Configuration de l'entraînement MicroMaster série 4 Avant de connecter un entraînement au S7-1200/1500, assurez-vous que l'entraînement a les paramètres système suivants. Servez-vous du clavier de l'entraînement pour définir les paramètres.

1. Restaurez les paramètres d'usine de

l'entraînement (facultatif). P0010 = 30 P0970 = 1

Si vous sautez l'étape 1, assurez-vous que ces paramètres sont définis aux valeurs indiquées.

Longueur USS PZD = P2012 Index 0 = (2, 4, 6 ou 8) Longueur USS PKW = P2013 Index 0 = 4

2. Activez l'accès en lecture/écriture à tous les paramètres (mode expert).

P0003 = 3

3. Vérifiez les paramètres du moteur pour votre entraînement. Ces paramètres varient selon le moteur utilisé. Pour pouvoir définir les paramètres P304, P305, P307, P310 et P311, vous devez d'abord définir le paramètre P010 à 1 (mode de mise en marche rapide). Une fois que le paramètre est réglé, mettre le paramètre P010 à 0. Les paramètres P304, P305, P307, P310 et P311 sont modifiables uniquement en mode de mise en marche rapide.

P0304 = Tension moteur nominale (V) P0305 = Courant moteur nominal (A) P0307 = Puissance moteur nominale (W) P0310 = Fréquence moteur nominale (Hz) P0311 = Vitesse moteur nominale

4. Définissez le mode de commande à local ou à éloigné.

P0700 Index 0 = 5

5. Définissez la sélection de la consigne de fréquence à USS sur la liaison COM.

P1000 Index 0 = 5

6. Temps d'accélération (facultatif) Il s'agit de la durée en secondes nécessaire au moteur pour accélérer jusqu'à la fréquence maximale.

P1120 = (0 à 650,00)

7. Temps de décélération (facultatif) Il s'agit de la durée en secondes nécessaire au moteur pour décélérer jusqu'à l'arrêt complet.

P1121 = (0 à 650,00)

8. Définissez la fréquence de référence de la liaison série.

P2000 = (1 à 650 Hz)

9. Définissez la normalisation USS. P2009 Index 0 = 0 10. Définissez le débit de l'interface série RS485 : P2010 Index 0 = 4 (2400 Bit/s)

5 (4800 Bit/s) 6 (9600 Bit/s) 7 (19200 Bit/s 8 (38400 Bit/s) 9 (57600 Bit/s) 12 (115200 Bit/s)

11. Entrez l'adresse de l'esclave. Chaque entraînement (31 au maximum) peut être commandé par l'intermédiaire du bus.

P2011 Index 0 = (0 à 31)

Page 88: 1 Introduction 2 Programmation

Programmation - communication via des instructions 3.3 USS

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 88 Manuel de programmation, 01/2013, A5E31625083-AA

12. Définissez le délai d'attente de la liaison série. Il s'agit de la durée maximale autorisée entre deux télégrammes de données entrants. Cette fonction sert à désactiver l'inverseur en cas d'échec de communication. Le décompte commence une fois un télégramme de données valable reçu. Si un autre télégramme de données n'est pas reçu pendant l'intervalle de temps indiqué, l'inverseur se déclenche et affiche le code d'erreur F0070. Mettre la valeur à zéro désactive la commande.

P2014 Index 0 = (0 à 65535 ms) 0 = timeout désactivé

13. Transférez les données de la RAM en EEPROM.

P0971 = 1 (démarrer le transfert). Enregistrez en EEPROM les modifications apportées aux valeurs des paramètres.

Page 89: 1 Introduction 2 Programmation

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 89

Messages d'erreur 4

Vue d'ensemble des messages d'erreur - PtP Les messages d'erreur sont chaque fois préparés à la sortie STATUS d'une instruction et peuvent être exploités là ou traités dans le programme utilisateur.

Code d'erreur

Description Solution

0x0000 Pas d'erreur - Etat RECEIVE et codes d'erreur 0x0094 Fin de télégramme détectée par réception d'une

longueur fixe/maximale de télégramme -

0x0095 Fin de télégramme détectée par dépassement du temps de message

-

0x0096 Fin de télégramme détectée par expiration du délai inter-caractère

-

0x0097 Le télégramme a été interrompu, car le temps de réponse maximal a été atteint.

-

0x0098 Fin de télégramme détectée car les conditions de lecture de la longueur de message dans le message sont remplies.

-

0x0099 Fin de télégramme détectée par réception de la séquence de fin

-

Etat SEND et codes d'erreur 0x7000 Bloc en marche à vide - 0x7001 Premier appel d'un nouveau télégramme :

déclenchement de la transmission de données -

0x7002 Appel intermédiaire : la transmission de données s'exécute

-

0x8085 Indication de longueur incorrecte Sélectionnez une longueur de télégramme appropriée. Les valeurs autorisées sont selon le module : 1-1024/2048/4096 (Byte)

0x8088 Indication de longueur supérieure à la zone paramétrée dans le tampon de réception. Nota : Si on a spécifié sur le paramètre BUFFER le type de données STRING, ce code d'erreur s'affiche également si la longueur de la chaîne est inférieure à la valeur définie au paramètre LENGTH.

Modifiez la zone dans le tampon de réception ou choisissez une longueur de télégramme appropriée, compatible avec la zone paramétrée dans le tampon de réception. Les valeurs autorisées sont selon le module : 1-1024/2048/4096 (Byte)

Page 90: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 90 Manuel de programmation, 01/2013, A5E31625083-AA

Code d'erreur

Description Solution

Etat RECEIVE et codes d'erreur 0x8088 Le nombre de caractères reçus est supérieur à la

valeur spécifiée au paramètre BUFFER. Sélectionnez une longueur de télégramme appropriée. Les valeurs autorisées sont selon le module : 1-1024/2048/4096 (Byte)

Codes d'erreur des fonctions spéciales 0x818F Mauvaise configuration du numéro de paramètre

(uniquement pour USS) Sélectionnez un numéro de télégramme approprié (PARAM). Les valeurs autorisées sont : 0-2047

0x8190 Paramétrage incorrect du calcul du CRC Sélectionnez une valeur appropriée pour le calcul du CRC. Les valeurs autorisées sont : désactivé ou activé. Vérifiez que le module adressé prend en charge le calcul CRC.

0x8191 Paramétrage incorrect de l'alarme de diagnostic Sélectionnez une valeur appropriée pour "alarme de diagnostic". Les valeurs autorisées sont : alarme de diagnostic désactivée ou alarme de diagnostic activée. Vérifiez que le module adressé prend en charge la génération des alarmes de diagnostic.

Codes d'erreur de la configuration de port 0x81A0 Le module ne prend pas ce protocole en charge. Sélectionnez un protocole autorisé pour le module

(PROTOCOL). 0x81A1 Le module ne prend pas en charge cette vitesse de

transmission de données. Sélectionnez une vitesse de transmission de données autorisée pour le module (BAUD).

0x81A2 Le module ne prend pas en charge ce paramétrage de parité.

Sélectionnez une valeur appropriée pour la parité (PARITY). Les valeurs autorisées sont : • Aucune parité (1) • Parité paire (2) • Parité impaire (3) • Parité marque (4) • Parité espace (5) • Quelconque (6)

0x81A3 Le module ne prend pas en charge ce nombre de bits de données.

Sélectionnez une valeur appropriée pour le nombre de bits de données (DATABITS). Les valeurs autorisées sont : • 7 (2) • 8 (1)

0x81A4 Le module ne prend pas en charge ce nombre de bits d'arrêt.

Sélectionnez une valeur appropriée pour le nombre de bits d'arrêt (STOPBITS). Les valeurs autorisées sont : • 1 (1) • 2 (2)

Page 91: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 91

Code d'erreur

Description Solution

0x81A5 Le module ne prend pas en charge ce type de contrôle du flux de données.

Sélectionnez un contrôle du flux de données autorisé pour le module (FLOWCTRL).

0x81A7 Valeur incorrecte pour XON ou XOFF Sélectionnez des valeurs appropriées pour XON (XONCHAR) et XOFF (XOFFCHAR). Plage de valeurs autorisée : 0...255

0x81AA Mode de fonctionnement illicite Les modes autorisés sont : • Duplex intégral (RS232) (0) • Duplex intégral (RS422) mode 4 fils (point à

point) (1) / (CM PtP (ET 200SP)) • Duplex intégral (RS422), mode 4 fils (maître

multipoint) (2) / (CM PtP (ET 200SP)) • Duplex intégral (RS422), mode 4 fils (esclave

multipoint) (3) • Semi-duplex (RS485), mode 2 fils (4)

0x81AB Préconfiguration incorrecte de la ligne de réception Les préconfigurations autorisées sont : • "Aucune" préconfiguration (0) • Signal R(A)=5V, signal R(B)=0 V (détection

Break) (1) : Seulement sélectionnable si : "duplex intégral (RS422), mode 4 fils (couplage point à point)" et "duplex intégral (RS422), mode 4 fils (esclave multipoint)"

• Signal R(A)=0 V, signal R(B)=5 V (2) : Cette préconfiguration correspond à l'état de repos (aucune émission active).

0x81AC Valeur incorrecte pour "Détection de Break" Sélectionnez une valeur appropriée pour "Détection de Break". Les valeurs autorisées sont : • Détection de Break désactivée (0) • Détection de Break activée (1).

0x81AF Le module ne prend pas ce protocole en charge. Sélectionnez un protocole autorisé pour le module. Codes d'erreur de la configuration d'émission 0x81B5 Plus de 2 caractères de fin ou

séquence de fin > 5 caractères Sélectionnez des valeurs appropriées pour les caractères de fin et la séquence de fin. Les valeurs autorisées sont : • désactivé (0) • 1 (1) ou 2 (2) caractères de fin ou • désactivé (0) • 1 (1) à 5 (5) caractères pour la séquence de fin.

0x81B6 Configuration d'émission rejetée, car le protocole 3964(R) est sélectionné.

Veillez à ce qu'aucune configuration d'émission ne soit envoyée quand le protocole 3964(R) est sélectionné.

Page 92: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 92 Manuel de programmation, 01/2013, A5E31625083-AA

Code d'erreur

Description Solution

Codes d'erreur de la configuration de réception 0x81C0 Condition de début incorrecte Sélectionnez une condition de début appropriée.

Les valeurs autorisées sont : • Emettre Break avant le début d'un télégramme • envoi d'un signal Idle Line

0x81C1 Condition de fin incorrecte ou aucune condition de fin sélectionnée

Sélectionnez une condition de fin appropriée (voir Auto-Hotspot).

0x81C3 Valeur incorrecte pour la longueur maximale du message

Sélectionnez une valeur appropriée pour la longueur maximale du message (MAXLEN). La plage de valeurs autorisée est selon le module : 1-1024/2048/4096 (Byte)

0x81C4 Valeur incorrecte pour le décalage du champ de longueur dans le message

Sélectionnez une valeur appropriée pour le décalage du champ de longueur dans le message. La plage de valeurs autorisée est selon le module : 1-1024/2048/4096 (Byte)

0x81C5 Valeur incorrecte pour la taille du champ de longueur Sélectionnez une valeur appropriée pour la taille du champ de longueur (LENGTHSIZE). Plage de valeurs autorisée en octets : • 1 (1) • 2 (2) • 4 (4)

0x81C6 Valeur incorrecte pour le nombre de caractères ne faisant pas partie de l'indication de longueur

Sélectionnez une valeur appropriée pour le nombre de caractères ne faisant pas partie de l'indication de longueur (LENGTHM). Plage de valeurs autorisée : 0 à 255 (octets)

0x81C7 La somme "décalage dans le message + taille du champ de longueur + nombre de caractères ne faisant pas partie de l'indication de longueur" est supérieure à la longueur maximale de télégramme.

Sélectionnez des valeurs appropriées pour le décalage dans le message, la taille du champ de longueur et le nombre de caractères ne faisant pas partie de l'indication de longueur. Plage de valeurs autorisée : • Décalage dans le message (selon le module) :

0-1024/2048/4096 (Byte) • Taille du champ de longueur : 1, 2 ou 4 (octets) • Nombre de caractères ne faisant pas partie de

l'indication de longueur : 0 à 255 (octets)

0x81C8 Valeur incorrecte pour le dépassement du temps de réponse

Sélectionnez une valeur appropriée pour le dépassement du temps de réponse. Plage de valeurs autorisée : 1-65535 ms)

0x81C9 Valeur incorrecte pour le délai inter-caractère Sélectionnez une valeur appropriée pour le délai inter-caractère. Plage de valeurs autorisée : 1-65535 (temps de bit)

0x81CB Séquence de fin de télégramme activée mais aucun des caractères n'est activé pour le contrôle.

Activez un ou plusieurs caractères pour le contrôle.

Page 93: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 93

Code d'erreur

Description Solution

0x81CC Séquence de début de télégramme activée mais aucun des caractères n'est activé pour le contrôle.

Activez un ou plusieurs caractères pour le contrôle.

0x81CD Valeur incorrecte pour "Empêcher l'écrasement" Sélectionnez une valeur appropriée pour "Empêcher l'écrasement". Les valeurs autorisées sont : • "Empêcher l'écrasement" désactivé (0) • "Empêcher l'écrasement" activé (1)

0x81CE Valeur incorrecte pour "Effacer le tampon de réception au démarrage"

Sélectionnez une valeur appropriée pour "Effacer le tampon de réception au démarrage". Les valeurs autorisées sont : • "Effacer le tampon réception au démarrage"

désactivé (0) • "Effacer le tampon réception au démarrage"

activé (1)

Etat SEND et codes d'erreur 0x81D0 Demande d'émission reçue pendant l'exécution d'une

tâche d'émission Veillez à ce qu'il n'y ait pas de demande d'émission pendant l'exécution d'une autre tâche d'émission.

0x81D1 Le temps d'attente de XON ou CTS = ON est écoulé. Le partenaire de communication est défaillant, trop lent ou hors ligne. Vérifiez le partenaire de communication ou modifiez éventuellement le paramétrage.

0x81D2 "Matériel RTS toujours ON : tâche d'émission interrompue car passage de DSR = ON à OFF

Contrôlez le partenaire de communication. Veillez à ce que DSR reste à ON pendant toute la transmission.

0x81D3 Débordement du tampon d'émission / télégramme d'émission trop grand

Sélectionnez une longueur de télégramme plus courte. Les valeurs autorisées sont selon le module : 1-1024/2048/4096 (octet)

0x81D5 Transmission annulée, car le paramétrage a été modifié, une rupture de fil a été détectée ou la CPU est à l'état STOP

Vérifiez le paramétrage, la rupture de fil et l'état de la CPU.

0x81D6 Transmission annulée, car aucun caractère de fin n'a été reçu.

Vérifiez le paramétrage des caractères de fin et le télégramme du partenaire de communication.

0x81D7 Communication défaillante entre le programme utilisateur et le module

Vérifiez la communication (par ex. correspondance des numéros de séquence).

0x81D8 Tentative de transmission rejetée, car le module n'est pas paramétré.

Paramétrez le module.

Page 94: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 94 Manuel de programmation, 01/2013, A5E31625083-AA

Code d'erreur

Description Solution

Codes d'erreur de la configuration de réception 0x81E0 Télégramme interrompu : débordement du tampon

d'émission / télégramme d'émission trop grand Appelez plus souvent la fonction de réception dans le programme utilisateur ou paramétrez une communication avec le contrôle du flux de données.

0x81E1 Télégramme interrompu : erreur de parité Vérifiez la ligne de raccordement des partenaires de communication ou vérifiez si les paramétrages de la vitesse de transmission, de la parité et du nombre de bits d'arrêt sont les mêmes sur les deux appareils.

0x81E2 Télégramme interrompu : erreur de trame de caractère

Vérifiez les paramétrages pour le bit de début, les bits de données, le bit de parité, la vitesse de transmission et le ou les bits d'arrêt.

0x81E3 Télégramme interrompu : erreur de débordement de caractères

Erreur de firmware : Adressez-vous au service client.

0x81E4 Télégramme interrompu : la longueur "décalage dans le message + taille du champ de longueur + nombre de caractères ne faisant pas partie de l'indication de longueur" est supérieure à celle du tampon de réception.

Vérifiez les paramétrages pour le décalage dans le message, la taille du champ de longueur et le nombre de caractères ne faisant pas partie de l'indication de longueur.

0x81E5 Télégramme interrompu : Break La ligne de réception au partenaire est interrompue. Rétablissez la liaison ou mettez le partenaire en marche.

0x81E6 Nombre maximal de télégrammes de réception mis en tampon dépassé

Appelez l'instruction plus souvent dans le programme utilisateur ou paramétrez une communication avec le contrôle du flux de données ou augmentez le nombre de télégrammes mis en mémoire tampon.

0x81E8 Télégramme interrompu : le délai inter-caractère a expiré avant que le critère de fin de message n'ait été détecté.

L'appareil du partenaire est trop lent ou défectueux. Contrôlez l'appareil éventuellement à l'aide d'un testeur d'interface branché sur la ligne de transmission.

0x81E9 Erreur de CRC Modbus (uniquement les modules de communication qui prennent Modbus en charge)

Erreur de total de contrôle du télégramme Modbus. Contrôlez le partenaire de communication.

0x81EA Télégramme Modbus trop court (uniquement les modules de communication qui prennent Modbus en charge)

Dépassement de la longueur minimale du télégramme Modbus. Contrôlez le partenaire de communication.

0x81EB Télégramme interrompu : longueur de télégramme maximale atteinte

Sélectionnez une longueur de télégramme plus courte sur le partenaire de communication. Les valeurs autorisées sont selon le module : 1-1024/2048/4096 (Byte) Vérifiez les paramètres de la détection de la fin d'un télégramme.

Page 95: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 95

Code d'erreur

Description Solution

Codes d'erreur des signaux d'accompagnement V24 0x81F0 Le module ne prend pas en charge les signaux

d'accompagnement V24 Vous avez essayé de paramétrer les signaux d'accompagnement pour un module qui ne prend pas de signal d'accompagnement V24 en charge. Assurez-vous qu'il s'agit d'un module RS232 ou que le mode RS232 (ET 200SP) est activé.

0x81F1 Pas de commande des signaux d'accompagnement V24

Si le contrôle matériel du flux de données est actif, les signaux d'accompagnement V24 ne peuvent pas être commandés manuellement.

Codes d'erreur de la configuration de réception 0x8201 1) BUFFER est un pointeur sur un type de données

interdit Saisissez un pointeur sur un des types de données suivants : DB, BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME, STRING

0x8225 BUFFER pointe sur une zone de mémoire optimisée supérieure à 1 koctet ou BUFFER pointe sur une zone de mémoire optimisée et la longueur de réception est supérieure à la zone adressée par BUFFER.

Saisissez un pointeur sur une zone d'une longueur maximale suivante : • Zone de mémoire optimisée : 1 kByte • Zone non optimisée 4 kByte Nota : Si le pointeur est fixé sur une zone de mémoire optimisée, n'envoyez pas plus de 1 kByte.

0x8229 1) BUFFER est un pointeur sur BOOL avec un nombre de bits différent de n * 8

Si on utilise un pointeur sur BOOL, le nombre de bits doit être un multiple de 8.

Codes d'erreur généraux 0x8280 Acquittement négatif lors de la lecture du module Vérifiez l'entrée sur le paramètre PORT

Pour plus d'informations sur l'origine de l'erreur, consulter les paramètres statiques RDREC.STATUS et la description du SFB RDREC.

0x8281 Acquittement négatif lors de l'écriture du module Vérifiez l'entrée sur le paramètre PORT Pour plus d'informations sur l'origine de l'erreur, consulter les paramètres statiques WRREC.STATUS et la description du SFB WRREC.

0x8282 Module non disponible Vérifiez l'entrée sur le paramètre PORT et assurez-vous que le module est disponible.

Page 96: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 96 Manuel de programmation, 01/2013, A5E31625083-AA

Code d'erreur

Description Solution

Codes d'erreur de la configuration de réception 0x82C1 Valeur incorrecte pour "Télégrammes de réception

mis en tampon" Sélectionnez une valeur appropriée pour "Télégrammes de réception mis en tampon". Plage de valeurs autorisée : 1-255

0x82C2 Configuration de réception rejetée, car le protocole 3964(R) est sélectionné.

Veillez à ce qu'aucune configuration de réception ne soit envoyée quand le protocole 3964(R) est sélectionné.

0x8301 1) BUFFER est un pointeur sur un type de données interdit

Sélectionnez un type de données autorisé. Les valeurs autorisées sont : DB, BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME, STRING

0x8322 Erreur de longueur de plage lors de la lecture d'un paramètre

Vérifiez l'entrée sur le paramètre BUFFER

0x8324 Erreur de plage lors de l'écriture d'un paramètre Vérifiez l'entrée sur le paramètre BUFFER 0x8328 Erreur de réglage lors de la lecture d'un paramètre Vérifiez l'entrée sur le paramètre BUFFER Codes d'erreur de la configuration d'émission 0x8328 1) BUFFER est un pointeur sur BOOL avec un nombre

de bits différent de n * 8 Si on utilise un pointeur sur BOOL, le nombre de bits doit être un multiple de 8.

Codes d'erreur de la configuration de réception 0x8332 Bloc de données incorrect sur le paramètre

Receive_Conditions Vérifiez l'entrée sur le paramètre Receive_Conditions

0x833A La description du bloc de données sur le paramètre BUFFER renvoie à un bloc de données non chargé.

Vérifiez l'entrée sur le paramètre BUFFER

0x8351 Type de données inadmissible Vérifiez l'entrée sur le paramètre BUFFER 0x8352 1) Receive_Conditions ne désigne pas un bloc de

données Vérifiez le pointeur sur Receive_Conditions

0x8353 1) Receive_Conditions ne pointe pas vers une structure du type : Receive_Conditions

Vérifiez le pointeur sur Receive_Conditions

Codes d'erreur du protocole 3964(R) 0x8380 Erreur de paramétrage : valeur incorrecte pour le

délai inter-caractère Sélectionnez une valeur appropriée pour le délai inter-caractère (CharacterDelayTime). Plage de valeurs autorisée : 1-65535 ms)

0x8381 Erreur de paramétrage : valeur incorrecte pour le dépassement du temps de réponse

Sélectionnez une valeur appropriée pour le dépassement du temps de réponse (AcknDelayTime). Plage de valeurs autorisée : 1-65535 ms)

0x8382 Erreur de paramétrage : valeur incorrecte pour la priorité

Sélectionnez une valeur appropriée pour la priorité (Priority). Les valeurs autorisées sont : • Haute (1) • Basse (0)

Page 97: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 97

Code d'erreur

Description Solution

0x8383 Erreur de paramétrage : valeur incorrecte pour le contrôle de bloc

Sélectionnez une valeur appropriée pour le contrôle de bloc (BCC). Les valeurs autorisées sont : • avec contrôle de bloc (1) • sans contrôle de bloc (0)

0x8384 Erreur de paramétrage : valeur incorrecte pour "Tentatives d'établissement de la liaison"

Sélectionnez une valeur appropriée pour "Tentatives d'établissement de la liaison" (BuildupAttempts). Plage de valeurs autorisée : 1-255

0x8385 Erreur de paramétrage : valeur incorrecte pour "Tentatives de transmission"

Sélectionnez une valeur appropriée pour "Tentatives de transmission" (RepetitionAttempts). Plage de valeurs autorisée : 1-255

0x8386 Erreur à l'exécution : nombre de tentatives d'établissement de liaison dépassé

Contrôlez le câble d'interface et les paramètres de transmission. Contrôlez aussi si la fonction de réception est correctement paramétrée chez le partenaire.

0x8387 Erreur à l'exécution : nombre de tentatives de transmission dépassé

Contrôlez le câble d'interface, les paramètres de transmission et le paramétrage du partenaire de communication.

0x8388 Erreur à l'exécution : Erreur dans le caractère de contrôle de bloc La valeur du caractère de contrôle de bloc calculée en interne ne concorde pas avec le caractère de contrôle de bloc reçu du partenaire à l'extrémité de la liaison.

Vérifiez si la liaison est fortement perturbée ; dans ce cas, des codes d'erreur peuvent se produire. Vérifiez que l'appareil partenaire fonctionne correctement, éventuellement à l'aide d'un testeur d'interface branché sur la ligne de transmission.

0x8389 Erreur à l'exécution : caractère incorrect reçu alors qu'on attendait un tampon de réception libre.

La réponse à la demande d'émission du partenaire de communication (STX, 02H) se fait seulement avec un DLE lorsque le tampon de réception est vide. Avant cela, aucun autre caractère ne peut être reçu (sauf nouveau STX). Vérifiez que l'appareil partenaire fonctionne correctement, éventuellement à l'aide d'un testeur d'interface branché sur la ligne de transmission.

0x838A Erreur à l'exécution : erreur logique durant la réception après réception de DLE, un autre caractère (n'importe lequel mais pas DLE, ETX) a été reçu.

Vérifiez si le partenaire double toujours le DLE dans l'en-tête de télégramme et dans la chaîne de données ou si la liaison est coupée avec DLE ETX. Vérifiez que l'appareil partenaire fonctionne correctement, éventuellement à l'aide d'un testeur d'interface branché sur la ligne de transmission.

0x838B Erreur à l'exécution : délai intercaractère dépassé L'appareil du partenaire est trop lent ou défaillant. Contrôlez cela éventuellement à l'aide d'un testeur d'interface branché sur la ligne de transmission.

0x838C Erreur à l'exécution : temps d'attente de tampon de réception libre démarré

Appelez l'instruction plus souvent dans le programme utilisateur ou paramétrez une communication avec le contrôle du flux de données.

0x838D Erreur à l'exécution : après NAK, la répétition de télégramme n'a pas commencé dans le délai de 4 s.

Contrôlez le partenaire de communication. Un télégramme éventuellement mal reçu doit être répété par le partenaire dans un délai de 4 secondes.

Page 98: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 98 Manuel de programmation, 01/2013, A5E31625083-AA

Code d'erreur

Description Solution

0x838E Erreur à l'exécution : un ou plusieurs caractères (sauf NAK et STX) ont été reçus au repos.

Vérifiez que l'appareil partenaire fonctionne correctement, éventuellement à l'aide d'un testeur d'interface branché sur la ligne de transmission.

0x838F Erreur à l'exécution : conflit d'initialisation. Les deux partenaires sont réglés tous deux à "priorité élevée".

Réglez la priorité de l'un des partenaires à basse.

0x8391 Erreur de paramétrage : données de paramétrage 3964 rejetées, car Freeport est activé

Veillez à ce qu'aucune donnée de paramétrage 3964 ne soit envoyée quand Freeport est activé.

1) Uniquement les instructions pour les CPU S7-300/400

Page 99: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 99

Vue d'ensemble des messages d'erreur - Modbus Code d'erreur

Description Solution

0x0000 Pas d'erreur - Configuration de l'interface Modbus_Comm_Load 0x8181 Le module ne prend pas en charge cette vitesse de

transmission de données. Sélectionnez une vitesse de transmission autorisée pour le module sur le paramètre BAUD.

0x8182 Le module ne prend pas en charge ce paramétrage de parité.

Sélectionnez une valeur appropriée pour la parité sur le paramètre PARITY. Les valeurs autorisées sont : • Aucune parité (1) • Parité paire (2) • Parité impaire (3) • Parité marque (4) • Parité espace (5) • Quelconque (6)

0x8183 Le module ne prend pas en charge ce type de contrôle du flux de données.

Sélectionnez un contrôle du flux de données autorisé pour le module sur le paramètre FLOW_CTRL.

0x8184 Valeur incorrecte pour le dépassement du temps de réponse

Sélectionnez une valeur appropriée pour le dépassement du temps de réponse sur le paramètre RESP_TO. Plage de valeurs autorisée : 1-65535 ms)

0x8280 Acquittement négatif lors de la lecture du module Vérifiez l'entrée sur le paramètre PORT. Pour plus d'informations sur l'origine de l'erreur, consulter les paramètres statiques Send_Config.RDREC.STATUS ou Receive_Config.RDREC.STATUS ou RDREC.STATUS et la description du SFB RDREC.

0x8281 Acquittement négatif lors de l'écriture du module Vérifiez l'entrée sur le paramètre PORT. Pour plus d'informations sur l'origine de l'erreur, consulter les paramètres statiques Send_Config.WRREC.STATUS ou Receive_Config.WRREC.STATUSou WRREC.STATUS et la description du SFB WRREC.

0x8282 Module non disponible Vérifiez l'entrée sur le paramètre PORT et assurez-vous que le module est disponible.

Page 100: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 100 Manuel de programmation, 01/2013, A5E31625083-AA

Code d'erreur

Description Solution

Erreur de configuration Modbus_Slave 0x8186 Adresse esclave incorrecte Sélectionnez une adresse esclave appropriée sur le

paramètre MB_ADDR. Les valeurs autorisées sont : 1-247 pour la plage d'adresses standard ; 1-65535 pour la plage d'adresses étendue (0 est réservé au Broadcast)

0x8187 Valeur incorrecte pour le paramètre MB_HOLD_REG Sélectionnez une valeur appropriée pour le registre de maintien sur le paramètre MB_HOLD_REG.

0x8188 Mode de fonctionnement incorrect ou Broadcast (MB_ADDR = 0) et paramètre MODE ≠ 1

Sélectionnez la valeur 1 pour MODE en mode de fonctionnement Broadcast ou sélectionnez un autre mode de fonctionnement.

0x818C Le pointeur sur une plage MB_HOLD_REG doit être un bloc de données ou une zone de mémoire.

Sélectionnez une valeur appropriée pour le pointeur sur la plage MB_HOLD_REG.

0x8280 Acquittement négatif lors de la lecture du module Vérifiez l'entrée sur le paramètre PORT. Pour plus d'informations sur l'origine de l'erreur, consulter les paramètres statiques Send_P2P.RDREC.STATUS ou Receive_P2P.RDREC.STATUS et la description du SFB RDREC.

0x8281 Acquittement négatif lors de l'écriture du module Vérifiez l'entrée sur le paramètre PORT. Pour plus d'informations sur l'origine de l'erreur, consulter les paramètres statiques Send_P2P.WRREC.STATUS ou Receive_P2P.WRREC.STATUS et la description du SFB WRREC.

0x8452 1) MB_HOLD_REG n'est pas un pointeur vers un DB ou une zone de mémoire

Vérifiez le pointeur MB_HOLD_REG

0x8453 1) MB_HOLD_REG n'est pas un pointeur vers le type BOOL ou WORD

Vérifiez le pointeur MB_HOLD_REG

0x8454 1) La longueur de la zone adressée avec MB_HOLD_REG dépasse la longueur du DB ou la zone adressée est trop petite pour le nombre de données à lire ou à écrire.

Vérifiez le pointeur MB_HOLD_REG

0x8455 1) MB_HOLD_REG pointe vers un DB en lecture seule Vérifiez le pointeur MB_HOLD_REG 0x8456 1) Erreur lors de l'exécution de l'instruction L'origine de

l'erreur se trouve dans le paramètre statique STATUS.

Déterminez la valeur du paramètre SFCSTATUS. Leur signification peut être consultée dans la description de SFC51, paramètre STATUS.

Page 101: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 101

Code d'erreur

Description Solution

Erreur de configuration Modbus_Master 0x8180 Valeur incorrecte pour le paramètre MB_DB La valeur paramétrée sur l'instruction

Modbus_Comm_Load pour MB_DB (DB d'instance) n'est pas autorisée. Vérifiez l'interconnexion de l'instruction Modbus_Comm_Load et de ses messages d'erreur.

0x8186 Adresse de station incorrecte Sélectionnez une adresse de station appropriée sur le paramètre MB_ADDR. Les valeurs autorisées sont : 1-247 pour la plage d'adresses standard ; 1-65535 pour la plage d'adresses étendue (0 est réservé au Broadcast)

0x8188 Mode de fonctionnement incorrect ou Broadcast (MB_ADDR = 0) et paramètre MODE ≠ 1

En mode Broadcast , choisissez la valeur 1 pour MODE ou choisissez un autre mode de fonctionnement.

0x8189 Adresse de données incorrecte Sélectionnez une valeur appropriée pour l'adresse de données sur le paramètre DATA_ADDR. Voir description Modbus_Master (Page 46) dans le système d'information

0x818A Indication de longueur incorrecte Sélectionnez une longueur de données appropriée sur le paramètre DATA_LEN. Voir description Modbus_Master (Page 46) dans le système d'information

0x818B Valeur incorrecte pour DATA_PTR Sélectionnez sur le paramètre DATA_PTR une valeur appropriée pour le pointeur de données (adresse M ou DB). Voir description Modbus_Master (Page 46) dans le système d'information

0x818C Erreur d'interconnexion du paramètre DATA_PTR Vérifiez l'interconnexion de l'instruction. 0x818D La longueur de la zone adressée avec DATA_PTR

dépasse la longueur du DB ou la zone adressée est trop petite pour le nombre de données à lire ou à écrire.

Vérifiez le pointeur DATA_PTR

0x8280 Acquittement négatif lors de la lecture du module Vérifiez l'entrée sur le paramètre PORT. Pour plus d'informations sur l'origine de l'erreur, consulter les paramètres statiques Send_P2P.RDREC.STATUS ou Receive_P2P.RDREC.STATUS et la description du SFB RDREC.

0x8281 Acquittement négatif lors de l'écriture du module Vérifiez l'entrée sur le paramètre PORT. Pour plus d'informations sur l'origine de l'erreur, consulter les paramètres statiques Send_P2P.WRREC.STATUS ou Receive_P2P.WRREC.STATUS ou Receive_Reset et la description du SFB WRREC.

Page 102: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 102 Manuel de programmation, 01/2013, A5E31625083-AA

Code d'erreur

Description Solution

Erreur de communication Modbus_Master et Modbus_Slave 0x80 D1 Le temps d'attente de XON ou CTS = ON est écoulé. Le partenaire de communication est défaillant, trop

lent ou hors ligne. Vérifiez le partenaire de communication ou modifiez éventuellement le paramétrage.

0x80D2 "Matériel RTS toujours ON : tâche d'émission interrompue car passage de DSR = ON à OFF

Contrôlez le partenaire de communication. Veillez à ce que DSR reste à ON pendant toute la transmission.

0x80E0 Télégramme interrompu : débordement du tampon d'émission / télégramme d'émission trop grand

Appelez l'instruction plus souvent dans le programme utilisateur ou paramétrez une communication avec le contrôle du flux de données.

0x80E1 Télégramme interrompu : défaut de parité Vérifiez la ligne de raccordement des partenaires de communication ou vérifiez si les paramétrages de la vitesse de transmission, de la parité et du nombre de bits d'arrêt sont les mêmes sur les deux appareils.

0x80E2 Télégramme interrompu : erreur de trame de caractère

Vérifiez les paramétrages pour le bit de début, les bits de données, le bit de parité, la vitesse de transmission et le ou les bits d'arrêt.

0x80E3 Télégramme interrompu : erreur de débordement de caractères

Contrôlez le nombre de données dans le télégramme du partenaire de communication.

0x80E4 Télégramme interrompu : longueur de télégramme maximale atteinte

Sélectionnez une longueur de télégramme plus courte sur le partenaire de communication. Les valeurs autorisées sont selon le module : 1-1024/2048/4096 (octet)

Erreur de communication Modbus_Master 0x80C8 L'esclave ne répond pas dans le délai défini Vérifiez la vitesse de transmission, la parité et le

câblage de l'esclave. 0x8200 L'interface est occupée par une tâche en cours. Répétez la tâche plus tard. Assurez-vous qu'il n'y a

pas plus de tâche en cours avant d'en lancer une nouvelle.

Erreur de protocole - Modbus_Slave (uniquement modules de communication qui prennent en charge Modbus) 0x8380 Erreur CRC Erreur de total de contrôle du télégramme Modbus.

Contrôlez le partenaire de communication. 0x8381 Ce code de fonction n'est pas pris en charge ou il

n'est pas pris en charge pour le broadcast. Vérifiez le partenaire de communication et assurez-vous qu'un code de fonction valide est émis.

0x8382 Indication de longueur incorrecte dans le télégramme de demande

Sélectionnez une longueur de données appropriée sur le paramètre DATA_LEN.

0x8383 Adresse de données incorrecte dans le télégramme de demande

Sélectionnez une valeur appropriée pour l'adresse de données sur le paramètre DATA_ADDR.

0x8384 Erreur de valeur de données dans le télégramme de demande

Vérifiez la valeur de données dans le télégramme de demande du maître Modbus

0x8385 Valeur du code de diagnostic non prise en charge par l'esclave Modbus (code de fonction 08)

L'esclave Modbus prend en charge uniquement les valeurs de diagnostic 0x0000 et 0x000A.

Page 103: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 103

Code d'erreur

Description Solution

Erreur de protocole - Modbus_Master (uniquement modules de communication qui prennent en charge Modbus) 0x8380 Erreur CRC Erreur de total de contrôle du télégramme Modbus.

Contrôlez le partenaire de communication. 0x8381 Télégramme de réponse de Modbus Slave avec le

message d'erreur : Le code de fonction n'est pas pris en charge.

Vérifiez le partenaire de communication et assurez-vous qu'un code de fonction valide est émis.

0x8382 Télégramme de réponse de Modbus Slave avec le message d'erreur : Indication de longueur incorrecte

Sélectionnez une longueur de données appropriée.

0x8383 Télégramme de réponse de Modbus Slave avec le message d'erreur : Adresse de données incorrecte dans le télégramme de demande

Sélectionnez une valeur appropriée pour l'adresse de données sur le paramètre DATA_ADDR.

0x8384 Télégramme de réponse de Modbus Slave avec le message d'erreur : Erreur de valeur de données

Vérifiez le télégramme de demande sur l'esclave Modbus.

0x8385 Télégramme de réponse de Modbus Slave avec le message d'erreur : Valeur du code de diagnostic non prise en charge par l'esclave Modbus

L'esclave Modbus prend en charge uniquement les valeurs de diagnostic 0x0000 et 0x000A.

0x8386 Le code de fonction dans la réponse ne correspond pas au code dans la demande.

Vérifiez le télégramme de réponse et l'adressage de l'esclave.

0x8387 Ce n'est pas le bon esclave qui a répondu Vérifiez le télégramme de réponse de l'esclave. Vérifiez les paramètres d'adresses de l'esclave.

0x8388 Erreur dans la réponse de l'esclave à une demande d'écriture.

Vérifiez le télégramme de réponse de l'esclave.

0x8828 1) DATA_PTR pointe sur une adresse de bit différente de n * 8

Vérifiez le pointeur DATA_PTR

0x8852 1) DATA_PTR n'est pas un pointeur vers un DB ou une une zone de mémoire

Vérifiez le pointeur DATA_PTR

0x8853 1) DATA_PTR n'est pas un pointeur vers le type BOOL ou WORD

Vérifiez le pointeur DATA_PTR

0x8855 1) DATA_PTR pointe vers un DB en lecture seule Vérifiez le pointeur DATA_PTR 0x8856 1) Erreur à l'appel du SFC51 Renouvelez l'appel de l'instruction Modbus_Master Erreur - Modbus_Slave (uniquement modules de communication qui prennent en charge Modbus) 0x8428 1) MB_HOLD_REG pointe sur une adresse de bit

différente de n * 8 Vérifiez le pointeur MB_HOLD_REG

0x8452 1) MB_HOLD_REG n'est pas un pointeur vers un DB ou une zone de mémoire

Vérifiez le pointeur MB_HOLD_REG

0x8453 1) MB_HOLD_REG n'est pas un pointeur vers le type BOOL ou WORD

Vérifiez le pointeur MB_HOLD_REG

0x8454 1) La longueur de la zone adressée avec MB_HOLD_REG dépasse la longueur du DB ou la zone adressée est trop petite pour le nombre de données à lire ou à écrire.

Vérifiez le pointeur MB_HOLD_REG

0x8455 1) MB_HOLD_REG pointe vers un DB en lecture seule Vérifiez le pointeur MB_HOLD_REG 0x8456 1) Erreur à l'appel du SFC51 Renouvelez l'appel de l'instruction Modbus_Slave

1) Uniquement les instructions pour les CPU S7-300/400

Page 104: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 104 Manuel de programmation, 01/2013, A5E31625083-AA

Vue d'ensemble des messages d'erreur - USS Code d'erreur

Description Solution

0x0000 Pas d'erreur - 0x8180 Erreur de longueur de réponse de l'entraînement Vérifiez le télégramme de réponse de

l'entraînement. 0x8181 Type de données incorrect Sélectionnez un type de données approprié.

Les valeurs autorisées sont : • Real • Mot • Double mot

0x8182 Type de données incorrect : La réponse à cette demande ne doit pas contenir un "mot", un "double mot" ou un "Real".

Vérifiez le télégramme de réponse de l'entraînement.

0x8183 Type de données incorrect : La réponse à la demande de type "double mot" ou "Real" ne doit pas contenir un "mot".

Vérifiez le télégramme de réponse de l'entraînement.

0x8184 Erreur de total de contrôle dans la réponse de l'entraînement

Contrôlez l'entraînement et la liaison de communication.

0x8185 Erreur d'adressage Plage d'adresses d'entraînement autorisée : 1 à 16 0x8186 Erreur de valeur de consigne Plage de valeurs de consigne autorisée : -200 % à

+200 % 0x8187 Un entraînement de numéro erroné a répondu à la

demande envoyée Vérifiez le télégramme de réponse de l'entraînement.

0x8188 Longueur de mot PZD illicite Longueurs de mot PZD autorisées : 2, 4, 6 mots 0x8189 Le module ne prend pas en charge cette vitesse de

transmission de données. Sélectionnez une vitesse de transmission autorisée pour le module.

0x818A Une autre demande est actuellement active pour cet entraînement.

Répétez la tâche de lecture ou d'écriture du paramètre plus tard.

0x818B L'entraînement ne répond pas. Contrôlez l'entraînement. 0x818C L'entraînement a renvoyé un message d'erreur à une

opération de demande de paramètre. Vérifiez le télégramme de réponse de l'entraînement. Contrôlez la demande de paramètre.

0x818D L'entraînement a renvoyé une erreur d'accès illicite à une opération de demande de paramètre.

Vérifiez le télégramme de réponse de l'entraînement. Contrôlez la demande de paramètre.

0x818E L'entraînement n'a pas été initialisé. Vérifiez le programme utilisateur et assurez-vous que l'instruction USS_Drive_Control pour cet entraînement est appelée.

Page 105: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 105

Code d'erreur

Description Solution

0x8280 Acquittement négatif lors de la lecture du module Vérifiez l'entrée sur le paramètre PORT. Pour plus d'informations sur l'origine de l'erreur, consulter les paramètres statiques Port_Config.RDREC.STATUS ou Send_Config.RDREC.STATUS ou Receive_Config.RDREC.STATUS ou Send_P2P.RDREC.STATUS ou Receive_P2P.RDREC.STATUS et la description du SFB RDREC

0x8281 Acquittement négatif lors de l'écriture du module Vérifiez l'entrée sur le paramètre PORT. Pour plus d'informations sur l'origine de l'erreur, consulter les paramètres statiques Port_Config.WRREC.STATUS ou Send_Config.WRREC.STATUS ou Receive_Config.WRREC.STATUS ou Send_P2P.RDREC.STATUS ou Receive_P2P.RDREC.STATUS et la description du SFB WRREC

1) Uniquement les instructions pour les CPU S7-300/400

Page 106: 1 Introduction 2 Programmation

Messages d'erreur

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 106 Manuel de programmation, 01/2013, A5E31625083-AA

Page 107: 1 Introduction 2 Programmation

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 107

Service & Support A

Offre complète unique, sur l'intégralité du cycle de vie Pour tous les constructeurs de machines, fournisseurs de solutions ou exploitants d'installations : l'offre de services de Siemens Industry Automation and Drive Technologies comprend des services complets à l'intention des utilisateurs les plus divers de toutes les branches de l'industrie manufacturière et des processus.

Nous offrons, pour tous nos produits et systèmes, des prestations de service cohérentes et structurées qui apportent une assistance précieuse dans toutes les phases du cycle de vie de votre machine ou de votre installation, de l'étude de projet à la maintenance et à la modernisation, en passant par la réalisation et la mise en service.

Notre service d'assistance Service & Support vous accompagne dans le monde entier pour toutes les questions relatives aux techniques d'automatisation et d'entraînement de Siemens. Directement sur place dans plus de 100 pays et pendant toutes les phases du cycle de vie de vos machines et installations.

Une équipe de spécialistes expérimentés est à votre disposition pour vous assister efficacement grâce à une concentration de savoir-faire unique. Des formations régulières et un contact intensif de nos collaborateurs entre eux – à travers tous les continents – garantissent un service fiable dans une multitude de domaines.

Page 108: 1 Introduction 2 Programmation

Service & Support

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 108 Manuel de programmation, 01/2013, A5E31625083-AA

Assistance en ligne (Online Support) La plate-forme d'information en ligne exhaustive de notre Service & Support vous assiste à tout moment et en tout lieu dans le monde entier.

Vous trouverez l'assistance en ligne sur Internet (http://www.siemens.com/automation/service&support) à l'adresse suivante.

Conseil technique (Technical Consulting) Assistance en phase d'étude et de conception de votre projet : de l'analyse détaillée de la situation réelle aboutissant à la définition des objectifs, en passant par la consultation sur toutes les questions concernant les produits et systèmes jusqu'à l'élaboration de votre solution d'automatisme.

Assistance technique (Technical Support) Des conseils compétents sur toutes les questions techniques avec un large éventail de prestations sur mesure associées à nos produits et systèmes.

Vous trouverez l'assistance technique sur Internet (http://www.siemens.com/automation/support-request) à l'adresse suivante.

Formation Renforcez votre avantage concurrentiel – grâce à un savoir-faire pratique directement du constructeur.

Vous trouverez notre offre de formation sur Internet (http://www.siemens.com/sitrain) à l'adresse suivante.

Assistance ingénierie (Engineering Support) Assistance au niveau étude du projet et développement grâce à des services adaptés allant de la configuration à la mise en œuvre d'un projet d'automatisation.

Service sur site (Field Service) Avec notre service sur site, nous offrons des prestations exhaustives de mise en service et de maintenance, afin de garantir la disponibilité de vos machines et de vos installations dans toutes les situations.

Pièces de rechange Dans toutes les branches, partout dans le monde, les exigences de disponibilité des installations et des systèmes croissent. Nous vous aidons à éviter tout arrêt des installations : au moyen d'un réseau mondial et de chaînes logistiques optimales.

Page 109: 1 Introduction 2 Programmation

Service & Support

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 109

Réparations Les périodes d'arrêt sont synonymes d'entrave au fonctionnement et de coûts inutiles. Nous vous aidons à les limiter autant que possible et vous offrons des possibilités de réparation partout dans le monde.

Optimisation Durant la phase d'exploitation des machines ou des installations, il existe souvent un potentiel important d'augmentation de la productivité ou de réduction des coûts.

Pour le détecter et vous en faire profiter, nous vous offrons une gamme de services relatifs à l'optimisation.

Modernisation Notre assistance couvre également la modernisation, avec des prestations complètes allant de la planification à la mise en service.

Programmes de service Nos programmes de service sont des paquets de prestations ciblés destinés à un groupe précis de systèmes ou de produits des techniques d'automatisation et d'entraînement. Les différents services sont harmonisés sur tout le cycle de vie et vous assistent pour une utilisation optimale de vos produits et systèmes.

Il est possible d'adapter à volonté les prestations d'un programme de services et de les utiliser indépendamment les unes des autres.

Exemples de programmes de services :

● Contrats de services

● Plant IT Security Services (services de sécurité informatique des installations)

● Life Cycle Services (services cycle de vie) pour entraînements

● SIMATIC PCS 7 Life Cycle Services (services cycle de vie pour SIMATIC PCS 7)

● SINUMERIK Manufacturing Excellence

● SIMATIC Remote Support Services (services de téléassistance SIMATIC)

Les avantages en bref :

● Des temps d'arrêt réduits pour une productivité accrue

● Des coûts de maintenance optimaux grâce à des prestations sur mesure

● Coûts calculables et par conséquent planifiables

● Fiabilité du service grâce à des temps de réaction et à des délais de livraison des pièces de rechange garantis

● Complément et décharge du personnel de maintenance de l'exploitant

● Service complet centralisé et non dispersé et savoir-faire maximal

Page 110: 1 Introduction 2 Programmation

Service & Support

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 110 Manuel de programmation, 01/2013, A5E31625083-AA

Interlocuteur A votre disposition sur place, dans le monde entier : des partenaires en matière de conseils, vente, formation, maintenance, assistance, pièces de rechange... pour l'ensemble de l'offre Industry Automation and Drive Technologies.

Vous trouverez votre interlocuteur personnel dans notre base de données d'interlocuteurs sur Internet (http://www.siemens.com/automation/partner).

Page 111: 1 Introduction 2 Programmation

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 111

Glossaire

Configuration On entend par configuration la disposition des différents modules d'un système d'automatisation dans la table de configuration.

Couplage point à point Dans le cas du couplage point à point, le module de communication constitue l'interface entre un automate programmable et un partenaire de communication.

CPU Central Processing Unit = unité centrale du système d'automatisation avec unité de commande et de calcul, mémoire, programme système et interfaces avec les modules d'entrées/sorties.

CTS Clear to send. Le partenaire de communication est prêt à recevoir les données.

En ligne/hors ligne En mode en ligne, il y a une liaison de données entre le système d'automatisation et la console de programmation, en mode hors ligne il n'y en a pas.

Evénements de diagnostic Les événements de diagnostic sont, par exemple, des erreurs sur un module ou des erreurs système dans la CPU provoquées par une erreur de programmation par exemple.

Fonctions de diagnostic Les fonctions de diagnostic englobent l'ensemble du diagnostic système et comportent la détection, l'évaluation et la signalisation d'erreurs au sein du système d'automatisation.

Logiciel L'ensemble des programmes mis en oeuvre sur une unité de calcul est désignée par le terme logiciel. Il s'agit du système d'exploitation et des programmes utilisateur.

Page 112: 1 Introduction 2 Programmation

Glossaire

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 112 Manuel de programmation, 01/2013, A5E31625083-AA

Matériel On désigne par matériel l'ensemble de l'équipement physique et technique d'un système d'automatisation.

Module de communication Les modules de communication sont des modules pour couplages point à point et couplages par bus.

Paramétrage On entend par paramétrage le réglage du comportement d'un module.

Paramètres Les paramètres sont des valeurs qui peuvent être attribuées. On distingue les paramètres de bloc et les paramètres de module.

Paramètres de module Les paramètres de module sont des valeurs permettant de régler le comportement du module.

Préconfiguration de la ligne de réception La préconfiguration de la ligne de réception durant l'exploitation du RS422 ou RS485 permet :

● de reconnaître la détection Break (rupture de fil)

● d'assurer un niveau défini sur la ligne de réception tant qu'aucun envoi n'a lieu.

Procédure Le déroulement d'une transmission de données suivant un protocole déterminé est appelé procédure.

Programme utilisateur Le programme utilisateur contient toutes les instructions et conventions pour le traitement des entrées/sorties, permettant de commander une installation ou un processus. Dans SIMATIC S7, le programme utilisateur est structuré et peut être subdivisé en unités plus petites, les blocs.

Protocole Lors d'une transmission de données, tous les partenaires de communication doivent suivre des règles clairement établies. Ces règles sont appelées protocoles.

Page 113: 1 Introduction 2 Programmation

Glossaire

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 113

Réglages par défaut La valeur par défaut est une valeur de base judicieuse qui est toujours utilisée à défaut d'une valeur indiquée.

RTS Request to send. Le module de communication est prêt à l'envoi.

Système d'automatisation Un système d'automatisation est un automate programmable comportant au moins une unité centrale, différents modules d'entrées et de sorties et des pupitres de contrôle-commande.

Tampon de diagnostic Zone de mémoire dans laquelle les événements de diagnostic sont inscrits dans l'ordre de leur apparition, avec des informations détaillées.

Temps de cycle Le temps de cycle est le temps requis par la CPU pour exécuter une fois le programme utilisateur.

Traitement cyclique du programme Lors du traitement cyclique, le programme utilisateur s'exécute dans une boucle de programme se répétant continuellement, appelée cycle.

USS Le protocole USS® (protocole d'interface universel série) définit un procédé d'accès selon le principe maîtreesclave pour les communications via un bus série. Comme sous-ensemble, la communication point à point y est aussi incluse.

XON/XOFF Contrôle logiciel du flux de données avec XON/XOFF. Les caractères pour XON et XOFF sont paramétrables (caractère ASCII quelconque). Les données utiles ne doivent pas contenir ces caractères.

Page 114: 1 Introduction 2 Programmation

Glossaire

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 114 Manuel de programmation, 01/2013, A5E31625083-AA

Page 115: 1 Introduction 2 Programmation

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 Manuel de programmation, 01/2013, A5E31625083-AA 115

Index

A Architecture d'interrogation, 16 Architecture d'interrogation d'un esclave, 17 Architecture d'interrogation d'un maître, 16

B Bibliothèque du protocole USS

Conditions requises pour l'utilisation, 70 Informations générales sur la configuration d'un entraînement, 85 USS_Drive_Control, 77 USS_Port_Scan, 74 USS_Read_Param, 81 USS_Write_Param, 83 Vue d'ensemble, 68

Bibliothèque globale Présentation du protocole USS, 68

C Classes d'erreurs point à point, 19 Communication

Architecture d'interrogation, 16 Communication point à point

Programmation, 13 Configuration des paramètres

LENGH et BUFFER pour Send_P2P, 34 Configuration d'interface

Instructions, 13 Configuration du télégramme

Instructions, 13

E Erreurs de paramètre point à point communs, 19

G Get_Features, 11

I Instructions

P3964_Config (configuration du protocole), 30 Port_Config (configuration de port), 20 Receive_Config (configuration de réception), 25 Receive_P2P (réception point à point), 35 Receive_Reset (réinitialiser récepteur), 36 Send_Config (configuration d'émission), 23 Send_P2P (émission de données point à point), 32 Signal_Get (lire signaux RS232), 37 Signal_Set (activer signaux RS232), 38 USS_Drive_Control, 77 USS_Port_Scan, 74 USS_Read_Param, 81 USS_Write_Param, 83

Instructions point à point, valeurs en retour, 18 Interfaces de communication

Programmation, 13

M Modbus

Modbus_Comm_Load, 43 Modbus_Slave, 46, 53

Modbus_Comm_Load, 11, 43 Modbus_Master, 11 Modbus_Slave, 11, 46, 53 Module de communication (CM)

Programmation, 13 Réception de données, 35

P P3964_Config, 10 P3964_Config (configuration du protocole), 30 Paramètre BUFFER, Send_P2P, 34 Paramètre LENGTH, Send_P2P, 34 Port_Config, 10 Port_Config (configuration de port), 20 Programmation

Instructions point à point, 13 Programmation point à point, 13

Page 116: 1 Introduction 2 Programmation

Index

Instructions de communication PtP utilisées avec périphérie décentralisée d'un S7-300/400 116 Manuel de programmation, 01/2013, A5E31625083-AA

R Receive_Config, 10 Receive_Config (configuration de réception), 25 Receive_P2P, 10 Receive_P2P (réception point à point), 35 Receive_Reset, 10 Receive_Reset (réinitialiser récepteur), 36

S Send_Config, 10 Send_Config (configuration d'émission), 23 Send_P2P, 10 Send_P2P (émission de données point à point), 32

Paramètres LENGH et BUFFER, 34 Set_Features, 11 Signal_Get, 11 Signal_Get (lire signaux RS232), 37 Signal_Set, 11 Signal_Set (activer signaux RS232), 38

T Transmission de données, déclencher, 32

U USS_Drive_Control, 11, 69, 77 USS_Port_Scan, 11, 69, 74 USS_Read_Param, 11, 69, 81 USS_Write_Param, 11, 69, 83

V Valeurs en retour

Instructions point à point, 18 Valeurs en retour de l'exécution de la réception, 35