Bonjour ,

J'aimerais effectuer un client vers un OPC distant via une application C#.
Sur le PC distant ce trouve 2 serveur : un serveur Omron et un serveur Kepserver

Mon code actuel recherche le serveur disponible et essaie de s'y connecter. Je récupère bien les noms de 2 serveurs mais ne se connecte qu'à l'Omron.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
                //connexion à l'OPC distant (Pas fonctionnelle !!!!)
                OPCServer ObjOPCServer = new OPCServer();
 
                //OPCServerName = "Kepware.KEPServerEX.V5";
                ObjOPCServer = new OPCServer();
                IEnumerable<string> oOPCList;
 
                oOPCList = ((Array)(object)ObjOPCServer.GetOPCServers("172.17.33.34")).Cast<string>();
 
                foreach (var item in oOPCList)
                {
                    MessageBox.Show("--" + item.ToString());
                    //if (item.ToString().Contains("Kepware"))
                    //{
                        ObjOPCServer.Connect(item.ToString(), "172.17.33.34");
                        ObjOPCServer.Disconnect();
                    //}
                }
Lorsque l'application tente de se connecter sur Kepserveur le message suivant apparaît :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Exception de HRESULT : 0x80040202
Les dll utilisé sont ceux fourni par le cd installation de kepserveur : KEPware OPC Automation 2.0 (kepopcdaauto.dll)

Par ailleurs :
- Kepware propose des exemples de connexion à un OPC à l'installation (notamment en VB.net) qui me renvoie la même erreur mais se connecte bien à l'OMRON.
- Le but de l'application est de remplacer une application initialement coder en VB6, celle ci fonctionne et utilise les même librairie.

Merci d'avance pour votre aide !