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.370
    Danke
    157
    Erhielt 1.914 Danke für 1.379 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.238
    Danke
    765
    Erhielt 651 Danke für 514 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 <<
    >> Ob der Tacho richtig geht siehst du wenn das Licht angeht <<

  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
    683
    Danke
    71
    Erhielt 63 Danke für 56 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
    683
    Danke
    71
    Erhielt 63 Danke für 56 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
    453
    Danke
    74
    Erhielt 132 Danke für 105 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.111
    Danke
    93
    Erhielt 186 Danke für 157 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 19:28 Uhr)

  10. #10
    Registriert seit
    23.06.2009
    Ort
    Sassnitz
    Beiträge
    12.891
    Danke
    1.056
    Erhielt 3.809 Danke für 3.074 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, 11: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, 14:07
  3. Step 7 Thermoelement Eingangskarte 2 Dezimalstellen
    Von Maggi im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 14.07.2013, 11:42
  4. S7 Analog Eingangskarte
    Von leonhandball im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 23.10.2012, 11:46
  5. Siemens Profibus-Winkelgeber auswerten - nur wie?
    Von Starflash78 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 13.03.2012, 09:56

Lesezeichen

Berechtigungen

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