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. 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 :
|
Scripting SCADA Basic
Vous pouvez contrôler la communication avec ce driver dans les scripts SCADA Basic avec l'instruction CIMWAY.
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 :
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 :
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. Par exemple, la commande suivante force une connexion à la connexion redondante 3 pour l'équipement NET1.EQT1 : Copier
|
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è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.