Siemens S7 Ip Industrial Ethernet
Ce driver supporte la communication sur Ip avec les automates Siemens S7, y compris les S7-200, S7-300 S7-400, S7-31x PN, S7-1200 et S7-1500.
Fonctions supportées
Le driver utilise la messagerie ISO 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.
Un maximum de 255 automates peuvent être connectés via le driver. Toutes les communications sont exécutées sur l'interface réseau Ethernet standard d'un PC. Pour une communication directe entre un processeur de communication Siemens et un équipement, un câble croisé est nécessaire. La vitesse de communication est limitée à 100 Mb/sec.
Série | Type | Référence | Taille du paquet standard (octets) | Taille max d'une trame (octets) |
S7-200 |
CP243-1 |
6GK7243-1EX00-0XE0 |
240 |
8192 |
S7-300 |
CP343-1 |
6GK7343-1EX21-0XE0 |
240 |
8192 |
S7-400 |
CP443-1 |
6GK7443-1EX11-0XE0 |
480 |
8192 |
S7-31x PN |
Intégré |
|
240 |
8192 |
S7-1200 | Intégré | |||
S7-1500 | Intégré |
La redondance n'est pas disponible pour la série S7-200.
Vous pouvez configurer le driver Ethernet industriel S7 Ip en utilisant le Smart Generator pour Step7 ou celui pour le TIA Portal.
Prérequis
Le pack Siemens NETPRO est nécessaire pour la configuration du réseau, des connexions et des postes. Suivez les étapes ci-dessous avant de Configurer un équipement.
Le pack Siemens NetPRO peut être commandé en tant que logiciel autonome ou dans le cadre du pack Step7 (référence : 6ES7810-5CC10-0YA6 SIMATIC STEP7 PROF ED2006).
- Dans votre projet Step7, ouvrez NetPRO et ajoutez un réseau ou configurez un réseau existant qui réponde à vos besoins. Ensuite, ajoutez une nouvelle station, ici appelée Autre Station.
- Double-cliquez sur le poste pour ouvrir sa boîte de dialogue Propriétés. Sélectionnez l'onglet Général et entrez le nom du poste, l'auteur et tout commentaire
- Cliquez sur l'onglet Interface pour afficher les connexions réseau. Vous devez maintenant configurer le processeur de communication pour autoriser les messages de plus de 240 octets.
- Double-cliquez sur le symbole représentant le processeur de communications CP343. La boîte de dialogue de configuration s'affiche. Sélectionnez l'onglet Options et cochez l'option qui autorise des messages d'une longueur > 240 octets dans la section SEND/RECEIVE puis cliquez sur le bouton OK pour enregistrer.
- Compilez le programme et transférez-le dans l'équipement.
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 slot |
Slot dans lequel la CPU de l'équipement est localisée |
Numéro de rack |
Le rack dans lequel se trouve la CPU de l'API |
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 |
|
Activer le basculement sur arrêt CPU | Active le basculement automatique de la connexion lorsque la CPU passe en mode arrêt |
Période de watchdog | Période de scrutation du mode de la CPU. |
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 8192 octets. La quantité approximative de données échangées par paquet TCP/IP est de 700 mots, si la taille de la trame est supérieure à 700 mots, la trame sera transmise en plusieurs séries de paquets TCP/IP. Cette transmission par paquets multiples est transparente pour l'utilisateur.
Type de Donnée | Accès | Quantité max | Adresse de début | Description |
Bit | ||||
Wordbit DBW |
Lecture/Ecriture |
65528 |
0..65535 |
|
Wordbit MW |
||||
Wordbit AW |
Lecture/Ecriture |
1024 |
0..65535 | |
Wordbit EW |
Lecture |
1024 | 0..65535 | |
Octet | ||||
DBW |
Lecture/Ecriture |
65535 | 0..65535 | |
MW |
||||
EW |
Lecture/Ecriture |
128 | 0..65535 | |
AW |
||||
Mot |
||||
DBW |
Lecture/Ecriture |
32768 | 0..65535 | |
MW | ||||
EW |
Lecture/Ecriture |
64 |
0..65535 | |
AW |
||||
ZW |
Lecture |
128 | 0..65535 | |
Information |
Lecture |
2 | 0..1 |
Adresse 0 : Numéro de la connexion active. Adresse 1 : Mode de la CPU (0 : Stop ; 1 : Démarrage ; 2 : Exécution ; 3 : Inconnu). |
Command |
Lecture/Ecriture |
1 | 0 | |
S7 Block CEI |
Lecture |
4095 | 0..65535 | |
Réel | ||||
DBW |
Lecture/Ecriture |
16384 |
0..65535 |
|
MW |
||||
EW |
Lecture/Ecriture |
32 |
0..65535 | |
AW |
||||
Double word |
||||
DBW |
Lecture/Ecriture |
32768 | 0..65535 | |
MW |
Lecture/Ecriture |
16384 | 0..65535 | |
EW |
Lecture/Ecriture |
32 | 0..65535 | |
AW |
||||
ZW |
Lecture |
64 | 0..65535 | |
TW |
Pour le type de donnée DBW, il est nécessaire de saisir le numéro de DB. Seuls les DB1 à DB32767 sont accessibles. Le S7-200 qui ne supporte que le DB1. La propriété du numéro 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 à deux variables mesure. L'adresse 0 contient le numéro de la connexion active (0, 1, 2 ou 3), l'adresse 1 contient le mode CPU (0 : Stop ; 1 : Démarrage ; 2 : Exécution ; 3 : Inconnu).
- 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 équipements pour le SIMATIC S7 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 |
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 |
0x0007 | Device not open |
0X5000 | No queue |
0X5001 | Invalid packet |
0X5002 | Not connected (equivalent to 102 in Modbus IP) |
0X5003 | Connection closed |
0X5004 | Timeout |
0X5005 | Wrong context |
0X5006 | PLC memory error |
0X5007 | Wrong op state |
0X5008 | Wrong address |
0X5009 | Invalid mode error |
0X500A | No data error |
0X500B | PLC priority class error |
0X500C | Empty block list |
0X500D | PLC block size error |
0X500E | Invalid block number |
0X500F | Protect error |
0X5010 | Unknown SZL ID |
0X5011 | Unknown SZL index |
0X5012 | No information |
0X5013 | Unknown PLC error |
0X5014 | Hardware error |
0X5015 | Object access not allowed |
0X5016 | Context not supported |
0X5017 | Type not supported |
0X5018 | PDU error |
0X5019 | No PLC start |
0X501A | No PLC resume |
0X501B | Disconnect request |
0X501C | PLC not found |
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 Industrial Ethernet :
slot#ip1#ip2#ip3#ip4#rack#ts_errorword#ts_errordb#flag#reconnection_period#0#watchdog_period
Où :
-
slot : Le numéro d'emplacement
-
ip1 à ip4 : Les 4 segments de l'adresse IP
-
rack : Le numéro du rack
-
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.
-
flag: Propriétés supplémentaires sous la forme d'un masque de bits - Correspond aux propriétés suivantes de l'équipement
-
bit 1 : Désactiver le basculement sur mode OP CPU inconnu (1), ou activer (0)
-
bit 4 : Horodatage UTC (1) ou local (0)
-
-
reconnection_period : La période de reconnexion
-
redundant_connection_number : 0 si pas de connexion redondante
-
watchdog_period : Période d'interrogation du mode CPU
Si des connexions redondantes sont en place, la syntaxe est la suivante :
slot#ip1#ip2#ip3#ip4#rack#ts_errorword#ts_errordb#flag#reconnection_period#redundant_connections_number#watchdog_period#[ip1_redn#ip2_redn#ip3_redn#ip4_redn#rack_redn#slot_redn]
Où :
-
redundant_connection_number : Le numéro de connexion redondante (1..4)
-
La partie entre crochets [] est répétée pour chaque connexion redondante (1..4).
Modification de l'adresse d'une trame
IntVal = CIMWAY(Mode, ComObj, Modif, Param, [, ResultVar]);
Argument |
Description |
ComObj |
Élément de configuration à modifier : Une trame. |
Modif |
La propriété que vous souhaitez modifier : |
|
MEMORY_ADDRESS: Modification d'une adresse de trame. |
Param |
Vous trouverez ci-dessous la syntaxe spécifique à ce driver. |
ResultVar |
Nom d'une variable mesure. Type STR. |
Syntaxe pour Siemens S7 Industrial Ethernet :
"start_address#DBnumber
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 Siemens S7 Industrial Ethernet :
Message de contrôle | Description |
Basculement de la connexion pour une configuration d'équipement redondant |
La syntaxe de la chaîne de commande est "ConnecTo;num" ComObj doit être le nom d'un équipement, par exemple NET.DEV1. |
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ée. 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 d'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+1 |
Adresse |
|||||||||||||||
Mot W+3 |
Valeur1 |
|||||||||||||||
Mot W+4 |
Valeur0 |
|||||||||||||||
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 |
Valeur0 est le mot le moins de poids faible lors de la lecture d'une valeur sur 32 bits (Réel et Double Mot). Valeur1 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 | 1..12 |
Jour | 1..31 |
Heure | 0..23 |
Minute | 0..59 |
Millisecondes | 0..59999 |
Il n'y a pas de champ secondes. Les secondes sont incluses dans les millisecondes.