piero23
Messages postés1Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention30 mai 2006
-
30 mai 2006 à 21:03
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
31 mai 2006 à 09:10
bonjour,
Je voudrais developper une client OPC sous excel.
J'ai 2 problemes :
(1) - Je n'arrive pas a lire une variable lorsque je le desire, pour l'instant ma fonction me renvoit la valeur que quand celle ci change de valeur.
Il me faudrait une fonction de lecture direct type AsyncRead() mais je n'arrive pas a passer correctement les paramètres...
(2) - Je n'arrive pas a creer et relire plusieurs Item
<hr />
Voici mon code, excuser mon niveau je debute :
<hr />
Option Explicit
Option Base 1
Const ServerName = "OPC.SimaticHMI.HmiRTm"
Public x As Integer
Dim WithEvents MyOPCServer As OpcServer
Dim WithEvents myopcgroup As OPCGroup
Dim MyOPCGroupColl As OPCGroups
Dim MyOPCItemColl As OPCItems
Dim MyOPCItems As OPCItems
Dim MyOPCItem As OPCItem
Dim ClientHandles(2) As Long
Dim ServerHandles() As Long
Dim Values(2) As Variant
Dim Errors() As Long
Dim ItemIDs(2) As String
Dim GroupName As String
Dim NodeName As String
<hr />
Sub StartClient()
'déclaration et connection au serveur
GroupName = "test"
NodeName = Range("A1").Value
Set MyOPCServer = New OpcServer
MyOPCServer.Connect ServerName, NodeName
Set MyOPCGroupColl = MyOPCServer.OPCGroups
MyOPCGroupColl.DefaultGroupIsActive = True
MyOPCGroupColl.DefaultGroupUpdateRate = 500
Set myopcgroup = MyOPCGroupColl.Add(GroupName)
MsgBox "Error: " & Err.Description, vbCritical, "ERROR"
End Sub
<hr />
Private Sub MyOPCGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)
Range("B2").Value = CStr(ItemValues(1))
'Range("B3").Value = CStr(ItemValues(2))
End Sub
<hr />
Si quelqu'un connais cette bibliothèque OPC et ces fonctions pour vba et pouvais prendre le temps de me donner un "petit" cours de VBA afin que je corrige le bon nombre d'erreurs qu'il y a dans mon code.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 31 mai 2006 à 09:10
Salut,
Ca fait tellement longtemps que je n'ai pas eu à utiliser OPC....
Bref: En tout cas OPC sous Excel j'ai fait.
Tiens regarde ma source: peu etre qu elle t'aidera un peu. elle n'est pas fait pour Excel (j'ai pas tester mais ca se trouve elle marche.)
Regarde bien comment je fais et si tu as des problème de compréhension fait moi signe.