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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Eingangskarte +-10V Sensor +-4V ?

  1. #1
    Registriert seit
    04.03.2011
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten morgen,

    ich habe eine analoge Eingangskarte KS3001 (+-10V und 12Bit Auflösung) und einen Beschleunigungssensor mit einem Messbereich von +-4V und einer Empfindlichkeit von 40mV/g. Bei der Steuerung handelt es sich um eine Beckhoff CX1010.

    Wie kann ich die Eingangskarte in TwinCat einstellen, dass sie den Messbereich des Sensors mit +-4V auch erfasst? Ich möchte die erfassten und auf die Beschleunigung g umgerechneten Werte in eine txt-Datei schreiben.

    Leider kommen nur große positive Zahlen heraus, wenn ich den Analogeingang auslese. Ich nehme an, dass ich Probleme damit habe, dass die Werte als WORD erfasst werden.

    Hoffe ihr könnt mir weiterhelfen.

    Gruß Gluttony
    Zitieren Zitieren Eingangskarte +-10V Sensor +-4V ?  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    ... ich bin zwar nicht der Beckhoff-Mensch - aber die Sensor-Art kenne ich.
    Mit einer Standard-Analogkarte wird das nichts. Ich weiß aber, dass Beckhoff für solche Sensoren auch Karten hat - da würdest du dann auch hinreichend genau messen können.

    Ansonsten müßtest du einen Messverstärker dazwischen schalten, der dir den Pegel anpasst - wobei 12 Bit Auflösung ist für eine Schwingungs-Messung auch nicht der Bringer ...

    Was hast du überhaupt vor ?

    Gruß
    Larry

  3. #3
    Gluttony ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.03.2011
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Ansonsten müßtest du einen Messverstärker dazwischen schalten, der dir den Pegel anpasst - wobei 12 Bit Auflösung ist für eine Schwingungs-Messung auch nicht der Bringer ...

    Was hast du überhaupt vor ?
    Ich möchte mit dem Sensor Erschütterungen auf einer Förderstrecke erfassen und in einer Logfile speichern. Da ich momentan nicht weiß, wie groß die Erschütterungen ausfallen, wurde mir ein Vergleichssensor Messbereich bis zu +-100g zugeschickt, mit dem +-4V.

    Das 12 Bit nicht wirklich der Bringer ist, hat mir auch die Firma gesagt, die mir den Sensor geschickt hat.

    Aber zum Feststellen der typisch in der Anlage auftretenden Beschleunigungen würde eine analoge +-10V Eingangskarte ausreichen, um den geeigneten Messbereich für den letztendlichen Sensor wählen zu können. So hat man mir das zumindest gesagt.

    Ich nehm an, dass ich die Probleme mit dem Auslesen daher rühren, dass das 12.Bit für die Vorzeichenbestimmung benutzt wird. Da ich den Sensor jedoch über ein WORD auslese 16Bit , wird das mit dem Vorzeichen jedoch nicht mehr berücksichtigt und deswegen ergeben sich die großen Werte.

    Gibt es da keine Möglichkeit?

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Ähh ...
    Dez. 1 = Hex 0001
    Dez. -1 = Hex FFFF

    Du mußt den Wert schon so einlesen, wie er ist ...
    Welche Abtastrate hat denn deine Karte ? Also wie viele Messungen pro Sekunde kannst du aufnehmen ? Wie wertest du den Sensor denn überhaupt aus (im Programm) ? Du kannst die Messwerte eines Schwingungssensors nicht mit denen einer Füllstands-Messung o.ä. vergleichen ...

  5. #5
    Gluttony ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.03.2011
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hier der bestreffende Auszug aus meinem Programm.
    der Timer1 lässt die Schleife alle 35ms ablaufen. Und die Werte werden momentan jede Sekunde in eine TXT-Datei geschrieben.

    VAR_GLOBAL
    Beschleunigungssensor_1 AT %IW1:WORD;
    Beschleunigung:REAL;
    END_VAR

    .........
    IF Timer1.Q THEN
    Beschleunigung := WORD_TO_REAL (Beschleunigungssensor_1);
    .........

    Ich will den Eingang so auswerten, dass ich die positiven und negativen Spannungen vom Sensor an die Eingangskarte auch angezeigt bekomme. Diese möchte ich dann später einfach auf die Beschleunigung g umrechen.

    z.B.
    +4000 mV = +100g
    bis
    -4000 mV = -100g

    Deiner Aussage mit dem Füllstandssensor entnehme ich, dass ich etwas grundsätzliches nicht verstanden habe. Ich weiß nur noch nicht was.
    Wie wertet man denn so einen Sensor aus?

    Ergängung: Der Sensor befindet sich in dem Behälter, welcher über die Strecke fährt und soll Stöße und Erschütterungen aufnehmen. Sind diese zu hoch, beispielsweise durch beschädigte Anlagenteile, so soll dies erfasst werden.

    Gruß Gluttony
    Geändert von Gluttony (14.03.2011 um 10:43 Uhr)

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    ... ich würde da so vorgehen :
    Du nimmst in einem sehr kurzen Zeit-Raster (z.B. jede Millisekunde) die Werte in ein Array auf. Hast du das Array voll (z.B. 250 Werte) dann scannst du es und bildest vielleicht einen Mittelwert oder suchst nach dem größten Peak oder nach einer Menge von Peaks über einem bestimmten Pegel (oder oder) und machst daraus dann die Auswertung.
    Nun wiederholst du das ganze wieder.

    Das kurze Intervall (je schneller desto besser) ist der Garant das du wirklich die Schwingung und nicht nur irgend einen Wert aus einem Impuls (der von mir aus als Schwingung sogar dauernd ansteht) aufzeichnest und bewertest ...

    Von solchen Sachen wie FFT (Fast Fourier Transformation) zur genauen Analyse der aufgezeichneten Schwingung und der beinhalteten Frequenzen will ich jetzt mal nicht sprechen - obwohl auch das machbar ist ...

    Gruß
    Larry

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

    Gluttony (15.03.2011)

  8. #7
    Gluttony ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.03.2011
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So hört sich das schonmal gut an, ich muss nun sehen, dass ich das mit dem Array hinbekomme.

    Ich habe das momentan mit "meinem" Programm(ist eine Lösung zu einer anderen Fragestellung hier im Forum gewesen) so gelöst:

    .....
    Datensatz := REAL_TO_STRING(Beschleunigung);
    Datensatz := CONCAT(Datensatz, '; ');
    ......
    Datensatz := CONCAT(Datensatz, '$n');
    ....

    Datensatz wird dann mit Hilfe von
    FB_FileOpen
    FB_FileWrite
    FB_FileClose
    auf der Festplatte gespeichert.

  9. #8
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Mit 4V hast kannst du schon mal 1Bit streichen. Du hast dann theoretisch 11Bit wobei 1Bit das Vorzeichen abgibt. Dann kommt noch mal das Rauschen... Wenn du aber nur die Grössenordnung der Beschleunigung erfassen willst, dann ist das OK.

  10. #9
    Gluttony ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.03.2011
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe den Sensor gerade nicht bei mir, aber ich glaube die Daten lagen in Zahlen ausgedrückt im Bereich von 61.000 bis 65.000.

    Wie kann ich mir die Zahlen richtig anzeigen lassen mit Vorzeichen, damit ich sie speichern kann?

    Gruß Gluttony

  11. #10
    Registriert seit
    24.04.2008
    Ort
    Lübeck
    Beiträge
    324
    Danke
    8
    Erhielt 63 Danke für 62 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Für Beschleunigungssensoren gibt es diehttp://www.beckhoff.de/EL3632/.

    Wenn du eine Analoge +/- 10V Klemme nimmst, musst du den Wert doch umrechnen:
    Du bekommst ein WORD von der Klemme. (Wertebereich: 0 - 65535)
    Der Messbereicht ist von -10V bis +10V.

    Dann würde der Eingangswert von 0 einem Messwert von -10V entsprechen.
    Der Eingangswert 65535 ist dann ein Messwert von +10V.

    Über die Formel kannst dann den gemessenen Wert berechnen:

    rInput := 65535.0 / iInput;
    Messwert := -10V + ((+10V) - (-10V)) * rInput;

Ähnliche Themen

  1. 315 2DP Problem mit Eingangskarte
    Von Dany_the_kid im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 26.05.2010, 16:17
  2. Komisches Verhalten Analoge Eingangskarte.
    Von vollmi im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 11.05.2010, 20:11
  3. PT100 an Analog Eingangskarte
    Von Ray_k1 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 10.11.2009, 04:49
  4. Gleichstrom 0-10A messen und auf 0-10V Eingangskarte ?
    Von Betriebselektriker28 im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 29.01.2009, 12:06
  5. Fehler S7-300 Analog Eingangskarte SM 331
    Von Anonymous im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 13.10.2005, 20:55

Lesezeichen

Berechtigungen

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