Siemens S7 Ip Fetch/Write

Ce driver supporte la communication sur Ip avec les automates Siemens S7, y compris les S7-300 et S7-400.

Si vous mettez à jour le driver CWIPS7.DLL de la version 1.x vers la version 2.0, vous devez reconfigurer le coupleur de l'équipement en utilisant l'utilitaire Step7. Dans Step7, l'adresse IP partenaire et le champ Numéro de port doivent être laissés vides.

Fonctions supportées

Le driver utilise la messagerie Fetch/Write pour lire et écrire des données vers/depuis l'API. Dans chaque échange le PC est le maître et l'équipement est l'esclave.

Prérequis

Suivez les étapes ci-dessous avant de Configurer un équipement. Le coupleur Ethernet de l'équipement doit être configuré en utilisant le logiciel Siemens Step7. Pour que le driver fonctionne, vous devez configurer au moins deux ports :

  • Fetch Passive
  • Write Passive qui doit être égal au port Fetch Passive + 1.

L'adresse IP partenaire et le champ Numéro de port doivent être laissés vide.

Vous devez redémarrer l'automate après la modification de tous les paramètres TCP/IP en utilisant le logiciel de programmation Step7. Ceci permet au coupleur de se réinitialiser.

Propriétés d'un réseau

Cette rubrique ne contient qu'une référence des propriétés des objets.

Voir la rubrique Comment configurer les réseaux, les équipements et les trames pour plus d'informations sur la configuration des objets de communication.

Propriétés - Général
Nom Le nom du réseau
Description La description du réseau (facultatif)
Actif au démarrage Si activé, le réseau démarrera au démarrage de la communication Equipement

Propriétés avancées

 

Time-out

Utiliser la valeur par défaut

Multi-postes

Serveurs

La liste des postes PcVue où le réseau sera actif

Propriétés d'un équipement

Propriétés - Général
Nom Nom de l'équipement
Description La description de l'équipement (facultatif)
Type d'équipement Sélectionnez le type d'équipement qui convient le mieux à l'équipement de terrain avec lequel vous voulez communiquer.
La liste des types de trames et les plages d'adresses dépendent du type d'équipement.
Adresse L'adresse IP de l'équipement de terrain.
Certains drivers prennent également en charge la configuration par nom d'hôte.
Actif au démarrage Si activé, l'équipement démarrera au démarrage du réseau

Propriétés avancées

 

Connexion

Time-out

Temps d’attente maximum entre une requête et une réponse de l’équipement

Numéro de port

Le numéro de port de l'équipement de terrain.
Il doit être fixé à la même valeur que le port Fetch passive configuré dans l'API à l'aide du logiciel Siemens Step7.

Le port Write est déduit du numéro de port.

Connexion partagée

Le partage de connexions est normalement utilisé lorsque l'on communique avec une passerelle avec une seule connexion TCP/IP d'un côté et plusieurs équipements série de l'autre.

Le partage de la connexion permet d'utiliser une seule adresse TCP/IP et un seul port pour communiquer avec plusieurs équipements. Si le partage de connexion n'est pas activé, alors chaque connexion nécessite son propre port TCP.

Lors de l'utilisation du partage de connexion, la communication est gérée de manière sérialisée. C'est-à-dire que la communication avec un équipement (question et réponse) doit être terminée avant que la communication avec le prochain équipement ne démarre. L'inconvénient de cette méthode est que si un équipement est en erreur, la communication est retardée pour tous les autres équipements en attendant le time-out de connexion. Une connexion du côté TCP/IP ne sera redémarrée que si toutes les connexions partagées sont en time-out.

Par défaut, les connexions partagées sont allouées à un seul groupe (groupe 0), et une seule connexion à une passerelle permet généralement la communication avec un ou plusieurs équipements de terrain. Si vous avez plus d'une passerelle, vous devriez allouer tous les équipements accessibles via une passerelle donnée au même groupe en définissant la propriété numéro de groupe à la même valeur. Si vous allouez des connexions partagées à différents groupes, la connexion du côté TCP/IP est redémarrée lorsque toutes les connexions du groupe sont en time-out. Il est normal de configurer un groupe pour chaque connexion physique sur une passerelle.

Période de reconnexion

Période minimum d'attente entre les tentatives de reconnexion. Cette période est également utilisée comme période d'attente après un time-out.

Horodatage

Activer

Cocher pour activer l'horodatage à la source

Adresse d'erreur Si l'horodatage est activé, adresse utilisée pour indiquer une pile pleine. Doit être défini par une valeur positive (supérieure à 0).
Horodatage UTC Spécifie si l'équipement de terrain transmet des horodates en UTC ou en heure locale
Delta TS

