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

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

Thema: Werte aus einen DB mit libnodave

  1. #11
    Avatar von magmaa
    magmaa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2007
    Ort
    S/A
    Beiträge
    323
    Danke
    18
    Erhielt 21 Danke für 18 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hm ne bekomme es nicht zum laufen hab das Beispiel mal in die Soft SPS geladen passiert aber nix und Excel stürzt immer ab.

  2. #12
    Avatar von magmaa
    magmaa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2007
    Ort
    S/A
    Beiträge
    323
    Danke
    18
    Erhielt 21 Danke für 18 Beiträge

    Standard

    So nun ist es wieder soweit, hab wieder etwas Luft zum probieren.
    Mal sehen ob ich es diesmal hin bekomme mit libnodave
    diesmal aber nehme ich aber ne 313 CPU und IBH Link müsste ja theoretische funktionieren.

  3. #13
    Avatar von magmaa
    magmaa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2007
    Ort
    S/A
    Beiträge
    323
    Danke
    18
    Erhielt 21 Danke für 18 Beiträge

    Standard

    Ok ich möchte schrittweise vorgehen.

    Ich habe mir die initialize Funktion angesehen und versucht anzupassen
    würde das so passen

    Code:
    Private Function initialize(ByRef ph As Long, ByRef di As Long, ByRef dc As Long)
    
    ph = 0
    di = 0
    dc = 0
    
    initialize = -1
    
    port$ = Cells(3, 2)  '1099
    peer$ = Cells(4, 2)  'IP Adresse
    
    ph = openSocket(port$, peer$)
    
    If (ph > 0) Then
       di = daveNewInterface(ph, ph, "IF1", 0, daveProtoMPI_IBH, daveSpeed187k)
    
        res = daveInitAdapter(di)
     
        If res = 0 Then
            Rack$ = Cells(5, 2)
            Slot$ = Cells(6, 2)
    
            dc = daveNewConnection(di, 0, Rack$, Slot$)
            res = daveConnectPLC(dc)
            
            If res = 0 Then
                initialize = 0
            End If
        End If
    End If
    End Function

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

    Standard

    Soweit ich sehe sieht das richtig aus. Port 1099 und die richtige IP-Adresse müssen natürlich an der passenden Stelle im Excel-Blatt stehen...

  5. #15
    Avatar von magmaa
    magmaa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2007
    Ort
    S/A
    Beiträge
    323
    Danke
    18
    Erhielt 21 Danke für 18 Beiträge

    Standard

    Ok das ja nur die Initialisierung

    die eigentliche Verbindung zur CPU ist doch diese Prozedur oder?

    Code:
    Sub startToPLC()
    Dim buffer(1024) As Byte
    Dim ph As Long, di As Long, dc As Long
    res = initialize(ph, di, dc)
    Db = Cells(7, 2)
    
    If res = 0 Then
        a = davePut16(buffer(0), Cells(8, 2))
        a = davePut16(buffer(2), Cells(9, 2))
        a = davePut32(buffer(4), Cells(10, 2))
        res2 = daveWriteBytes(dc, daveDB, Db, 2, 8, buffer(0))
    End If
    Call cleanUp(ph, di, dc)
    res = initialize(ph, di, dc)
    If res = 0 Then
        res2 = daveWriteBits(dc, daveDB, Db, 0, 1, 1)
    End If
    Call cleanUp(ph, di, dc)
    res = initialize(ph, di, dc)
    If res = 0 Then
        res2 = daveWriteBits(dc, daveDB, Db, 0, 1, 0)
    End If
    Call cleanUp(ph, di, dc)
    End Sub

  6. #16
    Avatar von magmaa
    magmaa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2007
    Ort
    S/A
    Beiträge
    323
    Danke
    18
    Erhielt 21 Danke für 18 Beiträge

    Standard

    Hm irgendwie bekomme ich es nicht zum laufen!

  7. #17
    Avatar von magmaa
    magmaa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2007
    Ort
    S/A
    Beiträge
    323
    Danke
    18
    Erhielt 21 Danke für 18 Beiträge

    Standard

    Hat jemand vielleicht kleines Bsp. Projekt was ich mir anschauen kann mit einer einfachen Verbindung mit IBH- LINK in Excel und das auslesen bzw. beschreiben einer variablen aus einem DB?

  8. #18
    Avatar von magmaa
    magmaa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2007
    Ort
    S/A
    Beiträge
    323
    Danke
    18
    Erhielt 21 Danke für 18 Beiträge

    Standard

    Ähm nur mal so muss ich die libnodave.dll mit regsvr32 in die Registry eintragen damit es funktioniert?

  9. #19
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von magmaa Beitrag anzeigen
    Ähm nur mal so muss ich die libnodave.dll mit regsvr32 in die Registry eintragen damit es funktioniert?
    Nö, die muß entweder im gleichen Verzeichnis wie deine Exe sein oder im Systemverzeichnis von WinDoof.
    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

Ähnliche Themen

  1. CodeSys Verschiedene INT Werte in einen Ausgang schieben
    Von c-teg74 im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 08.08.2011, 07:22
  2. Libnodave ließt nur 30 Werte
    Von PlutoRB im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 12.02.2010, 14:20
  3. Werte aus einen DB auslesen
    Von magmaa im Forum Programmierstrategien
    Antworten: 64
    Letzter Beitrag: 29.04.2009, 22:02
  4. Antworten: 10
    Letzter Beitrag: 30.03.2009, 10:12
  5. Werte in einen Datenbaustein
    Von doretan im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 05.02.2009, 16:57

Lesezeichen

Berechtigungen

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