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

Results 1 to 6 of 6

Thread: Mit TC3 eine Temperatureingangskarte 134-4JB50-0AB0 ET200S von Siemens einlesen

  1. #1
    Join Date
    24.09.2008
    Posts
    61
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,
    ich habe ziemlich lange herumgegrübelt, wie ich die Temperatur einer 134-4JB50-0AB0 ET200S 2-Kanal Temperatur Eingangs Karte auswerten kann.
    Unter S7 wird der Wert der Karte aufgelöst und kann direkt eingelesen werden, dabei ist der Wert das hundertfache der Temperatur.
    Wenn nun aber die Karte über eine EL6731 an Beckhoff angeschlossen wird ist der Wert nicht mehr in dieser Weise vorhanden.

    Anbei die Hardware:
    TempHW.JPG

    Ein Wert von 11.6°C schaut dann so aus:
    Temp1.JPG

    Der Trick bei der Sache ist, die Temperatur wird in Kaskaden von jeweils maximal ff Hex angezeigt.
    Beim Überlauf springt die Temperatur auf 0 und in die nächsthöhere Kaskade.
    Bei Unterlauf auf ff der nächstniederen Kaskade.
    Dabei sind die linken 8 bit die Temperatur und die rechten 8 bit die Kaskade in der die Temperatur gerade liegt.
    Um nun die Temperatur umzurechnen braucht man folgendes Vorgehen:
    Die Temperatur mit der Kaskadenzahl mal 255 addieren. Dieser Rohwert kann nun skaliert werden wie bei SIEMENS beschrieben.
    Im Klimabereich parametriert ergeben -14500.0 bis 15500.0 dann die Temperatur -145.0°C bis 155.0 °C

    Anbei der Code dazu mit Onlinewerten:
    Temp2.JPG

    Vielleicht konnte ich dem Einen oder Anderem helfen.
    Gruß
    Bernd
    Reply With Quote Reply With Quote Mit TC3 eine Temperatureingangskarte 134-4JB50-0AB0 ET200S von Siemens einlesen  

  2. #2
    Join Date
    24.02.2009
    Posts
    1,359
    Danke
    29
    Erhielt 310 Danke für 262 Beiträge

    Default

    Also in deiner Rechnung machst du eigentlich nicht anderes als das High-Byte mit dem Low-Byte zu vertauschen. Das ist normal, weil Siemens Wörter im Big-Endian speichert, während die meisten anderen Steuerungen das Little Endian Format nutzen.

    Wenn ich von deinem Rohwert aus der Peripherie die beiden Bytes vertausche, bekomme ich genau dein Ergebnis (-31484 - 1000 0101 0000 0100 wird zu 1157 - 0000 0100 1000 0101)
    Ich gehe davon aus, dass das der Wert ist den du brauchst 1157 -> 11,57°C und du nichts weiter skalieren musst.

    EDIT:

    High und Low Byte kannst du einfach mit dem Rollen-Befehl (ROL bzw ROR ) tauschen, indem du das Word einfach um 8 Bit rollst.
    Last edited by MasterOhh; 08.01.2020 at 09:32.
    Sänd from mei Kombjudder mitse Dastadurr.

  3. #3
    Join Date
    24.09.2008
    Posts
    61
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Default

    Hi,
    ich tausche nicht die Bytes sondern ich schiebe die um 8 bit raus damit ich einmal die Kaskade und das andere Mal die Temperatur bekomme.
    Das Gleiche könnte ich auch mit ausmaskieren machen.
    Wie gesagt der Wert läuft kaskadenweise hoch oder runter und somit passt dann das Ergebnis nicht wenn ich direkt umrechen.
    Last edited by blackhack; 08.01.2020 at 13:30.

  4. #4
    Join Date
    24.02.2009
    Posts
    1,359
    Danke
    29
    Erhielt 310 Danke für 262 Beiträge

    Default

    Wie kommst du denn auf die Berechnung mit den Kaskaden? In der Dokumentation der Klemme steht doch drin, dass sie den Messwert direkt ausgibt. (Seite 24 und 26). Nur die Byte-Reihenfolge muss für Beckhoff gedreht werden.

    Kleiner Tip. Im Reiter "Flags" der Online Anzeige des wertes (auf der Hardware Ebene) gibt es das Controllkästchen "Tausche LOBYTE und HIBYTE" aktiviere das mal und schau dir den Wert an. Er sollte dann der Temperatur des Sensors entsprechen.
    Sänd from mei Kombjudder mitse Dastadurr.

  5. #5
    Join Date
    20.01.2012
    Posts
    263
    Danke
    0
    Erhielt 79 Danke für 75 Beiträge

    Default

    Hallo,

    in Deinem Code ist ein Fehler drin. Für TempRohwert2 mußt Du mit 256 multiplizieren, nicht 255. Dann kommst Du dort auf 1157. Wenn Du Dir das mal in Hex ansiehst hast Du x0485. Der Eingangswert -31.484 ist x8504, und das ist wie MasterOhh schon geschrieben hat nur Low und High Byte vertauscht. Das machst Du mit Deiner Rechnung auch, nur etwas komplizierter.

    Gruß

  6. #6
    Join Date
    24.09.2008
    Posts
    61
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,
    ich habe nun mal direkt in der Parametrierung der Klemme High und Low Byte tauschen angewählt. Und welch Wunder der Wert passt zur Temperatur. Schaut so aus als hätte ich da etwas zu kompliziert gedacht
    Nun schaue ich mir das Ganze mal noch beim Nulldurchgang an wenn wir mal wieder Minusgrade haben.
    Wenn das dann auch passt dann gebe ich mich geschlagen

    Danke erstmal für eure Kommentare
    Gruß
    Bernd

Similar Threads

  1. Replies: 0
    Last Post: 14.05.2019, 21:58
  2. TIA PT100 mit 6ES7 134-4JB51-0AB0 einlesen Problem
    By dieterh in forum Simatic
    Replies: 4
    Last Post: 04.02.2018, 18:23
  3. Replies: 8
    Last Post: 15.06.2011, 18:09
  4. Et200S 6ES7 134 4JB01-0AB0
    By Eisabiagr in forum Simatic
    Replies: 1
    Last Post: 06.04.2011, 10:44
  5. ET200S 134-4GB11-0AB0 Dreileiter Technik
    By blackedition in forum Simatic
    Replies: 2
    Last Post: 20.10.2010, 12:27

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
  •