Connexion à l`automate dans une applet Java

Transcription

Connexion à l`automate dans une applet Java
Connexion à l’automate dans une Applet Java
Connexion à l’automate dans une applet Java
Sommaire
1.
2.
Introduction ......................................................................................................................................................2
Mise en œuvre d'une applet Java avec la bibliothèque de Schneider ............................................................2
2.1.
Intégration de la bibliothèque Schneider dans JBuilder 5...........................................................................2
2.1.1.
Présentation ............................................................................................................................................2
2.1.2.
Matériels et logiciels nécessaires ...........................................................................................................2
2.1.3.
Création d’une bibliothèque JBuilder contenant SAcomm.jar ................................................................2
2.1.4.
Création et configuration du nouveau projet...........................................................................................4
2.2.
Test de connexion à l'automate : ................................................................................................................7
2.2.1.
IHM servant au test : ...............................................................................................................................7
2.2.2.
Codage de l'applet: .................................................................................................................................7
2.2.3.
Construction de l'archive de démarrage Web (.jar) ................................................................................8
2.2.4.
Déploiement de l'applet sur l'automate .................................................................................................11
2.2.5.
Exécution de l'applet. ............................................................................................................................15
3.
Codage de l'applet de connexion. .................................................................................................................15
Lycée G. Eiffel - Armentières
Page 1 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
1. Introduction
On veut utiliser des applets Java pour lire et modifier la valeur des variables dans la mémoire de l’automate pilotant
le Tapiris. Ces applets seront stockées sur le site web embarqué du coupleur Ethernet TSX ETZ 510 de
l'automate.
Par exemple, on pourra lire et / ou modifier :
les codes de produits évacués au poste 1 ou au poste 2,
lire le nombre de produits évacués au poste 1 ou au poste 2,
régler les délais d’éjection des vérins …
Remarque importante : L’exécution des applets construites avec JBuilder nécessitent une machine virtuelle Java
Sun version 1.4 ou supérieure associée au navigateur web de consultation. Cette machine virtuelle est
téléchargeable gratuitement sur le site de SUN ( http://fr.sun.com/)
2. Mise en œuvre d'une applet Java avec la bibliothèque de Schneider
2.1. Intégration de la bibliothèque Schneider dans JBuilder 5.
2.1.1. Présentation
Nous allons tout d'abord réaliser une applet utilisant les packages Schneider et la transférer vers le serveur
web embarqué. Cette applet réalisera simplement une connexion avec l'automate.
2.1.2. Matériels et logiciels nécessaires
Il vous faudra un ordinateur qui possède :
le logiciel JBuilder version 5,
le logiciel FactoryCast avec le SDK,
le package Schneider SAComm.jar (malheureusement nous ne disposons pas de documentation
sur les classes de ce package)
un navigateur Web (Internet Explorer)
une machine virtuelle JAVA 1.4 ou >.
2.1.3. Création d’une bibliothèque JBuilder contenant SAcomm.jar
Nous allons modifier l’environnement de développement de JBuilder en créant une nouvelle bibliothèque
disponible pour tous les futurs projets.
Dans la barre d’outils de JBuilder, cliquez sur Outils > Configurer les bibliothèques…
Lycée G. Eiffel - Armentières
Page 2 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
Dans la nouvelle fenêtre qui s’affiche, cliquez sur Nouveau… en bas à gauche :
Dans le champ Nom : entrez un nom pour votre bibliothèque, ici Pilote FactoryCast.
Dans le champ Emplacement : choisissez Répertoire local de l'utilisateur ou JBuilder (accessible à TOUS
les utilisateurs de JBuilder)
Cliquez sur Ajouter… et choisissez le fichier « SAComm.jar »
Enfin cliquez sur Ok.
Lycée G. Eiffel - Armentières
Page 3 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
Dans la fenêtre de Configuration des bibliothèques vous devrez retrouver la nouvelle bibliothèque
créée :
Cliquez sur OK.
La bibliothèque est désormais incorporée à JBuilder.
2.1.4. Création et configuration du nouveau projet
Notre projet va devoir inclure cette bibliothèque pour accéder à l’automate.
Cliquez sur Fichier > Nouveau projet…
Donnez un nom au projet, par exemple PrjTestFactoryCast, et renseignez également le champ "chemin
racine".
Lycée G. Eiffel - Armentières
Page 4 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
Cliquez sur Suivant :
Dans l’étape numéro deux, cliquez sur Ajouter… et sélectionnez la bibliothèque Pilote FactoryCast.
Cliquez sur Terminer :
Lycée G. Eiffel - Armentières
Page 5 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
A présent, cliquez sur Fichier > Nouveau…
Dans l’onglet Web, sélectionnez Applet et cliquez sur Ok.
Nommez le paquet pqttestfactorycast, et la classe AppletTestFactoryCast.
Cochez les options « Générer les commentaire d'en-tête » et « Créer les méthodes standard ».
Cliquez sur Terminer :
Nous pouvons maintenant construire notre interface pour tester la connexion avec l’automate.
Lycée G. Eiffel - Armentières
Page 6 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
2.2. Test de connexion à l'automate :
2.2.1. IHM servant au test :
Cette IHM très simple servira à tester la connexion à l'automate.
BtnConnecter
BtnDeconnecter
LblEtat
2.2.2. Codage de l'applet:
Le programme doit utiliser le package factorycast.
CommBeanSupport
(f rom f actory cast)
serialVersionUID : long = 2004841277
fConnected : boolean
fSuspended : boolean
pollingDelay : int
setPollingDelay(arg0 : int) : void
getPollingDelay() : int
isStarted() : boolean
isConnected() : boolean
isSuspended() : boolean
disconnect() : void
start() : void
stop() : void
suspend() : void
resume() : void
CommBeanSupport(arg0 : Locale)
connect(arg0 : String, arg1 : boolean) : void
addPropertyChangeListener(arg0 : PropertyChangeListener) : void
removePropertyChangeListener(arg0 : PropertyChangeListener) : void
addServerChangeListener(arg0 : ServerChangeListener) : void
removeServerChangeListener(arg0 : ServerChangeListener) : void
getAdaptor() : ValueAdaptor
getServer() : ClientHandlerInterface
getVarLookup() : VarLookupInterface
getServerChangeEvent() : ServerChangeEvent
createClientHandler() : ClientHandlerInterface
initWorkers(arg0 : Locale) : void
CommBean
(f rom f actory cast)
serialVersionUID : long = 2080357373
CommBean()
CommBean(arg0 : Locale)
createClientHandler() : ClientHandlerInterface
Lycée G. Eiffel - Armentières
Page 7 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
// import de la Bibliothèques FactoryCast
import com.schneiderautomation.factorycast.* ;
Il faut ensuite définir un objet de communication avec l'automate :
// Objet de communication avec l'automate
private CommBean commFactoryCast ;
// Création de l'objet de communication avec l'automate
commFactoryCast = new CommBean() ;
Il faut ensuite se connecter à l'automate et lancer la communication :
//Récupération de l'adresse IP de l'automate
adresseIPAutomate = new String("192.168.33.8") ;
try {
// On tente une connexion avec l'automate
commFactoryCast.connect(adresseIPAutomate, false);
// Si c'est correcte, on lance la communication
commFactoryCast.start();
} catch (Exception ex) {
// Gestion de l’erreur
System.out.println("Erreur :" + ex.getMessage());
}
La déconnexion s'effectue comme suit :
try {
commFactoryCast.disconnect() ;
} catch(Exception e) {
// Gestion de l’erreur
System.out.println("Erreur :" + e.getMessage());
}
2.2.3. Construction de l'archive de démarrage Web (.jar)
Cliquez sur Experts > Constructeur d’archives…
Sélectionnez « Applet de démarrage Web » comme Type d’archive.
Lycée G. Eiffel - Armentières
Page 8 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
Cliquez sur Suivant.
A l’étape 3 / 5, cliquez sur « Ajouter des classes »
A l’étape numéro 4 / 5, sélectionnez « Ne jamais inclure ni classes ni ressources » pour le pilote
FactoryCast.
En effet il est inutile d'intégrer les classes et les ressources de la bibliothèque Schneider dans cette archive
car on utilisera plutôt l'archive SAcomm.jar.
Lycée G. Eiffel - Armentières
Page 9 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
Cliquez sur Terminer :
Pour compiler le projet et générer le fichier JAR de notre applet faites un clic droit sur JAR de l’applet et
cliquez sur Reconstruire :
Lycée G. Eiffel - Armentières
Page 10 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
Maintenant nous allons modifier le code source du fichier AppletTestFactoryCast.html :
<html>
<head><title>Page de test HTML</title></head>
<body>
Page de Test de connexion <br>
<applet
codebase = "/classes"
archive = "SAComm.jar,pjtTestFactoryCast.jar"
code
= "pqttestfactorycast.AppletTestFactoryCast.class"
name
= "AppletTest"
width
= "400"
height
= "300"
hspace
= "0"
vspace
= "0"
align
= "top"
>
</applet>
</body>
</html>
Les archives étant stockées sur l'automate dans le répertoire /wwwroot/classes/ et les page HTML étant
stockées dans le répertoire /wwwroot/unsecure/user/ il est obligatoire de donner à la propriété codebase
la valeur "/classes."
Notre applet utilisant 2 archives (SAComm.jar, pjtTestFactoryCast.jar) il est obligatoire de les
spécifier dans la propriété archive.
Il faut également donner le nom complet de la classe (paquet.class) dans la propriété code.
Enregistrez la modification.
2.2.4. Déploiement de l'applet sur l'automate
Il existe deux solutions pour transférer l’applet sur l’automate :
via un logiciel FTP classique
via le programme de configuration FactoryCast
2.2.4.1.
Utilisation de WS_FTP professional
Choisissez fichier >connecter > assistant connexion et renseignez le champ nom du site (par
exemple ici : SiteWebEmb ).
Cliquez sur Suivant, dans la fenêtre qui s'affiche, sélectionnez FTP.
Cliquez sur Suivant, dans la fenêtre qui s'affiche, renseignez le champ "Adresse du serveur"
Lycée G. Eiffel - Armentières
Page 11 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
Cliquez sur Suivant, dans la fenêtre qui s'affiche, renseignez les champ "Nom d'utilisateur" et "Mot
de passe" comme ci-dessous :
sysdiag
factorycast@schneider
Cliquez sur Suivant, vérifiez ensuite les informations qui s'affichent dans la fenêtre
Validez par le bouton Terminer, la connexion est établie.
Lycée G. Eiffel - Armentières
Page 12 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
Copiez maintenant le fichier AppletTestFactoryCast.html situé dans le répertoire classes du
répertoire de sauvegarde du projet dans le répertoire /wwwroot/unsecure/user/ du serveur.
Copiez maintenant le fichier pjtTestFactoryCast.jar situé dans le répertoire defaultroot du répertoire
de sauvegarde du projet dans le répertoire /wwwroot/classes/ du serveur.
2.2.4.2.
Utilisation du programme de configuration de FactoryCast .
Lancez le programme de configuration de FactoryCast via :
Demarrer >Tous les programmes >Schneider Electric > FactoryCast > Programme de
configuration de FactoryCast
Lycée G. Eiffel - Armentières
Page 13 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
La fenêtre suivante s’ouvre :
Cliquez ensuite sur Transférer >Fichiers Web …
Renseignez ensuite le champ « Nom de serveur ou adresse IP » avec l’adresse IP de l’automate.
Cliquez sur OK.
Dans la fenêtre qui s’affiche, sous le panel « Système local » placez vous dans le sous répertoire
classes du répertoire de votre projet.
Sous le panel site distant, placez vous sous /wwwroot/unsecure/user.
Sélectionnez ensuite votre page HTML (ici : AppletTestFactoryCast.html ) dans le panel « Système
local » et cliquez sur la flèche de transfert :
Lycée G. Eiffel - Armentières
Page 14 sur 15
22/05/2006
Connexion à l’automate dans une Applet Java
Puis, sous le panel « Système local » placez vous dans le répertoire de votre projet.
Sous le panel site distant, placez vous sous /wwwroot/classes.
Sélectionnez ensuite votre archive (ici : pjtTestFactoryCast.jar ) dans le panel « Système local » et
cliquez sur la flèche de transfert :
2.2.5. Exécution de l'applet.
Maintenant on peut visualiser la page HTML contenant notre applet dans un navigateur web à l’adresse
suivante : http://192.168.33.8/unsecure/user/AppletTestFactoryCast.html
3. Codage de l'applet de connexion.
En annexe, vous trouverez le code source de cette applet « test connexion avec l’automate » (Travail élève)
Lycée G. Eiffel - Armentières
Page 15 sur 15
22/05/2006