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

Ergebnis 1 bis 6 von 6

Thema: S7 1200 und PtP RS 485 (SEND_PTP, RCV_PTP)

  1. #1
    Registriert seit
    23.10.2013
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag,


    ich mache meinen ersten Projekt in SPS. Hardware: S7-1200 mit CM1241 RS422/485 verbunden mit Nanotec SMCI174-S-2.Ich habe FB für die Steurung geschrieben.
    Ich benutze PtP ( RS 485). Ich habe so gemacht: in jedem FB rufe ich zuerst SEND_PTP (z.B. Status abfragen, Motor starten usw.) dann RCV_PTP (Antwort bekommen) auf. Mit einer Steuerung läuft alles ohne Problem. Aber mit 2 oder 3 gleichzeitig - funktioniert nicht.


    Wie kann ich am besten diese Funktionen (SEND_PTP, RCV_PTP) benutzen, damit ich mehrere Steuerungen abfragen und steuern könnte?
    Oder vielleicht gibt es andere bessere Lösung für diesen Zweck


    Vielen Dank für Ihre Hilfe.


    Gruss
    Zitieren Zitieren S7 1200 und PtP RS 485 (SEND_PTP, RCV_PTP)  

  2. #2
    Registriert seit
    25.11.2008
    Ort
    Westpfalz
    Beiträge
    1.550
    Danke
    187
    Erhielt 212 Danke für 186 Beiträge

    Standard

    Guten Tag auch,

    habe nur mit SMCI147 zu tun gehabt,
    allgemein baust du ja ein Netzwerk RS485 auf, da musst du schonmal auf die richtige Verdrahtung und Terminierung achten (siehe Technisches Handbuch).
    Am SMC sollte es zwei Hex-Codierschalter für die Adresse geben.
    Beim senden des ASCII-String muss nach dem Startzeichen(#) die Motoradresse folgen (siehe Programmierhandbuch).

    mfg MK
    and we all support the team (S.King - Die Arena)

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.170
    Danke
    922
    Erhielt 3.287 Danke für 2.656 Beiträge

    Standard

    Zitat Zitat von 53tao Beitrag anzeigen
    Ich benutze PtP ( RS 485).
    [...]
    Mit einer Steuerung läuft alles ohne Problem. Aber mit 2 oder 3 gleichzeitig - funktioniert nicht.
    Was genau heißt "funktioniert nicht"?

    Was meinst Du mit "2 oder 3 gleichzeitig"?
    Hast Du womöglich einen RS485-Bus mit mehr als 2 Teilnehmern aufgebaut?

    PtP heißt Point-to-Point - eine Verbindung zwischen genau 2 Teilnehmern.
    Bei RS485 mit den selben 2 Adern für Senden und Empfangen schon nicht einfach zu handeln, doch spätestens bei mehr als 2 Teilnehmern braucht's ein vernünftiges Busprotokoll mit Kollisionserkennung, Senden/Empfangen-Mindest-Umschaltzeiten, Weitergabe der Sende-Berechtigung (Token), Telegramm-Prüfsummen, ... da nimmt man besser ein fertiges bewährtes Protokoll (wie z.B. Profibus).

    Wenn Deine anderen Busteilnehmer nur antworten, wenn sie was gefragt wurden (sich also wie Slave verhalten), dann kannst Du Glück haben und mit einfacher Verriegelung der SEND_PTP-Bausteine und geschickter Realisierung von Wartezeiten und Timeouts eine überwiegend funktionierende Kommunikation zwischen Deinen Teilnehmern hinbekommen. Du mußt aber trotzdem mit verfälschten Daten in den Telegrammen rechnen und Vorkehrungen zu deren Erkennung treffen.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #4
    53tao ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.10.2013
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Mäuseklavier Beitrag anzeigen
    Guten Tag auch,

    habe nur mit SMCI147 zu tun gehabt,
    allgemein baust du ja ein Netzwerk RS485 auf, da musst du schonmal auf die richtige Verdrahtung und Terminierung achten (siehe Technisches Handbuch).
    Am SMC sollte es zwei Hex-Codierschalter für die Adresse geben.
    Beim senden des ASCII-String muss nach dem Startzeichen(#) die Motoradresse folgen (siehe Programmierhandbuch).

    mfg MK
    Danke für die Antwort. Ich habe Handbuch schon gelesen. Und mit einem Motor klappt es.)) Mein Problem : ich kann nicht mehrere Steuerungen zum laufen bringen. Hast du schon gemacht? Falls ja dann würde ich mich auf jede Information freuen=)

  5. #5
    53tao ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.10.2013
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Harald, vielen dank für die Antwort)
    Zitat Zitat von PN/DP Beitrag anzeigen
    Was genau heißt "funktioniert nicht"?

    Was meinst Du mit "2 oder 3 gleichzeitig"?
    Hast Du womöglich einen RS485-Bus mit mehr als 2 Teilnehmern aufgebaut?
    Nein, der RS485-Bus wurde schon vor mir geplant=)
    Und jetzt gibt es für jede S7-1200 Station ca. 5-10 solche Nanotec Steuerungen .Das Problem ist: falls ich nur einen Motor abfragen und starten möchte (egal welche Nummer), läuft sauber, ohne Fragen. Aber wenn ich während Ablauf zweiten oder noch dritten Motor dazu anschalten möchte - dann bekomme ich Überraschungen. Falsche oder fehlende Daten oder eine Steuerung reagiert nicht oder zu spät.
    Zitat Zitat von PN/DP Beitrag anzeigen
    PtP heißt Point-to-Point - eine Verbindung zwischen genau 2 Teilnehmern.
    Bei RS485 mit den selben 2 Adern für Senden und Empfangen schon nicht einfach zu handeln, doch spätestens bei mehr als 2 Teilnehmern braucht's ein vernünftiges Busprotokoll mit Kollisionserkennung, Senden/Empfangen-Mindest-Umschaltzeiten, Weitergabe der Sende-Berechtigung (Token), Telegramm-Prüfsummen, ... da nimmt man besser ein fertiges bewährtes Protokoll (wie z.B. Profibus).
    Wir haben S7-1200 starter kit mit CM 1241. Also bleibt nur RS 422/485.

    Zitat Zitat von PN/DP Beitrag anzeigen
    Wenn Deine anderen Busteilnehmer nur antworten, wenn sie was gefragt wurden (sich also wie Slave verhalten), dann kannst Du Glück haben und mit einfacher Verriegelung der SEND_PTP-Bausteine und geschickter Realisierung von Wartezeiten und Timeouts eine überwiegend funktionierende Kommunikation zwischen Deinen Teilnehmern hinbekommen. Du mußt aber trotzdem mit verfälschten Daten in den Telegrammen rechnen und Vorkehrungen zu deren Erkennung treffen.

    Harald
    Ja, alle andere Teilnehmern sind nur Slaves. Und Datentransfer geht als ASCII. Ich bin neu auch in SCL und wollte fragen, wie kann ich den Aufruf von den Bausteinen (SEND_PTP,RCV_PTP) aus einer eigenen Funktion (FC) machen ? Dann es ist leichter SEND_PTP zu verriegeln oder irre ich mich?

    Und was meinst du mit geschickter Realisierung von Wartezeiten und Timeouts? Gibt es irgendwelche Einstellungen oder soll ich ganz normale Timern benutzen ? Mfg

  6. #6
    Registriert seit
    25.11.2008
    Ort
    Westpfalz
    Beiträge
    1.550
    Danke
    187
    Erhielt 212 Danke für 186 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    ja hatte mehr als eine Steuerung am laufen, aber für jede einen CM

    was user PN/DP meint steht auch im Handbuch (das du gelesen hast):

    Zweidrahtbetrieb RS485
    Damit die RS485-Übertragung zweidrahtfähig ist, müssen alle Busteilnehmer über
    eine Richtungssteuerung verfügen. Ein "Intelligenter" Konverter, der beim Empfang eines Startbits auf der RS232
    -Schnittstelle automatisch auf Sendebetrieb umschaltet und nach Ende des Stopbits
    wieder zurück in den Empfangsbetrieb fällt, ermöglicht den Zweidrahtbetrieb der SMCI47-S.
    Diese Lösung erfordert keine Software - Unterstützung.
    Wir können den Konverter ICP -7520 empfehlen, der z.B. bei Schuricht erhältlich ist.
    Sprechen Sie unsere Technische Hotline an
    , wenn Sie hierzu Unterstützung wünschen.
    Du hast ja vor das per Software zu lösen:

    Zitat Zitat von 53tao Beitrag anzeigen
    ....

    Ja, alle andere Teilnehmern sind nur Slaves. Und Datentransfer geht als ASCII. Ich bin neu auch in SCL und wollte fragen, wie kann ich den Aufruf von den Bausteinen (SEND_PTP,RCV_PTP) aus einer eigenen Funktion (FC) machen ? Dann es ist leichter SEND_PTP zu verriegeln oder irre ich mich?

    Und was meinst du mit geschickter Realisierung von Wartezeiten und Timeouts? Gibt es irgendwelche Einstellungen oder soll ich ganz normale Timern benutzen ? Mfg
    Da die PTP Bausteine aber nur einen Port zulassen, solltest du auch nur einen Aufrufen.
    Entscheidend sind dann die Daten. Du musst reih um jeden Motor ansprechen, wie geschrieben durch die Motoradresse nach dem Startzeichen.
    Beim empfangen musst du in den Telegrammen die Motoradresse auswerten.
    "geschickter Realisierung von Wartezeiten und Timeouts" heisst hier, dass du die Sendetelegramme erst abfeuerst wenn vom vorigen Auftrag eine Antwort empfangen wurde.
    Es ist wie in der Schule, wenn alle Kids durcheinander reden versteht die Lehrerin nicht wer was antwortet, wenn aber auf (Hand)-Zeichen ein Schüler zur Antwort aufgefordert wird klappt das schon...

    MfG MK
    and we all support the team (S.King - Die Arena)

Ähnliche Themen

  1. RCV_PTP Buffer Probleme
    Von carki im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 15.03.2012, 16:10
  2. TwinCat NC PTP und AX2003
    Von CX_Matt im Forum Antriebstechnik
    Antworten: 0
    Letzter Beitrag: 08.12.2011, 19:52
  3. CPU 312IFM und CP340 PtP
    Von skyracer im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 11.09.2007, 21:56
  4. Benutzung von SEND_PTP
    Von quant81 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 05.06.2007, 10:29
  5. ibh-anschaltung und ptp-runtime
    Von volker im Forum HMI
    Antworten: 2
    Letzter Beitrag: 10.10.2003, 15:39

Lesezeichen

Berechtigungen

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