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

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

Thema: BCD Codierschalter abfragen und auswerten

  1. #1
    Registriert seit
    16.09.2014
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    Ich habe folgendes Problem:
    Ich würde gerne mit 3 BCD Codierschaltern (0-9) also einen Wert 0 - 999 mit einer S5 100 U abfragen und verarbeiten.
    Das bedeutet das ich 4 Eingänge pro BCD Codierschalter benötige für die Ausgabe der Zahlen 0-9.
    Nun habe ich einen hydraulischen Zylinder der einen Schlitten bewegt und mittels einer Art Gewindestange und einem A/B Drehgeber ausgewertet wird.
    Nach einer Anzahl von A/B Signalen "X" wurde der Schlitten z.B. 5mm bewegt.
    Nun möchte ich mit meinen 3 Codierschaltern z.B. die Zahl 365 eingeben.
    Nun soll der Schlitten 365mm weitergeschoben werden.
    Müsste ich nun zur Realisierung 999 Netzwerke im Programm machen, in denen ich jeweils den Ausgangswert der Codierschalter z.B. 365 sowie die Anzahl der A/B Impulse mittels eines Vergleichers abfrage ?

    Ich hoffe ihr könnt euch in Etwa vorstellen was ich meine
    Zitieren Zitieren BCD Codierschalter abfragen und auswerten  

  2. #2
    Registriert seit
    24.10.2007
    Ort
    Niederlande
    Beiträge
    677
    Danke
    22
    Erhielt 144 Danke für 136 Beiträge

    Standard

    Welche 100U cpu brauchen Sie? Die 100 und ich meine auch die 102 brauchen keine FB's. In ein FC konte sie nicht alle instukties brauchen, ich must nach die tabele suchen was in ein 100 muchlich ist. Aber bei die BCD schalter muste sie fur ein vergleich zu machen erst de BCD wert unzetsen nach ein DUAL wert (KF format in S5). Das ist mit ein Zahler zu machen. (Zahler setsen mit BCD wert und DUAL wert aus die Zahler lesen).
    Mit KF werte kunte Sie vergeleichen machen und daarmit auswerken of die zylinder must ausfahren, einfahren, oder auf positie ist.

    Joop

  3. #3
    Registriert seit
    17.06.2003
    Beiträge
    1.275
    Danke
    482
    Erhielt 66 Danke für 58 Beiträge

    Standard

    Ich würde die 1er, 10er und 100er Stelle auswerten (max pro Schalter 10 NW, also 30 NW).

    (ok, hatte nicht bis zu Ende gelesen, dachte nur an die Auswertung der Schalter)
    Geändert von Rudi (06.11.2014 um 17:46 Uhr)

  4. #4
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.539
    Danke
    1.153
    Erhielt 1.254 Danke für 983 Beiträge

    Standard

    @Masterwork:

    Verrat uns doch mal 2 Dinge:
    Welche CPU hast du?
    Wie kommen die Inkrementalgeber-Signale in die Steuerung?

    Mit einer CPU103 und einer entsprechenden Zählerbaugruppe oder mit einer passenden 95U ist das alles realisierbar.
    Da ist die meiste Arbeit noch das finden der Handbücher bei Siemens.
    Wenn du nur eine CPU100 hast, dann sieht das ganz anders aus.

    Gruß
    Dieter

  5. #5
    Masterwork ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.09.2014
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Dieter,

    Ja ich verwende eine CPU 103, Zählerbaugruppen habe ich jedoch nicht.
    Die BCD Schalter sind direkt auf die Digitalen Eingänge geschaltet.

    Die Inkrementalgeber Signale werden auch von 2 Digitalen Eingängen erfasst.

    Gruß
    Michael

  6. #6
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Zitat Zitat von Masterwork Beitrag anzeigen
    Hallo Leute,
    Müsste ich nun zur Realisierung 999 Netzwerke im Programm machen, in denen ich jeweils den Ausgangswert der Codierschalter z.B. 365 sowie die Anzahl der A/B Impulse mittels eines Vergleichers abfrage ?
    Na das wär mal was...

    Ich denke da gibt es ein paar einfachere Optionen, ich hab zwar nix mit S5 am Hut, aber ich hätte da ein paar Varianten.

    Je nachdem wie die Eingänge der BCD-Schalter liegen, (Optimal ist zum Beispiel Wenn die höherwertigen 2 BCD Schalter auf einem Eingangsbyte liegen und der 3te - Die 4 Eingänge als Paket - im nächsten.
    Wenn du Eingänge durcheinander sind könntest du diese auf Merker umschichten.
    Code:
    //Annahme Hunderter-BCD auf E0.4 bis 0.7 
    L EB0  //Eingansbyte 0
    SRW 4 //Um 4 Bit nach rechts verschoben
    L K100 //mit 100 multipliziert
    *I
    T MW100 //Auf ein Merkerbyte geparkt
    
    //Annahme Zehner-BCD auf E0.0 bis 0.3 
    L EB0  //Eingansbyte 0
    L K15 //Lade Konstante 15
    UW //Logisch und (Die oberen 4 Byte ausmaskiert
    L 10 //mit 10 multipliziert
    *I
    T MW102 //Auf ein Merkerbyte geparkt
    
    
    //Annahme Einer-BCD auf E1.0 bis 1.3 
    L EB1  //Eingansbyte 0
    L K15 //Lade Konstante 15
    UW //Logisch und (Die oberen 4 Byte ausmaskiert
    T MW104 //Auf ein Merkerbyte geparkt
    
    //Jetzt einfach Wert ausrechnen
    L MW100
    L MW102
    +I
    L MW104
    +I
     T MW106 //Fertiger Wert
    Das hier sind natürlich keine originalen S5-AWL-Befehle (kenn ich nicht gut genug) aber sollte dem doch nahe kommen. Kannst du damit schon was anfangen?

    Variante 2: Man addiert für jedes gesetzte Bit im BCD-Teil die jeweilig Wertigkeit...
    Bit 0 gesetzt - Wert + 1
    Bit 1 gesetzt - Wert + 2
    Bit 2 gesetzt - Wert + 4
    Bit 3 gesetzt - Wert + 8

    Variante 3: Man arrangiert alle 3 BCD-Schalter so dass sie innerhalb eines Wortes liegen, und verwendet die BTI-Konvertierungsfunktion (BCD-to-Integer).

    Das sind die 3 Varianten die mir auf die schnelle einfallen, wie genau man diese jetzt in S5 umsetzt...
    Ich schätzte das hier aber ein paar Jungs sind, die ihre Hände schon direkt an ner S5 hatten, die kennen sicher noch bessere Varianten.
    Geändert von RONIN (22.11.2014 um 16:14 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    @Ronin:
    Dein Programm-Vorschlag käme der S5-Realität tatsächlich schon ziemlich nahe. Leider kann die 95U m.W. nicht selber multiplizieren - man bräuchte dafür System-FB's (deren genaue Beschaltung ich nicht mehr kenne).

    Zu der BCD->Integer-Variante weiß ich gerade nichts - ich vermute aber, dass es auch dafür einen System-FB gab.

    Deine Variante 2 wäre für den TE wahrscheinlich am Ehesten umsetzbar ...

    Gruß
    Larry

  8. #8
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    @Ronin:
    Leider kann die 95U m.W. nicht selber multiplizieren - man bräuchte dafür System-FB's
    Da sieht man mal wieder wie verwöhnt wir heutzutage sind..

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Zu der BCD->Integer-Variante weiß ich gerade nichts - ich vermute aber, dass es auch dafür einen System-FB gab.
    Scheint so... es gibt wenn man die Forensuche bemüht doch einige Beiträge dazu. Allerdings erst ab CPU102
    Zitat Zitat von bennzi Beitrag anzeigen
    9.2.1 Codewandler : B4 - FB240 -
    Mit diesem Funktionsbaustein läßt sich eine BCD-Zahl (4 Tetraden) mit Vorzeichen in eine Festpunkt-
    Dualzahl (16 Bits) umwandeln.
    2 Tetraden-Zahlen müssen vor der Umwandlung in eine 4 Tetraden-Zahl transferiert werden.
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Deine Variante 2 wäre für den TE wahrscheinlich am Ehesten umsetzbar ...
    Wahrscheinlich, multiplizieren muss man aber trotzdem...
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  9. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Nee ... da bräuchte man ja nur addieren (und ein bißchen bedingt springen).

  10. #10
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Könnte man nich auch einen Zähler nehmen, hatte der unter S5 nicht auch einen BCD Eingang?

Ähnliche Themen

  1. Codierschalter mit TIA 10.5
    Von climby im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 28.09.2011, 19:41
  2. Codierschalter mit BCD Code
    Von climby im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 22.09.2011, 20:14
  3. DP und PN Fehler auswerten
    Von merlin im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 04.04.2011, 12:31
  4. BCD-Eingabe und 7-Segment Anzeige für Codesys Visu
    Von Beginner09 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 06.01.2011, 14:33
  5. Antworten: 24
    Letzter Beitrag: 05.09.2008, 14:01

Stichworte

Lesezeichen

Berechtigungen

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