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

Ergebnis 1 bis 2 von 2

Thema: SPS-Excel-Verbindung OPC Server, über VBA

  1. #1
    Registriert seit
    25.07.2010
    Beiträge
    7
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo sehr geehrtes SPS-Forum,
    Ich benötige dringend Hilfe. Ich schreibe momentan eine Facharbeit über eine SPS-Excel-Verbindung und bekomme es nicht hin.
    Ich bin unerfahren in dieser Thematik.

    Benutzt wird eine CPU313C mit CP343-1, diese ist angeschlossen mit einem PC, wo SimaticNet Softnet S7 Lean und Excel2003 installiert ist.

    Nun möchte ich in die
    Zelle „A1“=CHAR0 ; Zelle „A2“=CHAR1; usw. schreiben.

    Nun habe ich 3.Probleme.

    1.
    Mit dem eingegebenen VBA-Code bekomme ich keine Werte in meine Zelle geschrieben und schlimmer es gibt ein Fehler:
    LAUFZEITFEHLER –„1073479673 (c0040007)“
    Die Methode „AddItem“ für das Objekt „OPCItem“ ist fehlgeschlagen
    Ich habe den Siemens OPC DAAuutomation 2.0 zugewiesen und über OPC Data Control funktioniert es, über ein Label das CHAR einzulesen und mit Caption in eine Zelle zu schreiben.

    Mein VBA-Programm:

    Option Explicit
    Option Base 1

    Private ServerObj As OPCServer
    Private WithEvents GroupObj As OPCGroup
    Private GroupColl As OPCGroups
    Private ItemObj1 As OPCItem
    Private ItemObj2 As OPCItem
    Private ItemObj3 As OPCItem
    Private ItemObj4 As OPCItem
    Private ItemColl As OPCItems
    '--------------------------------------------------------------------
    Private Sub CommandButton1_Click()

    Set ServerObj = New OPCServer
    ServerObj.Connect ("OPC.SimaticNet")
    Set GroupColl = ServerObj.OPCGroups
    Set GroupObj = GroupColl.Add("MyGroup")
    GroupObj.IsSubscribed = True
    GroupObj.UpdateRate = CLng(Cells(5, 5))

    Set ItemColl = GroupObj.OPCItems

    Set ItemObj1 = ItemColl.AddItem("S7:[S7-Verbindung_1]DB2.CHAR0", 1)
    ItemObj1.Write CLng(Cells(1, 1))
    Set ItemObj2 = ItemColl.AddItem("S7:[S7-Verbindung_1]DB2.CHAR1", 1)
    ItemObj1.Write CLng(Cells(1, 2))
    Set ItemObj3 = ItemColl.AddItem("S7:[S7-Verbindung_1]DB1.DT0", 2)
    ItemObj1.Write CLng(Cells(2, 1))
    Set ItemObj4 = ItemColl.AddItem("S7:[S7-Verbindung_1]DB1.DT0", 2)
    ItemObj1.Write CLng(Cells(2, 2))

    End Sub
    '--------------------------------------------------------------------
    Private Sub CommandButton2_Click()
    'Das soll der Button sein der in der SPS etwas Reseten soll. Ein einfaches BOOL Signal.
    End Sub
    2. Zu jedem CHAR Wert soll der passende Zeitstempel der SPS stehen, also in Zelle „B1“=DT0...

    3. Ich möchte in Excel ein
    Button haben, der mir ein BOOL Signal zur SPS schickt.


    Danke für eure Hilfe im Voraus!!!

    Mit freundlichen Grüßen
    Bro
    Zitieren Zitieren SPS-Excel-Verbindung OPC Server, über VBA  

  2. #2
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Der Fehler sagt ja schon was das Problem ist, das Item konnte nicht hinzugefügt werden. Und der FehlerCode "c0040007" bedeutet "OPC_E_UNKNOWNITEMID" und das bedeutet im Klartext "The item ID is not defined in the server address space or no longer exists in the server address space."Und genau deshalb konnte sie auch nicht hinzugefügt werden.

    Auf Deutsch heist das die Syntax der angegebenen ItemID ist falsch.

    Und das liegt vermutlich daran das Du sie falsch abgeschrieben hast. Es muss ein "," (Komma) und kein "." (Punkt) zwischen <Baustein>,<Typ>
    Denn wie auch im Handbuch beschrieben ist die Item ID folgendermaßen aufgebaut:
    <ProtokollPräfix>:<[Verbindung]><Baustein>,<Typ><Offset>[,<Anzahl>]

    Davon abgesehen ist der nachfolgende Code mit Abstand das langsamste was man programmieren kann (einzelnd Items in eine aktive Gruppe hinzufügen und dann einzelnd nacheinander auf diese Items schreiben, es bedeutet auch die maximale Kommunikationsbelastung für die S7. Bei jedem Click eine neue Verbindung zum Server ohne die alte abzubauen geschweige denn die Items und Gruppe zu löschen. Für eine Facharbeit mag das gehen, aber alle anderen, die das vielleicht hier lesen:
    NICHT DEN OBIDEN CODE VERWENDEN.
    Es gibt hier im Forum deutlich bessere Beispiele.

  3. Folgender Benutzer sagt Danke zu Dr. OPC für den nützlichen Beitrag:

    ich988 (07.04.2011)

Ähnliche Themen

  1. Excel OPC Client über Netzwerk auf OPC Server
    Von magmaa im Forum Hochsprachen - OPC
    Antworten: 29
    Letzter Beitrag: 27.02.2010, 17:52
  2. WinCC Server-Server Verbindung
    Von Rdata im Forum HMI
    Antworten: 2
    Letzter Beitrag: 12.09.2008, 15:08
  3. Antworten: 4
    Letzter Beitrag: 05.11.2007, 15:08
  4. CoDeSys-OPC-Server über Excel
    Von akira255 im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 14.03.2007, 13:14
  5. mit vba excel programm über OPC server sps ansteuern
    Von Anonymous im Forum Hochsprachen - OPC
    Antworten: 14
    Letzter Beitrag: 19.08.2005, 09:03

Stichworte

Lesezeichen

Berechtigungen

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