Libnodave

shibbbbby

Level-1
Beiträge
50
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo miteinanader,

2 Wochen Arbeiten und ich kann eine Verbindung zwischen Panel und PC herstellen. Und zwar per OPC oder SOAP.

An dieser stelle ein riesen Dank an VOLKER


Als mein Vorgesetzter gesehen hat das ich schon so weit gekommen bin will er nun das ich mich mit libnodave auseinander setze.
Natürlich habe ich kaum vorwissen und das was im Netz steht ist dürftig, oder ich hab die falschen quellen.

Wie fange ich das ganze am besten an? Libodave ermöglicht soweit ich weiss eine direkte Verbindung der S7 mit meinem PC.
Welche Vorteile hat es noch?
 
libnodave ist keine direkte anwendung sondern stellt dir nur verschiedene kommunikationsbiliotheken zur verfügung die du in ein selbst erstelltes programm implemientieren kannst zb c++.

sowas gibts natürlich auch gegen bezahlung von anderen herstellern.
siemens - prodave
deltalogik - accon aglink
mhj- comdrvs7
usw.

vorteil: kostenlos.

nachteil: du musst software schreiben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Software muss er bei den anderen auch schreiben. Meiner Meinung nach ist der Unterschied, da er Geld zahlt, hat er Anspruch auf Support. Bei libnodave hat er diesen Anspruch nicht, erhält ihn aber sicher hier im Forum.
 
Mit welcher Programmiersprache willst du dich denn Verbinden?

Wenn es eine .NET Sprache ist, kannst du dir auch meine Connection Lib ansehen (High Level Wrapper für libnodave) oder S7Net (http://s7net.codeplex.com) (Kann aber nur TCP/IP, und auch keine verteilten Lesezugriffe)
 
Wa ich vorhabe ist die Daten Bausteine einer S7 3oo auszulesen. Zur verfügung habe Ich WinCC, WinCCflexible, Step7

kann man das mit einem dieser Programme verknüpfen?
 
Gibt es dafür vielleicht auch ein Tutorial? So das ich zumindest eine Verbindung zur s7 aufbauen kann?

Hab gerade enddeckt das libnodave eine getstartet doc hat....bin am lesen =) aber über euren input würde ich mich freuen
P.S.: Die doc Datei gibt es nicht zufällig auf deutsch oder?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten morgen zusammen,

Ich hab immer mehr erfolge was auslesen von S7 steuerungen angeht.
Vielen Dank, ohne euch wäre es sehr viel schwerer bid unmöglich. Nun zu meiner Frage, ich würde gerne den Status der CPU auslesen, dafür habe ich folgende Funktion bei Libnodave gefunden "daveReadSZL" leider kann ich die Ausgabe nicht interpretieren.

Hier ist der gesamte Code der "daveReadSLZ" beinhaltet

Code:
Sub readDiagnostic()
' The internal buffer is not big enough for all SZL lists.
' You must provide a buffer of sufficient size.
Dim buffer(4096) As Byte
Cells(1, 2) = "Testing read CPU Diagnostic List SZL (A0,0)"
Dim ph As Long, di As Long, dc As Long
res = initialize(ph, di, dc)
If res = 0 Then
    ID = &HA0
    res2 = daveReadSZL(dc, ID, 0, buffer(0), 4096)
    If res2 = 0 Then
        al = daveGetAnswLen(dc)
        If (al >= 4) Then
            ID = daveGetU16from(buffer(0))
            index = daveGetU16from(buffer(2))
            If (al >= 8) Then
                Cells(1, 15) = "Diagnostic List from CPU"
                ItemLen = daveGetU16from(buffer(4))
                ItemCount = daveGetU16from(buffer(6))
                bpos = 8    ' remember buffer position
                For i = 0 To ItemCount - 1
                    dia$ = ""
                    For j = 0 To ItemLen - 1
                        dia$ = dia$ + Hex$(buffer(bpos)) + ","
                        bpos = bpos + 1
                    Next j
                    Cells(i + 3, 15) = dia$
                Next i
            End If
        End If
    Else
        e$ = daveStrError(res2)
        Cells(9, 4) = "error:"
        Cells(9, 5) = e$
    End If
End If
Call cleanUp(ph, di, dc)
End Sub

als ausgabe erhalte ich bei cpu im run Modus
cpu on.JPG
bei cpu in stop
cpu off.JPG

brauche hilfe beim interpretieren, danke im vorraus
 
Den Link habe ich nachgetragen. Ich weiß nicht, was Siemens online zum SFC 51 schreibt, aber schau da mal ruhig nach. Denn dort wird auch die SZL abgefragt.
 
Verstehe die Frage überhaupt nicht. Die SZL-ID hat mit 0xA0 doch die oberen 8 Bist auf 0. Oder welche Null ist gemeint? Tip: Einfach auch mal den SZL-Index verwenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich verstehe das gerade gar nicht sry.
Wo finde ich denn in diesem zahlen wirwar den Zeistelmpel oder den Stauts der CPU?
cpu on.JPG
Das Handbuch ist für mich gerade ein offenes Buch. z.B fangen und enden alle Zeilen nicht mit Null, wobei ich verstanden habe dass ich an der null die cpu erkennen würde
 
Die SZL-ID 0xA0 liest den Diagnosepuffer, dieser Aufbau ist im angegebenen Dokument auf Seite 27-31 beschrieben. Zusätzlich vorher Seite 27-1 bis 27-5 durchlesen. Wenn dann was unklar ist, bitte konkret fragen. Und lieber die Ausgabe als Text kopieren statt eine bescheidene Hardcopy einfügen.
 
ich Lese das nun zum dritten mal und es hilft einfach nicht!
Ich verstehe schon gar nicht warum du ständig 0xA0 schreibst? Ich sehe da niergends eine 160.

Meine konkrete Frage ist doch, wo steht da der zeistempel.
 
Zurück
Oben