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

Page 1 of 3 123 LastLast
Results 1 to 10 of 29

Thread: BCD - Winkelgeber an Eingangskarte auslesen

  1. #1
    Join Date
    04.01.2019
    Posts
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default


    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
    Reply With Quote Reply With Quote BCD - Winkelgeber an Eingangskarte auslesen  

  2. #2
    Join Date
    29.03.2004
    Posts
    6,574
    Danke
    161
    Erhielt 1,997 Danke für 1,419 Beiträge

    Default

    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
    Join Date
    14.01.2015
    Posts
    3,854
    Danke
    885
    Erhielt 826 Danke für 620 Beiträge

    Default

    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 is offline Neuer Benutzer
    Themenstarter
    Join Date
    04.01.2019
    Posts
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

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

  5. #5
    Join Date
    13.03.2007
    Location
    Nürnberg
    Posts
    724
    Danke
    71
    Erhielt 68 Danke für 60 Beiträge

    Default

    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 is offline Neuer Benutzer
    Themenstarter
    Join Date
    04.01.2019
    Posts
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    Hier ein Schaltbild:Screenshot_1.jpg

  7. #7
    Join Date
    13.03.2007
    Location
    Nürnberg
    Posts
    724
    Danke
    71
    Erhielt 68 Danke für 60 Beiträge

    Default

    > 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
    Join Date
    23.10.2009
    Posts
    467
    Danke
    79
    Erhielt 135 Danke für 108 Beiträge

    Default

    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
    Join Date
    25.06.2017
    Location
    Oerlinghausen
    Posts
    1,490
    Danke
    133
    Erhielt 273 Danke für 220 Beiträge

    Default

    Quote Originally Posted by Cool-Ice View Post
    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 . . . ?

    Quote Originally Posted by LargoD View Post
    . . . 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.
    Last edited by Heinileini; 04.01.2019 at 18:28.

  10. #10
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,604
    Danke
    1,094
    Erhielt 4,022 Danke für 3,250 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Cool-Ice View Post
    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

Similar Threads

  1. Spannungsabfall an Eingangskarte
    By chriss95 in forum CODESYS und IEC61131
    Replies: 4
    Last Post: 16.08.2018, 10:49
  2. Replies: 4
    Last Post: 10.11.2015, 13:07
  3. Step 7 Thermoelement Eingangskarte 2 Dezimalstellen
    By Maggi in forum Simatic
    Replies: 10
    Last Post: 14.07.2013, 10:42
  4. S7 Analog Eingangskarte
    By leonhandball in forum Simatic
    Replies: 12
    Last Post: 23.10.2012, 10:46
  5. Siemens Profibus-Winkelgeber auswerten - nur wie?
    By Starflash78 in forum Simatic
    Replies: 6
    Last Post: 13.03.2012, 08:56

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •