Schneider Electric TSXETH110, coupleur Mode d'emploi

Ajouter à Mes manuels
78 Des pages
Schneider Electric TSXETH110, coupleur Mode d'emploi | Fixfr
TSX DM ETH 110
Chapitre
Sommaire
Page
1 Présentation générale.
5
1.1
Structure de la documentation
5
1.2
Description du coupleur
1.2-1 Généralités
1.2-2 Fonctionnalités
1.2-3 Profils de communication
6
6
6
7
1.3
Rappel sur le profil TCP/IP
1.3-1 Rappel sur l’adressage
1.3-2 Protocole de Résolution d’adresse (ARP)
1.3-3 Couche IP - Routage
1.3-4 Couche TCP - Interface socket
8
8
9
10
10
1.4
Présentation physique
1.4-1 Le coupleur TSX ETH 110
12
12
1.5
Mise en œuvre matérielle
1.5-1 Montage des coupleurs dans les bacs
1.5-2 Codage des adresses sur le bornier
1.5-3 Connexion au réseau
1.5-4 Description de l'interface AUI
14
14
15
16
17
2 Mise en oeuvre logicielle
2.1
Généralités
2.1-1 Fonctionnalités
2.1-2 Installation du logiciel
2.1-3 Configuration du coupleur
19
19
19
19
19
___________________________________________________________________________
1
TSX DM ETH 110
Chapitre
2.2
Sommaire
Service de messagerie
2.2-1 Généralités
2.2-2 Gestion du mode de marche
2.2-3 Configuration
2.2-4 Test de machine distante : Echo.
2.2-5 Etablissement de connexion avec sécurité d’accès.
2.2-6 Service de transfert de blocs de données
Page
20
20
22
24
25
26
28
2.3
Serveur UNI-TE local
33
2.4
Services X-WAY non supportés
33
2.5
Cycle de scrutation automate
34
3 Maintenance
35
3.1
Recherche de défauts
3.1-1 Généralités
3.1-2 Voyants
3.1-3 Afficheurs
3.1-4 Recherche de défauts avec les voyants et afficheurs
35
35
35
36
37
3.2
Déclenchement des tests
38
4 Spécifications techniques
41
4.1
Caractéristiques d’utilisation du transfert par l’application PL7-3
41
4.2
Performances
43
___________________________________________________________________________
2
TSX DM ETH 110
Chapitre
Page
5 Architecture
5.1
Sommaire
Architecture du coupleur
5.1-1 Architecture logicielle
5.1-2 Architecture matérielle
6 Blocs texte
45
45
45
48
49
6.1
Généralité
49
6.2
Configuration du coupleur
6.2-1 Principe
6.2-2 Définitions de la table de configuration
6.2-3 Définition des paramètres de configuration
6.2-4 Chargement de la configuration
49
49
50
51
52
6.3
Test d’une machine distante (écho)
6.3-1 Principe
6.3-2 Fonctionnement
53
53
53
6.4
Arrêt du service sur le coupleur
6.4-1 Principe
6.4-2 Fonctionnement
54
54
54
7 Blocs fonctions TCP
7.1
Généralités
7.1-1 Présentation des OFBs du produit PL7-TCP
7.1-2 Installations des OFBs
7.1-3 Configuration des OFBs
7.1-4 Utilisation des OFBs
55
55
55
55
55
56
7.2
L’OFB TCPM : gestion du module TSX ETH 110
57
7.2-1 Fonction
57
7.2-2 Interface PL7-3
58
7.2-3 Programmation de l'OFB TCPM
60
___________________________________________________________________________
3
TSX DM ETH 110
Chapitre
7.3
Les OFBs de services TCP
7.3-1 Rappels sur la conception d’une application
7.3-2 Programmation des OFBs
7.3-3 Caractéristiques communes à tous les OFBs TCP
7.3-4 Principes de la mise en œuvre
Sommaire
Page
62
62
63
64
67
7.4
OFB TCPS : émission d’un bloc de données
7.4-1 Fonction
7.4-2 Interface PL7-3
7.4-3 Utilisation de l’OFB TCPS
7.4-4 Programmation de l’OFB TCPS
68
68
68
70
71
7.5
OFB TCPR : réception d’un bloc de données
7.5-1 Fonction
7.5-2 Interface PL7-3
7.5-3 Utilisation de l’OFB TCPR
7.5-4 Programmation de l’OFB TCPR
72
72
72
74
75
7.6
Détail du STATUS (interface APPLIDIAG)
76
___________________________________________________________________________
4
PrésentationChapitre
générale 11
1 Présentation générale.
1.1
Structure de la documentation
Ce document s’adresse à des utilisateurs souhaitant mettre en œuvre un coupleur
TSX ETH 110 dans un automate de la Série 7, pour une connexion à un réseau
Ethernet utilisant le service de transfert de blocs de données sur connexions TCP/IP.
On suppose que le lecteur connaît les protocoles TCP/IP.
Le présent manuel TSX DM ETH 110F est fourni avec le coupleur automate TSX ETH 110.
Le manuel au format A5 peut être intégré dans un classeur avec intercalaires à
commander séparément sous la référence TSX DAC1.
___________________________________________________________________________
5
1.2
Description du coupleur
1.2-1 Généralités
Le coupleur TSX ETH 110 est un coupleur intelligent de la gamme TSX Série 7. Il
s’implante dans les automates programmables modèles 40 (TSX 87-40 et 107-40)
version V5.
Il permet de réaliser des fonctions de transfert de blocs de données entre l’application
de l’automate et des applications informatiques distantes dans une architecture réseau
TCP/IP.
Les applications distantes peuvent être exécutées sur toutes machines supportant un
profil de communication TCP/IP.
Par contre, il n'est pas possible d’utiliser les services offerts par le coupleurTSX ETH 110
pour faire communiquer des programmes applications supportés par deux automates.
En effet, l’établissement de la connexion TCP est à l’initiative de l’application distante.
Or, le coupleur TSX ETH 110 est uniquement serveur sur connexion rentrante ; il ne
prend jamais l’initiative pour établir une connexion avec une application distante.
1.2-2 Fonctionnalités
Le coupleur TSX ETH 110 comporte une liaison 10 Base 5 au réseau Ethernet et un
service de messagerie s’appuyant sur le protocole de transport TCP.
La liaison est réalisée par l’intermédiaire d’un connecteur femelle 15 contacts type
SUB-D offrant l’interface AUI (Attachement Unit Interface) définie dans la norme 802.3.
Le codage d’adresse de la station (numéro de station et numéro de réseau) est assuré
par le bornier TSX ETH ACC1. La vitesse de transmission est de 10 Mb/s. Le médium
est à accès multiples par surveillance du signal et détection de collisions.
Le service de messagerie permet de transférer des blocs de données entre l’application
de l’automate et une ou plusieurs applications distantes supportées par des équipements informatiques (PC, machine Unix...).
Les principales fonctions sont résumées par :
Transfert de blocs de données
Les blocs de données sont échangés sur des connexions TCP qui doivent être ouvertes
à l’initiative de l’application distante, vers un port de service de l’automate.
La taille maximale des blocs de données à échanger est de 8 K octets.
___________________________________________________________________________
6
Présentation générale
1
Etablissement de connexions TCP
Le coupleur TSX ETH 110 remplit, de manière transparente pour l’application automate, la fonction serveur de connexions rentrante sur une liste de ports. La liste peut
comporter au maximum 16 ports de service. Le numéro du port de service doit être
supérieur ou égal à 5010. Cette liste est transmise au coupleur par l’application avec
un bloc texte de configuration. Le coupleur n'autorise qu'une seule connexion par port.
Accès sécurisé
Le coupleur assure également un accès sécurisé. Seules les machines définies dans
la configuration seront autorisées à se connecter à l’automate.
1.2-3 Profils de communication
Le coupleur TSX ETH 110 est doté d’un seul profil de communication TCP/IP sur le
réseau Ethernet, avec un service applicatif de messagerie.
Le coupleur TSX ETH 110 n’offre aucun service X-WAY sur ce même réseau Ethernet,
tels que mots communs, télégrammes, messagerie UNITE.
Le profil TCP/IP et son service de messagerie assurent la communication avec tous les
équipements supportant le protocole TCP/IP.
Application Automate
7 Application
Messagerie
6 Présentation
5 Session
4 Transport
3 Réseau
TCP
IP
- ICMP
UDP
ARP
2 Liaison
Ethernet
1 Physique
Le coupleur TSX 7 TCP/IP n’assure pas le routage de messages entre les coupleurs
de communications d’un même automate.
___________________________________________________________________________
7
1.3
Rappel sur le profil TCP/IP
L’objet de ce chapitre est principalement de présenter brièvement le rôle et le
fonctionnement des différentes couches du protocole TCP/IP et de préciser les options
retenues pour l’implémentation du coupleur TSX ETH 110.
1.3-1 Rappel sur l’adressage
Adresse IP
Une adresse INTERNET, ou adresse IP, identifie une machine reliée au réseau. Elle
est codée sur 32 bits.
Conceptuellement, chaque adresse IP est un couple (nom-de-réseau, identificateurde-machine), où nom-de-réseau identifie un réseau (ou un site) et où identificateur-demachine identifie une machine connectée à ce réseau. Il existe 3 classes d’adresses
IP :
0
0
1
Classe A
2
ID. Réseau
Classe B
1
0
ID. Réseau
Classe C
1
1
0
8
16
24
ID. Machine
31
ID. Machine
ID. Réseau
ID. Machine
En externe, une adresse IP d’une machine est représentée par une chaîne de
caractères de 4 valeurs 8-bits (0 à 255) séparées par des points : « a.b.c.d ».
Classe
A
B
C
Valeurs de a
0-127
128-191
192-223
Par exemple l’adresse IP 90.0.0.1 est codée en interne sur une valeur 32-bits comme
0x5A000001 ; c’est une adresse de classe A où l’identificateur de réseau est 90,
l’identificateur de machine est 1.
Sous-adressage (subnet mask)
Le principe du sous-adressage est de décomposer l’adresse IP (format a) en une partie
réseau et une partie locale. La partie réseau est identique à l’adressage IP, elle identifie
un réseau (ou un site). Par contre, la partie locale est laissée à l’initiative du site ; elle
est alors subdivisée en un numéro de sous-réseau physique et une identification de
machine (format b).
___________________________________________________________________________
8
Présentation générale
Format a
Partie Internet = Id Réseau
Format b
Partie Internet
SubNet Mask
1
Partie locale
numéro de sous-réseau
physique
Bits à 1
Identification de
machine
Bits à 0
Un masque de sous-réseau (subnet mask), codé sur un 32-bits, permet de définir les
bits d’une adresse IP comme partie réseau. Les bits du masque sont à 1 si les bits
correspondants de l’adresse IP sont à interpréter comme partie de l’adresse réseau.
Il sont à zéro pour l’identification de machine.
Ports TCP
Le protocole TCP utilise des numéros de ports pour identifier les destinataires finaux
sur une machine donnée.
Sur le domaine Internet, les ports 1 à 1023 sont réservés. Et en général, les ports 1024
à 5000 sont réservés sur les systèmes Unix pour une attribution automatique par le
système (par exemple à l’attention des clients TCP).
Les ports au-delà de 5 000 sont donc disponibles pour des applications.
Les ports TCP compris entre 5000 et 5009 inclus sont réservés pour un usage interne
Schneider.
1.3-2 Protocole de Résolution d’adresse (ARP)
Les adresses IP sont choisies indépendamment des adresses physiques des machines. La transmission de trame sur un médium du réseau utilise un adressage physique.
Donc pour transmettre un paquet Internet, le logiciel de communication doit mettre en
correspondance l’adresse IP avec une adresse physique et utiliser cette adresse
physique pour transmettre la trame sur le médium.
Le protocole de résolution d’adresses (ARP : Address Resolution Protocol) permet une
résolution dynamique pour associer adresse physique - adresse IP d’une machine
distante, en utilisant des protocoles de communication (en diffusion) de bas niveau. Le
protocole ARP utilise une mémoire cache où sont enregistrées les associations
adresse physique - adresse IP.
Le protocole ARP ne peut être utilisé que si toutes les machines (que l’on souhaite
atteindre) le supportent.
Caractéristiques pour le coupleur TSX ETH 110
L’automate utilise le protocole ARP pour résoudre l’adressage physique.
___________________________________________________________________________
9
1.3-3 Couche IP - Routage
La couche IP (Internet Protocol) offre des services de routage de datagrammes sur le
réseau.
Caractéristiques pour le coupleur TSX ETH 110
Le seul paramètre de configuration pour la couche IP est l’adresse IP du gateway par
défaut. Ce paramètre sera donné par l’application PL7-3.
1.3-4 Couche TCP - Interface socket
La couche TCP (Transmission Control Protocol) offre des services de transport fiable
de données en full-duplex sur une connexion point-à-point, établie entre deux applications situées sur des machines différentes.
L’accès à la couche TCP par le logiciel spécifique du coupleur est faite en utilisant
l’interface socket.
Etablissement de connexion
L’établissement de connexion entre les deux applications est asymétrique, il est basé
sur un modèle client - serveur. Pour que la connexion puisse être établie entre les deux
applications :
• l’application serveur doit être en attente de connexion rentrante pour un port de
service TCP,
• l’application client peut alors envoyer une demande une connexion vers l’application
serveur,
• l’application serveur accepte la connexion rentrante.
SERVEUR (IP_a)
CLIENT
fd = Socket()
connect
(fd, [IP_a, port_a])
ETABLISSEMENT
DE CONNEXION
fd = Socket()
bind(fd,[IP_a, port_a])
listen(fd,l)
accept(fd)
___________________________________________________________________________
10
Présentation générale
1
Transfert de données
Sur une connexion établie, le transfert de données est :
• fiable,
• bufferisé,
• non structuré (flot d’octets et non pas de messages),
• bidirectionnelles simultanées (full-duplex).
Application
TCP
Tampon
émission
TCP
Connexion
Tampon
réception
Application
Tampon
réception
Tampon
émission
Socket
Données Hors Bande
Le protocole TCP prévoit la possibilité de transmettre (au moins) un caractère urgent
OOB (Out Of Band), passant hors du flot de caractères normaux.
En général, côté récepteur, le caractère OOB est mémorisé en dehors des tampons
utilisés pour les caractères ordinaires. Cependant, le récepteur a la possibilité de
configurer la socket pour placer ces caractères dans le flot normal. Ainsi, à l’arrivée d’un
caractère OOB, le précédent ayant cette caractéristique n’est pas perdu : il perd
simplement son aspect urgent et devient accessible dans le flot normal.
Caractéristiques sur le coupleur TSX ETH 110
Le coupleur TSX ETH 110 est uniquement serveur pour l’établissement de connexion.
La liste des ports de service à écouter est passée lors de la configuration du coupleur
par l’application PL7-3.
Les caractères « hors bande » (OOB) ne sont pas utilisés. En réception sur le coupleur
TCP, ils sont pris en compte mais non traités.
Le paramètrage de la couche TCP/socket est fait par le coupleur en fonction de
l’architecture du logiciel. Aucun paramètre n’est accessible par l’application PL7-3.
Cependant, il est possible de préciser certaines caractéristiques d'une connexion.
Les tampons d'émission et de réception du protocole TCP associés à une connexion
sont de 4096 octets.
Les connexions sont configurées avec l'option KEEP ALIVE.
L'émission sur une connexion est configurée avec "remise immédiate". Par exemple,
avec une configuration comprenant le caractère fin de message, un message
<Ig,data,eom> est envoyé avec au moins 3 segments TCP : l'en-tête pour la longueur,
des segments pour les données, puis éventuellement le caractère fin de message.
___________________________________________________________________________
11
1.4
Présentation physique
1.4-1 Le coupleur TSX ETH 110
Le coupleur TSX ETH 110 se présente sous la forme d’un module au format simple
pouvant être inséré dans un emplacement des configurations de base des automates
programmables.
Ce coupleur se compose des éléments suivants :
1 Un boîtier métallique protégeant mécaniquement les circuits électroniques et
assurant une protection contre les parasites rayonnants.
2 Un voyant de couleur verte repéré RUN
(coupleur sous tension en état de
fonctionnement).
3 Un voyant de couleur rouge repéré DEF :
- allumé fixe ; défaut coupleur.
4 Deux voyants de couleur jaune indiquant l’état de fonctionnement du coupleur par rapport au réseau :
• RX : réception de données,
• TX : émission de données.
5 Deux afficheurs "7 segments" et un point
lumineux donnant diverses informations
sur le fonctionnement du coupleur.
6 Un connecteur femelle 11 contacts type
SUB-D pour le bornier TSX ETH ACC1.
7
1
RUN
DEF
2
3
8
RX
4
TX
NET
5
6
7
7 Deux vis de fixation assurent le verrouillage du coupleur dans le bac.
8 Connecteur femelle 15 contacts type
SUB-D offrant l'interface AUI pour la
connexion au réseau. Ce connecteur
est équipé d'une glissière permettant de
verrouiller le câble de dérivation.
La face arrière du coupleur est équipée d’un dispositif de détrompage mécanique pour
éviter les erreurs de mise en place des modules.
___________________________________________________________________________
12
Présentation générale
1
Verrouillage du connecteur
Le verrouillage du connecteur s'effectue
en faisant glisser la languette vers le bas
(voir dessin ci-contre).
1.4-2 Le bornier de raccordement TSX ETH ACC1
Ce bornier assure le codage de l’adresse
(numéro de station et du numéro de réseau) par quatre roues codeuses hexadécimales.
262
235
2
212
Le bornier est muni d’une languette plastique permettant de le rendre solidaire du
bac de l’automate à l’emplacement du
coupleur TSX ETH 110. Ce lien permet le
remplacement des coupleurs sans risque
de perdre ou de permuter des borniers.
___________________________________________________________________________
13
1.5
Mise en œuvre matérielle
1.5-1 Montage des coupleurs dans les bacs
Automates modèle 40 (version V5) :
TSX 87
Emplacement 1à 7 1 coupleur
TSX 107
Emplacement 1à 7 1 coupleur
Note :
Quel que soit le type d’automate, les coupleurs TSX ETH 110 ne peuvent se monter que dans le
bac principal.
Les processeurs doivent être montés dans des bacs ventilés.
Détrompage
Mécanique
Code décimal sur 3 chiffres donné par 3 détrompeurs
femelles situés à l’arrière du coupleur.
714
Logiciel
Saisi lors de la configuration des entrées/sorties sur le
terminal de programmation.
14
Installation de la ligne
Les précautions concernant l'installation de la ligne sont celles spécifiées par la norme
ISO 8802-3, et sont décrites dans le manuel de référence ETHWAY pour le câblage
d'un réseau 802.3.
___________________________________________________________________________
14
Présentation générale
1
1.5-2 Codage des adresses sur le bornier
0
net
3
1
stat
B
L’accès aux roues codeuses se fait en
démontant la face latérale du bornier. Le
circuit imprimé sur lequel se trouvent les
roues codeuses peut alors être retiré de
son logement.
Chaque station d’une architecture de réseau est affectée d'une adresse repérée
par :
• STAT : c’est le numéro de la station sur
le réseau. Il peut prendre les valeurs de
0 à 3F, (soit 64 stations),
• NET : c’est le numéro de réseau. Il peut
prendre les valeurs de 0 à 7F.
Ces adresses sont codées en hexadécimal sur les quatre roues codeuses du
bornier comme indiqué dans l’exemple
suivant.
Exemple
Le codage des roues codeuses du bornier
ci-dessus correspond à la station
d’adresse 27 (H’1B’) sur le réseau numéro 3 (H’03').
Principe d'adressage
Un équipement est identifié par une adresse unique au niveau liaison (adresse MAC) :
Adresse IEEE
<
00
80
Numéro de Réseau
Numéro de Station
>
F4
00
R
S
Sur un équipement Telemecanique, les adresses Réseau et Station sont codées par
le bornier TSX ETH ACC1.
___________________________________________________________________________
15
1.5-3 Connexion au réseau
Une fois effectuée la mise en place du coupleur dans le bac, la connexion du câble de
dérivation, le codage des adresses dans le bornier et l’enfichage de celui-ci, l’automate
se trouve raccordé au réseau.
Lorsque l’automate est mis sous tension, tous les voyants du coupleur s’allument un
bref instant et les auto-tests sont déclenchés. Le voyant RUN reste allumé en fin de
phase d’auto-tests (lorsque ceux-ci sont corrects). Il indique le fonctionnement normal
du coupleur.
Son extinction correspond à la détection d’expiration du "chien de garde", c’est-à-dire
le passage du coupleur à l’état inactif.
Les voyants RX et TX indiquent que le coupleur TSX ETH 110 a détecté une activité
le concernant en réception de données (RX) ou en émission de données (TX).
Les afficheurs "7 segments" ont diverses fonctions de signalisation. En cas de bon
fonctionnement du coupleur, ils affichent successivement avec une période d’environ
2 secondes :
• le numéro de réseau avec un point en
bas à droite (exemple : réseau 02.),
• le numéro de la station sans point (exemple : station 1A).
Si un défaut apparaît pendant la période d’auto-test ou en fonctionnement, les
afficheurs indiquent le code du défaut, (voir le chapitre 3 : maintenance).
___________________________________________________________________________
16
Présentation générale
1
1.5-4 Description de l'interface AUI
L'interface AUI (Attachment Unit Interface) permet la connexion d'une station au réseau
par dérivation. Le câble à utiliser, la connectique ainsi que les signaux électriques sont
décrits dans la norme 802.3.
Emetteur/Récepteur
Câble principal
Interface AUI
Station i
Station j
Brochage du connecteur 15 contacts type SUB-D (côté station)
Le brochage du connecteur femelle 15 contacts type SUB-D situé sur la face avant du
coupleur TSX ETH 110 correspond à celui défini dans la norme OSI 802.3 pour
l'interface AUI :
N° de pin
Appellation norme 802.3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Corps SubD
CI-S
(Control in shield)
CI-A
(Control in A)
DO-A
(Data Out A)
DI-S
(Data in shield)
DI-A
(Data in A)
VC
(Voltage Common)
Option non utilisée
Option non utilisée
CI-B
(Control in B)
DO-B
(Data Out B)
DO-S
(Data Out Shield)
DI-B
(Data in B)
VP
Voltage Plus
VS
Voltage Shield
Option non utilisée
PG
Protective Ground
Utilisation
GND
COLL+
TX+
GND
RX+
GND
GND
COLLTXGND
RX12 V
GND
GROUND
___________________________________________________________________________
17
___________________________________________________________________________
18
Mise en œuvreChapitre
logicielle 22
2 Mise en oeuvre logicielle
2.1
Généralités
2.1-1 Fonctionnalités
Le coupleur TSX ETH 110 supporte principalement des fonctions de communication
sur connexions TCP, offertes par le service de messagerie.
Les principales fonctionnalités du service sont :
• la gestion du mode de marche du coupleur TSX ETH 110,
• la configuration du service : mise en place des paramètres de fonctionnement
nécessaires au profil de communication TCP/IP et au service de messagerie,
• le test d’une machine distante, utilisant une demande/réponse Echo du protocole
ICMP,
• l’établissement de connexion TCP avec accès sécurisé par des machines distantes,
• le transfert de blocs de données entre programme application automate et programme d’application distante.
2.1-2 Installation du logiciel
Les coupleurs TSX ETH 110 sont livrés avec les OFBs correspondants, qu'il faut
installer.
2.1-3 Configuration du coupleur
A la mise sous tension, après l’exécution des auto-tests, le coupleur TSX ETH 110 ne
se configure que partiellement. Seuls les numéros de réseau (H’00' à H '7F') et de
station (H’00' à H’3F’) sont pris en compte pour définir l’adresse physique MAC
(Medium Access Control) du coupleur sur le réseau Ethernet.
L’application automate doit charger par bloc texte, les paramètres de configuration
nécessaires au fonctionnement effectif du coupleur TSX ETH 110.
Le processeur ne prend en compte le coupleur TSX ETH 110 que si celui-ci a été
déclaré dans la configuration des Entrées/Sorties comme un coupleur TSX ETH 200.
Important :
Le logiciel PL7-NET n’est pas nécessaire pour la configuration réseau du coupleur
TSX ETH 110.
Lors de la configuration d'un coupleur TSX ETH 110, il est impératif d'inhiber
l'activation des mots communs.
___________________________________________________________________________
19
2.2
Service de messagerie
2.2-1 Généralités
Le service de messagerie permet le transfert de blocs de données entre l’application
automate et une application distante au travers d’une connexion TCP.
Le transfert de blocs de données est réalisé sur une connexion TCP. Il faut donc au
préalable établir une connexion TCP entre l’application distante et le coupleur
TSX ETH 110.
Application
Automate
Application
Distante
TSX ETH110
Connexion TCP
Etablissement de connexion avec le coupleur TSX ETH 110 de l’automate.
L’établissement de connexion TCP est transparente pour l’application automate. Elle
est basée sur un modèle « client-serveur ».
Client
Un client est une application qui prend l’initiative d’établir une connexion TCP vers un
port de service d’un serveur supporté par un équipement distant.
Serveur
Un serveur est une application qui attend sur un port de service donné, une demande
de connexion rentrante d’un client distant.
La fonction serveur est supportée par le coupleur TSX ETH 110.
Pour que la connexion puisse être établie entre le client et le serveur, il faut que le
serveur du coupleur TSX ETH 110 soit actif. Il faut donc que l’application automate ait
effectué une configuration du coupleur TSX ETH 110.
___________________________________________________________________________
20
Mise en œuvre logicielle
2
Transfert de blocs de données
Dès que la connexion est établie, les applications peuvent s’échanger des blocs de
données dont la taille max. est de 8 K octets.
Fermeture de connexion
La fermeture d’une connexion peut être effectuée à l’initiative de l’application distante,
ou de l’application automate en appliquant un RESET sur un des OFBs utilisant cette
connexion, qu’il soit actif ou non (bit READY à 0 ou à 1).
Pour une bonne gestion de la fermeture de connexion par le coupleur, il est conseillé,
dans l’application PL7-3, de mettre en place un OFB continuellement en réception sur
cette connexion, même s’il n’est prévu aucun échange en réception.
Le coupleur TSX ETH 110 se met en écoute de réception (pour des données et/ou pour
une demande de fermeture par le distant) dès que la connexion est établie. Par contre,
si des données sont présentes en réception sur la connexion, elles ne seront retirées
de la connexion uniquement si un bloc OFB Réception est actif. Une demande de
fermeture de connexion par le distant ne sera traitée par le coupleur qu’après réception
de toutes les données contenues dans la connexion, donc si des OFBs Réception sont
activés.
Cas de connexion utilisée en half-duplex.
Il est possible de définir une communication en half-duplex avec uniquement des
émissions de l’automate vers une application distante, sans utilisation de l’OFB de
réception. Mais pour que ce modèle de communication fonctionne correctement, il est
impératif et obligatoire que l’application distante ne lance aucune émission de
données sur cette connexion en half-duplex.
Dans le cas contraire, c’est à dire si des données sont présentes en réception sur
l’automate, une demande de fermeture par l’application distante n’est pas prise en
compte immédiatement; la fermeture de la connexion est détectée et prise en compte
par le coupleur TSX ETH 110 uniquement lors des demandes d’émission par
l’application PL7-3. En absence de ces demandes d’émission, la connexion reste dans
l’état «ouvert et occupé» pour le coupleur TSX ETH110 : des données sont en attente
sur la connexion pour un OFB Réception. Tant que la connexion reste dans cet état,
il est impossible à l’application distante de se re-connecter sur le port associé à cette
connexion.
___________________________________________________________________________
21
2.2-2 Gestion du mode de marche
Le rôle de cette fonction est d’offrir une synchronisation entre le mode de marche de
l’UC et celui du coupleur pour le service de messagerie, ainsi qu’une signalisation de
l’état du coupleur pour l’application PL7-3.
Cette fonction assure la ré-initialisation de l’ensemble de la communication TCP/IP
(coupleur + OFBs de transfert), de manière simple et transparente à l’application PL7-3,
sur les événements suivants:
• un changement de mode de marche de l’UC automate (reprise à chaud, reprise à
froid, ..),
• un chargement de programme,
• un passage de STOP/RUN de l’automate,
• un changement d’état du coupleur,
• une demande explicite de ré-initialisation par l’application PL7-3.
Cette fonction est assurée par l’OFB TCPM.
Le graphe du mode de marche du coupleur TSX ETH 110 est le suivant :
Reprise secteur
INITIALISATION
Système Ok
NON
CONFIGURE
Configuration
correcte
Coupure/Reprise
secteur
initialisation
verrou cartouche
EN
SERVICE
Démarrage à chaud ou démarrage à
froid ou STOP ou RESET de l'OFB
TCPM
ARRET DU
SERVICE
Service
arrêté
(état transitoire)
Coupure/Reprise secteur
initialisation verrou
cartouche
___________________________________________________________________________
22
Mise en œuvre logicielle
2
L’arrêt du service sur le coupleur comprend les actions suivantes :
• toutes les opérations en cours (demande d’émission et de réception) sont annulées
sans aucune indication vers le service de messagerie supporté par l’UC (OFBs de
transfert).
• tous les démons en attente de connexions rentrantes sont désactivés,
• puis, toutes les connexions ouvertes sont fermées.
Il faut noter que, excepté pour une coupure secteur ou un coup de verrou cartouche,
les applications distantes sont prévenues de l’arrêt du service sur l’automate par la
fermeture des connexions, puis l’impossibilité de rétablir les connexions (arrêt des
démons).
La fonction de gestion du module permet également de connaître l’état du coupleur TSX
ETH 110 par un bit d’état RUN, plus un bit annexe d’état START indépendant du
coupleur.
Le bit d’état RUN passe de 0 à 1 quand le coupleur est prêt dans l’état «non-configuré».
Il passe à 0 dès qu’il quitte l’état «Non Configuré» ou l’état «En Service». Le front
montant du bit RUN permet à l’application PL7-3 de déclencher la procédure de
configuration du coupleur TSX ETH 110.
Le bit START permet à l’application PL7-3 de détecter un passage en STOP/RUN de
l’automate.
D’autre part, le service de transfert de blocs de données (OFBs TCPS et TCPR) utilise
directement les informations fournies par cet OFB TCPM, pour se ré-initialiser automatiquement sur un passage à 0 du bit RUN.
Le service offert est résumé par les deux chronogramme suivants:
SY0 ou SY1 ou
chargement d'une
application
ou RESET sur TCPM
Bit RUN
INIT
Ré-initialisation
des OFBS de
transfert
Coupleur dans l'état
NON CONFIGURE
Arrêt du service sur le coupleur
si le coupleur est dans l'état "En service"
___________________________________________________________________________
23
Et, pour le passage STOP/RUN de l’automate:
STOP
RUN
Bit START
Bit RUN
STOP
INIT
Arrêt du service
Ré-initialisation
des OFBS de
transfert
Coupleur dans l'état
NON CONFIGURE
Service déjà arrêté
2.2-3 Configuration
L’application automate PL7-3 doit charger par bloc texte, les paramètres de configuration nécessaires au fonctionnement du coupleur TSX ETH 110.
Les informations de configuration sont principalement les suivantes :
•
•
•
•
adresse IP locale de l’automate sur le réseau,
le masque de sous-adressage (subnet mask),
l’adresse IP de la gateway par défaut,
la liste des adresses IP des machines distantes autorisées à se connecter à
l’automate (nombre max. = 8),
• la liste des ports de service à écouter. (nombre max. = 16).
Par rapport au paragraphe «gestion du mode de marche», la configuration est perdue
sur :
•
•
•
•
•
•
la disparition de la tension secteur ,
le chargement d’une application,
une reprise à froid,
une reprise à chaud,
l’action STOP,
une ré-initialisation du coupleur par un RESET de l’OFB TCPM.
Le front montant du bit RUN permet de déclencher au bon moment la procédure de
configuration du coupleur TSX ETH 110.
Si aucune configuration correcte n’est définie par l’application PL7-3, le coupleur reste
dans l’état « non configuré ».
___________________________________________________________________________
24
Mise en œuvre logicielle
2
2.2-4 Test de machine distante : Echo.
Le coupleur TSX ETH 110 offre un service appelé : ECHO. Le but de ce service est de
tester la présence d’une machine distante, et non pas la qualité de transmission du
réseau.
Dès que le coupleur a été configuré par l’application PL7-3, l’application PL7-3 a la
possibilité de tester l’accessibilité d’une machine distante à travers le réseau. Comme
paramètres d’entrée du service ECHO, l’application spécifie l’adresse IP de la machine
distante ainsi que le texte à envoyer (longueur et contenu).
Le service est alors réalisé par le coupleur TSX ETH 110 en s’appuyant sur le protocole
ICMP, avec une demande/réponse d’écho ICMP (echo request and echo reply
messages). La machine distante à tester doit donc supporter le protocole ICMP.
En l’absence d’erreur de transmission sur les médium (perte de datagramme), ce test
permet de vérifier que :
• la couche IP de l’automate route correctement le datagramme,
• les passerelles intermédiaires entre l’automate et la machine distante à tester sont
opérationnelles et routent correctement le datagramme,
• les couches IP et ICMP de la machine distante sont opérationnelles et correctement
configurées,
• les routes des passerelles du chemin de retour sont correctes.
Une réponse négative retournée par le coupleur à l’application automate peut être
causée par :
• une erreur permanente :
- l’absence sur le réseau de la machine à tester,
- une erreur de configuration de l’automate, des routeurs, de la machine distante,
- un problème de câblage entre les deux machines,
• une erreur transitoire pendant le test (perte de datagramme).
Dans le cas dans d’une réponse négative, il est donc conseillé de répéter plusieurs
fois le test ECHO pour distinguer le cas de l’erreur permanente et de l’erreur transitoire
de transmission (cas où il y a un taux important d’erreurs sur les transmissions entre
les deux machines).
Remarque :
Le service offert a été appelé “Echo” pour marquer le fait qu’une seule demande
d’écho ICMP est effectuée par le coupleur, à l’inverse d’une fonction évoluée,
appelée en général ping, qui émet une suite de demandes d’écho ICMP, et qui
retourne comme compte-rendu des statistiques sur le transfert de messages entre
les deux machines.
___________________________________________________________________________
25
2.2-5 Etablissement de connexion avec sécurité d’accès.
Dès que le coupleur a été configuré par l’application PL7-3, le coupleur active des
démons en attente de connexions rentrantes pour chaque port local de service défini
dans le tableau de configuration. Toute machine distante déclarée dans la configuration peut donc se connecter à tous ports déclarés de l’automate.
Juste après acceptation d’une connexion rentrante sur un port local de service, le
démon vérifie que :
1. le port est libre (une seule connexion établie par port).
2. l’adresse IP de la machine distante appartient à la liste des machines distantes
autorisées à se connecter.
Si au moins une des conditions précédentes n’est pas vérifiée, le coupleur ferme cette
nouvelle connexion.
Par contre, si les conditions précédentes sont vérifiées, la connexion TCP sur le port
local de service est acceptée. Elle est mémorisée dans la liste des connexions
ouvertes. Le port local de service associé est occupé, il n’est plus accessible pour toute
autre demande de connexion.
Remarques :
• Même si une connexion est établie sur un port de service, le démon du port de
service reste actif. Toute nouvelle demande d’ouverture de connexion est donc
acceptée, puis immédiatement refermée par le coupleur. Pendant un instant,
l’application distante «voit» la connexion établie avec l’automate.
• Si l’application distante cherche à établir la connexion avec l’automate par une
suite de demandes (par exemple avec la primitive connect() de l’interface socket
Berley) jusqu’à réussite de celles-ci, il faut laisser un délai d’au moins 10
secondes entre chaque tentative de connexion.
Chaque connexion TCP ouverte avec le coupleur est donc caractérisée de façon
unique par le port local de service (1 port de service <-> 1 connexion). L’adresse IP
de la machine distante est uniquement un attribut associé à cette connexion.
___________________________________________________________________________
26
Mise en œuvre logicielle
2
Le graphe d’état d’une connexion pour un port de service est le suivant :
1 : NON CONFIGURE
Configuration coupleur correcte
1 : ATTENDRE CONNEXION
(port libre)
INIT
Connexion rentrante
2 : CONTROLER L'ACCES
Accès autorisé
Port occupé
ou
Accès non autorisé
=> Fermeture connexion
3 : CONNEXION ETABLIE
(port occupé)
INIT
=> Fermeture Connexion
INIT
=> Fermeture Connexion
Erreur
Fin de message
RESET
ou
Fermeture par le distant
=> Fermeture Connexion
4 : CONNEXION ETABLIE
DESYNCHRONISEE
(port occupé)
Une connexion établie est fermée par le coupleur :
• lors de l’accès par l’application distante (ouverture temporaire pour contrôle)
- port déjà occupé
- machine non autorisée
• sur une demande par l’application PL7-3 (voir signal RESET sur les OFBs de transfert
TCPS ou TCPR)
• sur une fermeture de la connexion par l’application distante,
• sur une ré-initialisation du coupleur (notée INIT sur le graphe)
- par une demande par l’application PL7-3 d’un passage du coupleur à l’état nonconfiguré (voir signal RESET sur OFB TCPM de gestion du module ETH 110)
- par une action STOP sur une application en cours d’exécution
- lors d’une reprise à chaud (SY0) ou d’une reprise à froid (SY1)
- lors d’un chargement d’une nouvelle application sur l’automate
___________________________________________________________________________
27
Par contre, sur une coupure secteur ou sur un coup de verrou cartouche (arrêt brutal
du logiciel du coupleur), les connexions établies ne sont pas effectivement fermées
par le coupleur. Une application distante ne peut détecter la perte de communication
avec le coupleur que si elle effectue des émissions (détection par un signal «broken
pipe» au bout de la énième émissions), et/ou si elle surveille l’absence de réception
de message pendant un délai donné. Le cas est analogue à une coupure de câble
entre l’automate et la machine distante.
Note :
La configuration de la connexion (ou socket) avec l’option «keep alive» permet de détecter la perte
de la connexion avec absence de trafic mais au bout d’un délai important (environ 2 heures).
La détection d’une erreur du caractère « fin de message » sur la réception d’un
message par le coupleur n’entraîne pas la fermeture automatique de la connexion par
le coupleur. Par contre, la connexion sera marquée comme désynchronisée, prenant
les caractéristiques suivantes :
• toutes les données reçues sur une connexion désynchronisée sont perdues.
• les nouvelles demandes de réception sur une connexion désynchronisée sont
immédiatement retournées (sans aucune donnée) avec une indication d’erreur
« connexion désynchronisée ».
• les émissions sont possibles sur une connexion désynchronisée.
2.2-6 Service de transfert de blocs de données
Le service de transfert permet d’échanger des blocs de données (suite de N octets)
sur une connexion établie entre une application distante et l’application PL7-3 de
l’automate sur un port de service local donné.
L’application PL7-3 a accès au service de transfert de blocs de données par deux
OFBs :
• TCPS : transfert d’un bloc de données vers une application distante,
• TCPR : attente d’un bloc de données émis par une application distante.
Dans les demandes de transfert, deux possibilités sont offertes à l’application PL7-3
pour identifier l’application distante :
• par le seul paramètre : numéro de port local de l’automate (paramètre suffisant pour
identifier une connexion TCP du coupleur). Le transfert est effectué si une connexion
est établie sur ce port, quelle que soit la machine distante connectée à ce port,
• par le couple de paramètres : numéro de port local et adresse IP de la machine
distante.
Le transfert est effectué si une connexion est établie sur ce port avec la machine
distante spécifiée par l’application PL7-3.
___________________________________________________________________________
28
Mise en œuvre logicielle
AUTOMATE : adresse IP = IP_a
Application PL7-3
2
Site distant
adresse IP = IP_1
Coupleur TCP/IP
Connexion
TCP/IP
établie
SEND (IP_1, 5010, msg)
Serveur du client C1
(port local 5010)
C1
Client distant
connecté au service A
de l'automate IP_a
par le port 5010
RCV (IP_1, 5010, buffer)
Création du serveur
Connexion
rentrante
Démon du
service A
(port local 5010)
Les services de transfert de blocs de données, offerts à l’application PL7-3 de
l’automate, sont les suivants :
• OFB TCPS : demande d’émission vers un client distant d’un bloc de données dont
la taille maximale est de 8 K octets. Une émission reste active tant que les deux
conditions suivantes sont réalisées :
- le tampon d’émission du point connexion émetteur (automate) est plein,
- le tampon de réception du point de connexion destinataire est plein,
c’est-à-dire si le destinataire ne consomme pas les données sur la connexion.
• OFB TCPR : demande de réception d’un client distant d’un bloc de données dont la
taille maximale est de 8 K octets. L’attente de réception est active tant que la
connexion est présente et qu’aucun message complet n’est reçu sur cette connexion.
Si nécessaire, il est du ressort de l’application PL7-3 d’utiliser un timer (câblé sur le
signal RESET de l’OFB) pour annuler la demande en cours au bout d’un délai.
Si la connexion TCP n’est pas établie avec l’application distante au moment de la
demande de transfert de données, cette dernière est immédiatement refusée par le
coupleur avec une indication d’erreur : connexion non établie.
De même, si la connexion est fermée par l’application distante ou perdue, toutes les
opérations en cours sur cette connexion sont retournées avec une indication d’erreur :
« connexion non établie ».
Remarque :
Il faut noter que le transfert du bloc de données entre l’application automate et le
coupleur se fait en plusieurs cycles automates.
___________________________________________________________________________
29
Transferts multiples sur un même port.
L’application PL7-3 a la possibilité d’activer en parallèle plusieurs demandes (OFB)
d’émission et/ou de réception sur un même port de service, sans attendre le compte
rendu des demandes précédentes.
Le service de transfert offert par le coupleur garantit l’ordre d’émission ou de réception
des messages en fonction de l’ordre de réception par le coupleur de l’activation des
OFBs (et non pas sur l’ordre des fins de transfert de messages entre le coupleur et
l’UC).
Mais, si les activations de 2 OFBs (en émission ou en réception) pour un même port se
font dans le même cycle automate, l’ordre est alors indéterminé.
D’autre part, il n’y a aucune corrélation temporelle entre les émissions et les réceptions.
Pour une même connexion, le canal en émission et le canal en réception sont
indépendants.
On donne en exemple les deux cas suivants :
En émission
Emission E1
(8 K o)
port A
Emission E2
(10 octets)
port A
CR
E1
CR
E2
Cycle
Automate
2 cycles
Transfert UC –>
Coupleur
Transfert en N cycles
E1
E2
Emission sur
connexion (port A)
Le message de 10 octets ne double pas le message de 8 K octets dans l’interface
UC/Coupleurs, mais les transferts sont effectués en parallèle dans la limite des
capacités de l’interface matérielle UC/Coupleur.
___________________________________________________________________________
30
Mise en œuvre logicielle
2
En réception
Réception R1 Réception R2
port A
port A
CR CR
R2 R1
Cycle Automate
T = N cycles
Transfert Coupleur –> UC
T = 3 cycles
Réception
message
8 K o
Réception sur connexion (port A)
Réception
message
700 octets
Les transferts coupleur vers UC des messages reçus sont effectués en parallèle dans
la limite des capacités de l’interface matérielle UC/Coupleur, mais les comptes-rendus
de réception sont donnés à l’application PL7-3 dans l’ordre de réception des messages
sur la connexion (décalé d’un cycle automate si nécessaire, comme pour le cas de
l’exemple donné dans le schéma).
Conseil de programmation
Comme le montrent les exemples, il est déconseillé d’utiliser une même connexion (un
même port) pour un service utilisant de gros messages (transfert de données/
paramètres) et pour un service utilisant de petits messages (contrôle/commande).
Format des messages échangés entre le coupleur et application distante
Une caractéristique importante de la communication sur une connexion TCP est
l’aspect continu de l’information (« flot d’octets ») : le récepteur n’a pas la possibilité de
retrouver la structure d’un message sans information et protocole particulier établi entre
l’émetteur et le destinataire.
Il a été choisi de structurer les messages échangés par le format suivant :
2 octets
Longueur message = N
N octets
Bloc de Données de l’utilisateur
(N-1) octets
Caractère
Fin de Message
Au niveau de l'automate, les deux champs supplémentaires (longueur message et
caractère fin de message) sont ajoutés (émission) ou supprimés (réception) par le
coupleur TSX ETH 110.
___________________________________________________________________________
31
Longueur message
Ce champ spécifie le nombre total d’octets du message utile, constitué par les données
utilisateur plus le caractère optionnel de fin de message.
Il est défini comme une valeur signée sur 16 bits au format réseau. Il permet de coder
des valeurs de 0 à 32 767 (32 K - 1).
Il est conseillé d’utiliser les fonctions suivantes pour encoder/décoder le paramètre
« longueur message » :
htons()
conversion host-to-network, short integer
ntohs()
conversion network-to-host, short integer
Caractère “Fin de message”
Ce champ sur 1 octet est un caractère optionnel défini par la configuration du coupleur,
pour marquer la fin du message.
Cette marque de fin est une information redondante avec le paramètre « longueur de
message » qui est suffisant pour structurer le flot de données en messages. Son utilité
est uniquement de contrôler en réception sur le coupleur la cohérence du message et
d’éviter la propagation d’une erreur provoquée par une application distante.
Traitement du caractère Fin de Message
Quand l’option caractère « fin de message » est positionnée dans la configuration du
service de messagerie, le coupleur TSX ETH 110 contrôle la validité des messages
reçus pour toutes les connexions ouvertes. Si une erreur de caractère « fin de
message » est détectée dans un message reçu, la demande de réception est retournée
avec une indication d’erreur « Fin de message ». Puis, la connexion associée est
déclarée désynchronisée avec les caractéristiques suivantes :
• toutes les données reçues sur cette connexion sont perdues,
• toutes nouvelles demandes de réception sur cette connexion, déclenchées par
l’application automate, sont refusées avec une indication d’erreur “connexion
désynchronisée”,
• les demandes d’émission de blocs de données par l’application automate sont
acceptées et traitées par le coupleur TSX ETH 110.
La connexion doit être fermée par l'application.
___________________________________________________________________________
32
Mise en œuvre logicielle
2
Protocole d’application à application
Aucune contrainte n’est imposée sur le protocole d’échange sur une connexion TCP
établie entre le client distant et l’application automate. Les échanges peuvent être
définis comme :
•
•
•
•
requête/réponse à l’initiative de l’application client,
requête/réponse à l’initiative de l’application automate,
bloc de données non sollicitées à l’initiative de l’application client,
bloc de données non sollicitées à l’initiative de l’application automate.
2.3
Serveur UNI-TE local
Le coupleur TSX ETH 110 ne supporte qu’un mini serveur UNI-TE local.
La fonction du serveur UNI-TE est de retourner une réponse à toute requête UNI-TE
issue de l’UC automate.
Par contre il ne traite effectivement que les requêtes UNI-TE locales (destinées au
coupleur) suivantes :
• identification,
• version protocole,
• lecture configuration,
• écriture configuration,
• miroir,
• status.
Toutes les autres requêtes sont refusées par le coupleur TSX ETH 110.
2.4
Services X-WAY non supportés
Le coupleur TSX ETH 110 est vu par le processeur comme un coupleur ETH 200.
Cependant, le coupleur TSX ETH 110 ne supporte pas les fonctionnalités X-WAY :
• le service de Mots Communs,
• la communication avec l’OFB UNITE,
• le service UNITE vers d’autres équipements connectés au réseau Ethernet.
• la communication d’application à application,
• le service télégrammes.
Important :
Lors de la configuration d’un coupleur TSX ETH 110, il est impératif d’inhiber
l’activité des mots communs.
___________________________________________________________________________
33
2.5
Cycle de scrutation automate
Le synoptique ci-contre rappelle le cycle
de la tâche maître de l’automate dans
laquelle est prise en compte la présence
du coupleur TSX ETH 110.
Seules sont repérées les informations nécessaires à la bonne compréhension du
fonctionnement du coupleur TSX ETH 110.
1
2
1 Prise en compte des bits et mots système et mise à jour de ceux-ci lorsqu’ils
sont positionnés par le système.
2 Surveillance entre autres de la présence
du coupleur TSX ETH 110 avec action
éventuelle sur les bits défauts tels que
SY10 ou Ixy,S.
3
Gestion Système
• Mise à jour des bits et mots
système
• Surveillance automate
• Traitement des requêtes
terminal
Acquisition des Entrées
Prise en compte en mémoire de
données :
• Messages coupleurs intelligents
• Messages
3 Ecriture de 4 messages maximum.
4 Exécution du programme utilisateur.
5 Emission vers le coupleur TSX ETH 110
de 4 messages maximum.
4
Traitement
du programme
Mise à jour des sorties
5
• Emission messages réseaux
Important :
Un bloc de données du service TCP (8 K octets max.) est échangé entre
UC/coupleur par plusieurs messages de 240 octets. Chaque message du bloc de
données est échangé par cycle automate.
A chaque cycle de la tâche maître peuvent être traités, en émission et en réception,
4 messages maximum en pointe.
La somme des messages en entrée et en sortie ne doit pas être supérieure à 200
messages seconde.
Sur une seule connexion, 240 octets sont transférés par cycle.
___________________________________________________________________________
34
Chapitre 33
Maintenance
3 Maintenance
3.1
Recherche de défauts
3.1-1 Généralités
Sur la face avant des coupleurs TSX ETH 110 , sont
implantés quatre voyants et deux afficheurs 7 segments.
ETH 110
RUN
DEF
Ces éléments permettent d’avoir de nombreuses informations sur l’état de fonctionnement du coupleur et de sa
connexion au réseau Ethernet TCP/IP.
RX
TX
3.1-2 Voyants
Gestion du voyant RUN
Ce voyant vert indique l’état général du coupleur. Il est allumé lorsque le coupleur est
opérationnel et actif. Il est éteint dès que le coupleur est hors service.
Ce voyant reste allumé à la fin des auto-tests (fonctionnement normal du coupleur). Il
s'éteint si un défaut quelconque est décelé, empêchant le passage à l’état actif du
coupleur.
La gestion de ce voyant est matérielle. Son extinction correspond à la détection
d’expiration du "chien de garde" (Watchdog), c’est-à-dire un passage à l’état hors
service.
Gestion du voyant DEF
Ce voyant rouge indique (lorsqu’il est allumé ou clignotant), un défaut matériel ou
logiciel sur le coupleur TSX ETH 110.
Il s’allume brièvement lors de la mise sous tension, puis s’éteint dès le début du
déroulement des auto-tests.
Il clignote (toutes les secondes) tant que le coupleur TSX ETH 110 n’a pas été configuré
correctement par l’application automate.
Il s’allume en permanence dans les cas suivants :
• un des auto-tests s’est terminé par une erreur. Le code de l’auto-test apparaît alors
sur l’afficheur 7 segments, (voir chapitre "Déclenchement des tests"),
• en cours de fonctionnement, lorsqu’un défaut permanent est détecté,
• quand le bornier de raccordement au câble (TSX ETH ACC1) est déconnecté.
La gestion de ce voyant est logicielle. Son allumage correspond à la détection par le
logiciel interne du coupleur d’un défaut empêchant son fonctionnement correct. Il ne
coïncide pas obligatoirement avec l’extinction du voyant RUN.
___________________________________________________________________________
35
Gestion des voyants RX et TX
Ces deux voyants jaunes indiquent que le coupleur TSX ETH 110 a détecté une activité
en réception de données pour RX et en émission de données pour TX.
A la mise sous tension ces voyants sont allumés puis s’éteignent au début des autotests. Leur gestion est logicielle.
3.1-3 Afficheurs
Le coupleur TSX ETH 110 est muni de deux afficheurs 7 segments ainsi que d’un point
lumineux.
A la mise sous tension, des valeurs quelconques sont affichées, puis immédiatement
éteintes.
Lors des auto-tests, les afficheurs indiquent le numéro de l’auto-test en cours.
Si un défaut est détecté, le code correspondant s’affiche et le voyant DEF s’allume.
A la fin des auto-tests, si le coupleur fonctionne correctement, les afficheurs indiquent
alternativement :
• le numéro de réseau auquel est connecté le coupleur, avec un point lumineux en bas
à droite,
• le numéro de station sur le réseau considéré, le point lumineux étant alors éteint.
En fonctionnement normal, les afficheurs indiquent l’adresse de la station sous la
forme : numéro de "réseau•" et numéro de "station".
Ces deux informations se succèdent cycliquement avec une période d’environ
deux secondes. Cette séquence permet de diagnostiquer une configuration correcte
en local (bon adressage des numéros de réseau et station dans le bornier
TSX ETH ACC1).
En bon fonctionnement, les afficheurs sont également utilisés pour signaler :
• un changement d’état du coupleur :
h1
Ré-initialisation du coupleur (passage en «non configuré»)
h2 puis h3: Exécution de la phase transitoire d’arrêt du service. Le coupleur était
donc dans l’état «En Service» et repasse dans l’état «Non Configuré»
• le traitement d’une demande de configuration :
cF
Réception d’une demande de configuration
c0
cN
Configuration correcte et acceptée
Configuration refusée , avec N de 1 à E indiquant la cause du refus
(voir bloc texte de configuration).
Dès l’apparition d’un défaut (coupleur en fonctionnement normal), le voyant DEF
s’allume et les afficheurs indiquent le code du défaut.
___________________________________________________________________________
36
Maintenance
3
3.1-4 Recherche de défauts avec les voyants et afficheurs
La conjonction des voyants et des afficheurs permet de détecter un certain nombre de
défauts de fonctionnement, ainsi que leur cause.
Le tableau ci-après indique les principaux défauts pouvant être détectés, ainsi que
l’intervention à effectuer.
Auparavant, il est recommandé de réinitialiser le coupleur (par exemple par une
coupure secteur sur l’automate) pour vérifier si le défaut persiste.
Symptômes
RUN
Causes probables
Actions correctives
• Voyants en panne
• Alimentation en panne
• Vérifier l'alimentation de la station
• Remplacer le module
• Défaut Auto-test (*)
• Selon le type du défaut donné
par les afficheurs
DEF
RUN
DEF
• Défaut permanent (*)
• Absence de bornier (**)
• Défaut caractérisé par son
code sur afficheur
• Unité centrale non connectée
• Défaut permanent (*)
• Mise en place du bornier
• Selon le type du défaut donné
par les afficheurs
• Vérifier l'UC de l'automate
DEF
• Le coupleur est en attente de
chargement d’une configuration
par l’application automate
• Procéder à l’exécution du bloc
texte de chargement de la
configuration du service de
messagerie.
RUN
• Etat normal de la visualisation en cours de fonctionnement
RUN
DEF
RUN
DEF
(*) code défaut sur afficheur,
(**) affichage "Eb".
___________________________________________________________________________
37
Liste des codes défauts (hors auto-tests)
En cas de détection d’un défaut en cours de fonctionnement l’une des valeurs suivantes
est visualisée sur les afficheurs « 7 segments » :
Code défaut (en HEXA) Description
Action
0x00 à 0x19 (*)
Remplacer le coupleur
Défaut système (pSos,pNA+,...)
0x20 à 0x4F
Réservé
0x50 à 0xEF (*)
Défaut application
Contacter votre support technique
hN (avec N de 1 à 3)
Initialisation du coupleur ETH 110
Aucune (signalisation du coupleur)
cN (ave N de 0 à F)
Configuration du coupleur
Aucune (signalisation du coupleur)
0x61
Défaut ressources mémoires
Arrêt/marche de l'automate
Contacter votre support technique
0xF1
Interruption ou exception parasite
Si trop fréquent remplacer le coupleur
0xEb
Absence du bornier
Mettre le bornier en place
0xFa
Flash Eprom à réinitialiser
Remplacer le coupleur
Pour ces valeurs, le code défaut est affiché en 5 étapes :
• affichage de « AL » (pour alarmes) clignotant,
• affichage du code clignotant (exemple 20) du module logiciel en défaut,
• puis affichage de 3 codes complémentaires (réservés au support technique uniquement).
Mise à part les modules systèmes (codes de 0 à 10), le premier code indique le module logiciel
en défaut :
0x50 Module d'initilisation
0x60 Module Serveur TCP/IP (communication sur les connexions TCP/IP),
0x70 Module Interface OFB (communication UC/coupleur),
0x80 Driver SMU,
0x90 Module Utilitaire,
0xA0 Module Série 7,
0xB0 Services communs (communication, inter-tâches, gestion mémoire, ...),
0xC0 Loader des FLASH EPROMs,
0xE0 Fonctions spécifiques Board,
0xEF Interruptions d'exceptions (division par zéro, défaut adresse,...)
3.2
Déclenchement des tests
Le coupleur TSX ETH 110 est doté d’un système permettant l’exécution de tests
spécifiques destinés à la maintenance. Ces tests sont sélectionnables à partir de la
valeur indiquée par les 4 roues codeuses du bornier TSX ETH ACC1.
A la mise sous tension du coupleur, la valeur codée sur le bornier est lue. Si cette valeur
correspond à un numéro de réseau et de station, le coupleur déclenche la séquence
d’auto-tests et passe en fonctionnement normal actif en cas de succès. Si cette valeur
indique un test spécifique (liste page suivante), le coupleur déclenche le test correspondant.
___________________________________________________________________________
38
Maintenance
3
En cas de fonctionnement correct, il est rebouclé en permanence. Si un défaut est
détecté lors du test, le déroulement est stoppé, le voyant DEF s’allume et les afficheurs
indiquent un numéro de test (voir liste ci-après).
stat
X
F
net
F
Ces tests se déroulent après positionnement des roues
codeuses "STAT" aux valeurs indiquées ci-après. Les
roues codeuses "NET" doivent être mises à la valeur
H’FF’.
X
Codage des tests spécifiques
Codage "STAT"
FF
FE
FD
FC
FB
FA
F9
F8
F7
F6
F5
F4
F3
F2
F1
F0
EF
EE
ED
EC
EB - E1
E0
DF - 80
7F - 40
3F - 00
Test déroulé
auto-tests permanent
test des périphériques du µP 80386 SX
test RAM 448 Ko
réservé
test registre bus automate
test RAM interface bus automate 32 Ko
test ROM checksum 128 Ko
test type ROM
test voyants
test afficheurs 7 segments
test status
test interruption temporisateurs
réservé
test interruption bus automate
réservé
test interruption CSMA/CD Bus Controller
test init, stop et start CSMA/CD Bus Controller
réservé
test CSMA/CD Bus Controller mode loopback
effacement - écriture flash Eprom
réservés
test réseau permanent
réservé
réservé
numéro de station
Codes défauts
En cas de détection d'un défaut lors du déroulement d’un test spécifique, son code est
visualisé
en mode clignotant sur les afficheurs.
___________________________________________________________________________
39
___________________________________________________________________________
40
Chapitre 44
Spécification techniques
4 Spécifications techniques
4.1
Caractéristiques d’utilisation du transfert par l’application PL7-3
Nombre de ports TCP de service
Le coupleur est dimensionné pour 16 ports de service TCP et donc 16 connexions.
Nombre et capacités des transactions UC/coupleur
Les messages en émission ou réception sont bufférisés dans le coupleur dans des
blocs mémoires de 240 octets. Un message de 8 K octets occupe donc 34 blocs.
Sur une seule connexion, seulement 240 octets sont transférés par cycle.
Le coupleur est dimensionné :
En émission :
32 transactions d’émission en parallèle (c’est-à-dire 32 OFBs actifs en parallèle).
544 blocs mémoire. (131,75 Ko) c’est-à-dire 16 messages de 8 Ko en parallèle.
Demandes PL-7 pour
émission de messages
Blocs
libres
pour
émission
Réservation
de N blocs
pour transfert
message
Libération d'un bloc
mémoire au fur et à
mesure de l'émission
d'un message
TRANSFERT
UC/COUPLEUR
CR
Transaction Libre
pour émission
Messages en
attente d'émission
Emission d'un
message sur
connexion
Important
Il n’y pas de contrôle sur le partage de ressources entre les différentes connexions.
Si l’application PL7-3 soumet en même temps 16 demandes d’émissions de 8 K
octets, il n’y a plus de ressources disponibles pour accepter d’autres demandes.
___________________________________________________________________________
41
Sur un même port
E1
E2
E3
E4
C4
C1
C2 C3
Cycles
Automate
Transfert de données
de l'UC vers le coupleur
Emission sur
connexions
32transactionsenémission
544blocspourmessages
En réception :
32 transactions de réception en parallèle (c’est-à-dire 32 OFBs actifs en parallèle).
544 blocs mémoire (131,75 Ko) c’est-à-dire 16 messages de 8 Ko en parallèle.
Demandes PL-7 pour
réception de messages
Blocs libres
pourréception
Libération d'un
bloc au fur et
à mesure
TRANSFERT
du transfert
UC/COUPLEUR
d'un message
Blocs mémoires
en attente de
transfert vers
l'UC
Réservation
bloquante
de 1 bloc
mémoire
CREATION
TRANSACTION
CR
Transaction Libre
pour réception
Demandes de
réception en
attente pour une
connexion
Réception de données
sur une connexion
Remarque
La réception sur une connexion TCP se bloque s’il n’y a plus de blocs mémoire
disponible, cas où il y a un pic de charge dans les transferts coupleur vers UC.
Le coupleur transfère 4 blocs de données vers l’UC par cycle automate.
___________________________________________________________________________
42
Spécification techniques
4
Tampon utilisateur associé à l’OFB
Lors des échanges UC/coupleur, l’OFB d’émission ou de réception utilise directement
le tampon donné par l’utilisateur (il n’y a pas de recopie des données utilisateur dans
un buffer système). Donc, tant que l’OFB est actif (bit READY à 0), le programme PL7-3
ne doit en aucun cas modifier le contenu du tampon associé à cet OFB.
4.2
Performances
Les performances de transfert de blocs de données par le coupleur TCP/IP sont
caractérisées par le protocole d’échange entre le coupleur et l’UC de l’automate.
Pour un seul transfert actif (en émission ou réception), les performances sont, avec un
cycle automate à 60 ms :
• le transfert du plus petit message en 2 cycles d’automate (120 ms),
• le transfert d’un message de 8 K octets en 35 (1 + 34) cycles automate (2,1 s.).
De plus, sur la première utilisation d’un OFB (en émission ou en réception), il est
nécessaire d’ajouter 2 cycles automate pour le contrôle de l’identification du module.
Ces performances sont maintenues jusqu’à 4 transferts actifs en parallèle.
___________________________________________________________________________
43
___________________________________________________________________________
44
Chapitre 55
Architecture
5 Architecture
5.1
Architecture du coupleur
5.1-1 Architecture logicielle
La figure suivante représente l’architecture logicielle et les différentes fonctions du
coupleur TSX ETH 110 :
UC AUTOMATE
Configuration
Coupleur
(Bloc TXT)
Fonction
ECHO
(Bloc TXT)
Interface Bloc TXT CPL
(standard)
Emission/Réception
de blocs de données
données OFB TCP
OFB / Coupleur
Composant SMU
BOOT
&
AUTOTESTS
(en PROM)
Driver SMU
PSOS
Porte 5
Voie = 48
SMAP
SERIE 7
OFBINTF
Conf
SERV_TCP
ROOT
386 SX
(mode
protégé)
Interface Socket
PNA+
Flash EPROM
Driver (Network Interface)
Composant LANCE
COUPLEUR TSX ETH 110
___________________________________________________________________________
45
pSOS
C’est le noyau temps réel qui permet de gérer :
• l’exécution des tâches dans un environnement multitâche,
• la communication inter-tâches par des mécanismes de boîtes à lettres,
• l’allocation et la libération de la mémoire,
• les interruptions.
DRIVER SMU
Ce service assure la gestion des communications avec l’UC automate. Il est structuré
principalement en un driver du composant SMU et une interface d’accès au SMU
accessible aux services application.
SMAP
Ce service (System Management Access Protocol) permet la gestion de toutes les
fonctions réseau distribuées dans le coupleur.
SERIE-7
Le rôle de ce module ne traite qu’en local les requêtes UNITE destinées à la fonction
diagnostic :
• écriture/lecture de configuration standard,
• identification de coupleur,
• version protocole,
• miroir.
Il traite également les requêtes spécifiques TCP par bloc texte :
• écriture/lecture de configuration TCP,
• init,
• écho (vers ICMP).
OBFINTF
Ce service assure la gestion des transactions associées aux requêtes d’émission/
réception de blocs de données issues des OFB TCP de l’UC automate. Le service
assure les fonctions suivantes :
• le protocole de transfert de bloc de données entre le coupleur et l’UC,
• la gestion des demandes d’émissions ou de réception de messages sur connexions
TCP-IP, exécutées par le service SRV_TCP,
• la gestion des ressources mémoires.
___________________________________________________________________________
46
Architecture
5
SRV_TCP
Ce service assure la gestion d’établissement de connexions TCP en mode serveur,
et les transferts de messages en émission/réception sur les connexions TCP-IP.
pNA+
Les services de communications TCP/IP sont fournis par le composant logiciel pNA+ :
implémentation des couches IP, TCP, UDP, ARP, ICMP pour le système d’exploitation
temps réel pSOS+.
Driver Ethernet LANCE 79 90 (Network Interface)
Ce service assure la gestion du composant matériel LANCE pour la communication
des trames MAC (Medium Acces Control) sur le réseau ETHERNET.
Il supporte en réception :
• les trames Ethernet Version II (DA, SA, EtherType, Data),
• les trames 802.3 SNAP (DA, SA, Length, DSAP, SSAP, Control, OUI, EtherType).
En émission, il transforme les trames de pNA+ , reçues au format Ethernet Version II
en trame 802.3 SNAP, en fonction d’un paramètre de configuration.
ROOT
Cette fonction comporte deux composantes principales :
• lancement de tout le logiciel TSX ETH 110 dans le but de terminer les auto-tests,
• synchronisation du passage de ce logiciel dans sa phase opérationnelle suite à la
détection du bon fonctionnement.
Flash EPROM
Les flash Eprom mémorisent le logiciel du coupleur TSX ETH 110. Elles sont
téléchargées en usine.
___________________________________________________________________________
47
5.1-2 Architecture matérielle
Le coupleur TSX ETH 110 est architecturé autour du synoptique suivant :
LANCE
BUS M
V
T
U
SUB-D
15 PTS
Interface
AUI
SIA
CARTE FILLE
L
E
D
S
M
U
P
A
L
A
F
F
I
C
SRAM
B
O
R
N
PIC
PIT
PAL
gestion
EPROM
PAL
décodage
1 Mo
P
A
L
386SX
16MHz
DRAM
2 Mo
Consommation du 5V
:
2,0 A typique,
2,4 A maximum.
Consommation du 12 Vp :
500 mA typique.
EPROM
256 Ko
256 Ko
___________________________________________________________________________
48
Chapitre
Bloc
texte 66
6 Blocs texte
6.1
Généralité
Un bloc texte de type coupleur permet à l’application automate de réaliser sur le
coupleur TSX ETH 110, les opérations suivantes :
• la configuration de la communication TCP/IP et du service de messagerie privatif,
• le test d’une machine distante (fonction ECHO).
• l’initialisation du coupleur (fonction INIT),
6.2
Configuration du coupleur
6.2-1 Principe
Toutes les informations de configuration nécessaires au fonctionnement du coupleur
sont transmises par l’application PL7-3 en exécutant un bloc fonction texte de type
coupleur.
Le coupleur TSX ETH 110 passe dans l’état «non configuré» sur les événements
suivants :
• une reprise secteur ou un coup de verrou cartouche,
• une reprise à froid,
• une reprise à chaud,
• un chargement d’une application,
• une action STOP de l’application PL7-3 en cours d’exécution,
• un signal RESET appliqué à l’OFB TCPM,
• un envoi du bloc texte INIT (déconseillé voir paragraphe 'Arrêt du service sur le
coupleur).
Pour passer le coupleur dans l’état «En Service» (opérationnel), l’application PL7-3
doit effectuer l’envoi de la requête écriture configuration.
Il est possible de déclencher la procédure de configuration du coupleur TSX ETH 110
en fonction de l’état du coupleur qui est indiqué par le bit RUN de l’OFB TCPM de
gestion de module (par exemple sur le front montant du bit).
___________________________________________________________________________
49
Les afficheurs 7 segments sont utilisés pour signaler le traitement d’une demande de
configuration par le coupleur :
cF
c0
cN
1
2
3
4
5
6
7
8
9
A
C
D
E
Réception d’une demande de configuration
Configuration correcte et acceptée
Configuration refusée , avec N de 1 à E, indiquant la cause du refus:
La longueur de la table est inférieure à la longueur minimale.
Le nombre de machines distantes n’est pas dans l’intervalle 1 à 8.
Le nombre de ports n’est pas dans l’intervalle 1 à 16.
Le masque subnet est incorrect.
L’adresse IP locale est nulle ou n’appartient pas aux classes A, B ou C.
L’adresse gateway n’appartient pas aux classes A, B ou C.
La longueur de la table est incorrecte en fonction du nombre de ports.
Le numéro d’un port de la liste est inférieur au numéro 5010.
Un port est défini deux fois dans la liste.
L’adresse IP d’une machine distante est nulle ou n’appartient pas aux classes
A, B ou C.
La configuration du stack TCP/IP est incorrecte.
La configuration interne du coupleur est incorrecte.
Le coupleur est déjà configuré (dans l’état «En Service»).
6.2-2 Définitions de la table de configuration
La structure de la table de configuration à transmettre au coupleur est la suivante. Elle
est constituée par 46 mots de 16 bits. Cette table peut être définie dans l’automate en
zone mémoire W ou en zone CW.
Wi
Wi + 2
Wi + 4
Wi + 6
IPl
NM
GW
FmtEth
Wi + 7
Wi + 11
Wi + 12
Wi + 13
Wi + 14
Wi + 16
.
Wi + 28
Wi + 30
Wi + 31
.
Wi + 45
NS
NP
CFM
IP1
IP2
.
IP8
P1
P2
.
P16
Adresse IP locale
Network Mask
Adresse IP de la gateway par défaut
Format des trames Ethernet en émission
4 mots réservés
Nombre effectif de machines distantes
Nombre effectif de ports locaux
Caractère Fin de Message
Adresse IP de machine distante n° 1
.
Adresse IP de machine distante n° 8
Numéro de port local n° 1
.
Numéro de port local n° 16
___________________________________________________________________________
50
Bloc texte
6
6.2-3 Définition des paramètres de configuration
IPl - Adresse IP locale
Ce paramètre définit sur 4 octets l’adresse IP locale de l’automate.
NM - Network Mask
Ce paramètre définit sur 4 octets le masque de sous-adressage à utiliser pour le point
de connexion de l’automate au réseau physique Ethernet.
GW - Adresse IP de la gateway par défaut
Ce paramètre définit sur 4 octets l’adresse IP de la gateway par défaut.
FmtEth- Format des trames Ethernet en émission
Ce paramètre définit le format des trames Ethernet en émission :
• égal à 0 :
format Ethernet Version II
• différent de 0 : format 802.2 + SNAP.
NS - Nombre effectif de machines distantes
Ce paramètre, compris entre 1 et 8 inclus, définit les NS premiers éléments de la table
des adresses IP des machines distantes à utiliser pour la configuration.
NP - Nombres effectifs de ports locaux
Ce paramètre, compris entre 1 et 16 inclus, définit les NP premiers éléments de la table
des numéros de port locaux à utiliser pour la configuration.
CFM- Caractère Fin de Message
Ce paramètre définit la présence et la valeur d’un caractère Fin de Message à utiliser
dans les échanges de messages.
CFM = 0 :
pas de caractère fin de message
CFM de 0x01 à 0xFF :
valeur du caractère fin de message
ajouter par le coupleur lors d’une émission
contrôler et supprimer par le coupleur lors d’une réception.
IPi - Adresse IP de la machine distante n° i
Tableau d’adresses IP sur 4 octets de 8 machines distantes autorisées à se connecter
à l’automate.
Pour une configuration donnée, seules les NS premières adresses seront utilisées.
Pi - Numéro de port local n° i
Tableau de 16 ports locaux de service à écouter. (Valeur signée supérieure ou égale
à 5010). Pour une configuration donnée, seuls les NP premiers numéros seront utilisés.
___________________________________________________________________________
51
6.2-4 Chargement de la configuration
La configuration se charge à partir d’un bloc texte de type coupleur qui envoie au
coupleur la table des paramètres définis précédemment et qui reçoit en retour un
compte-rendu. Sur coupure secteur, il est indispensable d’effectuer ce chargement
après les auto-tests, lorsque le coupleur est disponible.
Initialisation du bloc texte
Le programme utilisateur PL7-3 doit :
• initialiser la table d ’émission,
• initialiser les paramètres du bloc texte :
- TXTi,M : adresse du coupleur dans le rack principal , suivie de 00 (n° de voie),
- TXTi,C : code requête = H’0040',
- TXTi,L : longueur de la table d’émission = 62 octets (1 port) à 96 octets (16 ports),
• activer le bloc texte en EXCHG (Requête/Réponse).
La longueur de la table d’émission peut être positionnée en fonction du nombre de ports
effectivement utilisés. Elle peut être plus grande que 92 octets.
Analyse du compte-rendu
Le mot TXTi,S comprend le nombre d’octets reçus dans la table de réception en cas
d’échange correct (c.à.d 0). En cas d’échange erroné, TXTi,S indique une erreur dans
la procédure d’échange entre le programme automate (UC) et le coupleur ; il prend les
valeurs suivantes :
1:
échange annulé par RESET,
2:
erreur longueur de la table d’émission,
3:
échange erroné,
4:
coupleur en défaut,
5:
erreurs de paramètres ou trop de TXT actifs,
6:
message reçu supérieur à la longueur prévue,
10 :
mauvais adressage du bloc texte indirect.
Le compte-rendu TXTi,V n’est significatif que si l’échange a été correct (TXTi,D = 1 et
TXTi,E = 0). Il indique le compte-rendu effectif de la configuration par le coupleur.
Il prend alors l’une des valeurs suivantes :
H’00FE’ :
configuration correcte,
H’00FD’ :
configuration incorrecte rejetée par le coupleur. Le coupleur n’est pas
opérationnel et reste dans l’état « non configuré ».
___________________________________________________________________________
52
Bloc texte
6.3
6
Test d’une machine distante (écho)
6.3-1 Principe
La requête ECHO permet de tester la présence d’une machine distante par une
demande/réponse ECHO du protocole ICMP.
6.3-2 Fonctionnement
L’action est effectuée par un bloc texte de type coupleur, câblé en EXCHG.
Le programme utilisateur PL7-3 doit :
• initialiser la table d ’émission,
• initialiser les paramètres du bloc texte :
- TXTi,M : adresse du coupleur dans le rack principal suivie de 00,
- TXTi,C : code requête = H’00FA’
- TXTi,L : longueur de la table d’émission = 4 + X octets,
• activer le bloc texte en EXCHG (Requête/Réponse).
Table d’émission :
Wi
Wi + 2
Adresse IP de la machine distante
Suite d’octets
Wi + (3 + X/2)
Analyse du compte-rendu
Le compte-rendu TXTi,V n’est significatif que si l’échange a été correct (TXTi,D = 1 et
TXTi,E = 0).
Il prend alors l’une des valeurs suivantes :
• ’00FE’ :
compte-rendu positif,
• H’0001' :
compte-rendu négatif . La machine distante ne répond pas dans le délai,
• H’0002' :
compte-rendu négatif . La machine distante a répondu mais avec une
erreur de message (longueur ou contenu).
Le mot TXTi,S indique une erreur dans la procédure d’échange (TXTi,E = 1).
___________________________________________________________________________
53
6.4
Arrêt du service sur le coupleur
6.4-1 Principe
La requête INIT permet de passer le coupleur TCP/IP de l’état « En Service » à l’état
« non configuré», entraînant les actions suivantes :
• toutes les opérations en cours (demande d’émission et de réception) sont annulées
sans aucune indication vers les OFBs de transfert,
• tous les démons en attente de connexions rentrantes sont désactivés,
• toutes les connexions ouvertes sont fermées.
Attention :
Cette requête INIT n’a aucune influence sur l’état du bit RUN de l’OFB TCPM.
D’autre part, l’application doit reseter tous les OFBs de transfert (absence d’indication vers les OFBs) avant de relancer une configuration du coupleur, puis une
communication sur les services TCP/IP.
Note:
L’utilisation de cette requête est déconseillée.
Elle est conservée pour garder une compatibilité avec des applications PL7-3 existante. Mais
dans ce cas, il est conseillé d’ajouter, dans l’application existante, un RESET sur l’OFB TCPM
pour prendre en compte les améliorations apportées.
6.4-2 Fonctionnement
L’action est effectuée par d’un bloc texte de type coupleur, câblé en EXCHG.
Le programme utilisateur PL7-3 doit :
• initialiser les paramètres du bloc texte :
TXTi,M : adresse du coupleur suivie de 00,
TXTi,C : code requête = H’0033’
TXTi,L : longueur de la table d’émission = 0 octets.
• activer le bloc texte en EXCHG (Requête/Réponse).
Le compte rendu TXTi,V n’est significatif que si l’échange a été correct (TXTi,D = 1 et
TXTi,E = 0).
Il prend alors l’une des valeurs suivantes :
H’00FE’ : compte rendu positif.
H’00FD’: compte rendu négatif.
Le mot TXTi,S indique une erreur dans la procédure d’échange (TXTi,E = 1)
___________________________________________________________________________
54
Chapitre
Blocs fonctions
TCP 77
7 Blocs fonctions TCP
7.1
Généralités
7.1-1 Présentation des OFBs du produit PL7-TCP
La bibliothèques des OFBs du produit PL7-TCP se compose:
• d’un OFB TCPM de gestion du module ETH110,
• de deux OFBs de services qui permettent le transfert de bloc de données entre
l’application automate et une application distante sur une connexion TCP/IP établie
à l’initiative de l’application distante. L’application distante est exécutée sur un
équipement supportant le profil de communication TCP/IP.
Les deux OFB de transferts sur connexion TCP/IP sont :
• TCPS : émission d’un bloc de données vers une application distante
• TCPR : réception d’un bloc de données d’une application distante.
La taille maximale du bloc de données est de 8k octets.
7.1-2 Installations des OFBs
Les OFBs TCP doivent être installés sur le disque dur de la station de travail pour
pouvoir être utilisés.
7.1-3 Configuration des OFBs
Avant toute utilisation d’un bloc fonction OFB dans un programme application, il est
nécessaire de le configurer. Cette opération est réalisée au moyen de l’outil PL7-3.
La configuration consiste à :
• déclarer le type d’OFB, afin de charger le code exécutable dans l’espace programme
OFB de la mémoire,
• définir le nombre d’OFB utilisés, afin de définir les espaces « constantes OFB » et
« données OFB » de la mémoire.
Pour cela vous devez :
• sélectionner l'outil PL7-3 et, à partir de l'écran principal, choisir le mode opératoire :
1 - CONFIGURATION,
• à partir de l'écran CHOIX DES MODES DE CONFIGURATION, choisir la rubrique 5
BLOCS FONCTIONS OPTIONNELS.
L'écran CONFIGURATION DES BLOCS FONCTIONS OPTIONNELS visualise la
liste des types d'OFB déjà déclarés, ainsi que le nombre d'OFB par type.
___________________________________________________________________________
55
• si l'OFB n'est pas présent dans cette liste, appuyer sur la touche dynamique [NEW
OFB]. Un nouvel écran permet alors de visualiser la liste des OFB disponibles sur
disque dur. Utiliser les commandes [PREV FAM] et [NEXT FAM] pour se positionner
sur la famille TCP et la commande [INS] pour choisir le type d'OFB nécessaire pour
l'application,
• après validation des nouveaux choix, l'écran CONFIGURATION DES BLOCS
FONCTIONNELS OPTIONNELS est à nouveau visualisé. La commande [MODIFY]
permet alors de définir pour le type déclaré, le nombre d'OFB à utiliser.
Pour plus d'informations se reporter à la documentation " Modes opératoires PL7-3 ".
7.1-4 Utilisation des OFBs
Pour mettre en œuvre un bloc fonction OFB TCP, il est nécessaire de réaliser les étapes
suivantes :
• configurer le coupleur TSX ETH 110 comme un coupleur TSX ETH 200,
• configurer et programmer un bloc texte de configuration du coupleur avec l’outil
PL7-3,
• configurer et programmer l’OFB avec l’outil PL7-3.
La programmation de chaque bloc fonction est détaillée ci-après.
___________________________________________________________________________
56
Blocs fonctions TCP
7.2
7
L’OFB TCPM : gestion du module TSX ETH 110
7.2-1 Fonction
Le bloc fonction TCPM permet de contrôler l’état du module TSX ETH 110 grâce à son
bit de sortie RUN indiquant que le module est initialisé correctement.
Cet OFB , qui doit être appelé au moins une fois dans l’application PL7-3, est activé
principalement sur les événements système suivant :
• reprise à chaud,
• reprise à froid ,
• chargement d’une application dans l’automate,
• stop de l’application PL7-3 en cours d’exécution,
Cet OFB offre également un bit d’entrée RESET pour effectuer une ré-initialistion du
coupleur TSX ETH 110, à l’initiative de l’application PL7-3. Il faut noter que le bit SY0
a le même rôle que le bit RESET de l’OFB.
L’OFB TCPM effectue les actions suivantes :
• le contrôle d’identification du module, si le module n’est pas connu par l’OFB (au
démarrage, sur reprise, ..)
• le contrôle de l’état matériel du module (notifié par le système), à tous les cycles
(quand celui a été identifié comme un module TSX ETH 110 par l’OFB TCPM).
• l’envoi vers le module ETH110 d’une requête d’initialisation, avec attente de
réponse, sur les événements suivants: chargement, reprise à chaud, RESET
• l’envoi vers le module ETH110 d’une requête d’initialisation, sans attente de
réponse, sur un passage en STOP de l’application PL7-3
Les afficheurs 7 segments sont utilisés pour signaler une ré-initialisation du coupleur,
avec éventuellement l’arrêt du service :
h1 :
ré-initialisation du coupleur
h2, puis h3 : pendant l’exécution de la phase transitoire d’arrêt du service (fermeture
des connexions , ..). Le coupleur était donc dans l’état «En Service» et
repasse dans l’état «Non Configuré»
Remarque importante :
Les OFBs TCPS et TCPR de transfert de données scrutent l’état du module
TSX ETH 110, à travers le bit RUN de l’OFB TCPM. Sur une ré-initialisation du
module TSX ETH 110 par l’OFB TCPM, les OFBs TCPS et TCPR sont ré-initialisés
automatiquement et immédiatement (dans le même cycle) sans aucun échange
avec le module TSX ETH110.
___________________________________________________________________________
57
7.2-2 Interface PL7-3
TCPM0
Sorties
Entrées
RESET
: bit
Données
Internes
Publiques
Constants
MODULE
ERROR
: bit
RUN
: bit
START
: bit
STATE
: word
STATUS
: word
: word
Constante
Paramètres
Type
MODULE
Word
Accès
Description
Cette constante indique l’emplacement du coupleur dans le rack
principal. Il est compris entre 1 et 7. (L’emplacement 0 n’est pas
possible). Par défaut, MODULE = 1.
Paramètres d’entrées
Paramètres
Type
Accès
Description
RESET
bit
(3)
La mise à l’état 1 provoque une ré-initialisation du coupleur à
l’emplacement défini par la constante MODULE.
Par défaut RESET = 0.
Paramètres de sortie
Paramètres
Type
Accès
Description
ERROR
bit
(2)
Ce bit de sortie passe à 1 si une erreur est détectée lors des
échanges avec le coupleur. Le mot STATUS indique alors le type
de l’erreur qui s’est produite.
RUN
bit
(2)
Ce bit de sortie passe à l’état 1 quand le coupleur est ré-initialisé
correctement (dans l’état «non configuré»). Sur un front montant
de ce bit, l’application PL7-3 peut lancer une demande de
configuration du module TSX ETH110 par bloc texte. Il est à 0
quand le coupleur n’est pas dans un des états suivants : «Non
Configuré» ou «En Service» (ré-initialisation en cours, mauvaise
configuration matérielle, module Hors Service, ..)
START
bit
(2)
Ce bit de sortie passe uniquement à 0 lors d’une action STOP
de l’automate. Il repassera à 1 à la fin du premier cycle d’exécution
suite à une action RUN. (Il n’a aucune dépendance avec l’état
du module TSX ETH110. Il permet de détecter un passage en
STOP/RUN de l’application PL7-3).
___________________________________________________________________________
58
Blocs fonctions TCP
7
Paramètres internes
Paramètres
Type
Accès
Description
State
mot
(2)
Ce mot indique l’état de l’OFB :
1 : OK.
Etat normal. Le coupleur est correctement initialisé.
2 : CLEAR.
L’OFB est dans la phase d’initialisation interne.
3 : IDENT.
L’OFB est dans la phase d’identification du coupleur.
4 : INIT.
L’OFB est dans la phase d’initialisation du coupleur.
5 : RESET.
Etat transitoire. UN RESET a été demandé par
l’application.
STATUS
mot
(2)
Ce mot est significatif uniquement si le bit de sortie
ERROR (échange erroné) est à l’état 1. Il indique le code
d’erreur produite lors de l’échange. (Chaque bit du mot
positionné à 1 indique une erreur)
(2) Lecture par programme et par réglage .
(3) Lecture par programme et par réglage. Ecriture par réglage.
Donnée interne STATUS
Bit
Signification
Action corrective
Bit 0 = 1
Le module est absent
Vérifier la valeur utilisée pour le paramètre d’entrée MODULE
de l’OFB. Vérifier la configuration matérielle de l’automate.
Bit 1 = 1
Le module est hors service
Vérifier la configuration matérielle de l’automate.
Bit 2 = 1
Le type du module indiqué
par le système est incorrect
Vérifier la valeur utilisée pour le paramètre d’entrée MODULE
de l’OFB. Vérifier la configuration matérielle de l’automate
Bit 3 = 1
Le module a répondu à la
requête d’identification avec
une réponse non attendue
Vérifier la valeur utilisée pour le paramètre d’entrée MODULE
de l’OFB. Vérifier la configuration matérielle de l’automate.
Bit 12 = 1
Erreur interne dans l’OFB.
(Ne doit jamais se produire)
Bit 13 = 1
Time-out dans l’échange de
communication avec le
coupleur
Vérifier la configuration et/ou l’état du coupleur.
Bit 14 = 1
Erreur de communication.
L’échange avec le coupleur
a échoué
Vérifier le paramètre MODULE. Vérifier la configuration et/ou
l’état du coupleur.
Bit 15 = 1
Erreur système.
Le bloc fonction manque
de ressources système
pour pouvoir s'exécuter
Diminuer le nombre de blocs fonctions (toute familles confondues)
___________________________________________________________________________
59
7.2-3 Programmation de l'OFB TCPM
Exemple de programmation
< - - -TRAITER
SYO
et
SY1
Note:
Sur SY0 ou SY1 , il y a une re-initialisation automatique du coupleur ETH110 et des OFBs
TCPR et TCPS, il n’est pas nécessaire de lancer un RESET sur l’OFB TCPM
!
IF
SY0+SY1
THEN
Reset
< - - -Re-actualisation
des
ETH110
< - - -ET
RE-INITIALISATION
PAR
LE
BIT
B_HALT.
! EXEC
B_halt;
bits
DE
....
d'état
LA
du
coupleur
COMMUNICATION
TCPM0(B_halt=>B_err,B_run,B_start);
RESET
TCP-IP
B_halt
Note:
Le front montant du bit B_run indique un passage du coupleur ETH110 dans l’état
opérationnel, non-configuré. L’application doit envoyer par bloc texte la configuration.
Le front montant du bit B_start indique un passage de STOP à RUN de l’application PL73 quel que soit l’état du coupleur ETH110; le bit monte avec un retard d’un cycle
automate
<--!L10
!
INITIALISATION
:
CALL
SR0
DE
l’APPLICATION
< - - -CONFIGURATION
DU
COUPLEUR
ETH110
!L20
:
< - - - Le
coupleur
ne
tourne
pas,
arrêter
éventuellement
la
conf.
en
cours
!
IF
NOT
TCPM0,RUN
THEN
RESET
Cnf_run
< - - - Le coupleur passe en
faut
le
re-configurer
!
IF
RE(B_run)THEN
SET
< - - -Execution
de
la
!
IF
Cnf_run
THEN
RUN
(front
montant)
et
il
Cnf_run
configuration
CALL
SR1
par
bloc
texte
___________________________________________________________________________
60
Blocs fonctions TCP
< - - -TRAITEMENT
DES
!L30
:
!
CALL
SR2
< - - -RECEPTION
!L40
:
!
CALL
< - - -EMISSION
!L50
:
!
CALL
!L100
!EOP
sur
RESET
OFB
OFBs
TCPR
et
7
TCPS
TCPR
SR4
sur
OFB
TCPS
SR5
:
___________________________________________________________________________
61
7.3
Les OFBs de services TCP
7.3-1 Rappels sur la conception d’une application
Une station TSX qui utilise les services de messagerie privatifs pour communiquer avec
d’autres équipements informatiques, via le coupleur TSX ETH 110, est considérée
dans XTEL comme une Application Locale qui établit des échanges avec une
Application Distante. Un équipement informatique peut supporter plusieurs Applications Distantes.
En exploitation, pour chaque Application Distante, une connexion TCP devra être
ouverte sur un port de service TCP du coupleur TSX ETH 110. L’ouverture de la
connexion est à l’initiative de l’Application Distante. Il n’y a qu’une seule connexion par
port de service TCP supporté par le coupleur TSX ETH 110.
Les connexions TCP sont autant de canaux de communication via lesquels des blocs
de données seront échangés entre l’Application Locale et des Applications Distantes.
L’application Locale utilise des OFBs TCP pour déclencher des échanges en émission
et en réception de blocs de données avec l’Application Distante. Les échanges ne sont
possibles que si la connexion est déjà établie par l’Application Distante.
Dans les demandes de transfert, deux possibilités sont offertes à l’application PL7-3
pour identifier l’application distante :
• par le seul paramètre : numéro de port local de l’automate (paramètre suffisant pour
identifier une connexion TCP du coupleur).
Le transfert sera effectué si une connexion est établie sur ce port, quelle que soit la
machine distante connectée à ce port,
• par le couple de paramètres : numéro de port local et adresse IP de la machine
distante.
Le transfert sera effectué si une connexion est établie sur ce port avec la machine
distante spécifiée par l’application PL7-3.
___________________________________________________________________________
62
Blocs fonctions TCP
7
AUTOMATE
Application
Locale
Bloc de
données
OFBS
Send
Bloc de
données
OFBR
Receive
Coupleur
TSX ETH 110
Ports de
Service
(16 max.)
Connexions
TCP
Machine A
Application Distante
Application Distante
Machine B
Application Distante
Important
Le RESET sur un OFB TCP (en émission ou en réception) en cours d’exécution
provoque la fermeture de la connexion TCP associée, ainsi que l’annulation de
tous les échanges en cours sur cette connexion.
Pour une bonne gestion de la signalisation de fermeture de connexion initialisée par
l'application distante, il est conseillé de mettre dans l'application PL7-3, un OFB
systématiquement en réception sur la connexion.
7.3-2 Programmation des OFBs
Ce sous-chapitre présente un certain nombre de caractéristiques communes aux deux
OFBs TCP, puis les principes de leur mise en œuvre. On y décrit, en particulier, les
principes de l’interfaçage avec les données PL7-3.
Les deux OFBs sont décrits en détail, dans les sous-chapitres suivants.
Le status, commun aux deux OFBs, est décrit en détail dans un sous-chapitre
particulier.
___________________________________________________________________________
63
7.3-3 Caractéristiques communes à tous les OFBs TCP
a. Comme tous les blocs fonction de communication, les blocs fonction TCP s'exécutent sur plusieurs cycles automate.
b. L'appel non entretenu
L'exécution des OFBs est entretenue implicitement par le système, ce qui signifie
qu'il suffit de ne programmer que le déclenchement du bloc. Par exemple, en langage
littéral, l'appel sera :
!
IF NOT B0 THEN EXEC OFBi (. . . =>. . .); SET B0
avec les avantages suivants :
• le passage des paramètres n'est effectué qu'une seule fois, ce qui permet un
important gain de performance,
• la programmation est simplifiée : le programmeur n'a pas à entretenir l'appel de l'OFB
tandis que l'exécution n'est pas terminée.
En contre partie, il apparaît que les paramètres de sortie sont sans objet, puisque les
variables qui seraient câblées ne seraient pas rafraîchies. Par conséquent, les sorties
sont en fait des données internes publiques qui sont interprétées comme des résultats.
Une programmation correcte est du type :
!
!
!
!
IF NOT B0 THEN EXEC OFBi (. . . =>. . .); SET B0
<Attente>
IF NOT OFBi,READY THEN JUMP L10
Note
Les OFBs disposent tout de même d'un paramètre de sortie de type BIT, le bit ERROR utilisé pour
le diagnostic ; ce bit ne doit pas être câblé. ERROR doit être utilisé comme un paramètre interne
de résultat.
___________________________________________________________________________
64
Blocs fonctions TCP
7
c. La caractéristique DIAGNOSTIC
Les OFBs peuvent être utilisés par l'outil APPLIDIAG. C'est pourquoi ils possèdent tous
une sortie de type bit, ERROR, et une donnée interne publique INHIB, de type bit
également.
La valeur à 1 de ERROR indique une anomalie constatée par le bloc fonction. Le défaut
est signalé dans une ou plusieurs données, nommées STATUS et STATUSn, de type
WORD et DWORD. Le nombre de données STATUSi et les significations associées
aux états de cette donnée dépendent de l'OFB et sont détaillées dans les descriptions
de chacun des OFBs.
INHIB est une donnée interne publique qui permet d'inhiber la signalisation des erreurs.
En cas d'anomalie, le bloc fonction continue de s'exécuter, ERROR et STATUS restent
toujours à 0.
d. Les bits READY et RESET
Du fait que les OFBs TCP s'exécutent sur plusieurs cycles automate, le paramètre
d'entrée RESET permet d'interrompre l'exécution d'un bloc en attente d'une réponse à
un message. Dans le même ordre d'idée, les blocs sont munis d'une donnée interne
publique, le bit READY, qui permet de savoir si une exécution est en cours.
Le bit READY
Les blocs fonction ont une sortie de type BIT qui indique leur disponibilité ; c'est-à-dire,
s'ils peuvent ou non être utilisés. Exemple de programmation du lancement d'un bloc
fonction. L'exécution est faite sur front descendant du bit B0 en vérifiant au préalable
que l'OFB est libre.
!
!
!
!
!
!
!
!
!
!
!
!
<Lancement exécution sur front descendant de B0.>
IF B0 THEN JUMP SUITE
<Le bloc est-il prêt ?>
IF NOT OFBi,READY THEN JUMP FIN
IF NOT B10 THEN EXEC OFBi(...=>);SET B10
<Aucune sortie de l'OFB n'est câblée.>
<Attente de la fin d'exécution.>
IF NOT OFBi,READY THEN JUMP FIN
SET B0; RESET B10
IF OFBi, ERROR THEN JUMP ERREUR
SUITE:
<Suite du programme.>
___________________________________________________________________________
65
L’action Reset
Les blocs fonction TCP disposent d’une entrée RESET de type BIT qui permet
d’interrompre leur exécution sur la mise à 1 de ce bit, provoquant les actions suivantes
(si la connexion avec l’application distante est ouverte) :
• tous les blocs de données éventuellement en cours (émission et réception) sur cette
connexion sont arrêtés et/ou annulés.
• la connexion est fermée.
Ensuite, les bits READY et ERROR sont positionnés à 1. STATUS signale un arrêt par
action de l’utilisateur. Le bloc fonction est prêt à être ré-exécuté. L’écriture de l’entrée
RESET est autorisée par requête ; c’est-à-dire qu’une action RESET peut être
effectuée, automate en RUN ou en STOP, avec les outils utilisant les requêtes UNI-TE
d’écriture d’éléments d’OFB (APPLIDIAG, mode réglage ou donnée de PL7-3, dialogue
opérateur, etc.).
Exemple de programmation d’un arrêt d’un OFB :
!IF B10 THEN EXEC OFBi( B10; => ); RESET B10
!
!<B10 est câblé sur le bit RESET de l’OFB>
!
!<OFBi,ERROR vaut 1>
!<OFBi,READY vaut 1>
Une action RESET sur un bloc fonction au repos (bit READY à 1 = pas de transfert en
cours) provoquera également la fermeture de la connexion associée si elle est ouverte.
En sortie, les bits READY et ERROR sont également positionnés à 1.
D’autre part, les bits READY et ERROR de tous les autres OFBs en cours (bit READY
à 0) sur cette connexion en reset, sont également positionnés à 1. Le mot STATUS
signale un arrêt par action utilisateur.
Note :
Un RESET sur un bloc fonction doit avoir un «caractère urgent» : le bit READY doit remonter dès
la mise à 1 du bit RESET et l’exécution du bloc doit cesser immédiatement. C’est pourquoi il n’est
pas possible d’entreprendre des opérations de longue durée (comme par exemple des échanges
avec le coupleur).
___________________________________________________________________________
66
Blocs fonctions TCP
7
7.3-4 Principes de la mise en œuvre
Après configuration du coupleur par l’application automate, la mise en œuvre d’une
communication TCP est effectuée en trois étapes principales :
• ouverture de la connexion TCP par l’application distante,
• échanges de blocs de données sur cette connexion point à point entre les applications,
• fermeture de la connexion soit par l’application distante, soit par l’application Locale.
L’établissement de connexion par l’Application Distante est transparente pour l’application automate, le service est assuré par le coupleur TSX ETH 110. Par contre,
l’application automate peut connaître l’état de la connexion en déclenchant périodiquement un OFB en réception ou en émission. L’OFB sera immédiatement refusé si la
connexion avec l’application distante n’est pas encore établie.
La fermeture de connexion peut être provoquée par l’application automate
appliquant le signal RESET sur un OFB en cours sur cette connexion.
en
___________________________________________________________________________
67
7.4
OFB TCPS : émission d’un bloc de données
7.4-1 Fonction
Le bloc fonction TCPS permet d’envoyer un bloc de données sur une connexion TCP/IP
établie à l’initiative d’une application « cliente » distante. La taille maximale du bloc de
données à émettre est de 8 K octets.
L’émission ne sera possible que si et seulement si la connexion est effectivement
ouverte au moment de la demande.
Sur une connexion, plusieurs demandes d’émission peuvent être déclenchées, par
l’application PL7-3. Les blocs de données seront émis dans l’ordre chronologique du
déclenclement des demandes à la précision du cycle automate. Si le déclenchement
de deux émissions est dans le même cycle automate, l’ordre sera indéterminé.
7.4-2 Interface PL7-3
TCPSi
Entrées
Données
Internes
Publiques
RESET
: bit
MODULE
: word
DEST
: double word
PORT
: word
BUF
: word
SIZE
: word
INHIB
: bit
ERROR
READY
STATUS
ADDRESS
: bit
Sorties
: bit
: word
: double word
___________________________________________________________________________
68
Blocs fonctions TCP
7
Paramètres d’entrées
Paramètres
Type
Accès
Description
RESET
bit
(3)
La mise à l’état 1 de cette entrée durant un échange interrompt
l’échange et positionne les bits de sortie READY et ERROR
à l’état 1. Le code de l’erreur est alors contenu dans le mot
STATUS
MODULE
mot
(1)
Ce paramètre d’entrée définit la position du coupleur
TCP/IP dans le rack principal de l’automate.
DEST
double mot (1)
Ce paramètre d’entrée définit l’adresse IP de la machine distante sur laquelle s’exécute le client connecté
au port local PORT.
Par défaut DEST = 0, le bloc de données est envoyé
vers l’unique client distant connecté au port local de
service de l’automate.
PORT
mot
(1)
Ce paramètre d’entrée définit le numéro de port local
auquel le client distant est connecté.
BUF
mot
(1)
Ce paramètre d’entrée définit l’adresse du premier mot
Wi du bloc de données à émettre.
SIZE
mot
(1)
Ce paramètre d’entrée définit la taille en octets du bloc
de données à émettre. De 1 à 8 192.
Paramètres de sorties
Paramètres
Type
Accès
Description
ERROR
Bit
(2)
Ce bit de sortie est mis à l’état 1 si l’échange ne s’est
pas terminé correctement. Le mot STATUS indique
alors le type d’erreur qui s’est produite.
(1) Lecture par réglage (mode data...).
(2) Lecture par programme et par réglage.
(3) Lecture par programme et par réglage. Ecriture par réglage.
(4) Lecture et écriture par programme et par réglage.
___________________________________________________________________________
69
Données internes publiques
Paramètres
Type
Accès
Description
READY
Bit
(2)
Ce bit de sortie est à zéro quand un échange est en
cours.
Il est mis à l’état 1 lorsque l’échange est terminé. Si le
bit de sortie ERROR (échange erroné) est à l’état 0, le
bit de sortie READY indique que le bloc de données a
été correctement reçu. Par contre, si le bit ERROR est
à l’état 1, le bit de sortie READY indique que l’échange
est terminé mais erroné.
INHIB
Bit
(4)
Ce bit d’entrée permet d’inhiber la signalisation des
erreurs : le bit de sortie ERROR et le mot STATUS
restent toujours à zéro (l’exécution du bloc n’est pas
interrompu).
STATUS
Mot
(2)
Ce mot est significatif uniquement si le bit de sortie
ERROR (échange erroné) est à l’état 1. Il indique le
code d’erreur produite lors de l’échange. (Chaque bit
du mot positionné à 1 indique une erreur.)
ADDRESS
double
(2)
Ce double mot de sortie donne l’adresse IP de la
machine mot distante vers laquelle le bloc de données
a été effectivement envoyé. (Utile quand le paramètre
d’entrée DEST est égal à 0).
Donnée interne STATUS
Voir paragraphe : détail du status
7.4-3 Utilisation de l’OFB TCPS
Pour exécuter le bloc fonction TCPS, il faut avoir, au préalable, configuré le coupleur
TSX ETH 110 en exécutant le bloc texte de configuration.
La demande d’émission sera prise en compte et exécutée par le coupleur TSX ETH 110
que si la connexion, établie à l’initiative de l’application distante, est ouverte au moment
de la demande ; sinon une erreur « connexion fermée » est immédiatement retournée
à l’application PL7-3. Dans ce cas, l’application doit temporiser avant de renouveler sa
demande d’émission.
Important
L’OFB d’émission utilise directement le tampon donné par l’utilisateur (il n’y a pas
de recopie des données utilisateur dans un buffer système). Donc, tant que l’OFB
est actif (bit READY à 0), le programme PL7-3 ne doit en aucun cas modifier le
contenu du tampon associé à cet OFB.
___________________________________________________________________________
70
Blocs fonctions TCP
7
7.4-4 Programmation de l’OFB TCPS
Exemple de programmation
Emission d’un bloc de données de 1024 octets, contenu à l’adresse 100 de la zone Wi,
vers une application distante :
• l’application distante s’exécute sur une machine dont l’adresse IP est 90.0.0.1,
• l’application distante a établie une connexion TCP/IP sur le port 5011 avec l’automate.
! < EMISSION DE MESSAGE >
! IF NOT B1 THEN
EXEC TCPS0( ;CW100 ; CW200 ; CW300 ; CW400 ; W10 =>) ;
SET B1
!
!
!
!
!
<ATTENTE COMPTE-RENDU>
IF NOT TCPS0.READY THEN JUMP FIN-TACHE
IF TCPS0.ERROR THEN JUMP TRAITER-ERREUR
< Message envoyé sans erreur>
Données utilisées :
CW100 :
CW200 :
CW201 :
CW300 :
CW400 :
4
H’0001'
H’5A00'
5011
100
W10 :
1024
W100 à W612
Module Coupleur TCP dans le rack principal
Adresse IP (90.0.0.1) de la machine distante (sur 4 octets)
Port de service
Adresse du bloc de données à émettre en zone W
Taille en octets du bloc de données à émettre
Bloc de données à émettre.
___________________________________________________________________________
71
7.5
OFB TCPR : réception d’un bloc de données
7.5-1 Fonction
Le bloc fonction TCPR permet de recevoir un bloc de données sur une connexion
TCP/IP établie à l’initiative d’une application « cliente » distante. La taille maximale du
bloc à recevoir est de 8 K octets.
La réception d’un bloc de données ne sera possible que si et seulement si la connexion
est effectivement ouverte au moment du déclenchement de la demande de réception.
Sur une connexion, plusieurs demandes de réception peuvent être déclenchées par
l’application PL7-3. Les OFBs seront retournés comme READY (réception d’un bloc
de données) dans l’ordre du déclenclement des demandes de réception. Si le
déclenchement de deux réceptions est dans le même cycle automate, l’ordre sera
indéterminé. D’autre part, les OFBs sont positionnés à READY dans l’ordre d’arrivée
des messages sur la connexion (un petit message ne double pas un gros message
dans le coupleur lors des échanges entre le coupleur et l'UC automate).
7.5-2 Interface PL7-3
TCPRi
Entrées
Données
Internes
Publiques
RESET
: bit
MODULE
: word
FROM
: double word
PORT
: word
BUF
: word
SIZE
: word
INHIB
: bit
ERROR
READY
STATUS
LENGTH
ADDRESS
: bit
Sorties
: bit
: word
: word
: double word
___________________________________________________________________________
72
Blocs fonctions TCP
7
Paramètres d’entrées
Paramètres
Type
Accès
Description
RESET
bit
(3)
La mise à l’état 1 de cette entrée durant un échange interrompt
l’échange et positionne les bits de sortie READY et ERROR
à l’état 1. Le code de l’erreur est alors contenu dans le mot
STATUS.
Par défaut RESET = 0.
MODULE
mot
(1)
Ce paramètre d’entrée définit la position du coupleur
TCP/IP dans le rack principal de l’automate.
FROM
double mot (1)
Ce paramètre d’entrée précise l’adresse IP de la
machine distante sur laquelle s’exécute le client connecté au port local PORT.
Par défaut FROM = 0 : l’OFB se met en attente de bloc
de données envoyé par l’unique client distant connecté
au port local de service de l’automate.
PORT
mot
(1)
Ce paramètre d’entrée définit le numéro de port local
auquel un client distant est connecté.
BUF
mot
(1)
Ce paramètre d’entrée définit l’adresse du premier mot
Wi du tampon pour recevoir un bloc de données.
SIZE
mot
(1)
Ce paramètre d’entrée définit la taille en octets du
tampon pour recevoir le bloc de données. De 1 à 8 192.
Paramètres de sortie
Paramètres
Type
Accès
Description
ERROR
bit
(2)
Ce bit de sortie est mis à l’état 1 si l’échange ne s’est
pas terminé correctement. Le mot STATUS indique
alors le type d’erreur qui s’est produite.
(1) Lecture par réglage (mode data...).
(2) Lecture par programme et par réglage.
(3) Lecture par programme et par réglage. Ecriture par réglage.
(4) Lecture et écriture par programme et par réglage.
___________________________________________________________________________
73
Paramètres internes
Paramètres
Type
Accès
Description
READY
bit
(2)
Ce bit de sortie est mis à l’état 1 lorsque l’échange est
terminé. Si le bit de sortie ERROR (échange erroné)
est à l’état 0, le bit de sortie READY indique que le bloc
de données a été correctement reçu. Par contre, si le
bit ERROR est à l’état 1, le bit de sortie READY indique
que l’échange est terminé mais erroné.
INHIB
Bit
(4)
Ce bit d’entrée permet d’inhiber la signalisation des
erreurs : le bit de sortie ERROR et le mot STATUS
restent toujours à zéro (l’exécution du bloc n’est pas
interrompu).
STATUS
mot
(2)
Ce mot est significatif uniquement si le bit de sortie
ERROR (échange erroné) est à l’état 1. Il indique le
code d’erreur produite lors de l’échange. (Chaque bit
du mot positionné à 1 indique une erreur.)
LENGTH
mot
(2)
Ce mot de sortie contient le nombre d’octets reçus si le
bit de sortie ERROR (échange erroné) est à l’état 0.
ADDRESS
double mot (2)
Ce double mot de sortie donne l’adresse IP de la
machine distante qui a envoyé le bloc de données.
(Utile quand le paramètre d’entrée FROM est égal à 0).
Donnée interne STATUS
Voir paragraphe : détail du status
7.5-3 Utilisation de l’OFB TCPR
Pour exécuter le bloc fonction TCPR, il faut avoir, au préalable, configuré le coupleur
TSX ETH 110 en exécutant le bloc texte de configuration.
La demande de réception sera prise en compte et exécutée par le coupleur TSX ETH 110
que si la connexion, établie à l’initiative de l’application distante, est ouverte au moment
de la demande ; sinon une erreur « connexion fermée » est immédiatement retournée
à l’application PL7-3. Dans ce cas, l’application doit temporiser avant de renouveler sa
demande de réception.
Important
L’OFB de réception utilise directement le tampon donné par l’utilisateur pour
recopier au fur et à mesure les données reçues sur la connexion (il n’y a pas
utilisation d’un buffer système intermédiaire). Donc, tant que l’OFB est actif (bit
READY à 0), le programme PL7-3 ne doit en aucun cas modifier le contenu du
tampon associé à cet OFB.
___________________________________________________________________________
74
Blocs fonctions TCP
7
7.5-4 Programmation de l’OFB TCPR
Exemple de programmation :
Attente de réception d’un bloc de données de 8 K octets, à l’adresse 1000 de la zone
Wi, d’une application distante :
• l’application distante s’exécute sur une machine dont l’adresse IP est 90.0.0.1,
• l’application distante a établie une connexion TCP/IP sur le port 5011 avec l’automate.
! < RECEPTION MESSAGE >
! IF NOT B1 THEN
EXEC TCPR0( ;CW100 ;CW200 ; CW300 ; CW400 ; W20 ; => ) ;
SET B1
! <ATTENTE MESSAGE>
! IF NOT TCPR0.READY THEN JUMP FIN-TACHE
! IF TCPR0.ERROR THEN JUMP TRAITER-ERREUR
! < les données du message sont disponibles dans le tampon
de réception>
Données utilisées :
CW100 :
CW200 :
CW201 :
CW300 :
CW400 :
4
H’0001'
H’5A00'
5011
1000
W20 :
8192
W1000 à W5096
Coupleur ETH 110
Adresse IP (90.0.0.1) de la machine distante (sur 4 octets)
Port de service
Adresse du tampon de réception en zone Wi.
Taille du tampon (8K octets) de réception
Tampon pour recevoir le bloc de données
___________________________________________________________________________
75
7.6
Détail du STATUS (interface APPLIDIAG)
Bit
OFB
Signification
Bit 0 = 1
S&R
Erreur module.
Vérifier la valeur utilisée pour le paraLe module n'est pas un coupleur
mètre d’entrée MODULE de l’OFB TCPS
TSX ETH 110.
OU TCPR.
Le paramètre MODULE n'est pas le même Vérifier la cohérence avec la constante
que celui de l'OFB TCPM
MODULE de l'OFB TCPM.
Le module est en défaut.
Vérifier la configuration de l'automate.
Bit 1 = 1
S&R
Erreur syntaxe.
Bit 2 = 1
S&R
Adresse IP incorrecte. (DEST pour
émission, FROM pour réception)
L’adresse IP n’appartient pas à la liste
des machines distantes autorisées à
se connecter.
Bit 3 = 1
S & R Port local incorrect.
Le numéro de port n’appartient pas
à la liste des ports locaux donnée lors
de la configuration du coupleur.
Bit 4 = 1
S & R Paramètre SIZE erroné.
Bit 5 = 1
S & R La connexion n’est pas ouverte.
Bit 5 = 1
S & R Perte de connexion en cours de transfert.
Bit 7 = 1
S & R Le port demandé est occupé par une
machine dont l’adresse IP est différente
de celle spécifiée dans le paramètre
d’entrée (DEST pour une émission,
FROM pour une réception).
Bit 8 = 1
S & R Manque de ressources dans le coupleur.
Bit 9
Action corrective
Vérifier la valeur des paramètres d’entrées
de l’OFB.
Renseigner le paramètre d’entrée
DEST pour sélectionner correctement le client distant.
Remarque : Le paramètre de sortie
ADDRESS est renseigné avec
l’adresse IP de la machine connectée
sur le port spécifié.
Non utilisé.
Bit 10 = 1
R
Connexion désynchronisée en réception.
Un message a été reçu avec une erreur
de caractère « fin de message ».
Bit 11= 1
R
Erreur Caractère Fin de message
Une erreur de caractère « fin de
message » a été détectée par le
coupleur sur ce message.
Analyser le bloc de données dans le
tampon de réception pour connaître
l’origine de l’erreur.
Bit 12 = 1
R
Message tronqué.
La taille du tampon de réception est
trop petite pour recevoir complètement
le message envoyé par le client distant.
Prévoir un tampon plus grand.
Vérifier la taille maximale des blocs
de données échangés entre applications sur cette connexion.
Bit 13 = 1
S & R Erreur de communication.
L’échange avec le coupleur a échoué.
Vérifier le paramètre MODULE.
Vérifier la configuration et/ou l’état du
coupleur.
___________________________________________________________________________
76
Blocs fonctions TCP
Bit 14 = 1
S & R Traitement interrompu.
Le bloc fonction a été interrompu
pendant son exécution par une action
RESET, une action INIT ou une coupure
secteur.
Bit 15 = 1
S&R
7
Erreur système.
Diminuer le nombre de blocs foncLe bloc fonction manque de ressources fonctions (toutes familles confonfues).
système pour pouvoir s’exécuter.
___________________________________________________________________________
77
___________________________________________________________________________
78

Manuels associés