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

Ergebnis 1 bis 8 von 8

Thema: 2 Bits schreiben mit LibNoDave

  1. #1
    Registriert seit
    04.04.2008
    Beiträge
    389
    Danke
    85
    Erhielt 39 Danke für 24 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    es gelingt mir nicht, zwei Bits gleichzeitig in die CPU mit Hilfe von LibNoDave zu schreiben. Wenn ich die Bits mit zwei einzelnen Anweisungen schreibe, klappts.

    Was muss ich hier korrigieren, damit es funktioniert?
    Ich will mit einem Aufruf den M30.0 einschalten und den M30.1 ausschalten.

    Code:
    Private Sub btnKugelhahnOeffnen_MouseDown(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles btnKugelhahnOeffnen.MouseDown
    Dim bits(1) As Byte
    bits(0) = 1
    bits(1) = 0
    'M30.0 = 30x8 = 240; M30.1 = 30x8+1 = 241
    res = dc.writeBits(libnodave.daveFlags, 0, 240, 1, bits)
    End Sub

    Gruß
    Earny
    Zitieren Zitieren 2 Bits schreiben mit LibNoDave  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Das Protokoll zur S7 gibt kein Schreiben von Arrays of Bits her. Bits können immer nur einzeln geschrieben werden.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. Folgender Benutzer sagt Danke zu Rainer Hönle für den nützlichen Beitrag:

    Earny (23.11.2008)

  4. #3
    Earny ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.04.2008
    Beiträge
    389
    Danke
    85
    Erhielt 39 Danke für 24 Beiträge

    Standard

    Hallo Rainer,
    mein alter OPC-Server kann das. Man kann mit einem einzigen Aufruf der Objekt-Methode S7Data1.ReadMultiVariables(..., ..., ..., ...) die Werte beliebiger Bits in einem Byte lesen.
    Ich habe deshalb nochmal bei Hergenhahn nachgelesen. Es git eine FAQ.txt-Datei da steht auch drin, dass der gleichzeitige Zugriff auf mehrere Bits nicht funktioniert. Schade.

    Gruß
    Earny

  5. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Wozu denn unbedingt Bits schreiben und lesen, man könnte in diesem Falle ja auch das Byte lesen, Änderungen vornehmen und das dann zurückschreiben. Vorausgesetzt, es passiert inzwischen nichts in der Steuerung. Aber das könnte man ja bei Bedarf auch sicherstellen, indem man die Schnittstelle (Daten) zwischen SPS und libnodave entsprechend gestaltet.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  6. #5
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    @Ralle:
    Das halte ich für äußerst gefährlich. Sicherzustellen, dass innerhalb dieser langen Kommunikationszeit (1 x Lesen und danach 1 x Schreiben) keines der anderen Bits von der SPS geändert wird ist in der Regel schwierig (außer es handelt sich um eine reine Schnittstelle PC -> SPS). Dann lieber zwei Schreibaufträge absetzen.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  7. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    @Ralle:
    Das halte ich für äußerst gefährlich. Sicherzustellen, dass innerhalb dieser langen Kommunikationszeit (1 x Lesen und danach 1 x Schreiben) keines der anderen Bits von der SPS geändert wird ist in der Regel schwierig (außer es handelt sich um eine reine Schnittstelle PC -> SPS). Dann lieber zwei Schreibaufträge absetzen.
    Da hast du völlig recht, daher auch der Hinweis, die Schnittstelle entsprechend zu gestalten, z.Bsp. einen Schreib- und einen Lesebereich etc.
    Andererseits, wenn es nicht tausende Bits sind, geht das schon mit hintereinander schreiben.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. #7
    Earny ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.04.2008
    Beiträge
    389
    Danke
    85
    Erhielt 39 Danke für 24 Beiträge

    Standard

    Hallo Ralle,
    hallo Rainer,
    das Lesen und Schreiben von 2 oder mehreren Bits eines Bytes mit LibNoDave klappt jetzt. Ich Schreibe für jedes einzelne Bit einen Aufruf. Das kostet möglicherweise etwas Zeit bei der Kommunikation, aber ist doch sicherer, als wenn man ganze Bytes schreibt.

    Jetzt habe ich aber noch Probleme mit dem Lesen von Wörtern.

    Gruß
    Earny

  9. #8
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Und welches?
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

Ähnliche Themen

  1. Libnodave PAW schreiben
    Von FeigeKalle im Forum Hochsprachen - OPC
    Antworten: 9
    Letzter Beitrag: 04.02.2011, 14:45
  2. Antworten: 19
    Letzter Beitrag: 30.06.2010, 23:15
  3. Libnodave, VBA und Auslesen von Bits
    Von Fluffi im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 24.07.2009, 14:09
  4. mit libnodave in db schreiben
    Von mike97714 im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 30.06.2009, 08:33
  5. libnodave - Float auf SPS schreiben
    Von seeba im Forum Hochsprachen - OPC
    Antworten: 16
    Letzter Beitrag: 15.11.2005, 23:30

Lesezeichen

Berechtigungen

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