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

Ergebnis 1 bis 8 von 8

Thema: S5 Ausgänge

  1. #1
    Registriert seit
    19.05.2011
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Ausrufezeichen


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen...

    Ich versuche eine 7. Segment Anzeige, bestehend aus LED´s, mit der S5 anzusteuern.
    Doch wenn ich im Programmablauf z.b zwei Funktionen für einen Ausgang verwende läuft nichts.
    Ich arbeite mich grad selber ein und habe noch nicht so vierl Erfahrung mit der S5.

    Hier noch ein beispiel:

    U E 1.0
    = A 2.0
    U E 1.1
    = A 2.0
    __________
    Selbst wenn ich diese noch gegeneinander verriegel z.b UN E x läuft es nicht.

    Ist das ev. eine sicherheits Ding von der SPS?

    Bräucht da dringend einen guten Rat. Sonst kann ich mein Projekt in die Tonne hauen.

    Danke!
    Zitieren Zitieren S5 Ausgänge  

  2. #2
    Registriert seit
    05.10.2005
    Beiträge
    2.373
    Danke
    321
    Erhielt 296 Danke für 266 Beiträge

    Standard

    Hallo,
    In deinem Beispiel
    Code:
    U  E  1.0
    =  A  2.0
    U  E  1.1
    =  A  2.0
    wird A2.0 nur 1 wenn E1.1 1 ist.

    Code:
    U E 1.0
    O E 1.1
    = A 2.0
    sollte deiner Vorstellung entsprechen.
    Die SPS Arbeitet das Programm seriell ab und liest am Anfang das Prozeßabbild der Eingänge und schreibt am Ende erst die Ausgänge

    Thomas


    Thomas

  3. #3
    JeremySky ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.05.2011
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ok etwas genau beschrieben.

    Ich habe timer laufen die jeweils nach einer sek einen andern Merker setzten.

    M1.0 1.sek
    M2.0 2.sek
    .
    u.s.w.
    Wenn M1.0 1 ist so sind die anderen aus. bei M2.0 ebenso... u.s.w

    7 Segmente = 7 Ausgänge = A1.0 / A1.1 ... A1.6

    Wenn eine Sekunde angezeigt werden soll sind zwei Ausgänge gesetzt

    U M 1.0 Anzeige 1
    = A 1.0
    = A 1.1
    ***

    U M 2.0 Anzeige 2
    = A 1.0
    = A 1.1
    = A 1.2
    = A 1.3
    = A 1.4
    ***

    Wobei die belegung der Ausgänge hier nicht stimmen. Denke nun sollte es verständlich sein was ich meine...

    Danke für die Hilfestellung

  4. #4
    Registriert seit
    05.10.2005
    Beiträge
    2.373
    Danke
    321
    Erhielt 296 Danke für 266 Beiträge

    Standard

    ... du musst deine Aufgabe mal "andersrum" sehen "Mit welchen Bedingungen soll der Ausgang geschalten werden?"

    Für dich würde es so aussehen:

    Code:
    U M 1.0       /Anzeige 1
    O M 2.0       /Anzeige 2
    O M 3.0       /Anzeige 3
    .
    .
    .
    = A 1.0       /Segment oben rechts
    
    ***
    
    U M 1.0     /Anzeige 1
    O M 3.0     /Anzeige 3
    .
    .
    .
    = A 1.1     /Segment unten rechts
    
    ***
    .
    .
    .
    immer die "letzte" Zuweisung auf einen Operanden ist ausschlaggebend, was die Hardware dann macht. Alle vorherigen Zuweisungen werden "überschrieben". Die SPS arbeitet das Prog von "oben" nach "unten" ab.

    Thomas

  5. #5
    Registriert seit
    08.10.2009
    Ort
    Südpfalz
    Beiträge
    273
    Danke
    43
    Erhielt 54 Danke für 47 Beiträge

    Standard

    Zitat Zitat von thomass5 Beitrag anzeigen

    Code:
    U E 1.0
    O E 1.1
    = A 2.0
    sollte deiner Vorstellung entsprechen.
    Die SPS Arbeitet das Programm seriell ab und liest am Anfang das Prozeßabbild der Eingänge und schreibt am Ende erst die Ausgänge
    Das ist schon der richtige Ansatz.

    Du solltest mal etwas umdenken und das Pferd von Hinten besteigen, sprich:
    von den Ausgängen her denken.
    Bei welcher Darstellung (Anzeige) muss welches Segment (welcher Ausgang) angesteuert werden?
    Ein Ausgang sollte nur 1x zugewiesen werden (Beispiel CODE).

    z.B.
    Code:
    U M1.0  // Zeige Ziffer 1
    O M2.0  // Zeige Ziffer 2
    O ...
    = A2.0  // Segment 1
    
    U M2.0  // Zeige Ziffer 2
    O M3.0  // Zeige Ziffer 3
    O ...
    = A2.1  // Segment 2
    
    usw
    Die Merker und Ausgänge sind natürlich frei erfunden.
    Ich hoffe, ich konnte dir weiterhelfen.

    Edit: Thomas war schneller

    Gruß Roland
    Geändert von Der Pfälzer (20.05.2011 um 02:33 Uhr) Grund: Edit
    Nicht Mensch, nicht Tier: Programmierer halt ...

  6. #6
    Registriert seit
    27.11.2006
    Ort
    Ostschweiz
    Beiträge
    528
    Danke
    43
    Erhielt 86 Danke für 77 Beiträge

    Standard

    anderer Ansatz,

    ich gehe mal davon aus, das die Einzelled's gesamt an einem Ausgangsbyte angeschlossen sind. Von daher würde es doch Sinn machen, die Ausgänge Byteweise anstelle von Bitweise zu beschreiben. 7 Segmente + Dezimalpunkt = 1Byte

    also z.B. (sorry, S5 ist soooo lange her, falls die Syntax nicht stimmt)

    L KB 7 (Lade Bytekonstante 7)
    T AB 0 (Transferiere in Ausgabsbyte 0)

    oder
    L KM 01011010 (Lade Bitmuster .....)
    T AB .....

    Viele 7-Segm. Anzeigen werden auch im BCD Code angesteuert, haben so 4 Anschlüsse (+ GND). So Kannst du 2 Anzeigen pro Byte ansteuern mit einer Hexkonstante. L KH 65 - T AB ....

    Ist doch viel einfacher, als da Bitweise die Ausgänge zu beschreiben

    gruss, o.s.t.
    Geändert von o.s.t. (20.05.2011 um 08:44 Uhr)

  7. #7
    Registriert seit
    08.10.2009
    Ort
    Südpfalz
    Beiträge
    273
    Danke
    43
    Erhielt 54 Danke für 47 Beiträge

    Standard

    Zitat Zitat von o.s.t. Beitrag anzeigen
    anderer Ansatz,

    ich gehe mal davon aus, das die Einzelled's gesamt an einem Ausgangsbyte angeschlossen sind. Von daher würde es doch Sinn machen, die Ausgänge Byteweise anstelle von Bitweise zu beschreiben. 7 Segmente + Dezimalpunkt = 1Byte
    Klar, ist die elegantere Lösung. Hätte ich auch SO gelöst.

    Ich wollte den TE bei dem (vermuteten) Wissensstand nicht überfordern und bei "seinem" Lösungsansatz bleiben bzw. das "Problem" mit den nichtfunktonierenden Ausgängen hinweisen.

    Nix für ungut, o.s.t.

    Gruß Roland
    Nicht Mensch, nicht Tier: Programmierer halt ...

  8. #8
    Registriert seit
    21.05.2011
    Ort
    sauerland
    Beiträge
    33
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe mal so was ähnliches gebastelt für einen Kumpel von mir, waren allerdings 5!! elemente die ich multiplexen musste. habe mir damals für jedes der zahlen das Byte auf einen schlag transferiert in das Prozessabbild.
    Das befehl welche zahl angezeigt werden musste habe ich als befehl welches byte ( aus einen DB ) geladen werden musste verwendet.
    Aber ich glaub das wir da in eine andere Liga spielen, folge den Pfälzer seinen Rat, und dann klappt es.
    Viel spass mit dein projekt.
    Geändert von fliegender holländer (21.05.2011 um 11:42 Uhr)

Ähnliche Themen

  1. Ein- u. Ausgänge visualisieren
    Von RoWi im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 22.02.2010, 20:10
  2. ein- bzw. ausgänge em 253
    Von Majus68 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 13.11.2009, 08:28
  3. Referenzdaten Ein-/Ausgänge
    Von wogle im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 23.09.2008, 09:11
  4. 313 Ausgänge
    Von mkrause im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 21.01.2008, 07:17
  5. PWM Ausgänge der CPU
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.04.2005, 19:01

Lesezeichen

Berechtigungen

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