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