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 :
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
:
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 !
Partager