Utilisé pour configurer l'archivage direct. Si la différence entre l'horodate codée dans un bloc horodaté reçu et l'heure courante est plus grand que la valeur Delta T, les données sont envoyées directement à des fins d'archivage mais ne sont pas considérées comme suffisamment fraîches pour être utilisées comme valeurs instantanées.

En conséquence, la valeur de la variable correspondante n'est pas mise à jour.

Groupes de redondance

Connexion de redondance n

Permet de configurer jusqu'à 4 équipements de terrain supplémentaires permettant un comportement redondant pour un équipement. Lorsque l'application démarre, le gestionnaire de communication communique avec l'équipement principal. Lorsqu'une erreur survient, il passe à l'équipement suivant dans la séquence.

Pour chaque équipement avec une configuration redondante, vous pouvez gérer le fonctionnement à l'aide de variables mesure liées à des trames de type Command and Information (voir ci-dessous).

Divers

Equipement virtuel

Réservé. Ne pas sélectionner.

Délai du message Réservé. Laisser la valeur par défaut 0.

Adressage des trames

Selon le type d'équipement que vous avez sélectionné lors de la configuration de l'équipement, vous avez accès aux types de trames suivants.

Les propriétés Adresse de début et Quantité définissent la plage d'adresses mémoire pour chaque trame, comment elle est lue et écrite, et comment elle est interprétée dans PcVue.

La quantité maximum de données pouvant être lue par trame est de 32 000 mots. La quantité approximative de données échangées par paquet TCP/IP étant de 700 mots, si la taille de la trame est plus grande que 700 mots, la trame sera transmise en plusieurs séries de paquets TCP/IP.

Type de Donnée Accès Quantité max Adresse de début
Bit

Wordbit EW

Lecture

1024 0..65535

Wordbit DBW

Lecture/Ecriture

65528

0..65535

Wordbit MW

Wordbit TW

Lecture/Ecriture

2048 0..255

Wordbit AW

Lecture/Ecriture

1024 0..65535
Wordbit PW

Lecture/Ecriture

2048 0..255
Wordbit ZW

Octet

ZW

Lecture/Ecriture

256

0..255

PW

DBW

Lecture/Ecriture

65535

0..65535

MW

AW

Lecture/Ecriture

128

0..65535

EW
TW

Lecture/Ecriture

256 0..255

Mot

DBW

Lecture/Ecriture

32768

0..65535

MW

EW

Lecture/Ecriture

64 0..65535

AW

ZW

Lecture/Ecriture

128

0..255
TW
Information

Lecture

2 0..1
Command

Lecture/Ecriture

1 0
S7 CEI

Lecture

4095 0..65535

Réel

TW

Lecture/Ecriture

64 0..255

DBW

Lecture/Ecriture

16384

0..65535

MW

EW

Lecture/Ecriture

32

0..65535

AW

PW

Lecture/Ecriture

64 0..255
ZW

Double mot

PW

Lecture/Ecriture

64 0..255

DBW

Lecture/Ecriture

32768

0..65535

MW

Lecture/Ecriture

16384

0..65535

EW

Lecture/Ecriture

32

0..65535

AW

ZW

Lecture/Ecriture

64 0..255

TW

Pour le type de donnée DBW, il est nécessaire de saisir le numéro de DB. Seuls les DB1 à DB255 sont accessibles à l'aide de ce driver. La propriété Numéro de DB se trouve dans l'onglet Avancé.

La trame Information fournit le numéro de connexion actif et la trame Command vous permet de définir le numéro de connexion actif. En utilisant les trames Information et Command, vous pouvez gérer le fonctionnement pour les équipements de terrain redondants :

  • Une trame de format mot avec le type de donnée Information. Cette trame doit être configurée en lecture cyclique et liée à une seule variable mesure. L'adresse 0 contient le numéro de la connexion active (0, 1, 2 ou 3).
  • Une trame de format mot avec le type de donnée Command. Cette trame doit être configurée en écriture seule et liée à une variable mesure en commande. La valeur de la variable mesure à l'adresse 0 sélectionne la connexion active (0, 1, 2 ou 3).

Organisation mémoire dans l'équipement

Les variables équipement pour le SIMATIC S7 (S7-400, S7-300) utilisent un mode d'adressage en octet.

Le driver peut être utilisé pour lire une série de mots, de mots doubles ou de flottants avec un alignement sur des octets, des mots ou des double mots. Ces modes d'alignement vous permettent d'obtenir des mots ou des double-mots avec des adresses paires ou impaires.

Le tableau suivant donne un exemple pour une trame de mots.

Adresse en octets Début pair Début impair
0 Mot 1  
1 Mot 1
2 Mot 2
3 Mot 2
4 Mot 3
5 Mot 3
6 Mot 4
7 Mot 4
8  

