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

Seite 2 von 8 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 73

Thema: Verwendung DotNetSiemensPLCToolBoxLibrary von Jochen Kühner

  1. #11
    hanjo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.10.2010
    Beiträge
    28
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Jochen

    1. Testprojekt
    Ursprung des Testprojektes ist aus deiner Lib – VB.
    Deshalb sind auch noch Überreste (Button 1 und Button 2 enthalten).
    Ich habe das Testprojekt, das nur den Kommunikationstest enthält, im Anhang beigelegt.

    2. BCD-Werte
    BCD-Werte haben keine Vorzeichen :
    WORD-BCD : 0000 … 9999
    DWORD-BCD : 00000000 … 99999999

    3. Hier nun das Ziel des Projektes :
    Es ist schon richtig – ich möchte eine Art Protokoller gestalten.
    Er unterscheidet sich von deinem etwas.

    Beschreibung:
    In der SPS werden Protokolldaten in einem Datenbaustein zusammengestellt.
    Nach der Zusammenstellung werden die Daten von der SPS nicht mehr verändert.
    Die SPS setzt ein Bit und zeigt dem PC an, in dem die Anwendung „Protokoller“ läuft, das die Daten zur Abholung bereitstehen.
    Der „Protokoller“ prüft also zyklisch ob das Protokollbit gesetzt ist, holt die Daten wenn dies der Fall ist und löscht anschließend das Protokollbit.
    In der SPS existiert ein Umlaufspeicher für Protokolldaten – immer wenn der „Protokoller“ Protokolldaten gelesen hat, stellt die SPS die nächsten zusammen.

    Dieses Prinzip habe ich bereits mit dem alten INAT- Treiber realisiert.
    Angehängte Dateien Angehängte Dateien
    Zitieren Zitieren Anbei das VB-Projekt  

  2. #12
    hanjo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.10.2010
    Beiträge
    28
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Jochen
    Im Anhang habe ich das Testprojekt verpackt.
    Ursprung des Testprojektes ist aus deiner Lib – VB.
    Deshalb sind auch noch Überreste (Button 1 und Button 2 enthalten).


    BCD-Werte haben keine Vorzeichen :
    WORD-BCD : 0000 … 9999
    DWORD-BCD : 00000000 … 99999999

    Hier nun das Ziel des Projektes :
    Es ist schon richtig – ich möchte eine Art Protokoller gestalten.
    Er unterscheidet sich von deinem etwas.
    Beschreibung:
    In der SPS werden Protokolldaten in einem Datenbaustein zusammengestellt.
    Nach der Zusammenstellung werden die Daten von der SPS nicht mehr verändert.
    Die SPS setzt ein Bit und zeigt dem PC an, in dem die Anwendung „Protokoller“ läuft, das die Daten zur Abholung bereitstehen.
    Der „Protokoller“ prüft also zyklisch ob das Protokollbit gesetzt ist, holt die Daten wenn dies der Fall ist und löscht anschließend das Protokollbit.
    In der SPS existiert ein Umlaufspeicher für Protokolldaten – immer wenn der „Protokoller“ Protokolldaten gelesen hat, stellt die SPS die nächsten zusammen.

    Dieses Prinzip habe ich bereits mit dem alten INAT- Treiber realisiert.
    Zitieren Zitieren Anbei das VB-Projekt  

  3. #13
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Werds morgen mal Testen, hab jetzt leider keine SPS mehr zur Verfügung!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  4. #14
    Registriert seit
    22.05.2005
    Ort
    sonniges Maifeld
    Beiträge
    1.067
    Danke
    77
    Erhielt 205 Danke für 159 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Hallo erst mal.

    Das lesen funzt nicht da du die Funktion ReadValuesFromByteArray(aVar, Bytearray, 0) verwendest. Diese Funktion ist dazu da um den Tag mit Werten aus einem ByteArray zu befüllen das du z.B. per TCP direkt auf den PC schickst.

    du kannst den Tag einfach mit
    PLCCon1.ReadValue(aVar)
    einlesen.

    Da du aber Verschiedene Variablen willst, würde Ich das ganz anderst angehen.

    Du legst dir eine Liste mit verschiedenen PLCTags an, und liest diese mit PLCCon1.ReadValues ein.

    An meiner lib soll ja der Vorteil sein, das du dieses zerlegen eines ByteStreams in die einzelnen Variablen nicht mehr machen musst!

    Beispielcode:

    Code:
     Dim Tags As New List(Of PLCTag)
    
            Dim val1 As New Communication.PLCTag("MB500")
            val1.LibNoDaveDataType = TagDataType.Byte
            Tags.Add(val1)
    
            Dim val2 As New Communication.PLCTag("MW501")
            val1.LibNoDaveDataType = TagDataType.Int
            Tags.Add(val2)
    
            Dim val3 As New Communication.PLCTag("MD503")
            val1.LibNoDaveDataType = TagDataType.Dint
            Tags.Add(val3)
    
            Dim val1 As New Communication.PLCTag("MD507")
            val1.LibNoDaveDataType = TagDataType.Float
            Tags.Add(val4)
            PLCCon1.ReadValues(Tags)
    Liest du die Variablen einzeln aus oder optimiert die Lib das Lesen der List ?
    "Man kann auf seinem Standpunkt stehen, aber man sollte nicht darauf sitzen" - Erich Kästner

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

    Standard

    Zitat Zitat von Lars Weiß Beitrag anzeigen
    Liest du die Variablen einzeln aus oder optimiert die Lib das Lesen der List ?
    Noch nicht! Aber das wird noch implementiert!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  6. #16
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Zitat Zitat von hanjo Beitrag anzeigen
    BCD-Werte haben keine Vorzeichen :
    WORD-BCD : 0000 … 9999
    DWORD-BCD : 00000000 … 99999999
    Sind das spezielle BCD-Formate in Deinem Projekt?
    In S7 haben BCD-Zahlen ein Vorzeichen:
    16 Bit: -999 bis +999
    32 Bit: -9.999.999 bis +9.999.999

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #17
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    S7: Beim Umwandeln einer BCD-Zahl in eine Ganzzahl wird nur das höchstwertige Bit als Vorzeichen ausgewertet, die anderen 3 Bits in der Vorzeichen-Tetrade werden ignoriert (dürfen also durchaus auch 0 sein).

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #18
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    @hanjo:

    Also bei mir hat dein Beispielprojekt an der CPU anstandslos funktioniert. Die MW werden gelesen! Wenns immer noch nicht geht, schick mal ne Wireshark Aufzeichnung.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  9. #19
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Sind das spezielle BCD-Formate in Deinem Projekt?
    In S7 haben BCD-Zahlen ein Vorzeichen:
    16 Bit: -999 bis +999
    32 Bit: -9.999.999 bis +9.999.999

    Harald
    Das werd Ich dann natürlich ändern. Ich hab die BCD Zahlen im Moment ohne Vorzeichen realisiert, wobei Ich die eh noch nie gebraucht habe!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  10. #20
    hanjo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.10.2010
    Beiträge
    28
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    1. Danke für den Test meines Testprogrammes

    Ich werde es am Montag nochmals ausprobieren.

    2. BCD-Zahlen

    Ich habe nur quer Beet alle Varianten deiner DLL erprobt.
    Selber hab ich sie noch nicht benötigt - also lass es so wie es ist.


    3. Und nun doch noch eine Frage

    Wie due in meinem Testprogramm vieleicht bemerkt hast, habe ich den Aufruf und das Einlesen einer Symboldatei mittels deiner DLL bereits integriert.
    Funktioniert wunderbar.
    Nun meine Frage:
    Die Rückgabe eines BlockTags ist mir auch gelungen.
    Ist es möglich die Auflistung der in einem Datenbaustein (Block) enthaltenen Tags heranzukommen?
    Bis jetzt ist es mir immer nur gelungen einen TAG des Blocks zu lesen.

    Vielen Dank für Bemühungen hanjo

Ähnliche Themen

  1. DotNetSiemensPLCToolBoxLibrary
    Von explosiv im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 14.06.2011, 00:13
  2. [Geburtstagsthread] Jochen Kühner
    Von rostiger Nagel im Forum Stammtisch
    Antworten: 17
    Letzter Beitrag: 09.05.2011, 22:16
  3. Zugang zu Step7 Daten Projekt Jochen Kühner
    Von hanjo im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 07.04.2011, 23:18
  4. DotNetSiemensPLCToolBoxLibrary 64 Bit support.
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 24.03.2011, 13:04
  5. Jochen Kühner hat Geburtstag
    Von Rainer Hönle im Forum Stammtisch
    Antworten: 7
    Letzter Beitrag: 12.05.2010, 22:51

Lesezeichen

Berechtigungen

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