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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 29

Thema: BCD - Winkelgeber an Eingangskarte auslesen

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Ich habe mal eine Frage auf die Machbarkeit folgender Aufgabenstellung:

    Ich habe einen Winkelgeber mit 360°. Dieser gibt den Winkel BCD codiert über 10 einzelne Leitungen weiter. Dabei gilt:
    Leitung 1 Bit 1 1x1
    Leitung 2 Bit 2 2x1
    Leitung 3 Bit 3 4x1
    Leitung 4 Bit 4 8x1
    Leitung 5 Bit 5 1x10
    ...
    Leitung 10 Bit 10 2x100

    Mein Gedanke ist nun diese zehn Leitungen jeweils auf einen Eingang zu legen (in der richtigen Reihenfolge natürlich) und dann per Merkerwort und Umwandlung von BCD in INT als Winkel anzeigen zu lassen. Dies sollte auch ohne Probleme Funktionieren. Was ich allerdings nicht weis ist ob der Eingang von ersten Bit schnell genug zum zählen ist. In meinem Fall benötigt der Winkelgeber für eine ganze Umdrehung 2s. Wenn ich mich jetzt nicht verrechnet habe ändert sich das Bit dann alle 5 ms. Als Eingangskarte habe ich eine 321-1BH02-0AA0 oder eine 321-1BL00-0AA0 zur Verfügung. CPU ist eine 315-2DP

    Was denkt ihr? Wird das funktionieren oder sind die Eingänge zu träge sodass nicht richtig ausgewertet werden kann.

    Danke schon mal an alle
    Zitieren Zitieren BCD - Winkelgeber an Eingangskarte auslesen  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    6.467
    Danke
    160
    Erhielt 1.945 Danke für 1.398 Beiträge

    Standard

    Wenn es dir nur um das Anzeigen lassen geht, sollte das nicht weiter stören. Denn den Wert wirst du vermutlich nirgends alle 5 ms aktualisiert angezeigt bekommen. Oder was verwendest du zur Darstellung des Wertes?
    Wenn du danach positionieren möchtest auf ein LSB genau, dann ist das etwas anderes. Wobei dann auch noch andere Dinge zum Tragen kommen.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  3. #3
    Registriert seit
    14.01.2015
    Beiträge
    3.532
    Danke
    817
    Erhielt 732 Danke für 561 Beiträge

    Standard

    Liefert denn der Winkelgeber einen 24V Pegel zurück ( viele liefern 5V )
    Mit Grüßen

    >> Wer nicht mit der Zeit geht, der geht mit der Zeit <<

  4. #4
    Cool-Ice ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.01.2019
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja der Winkelgeber liefert die Seine Eingangsspannung an die Ausgänge weiter.

  5. #5
    Registriert seit
    13.03.2007
    Ort
    Nürnberg
    Beiträge
    706
    Danke
    71
    Erhielt 65 Danke für 58 Beiträge

    Standard

    manche liefern auch GRAY-Code
    https://de.wikipedia.org/wiki/Gray-Code
    Kabelsalat ist Gesund
    (vom CCC abgekupfert)

    Prognosen sind schwierig,
    besonders wenn sie die Zukunft betreffen.
    (Ursprung nicht wirklich bekannt)



  6. #6
    Cool-Ice ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.01.2019
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hier ein Schaltbild:Screenshot_1.jpg

  7. #7
    Registriert seit
    13.03.2007
    Ort
    Nürnberg
    Beiträge
    706
    Danke
    71
    Erhielt 65 Danke für 58 Beiträge

    Standard

    > Was ich allerdings nicht weis ist ob der Eingang von ersten Bit schnell genug zum zählen ist.

    was du machen kannst ist:

    INT "gelesenen Winkelwert"
    INT "letzten gelesenen Winkelwert"
    LONG "gespeicherterWert"


    a) Winkelwert lesen und auf "gelesenen Winkelwert" schreiben
    b) Differenz zum "letzten gelesenen Winkelwert" bilden
    c) Differenz zum "gespeicherterWert" addieren
    d) "gelesenen Winkelwert" auf "letzten gelesenen Winkelwert" schreiben

    "gespeicherterWert" wäre deine Positiom

    bei c) musst du den Überlauf 0->360 in beide Richtungen beachten.
    und "Referenzieren" musst du auch.
    Kabelsalat ist Gesund
    (vom CCC abgekupfert)

    Prognosen sind schwierig,
    besonders wenn sie die Zukunft betreffen.
    (Ursprung nicht wirklich bekannt)



  8. #8
    Registriert seit
    23.10.2009
    Beiträge
    458
    Danke
    77
    Erhielt 133 Danke für 106 Beiträge

    Standard

    Es ist generell keine gute Idee, auf parallelen Schnittstellen Werte binär- oder BCD-Kodiert zu übertragen.
    Wenn man das unbedingt tun will, sollte man zusätzliche Maßnahmen gegen Übertragungsfehler treffen, weil die inkonsistente Übertragung der einzelnen Bits mit einer Wahrscheinlichkeit größer als Null zu Übertragungsfehlern bis zur Hälfte des Messbereichs führen wird. Die Hersteller des Gebers wissen schon, warum sie intern mit Gray-Kode arbeiten, dann ist der maximal mögliche Fehler durch Daten-Inkonsistenz ein LSB.
    Ich würde einen Geber mit Gray-Kode Schnittstelle benutzen und in der SPS umrechnen.
    Gruß
    Erich

  9. #9
    Registriert seit
    25.06.2017
    Ort
    Oerlinghausen
    Beiträge
    1.292
    Danke
    117
    Erhielt 227 Danke für 183 Beiträge

    Standard

    Zitat Zitat von Cool-Ice Beitrag anzeigen
    Ja der Winkelgeber liefert die Seine Eingangsspannung an die Ausgänge weiter.
    Laut Deinem Schaltbild liefern die Ausgänge keine Spannung weiter. Die NPN-(!)-Transistoren legen die Ausgänge auf GND.

    PS: zum referenzieren ist nix vorgesehen, lediglich die ZählRichtung kannst Du vorgeben.

    PPS: Was willst Du mit der WinkelAngabe machen? Nur anzeigen oder . . . ?

    Zitat Zitat von LargoD Beitrag anzeigen
    . . . Gray-Kode . . . , dann ist der maximal mögliche Fehler durch Daten-Inkonsistenz ein LSB.
    Für mein Verständnis gibt es beim GrayCode überhaupt keine DatenInkonsistenz.
    Geändert von Heinileini (04.01.2019 um 18:28 Uhr)

  10. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    13.250
    Danke
    1.077
    Erhielt 3.915 Danke für 3.159 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Cool-Ice Beitrag anzeigen
    Was ich allerdings nicht weis ist ob der Eingang von ersten Bit schnell genug zum zählen ist. In meinem Fall benötigt der Winkelgeber für eine ganze Umdrehung 2s. Wenn ich mich jetzt nicht verrechnet habe ändert sich das Bit dann alle 5 ms.
    Warum willst Du zählen? Der Encoder liefert doch schon den ganzen Positions-Zahlenwert. (Wenn Du Bit 1 zählst, mußt Du auch noch mindestens das Bit 2 und das Paritätsbit (Pin 11) auswerten um die Drehrichtung zu erkennen für Vorwärts-/Rückwärtszählen. Und Du brauchst einen Referenzpunkt.)
    Nicht nur der Eingang für das niedrigste Bit 1 muß schnell genug sein - alle verwendeten Eingänge müssen schnell genug sein, weil sich beim Drehen nicht nur das niedrigste Bit ändert, es können sich auch viele Bits gleichzeitig ändern, z.B. bei 199 --> 200
    Für die sichere Auswertung der Encoderposition während sich der Encoder dreht muß die Zykluszeit Deines SPS-Programms kürzer als die 1°-Drehzeit (ca. 5ms) sein. Oder die Eingänge müssen im auf 5ms eingestellten OB35 ausgewertet werden. Und es sollte das Paritätsbit (Pin 11) angeschlossen und mit ausgewertet werden (oder eine andere Plausibilitätskontrolle). Die Auswertung Deines Encoders mit Deiner Hardware ist theoretisch gerade so machbar.
    Welche CPU 315-2DP hast Du genau? 6ES6 315-2.......?

    Weil die Ausgänge des Encoders nach GND schalten (m-schaltend), mußt Du beim Anschluß an Deine p-schaltenden Eingangskarten jeweils einen Pull-up-Widerstand (ca 2 kOhm) vom Encoderausgang/SPS-Eingang nach +24V schalten (oder Optokoppler zwischenschalten).

    Ein Anschluß des Encoders an eine A/B-Zählerbaugruppe geht leider nicht wegen der BCD-Codierung (kein Unterschied zwischen 9->0 und 9->8).

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Spannungsabfall an Eingangskarte
    Von chriss95 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 16.08.2018, 10:49
  2. CodeSys (IndaLogic) Konvertierung Word to BCD und BCD to Word
    Von Tom1 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 10.11.2015, 13:07
  3. Step 7 Thermoelement Eingangskarte 2 Dezimalstellen
    Von Maggi im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 14.07.2013, 10:42
  4. S7 Analog Eingangskarte
    Von leonhandball im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 23.10.2012, 10:46
  5. Siemens Profibus-Winkelgeber auswerten - nur wie?
    Von Starflash78 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 13.03.2012, 08:56

Lesezeichen

Berechtigungen

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