2017-07-28 1 views
0

Je dois me connecter à distance à deux instruments en utilisant win32com, mais j'obtiens une erreur lorsque le second objet est créé. le code ressemble à ceci:python: créer 2 objets com

scope1 = win32com.client.Dispatch("LeCroy.ActiveDSOCtrl.1") #creates first instance of the ActiveDSO control 
scope1.MakeConnection("GPIB:5") #Connects to device via GPIB 

scope2 = win32com.client.Dispatch("LeCroy.ActiveDSOCtrl.2") #creates a second instance of the ActiveDSO control 
scope2.MakeConnection("IP:127.0.0.1") #Connects to the oscilloscope on local host 

Je reçois une erreur lors de la création de l'objet COM. Est-ce que quelqu'un sait comment faire ce travail si c'est possible?

Répondre

0

Pour le bénéfice des autres qui contrôlent à distance des instruments, la solution est plus simple que prévu: périmètre1 = win32com.client.Dispatch ("LeCroy.ActiveDSOCtrl.1") #creates première instance du contrôle ActiveDSO

scope1.MakeConnection ("GPIB: 5") #Connecte au périphérique via GPIB scope2 = win32com.client.Dispatch ("LeCroy.ActiveDSOCtrl.1") #créote la deuxième instance du contrôle ActiveDSO
scope2.MakeConnection (" IP: 127.0.0.1 ") #Connecte à l'oscilloscope sur l'hôte local ou toute autre adresse IP

Je peux réellement réer autant que je veux objet activeX, tant que je continue à utiliser la même référence à l'expédition: « LeCroy.ActiveDSOCtrl.1 »

générateur

= win32com.client.Dispatch (« LeCroy.ActiveDSOCtrl.1 »)

multimètre = win32com.client.Dispatch ("LeCroy.ActiveDSOCtrl.1") . .

mon erreur était d'utiliser .2 qui n'a aucune référence.