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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Daten per FB14 GET holen (S7-300 -> S7 300)

  1. #1
    Registriert seit
    31.01.2014
    Beiträge
    9
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    ich versuche gerade an einem Testaufbau mit dem Standardbaustein FB14 "GET" mit einer CPU 315-2 PN/DP V2.6.5 von einer CPU 319-3 PN/DP V3.2.4 Daten zu holen. Dazu hat die CPU 315 einen CP 343-1 V2.3 und die CPU 319 eine CP 343-1 V2.6. (An der Anlage später habe ich 2x CPU319 und CP343-1, geht über das Hallennetz, deswegen kein CPU-PNIO Port möglich)

    Zunächst habe ich eine TCP-Verbindung eingerichtet und per AG_SEND/AG_RECV die Daten rüber gereicht. Das funktioniert auch einwandfrei.
    Jetzt möchte ich parallel dazu mit dem FB GET Daten holen. Ich habe auf der CPU315 eine S7-Verbindung mit unspezifiziertem Partner eingerichtet. (Siehe Anhang)
    Programmiert habe ich das mal so:
    Code:
          U     "m_impulsmerker_2,0_sec"
          UN    "m_daten_holen"
          S     "m_daten_holen"
    
          CALL  "FB_GET" , "DB_GET"
           REQ   :="m_daten_holen"
           ID    :=W#16#1
           NDR   :="m_daten_geholt"
           ERROR :="m_error_holen"
           STATUS:="mw_status_holen"
           ADDR_1:=P#DB101.DBX0.0 BYTE 26
           RD_1  :=P#DB101.DBX0.0 BYTE 26
    
    
          U     "m_daten_geholt"
          R     "m_daten_holen"
    Leider funktioniert das nicht wie gewünscht. Ich bekomme immer einen Fehler und im Status steht 0x19. Laut Handbuch: "Für diesen Baustein existiert in der CPU kein Funktionscode. (nur bei S7-300)". Diese Meldung sagt mir jedoch nichts. Kann mir jemand erklären was sie bedeutet und warum das so nicht funktioniert?

    Habe das gleiche von der CPU 319 aus mit FB PUT versucht, jedoch mit dem selben Ergebnis.

    Vielen Dank schonmal!


    Edit: Step7 V5.5 SP2 HF4
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Daten per FB14 GET holen (S7-300 -> S7 300)  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Du mußt den FB14 GET aus der Library SIMATIC_NET_CP nehmen.
    Siehe Unterschied System Function Blocks und Funktionsbausteine aus den Bibliotheken

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Imens0 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    31.01.2014
    Beiträge
    9
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ich bin der Meinung, dass ich den aus genau der Bibliothek geholt habe. Habe ihn gerade nochmal neu rausgeholt, gleiches Verhalten wie vorher.

    Habe gerade noch gesehen, dass im Statusword neben der 0x19 auch noch kurz die 0x1 kommt.
    Kommunikationsprobleme, z. B.·
    - Verbindungsbeschreibung nicht geladen (lokal oder remote)·
    - Verbindung unterbrochen (z.B. Kabel, CPU ausgeschaltet, CP in STOP)·
    - Verbindung zum Partner noch nicht aufgebaut·
    - FB ist auf einer S7-400-CPU nicht ablauffähig·
    - zusätzlich S7-300:- Maximale Anzahl paralleler Aufträge/Instanzen ist überschritten.

    Laut Netpro wird die Verbindung "gerade aufgebaut". Es ändert sich aber nichts. (Bleibt in dem Status)



    Edit: Ich habe mir das Programmbeispiel von Siemens runtergeladen und den GET Baustein daraus genommen (Klein wenig älter): Jetzt wird mir die Verbindung als aufgebaut angezeigt in Netpro. Es bleibt nur die 0x19 im Status stehen.
    Geändert von Imens0 (31.01.2014 um 08:28 Uhr)

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ich würde mal testweise beim unspezifizierten Partner den Steckplatz auch auf 4 setzen, denn es ist doch auch eine CP wie beim Sender selbst.
    Zumindest in dieser Richtung sollte man ein paar Versuche machen, denn:
    Solange die Verbindung im NetPro nicht als "aufgebaut" gekennzeichnet ist, kann der FB nicht laufen.
    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

  5. #5
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    hier mal der fb mit dem ich das mache. ob man für eine unspezifizierte verbindung zwangslaüfig den FB14 nutzen muss weiß ich nicht.
    bei mir mit einer spezifizierten vb funktioniert das einwandfrei
    Angehängte Dateien Angehängte Dateien
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  6. #6
    Imens0 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    31.01.2014
    Beiträge
    9
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Also mit dem etwas älteren Baustein aus dem Beispielprojekt funktioniert das Daten holen jetzt! Der Auftrag wird mit NDR quittiert. Der Errorausgang kommt nie, nur das Statusword wechselt bei jedem Auftrag kurz von 0x0 auf 0x16 ("Für diesen Baustein existiert in der CPU kein Funktionscode. (nur bei S7-300)"). Wenn jemand zu dem Statusword noch was einfällt, würde ich mich freuen.


    Edit: Habe gerade den Unterschied zwischen den beiden FB14 festgestellt: Der erste der nicht Funktioniert hat stammt aus der Familie CP300PBK und der aus dem Beispielprojekt der die Daten wirklich holt aus der Familie CPU_300. Eigentlich sollte es ja anders herum sein...mal suchen welche Typen ich noch finde
    Geändert von Imens0 (31.01.2014 um 08:50 Uhr)

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Dein Bausteinaufruf beendet nie den Kommunikationsauftrag und versucht es auch nie wieder, wenn ein Fehler auftrat. Ändere mal wie folgt
    Zitat Zitat von Imens0 Beitrag anzeigen
    Code:
          U     "m_impulsmerker_2,0_sec"
          UN    "m_daten_holen"
          S     "m_daten_holen"
    
          CALL  "FB_GET" , "DB_GET"
           REQ   :="m_daten_holen"
           ID    :=W#16#1
           NDR   :="m_daten_geholt"
           ERROR :="m_error_holen"
           STATUS:="mw_status_holen"
           ADDR_1:=P#DB101.DBX0.0 BYTE 26
           RD_1  :=P#DB101.DBX0.0 BYTE 26
    
    
          O     "m_daten_geholt"
          O     "m_error_holen"
          R     "m_daten_holen"
    Bei einseitig projektierter unspezifizierter Verbindung zu einer anderne S7-300 muß der Partner-Rack/Steckplatz 0 / 2 sein, der TSAP muß 03.02 sein - also alles richtig bei Dir.
    Die Verbindungsprojektierung ist in die CPU geladen? Systemdaten Online/Offline sind gleich?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #8
    Imens0 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    31.01.2014
    Beiträge
    9
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Habe den Code geändert. An der Funktion ändert das allerdings nichts. (Gleich wie mit U "m_daten_geholt") Wir programmieren Oder-Verknüpfungen öfters mal mit einem Und als erstes. Wenn ich online zuschaue, sehe ich wie der Taktimpuls den Start setzt und dieser dann nach einigen Zyklen wieder zurückgesetzt wird. Dann bleibt er auf 0 bis zum nächsten Impuls...wie es sein soll.

    Ja die Projektierung ist geladen. Funktioniert ja alles soweit. Die Daten ändern sich auch in der CPU319 ständig, sodass ich mit jedem Taktimpuls neue Daten abholen kann. Das letzte was mich stutzig macht ist die Statusmeldung 0x19.

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Zitat Zitat von Imens0 Beitrag anzeigen
    Das letzte was mich stutzig macht ist die Statusmeldung 0x19.
    Die ist ganz normal
    Zitat Zitat von SFB/FB14 Fehlerinformationen
    ERROR: 0
    STATUS (dezimal): 25
    Erläuterung: Die Kommunikation wurde angestoßen. Der Auftrag ist in Bearbeitung.
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    Imens0 (31.01.2014)

  11. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Imens0 Beitrag anzeigen
    Edit: Habe gerade den Unterschied zwischen den beiden FB14 festgestellt: Der erste der nicht Funktioniert hat stammt aus der Familie CP300PBK und der aus dem Beispielprojekt der die Daten wirklich holt aus der Familie CPU_300. Eigentlich sollte es ja anders herum sein...mal suchen welche Typen ich noch finde
    Also wenn der FB14 aus der Familie CP300PBK die Version V1.2 hat, dann ist das genau der Baustein, denn man laut Siemens-Dokumentation benutzen soll (aus der Library SIMATIC_NET_CP > CP 300).

    Andererseits gibt es auch noch diese Aussage:
    Welcher Bibliothek sind die Kommunikations-FBs zu entnehmen?
    Zitat Zitat von 1. Kommunikation über die integrierte IE-Schnittstelle der CPU:
    Die S7-Kommunikationsbausteine USEND/URCV (FB8/FB9), BSEND/BRCV (FB12/FB13), GET/PUT (FB14/FB15) aus der Standard Library laufen auf allen SIMATIC S7-300 CPUs mit FW-Ausgabestand ab 2.x.y (z.B. 6ES7315-2AG10-...).
    Diese Kommunikationsbausteine sind auch für den CP343-1 geeignet.
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. S7-300 Daten in OID eines Fremdgerätes
    Von HighlanderSAS im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 22.02.2012, 21:19
  2. Daten aus S7-300 lesen ohne Programmänderung
    Von Astralavista im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 04.08.2009, 15:00
  3. Mit TwinCat Daten auslesen von S7-300
    Von Commander83 im Forum CODESYS und IEC61131
    Antworten: 10
    Letzter Beitrag: 10.09.2008, 10:24
  4. S7-300 Daten
    Von titinparma im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 21.08.2007, 11:13
  5. Von S5 Daten zur S7-300 senden?
    Von Anonymous im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 30.11.2005, 16:12

Lesezeichen

Berechtigungen

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