Normierungsproblem

c.wehn

Level-2
Beiträge
609
Reaktionspunkte
47
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Kollegen,

ich habe das Problem bei einem Verfahrweg die richtige größe zu finden.

Also

meine Öffnung ist 680mm offen wenn der motor auf anschag fährt
und auf 0mm wenn er geschlossen ist.

mein geber bringt dann die werte:

geöffnet 822
geschlossen 95

wie rechne ich das jetzt so um das ich meine variable in millimeter habe?
 
ich würde mit Zähler / Nenner verhältnis rechnen, dann kannst du mit Dint werten arbeiten

in deinen Beispiel wäre das z.b.

dein Verfahrbereich
822 - 95 = 727

Faktor
727 / 680 = 1,0691

dann die Rechnung über Zähler / Nenner

727 x ( 10000 / 10691 ) = 680,01

gruß helmut
 
meine Öffnung ist 680mm offen wenn der motor auf anschag fährt
und auf 0mm wenn er geschlossen ist.

mein geber bringt dann die werte:

geöffnet 822
geschlossen 95

wie rechne ich das jetzt so um das ich meine variable in millimeter habe?

Siehe die folgende Lösungsmöglichkeit mit einer Geradengleichung:

Code:
Geradengleichung
----------------
 
   Y
   |                 *
Y2 |---------------* 
   |             * |
   |           *   |
Y  |---------*     |
   |       * |     |
   |     *   |     |
Y1 |---*     |     |
   | * |     |     | 
   *------------------- X
       X1    X     X2
 
 
Geber      Öffnung
 
X1 =  95   Y1 =   0 mm
 
X2 = 822   Y2 = 680 mm
 
 
DY   (Y - Y1)   (Y2 - Y1)
-- = -------- = ---------
DX   (X - X1)   (X2 - X1)
 
     (Y2 - Y1)
 Y = --------- * (X - X1) + Y1
     (X2 - X1)
 
     (Y2 - Y1)       (Y2 - Y1)
 Y = --------- * X - --------- * X1 + Y1
     (X2 - X1)       (X2 - X1)
 
     (680 mm - 0 mm)       (680 mm - 0 mm)
 Y = --------------- * X - --------------- * 95 + 0 mm
       (822 - 95)            (822 - 95)
 
     680 mm       680 mm
 Y = ------ * X - ------ * 95
      727          727
 
 Y =  0,9354 mm * X - 88,8583 mm
 =============================

Gruß Kai
 
:confused::confused::confused:

warum so kompliziert ?
Der Vorschlag von Helmut trifft es doch ... die Gleichung dazu wäre übrigens y = m*x + b

@c.wehn:
m ist hier das von Helmut errechnete Verhältnis
b wäre das Offset, dass du hast bei Weg = 0 (also die 95)

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das ist ein dreisatz, wie man ihn in der 5ten klasse löst ... ich hatte schon nicht mehr dran geglaubt, aber es geht schlimmer... :-|

Hast ja vollkommen Recht, aber es ist doch immer das Problem zu erkennen, welches Lösungsverfahren nun passt. Das Stichwort "Dreisatz" hätte hier vermutlich genügt.

Und solange sich alles im linearen Bereich abspielt ist ja eigentlich auch kein wirkliches Problem da.


Übrigens:
Ich habe sehr enge Verwandte, die eine abgschlossene Handwerkerausbildung haben. Wenn es um die recht einfache Frage geht, "Wieviel Beton passt in dieses Loch?", dann komm ich mit dem Übermitteln der Quaderformel nicht weiter. Muss das schon selber rechnen, obwohl die das ja schon in der Grundschule hatten.


Beste Grüße,
argv_user
 
Ich habe sehr enge Verwandte, die eine abgschlossene Handwerkerausbildung haben. Wenn es um die recht einfache Frage geht, "Wieviel Beton passt in dieses Loch?", dann komm ich mit dem Übermitteln der Quaderformel nicht weiter. Muss das schon selber rechnen, obwohl die das ja schon in der Grundschule hatten.

Hallo,

solche Schlosser kenne ich auch *ROFL*




MfG
 
Überlauf Problem

ich würde mit Zähler / Nenner verhältnis rechnen, dann kannst du mit Dint werten arbeiten

in deinen Beispiel wäre das z.b.

dein Verfahrbereich
822 - 95 = 727

Faktor
727 / 680 = 1,0691

dann die Rechnung über Zähler / Nenner

727 x ( 10000 / 10691 ) = 680,01

