Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Automation
Automation Forum d'entraide sur l'automatisme, la robotique et l'informatique industrielle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/06/2007, 16h42   #1
Invité de passage
 
Inscription : juin 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 2
Points : 0
Points : 0
Par défaut [OPC Serveur] problème de lecture

[edit bbil ]
suite à la discussion : http://www.developpez.net/forums/sho...d.php?t=150423
[/edit]



Bonjours,

D'abord je vous remercie pour votre code
le pb c que je peux écrire des données d'excel à opc server grace votre code,mais j'arrive pas lire des données d'opc server sur mon tableau d'excel ,mm si j'ai bien changé 'write' = 'read' dans votre code

est-ce que c'est normal ou je dois ajouter quelques choses?

Merci
andylau82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 18h21   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 777
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 777
Points : 16 857
Points : 16 857
Envoyer un message via Skype™ à bbil
Que se passe t'il lors de l'exécution du code ..?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 09h33   #3
Invité de passage
 
Inscription : juin 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 2
Points : 0
Points : 0
Bonjours,
D'abord, je vous remercie pour votre code
je peux écrire mes données du tableau d'excel à opc server grace a votre code
Mais le pb c que je n'arrive pas lire les données de 'opc server' sur mon tableau d'excel.Meme si j'ai bien changé 'write' en 'read' sur votre code
est ce que je dois ajouter quelques choses sur votre code pour pouvoir lire les données a partir d'opc server?
je suis coincé depuis quelques jours,merci
andylau82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 16h16   #4
Membre habitué
 
Avatar de Angath
 
Inscription : juin 2004
Messages : 140
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2004
Messages : 140
Points : 145
Points : 145
Envoyer un message via MSN à Angath
Effectivement j'avais oublié de poster l'exemple de lecture

Donc pour lire une valeur :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Public Function LectureCimPoint(PtId As String, Capteur_Type As Boolean) As Integer
        
        Dim ItemServerHandles() As Long
        Dim ClientHandles(1) As Long
        Dim OPCItemIDs(1) As String
        Dim Errors() As Long
        Dim OPCReadItem As OPCItem

        ClientHandles(1) = 1
        OPCItemIDs(1) = PtId
        OPCReadGroup.OPCItems.AddItems 1, OPCItemIDs, ClientHandles, ItemServerHandles, Errors
        Set OPCReadItem = OPCReadGroup.OPCItems.GetOPCItem(ItemServerHandles(1))
        
        OPCReadItem.Read OPCCache
            
        If OPCReadItem.Quality <> 192 Then
                Select Case Capteur_Type
                    Case False  'TO
                        LectureCimPoint = 255
                    Case True   'Debit
                        LectureCimPoint = 15300
                End Select
        Else
                LectureCimPoint = OPCReadItem.Value
        End If
       
        ItemServerHandles(1) = OPCReadItem.ServerHandle
        OPCReadGroup.OPCItems.Remove 1, ItemServerHandles, Errors
        Set OPCReadItem = Nothing
        
End Function
Ce code lit donc une valeur, teste la qualité de la valeur (192 tout vas bien) et renvoit la valeur.

On peut lire en tableau en indiquant une ID Opc de type tableau (depend si le serveur le gere) et faire renvoyer un variant au lieu d'un integer par la fonction.

On peux aussi lire uniquement les valeurs qui changent dans ton groupOPC, en gérant l'event OnDataChanged du groupe OPC, mais c'est encore une autre histoire lol
Angath est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h22.


 
 
 
 
Partenaires

Hébergement Web