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

Ergebnis 1 bis 5 von 5

Thema: libnodave; .NET; Short Array Daten in DB schreiben

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Nach meinen anfänglichen Problemen mit dem Verbindungsaufbau, welche dank diesem Forum behoben werden konnten hoffe ich Ihr könnt mir auch bei meinem nächsten Problem helfen.

    Ich schreib mittels Visual Basic 2010 Express sämtlichen Informationen, welche in einen DB geschrieben werden sollten in ein Short Array (Arraygrösse = 3000). Aktuell bin ich soweit, dass ich dies wie folgt in die SPS schreibe:

    Dim help As Byte()
    Dim int_Count As Integer


    For i = 0 To 3000
    help = BitConverter.GetBytes(cla_GlobaleVariablen.srt_intDBSchreiben(i))
    ErrResult = LndConnection.writeManyBytes(daveDB, 161, int_Count, int_Len, help)

    int_Count = int_Count + 2
    Next i

    (Teilauszug des Codes)

    Das dies dauert ist glaub ich klar. Gibt es eine Möglichkeit, das komplette Short Array on block zu übertragen?

    Bin Anfänger was libnodave anbelangt – daher die vielleicht etwas komische Fragestellung – Sorry


    Gruss JoEr
    Zitieren Zitieren libnodave; .NET; Short Array Daten in DB schreiben  

  2. #2
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Ja, genau dafür gibts ja write many bytes. So wie du es Jetzt machts sind doch aber die short Werte in der SPS bestimmt falsch? Du musst ja low und highbyte drehen. Du erzeugst am besten eine List<Byte>, dieser fügst du immer das ergebnis von BitConverter.GetBytes hinzu. Zum Schluss kannst du diese Liste mit ToArray in ein Array umwandeln, und dieses dann an writeManyBytes übergeben.

    Falls du dir meine Bibliothek noch anschaust, der Typ PlcTag kann auch ein Array sein! Wenn du als Arraygröße 3000 da angibst und dein Wert mit myTag.Controlvalue=cla_GlobaleVariablen.srt_intDBSchreiben.ToArray übergibst gehts da auch!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  3. #3
    JoEr ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.01.2013
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo

    Deine Bibliothek hab ich gefunden und auch darauf verwiesen. in Deinem Beispiel ist myTag dei Variable - korrekt? Wie muss ich diese deklarieren. Den Ansatz hab ich zwar verstanden - wie ich aber dahin komme, respektive wie ich die Variable deklarieren muss ist mir im Moment nicht klar

  4. #4
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    So mal ne Erklärung:

    Also ne Verbindung über meinen Dialog Konfigurieren kannst du so:

    Code:
    Configuration.ShowConfiguration("myVBExample", True)
    dann eine Verbindung erstellen geht so:
    Code:
    Dim myConn AsNewPLCConnection("myVBExample") 
    myConn.Connect()
    dann, dein short array kannst du so schreiben:

    Code:
     Dim val1 As New Communication.PLCTag("DB161.DBX0.0")
    val1.TagDataType = TagDataType.Int
     val1.ArraySize = 3
    val1.Controlvalue = lst
     myConn.WriteValue(val1)
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  5. #5
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    im unteren Beispiel ist lst vom typ (List of Int) und hat 3 Elemente!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

Ähnliche Themen

  1. PLC Daten mit VB.net oder VB6 in eine XML-Datei schreiben
    Von itsam77 im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 12.09.2012, 08:44
  2. libnodave.net Zyklusschwankungen beim schreiben
    Von TimoS im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 19.09.2010, 13:30
  3. Array von Integerwerten mit LibNoDave schreiben
    Von Earny im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 26.12.2008, 09:33
  4. Daten In Array schreiben
    Von MatthiasH24 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 04.09.2008, 11:08
  5. Libnodave Daten lesen/schreiben
    Von Acidic im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 02.06.2008, 08:32

Lesezeichen

Berechtigungen

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