gruß helmut

Ich denke mal, das mit dem Dreisatz ist klar gewesen, aber wenn man mit 16 Bit Integer rechnet, muss man auf den Überlauf achten:

(_32 um Vorschlag unten soll bedeuten 32 Bit, also DINT verwenden.
Eigentlich würde ich ST verwenden, aber mir ist nicht bekannt, welche Sprache und SPS der Poster verwendet, deshalb pseudo AWL).

OFFSET_32 = 95;
HUB_32 = 680;
DYNAMIK_32 = 727;

POS_32 = Messwert_32 -OFFSET_32;
POS_32 = POS_32 * HUB_32;
POS_32 = POS_32 / DYNAMIK_32;

POS_16 = (WORD) POS_32;
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier ist einmal ein Programmbeispiel für die Berechnung des Verfahrweges mit Hilfe der Geradengleichung.

http://www.sps-forum.de/showpost.php?p=235652&postcount=7

Code:
FUNCTION FC 100 : VOID
TITLE =Verfahrweg
 
//
//Geradengleichung
//----------------
// 
//   Y
//   |                 *
//Y2 |---------------* 
//   |             * |
//   |           *   |
//Y  |---------*     |
//   |       * |     |
//   |     *   |     |
//Y1 |---*     |     |
//   | * |     |     | 
//   *------------------- X
//       X1    X     X2
// 
// 
//Geber      Öffnung
// 
//X1 =  95   Y1 =   0 mm
// 
//X2 = 822   Y2 = 680 mm
// 
// 
//DY   (Y - Y1)   (Y2 - Y1)
//-- = -------- = ---------
//DX   (X - X1)   (X2 - X1)
// 
//     (Y2 - Y1)
// Y = --------- * (X - X1) + Y1
//     (X2 - X1)
// 
//     (Y2 - Y1)       (Y2 - Y1)
// Y = --------- * X - --------- * X1 + Y1
//     (X2 - X1)       (X2 - X1)
// 
//     (680 mm - 0 mm)       (680 mm - 0 mm)
// Y = --------------- * X - --------------- * 95 + 0 mm
//       (822 - 95)            (822 - 95)
// 
//     680 mm       680 mm
// Y = ------ * X - ------ * 95
//      727          727
// ============================ 
//   
 
AUTHOR : KAI
FAMILY : SPSFORUM
NAME : VERFAHRW
VERSION : 1.0
 
VAR_INPUT
  IN_Geber : INT ; 
END_VAR
VAR_OUTPUT
  OUT_Oeffnung : INT ; 
END_VAR
VAR_TEMP
  TEMP_Geber : INT ; 
  TEMP_Zwischenwert : REAL ; 
END_VAR
BEGIN
NETWORK
TITLE =Verfahrweg
 
      L     #IN_Geber; // Geber
      T     #TEMP_Geber; 
 
      L     #TEMP_Geber; // Geber
      L     95; // Geber = 95
      <I    ; 
      SPBN  M10; 
      L     95; 
      T     #TEMP_Geber; 
 
M10:  L     #TEMP_Geber; // Geber
      L     822; // Geber = 822
      >I    ; 
      SPBN  M11; 
      L     822; 
      T     #TEMP_Geber; 
 
M11:  L     6.800000e+002; // Geradengleichung
      L     7.270000e+002; 
      /R    ; 
      L     9.500000e+001; 
      *R    ; 
      T     #TEMP_Zwischenwert; 
 
      L     6.800000e+002; 
      L     7.270000e+002; 
      /R    ; 
      L     #TEMP_Geber; 
      ITD   ; 
      DTR   ; 
      *R    ; 
      L     #TEMP_Zwischenwert; 
      -R    ; 
      RND   ; 
      T     #OUT_Oeffnung; // Oeffnung [mm]
 
END_FUNCTION

Gruß Kai
 

Anhänge

  • OB1.pdf
    5,7 KB · Aufrufe: 10
  • FC100.pdf
    6,8 KB · Aufrufe: 14
  • Verfahrw.zip
    31,4 KB · Aufrufe: 11
Normierung

Leute, nun übertreibt mal nicht.
Die Formel X[mm]=680/727*Geberwert-88,86 = 0,93535*Geberwert-88,86
programmiert man einfach
Code:
L 0.93535
L EWxxx // Gebereingandswort
DTR
*R
L 88.86
-R
T Ergebnis // mm-Wert im Real-Format
und wir haben fertig!
MfG
eNDe
 
Zurück
Oben