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

Ergebnis 1 bis 6 von 6

Thema: Send / Receive

  1. #1
    Anonymous Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Gibt es eine möglichkeit mehrere Send Receive aufrufe bei einer TCP verbindung zu projektieren um z.B. DB90 bis DB 94 in Steuerung A nach DB 90 bis 94 in Steuerung B zu schreiben. Oder ist es tatsächlich so das durch die Verbindungs ID nur ein Aufruf von einem DB zum anderen funtioniert ????
    Zitieren Zitieren Gelöst: Send / Receive  

  2. "Hallo,

    Zitat Zitat von Gast
    Hallo,

    Gibt es eine möglichkeit mehrere Send Receive aufrufe bei einer TCP verbindung zu projektieren um z.B. DB90 bis DB 94 in Steuerung A nach DB 90 bis 94 in Steuerung B zu schreiben. Oder ist es tatsächlich so das durch die Verbindungs ID nur ein Aufruf von einem DB zum anderen funtioniert ????
    Wenn Du die SEND RECV-FCs verwenden willst, so könntest Du für die einzelnen Datenbereich hintereinander übertragen.
    Auf der Senderseite müsstest Du dazu den Datenbereich (das Sendefach) immer entsprechend anpassen. Der Empfänger würde aber immer in das gleiche Empfangsfach die Daten bekommen. Da könntest Du ja im ersten Byte des Datenstroms reinschreiben, welcher DB die Daten bekommen soll und sie dann entsprechend umkopieren.

    Zitat Zitat von Gast
    Du schreibst von von max. 4 DB's pro Auftrag. Wie kann ich die 4 DB's mit einem einzigen Pointer an den SFB übergeben ???
    Hier der Aufruf eines der SFBs:

    Code:
          CALL  "GET" , DB14
           REQ   :=
           ID    :=
           NDR   :=
           ERROR :=
           STATUS:=
           ADDR_1:=
           ADDR_2:=
           ADDR_3:=
           ADDR_4:=
           RD_1  :=
           RD_2  :=
           RD_3  :=
           RD_4  :=
    Unter ADDR_1 bis ADDR_4 können 4 Datenbereiche angegeben werden.
    Ebenso under RD_x
    Schau mal in die Onlinehilfe. Da ist der Aufruf und so ziemlich gut beschrieben wie ich finde.

    Allerdings wird für diese Art der Kommunikation eine sogenannte S7-Verbindung benötigt. Das ist ein Kommunikationsweg, der nur zwischen SIMATIC S7-Geräten zur Verfügung steht.

    Noch Fragen?

    Gruß ulkula"


  3. #2
    Registriert seit
    23.11.2004
    Beiträge
    347
    Danke
    2
    Erhielt 28 Danke für 28 Beiträge

    Standard

    Hallo,

    mit den Bausteinen SFB14 und 15 (Get und Put) können pro Auftrag bei projektierten Verbindungen max. 4 DBs oder 4 verschieden DB-Bereiche (Pointer auf DB) übertragen werden. Allerdings nur 160 bzw. 400 Byte (S7-300 bzw. 400).

    Gruß
    raika

  4. #3
    Anonymous Gast

    Standard

    Danke genau so eine Funktion hab ich gebraucht !!!

  5. #4
    Anonymous Gast

    Standard

    Hallo RaiKa,
    Zitat Zitat von RaiKa
    pro Auftrag max. 4 DBs oder 4 verschieden DB-Bereiche (Pointer auf DB)
    Du schreibst von von max. 4 DB's pro Auftrag. Wie kann ich die 4 DB's mit einem einzigen Pointer an den SFB übergeben ??? Für Deine Erklärung wäre ich Dir sehr dankbar, da ich halt in der Programmierung noch etwas dumm und unbedarft bin (nun die Referenten in der VHS konnten mir das auch nicht so richtig erklären, aber der Kurs kostet ja auch nur ein paar €uro, die vom Arbeitsamt auch noch übernommen werden). Mannoman, sind die Referenten in der VHS bescheuert, aber Du kannst mir als kompetenter Fachmann aus der IT-Branche das mal so richtig einfach erklären.
    Gruß
    Gast ???
    Zitieren Zitieren Send/Receive  

  6. #5
    Registriert seit
    02.02.2005
    Beiträge
    51
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    Zitat Zitat von Gast
    Hallo,

    Gibt es eine möglichkeit mehrere Send Receive aufrufe bei einer TCP verbindung zu projektieren um z.B. DB90 bis DB 94 in Steuerung A nach DB 90 bis 94 in Steuerung B zu schreiben. Oder ist es tatsächlich so das durch die Verbindungs ID nur ein Aufruf von einem DB zum anderen funtioniert ????
    Wenn Du die SEND RECV-FCs verwenden willst, so könntest Du für die einzelnen Datenbereich hintereinander übertragen.
    Auf der Senderseite müsstest Du dazu den Datenbereich (das Sendefach) immer entsprechend anpassen. Der Empfänger würde aber immer in das gleiche Empfangsfach die Daten bekommen. Da könntest Du ja im ersten Byte des Datenstroms reinschreiben, welcher DB die Daten bekommen soll und sie dann entsprechend umkopieren.

    Zitat Zitat von Gast
    Du schreibst von von max. 4 DB's pro Auftrag. Wie kann ich die 4 DB's mit einem einzigen Pointer an den SFB übergeben ???
    Hier der Aufruf eines der SFBs:

    Code:
          CALL  "GET" , DB14
           REQ   :=
           ID    :=
           NDR   :=
           ERROR :=
           STATUS:=
           ADDR_1:=
           ADDR_2:=
           ADDR_3:=
           ADDR_4:=
           RD_1  :=
           RD_2  :=
           RD_3  :=
           RD_4  :=
    Unter ADDR_1 bis ADDR_4 können 4 Datenbereiche angegeben werden.
    Ebenso under RD_x
    Schau mal in die Onlinehilfe. Da ist der Aufruf und so ziemlich gut beschrieben wie ich finde.

    Allerdings wird für diese Art der Kommunikation eine sogenannte S7-Verbindung benötigt. Das ist ein Kommunikationsweg, der nur zwischen SIMATIC S7-Geräten zur Verfügung steht.

    Noch Fragen?

    Gruß ulkula
    Zitieren Zitieren Re: Send / Receive  

  7. #6
    Registriert seit
    12.04.2005
    Beiträge
    27
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Gast
    Hallo,

    Gibt es eine möglichkeit mehrere Send Receive aufrufe bei einer TCP verbindung zu projektieren um z.B. DB90 bis DB 94 in Steuerung A nach DB 90 bis 94 in Steuerung B zu schreiben. Oder ist es tatsächlich so das durch die Verbindungs ID nur ein Aufruf von einem DB zum anderen funtioniert ????
    Hallo,

    statt einer TCP-Verbindung würde ich eine "ISO-On-TCP"-Verbindung (RFC1006) oder UDP verwenden. Hierbei wird jeder SEND-Aufruf in einem einzigen Paket übertragen. Dann kannst Du über eine Verbindung jeden DB mit einem eigenen Aufruf senden und musst nicht im TCP-Datenstrom nach deinen einzelnen DB's suchen. Du müsstest dann nur eine Kennung in dein Datenpaket setzten, die die DB-Nummer enthält, damit Du die einzelnen Pakete am Ziel wieder zuordenen kannst.
    Zitieren Zitieren Re: Send / Receive  

Ähnliche Themen

  1. CPU 317f-2 PN/DP Profibus SEND und RECEIVE
    Von jach0012 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 23.02.2009, 17:00
  2. mehrere DB´s mittels SEND/RECEIVE übertragen
    Von Grimsey im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.12.2007, 12:08
  3. SEND/RECEIVE mit UDP
    Von DerWolf im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 31.07.2007, 18:22
  4. Kommunikation S7<--> PC über Ethernet mit Send/Receive
    Von MW im Forum Hochsprachen - OPC
    Antworten: 34
    Letzter Beitrag: 13.07.2007, 23:21
  5. Send/Receive Kommunikation
    Von Jenwal im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 24.02.2006, 09:10

Lesezeichen

Berechtigungen

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