Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: OPC Server austauschen

  1. #1
    Registriert seit
    15.05.2008
    Ort
    NRW
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo an alle,

    hier meine erste "anfrage" an dieses forum.
    ich habe als opc und vba neuling einen opc client (access) programmiert.
    dieser liest daten aus einer s7 aus. der opc server den ich benutzte ist von ibh softec. hierzu musste ich in access (vba) noch eine ibhdaauto.dll einbinden. das ganze funktionierte auch (irgendwann) einwandfrei.
    jetzt möchte ich aus verschiedenen gründen den opc server von pi (process informatik) einsetzen.
    bei diesem opc server war allerdings keine dll dabei. deshalb habe ich die von ibh und später auch die von siemens getestet. danach habe ich von pi noch die (orginal) daauto.dll bekommen.
    doch bei allen 3 varianten bleibt folgendes problem: bei den realzahlen werden die kommastellen abgeschnitten und bei den stringvariablen stehen bei mir in access nur fragezeichen.

    also wozu gibt es bei den opc servern verschiedene dll's. was steht da drin. warum reicht es nicht nur den namen des opc servers im client zu ändern. was hat das ganze dann noch mit standard zu tun.

    ich würde mich freuen wenn mir jemand diese wahrscheinlich elementaren fragen beantworten kann und vor allem eine lösung für mein problem mit den real- und stringvariablen hat.

    vielen dank schonmal


    matthias
    Zitieren Zitieren OPC Server austauschen  

  2. #2
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.616
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Wie immer mit OPC:
    Wenn es Probleme mit ein OPC Client gibt, denn mit ein OPC Test Client probieren ob die Daten richtig vorhanden sind.
    Siemens OPC Test Client heisst "OPC Scout".

    Wenn es mit den Test Client klappt, den liegt das Problem in Deiner Access applikation.

    Ich verstehe nicht wass Du mit die verschiedene .dlls willst.
    Einfach OPC Server installieren, und mit Bedieneranleitung konfigurieren.
    Jesper M. Pedersen

  3. #3
    67Matze ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.05.2008
    Ort
    NRW
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    <Hallo Jesper,

    danke für deine antwort.
    auf deine bemerkung "was willst du mit den verschiedenen dll's":
    ich muss in vba einen verweis auf eine dll machen. warum es bei opc verschieden bzw. offensichtlich von den herstellern der opc server modifizierte dll's gibt, wüsste ich auch gerne. einfach nur opc server installieren reicht (zumindest bei mir) nicht.

    mit dem testclient der von pi mitgeliefert wird, kann ich die real zahlen mit nachkommastellen sehen.

    ich denke auch das es an vba liegt, obwohl es mit dem opc server von ibh funktioniert. vieleicht ist in der dll noch irgendeine art formatierungs-information enthalten, welche vba dann den wert entsprechend formatiert zu verfügung stellt.

    so sieht meine einbindung in vba in etwa aus:

    -----------
    'funktion verbindung aufbauen und variable definieren
    Dim Item(7) As OPCItem
    Dim Items As OPCItems
    Dim Group As OPCGroup
    Dim Groups As OPCGroups
    Dim Server As OPCServer


    'Start the server (if not already)
    Dim MyServerName As String

    MyServerName = "IBHsoftec.IBHOPC.DA"

    Set Server = New OPCServer
    Server.Connect MyServerName

    'Add a group on the started OPC Server
    Dim MyGroupName As String

    'Now Add the Group, set an update rate and activate it
    MyGroupName = "MyFirstGroup"
    Set Groups = Server.OPCGroups
    Set Group = Groups.Add(MyGroupName)
    Group.UpdateRate = 5000
    Group.IsActive = True
    Set Items = Group.OPCItems
    IsGroupAdded = True

    'OPC Variablen definieren
    Set Item(0) = Items.AddItem("Steuerung1.Generic.Dateiname", 1)
    Set Item(1) = Items.AddItem("Steuerung1.Generic.Programmname", 1)
    Set Item(2) = Items.AddItem("Steuerung1.Generic.PVersionD", 1)
    Set Item(3) = Items.AddItem("Steuerung1.Generic.PVersionT", 1)
    Set Item(4) = Items.AddItem("Steuerung1.Generic.Trigger", 1)
    Set Item(5) = Items.AddItem("Steuerung1.Generic.Zaehler", 1)
    Set Item(6) = Items.AddItem("Steuerung1.Generic.Mischmenge", 1)
    ---------------------

    'Funktion Variable lesen:
    Dim Quality(7) As Variant
    Dim TimeStamp(7) As Variant
    Dim Value(7) As Variant

    Item(0).Read 1, Value(0), Quality(0), TimeStamp(0)
    Item(1).Read 1, Value(1), Quality(1), TimeStamp(1)
    Item(2).Read 1, Value(2), Quality(2), TimeStamp(2)
    Item(3).Read 1, Value(3), Quality(3), TimeStamp(3)
    Item(4).Read 1, Value(4), Quality(4), TimeStamp(4)
    Item(5).Read 1, Value(5), Quality(5), TimeStamp(5)
    Item(6).Read 1, Value(6), Quality(6), TimeStamp(6)
    -----------------------

    kann ich in vba noch etwas ändern um mein problem mit den realzahlen und den string variablen zu lösen? bool variable kommen übrigens richtig an.

    Vielen Dank

    Matthias

  4. #4
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.616
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    In deiner VBA code gibt es kein verweiss auf dll.

    Aber Du hast
    MyServerName = "IBHsoftec.IBHOPC.DA"

    Für Simatic Net glaube ich dass es muss heissen
    MyServerName = "OPC.SimaticNet"
    Jesper M. Pedersen

  5. #5
    67Matze ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.05.2008
    Ort
    NRW
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    hallo Jesper,

    ich möchte gar nicht den opc server von siemens verwenden. in diesem beispiel habe ich den opc server von ibh verwendet, der ja auch einwandfrei funktioniert. mein problem ist jetzt der opc server von pi. da habe ich den code halt dahingehend geändert, daß ich den namen des pi opc - servers angegeben habe und den verweis auf die opcdaauto.dll gemacht habe.
    auf die dll brauche ich im vba code auch nicht zu verweisen. da gibt es bei access bzw. dem dazugehörigen vba editor einen menüpunkt unter extras/verweise wo ich die dll angeben kann.

    ich hoffe ich drücke mich einigermaßen verständlich aus.

    Matthias

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Zitat Zitat von JesperMP Beitrag anzeigen
    In deiner VBA code gibt es kein verweiss auf dll.
    Ich denke, was Jesper hier meint ist :
    Du musst doch irgendwo den Bezug zum Inhalt der DLL herstellen - welche Prozeduren mit welchen Übergabe-Parametern - ggf. interne Variablen - etc.

    Gruß
    LL

  7. #7
    Registriert seit
    17.02.2006
    Ort
    Holland
    Beiträge
    47
    Danke
    23
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo,

    In acess sind glaube ich die "Real" van Step 7 gleich an typ "single".

  8. #8
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.616
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Zitat Zitat von 67Matze Beitrag anzeigen
    ich möchte gar nicht den opc server von siemens verwenden. in diesem beispiel habe ich den opc server von ibh verwendet, der ja auch einwandfrei funktioniert.
    Es war nur ein Beispiel zu zeigen, wie den Umstieg auf einen anderen OPC-Server aussieht. Ich glaube das nur MyServerName muss aktualisiert werden.

    Zitat Zitat von 67Matze Beitrag anzeigen
    mein problem ist jetzt der opc server von pi. da habe ich den code halt dahingehend geändert, daß ich den namen des pi opc - servers angegeben habe und den verweis auf die opcdaauto.dll gemacht habe.
    auf die dll brauche ich im vba code auch nicht zu verweisen. da gibt es bei access bzw. dem dazugehörigen vba editor einen menüpunkt unter extras/verweise wo ich die dll angeben kann.
    Wie dies ?:
    https://a248.e.akamai.net/cache.auto...Excel_02_e.gif
    Ich glaube was du meinst ist ein erweiterung womit Excel als OPC Client wird. Diese Komponenten glaube ich sind in Prinzip gleich.
    Also die OPC Client Komponenten von Siemens kann mit ein OPC Server von IBH funktionieren, und die Komponenten von PI kann mit ein OPC Server von Siemens funktionieren usw.
    Jesper M. Pedersen

  9. #9
    67Matze ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.05.2008
    Ort
    NRW
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ich habe mal das menue als bild angehängt in dem ich den verweis auf die dll mache. wenn der verweis fehlt bekomme ich beim kompilieren den fehler: benutzerdefinierter typ nicht definiert.
    dies bezieht sich auf die codezeile: Dim Item(7) As OPCItem.

    ich habe den verdacht das der ibh opc server alle s7 formate intern in zb. text umwandelt. wenn ich in access dann die variablen als variant declariere bekomme ich dann automatisch das richtige format.

    der pi opc server macht das anscheinend nicht. gibt es vieleicht in access eine möglichkeit dies auszugleichen?

    Matthias
    Angehängte Grafiken Angehängte Grafiken

  10. #10
    Registriert seit
    20.10.2003
    Ort
    Biberach
    Beiträge
    5.068
    Danke
    959
    Erhielt 1.457 Danke für 922 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von 67Matze Beitrag anzeigen
    .. den opc server von pi ...
    Der OPCmanager? Vielleicht findest Du hier weitere Infos.
    Beste Grüße Gerhard Bäurle
    _________________________________________________________________
    Hardware: the parts of a computer that can be kicked. – Jeff Pesis

Ähnliche Themen

  1. S5 100U HMI austauschen
    Von Jug im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 24.05.2011, 21:40
  2. MMC-Karte austauschen
    Von Andy Latte im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 14.01.2008, 13:13
  3. CPU austauschen
    Von Approx im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 10.12.2007, 23:27
  4. OP5 Austauschen
    Von Norbert17 im Forum HMI
    Antworten: 10
    Letzter Beitrag: 19.01.2007, 14:22
  5. CP 1430 TF Austauschen
    Von dpd80 im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 09.11.2006, 22:00

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •