Configuration DCOM pour OPC Factory Server

Transcription

Configuration DCOM pour OPC Factory Server
Configuration DCOM pour OFS
Configuration DCOM pour OPC Factory Server
Sommaire
1.
2.
Présentation de OPC .....................................................................................................................................................2
Présentation de OLE, COM et DCOM ...........................................................................................................................2
2.1.
Qu'est-ce qu'OLE ? ...............................................................................................................................................2
2.2.
Qu'est-ce que COM ? ............................................................................................................................................3
2.3.
Qu'est-ce que DCOM ? .........................................................................................................................................3
2.4.
Quels sont les services fournis par DCOM ? ........................................................................................................3
3.
Présentation des droits d’accès DCOM pour OPC ........................................................................................................4
Configuration des machines du réseau (cas d’Armentières)..................................................................................................5
4.
Configuration des utilisateurs du domaine .....................................................................................................................5
5.
Introduction à la configuration DCOM ............................................................................................................................6
6.
Principes de la configuration DCOM ..............................................................................................................................6
6.1.
Remarque importante............................................................................................................................................6
6.2.
Sur le serveur OPC ...............................................................................................................................................7
6.3.
Sur les clients OPC ...............................................................................................................................................7
7.
Chronologie des installations et configurations..............................................................................................................7
8.
Configuration DCOM sur le poste Serveur OPC............................................................................................................8
8.1.
Configuration DCOM du poste de travail...............................................................................................................8
8.2.
Configuration DCOM du composant OpcEnum ....................................................................................................9
8.3.
Configuration DCOM pour le composant « Schneider-Aut OFS … » ...................................................................9
9.
Configuration DCOM sur le poste Client OPC ...............................................................................................................9
9.1.
Configuration DCOM du poste de travail...............................................................................................................9
9.2.
Configuration DCOM pour le composant « Schneider-Aut OFS … » ...................................................................9
10.
Annexes .....................................................................................................................................................................9
10.1.
Documentation et ressources OPC .......................................................................................................................9
10.2.
Documentations DCOM.........................................................................................................................................9
Lycée G. Eiffel - Armentières
Page 1 sur 22
22/05/2006
Configuration DCOM pour OFS
1. Présentation de OPC
OPC (OLE for Process Control) fournit un standard de connectivité pour les automates (entre autres).
OPC utilise les technologies COM et DCOM de Microsoft en y ajoutant des interfaces de « contrôle de process ».
Réseau métier
(propriétaire)
Réseau informatique
(standard)
OPC / DCOM
Protocole métier (XIP)
Serveur OPC
Automate
Client OPC
Le produit OFS (OPC Factory Server) est un serveur de données multi automates (OPC DA - Data Access) capable de
communiquer avec les automates de la famille TSX pour fournir des données aux clients OPC. Le serveur OPC apporte
à des applicatifs clients un ensemble de services (méthodes) d’accès à des variables d’automatisme.
Le serveur OFS assure l’interface entre les automates programmables Schneider et un ou plusieurs applicatifs clients
dans lesquels on souhaite consulter et/ou modifier les valeurs de certaines données des parties opératives (surveillance
et contrôle).
L’application cliente OPC peut accéder aux données de deux façons :
Accès aux variables par repère (adresse) ou par symbole,
Utilisation d’un mécanisme de notification permettant au serveur OPC d’émettre vers le client les valeurs sur
changement d’état uniquement.
2. Présentation de OLE, COM et DCOM
2.1. Qu'est-ce qu'OLE ?
OLE est l'abréviation de « Object Linking and Embedding », ce qui signifie « Intégration d'objets et Lien sur des
objets ». OLE est une technologie qui a été développée par Microsoft, initialement dans le but de permettre la
programmation d'objets capables d'être insérés dans des applications réceptacles soit par intégration complète, soit
par référence (ce que l'on appelle une liaison). Ce but a été atteint pour la plupart des applications et apparaît à
présent dans le menu « Coller | Collage spécial ». Les objets intégrés ou liés sont capables de s'afficher dans
l'application qui les contient. Ils sont également capables de fournir un certain nombre de services standards
permettant leur manipulation (ces services peuvent être la sauvegarde de leur état, la capacité à être éditée, etc…).
OLE est donc un remplacement efficace des liaisons DDE.
Lycée G. Eiffel - Armentières
Page 2 sur 22
22/05/2006
Configuration DCOM pour OFS
2.2. Qu'est-ce que COM ?
Pour réaliser cet objectif, Microsoft a dû fournir un standard de communication entre les différentes applications qui
voulaient être OLE. Ce standard de communication définit la méthode à employer pour accéder aux fonctionnalités
des objets OLE, ainsi que les principaux services qui peuvent être nécessaires lors de l'intégration d'objets. Les
programmeurs désirant réaliser une application OLE devaient se conformer au protocole d'appel du standard et
fournir un certain nombre de services définis dans OLE. Ce standard a été conçu de manière ouverte, c'est à dire
qu'il n'est pas nécessaire de fournir tous les services définis dans OLE pour être fonctionnel. Cependant, plus un
objet OLE offre de services, meilleure est son intégration. Par ailleurs, il est possible de définir des services différents
de ceux définis dans OLE, le système est donc également extensible.
Le standard de communication qui a été défini se nomme COM, ce qui signifie « Component Object Model », ou
« Modèle Objet de Composants ». La plupart des services sont définis dans OLE, cependant, COM lui-même utilise
un certain nombre de services. La limite entre ce qui est défini par COM et ce qui est défini par OLE est donc floue,
mais en principe, les services COM sont tous des services systèmes.
Comme on l'a dit initialement, OLE devait permettre l'intégration des objets entre applications. En fait, il s'est avéré
qu'OLE faisait beaucoup plus que cela : grâce à COM, il permet l'écriture de composants logiciels réutilisables par
différentes applications. Il s'agit donc bien d'une technologie à composants.
2.3. Qu'est-ce que DCOM ?
Microsoft a ensuite complété la technologie COM afin de permettre la répartition des composants sur un réseau.
L'aspect distribué des composants COM ainsi répartis a donné le nom DCOM (pour « Distributed COM ») à cette
extension de COM.
2.4. Quels sont les services fournis par DCOM ?
Du point de vue du programmeur, DCOM spécifie la manière dont les composants peuvent être utilisés
DCOM regroupe les fonctionnalités des composants par interfaces. Une interface est un jeu de fonctions plus ou
moins liées sémantiquement, qui permettent d'utiliser un composant. Un composant peut implémenter plusieurs
interfaces.
Les composants sont également identifiés par un GUID (« Globally Unique IDentifier » - nombre unique à 128 bits).
Les GUID sont également appelés les CLSID (« CLaSs IDentifier », soit « Identificateur de classe »). Tous ces GUID
sont stockés dans des entrées spécifiques de la base de registre, que le système peut consulter pour faire
fonctionner DCOM.
Les composants peuvent être écrits aussi bien sous la forme de DLL que sous la forme d'exécutables. Les fichiers
qui implémentent des composants sont appelés des serveurs. Les programmes qui utilisent un composant sont ses
clients. Quel que soit le type de serveur, DCOM fournit les mécanismes nécessaires pour que ceux-ci s'enregistrent
dans le système et puissent être utilisés. Ces mécanismes assurent une totale transparence aussi bien pour
l'implémentation des composants vis-à-vis du type de serveur qui les contient que pour les clients. De plus, les
serveurs peuvent être exécutés sur une autre machine que celle sur laquelle tourne un client. DCOM assure ainsi
une complète transparence par rapport au réseau ou aux communications entre composants. Pour le client,
l'utilisation d'un service revient toujours à appeler une fonction d'une interface, et pour le serveur, l'implémentation
d'un service revient toujours à écrire cette interface.
Pour assurer la transparence au niveau du réseau, DCOM utilise les RPC (« Remote Procedure Call », ou « Appels
de procédures à distance »). En particulier, il prend en charge les communications et le marshalling, c'est à dire
l'encapsulation du côté client des paramètres donnés par le client à la fonction appelée, ainsi que la reconstitution de
ces paramètres du coté serveur pour l'appel de la fonction. Bien entendu, DCOM reste ouvert et permet au
programmeur de réaliser son propre marshalling, ou de contrôler son propre protocole de communication.
Remarque : Le protocole RPC utilisé par Microsoft est basé sur les spécifications DCE (« Distributed Computing
Environment ») et n'a absolument rien à voir avec le standard RPC de Sun, utilisé couramment dans le monde Unix.
Lycée G. Eiffel - Armentières
Page 3 sur 22
22/05/2006
Configuration DCOM pour OFS
DCOM est sécurisé en utilisant les droits d'accès des utilisateurs. Ceci signifie qu'il est nécessaire de disposer d'un
serveur de domaine pour donner ces droits (en pratique, ce serveur est un poste Windows Server). DCOM gère
également les licences d'utilisation pour les composants commerciaux.
3. Présentation des droits d’accès DCOM pour OPC
Client OPC
Serveur OPC
Application
Application
Fonctions OPC (DLL)
Fonctions OPC (DLL)
Composants DCOM
Composants DCOM
Droits d’accès
Droits d’accès et de
lancement
Réseau
Remarque : dans les explications suivantes on entend par « utilisateur » le compte utilisateur windows utilisé pour
l’exécution des programmes ou des composants DCOM (et pas l’utilisateur logué).
Droits au niveau du serveur :
L’utilisateur exécutant le client doit pouvoir accéder au composant DCOM du serveur pour accéder au serveur
OPC (accès aux variables du serveur).
L’utilisateur exécutant le client doit pouvoir lancer l’exécution du serveur OPC
Droits au niveau du client :
L’utilisateur exécutant le client doit pouvoir accéder au composant DCOM du client pour accéder au serveur OPC
(accès aux variables du serveur)
L’utilisateur exécutant le serveur OPC doit pouvoir accéder au composant DCOM du client (utilisation du
mécanisme de notification permettant au serveur OPC d’émettre vers le client les valeurs sur changement d’état)
Ces quatre types de droits sont mis en oeuvre dans la suite du document.
Lycée G. Eiffel - Armentières
Page 4 sur 22
22/05/2006
Configuration DCOM pour OFS
Configuration des machines du réseau (cas d’Armentières)
Les stations font partie du domaine « ARMBET » créé sur le serveur Windows 2003 Server (Contrôleur de Domaine
Principal)
Le serveur OPC et les clients OPC sont des machines Windows XP Pro SP2 (.NET Framework 2.0).
Tapiris
Automate TSX micro
192.168.33.8
Bus As-i
e
ol
oc
ot
Pr
Commutateur
Ethernet
m
r
ie
ét
)
IP
(X
Contrôleur de domaine
srvarm - 192.168.33.3
Windows 2003 server
COM
OPC / D
OP
Serveur OPC
COM
C/D
C
OP
M
CO
/D
irisxp-24 - 192.168.33.2
Windows XP Pro SP2
- Schneider OFS serveur
- Drivers XIP
Client OPC 1
irisxp-23 - 192.168.33.4
Windows XP Pro SP2
- Schneider OFS Remote Client
- wtclient.lib
- OPCLabs Demo
Client OPC 3
Client OPC 2
irisxp-25 - 192.168.33.6
Windows XP Pro SP2
- Schneider OFS Remote Client
- wtclient.lib
irisxp-26 - 192.168.33.7
Windows XP Pro SP2
- Schneider OFS Remote Client
4. Configuration des utilisateurs du domaine
Le contrôleur de domaine possède déjà les utilisateurs suivants : b1, b2, b3, b4 et b5. Ils appartiennent tous au groupe
« GroupArm »
Pour gérer les droits d’accès et d’utilisation des composants DCOM nécessaires à OPC, nous avons créé des comptes
supplémentaires sur le contrôleur de domaine (Windows Serveur 2003) :
Un groupe « GroupOPC »
Un utilisateur « adminOPC » membre des groupes Administrateurs, Admins du domaine, GroupOPC
et Utilisa. du domaine.
Nous avons affecté les utilisateurs b1, b2, b3, b4, b5 et adminOPC au groupe « GroupOPC »
Lycée G. Eiffel - Armentières
Page 5 sur 22
22/05/2006
Configuration DCOM pour OFS
Utilisateurs
Membre de …
b1
GroupArm, GroupOPC, Utilisa. du domaine
b2
GroupArm, GroupOPC, Utilisa. du domaine
b3
GroupArm, GroupOPC, Utilisa. du domaine
b4
GroupArm, GroupOPC, Utilisa. du domaine
b5
GroupArm, GroupOPC, Utilisa. du domaine
adminOPC
GroupOPC, Utilisa. du domaine
Administrateurs, Admins du domaine
5. Introduction à la configuration DCOM
Il faut commencer par configurer DCOM sur le serveur OPC, puis sur les clients.
A chaque modification des composants DCOM, il faut redémarrer la machine (surtout sur le serveur OPC).
Sur le client OPC, à chaque modification des composants DCOM il faut relancer les applications qui les utilisent.
La configuration DCOM est dépendante du système d’exploitation utilisé (Windows 2000, XP SP1, XP SP2, XP SP2 avec
.NET Framework 2.0)
6. Principes de la configuration DCOM
La configuration DCOM se fait en lançant dcomcnfg.exe (Démarrer > Exécuter …)
Configuration par défaut de tous les
composants COM et DCOM
OpcEnum : composant DCOM
permettant de lister les serveurs OPC
installés sur la machine
Schneider-Aut OPC Factory Server :
composant DCOM correspondant au
serveur OPC de Schneider
6.1. Remarque importante
L’exemple de configuration DCOM qui suit fonctionne mais peut être encore optimisé pour ce qui est de la sécurité.
La configuration proposée modifie les droits pour tous les composants DCOM de la machine. Il faudrait être plus
précis et ne modifier que les droits sur le composant DCOM utilisé.
C’est un travail que l’on envisage plus tard.
Lycée G. Eiffel - Armentières
Page 6 sur 22
22/05/2006
Configuration DCOM pour OFS
6.2. Sur le serveur OPC
Poste de Travail : Clic droit > Propriétés
La configuration DCOM sur « poste de travail » doit autoriser les utilisateurs du client OPC distant (GroupOPC) à
accéder (access) et à lancer (launch) TOUS les composants DCOM présents sur la machine serveur.
C’est la configuration par défaut de tous les composants DCOM de la machine serveur.
Composant DCOM : Clic droit > Propriétés (pour OpcEnum et Schneider-Aut…)
La configuration des composants DCOM doit autoriser les utilisateurs du client OPC distant à accéder (access) et à
lancer (launch) les composants DCOM « OpcEnum » et « Schneider-Aut OPC … »
(Si on laisse « par défaut » on hérite de la configuration au niveau poste de travail)
On peut particulariser la configuration de chacun de ces composants (bouton modifier). Attention dans ce cas,
l’héritage est cassé pour ces composants modifiés.
6.3. Sur les clients OPC
Poste de Travail : Clic droit > Propriétés
La configuration DCOM sur « poste de travail » doit autoriser la réception des Items modifiés et envoyés par le
serveur OPC.
Ces items sont envoyés par le serveur OPC, donc par l’utilisateur qui a lancé le serveur OPC (on choisit de lancer le
serveur OPC en tant que adminOPC)
Composant DCOM : Clic droit > Propriétés (Schneider-Aut…)
La configuration DCOM sur « poste de travail » doit autoriser la réception des Items modifiés et envoyés par le
serveur OPC.
(Si on laisse « par défaut » on hérite de la configuration au niveau poste de travail)
7. Chronologie des installations et configurations
1. Installation du driver XIP sur le serveur OPC (CDRom « Communication Driver Pack », lancer
« \XIP\windows\disk1\setup.exe »)
2. Installation du serveur OFS (CDRom « OFS - OPC Data Server –v3.0 », lancer « \setup.exe »)
3. Installation de « OFS Remote Client » sur les clients OPC (CDRom « OFS - OPC Data Server –v3.0 », lancer
« \setup.exe »)
4. Configuration DCOM sur le serveur OFS :
- configuration générale de DCOM (au niveau « Poste de travail »)
- configuration du composant DCOM « OpcEnum »
- configuration du composant DCOM « Schneider-Aut OPC Factory Server »
5. Configuration DCOM sur les clients OFS :
- configuration générale de DCOM (au niveau « Poste de travail »)
- configuration du composantDCOM « Schneider-Aut OPC Factory Server »
Lycée G. Eiffel - Armentières
Page 7 sur 22
22/05/2006
Configuration DCOM pour OFS
8. Configuration DCOM sur le poste Serveur OPC
8.1. Configuration DCOM du poste de travail
Lancer dcomcngf.exe en administrateur
Clic droit > Propriétés
Lycée G. Eiffel - Armentières
Page 8 sur 22
22/05/2006
Configuration DCOM pour OFS
Autorisation d’accès > Modifier les limites
Nom d’utilisateur ou de groupe
Accès local
Accès distant
ANONYMOUS LOGON
Autoriser
Autoriser
GroupOPC
Autoriser
Autoriser
Tout le monde
Autoriser
Autoriser
Autorisation d’accès > Modifier
Nom d’utilisateur ou de groupe
Accès local
Accès distant
GroupOPC
Autoriser
Autoriser
SELF
Autoriser
Autoriser
SYSTEM
Autoriser
Autoriser
Autorisations d’exécution > Modifier les limites
Nom d’utilisateur ou de groupe
Exécution locale
Exécution à
distance
Activation locale
Activation à
distance
Administrateurs
Autoriser
Autoriser
Autoriser
Autoriser
GroupOPC
Autoriser
Autoriser
Autoriser
Autoriser
Tout le monde
Autoriser
Autoriser
Autoriser
Autoriser
Autorisations d’exécution > Modifier
Nom d’utilisateur ou de groupe
Exécution locale
Exécution à
distance
Activation locale
Activation à
distance
Administrateurs
Autoriser
Autoriser
Autoriser
Autoriser
GroupOPC
Autoriser
Autoriser
Autoriser
Autoriser
INTERACTIF
Autoriser
Autoriser
Autoriser
Autoriser
SYSTEM
Autoriser
Autoriser
Autoriser
Autoriser
Lycée G. Eiffel - Armentières
Page 9 sur 22
22/05/2006
Configuration DCOM pour OFS
Lycée G. Eiffel - Armentières
Page 10 sur 22
22/05/2006
Configuration DCOM pour OFS
8.2. Configuration DCOM du composant OpcEnum
Clic droit > Propriétés
Lycée G. Eiffel - Armentières
Page 11 sur 22
22/05/2006
Configuration DCOM pour OFS
Autorisations de configuration :
Autorisations de configuration > Personnaliser
Nom d’utilisateur ou de groupe
Contrôle total
Lecture
Autoriser
Autoriser
GroupOPC
Autoriser
Autoriser
INTERACTIF
Autoriser
Autoriser
SYSTEM
Autoriser
Autoriser
Tout le monde
Autoriser
Autoriser
Administrateurs (locaux)
CREATEUR PROPRIETAIRE
Utilisateurs (locaux)
Autoriser
Utilisateurs avec pouvoir (locaux)
Autoriser
Lycée G. Eiffel - Armentières
Page 12 sur 22
22/05/2006
Configuration DCOM pour OFS
Opcenum.exe va donc être lancé en tant que
adminOPC (qui fait partie des
administrateurs du domaine)
Lycée G. Eiffel - Armentières
Page 13 sur 22
22/05/2006
Configuration DCOM pour OFS
8.3. Configuration DCOM pour le composant « Schneider-Aut OFS … »
Clic droit > Propriétés
Lycée G. Eiffel - Armentières
Page 14 sur 22
22/05/2006
Configuration DCOM pour OFS
Autorisations de configuration :
Autorisations de configuration > Personnaliser
Nom d’utilisateur ou de groupe
Contrôle total
Lecture
Autoriser
Autoriser
GroupOPC
Autoriser
Autoriser
INTERACTIF
Autoriser
Autoriser
SYSTEM
Autoriser
Autoriser
Tout le monde
Autoriser
Autoriser
Administrateurs (locaux)
CREATEUR PROPRIETAIRE
Utilisateurs (locaux)
Autoriser
Utilisateurs avec pouvoir (locaux)
Autoriser
Lycée G. Eiffel - Armentières
Page 15 sur 22
22/05/2006
Configuration DCOM pour OFS
Utilisateur interactif : OFS.exe serait lancé en
tant que l’utilisateur logué sur la machine
serveur OPC. Cependant pour le bon
fonctionnement de OFS.exe il doit être lancé
avec des droits administrateur et cette option
nécessite qu’il y ait toujours quelqu’un de
logué sur le poste serveur OPC.
Utilisateur exécutant : OFS.exe serait lancé
en tant que l’utilisateur logué sur la machine
cliente OPC. A déconseiller, car on lancerait
plusieurs copies du serveur OPC quand
plusieurs clients OPC seraient connectés.
Cet utilisateur : OFS.exe sera toujours
lancé en tant que l’utilisateur spécifié ici.
Cette option n’exige pas une ouverture de
session sur le serveur OFS. Il faut choisir un
utilisateur membre des groupes
administrateurs.
Le compte système : impossible car nous
possédons une version DEMO de OFS.exe
et il ne peut pas être lancé en service.
Lycée G. Eiffel - Armentières
Page 16 sur 22
22/05/2006
Configuration DCOM pour OFS
ATTENTION : Pour lancer le serveur OFS.exe à distance par un utilisateur du GroupOPC, le serveur OFS.exe doit être
configuré en mode « caché »
Lycée G. Eiffel - Armentières
Page 17 sur 22
22/05/2006
Configuration DCOM pour OFS
9. Configuration DCOM sur le poste Client OPC
9.1. Configuration DCOM du poste de travail
Lancer dcomcngf.exe en administrateur
Clic droit > Propriétés
Lycée G. Eiffel - Armentières
Page 18 sur 22
22/05/2006
Configuration DCOM pour OFS
Autorisation d’accès > Modifier les limites
Nom d’utilisateur ou de groupe
Accès local
Accès distant
ANONYMOUS LOGON
Autoriser
Autoriser
GroupOPC
Autoriser
Autoriser
Tout le monde
Autoriser
Autoriser
Autorisation d’accès > Modifier
Nom d’utilisateur ou de groupe
Accès local
Accès distant
GroupOPC
Autoriser
Autoriser
SELF
Autoriser
Autoriser
SYSTEM
Autoriser
Autoriser
Autorisations d’exécution > Modifier les limites
Nom d’utilisateur ou de groupe
Exécution locale
Exécution à
distance
Activation locale
Activation à
distance
Administrateurs
Autoriser
Autoriser
Autoriser
Autoriser
GroupOPC
Autoriser
Autoriser
Autoriser
Autoriser
Tout le monde
Autoriser
Autoriser
Autoriser
Autoriser
Autorisations d’exécution > Modifier
Nom d’utilisateur ou de groupe
Exécution locale
Exécution à
distance
Activation locale
Activation à
distance
Administrateurs
Autoriser
Autoriser
Autoriser
Autoriser
GroupOPC
Autoriser
Autoriser
Autoriser
Autoriser
INTERACTIF
Autoriser
Autoriser
Autoriser
Autoriser
SYSTEM
Autoriser
Autoriser
Autoriser
Autoriser
Lycée G. Eiffel - Armentières
Page 19 sur 22
22/05/2006
Configuration DCOM pour OFS
9.2. Configuration DCOM pour le composant « Schneider-Aut OFS … »
Lycée G. Eiffel - Armentières
Page 20 sur 22
22/05/2006
Configuration DCOM pour OFS
Utilisateur exécutant :On laisse passer la
réception des Items modifiés sur le serveur
OPC sous l’identité de celui qui exécute
ofs.exe (donc en tant que adminOPC)
Lycée G. Eiffel - Armentières
Page 21 sur 22
22/05/2006
Configuration DCOM pour OFS
10. Annexes
10.1.
Documentation et ressources OPC
OPC Foundation
http://www.opcfoundation.org/
OPC Programmer’s Connection
http://www.opcconnect.com/
What is OPC ?
http://www.opcactivex.com/What_Is_OPC/what_is_opc.html
10.2.
Documentations DCOM
FAQ sur DCOM/OLE
http://www.developpez.com/windows/dcom/t1.html
DCOM Tutorial - Configuring the OPC Server computer(s) and OPC Client computer(s)
http://www.opcactivex.com/Support/Tutorials/DCOM_Tutorial_-_Configuring_th/dcom_tutorial_-_configuring_th.html
DCOM Tutorial - Intro to the DCOMCNFG.EXE Utility
http://www.opcactivex.com/Support/DCOM_Config/DCOMConfigUtility/dcomconfigutility.html
MSDN : DCOM Technical Overview
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndcom/html/msdn_dcomtec.asp
Lycée G. Eiffel - Armentières
Page 22 sur 22
22/05/2006

Documents pareils