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

Ergebnis 1 bis 9 von 9

Thema: Temperatur einlesen

  1. #1
    Registriert seit
    17.01.2011
    Beiträge
    88
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo leute,
    ich hab grade irgendwie nen hänger. ich will eine temperatur einlesen. ist nur ne simulation, da es sich um eine demonstration handelt. ich benutze simatic manager und visu(mhj). ich hab bei mhj ganz normal pew 30-12bit-messbereich pt 100 eingestellt.
    im hw von simatic habe ich 6es7331-7kf00-0ab0 baugruppe.
    auch auf pt 100 eingestellt. so ich lade ganz normal das pew und im positiven temperatur bereich funktioniert auch alles, aber sobald ich in den negativen bereich gehe, zb -5 grad, krieg ich 64000 digits, als anzeige. kann mir mal bitte jemand helfen steh grade voll aufm schlauch....
    danke
    Zitieren Zitieren Temperatur einlesen  

  2. #2
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    das höchste bit stellt das vorzeichen dar.
    daher ist es wichtig bei den variablentypen
    den korrekten typ für die anzeige zu wählen:

    sign => mit vorzeichen, also auch negativ

    unsign => ohne vorzeichen, nur positiv

    bei dir dürfte unsign gewählt sein, dann wird eine
    negative zahl (byte, word, doppelwort) als
    hohe zahl dargestellt.

  3. #3
    Registriert seit
    17.01.2011
    Beiträge
    88
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard

    sign => mit vorzeichen, also auch negativ

    unsign => ohne vorzeichen, nur positiv
    hey ganz ehrlich, auch wenns sich voll dumm anhört....sowas hab ich noch nie eingestellt...wo???? normalerweise konfiguriere ich meine hw, dann lese ich meine bit, bytes (temp - pt100)- ein und fertig.

    ich hab zum bleistift kühlraumtemperaturen eingelesen :

    L PEW 4 (zb)
    t # (in den zwischenspeicher)
    l # (vom zwischenspeicher)
    //ausgleich
    +17

    *r, - 10, usw......

    usw...okay stimmt von den einheiten nicht ganz....aber hä????

  4. #4
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.735
    Danke
    321
    Erhielt 1.523 Danke für 1.283 Beiträge

    Standard

    Das stellst du da ein, wo du die Sache anzeigen willst ...

    -5 Grad, sind bei Standardbereich -50, d.h. unsigned dann 65486.

    Das ist also nur eine Frage wie das Anzeigemedium die 16Bit interpretiert.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  5. #5
    Registriert seit
    17.01.2011
    Beiträge
    88
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard

    also ok , in fup kann man den minusbereich darstellen und in awl nicht.
    wenn ich mir die ladeoption vom dem eingangswort in fup anschaue geht es, in awl
    zeigt er dann halt das minus nicht an....bzw. die 65000
    ok danke
    Geändert von chipset (04.04.2011 um 16:02 Uhr)

  6. #6
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.621
    Danke
    777
    Erhielt 649 Danke für 494 Beiträge

    Standard

    Zitat Zitat von chipset Beitrag anzeigen
    d.h. ich seh die korrekte temparatur erst im op, beim einlesen im simatic wird sie dann immer falsch ang

    ezeigt oder?
    Genau so.
    Da du ein Wort einliest. Wortzugriffe haben keine Vorzeichen.

    du kannst es aber in Integer wandeln, Integer haben wiederum Vorzeichen. Das wird dir dann auch im AWL wieder richtig angezeigt.

    Allerdings ignoriert die Anzeige in AWL den Datentyp wenn du
    Code:
    L EW 
    T #INT
    verwendest.

    Wenn du das allerdings in einem SCL FC machst und der Ausgang des FCs als INT deklariert ist stimmt die Anzeige im AWL wieder (In SCL musst du auch wandeln sonst übersetzt er nicht in AWL musst du nicht wandeln der Inhalt stimmt trotzdem) ^^

    Code:
    VAR_IN_OUT
    EING : WORD ;
    AUSG_INT : INT ; 
    END_VAR
    
    BEGIN
    AUSG_INT:= WORD_TO_INT(EING);
    END_FUNCTION
    Beide Varianten haben keinen Einfluss auf den effektiven Inhalt des Speichers.

    Siemens halt
    Geändert von vollmi (04.04.2011 um 16:26 Uhr)

  7. Folgender Benutzer sagt Danke zu vollmi für den nützlichen Beitrag:

    chipset (04.04.2011)

  8. #7
    Registriert seit
    17.01.2011
    Beiträge
    88
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Siemens halt
    dem kann ich nur zustimmen....danke für die antworten

    Code:
     
    l pew#
    ITD
    DTR
    ...
    so gehts
    Geändert von chipset (04.04.2011 um 17:35 Uhr)

  9. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.204
    Danke
    926
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Zitat Zitat von vollmi Beitrag anzeigen
    Siemens halt
    Ich sehe das nicht als Siemens-Problem sondern eher als ein Problem mangelnden Grundwissens.

    Beim Beobachten eines AWL-Programms wird der Inhalt des gesamten Akku1 datentypunabhängig angezeigt. Der Akku hat 32 Bit. Wenn man einen 16-Bit-Wert lädt, dann wird er nur in die unteren 16 Bit des Akku geladen und die oberen 16 Bit werden immer auf 0 gesetzt (in der Step7-Hilfe nachzulesen). Wenn man beim AWL-Beobachten negative 16-Bit-INT-Werte als negativ angezeigt haben will, dann muß man den Wert mit ITD korrekt auf die Größe des Akku erweitern. Negativ werden Werte nur angezeigt, wenn das höchste Akku-Bit 31 auf 1 gesetzt ist. Die Anzeige ist so also völlig korrekt.

    Das Ganze ist doch nur ein Darstellungsproblem. Beobachtet man 16-Bit-Werte in einer VAT als Dezimal, dann sieht man auch die negativen Werte so wie erwartest. In FUP ist die Beobachten-Anzeige deshalb richtig, weil die FUP-Operation (anders als in AWL) weiß, mit welchem Datentyp sie arbeitet.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #9
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.621
    Danke
    777
    Erhielt 649 Danke für 494 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von PN/DP Beitrag anzeigen
    Das Ganze ist doch nur ein Darstellungsproblem. Beobachtet man 16-Bit-Werte in einer VAT als Dezimal, dann sieht man auch die negativen Werte so wie erwartest. In FUP ist die Beobachten-Anzeige deshalb richtig, weil die FUP-Operation (anders als in AWL) weiß, mit welchem Datentyp sie arbeitet.
    Naja trotzdem müsste auch in AWL bekannt sein welcher Datentyp verlangt ist wenn man den inhalt von Akku1 in einen als INT deklarierten Speicherbereich kopiert (schnittstelle oder DB).

    Ich meine klar ist nur ein Anzeigeverhalten, ich hätte auch kein Problem wenn man sagen könnte, da wird einfach nur der Akku angezeigt. Aber manchmal wird auch interpretiert, nur nicht immer.

Ähnliche Themen

  1. WinCC PC Temperatur
    Von M.R. im Forum HMI
    Antworten: 0
    Letzter Beitrag: 12.01.2011, 12:13
  2. Temperatur anzeigen
    Von 00schneider im Forum HMI
    Antworten: 5
    Letzter Beitrag: 09.01.2010, 21:08
  3. Temperatur einlesen
    Von 00schneider im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 06.01.2010, 17:06
  4. Temperatur Regelung
    Von Iserlohner im Forum Simatic
    Antworten: 39
    Letzter Beitrag: 11.09.2009, 10:59
  5. Temperatur einlesen Vipa 231-1BD52
    Von mathias80 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 08.03.2007, 09:21

Lesezeichen

Berechtigungen

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