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

Ergebnis 1 bis 8 von 8

Thema: Anfängerfrage zum Programmablauf mit TCP-Messages

  1. #1
    Registriert seit
    26.03.2014
    Beiträge
    77
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich stelle mich gerade etwas doof an, ein paar Bool richtig zurückzusetzen. Vielleicht kann mir jemand dazu etwas Klarheit verschaffen.

    Folgendes Problem:

    Ich habe hier eine S7-1214 laufen und steuere damit in meinem Haus die Rollladen.
    Über die Taster in der Wohnung und die Signale an den Eingängen der S7 klappt das super.
    Ich möchte nun erweitern und TCP-Nachrichten senden, die wie ein Hardwaretaster kurz ein Bit auf 1 setzen und dann wieder zu einem bestimmten Zeitpunkt im Programm das Bit wieder auf 0 gesetzt wird.
    Das Programm sieht nun so aus, dass es im OB1 zwei Netzwerke gibt. Im ersten Netzwerk liegt ein FB, der die TCP-Nachrichten aufnimmt und auswertet und dementsprechend in einem Array BOOL Variablen auf 1 setzt.
    Das zweite Netzwerk im OB1 enthält den FB-Rollladen für die Rollladensteuerung. Dieser FB-Rollladen besteht aus 17 Einzelnetzwerken die jeweils immer einen FB-Motor für die Rollladen pro Fenster enthalten. Jeder dieser FB-Motor wartet auf eine Flanke am Eingang.

    Was ich nun nicht hinkriege, ist das nach einmaligen kompletten Durchlauf des FB-Rollladen das Array mit den Bool-Werten auf FALSE komplett gesetzt wird.
    Zurzeit setzt meine TCP-Auswertung zwar die Bits auf 1 aber wenn ich dann mit RESET_BF das Array zurücksetze passiert das zwar aber wohl zu früh, da die FB-Motor die Flanke noch nicht erkannt haben.

    Wie organisiere ich das also nun in der richtigen Reihenfolgen?

    Vielen Dank.

    Gruß kami
    Zitieren Zitieren Anfängerfrage zum Programmablauf mit TCP-Messages  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Wenn die Motor-FB wirklich eine Flanke erwarten um zu starten, dann reicht es normalerweise, dass du im letzen Netzwerk des FB-Rollladen alle Start-Bits auf False setzt.
    Wenn das zu früh ist, reagieren deine Einzel-FB nicht auf eine Flanke, sondern machen in ihem "Inneren" irgend eine andere Auswertung. Diese gilt es dann zu ändern. Der FB könnte sich das Startbit intern merken und dann seine Routinen abarbeiten, wenn er fertig ist, setzt er sein internes Startbit auf False, Ende.
    Eine weitere saubere Möglichkeit wäre, wenn die FB ein Quittbit (gestartet) zurückgeben. Mit diesem könnte man dann auch das Start-Bit löschen.
    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
    kami ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2014
    Beiträge
    77
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi,

    okay das sehe ich aber selber gerade nicht so in dem Ablauf. Habe ich da irgendwas übersehen. Habe ich da einen Fehler in meinen FBs?

    Gruß kami
    1.JPG2.JPG3.JPG4.JPG5.JPG

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.190
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Kann es sein, daß die Flankenauswertung (in dem FB-Motor?) nicht richtig programmiert ist und 2 Zyklen lang 1 braucht? Wie sieht das Programm aus?

    Ansonsten könntest Du das unbedingte komplette Rücksetzen des Arrays mit RESET_BF im TCP-Auswerte-FB vor der TCP-Auswertung und dem bedingten Setzen machen, dann ist garantiert, daß gesetzte Bits genau 1 Zyklus lang anstehen.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    kami ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2014
    Beiträge
    77
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi,

    habe mal dazu meinen FUP geuploadet. Bin mir nicht sicher ob das 2 Zyklen anstehen muss?

    Gruß kami

  6. #6
    kami ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2014
    Beiträge
    77
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi,

    keiner mehr einen Tipp? Könnte hier bei echt ein paar gute Ratschläge gebrauchen.

    Gruß kami

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Hallo,
    vielleicht solltest du den Denk-Ansatz ändern.
    Wenn du einen Ablauf hast dann solltest du das auch im Programm so nachbilden (Stichwort dazu : Schrittkette).
    So eine genannte Schrittkette könnte dann auch das Absenden von Nachrichten usw. zu einem bestimmten Zeitpunkt sicher stellen.

    Gruß
    Larry

  8. #8
    kami ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2014
    Beiträge
    77
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe nun ein bißchen angepasst. Folgenden Trick habe ich jetzt angewendet. Jeder FB kriegt den zwei BOOL zugeordnet mit denen er erkennt ob der der Rollladen hoch oder runterfahren soll. Wenn einer dieser BOOL gesetzt ist (Flankenauswertung) dann wird eine Einschaltverzögerung ausgelöst und der BOOL nach 50ms zurückgesetzt. Also im Endeffekt kommt die TCP Nachricht wie das Drücken der Taster (Hardwaremässig) rein und wird immer automatisch nach 50ms zurückgesetzt? Ist das so okay?

    Ich bin gerade auch am Überlegen wie gut oder nicht gut mein gesamter Quellcode ist und dementsprechend meine Auslastung der S7-1200. Ich bewege mich bei der Diagnose zur Zeit in Zykluszeit von 22-23ms Maximal 36ms ist das Okay? Muss ich irgendwo draufachten? Damit ich die CPU nicht überlaste oder am Limit fahre?

    Gruß kami

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 02.12.2013, 09:49
  2. Antworten: 5
    Letzter Beitrag: 23.07.2013, 15:02
  3. Anfängerfragen zum Programmablauf
    Von Casimyr im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.08.2011, 20:14
  4. Anfängerfrage zum System-Manager
    Von waba im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 25.07.2008, 23:37
  5. OP3 + ProTool + Event Messages
    Von Ridcully4475 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 17.01.2007, 10:04

Lesezeichen

Berechtigungen

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