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

Ergebnis 1 bis 8 von 8

Thema: DB-Länge mit libnodave

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo alle zusammen !

    ich bin ein anfänger im umgang mit libnodave, also bitte ich euch um einbisschen gedult fals ich euch nicht gleich verstehe !

    ich benutze libnodave in Java und suche eine funktion um die DB länge auszulesen !

    ich bitte um zahlreiche ideen und beiträge mir zu helfen !

    danke im vorraus

    mfg
    Rosti
    Zitieren Zitieren DB-Länge mit libnodave  

  2. #2
    Registriert seit
    22.02.2007
    Ort
    Sponheim
    Beiträge
    190
    Danke
    3
    Erhielt 10 Danke für 9 Beiträge

    Standard

    Ich nutze zwar Delphi aber die Funktion sollte es in Java auch geben:

    Code:
    daveGetBlockInfo(DaveConn, @Info, daveBlockType_DB, DB);
    Als Rückgabewert bekommst du die DB-Größe in Byte.
    Wie kann es sein, dass am Ende des Geldes noch Monat übrig ist?
    Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück!
    engbarth.es

  3. #3
    Rosti ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.05.2009
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ich habe jetzt alles durchsucht und diesefunktion leider nicht gefunden !

    hat sonst jemand noch eine hilfreiche idee

  4. #4
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von Rosti Beitrag anzeigen
    ich habe jetzt alles durchsucht und diesefunktion leider nicht gefunden !

    hat sonst jemand noch eine hilfreiche idee
    Es kann richtig sein, da- der Funktionsumfang der JAVA-Version geringer ist.
    Wenn du die Funktion unbedingt brauchst, kannst du dir die entsprechende Funktion im C-Quellcode ansehen und in JAVA entsprechend programmieren. Wenn dir das zu schwierig scheint, kannst du mir auch eine PN schicken.

  5. #5
    Registriert seit
    05.10.2005
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi alle zusammen.

    Ich wäre auch an eine Implementierung der Funktion interessiert aber unter VB.NET.

    Kann jemand helfen???
    Zitieren Zitieren DB-Länge auch für VB.NET  

  6. #6
    Registriert seit
    17.10.2005
    Ort
    Wohnort
    Beiträge
    37
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi

    ich hab ähnliche Probleme in vba.
    Die in Modul12.bas implementierte Funktion daveGetBlockInfo funktioniert bei mir nicht.

    Code:
    Private Function daveGetBlockInfo(ByVal di As Long) As Byte
        x$ = String$(256, 0)            'create a string of sufficient capacity
        ip = daveInternalGetName(di)    ' have the text for code copied in
        Call daveStringCopy(ip, x$)    ' have the text for code copied in
        x$ = Left$(x$, InStr(x$, Chr$(0)) - 1) ' adjust the length
        daveGetName = x$                       ' and return result
    End Function
    Leider bin ich nicht der Crack der das alles durchschaut. Dachte mir ein Tippfehler könnte der Rückgabewert sein.
    Code:
    daveGetBlcokInfo = x$
    Leider brachte mich das nicht weiter.
    Kann mir da jemand weiterhelfen!?!?!?!

    Sollte DBs komplette einlesen und halt dazu die länge wissen. Try and error find ich jetzt nicht so prickelnd, aber ok wäre noch ne möglichkeit.

    Danke für jede Rückmeldung.
    ____________________________________________________________

    Viele Worte können nicht das beschreiben was Keiner wissen kann!
    ____________________________________________________________
    Zitieren Zitieren DB Länge - Excel and VB  

  7. #7
    Registriert seit
    17.10.2005
    Ort
    Wohnort
    Beiträge
    37
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi

    hab mir selbst geholfen... falls jemand ähnliche Probleme damit hat hier meine Code ausschnitte.

    Nicht Perfekt aber tut
    folgende Deklaration eingefügt
    Code:
    Private Type daveBlockInfo
        typ(1) As Byte
        x1(1) As Byte '  /* 00 4A */
        w1(1) As Byte  '/* some word var? */
        pp(3) As Byte '/* allways 'pp' */
        x2(1) As Byte ' /* 00 4A */
        number As Integer '/* the block's number */
        x3(25) As Byte '  /* ? */
        length As Integer ' /* the block's length */
        x4(15) As Byte
        bname(7) As Byte
        x5(11) As Byte
    End Type
    verweis entsprechend abgeändert
    Code:
    Private Declare Function internalDaveGetBlockInfo Lib "libnodave.dll" _
     Alias "daveGetBlockInfo" (ByVal dc As Long, ByRef buffer As daveBlockInfo, _
     ByVal btype As Long, ByVal number As Long) As Long
    Code:
    res3 = internalDaveGetBlockInfo(dc, bb, daveBlockType_DB, lngDBNr)
    lngDBLength = bb.length
    achso noch folgende constanten geändert
    Code:
    Private Const daveBlockType_OB = 56 'asc("8")
    Private Const daveBlockType_DB = 65 'asc("A")
    Private Const daveBlockType_SDB = 66 'asc("B")
    Private Const daveBlockType_FC = 67 'asc("C")
    Private Const daveBlockType_SFC = 68 'asc("D")
    Private Const daveBlockType_FB = 69 'asc("E")
    Private Const daveBlockType_SFB = 70 'asc("F")
    wems hilft...
    ____________________________________________________________

    Viele Worte können nicht das beschreiben was Keiner wissen kann!
    ____________________________________________________________
    Zitieren Zitieren so funktionierts  

  8. #8
    Registriert seit
    05.10.2005
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi, ich hab mir das Beispiel für VBA angeschaut.

    Wie setzte ich das nun in die Wrapper.DLL ein?

    Da schauen die Aufrufe ja so aus:

    Code:
           [DllImport("libnodave.dll")]
            protected static extern int daveGetProgramBlock(IntPtr dc, int blockType, int number, byte[] buffer, ref int length);
            public int getProgramBlock(int blockType, int number, byte[] buffer, ref int length)
            {
                Console.WriteLine("length:" + length);
                int a = daveGetProgramBlock(pointer, blockType, number, buffer, ref length);
                Console.WriteLine("length:" + length);
                return a;
            }
    Kann mir da jemand helfen?

    Gruß Fliegertiger
    Zitieren Zitieren Dot.Net-Wrapper ???  

Ähnliche Themen

  1. Libnodave PDU länge mit Delphi
    Von MenthalMan im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 14.10.2010, 10:55
  2. Länge von DB s und andere Libnodave Fragen
    Von RobiHerb im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 05.11.2009, 17:57
  3. Länge des Prozessabbildes
    Von Schnick und Schnack im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 30.06.2009, 10:25
  4. LibNoDave DB Länge
    Von The-Cook im Forum PC- und Netzwerktechnik
    Antworten: 6
    Letzter Beitrag: 03.06.2009, 15:11
  5. Länge von Datenbausteinen mit libnodave
    Von bike im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 18.11.2008, 12:25

Stichworte

Lesezeichen

Berechtigungen

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