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

Ergebnis 1 bis 5 von 5

Thema: Siemens S7 kommunikation mit EXCEL VBA OPC Client

  1. #1
    Registriert seit
    05.06.2011
    Beiträge
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo an das Super Forum,

    stehe vor einem großen Problem:
    Ich habe einen OPC Client in Excel VBA programmiert, wobei 4 Variablen gelesen werden sollen und eine an die SPS gesendet werden soll.
    Klappt ja soweit gar nicht schlecht, nur hab ich das Problem, dass ich nicht zuordnen kann welcher Wert sich geändert hat.

    wie bekomme ich das hin, damit ich weiß, dass sich jetzt die 3.Variable geändert hat.

    Danke für eure Hilfe
    Zitieren Zitieren Siemens S7 kommunikation mit EXCEL VBA OPC Client  

  2. #2
    Registriert seit
    02.07.2004
    Beiträge
    14
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo bobby765


    normalerweise bekommst du über ein Event jede variable Änderung mitgeteilt.

    4.4.4.5 IsSubscribed

    Description

    (Read/Write) This property controls asynchronous notifications to the group. A group that is subscribed receives data changes from the server.

    Syntax

    IsSubscribed As Boolean

    Remarks

    Default value for this property is the value from the OPCGroups corresponding default value at time of the Add();

    Example

    VB Syntax Example (getting the property): Dim CurrentValue As Boolean Set MyGroups = AnOPCServer.OPCGroups

    Set OneGroup = MyGroups.ConnectPublicGroup ( “AnOPCGroupName” )

    some more code here

    Set CurrentValue = OneGroup.IsSubscribed ‘ to get the value

    VB Syntax Example (setting the property): Set MyGroups = AnOPCServer.OPCGroups

    Set OneGroup = MyGroups.ConnectPublicGroup ( “AnOPCGroupName” )

    some more code here

    OneGroup.IsSubscribed = True ‘ to set the value





    4.4.6.1 DataChange

    Description

    The DataChange event is fired when a value or the quality of a value for an item within the group has changed. Note the event will not fire faster than the update rate of the group. Therefore, item values will be held by the server and buffered until the current time + update rate is greater than the time of the previous update (event fired). This is also affected by active states for both Group and Items. Only items that are active, and whose group is active will be sent to the client in an event.

    Syntax

    DataChange (TransactionID As Long, NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)



    grüße Andi

    Zitieren Zitieren Siemens S7 kommunikation mit EXCEL VBA OPC Client  

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

    Standard

    Wenn dein Excel Client eine Gruppe angelegt und dann mit "AddItems()" die Variablen hinzufügt, wird für jedes OPC Item ein sogenanntes ClientHandle vergeben. Das ist eine Index-Nummer die du (der Client) selber vergeben kannst.

    Beispiel: nehmen wir an du hast für deine vier Items 1,2,3,4 als ClientHandle vergeben.

    Der Server merkt sich diese ClientHandles und wenn er dich über Datenänderungen informiert, schickt er dir einen OnDataChange Event. Dieser Callback enthält nur die Items, die sich auch geändert haben inklusive der dazugehörigen ClientHandles.

    Im Eventhandler diese Callbacks kannst du also, anhand des mitgelieferten ClientHandles, erkennen welche deiner OPCItems sich geändert hat.

    Beispiel: nehmen wir an es kommt ein DataChange mit zwei geänderten Werten, einer vom ClientHandle 2 und einer vom ClientHandle 4.

  4. #4
    Registriert seit
    01.08.2011
    Beiträge
    28
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielleicht auch interessant? Es gibt einen fertigen OPC-Server für die S7 Steuerung von MatrikonOPC... einfach mal testen:

    http://www.matrikonopc.de/opc-server...iemens-s7.aspx

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielleicht auch interessant?
    Leider NICHT interesant, da wir hier versuchen grundsätzliches Problem von bobby765 zu lösen, nähmlich die Frage wie man im DataChange erkennt welche Items sich geändert haben. Das ist unabhängig davon welchen OPC Server von welchen Firma man verwendet.

    Auf eine Werbung für Matrikon-OPC Server kann also verzichtet werden, es sei denn es gibt dort ein Excel-Beispiel in dem die Auswertung von DataChanges in VBA super erklärt wäre. Dieses Codefragment darfs Du gerne hier posten.

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

    vierlagig (01.08.2011)

Ähnliche Themen

  1. OPC Client (Excel & VBA)
    Von WinCCPapst im Forum Programmierstrategien
    Antworten: 5
    Letzter Beitrag: 22.07.2011, 20:45
  2. OPC Client mit Excel
    Von C_Roth im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 30.08.2010, 12:58
  3. OPC Client Excel: Zugriffsrechtproblem
    Von Stefan.Belkot im Forum Hochsprachen - OPC
    Antworten: 11
    Letzter Beitrag: 21.09.2009, 14:35
  4. OPA AE Client in Excel VBA 2007
    Von MarkusMA im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 14.11.2008, 23:39
  5. OPC Client Excel
    Von moeller im Forum Sonstige Steuerungen
    Antworten: 7
    Letzter Beitrag: 31.10.2007, 07:22

Lesezeichen

Berechtigungen

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