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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Bit in der SPS setzen mit VB.net 2008 und libnodave

  1. #11
    Registriert seit
    01.03.2007
    Beiträge
    262
    Danke
    26
    Erhielt 33 Danke für 28 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    Das mag die SPS nicht. Bits können nur einzeln geschrieben werden. Oder löst das libnodave auf?
    Ich hab das ehrlich gesagt noch nie ausprobiert, aber ich denke mal nicht, dass die Länge da umsonst mit drinnen ist.

  2. #12
    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

    Zitat Zitat von Human Beitrag anzeigen
    Ich hab das ehrlich gesagt noch nie ausprobiert, aber ich denke mal nicht, dass die Länge da umsonst mit drinnen ist.
    Nicht umsonst. Die anderen Operandengrößen (Byte, Wort, Doppelwort) können da Werte größer 1 enthalten.
    Rainer Hönle
    DELTA LOGIC GmbH

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

  3. #13
    Registriert seit
    20.05.2009
    Beiträge
    32
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hier 2 .NET-Funktionen zum setzen und abfragen einzelner Bit's in einem Byte (z.B. dem Sendepuffer):

    Code:
    Public Shared Function SetBit(ByRef Byt As Byte, ByVal Bit As Integer, ByVal State As Boolean) As Boolean
    Try
    If Bit > 7 Then Return False
    Dim OrMask As Byte = CType(&H1 << Bit, Byte)
    Dim AndMask As Byte = CType(&HFF Xor OrMask, Byte)
    If State = True Then
    Byt = Byt Or OrMask
    Return True
    Else
    Byt = Byt And AndMask
    Return True
    End If
    Catch ex As Exception
    Return False
    End Try
    End Function
    
    Public Shared Function GetBit(ByRef Byt As Byte, ByVal Bit As Integer) As Boolean
    Try
    If Bit > 7 Then Return False
    Dim AndMask As Byte = CType(&H1 << Bit, Byte)
    Return CType(((Byt And AndMask) >> Bit) And &H1, Boolean)
    Catch ex As Exception
    Return False
    End Try
    End Function
    End Class
    
    Viele Grüße,
    Manni
    Wenn die Klügeren immer nachgeben, geschieht nur das, was die Dummen wollen
    Zitieren Zitieren Probier's mal so:  

Ähnliche Themen

  1. Libnodave und Visual Basic 2008
    Von Hocheck im Forum Hochsprachen - OPC
    Antworten: 27
    Letzter Beitrag: 22.12.2010, 21:39
  2. Libnodave and Visual Studio 2008
    Von Rick im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 12.10.2009, 22:47
  3. Antworten: 20
    Letzter Beitrag: 14.06.2009, 00:39
  4. Antworten: 14
    Letzter Beitrag: 04.02.2009, 11:05
  5. Libnodave + Excel einzelnes Bit (setzen bzw. abfragen)
    Von Otto im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 21.12.2006, 17:24

Lesezeichen

Berechtigungen

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