# Normierungsproblem



## c.wehn (5 Januar 2010)

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?


----------



## rostiger Nagel (5 Januar 2010)

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


----------



## vierlagig (5 Januar 2010)

das ist ein dreisatz, wie man ihn in der 5ten klasse löst ... ich hatte schon nicht mehr dran geglaubt, aber es geht schlimmer... :-|


----------



## rostiger Nagel (5 Januar 2010)

vierlagig schrieb:


> das ist ein dreisatz, wie man ihn in der 5ten klasse löst ... ich hatte schon nicht mehr dran geglaubt, aber es geht schlimmer... :-|


 
das kann ich dir nicht sagen, ich bin in der 4ten abgegangen, weil
ich das jahr 6 mal wiederholen musste


----------



## Bernard (5 Januar 2010)

> das ist ein dreisatz, wie man ihn in der 5ten klasse löst


Lieber 4LG wenn die Frage nicht deinem "Niveau" entspricht,mußt du darauf ja nicht reagieren.


----------



## eNDe (5 Januar 2010)

Hallo c.wehn,
die zu programmierende Formel lautet:
X[mm]=680/727*Geberwert-88,86.
MfG
eNDe


----------



## Kai (5 Januar 2010)

c.wehn schrieb:


> 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:
> ...


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


```
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


----------



## Larry Laffer (5 Januar 2010)

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


----------



## argv_user (5 Januar 2010)

vierlagig schrieb:


> 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*


----------



## Sockenralf (5 Januar 2010)

argv_user schrieb:


> 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


----------



## RobiHerb (5 Januar 2010)

*Überlauf Problem*



Helmut_von_der_Reparatur schrieb:


> 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.
> 
> ...



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;


----------



## Kai (5 Januar 2010)

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


```
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


----------



## eNDe (6 Januar 2010)

*Normierung*

Leute, nun übertreibt mal nicht.
Die Formel X[mm]=680/727*Geberwert-88,86 = 0,93535*Geberwert-88,86
programmiert man einfach

```
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


----------



## c.wehn (6 Januar 2010)

Also, erstmal vielen dank an alle.

Die erste Antwort von helmut hatte mir schon genügt.


----------

