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

Ergebnis 1 bis 4 von 4

Thema: Erweiterung eines Lauflichts

  1. #1
    Registriert seit
    24.07.2016
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo allerseits.

    Bin da kompletter Neuling und habe da mal eine Frage
    Ich muss ein Lauflicht mit einem Taster zum stoppen und starten basteln. 5 lichter sind angeschlossen.
    Wenn man den knopf gedrückt hällt soll das Lauflicht laufen und wenn man es loslässt soll es an der Stelle blinken. Beim erneuten einschalten soll es seine Arbeit von genau der Stelle aus weitermachen.

    Soweit so gut, Signal und einen cpu timer Positiv flanken, auf ein Merkerbit schieben.
    Zähler aufbauen und durch das Merkerbit starten.
    Sprungleiste aufbauen und bei den jeweiligen Sprungpunkten
    exklusiv entweder Taster = Ausgang
    exklusiv nicht Taster und Timer = Ausgang blinkend

    das funzt soweit

    jetzt soll ich das ganze aber erweitern, wenn ein Ausgang schon mal geblinkt hat soll er bei der nächsten Runde aussetzen usw bis keiner mehr angesteuert wird.
    also erst 5 Lauflicht mit Blinkern
    nachm Stopp 4 Lauflicht mit Blinkern usw.
    er soll sich auch noch merken welches da nicht mehr mitblinken darf
    nachdem alle nicht mehr blinken soll das ganze von vorne losgehen.

    So und da stehe ich ein wenig aufm Schlauch. Ich komme irgendwie auf keinen vernünftigen Ansatz..
    kann man das ganze überhaupt erweitern oder muss ich da was neues aufbauen? Sind Loops die Lösung oder muss ich da den jeweiligen Blinkern nen Merker setzen und da irgendwie weiterarbeiten??
    Wild durch die Gegend springen?

    Hat da wer mal ne Hilfestellung?
    Das ganze passiert auf simatic s7 und soll in AWL geschrieben werden.

    Danke schon mal
    Zitieren Zitieren Erweiterung eines Lauflichts  

  2. #2
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.570
    Danke
    755
    Erhielt 637 Danke für 485 Beiträge

    Standard

    Da es nur so wenige Leuchten sind könntest du das mit einem Loop und zwei Wörtern machen.
    In einem Wort setzt du das Bit zum leuchten bzw. blinken.
    Im zweiten Wort setzt du das Bit um zu speichern dass diese Leuchte schon geblinkt hat.

    Mit dem Loop gehst du jetzt bit für bit beider Worte durch und schaust ob im wort zwei grad das entsprechende Bit schon geblinkt hat. wenn nicht lass es leuchten bzw blinken je nachdem in welchem Status du bist.

    Du könntest auch ohne Loop arbeiten und die Wörter durchrotieren (stichwort RLD/RRD). Und dann immer von beiden Wörtern das 0te Bit anschauen vergleichen und ansteuern.

    Das dürfte auch so ne typische Aufgabe für einen Loop im Zusammenspiel mit Pointer und einem array of struct sein. Wenn du dann ganz krass und gewieft rüberkommen willst.

    Du könntest also für eine Leuchte eine Struktur oder UDT definieren wo drin steht
    Ein : bool
    hat_geblinkt : bool
    Betriebsstunden : DINT // so als beispiel das dann dem Erweitern nahezu keine Grenzen gesetzt sind.
    Rot_anteil : byte // Man könnte dann z.B. auch gleich RGB Leds bedienen.
    gruen_anteil : byte
    blau_anteil : byte

    mfG René

  3. #3
    sRobert ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.07.2016
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    danke schön, ich probier mal ein wenig

  4. #4
    sRobert ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.07.2016
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ok Problem gelöst. Danke nochmal René. Das was du vorgschlagen hast klingt super aber bei meiner Umsetzung hapert es noch, muss mich da mal genau einlesen, die Wortüberprüfung wirft noch ein paar ?? bei mir auf.

    Warsch unschöner aber trotzdem wirksam.
    Bit beim Blinker setzen
    Bit und negierter Blinker verhindert ausführen des jeweiligen Sprungschrittes
    Wenn sich alle Bits, also von jedem Licht eins angesammelt haben dann über ein Signal resetten
    Dann geht der spass von vorne los.

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 24.04.2016, 19:33
  2. Rack Erweiterung
    Von Werner_2 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 01.03.2012, 13:58
  3. Erweiterung Instanz-DB´s
    Von momo99 im Forum Programmierstrategien
    Antworten: 14
    Letzter Beitrag: 12.04.2009, 22:07
  4. Erweiterung Sicherheitskreise
    Von INST im Forum Schaltschrankbau
    Antworten: 3
    Letzter Beitrag: 14.10.2007, 16:59
  5. EU-Erweiterung
    Von EWS im Forum Stammtisch
    Antworten: 3
    Letzter Beitrag: 04.05.2004, 19:03

Lesezeichen

Berechtigungen

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