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

Ergebnis 1 bis 10 von 10

Thema: CPU319-3PN Offene TCP/IP Kommunikation zu externen Steuerungen

  1. #1
    Registriert seit
    29.03.2006
    Beiträge
    44
    Danke
    9
    Erhielt 7 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    ich möchte gerne mehre TCP/IP Kommunikationen über die integrierte PN-Schnittstelle der CPU zu extenen Partnern aufbauen. Aktuell habe ich eine Verbindung am laufen, möchte das Ganze jetzt aber auf 10 (optinal auf 15) Verbindungen aufbauen. Wizard zur Projektierung und FB65 TCON habe ich verwendet, allerdings steh ich im Moment auf dem Schlauch, wie im am elegantesten die restlichen Verbindungen im SPS-Programm projektiere. Ich wollte eigentlich nicht die 10 (15) mal den TCON mit den zugehörigen Verbindungsparametern aufrufen. Ursprünglich hatte ich dran gedacht, dass ich mir eine Schleife baue (von 1-10..) und dann die zugehörigen Verbijndungsdaten an den TCON übergebe. Im Moment fehlt mir aber die Idee, wie ich das realisieren kann. Habt ihr Ideen oder wie würdet ihr die Sache lösen? Danke schon mal vorab für eure Unterstützung.
    Nachstehend noch ein paar dten zur Info:

    Step 7 Pro V5.4 SP5, Verbindungstyp: passiv,

    Gruß Heizerfraktion
    Zitieren Zitieren CPU319-3PN Offene TCP/IP Kommunikation zu externen Steuerungen  

  2. #2
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    Hi!
    Denke, da wirst du nicht drum herum kommen, für jede Verbindung die FB´s seperat aufzurufen UND im zyklischen Ablauf für JEDE Verbindung bearbeiten zu lassen.
    Der FB 65 gibt zur Laufzeit schliesslich die Signale Conn.Status, Conn.busy und Conn.Error heraus, die ja nur im zyklischen Betrieb für jede aufgebaute Verbindung ermittelt werden können.

    Hier der Hinweis dazu: Weitere TCP Verbindungen konfigurieren
    http://support.automation.siemens.co...nt&csQuery0=fb 65 tcon&subtype=133000

    Gruss
    kind regards
    SoftMachine

  3. #3
    Registriert seit
    29.03.2006
    Beiträge
    44
    Danke
    9
    Erhielt 7 Danke für 1 Beitrag

    Standard

    Hi,

    danke für die Info. Genau dieses Beispiel habe ich mir bereits angesehen. Als ergänzende Info: Die Verbindungspartner verwenden CP's für die Kommunikation, nicht die integrierte PN Schnittstelle. Die Verbing wird von den Partner aktiv aufgebaut. Laut Siemens Support benötigt der TCON-Baustein lediglich eine Flanke am REQ, um die Verbindungsdaten (Konfiguration) zur SPS zu übermitteln. Dort belieben die Daten dann gespeichert und müssen nicht zyklisch immer wieder übertragen werden. Dass ich für die weiteren Verbindungen die Sende-und Empfangsbaustein jeweils aufrufen muß ist mir schon klar. Ich hoffe, dass das Ganze halbwegs verständlich ist.

    Gruß Heizerfraktion

  4. #4
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    Ist ja mal einen versuch wert !
    Wie du schon sagst, den TCON in einer Schleife mehrmals mit unterschiedlichen Parametern aufrufen, ein Schleifendurchlauf ist dann beendet, wenn die Rückgabeparameter anzeigen, dass die Verbindung aufgebaut ist. Dann die nächsten Parameter dran und Schleife nochmal durchlaufen...

    Allerdings weiss ich nicht, was der TCON trotz fehlenden REQ dennoch ausführt wg. STAUS und BUSY ? Aber: "Versuch macht kluch" !

    Gruss

    Gruss
    kind regards
    SoftMachine

  5. #5
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    aus der Onlinehilfe:
    Verwendung bei TCP und ISO on TCP
    Beide Kommunikationspartner rufen den FB 65 "TCON" zum Einrichten und Aufbauen der Kommunikationsverbindung auf. In der Parametrierung hinterlegen Sie, welcher der aktive und welcher der passive Kommunikationsendpunkt ist.
    Nach dem Einrichten und Aufbauen der Verbindung wird diese automatisch von der CPU gehalten und überwacht.
    Bei Verbindungsabbruch durch z.B. Leitungsunterbrechung oder durch den remoten Kommunikationspartner versucht der aktive Partner die eingerichtete Verbindung wieder aufzubauen. Sie müssen den FB 65 "TCON" nicht erneut aufrufen.
    Möglich ist es auf jeden Fall. Ich würde ihn aber trotzdem für jede Verbindung separat Aufrufen, alleine schon wegen der Überwachung der Verbindung.
    Kannst ja einen schicken FB basteln wo die Sachen alle drin sind Überwachung, Kommunikation, usw. und diesen dann halt 10x Aufrufen.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  6. Folgender Benutzer sagt Danke zu dalbi für den nützlichen Beitrag:

    SoftMachine (20.11.2011)

  7. #6
    Registriert seit
    29.03.2006
    Beiträge
    44
    Danke
    9
    Erhielt 7 Danke für 1 Beitrag

    Standard

    Hallo Leute,

    leider klappt das mit der Statusauswertung des TCON nicht richtig, da weder die DONE bzw. BUSY-Bits kommen, die Verbindung aber bereits aufgebaut ist. Werde das Ganze morgen noch mal testen. Habt Ihr noch eine Idee, wie ich die 64 Byte Verbindungsdaten indiziert übergeben kann, z.B. ID = 1 -> P#DB100.dbx0.0 Byte 64, ID=2 -> P#DB100.dbx65.0 Byte 64,...Im Moment fehlt mir der passende Ansatz.

    Gruß Heizerfraktion

  8. #7
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    ja über einen ANY z.b.
    Code:
          LAR1  P##tANY                     // Zeiger ins Adressregister laden
          L     W#16#10                     // SyntaxID 10h
          T     LB [AR1,P#0.0]
          L     W#16#2                      // Typ BYTE
          T     LB [AR1,P#1.0]
          L     64                          // Anzahl Bytes
          T     LW [AR1,P#2.0]
          L     100                         // DB-Nummer
          T     LW [AR1,P#4.0]
          L     #tAnfang                    // Anfang des Bereichs
          SLD   3                           // "tAnfang" Variable mit der Startadresse
          T     LD [AR1,P#6.0]
          L     B#16#84                     // Speicherbereich DB
          T     LB [AR1,P#6.0]
    diesen hängst Du einfach an CONNECT vom FB65.

    P#DB100.dbx65.0 Byte 64 Bist Du dir da sicher das der nächste bei Byte 65 beginnt?

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  9. Folgender Benutzer sagt Danke zu dalbi für den nützlichen Beitrag:

    Heizerfraktion (20.11.2011)

  10. #8
    Registriert seit
    29.03.2006
    Beiträge
    44
    Danke
    9
    Erhielt 7 Danke für 1 Beitrag

    Standard

    Hi Dalbi,

    danke, das war genau der Ansatz daer was mir gefehlt hat. Würdest du das Ganze als FB oder lieber als FC ausführen?? Du hast übrigens recht, der nächste Adressbereich beginnt nicht bei Byte 65.
    Um die mehrfachen Aufrufe des TCON komme ich mich dieser Codevarainte in Verbindung mit dem ID-Index wohl nicht herum, oder sehe ich das faslch? -> Stichwort InstanzDB?? Stehe im Moment voll auf der Leitung. Werde wohl erst mal einen Hopfenblütentee zur Entspannung einnehmen.

    Gruß Heizer
    Geändert von Heizerfraktion (20.11.2011 um 21:57 Uhr)

  11. #9
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    die ID steht doch auch mit in den Verbindungsparametern (DB) diese vorher laden und auch an den TCON übergeben.
    Ich würde einen FB nehmen und die T-Bausteine als Multiinstanz darin aufrufen.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  12. #10
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    z.B.
    Code:
          LAR1  P##tANY                     // Zeiger ins Adressregister laden
          L     W#16#10                     // SyntaxID 10h
          T     LB [AR1,P#0.0]
          L     W#16#2                      // Typ BYTE
          T     LB [AR1,P#1.0]
          L     64                          // Anzahl Bytes
          T     LW [AR1,P#2.0]
          L     100                         // DB-Nummer
          T     LW [AR1,P#4.0]
          T     #tDBNr
          L     #tAnfang                    // Anfang des Bereichs
          SLD   3                           // "tAnfang" Variable mit der Startadresse
          T     LD [AR1,P#6.0]
          L     B#16#84                     // Speicherbereich DB
          T     LB [AR1,P#6.0]
    
          L     LD [AR1,P#6.0]              // Speicherbereich + Anfangsadresse der Daten
          LAR1                              // in Adressregister laden
    
          AUF   DB [#tDBNr]                 // DB öffnen
          L     W [AR1,P#2.0]               // ID in
          T     #tID                        // temp. Speichern
    
          CALL  #sTCON
           REQ    :=
           ID     :=#tID
           DONE   :=
           BUSY   :=
           ERROR  :=
           STATUS :=
           CONNECT:=#tANY
    Gruss Daniel
    Geändert von dalbi (20.11.2011 um 23:00 Uhr)
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 31.10.2011, 13:18
  2. Antworten: 2
    Letzter Beitrag: 10.01.2011, 19:36
  3. Antworten: 0
    Letzter Beitrag: 08.10.2010, 10:12
  4. Frage Offene Kommunikation UDT 65
    Von Hocheck im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 18.04.2010, 22:38
  5. Offene Kommunikation mit WinAC RTX
    Von berty78 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 15.09.2009, 14:01

Lesezeichen

Berechtigungen

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