IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Automation Discussion :

Communication entre PC VUE et une Base de donnée SQL Serveur


Sujet :

Automation

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Communication entre PC VUE et une Base de donnée SQL Serveur
    Bonjour,

    Je suis actuellement en alternance en License professionnel Automatisme Industriel et Bâtiments Intelligents.

    Dans mon entreprise, on s’intéresse actuellement à tout le potentiel de PCVUE afin de pouvoir faire de l'audit énergétique via la supervision d'un système.

    Je n'ai pas eu de souci pour connecter ma supervision à la base de donnée SQL et enregistrer des valeurs de registres ou de bit en temps voulu.

    Seulement, maintenant je voudrait pouvoir récupérer des valeur de variable enregistrées dans la base de données depuis PCVue pour ensuite réutiliser ces valeurs.

    J'ai donc commencé à développer un programme en reproduisant ce que j 'ai pu trouver sur internet seulement des ces premières lignes de code :

    imports System.data
    imports System.data.sqlclient

    J'ai déja une erreur "Invalid outside Procedure"

    Je suis ouvert à toute propositions afin de démarrer le développement de mon programme même des solutions SCADA.

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Points : 130
    Points
    130
    Par défaut
    Bonjour,
    Dans la boite où j'étais avant, on développait, la plupart du temps, des applications avec Visual Studio pour faire l'édition de rapport des données enregistrées avec PC Vue.
    Sinon tu peux aussi utiliser les objets ADO. Je peux te donner de exemples si tu veux.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je veux bien un exemple s'il te plait

    Faut il télécharger des bibliothèques pour avoir accès a ces objets ??

    Pour mon erreur, es ce qu'il me manque des bibliothèques ?

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Sinon je suppose que pour récupérer des données de consommation par Visual Studio, tu passe directement par la base de données ?

  5. #5
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Points : 130
    Points
    130
    Par défaut
    Je ne connais pas les objets que tu veux utiliser.
    Apres que tu fasses ça sur PC Vue ou sur Visual Studio, le code sera le même.

    Voila un exemple. Après tout dépend ce que tu dois faire des données que tu as dans la base de donnée.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    '***************************
    '*** MISE A JOUR RECORDS ***
    '***************************
    Public Sub MISE_A_JOUR_RECORDS_BIGBAG(ByVal Numero_Lot As String, ByVal Numero_OF As String, ByVal Numero_BigBag As Integer, ByVal Qualite As Integer)
        
        Dim Nombre As Integer
        Dim Date_J As Date
        Date_J = Now()
    
         '*** General connection objects
        Dim objConnection As Object
        Dim objRecordset As Object
        Dim sConnectionString As String
            
        '*** Global Request variable
        Dim sRequest As String
           
        '*** General constant
        Const adOpenStatic = 3
        Const adOpenDynamic = 4
        Const adLockOptimistic = 3
        Const adUseClient = 3
            
        On Error GoTo TRAP_Error
        '*** Creation de la requette SQL en fonction du produit
        sRequest = "SELECT * FROM Records_Produit_Fini WHERE ((NUM_LOT = '" & Numero_Lot & "') AND (NUM_OF = '" & Numero_OF & "') AND (NUMERO_BIGBAG = " & Numero_BigBag & "))"
        'MsgBox sRequest
        '*** Creation des objets ADODB
        Set objConnection = CreateObject("ADODB.Connection")
        Set objRecordset = CreateObject("ADODB.Recordset")
        
        '*** Connection a la base de donnees
        sConnectionString = "uid=" & [SUPERVISION.SQL.NOM_UTILISATEUR] & ";pwd=" & [SUPERVISION.SQL.MOT_DE_PASSE] & ";driver={SQL Server};server=" & [SUPERVISION.SQL.NOM_SERVEUR] & ";database=" & [SUPERVISION.SQL.NOM_DB] & ";dsn=''"
        objConnection.Open sConnectionString
        objRecordset.CursorLocation = adUseClient
                
        objRecordset.Open sRequest, objConnection, adOpenStatic, adLockOptimistic
        
        Nombre = 0
        Do Until Not objRecordset.EOF
            Nombre = Nombre + 1
        Loop
        
        
        '*** Ajout d'une ligne dans le RecordSet
        objRecordset.Fields("Poids_Produit_Fini_1") = 60 '[SUPERVISION.Poids_En_Cours_BigBag]
        objRecordset.Fields("Date_Fin") = DatePart("YYYY", Date_J) & "-" & DatePart("m", Date_J) & "-" & DatePart("d", Date_J) & " " & DatePart("h", Date_J) & ":" & DatePart("n", Date_J) & ":" & DatePart("s", Date_J) & ".000"
        objRecordset.Fields("Qualite") = Qualite
        
        
        '*** Mise a jour de la base de donnees
        objRecordset.Update
            
        '*** Fermeture du RecordSet
        objRecordset.Close
        If Not objRecordset Is Nothing Then
            Set objRecordset = Nothing
        End If
        '*** Fermeture de la connection
        If Not objConnection Is Nothing Then
            objConnection.Close
            Set objConnection = Nothing
        End If
        
        Exit Sub
    
    TRAP_Error:
        If Err.Number = -2147467259 Then
            MsgBox "Cannot find the database " & sDBName
        Else
            MsgBox "You met an error by connecting database " & sDBName & "." & vbCrLf & "Error location: Mise à jours Big Bag. " & Err.Description
        End If
        
    End Sub
    Personnellement je ne pense pas que PC Vue soit le mieux pour éditer des rapports de production. Après tu peux aussi faire tes rapports avec Access par exemple.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup !!


    L’intérêt serai d'avoir tous sur la supervision pour le client.

  7. #7
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Points : 130
    Points
    130
    Par défaut
    Pour le client c'est peut être mieux, et encore je n'en suis pas convaincu car tu peux lancer une application via PC Vue donc pour lui ce serait assez transparent. Et toi du coup tu pourras faire beaucoup plus de choses.

Discussions similaires

  1. Convertir une base de données SQL Serveur en MySql
    Par sheira dans le forum Débuter
    Réponses: 8
    Dernier message: 03/07/2015, 16h16
  2. [2008] Acces à distance d'une base de données SQL Serveur à partir d'internet
    Par thiankoye dans le forum Administration
    Réponses: 4
    Dernier message: 13/04/2014, 14h42
  3. Connexion en VB à une base de données SQL Serveur 2005
    Par myannick dans le forum Développement
    Réponses: 1
    Dernier message: 24/07/2009, 09h33
  4. Réponses: 4
    Dernier message: 20/03/2008, 11h10
  5. Accès à une base de données SQL serveur
    Par TALNA dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/11/2005, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo