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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: SPS Beispielprogramm für PT100; Temperaturanzeige am TP

  1. #11
    Registriert seit
    25.08.2006
    Beiträge
    247
    Danke
    36
    Erhielt 64 Danke für 58 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin,

    Muss die Hardware noch irgendwie anders konfiguriert werden als in den Werkseinstellungen bzw. wie definiere ich den AI5 als RTD?
    Siehe Anhang

    Pylades
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg AI.jpg (38,4 KB, 148x aufgerufen)

  2. Folgender Benutzer sagt Danke zu pylades für den nützlichen Beitrag:

    MECHA07 (01.12.2009)

  3. #12
    Registriert seit
    30.11.2009
    Beiträge
    18
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Schon mal danke für eure Antworten.

    Wir können es noch nicht testen, weil bei den Automation Boards die wir haben die analogen Eingänge nicht angeschlosen sind

    Jetzt mal schauen wies weitergeht

  4. #13
    Registriert seit
    03.12.2009
    Beiträge
    64
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo,

    eine komplette Beschreibung was zu tun ist, kann ich nicht geben, dauert zu lange . Aber einem Einsteiger sollte geholfen werden, deshalb ein paar Tipps und Anregungen.
    Als erstes musst Du mal lernen was ein Bit, Byte, Word und ein Doppelword / Real ist. Sonst geht gar nichts.

    Nun zu Deinem Problem. Zum Einlesen eines RTD’s / PT 100 brauchst Du entweder einen Umsetzer oder einen analogen Eingang der einen Umsetzer integriert hat. Eine PT100 Temperaturmessung ist letztenendes eine Widerstandsmessung. Deshalb wird der PT100 mit einem Konstantstrom (übl. 1 mA) beaufschlagt und dann die Spannung am PT100 gemessen die dabei an ihm abfällt. Das macht der Umsetzer und wandelt den Messwert in eine analoge Spannung (z.B. 0—10V) oder einen Strom (z.B. 4—20mA). Des weiteren korrigiert er die Nichtlinearität des PT 100 mit einer quadratischen Kurve. Das können auch dafür ausgelegte analoge Eingänge. Zu beachten ist dabei die Anschlussart. Bei einer Zweileitermessung muss der Offset (ergibt sich durch die Leitungslänge) entweder im Programm oder am Umformer korrigiert werden. Die Umsetzer haben dafür ein Poti. Entweder man benutzt einen bekannten Widerstand, schätzt die Temperatur oder nimmt einen RTD Kalibrator.

    Ob die CPU oder analoge Engangskarte einen entsprechend konfigurierbaren Eingang hat, entnimmst Du der Siemens Literatur „CPU / Baugruppendaten“. Die Enstellungen dafür werden in der Hardwarekonfiguration vorgenommen.

    Nun zum Programm. Hast Du einen entsprechenden Eingang ist es einfach. Du liest das Peripherieword des analogen Eingangs und schon hast Du die aktuelle Temperatur geladen.

    L PEW xxxx

    Es ist keine Normierung mehr nötig

    Dann transferierst Du den Wert in eine Variable

    T MW10

    Dieses Word in Real umzuwandeln bringt gar nichts. Im OP kann man einstellen, mit wie viel dezimalen die Variable dargestellt werden soll.
    Eine Umwandlung in Real kostet Zeit, braucht mehr Platz (Real = 4 Bytes) und erhöht nicht die Genauigkeit, ist also Blödsinn.

    Liest Du allerdings einen Wert von einem Umsetzer ein, so muss dieser normiert werden.
    Angenommen der Umsetzer macht aus 400 Grad Celsius 10 V, dann sieht das Programm so aus.

    L PEW xxxx
    L 4000 // Max des Messwertes
    *D // multipliziere Doppelword
    L 27648 // bei S7 immer das Maximum eines analogen Einganges unabhängig der Auflösung und //ohne Übersteuerung
    / D // dividiere Doppelword
    T MW 10

    Die Rechnungen müssen dabei DW sein, da sonst ein Zahlenüberlauf entsteht und alles mögliche, aber nicht das richtige rauskommt. Lernst Du wenn Du Schritt 1 befolgt hast. Der Wert hat eine Dezimale. Lässt sich auch in FUP/KOP programmieren, sieht aber nicht so schön aus. MW 10 zeigst Du dann in einem OP an, fertig.

    Wie gesagt nur ein Überblick, keine fertige Lösung. Learning by doing.

    Gruss

  5. #14
    Registriert seit
    07.06.2006
    Ort
    Bayern
    Beiträge
    623
    Danke
    27
    Erhielt 156 Danke für 139 Beiträge

    Standard

    Zitat Zitat von extruder_luder Beitrag anzeigen

    Dieses Word in Real umzuwandeln bringt gar nichts. Im OP kann man einstellen, mit wie viel dezimalen die Variable dargestellt werden soll.
    Eine Umwandlung in Real kostet Zeit, braucht mehr Platz (Real = 4 Bytes) und erhöht nicht die Genauigkeit, ist also Blödsinn.
    Wenn du nur mal schnell 1 Messwert hast - mag das ja stimmen. Wenn du allerdings vernünftig mit Analogwerten arbeiten willst, dann bringt das Gleitpunktformat schon ein paar Vorteile.

    Nicht umsonst hat der Skalierbaustein von Siemens (FC105 Scale) ja auch als Ausgangsdatentyp REAL.


    Zitat Zitat von extruder_luder Beitrag anzeigen

    L PEW xxxx
    L 4000 // Max des Messwertes
    *D // multipliziere Doppelword
    L 27648 // bei S7 immer das Maximum eines analogen Einganges unabhängig der Auflösung und //ohne Übersteuerung
    / D // dividiere Doppelword
    T MW 10
    Das funktioniert aber nur wenn der Min des Messwertes 0 ist, das ist aber nicht immer der Fall.

    Es kann sogar sein, dass der Min des Messwertes negativ ist (z.B. Aussentemperaturmessung -50°C - +50°C --> 0 .. 10 Volt).

    In so einem Fall kommste mit dem einfachen Dreisatz nicht weit.

    Womit wir dann wieder bei REAL und FC105 Scale währen.

  6. #15
    Registriert seit
    03.12.2009
    Beiträge
    64
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo Uncle Tom,
    nenn mir doch mal bitte einen Vorteil beim rechnen mit real, ausser das man keine Funktionen wie Absolutwertbildung oder ähnliches zur Verfügung hat. Man muss halt vieles dann zu Fuss machen, ist aber 500 mal schneller. Die Genauigkeit beim Rechnen mit Real nimmt auch nicht zu, da S7 300 ab der sechsten Stelle eh abschneidet.

    Zum Normieren:
    Ich habe ja auch kein vollständiges Beispiel gebracht, etwas soll unser Anfänger ja auch noch ausknobeln. Z.B einen Offset vom Messwert abziehen.
    Das ganze klappt auch mit negativen Messwerten. In Deinem Beispiel: 100 Grad is der volle Hub der Messung, also Du ziehst am Ende einfach 50 Grad Celsius wieder ab.

    Man kann zwar die von Siemens zur Verfügung stehenden Bibliotheken nutzen, hat aber immer wieder Einschränkungen, die Aufgabenstellung ist etwas anders oder so. Deshalb schreib ich meine Routinen selber, dann weiss ich auch was zu tun ist, wenn es mal Schwierigkeiten gibt.

    Gruss

  7. #16
    Registriert seit
    07.06.2007
    Beiträge
    93
    Danke
    7
    Erhielt 3 Danke für 3 Beiträge

    Blinzeln


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    Zum Thema wandeln in REAL oder nicht ,öchte ich auch meinen Senft dazu geben. Ich persönlich habe viel mit Druck und Temperaturmessungen zu tun. Wenn eine 315er ca. 60 analoge Werte als INT bekommt und dazu noch passende von der Analogbaugruppe skalliert (215 als 21,5°C) finde ich es auch persönlich schon Overkill alles in REAL zu wandeln, dann mit REAL Zahlen zu vergleichen und daraus ein BOOL für Temp High oder Temp Low zu bilden. Ich bleibe, wo es geht, bei INT oder DINT. Nachdem ich unserer einen CPU REAL ausgetrieben hatte ging die Zykluszeit von ca. 95ms auf ca. 22ms zurück. Ich will nicht wissen, wie es ausgesehen hätte wenn ich, ohne darauf zu achten, die nächsten 20 Analogwerte auf die alte Art und Weise eingebunden hätte!

    Viele Grüße
    steinche

Ähnliche Themen

  1. Temperaturanzeige mit Schalter
    Von devrim im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 23.09.2010, 06:29
  2. Antworten: 10
    Letzter Beitrag: 04.04.2010, 15:47
  3. Beispielprogramm für MM4
    Von Nico99 im Forum Antriebstechnik
    Antworten: 5
    Letzter Beitrag: 04.07.2007, 23:00
  4. Antworten: 2
    Letzter Beitrag: 29.09.2006, 11:48
  5. Suche Temperaturanzeige für PT100
    Von maxi im Forum Suche - Biete
    Antworten: 2
    Letzter Beitrag: 25.09.2006, 22:43

Lesezeichen

Berechtigungen

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