Verwendung DotNetSiemensPLCToolBoxLibrary von Jochen Kühner

irgendwo hängts noch. das sind die ereignisse, wenn ich auf test drücke:

CLMP CSHARP-LibNoDave-MySQL-Protokoller: Versuche Verbindungen aufzubauen (1 Stück)

Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.

CLMP CSHARP-LibNoDave-MySQL-Protokoller: Verbindung ID:1 Art:pLCConnection wurde aufgebaut

Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.

CLMP CSHARP-LibNoDave-MySQL-Protokoller: wurde gestartet.

Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.


dann passiert gar nix....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wer lesen kann ist klar im Vorteil....

das Intervall habe ich auf 2000 eingestellt.

Jetzt habe ich erst gesehen, dass das keine ms sondern sec sind.

Er schreibt!!!!

Danke Dir.
 
Ja ich denke du hast Recht.

Habe mit der geänderten Version Probleme bekommen. Verbindung zur SPS war nicht mehr möglich, genau wie am Anfang. Nach Neustart des Rechners und Kaltstart der CPU läuft es wieder.

Jetzt habe ich auch deinen Release ausprobiert und siehe da er läuft auch.

Kann ich wieder von vorne anfangen, um den Grund des Problems zu finden. Liegt anscheinend an der Schei.. S7-1200.

Vielen Dank für Deinen Support.

Gruß Maccap
 
Hallo Jochen.

Hab mittlerweile ein tolles Tool mithilfe deiner Lib hingekriegt :)

Frage zum "Datenbausteine auslesen" bzw. eine "Instanz auf einen Datenaustein erstellen": wie ich zu den Instanz-DB (Typ 'Instanzdatenbaustein zu FBxx') komme ist mit klar (.GetBlock). Aber WIE komme ich zu einem "normalen" DB (Typ 'Datenbaustein')?

Die Funktion Projectfiles.SelectProjectPart gibt es für einen datablock noch nicht (könnte Ich aber einbauen.). Du kannst aber mit Projectfiles.SelectProjectPart.SelectBlocksOfflineFolder eine Instanz von BlocksOfflineFolder bekommen aus der kannst du mit readPlcBlocksList() die enthaltet Bausteine auflisten, und mit GetBlock bekommst du dann auch den Block (wenn es ein S7-DB ist als S7DataBlock Instanz!)

Mein Ziel ist, auch alle Items von diesem nicht-Instanz-DB zu durchsuchen...

Besten Dank, sersch
 
Hallo zusammen.

Ich versuch nochmals, meine Frage genauer zu beschreiben:
Wie genau komme ich an die Struktur eines Datenbausteins (Typ=Datenbaustein)? Also ich möchte die "flache" Struktur eines bestimmten DB's durchsuchen; suche nach einem bestimmten Eintrag und möchte diesen dann als PLCTag weiterverwenden. Wie komme ich an den DB Inhalt?
Kannst mir bitte jemand helfen?

Besten Dank, sersch
 
Zuviel Werbung?
-> Hier kostenlos registrieren
DB Struktur auslesen (Code Bsp)

Hier noch das Code-Bsp, welches mir Jochen mal gepostet hat:
=> funktioniert für Instanz-DB, leider aber nicht für "normale" DBs (Typ Datenbaustein).

Code:
        Dim searchValue As String
        Dim db As String

        Dim tag As PLCTag
        Dim prj As Step7ProjectV5
        Dim fld As Projectfolders.Step7V5.BlocksOfflineFolder
        Dim blk As S7DataBlock

        searchValue = "SymbolDB_1000.Modul1.Temp4.Value"
        db = searchValue.Split(".")(0)
        searchValue = searchValue.Substring(db.Length + 1)
        prj = New Step7ProjectV5("C:\\Offenau_.s7p", False)

        
        fld = prj.BlocksOfflineFolders(1)

        For Each projectBlockInfo As S7ProjectBlockInfo In fld.readPlcBlocksList()
            If Not projectBlockInfo.SymbolTabelEntry Is Nothing And projectBlockInfo.SymbolTabelEntry.Symbol = db Then
                 blk = fld.GetBlock(projectBlockInfo)
'Hier wird bei einem Datenbaustein (nicht-Instanz-DB) immer eine Exception ausgegeben ?????
'die GetBlock-Funktion scheint hier wohl ein Problem zu haben.

Code:
             End If
        Next

        If Not blk Is Nothing Then
            For Each s7DataRow As S7DataRow In s7DataRow.GetChildrowsAsList(blk.GetArrayExpandedStructure())
                If s7DataRow.StructuredName = searchValue Then
                    tag = s7DataRow.PlcTag
                End If
            Next
        End If

Wie kann ich den DB auslesen????????
 
Fehler beim DB auslesen in DLL behoben :)

Hallo zusammen.
Zur Info:
Jochen hat den Fehler in der Funktion fld.GetBlock(projectBlockInfo) behoben - funktioniert mit der neuesten Release von "DotNetSiemensPLCToolBoxLibrary" einwandfrei.
Merci, Gruss serge
 
Zurück
Oben