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

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

Thema: CP340 - Daten über RS232 senden und Empfangen

  1. #1
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    habe schon einmal ein paar Fragen zum CP340 und dessen Programmierung hier im Forum gestellt.
    Leider aber unter einem etwas irreführendem Titel. (s. S7-Bausteine und ihre Bedeutung)
    Da ich diesen Beitrag nicht umbenennen kann, hier die Fortsetzung unter neuem Namen:

    Ich möchte Daten von verschiedenen Scannern über RS232 empfangen und an einen Drucker weiterleiten (ebenfalls RS232).

    Das geht eigentlich ganz gut, doch jetzt habe ich noch ein kleines Problem:

    Wenn z.B. der Handscanner getriggert wird, ohne das der Empfang am CP340 freigegeben worden ist, so wird das Empfangene Telegramm im Puffer des CP abgelegt.
    Gebe ich nun den Empfang frei und möchte etwas neues empfangen, so erhalte ich aber den alten Wert aus dem Puffer des CP.

    Wie kann ich das verhindern? Im Handbuch des CP340 ist die Rede vom FB12 "P_RESET".
    Der FB12 benötigt jedoch noch einen Instanzdatenbaustein.

    Und hier komm ich nicht weiter.
    Muss ich den Instanzdatenbaustein selber anlegen? - Wie muss der aussehen?
    Oder kann ich den irgendwo rausholen (wie z.B. aus einem Programmierbeispiel).

    Wäre super wenn mir hier noch jemand weiterhelfen könnte.

    Gruß smartie
    Zitieren Zitieren CP340 - Daten über RS232 senden und Empfangen  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.269
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Ruf den FB in Progamm auf, mit der DB-Nummer, die du gerne möchtest. Der Step7-Manager legt dann den entsprechenden Instanz-DB an.

    Also schreiben:

    Code:
    Call FB12, DB12
    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

  3. #3
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

    Zitat Zitat von smartie Beitrag anzeigen
    Der FB12 benötigt jedoch noch einen Instanzdatenbaustein.

    Und hier komm ich nicht weiter.
    Muss ich den Instanzdatenbaustein selber anlegen? - Wie muss der aussehen?
    Oder kann ich den irgendwo rausholen (wie z.B. aus einem Programmierbeispiel).

    Wäre super wenn mir hier noch jemand weiterhelfen könnte.

    Gruß smartie
    Hallo,

    grundsätzlich gehört zu jedem FB auch ein Instanz DB. Dieser dient als "Gedächtnis" für die Stat-Variablen des FB. Dies ist auch der entscheidende Unterschied zwischen FB und FC.
    Beim FC gibts keine Stat-Variablen.

  4. #4
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Habs auch grad rausgefunden:

    Ich hab einfach nen DB12 angelegt und als InstanzDB auf den FB 12 verlinkt.
    Dadurch wurde der Inhalt des DB12 automatisch generiert.

    Aber deine Lösung, Ralle, ist mir da symphatischer.

    Bei dem Projekt hier stoß ich schon immer wieder an meine Grenzen, hab bis jetzt eher ein paar EA´s programmiert und das auch meistens unter S7-200.
    Aber dank Eurer Hilfe komm ich doch immer weiter voran und lerne was dazu.

    Jetzt hab ich noch ein Anliegen:

    Nach dem Einschalten der Anlage muss ich auf mehrere Scanner gleichzeitig schauen, der als erstes getriggert wird (entweder Handscanner oder über
    Lichtschranke) soll dann anschließend verarbeitet werden.

    Da bekomme ich aber ein Problem mit dem FB2. Ich kann den FB2 ja zu einem Zeitpunkt nur mit einer Parametrierung versehen.
    Das heisst also ich kann nur auf einen CP schauen.

    Wie bekomme ich es also hin das ich auf mehrere CP´s gleichzeitig schaue?
    Kann ich da den FB2 noch mal kopieren? Ich frag jetzt schon mal ohne es auszurobieren, da ich im Moment nur an einem Versuchsaufbau
    hocke und nur einen CP vor mir habe.

    Morgen wenn ich wieder an der Anlage bin würd ich das dann mal ausprobieren.
    Vielleicht kann mir ja schon jemand vorher antworten. (Das ich heut Nacht etwas ruhiger schlafen kann )

    Gruß und Danke smartie

  5. #5
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Hallo smartie,

    nur mal so zum Verständnis.
    Warum wird der CP zum Empfang nicht immer freigegeben.
    Wenn der Scanner von Hand getriggert wird, und du eine Bedingung hast, die den Empfang ermöglichen soll, kanst Du den Empfang ja immer einschalten. Nur wenn deine Bedingung erfüllt ist, wertest Du die Daten aus. Das verhindert Timingprobleme bei ein und ausschalten bzw. beim triggern.
    Ist vieleicht nicht auf deine Anwendung umsetzbar, aber ist nur so ein Tipp auf Grund Deiner Angaben.
    Vieleicht kannst Du die Anwendung noch präziser beschreiben.

    EDITH Sagt:
    Zeitüberschneidung der antworten.
    Du kannst für jeden CP einen FB für Receive anlegen, aber jeder bekommt einen eigenen Instanzdb (Multiinstanz mal ausgenommen)
    Wenn Du die dann im Programm hintereinander legst, sieht Du am Ausgang welcher CP gerade Daten empfangen hat.
    Geändert von jabba (23.08.2007 um 19:10 Uhr)

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.269
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Wie Steve81 schon schrieb, der DB ist das "Gedächtnis des FB". Wenn du mehrere CP hast kannst du für jeden einen FB2 mit je einem anderen Instanz-DB nutzen. Die äußere Beschaltung mußt du natürlich auch für die entsprechende CP machen. Was nicht geht, ist 2x FB2 mit dem selben Instanz-DB gleichzeitig nutzen. Auch kannst du nur jeweils einen Auftrag an einen CP geben, nicht 2 oder 3 Aufträge an den selben CP gleichzeitig.
    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

  7. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    smartie (23.08.2007)

  8. #7
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Hallo jabba,

    ich habe mehrere CP´s an meiner S7-300. Daran hängen 3 Scanner (2 feste und ein Handscanner) und ein Drucker.

    Nach dem einschalten kann der Bediener entweder den Handscanner verwenden der an einem CP hängt, oder die Palette kommt
    über die Fördertechnik und löst einen der festen Scanner aus, der an einem anderen CP hängt.

    Das heisst also ich kann sowohl vom Handscanner, als auch vom Einlaufscanner etwas empfangen. Da aber beide an unterschiedlichen
    CP´s hängen bekomm ich doch ein Problem mit dem FB2, der ja in einem Moment nur auf einen CP parametriert werden kann.

    Oder versteh ich da was falsch?

    Gruß smartie

  9. #8
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

    Zitat Zitat von smartie Beitrag anzeigen
    Das heisst also ich kann sowohl vom Handscanner, als auch vom Einlaufscanner etwas empfangen. Da aber beide an unterschiedlichen
    CP´s hängen bekomm ich doch ein Problem mit dem FB2, der ja in einem Moment nur auf einen CP parametriert werden kann.

    Oder versteh ich da was falsch?

    Gruß smartie
    Du kannst den FB2 kopieren, so dass du für jeden CP einen eigenen FB und einen dazugehörigen Instanz-DB hast.

  10. #9
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Aber ist es so das FB und der dazgehörige InstanzDB immer gleich heissen müssen?

    Ganz am Anfang hatte ich aber glaube ich ein Problem als ich FB2 und FB 3 umbenennen wollte, irgendwie hat das nicht funktioniert.
    Vielleicht hab ich da was übersehen. Probiers morgen gleich noch mal aus.

    smartie

  11. #10
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von smartie Beitrag anzeigen
    Aber ist es so das FB und der dazgehörige InstanzDB immer gleich heissen müssen?
    Das müssen sie nicht, ist aber übersichtlicher.

    Zitat Zitat von smartie Beitrag anzeigen
    Ganz am Anfang hatte ich aber glaube ich ein Problem als ich FB2 und FB 3 umbenennen wollte, irgendwie hat das nicht funktioniert.
    Vielleicht hab ich da was übersehen. Probiers morgen gleich noch mal aus.

    smartie
    Also normal kann man einen Baustein kopieren und einfach einen neuen Namen vergeben z.B. FB2 --> FB12
    Der Instanz DB muss dann für den neuen FB12 neu generiert werden.

    EDIT: Den FB2 mehrmals aufrufen so wie bei jabbas Beispiel ist besser als das kopieren des FB.
    Geändert von Steve81 (23.08.2007 um 19:43 Uhr)

Ähnliche Themen

  1. CP340 ASCII Zeichen senden und empfangen
    Von Technikfreak im Forum Simatic
    Antworten: 44
    Letzter Beitrag: 25.09.2015, 17:15
  2. daten über PN senden und empfangen
    Von Servernexus im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 04.08.2011, 16:43
  3. ZPL-Daten via RS232 über SPS senden
    Von tigger im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.02.2010, 16:51
  4. Über DP/RS232 Link(Siemens) Daten senden
    Von -Andreas- im Forum Feldbusse
    Antworten: 2
    Letzter Beitrag: 23.07.2007, 10:50
  5. RS232 Daten senden/ empfangen /bearbeiten
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.04.2005, 08:31

Lesezeichen

Berechtigungen

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