Statut du driver

Le statut du driver fournit des informations spécifiques en complément du statut général de la trame. Pour plus d'informations sur les statuts en général, voir la rubrique Statuts généraux de communication.

Statut du driver

Description

002

Zone mémoire invalide (erreur signalée par l'équipement)

0003

Adresse de donnée incorrecte dans l'équipement

0102

Erreur réseau - Connexion fermée à cause de :

  • Adresse IP incorrecte
  • Numéro de port incorrect
  • Equipement déconnecté du réseau

Scripting SCADA Basic

Vous pouvez contrôler la communication avec ce driver dans les scripts SCADA Basic avec l'instruction CIMWAY.

Voir la rubrique Mécanismes d'échange de messages dans PcVue pour plus d'informations sur ce qu'il faut optimiser et comment envoyer des commandes depuis des scripts.

Le driver supporte également les fonctionnalités suivantes en SCADA Basic.

Modification de l'adresse d'un équipement

IntVal = CIMWAY(Mode, ComObj, Modif, Param, [, ResultVar]);

Argument

Description

ComObj

Élément de configuration à modifier : Un équipement.

Modif

La propriété que vous souhaitez modifier :

 

EQT_ADDRESS : Modification de l'adresse de l'équipement. ComObj est le nom d'un équipement connecté à un réseau. Par exemple, Net1.Dev1.

Param

Param est une chaîne avec la syntaxe générale Param1#Param2#Param3...#ParamN. Type STR.

Vous trouverez ci-dessous la syntaxe spécifique à ce driver.

ResultVar

Nom d'une variable mesure. Type STR.

Syntaxe pour Siemens S7 Ip Fetch/Write :

Copier
1#ip1#ip2#ip3#ip4#port_fetch#ts_errorword#ts_errordb#connection_sharing#reconnection_period#redundant_connection_number#sharing_group_id

Où :

  • 1 - Réservé

  • ip1 à ip4 : les 4 segments de l'adresse IP

  • port_fetch : Le numéro de port Tcp de Fetch

  • ts_errorword : Adresse d'erreur pour l'horodatage à la source (adresse mot dans ts_errordb)

  • ts_errordb : Le numéro de db où se trouve l'adresse d'erreur pour l'horodatage à la source.

  • connection_sharing : Partage de connexion activé (1) ou désactivé (0)

  • reconnection_period : La période de reconnexion

  • redundant_connection_number : Le numéro de connexion redondante (0 si pas de connexion redondante)

  • sharing_group_id : Le numéro du groupe de partage

Si des connexions redondantes sont en place, la syntaxe est la suivante :

Copier
1#ip1#ip2#ip3#ip4#port_fetch#ts_erroraddress#ts_errorword#ts_errordb#connection_sharing#redundant_connection_nb#[redundant_connection_id_redn#ip1_redn#ip2_redn#ip3_redn#ip4_redn#port_fetch_redn#reserved(set 0)#]sharing_group_id

Où :

  • connection_sharing : Partage de connexion activé (1) ou désactivé (0)

  • redundant_connection_number : Le numéro de connexion redondante (1..4)

  • La partie entre crochets [] est répétée pour chaque connexion redondante.

    • redundant_connection_number_redn : Le numéro de connexion redondante (1..4)

    • 0 - Réservé

Envoi d'un message de contrôle au driver

IntVal = CIMWAY (Mode, ComObj, CommandString);

Type de retour : INTEGER.

Argument

Description

ComObj

Identifiant de l'objet cible, pour accéder à :

Tous les réseaux : Chaîne vide.

Un réseau : NetworkId.

Un Equipement : NetworkId.DeviceId.

Une trame : NetworkId.DeviceId.FrameId.

Type STR.

CommandString

La commande à envoyer au driver. Type STR.

Vous trouverez ci-dessous la liste des messages supportés par ce driver.

Messages de contrôle pour S7 Ip Fetch/Write :

Message de contrôle Description

Basculement de la connexion pour une configuration d'équipement redondant

La syntaxe de la chaîne de commande est "ConnectTo;num"

Le basculement SCADA Basic est plus lent qu'un basculement variable, car la commande n'est pas envoyée immédiatement au driver (file d'attente avec d'autres requêtes), mais est plus flexible et ne nécessite pas la configuration de trames et de variables supplémentaires.

Activation/désactivation d'une connexion pour une configuration d'équipements redondants

La syntaxe de la chaîne de commande est "ConnectionDisable;num" pour activer le numéro de connexion num. Cette connexion est alors indisponible pour une connexion à l'équipement.

La syntaxe de la chaîne de commande est "ConnectionEnable;num" pour désactiver le numéro de connexion num. Cette connexion est alors disponible pour une connexion à l'équipement.

ComObj doit être le nom d'un équipement, par exemple NET.DEV1.

Si des serveurs d'acquisition de données redondants sont en place, la modification n'est appliquée que sur le serveur d'acquisition de données où la commande est exécutée.

Basculement de toutes les trames en mode scrutation

La syntaxe de la chaîne de commande est "SwitchAllToPollingMode;num" pour passer toutes les trames en mode scrutation pour le numéro de connexion num.
 

ComObj doit être le nom d'un équipement, par exemple NET.DEV1.
num est le numéro de la connexion à prendre en compte. Plage [0..3].

Par exemple, la commande suivante force une connexion à la connexion redondante 3 pour l'équipement NET1.EQT1 :

Copier
CIMWAY("SENDMSG", "NET.EQT1", "ConnectTo;3");

Données horodatées - Structures des tables et des blocs de données

Cette section décrit comment échanger des données horodatées entre l'équipement de terrain et PcVue. Le basculement entre le mode cyclique et événementiel pour la trame cochée comme Bloc rafraîchi utilisant l'horodatage est automatiquement déclenché par un bit dans l'équipement. Le déclencheur est le bit (offset 0) du mot que vous avez spécifié lors de la configuration de l'équipement.

Lorsque vous utilisez S7, le déclencheur pour le fonctionnement horodaté est le bit 0 du mot que vous avez spécifié dans la configuration de l'équipement, pour exemple bit 0 de DB5.DBW8. La table horodatée est conservée dans un DB dédié. Le numéro de DB peut être différent de celui de l'adresse d'erreur.

Les données horodatées sont échangées entre l'esclave et le maître à l'aide de la trame S7_CEI.

Maître Réseau Esclave

—>

Lecture de la table des données horodatées

—>

<—

Réponse à la requête de lecture

<—

Si le nombre de blocs est supérieur à zéro, le driver lit tous les blocs disponibles dans l'équipement puis effectue les opérations suivantes :

Maître Réseau Esclave
—>

Positionnement du nombre de blocs à 0 et envoi du numéro d'échange

—>
<—

Acquittement de l'écriture

<—

Si le numéro d'échange renvoyé par le PC est erroné, l'équipement doit renvoyer le même échange qu'auparavant. Le numéro peut être erroné car l'esclave a reçu un accusé de réception incorrect.

Structure de la table des données horodatées

 

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Mot W

Numéro d'échange

Nombre de blocs

Mot W+1

Premier bloc (taille 8)

 

 

Mot W+1
+(N-1)*8

Nème bloc (taille 8)

N = Le nombre de blocs tel que spécifié par la Quantité de données de la trame d'horodatée.

W = L'adresse de départ telle que spécifiée par la propriété Adresse de départ de la trame horodatée.

Contrairement à Modbus Ip, il n'y a pas de limite à la taille de la trame avec S7 Industrial Ethernet. Il est recommandé de ne pas dépasser 30 blocs afin de garantir que l’échange se fasse en une seule trame IP.

Structures de blocs S7_CEI

 

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Mot W+1

Type de donnée

Numéro de DB

Mot W+2

Adresse

Mot W+3

Value1

Mot W+4

Value0

Mot W+5

Réservé

0

Année

Mot W+6

0

0

0

0

Mois

0

0

0

Jour

Mot W+7

0

0

0

Heure

0

0

Minute

Mot W+8

Millisecondes

Value0 est le mot le moins de poids faible lors de la lecture d'une valeur sur 32 bits (Réel et Double Mot). Value1 est le mot de poids fort lors de la lecture d'une valeur sur 32 bits (Réel et Double Mot).

Codage du champ Type de donnée

Type Type de donnée Type Type de donnée

1

Bit dans DB

24

Réel dans DB

2

Bit dans MW

25

Réel dans MW

3

Bit dans EW

26

Réel dans EW

4

Bit dans AW

27

Réel dans AW

8

Octet dans DB

32

Double dans DB

9

Octet dans MW

33

Double dans MW

10

Octet dans EW

34

Double dans EW

11

Octet dans AW

35

Double dans AW

16

Mot dans DB

 

 

17

Mot dans MW

 

 

18

Mot dans EW

 

 

19

Mot dans AW

 

 

Codage des champs date et heure

Champ Codage
Année 0..99 (Nombre d’années depuis 1980)
Mois : de 1 à 12 1..12
Jour : de 1 à 31 1..31
Heure : de 0 à 23 0..23
Minute 0..59
Millisecondes 0..59999

Il n'y a pas de champ secondes. Les secondes sont incluses dans les millisecondes.