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

Seite 1 von 8 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 75

Thema: AG_RECV (FC6) für Modbus TCP Verbindung

  1. #1
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    ich komme beim Datenempfangen einfach nicht mehr weiter.

    Eine 315-2DP mit CP343-1 (V3.0) soll via TCP Verbindung Daten aus einem Sentron PAC3200 (7KM2112-0BA00-3AA0) empfangen.
    Die Verbindung ist konfiguriert und ist aufgebaut.

    CP_Status.JPG

    Programm ist anhand des Beispiels (Beitrag: 19033929) aufgebaut, jedoch nur der Empfangsteil, da ich zum Sentron nichts senden möchte.

    Wie muss der FC6 beschaltet werden damit die Daten korrekt in den entsprechenden DB abgelegt werden?
    Die Messwerte sollen als Float (REAL) im PAC zur Verfügung stehen, aber der FC6 kann ja nur Byteweise empfangen?
    Im Anhang das S7 Projekt.

    Ich hoffe hier Tipps/Hilfe/Lösungen zu bekommen.

    Gruß
    Matze
    Angehängte Dateien Angehängte Dateien
    Geändert von DerMatze (08.04.2016 um 21:45 Uhr)
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------
    Zitieren Zitieren AG_RECV (FC6) für Modbus TCP Verbindung  

  2. #2
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard

    Hier nun ein Paar Screenshots zur Problematik.

    Netpro.JPG

    Anhang 32151
    FB102: Byteweises Einlesen und Aufruf FC6

    Anhang 32152
    FB100: Aufruf FB102

    Anhang 32153
    DB82: Hier sollen die Messwerte rein


    Ich möchte ja kein fertiges Projekt, nur einen Hinweis wo in der Projektierung der Fehler liegt.
    Da ich offensichtlich "den Wald vor lauter Bäume nicht sehe"...?
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

  3. #3
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard

    UPDATE:

    habe nun nur den FC80 (Aufruf FC6) im OB1 drin.
    --> keine Messwerte.

    Evtl. wird anhand dieser Screenshots das Problem ersichtlich...
    HW-Konfig.JPG
    CP_online.JPG
    FC6_online.JPG
    DB80_online.JPG

    Gruß
    Matze
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Zitat Zitat von DerMatze Beitrag anzeigen
    Programm ist anhand des Beispiels (Beitrag: 19033929) aufgebaut, jedoch nur der Empfangsteil, da ich zum Sentron nichts senden möchte.
    Kann es sein, daß der Sentron gar nicht von alleine sendet sondern zum senden erst aufgefordert werden muß?


    Zitat Zitat von DerMatze Beitrag anzeigen
    Wie muss der FC6 beschaltet werden damit die Daten korrekt in den entsprechenden DB abgelegt werden?
    Die Messwerte sollen als Float (REAL) im PAC zur Verfügung stehen, aber der FC6 kann ja nur Byteweise empfangen?
    Der FC6 interpretiert die Bytes nicht. Der Datentyp ist belanglos. Der ANY am Input RECV gibt an, wieviele Bytes und wo die vom CP empfangenen Bytes abgelegt werden sollen. Angenommen ein Datentelegramm vom Sentron enthält 25 REALs dann erstelle in einem DB eine Struktur mit 25 REALs und lege diese Struktur an RECV von AG_RECV: "P#DB82.DBX0.0 BYTE 100"
    Die ANY-Zugriffsbreite "BYTE 100" sollte der Länge des Datentelegramms vom Sentron entsprechen. Wenn das nicht der Fall ist, dann "wandert" oder "springt" die Lage der Telegrammteilstücke im Empfangsbereich.

    Genaugenommen mußt Du aus Konsistenzgründen die Empfangsbytes vom AG_RECV zunächst in einen Empfangspuffer schreiben lassen und bei NDR=1 in Deinen eigentlichen Datenbereich umkopieren, ich kann mich aber nicht an Probleme erinnern, wenn man direkt den endgültigen Datenbereich angibt.

    Ansonsten sehen Deine Bilder erstmal nicht schlecht aus. Das Step7-Projekt habe ich mir allerdings nicht angesehen.


    PS: von den 4 Anhängen in #2 läßt sich nur der Erste ansehen.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    DerMatze (21.03.2016)

  6. #5
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Kann es sein, daß der Sentron gar nicht von alleine sendet sondern zum senden erst aufgefordert werden muß?
    OK, das habe ich noch gar nicht in Betracht gezogen. Werde mal nachsehen ob die Unterlagen des Sentron dazu etwas hergeben
    Am FC6 ist der Status 8180(hex), das spricht lt. der Hilfe auch dafür...
    FC6_online.JPG

    Zitat Zitat von PN/DP Beitrag anzeigen
    Der FC6 interpretiert die Bytes nicht. Der Datentyp ist belanglos. Der ANY am Input RECV gibt an, wieviele Bytes und wo die vom CP empfangenen Bytes abgelegt werden sollen. Angenommen ein Datentelegramm vom Sentron enthält 25 REALs dann erstelle in einem DB eine Struktur mit 25 REALs und lege diese Struktur an RECV von AG_RECV: "P#DB82.DBX0.0 BYTE 100"
    Die ANY-Zugriffsbreite "BYTE 100" sollte der Länge des Datentelegramms vom Sentron entsprechen. Wenn das nicht der Fall ist, dann "wandert" oder "springt" die Lage der Telegrammteilstücke im Empfangsbereich.
    Danke für die ausführliche Erklärung, somit kann ich schonmal den Aufbau der Datenablage als Fehlermöglichkeit ausschließen.

    Zitat Zitat von PN/DP Beitrag anzeigen
    Das Step7-Projekt habe ich mir allerdings nicht angesehen.
    Das dachte ich mir im nachhionein dann auch "Warum soll ich mir ein Projekt runterladen was sowieso nicht funktioniert"
    Deswegen habe ich dann die Screenshots gemacht.

    #2 ist nun eh nicht mehr der "aktuelle Bearbeitungsstand"

    Kann ich, ausser im CP (Weboberfläche), sehen ob die Verbindung tatsächlich aufgebaut wurde?
    CP_online.JPG

    Gruß
    Matze
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

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

    Standard

    Also, der Sentron spricht Modbus/TCP. Er ist Server, deine SPS ist Client. Ohne das du dem Sentron von deiner SPS aus ein Kommandotelegramm schickst macht der gar nichts.

    Hier findest du was für CPU´s mit PN-Schnittstelle, das brauchst du nur adaptieren:

    Modbus TCP Kommunikation von SENTRON PAC3200
    "Man kann auf seinem Standpunkt stehen, aber man sollte nicht darauf sitzen" - Erich Kästner

  8. Folgender Benutzer sagt Danke zu Lars Weiß für den nützlichen Beitrag:

    DerMatze (21.03.2016)

  9. #7
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard

    Hallo Lars,
    danke für den Tipp.
    Anhand dieses Beitrages hatte ich es inzwischen versucht. Da geht meine CPU in stopp, da der SFC133 & SFC134 nicht vorhanden ist.

    Kannst du mir noch den Hinweis geben was genau in dem Projekt das 'Komandotelegramm' ist?
    Danke schonmal.

    Gruß
    Matze
    Geändert von DerMatze (21.03.2016 um 12:45 Uhr)

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

    Standard

    Um zu verstehen was das Kommandotelegramm ist solltest du dich mit dem Thema Modbus auseinandersetzen!

    Vipa hat das hier:

    http://www.vipa.com/uploads/tx_sbdow...NE00_12-44.pdf

    sehr gut beschrieben! Ab Kapitel 3-18. Auf Seite 53 ist das Kommandotelegramm beschrieben das du brauchst.
    "Man kann auf seinem Standpunkt stehen, aber man sollte nicht darauf sitzen" - Erich Kästner

  11. Folgender Benutzer sagt Danke zu Lars Weiß für den nützlichen Beitrag:

    DerMatze (21.03.2016)

  12. #9
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard

    OK, dann muss ich wohl doch mit dem FC5 (AG_SEND) erstmal das PAC "ansprechen".
    Ich werde dein Beispiel mal danach durchsuchen...

    Gruß
    Matze
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

  13. #10
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Lars Weiß Beitrag anzeigen
    Hier findest du was für CPU´s mit PN-Schnittstelle, das brauchst du nur adaptieren:

    Modbus TCP Kommunikation von SENTRON PAC3200
    Hallo Lars,

    in dem Beispiel von dir habe ich im FB100 alles gefunden was ich benötige - sofern mich meine wenigen SCL Kenntnisse nicht täuschen.
    Einige Fragen habe ich aber noch dazu:
    1. Ist es richtig, dass via TCON / TDISCON die Verbindungen auf bzw. abgebaut werden? Kann ich diese Bausteine auch für einen CP 343-1 verwenden?
    2. die Bausteine TSEND / TRECV funktionieren ja leider nur bei einer CPU mit integrierter PN Schnittstelle. KAnn ich im FB100 den AG_SEND / AG_RECV vom CP eintragen?
    Das müssten aus momentaner Sicht die Änderungen sein, um mit einem CP343-1 das PAC anzusprechen bzw. die Messwerte einzulesen, oder wie siehst du das?

    Nachtrag:
    leider klappt das nicht so einfach
    SCL_FB80_origin._FB100.JPG


    Gruß
    Matze
    Geändert von DerMatze (22.03.2016 um 19:57 Uhr)
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

Ähnliche Themen

  1. CP343-1 Lean, Version von AG_RECV (FC6)
    Von BoxHead im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 05.12.2012, 21:28
  2. FC6 AG_RECV Probleme beim Datenempfang
    Von danielplp im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 16.02.2011, 07:59
  3. Simatic Net, AG_CNTRL (FC10) und AG_RECV (FC6)
    Von Hansruedi im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 12.03.2010, 08:56
  4. Konflikt durch FC6 : AG_RECV <--> DT_DATE
    Von biertrinker im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 05.03.2010, 12:32
  5. Datenübernahme beim FC6 AG_RECV
    Von Florian_Niedermaier im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 11.11.2007, 13:37

Lesezeichen

Berechtigungen

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