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

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

Thema: Texte auf externes Display ausgeben

  1. #1
    Registriert seit
    27.04.2010
    Beiträge
    26
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo allerseits,

    ich habe mal eine Frage zur Programmierung.

    Und zwar möchte ich Fehlermeldungen auf ein Display von einer Funkfernbedienung anzeigen lassen.
    Momentan ist es im Programm so, dass die Fehler im Merkerbereich 100 bis 120 definiert werden.

    Das Display nutzt insgesamt 5 Ausgangsbytes zur Anzeige. Mit jedem AB habe ich einen Wertebereich von 0-255.
    Somit kann ich jeweils pro AB 256 Fehlermeldungen am Display ausgeben.

    Wie kann ich das nun am besten realisieren? Wenn zB. M100.0 „high“ ist, habe ich im MB100 die Wertigkeit 1, transferiert nach AB1 würde mir somit Meldetext Nr. 1 angezeigt werden.
    Wenn nun aber M100.0 und M100.1 „high“ sind, bekomme ich die Wertigkeit 3 und diese bringt mir dann den Meldetext Nr. 3 zur Anzeige, statt wie gewünscht Nr. 1 und Nr. 2, die ich auch gerne durch Tastendrücke „durchtickern“ wollen würde, da ich nur 2 Zeilen pro Meldung nutzen möchte.

    Meine Frage ist, hast jemand hier so was ähnliches schon mal programmiert? Evtl. ne Idee für mich, dass zu realisieren? Mit einer Maskierung vielleicht?
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Texte auf externes Display ausgeben  

  2. #2
    Registriert seit
    30.08.2003
    Beiträge
    2.197
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo,

    mit ner Schleife den Bereich abscannen, Bits zählen und fürs Scrollen Vergleich mit der gewünschten Anzahl und Ausgabe des "Index".

    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....

  3. #3
    Registriert seit
    13.04.2008
    Ort
    Großraum KA
    Beiträge
    963
    Danke
    52
    Erhielt 128 Danke für 112 Beiträge

    Standard

    u m100.0
    l 1
    spb n1
    u m100.1
    l 2
    spb n2

    .
    .
    .

    n1: T db:Fehlerwort

    dh. bitweises durchsuchen und rausspringen wenn der erste Fehler gefunden wird. Geht natürlich auch als Schleife.

    peter(R)
    The difference between theory and practice in practice is bigger than
    the difference between theory and practice in theory.

  4. #4
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.583
    Danke
    63
    Erhielt 261 Danke für 221 Beiträge

    Standard

    Mit dieser Lösung würde aber nur der erste Treffer ausgegeben. Der TE möchte auf Tastendruck o.ä. ggf. weitere Meldungen anzeigen.

    Eine mögliche Lösung wäre mit jedem SPS-Zyklus bedingt 1 Bit weiterzuspringen. Ist das Bit aus, wird der Index erhöht. Ist das Bit an, bleibt der Index "eingefroren", bis eine Taste gedrückt wurde. Ggf. bietet es sich an, die Anzeige an eine Zeit zu koppeln und die Texte nacheinander anzuzeigen.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  5. #5
    drudge ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    27.04.2010
    Beiträge
    26
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi.

    Danke erst mal für eure Bemühungen.

    Also mein erstes Problem ist ja, dass die Auswertung nicht bitweise sondern als INT Wert erfolgt.
    Darum kann ja jedes AB immer nur einen Wert haben.

    Somit müsste ich nun jedem Merker einen Wert zuordnen:

    M100.0 high --> ABx = 0 (Anzeige Text Nr. 1)
    M100.1 high --> ABx = 1 (Anzeige Text Nr. 2)
    .
    .
    .
    M120.0 high à ABx = 140 (Anzeige Text Nr. 141)
    .
    .
    .

    Usw.

    Damit würde ich aber wie gesagt nur eine Meldung pro AB anzeigen können.

    Ne Überlegung wäre, die Werte der verschiedenen Merker, zB. M102.0 high = Wert 14 usw. in einen Puffer zu schreiben und diese Werte mit einem Pointer anzeigen zu lassen. Bei einem Tastendruck springt er immer zum nächsten Merker, der einen Wert größer 0 hat, weiter.

    Was haltet ihr von der Idee? Wäre das sehr aufwändig zu programmieren?
    Bin grade dabei, mich etwas mit indirekter Adressierung zu beschäftigen. Habe das selbst bisher noch nie angewandt.

  6. #6
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.628
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Zitat Zitat von drudge Beitrag anzeigen
    Ne Überlegung wäre, die Werte der verschiedenen Merker, zB. M102.0 high = Wert 14 usw. in einen Puffer zu schreiben und diese Werte mit einem Pointer anzeigen zu lassen. Bei einem Tastendruck springt er immer zum nächsten Merker, der einen Wert größer 0 hat, weiter.
    Es gibt einen fertigen FIFO-Baustein, den Du als Grundlage für so etwas verwenden könntest. Dann kannst Du auch ohne Pointer arbeiten.
    Gruß
    Michael

  7. #7
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.628
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Da das ruhig alle wissen dürfen:
    Der betreffende Baustein mit dem Namen FIFO TABLE liegt in der Standard Library im Unterordner TI-S7 Converting Blocks.
    Gruß
    Michael

  8. Folgender Benutzer sagt Danke zu M-Ott für den nützlichen Beitrag:

    drudge (01.03.2013)

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

    Standard

    Zitat Zitat von M-Ott Beitrag anzeigen
    Es gibt einen fertigen FIFO-Baustein, den Du als Grundlage für so etwas verwenden könntest. Dann kannst Du auch ohne Pointer arbeiten.
    Normalerweise braucht er so etwas nicht.
    Wenn er, wie André schon schrieb, die Bits durchzählt und an Hand der Zählung die Fehlernummern weiß, kann er einfach bei jedem True eines Bits in der Zählung "anhalten", den Text ausgeben und erst mit der Zählung fortfahren, wenn eine entprechende Taste am OP betätigt wird, da braucht es keinen FIFO. Der muß sonst auch immer aktualisiert werden, was einen gewissen Aufwand mit sich bringt.
    Zum Durchzählen der Bits gibt es einige Ansätze hier im Forum, wäre mal unter "Bits zählen" zu suchen. Gut wäre es für ein einfaches Durchzählen der Bits, wenn die Fehlerbits auch die richtige Reihenfolge hätten, so dass beim Zählen auch das 76. Bit die Fehlernummer 76 hat, das kann man ja festlegen (Bytereihenfolge in DBD, 32 Bit, beachten). Gute Dienste leisten dabei Befehle wie rechts oder links Rollen, man kann auch die Schiebebefehle nutzen.

    Hier gibt es sogar ein gutes Beispiel von Kai: http://www.sps-forum.de/showthread.p...=Anzahl%20Bits

    Da werden zwar Bits gezählt, aber das kann man entsprechend umschreiben. Mit dem Anhalten wird das dort etwas schwieriger, aber über einen Zeiger, der beim Wiedereinsprung, den Start der Suche vorgibt, kann man das durchaus lösen.
    Geändert von Ralle (01.03.2013 um 13:19 Uhr)
    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

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

    drudge (01.03.2013)

  11. #9
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.628
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    @Ralle
    Stimmt, war ein Denkfehler von mir.
    Gruß
    Michael

  12. #10
    drudge ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    27.04.2010
    Beiträge
    26
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank.
    Dann werde ich mal weiter die Forums-Suche quälen... ^^

    Für weitere Tipps oder Anregungen bin ich sehr dankbar.

Ähnliche Themen

  1. Zählerwert auf TD17 ausgeben
    Von stalli im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 08.11.2012, 23:30
  2. Antworten: 30
    Letzter Beitrag: 13.11.2008, 20:03
  3. Analog 0-10V auf Anzeige ausgeben?
    Von wlli99 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 26.06.2008, 12:34
  4. WINCCFLEX und Texte auf Panel Speichern
    Von Waelder im Forum HMI
    Antworten: 4
    Letzter Beitrag: 16.08.2006, 12:10
  5. Datenbaustein auf externes Datei-File schreiben
    Von Joe.Baer im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 30.05.2005, 15:13

Lesezeichen

Berechtigungen

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