# Erste Version FAQ (Kompakt) zum Thema Skalierung



## oliver.tonn (8 Januar 2018)

*Einführung*  
Bei verschiedenen SPS-Projekten kann es aus verschiedenen Gründen erforderlich sein Werte eines Bereichs in einen anderen umzurechnen,
also zu skalieren, z.B. um wieder eine physikalische Größe (z.B. V, Bar, usw.) zu erhalten.
Dies ist ein sehr umfangreiches Thema, dass in diesem Forum in einer auf mehrere Threads aufgeteilten FAQ ausführlich behandelt wird.
Hier die Links zu den einzelnen Kapiteln dieser FAQ:

Skalierung von (Analog-) Werten Kapitel 1 + 2 (Einführung + Begriffsdefinition)
Skalierung von (Analog-) Werten Kapitel 3 (Genauere Erläuterung anhand von Beispielen)
Skalierung von (Analog-) Werten Kapitel 4 (Erläuterung der verschiedenen Auflösungen und Darstellungsformen analoger Eingangswerte)
Skalierung von (Analog-) Werten Kapitel 5 (Umsetzung von Skalierungen in SPS-Programme)
Skalierung von (Analog-) Werten Kapitel 6 (Tipps für Steuerungen ohne Fließkomma Unterstützung)

  Die hier vorliegende FAQ ist eine Kurzform dieser ausführlichen FAQ und für alle da, die sich einen kurzen Überblick zu dem Thema verschaffen möchten.
 
*Begriffsdefinition*
Der zu messende Wert (z.B. Temperatur, Position, usw.) wird in dieser FAQ als physikalische Größe bezeichnet.
Soweit ein Messwandler verwendet wird, wird dessen Ausgangssignal als Einheitssignal bezeichnet und der digitalisierte Wert
der analogen Eingangskarte oder der dezentralen Peripherie wird Digits oder Eingangswert genannt.

*Genauere Erläuterung anhand von Beispielen*
Im einfachsten Fall besteht die Formel für eine Skalierung aus einem einfachen Dreisatz, auf der einen Seite des Gleichheitszeichen
stehen die die Digits, auf der Anderen die physikalischen Größe, die dann nach der unbekannten Größe umgestellt werden muss.
Folgende Zahlenwerte benötigt man für die Berechnung:

- Digits des analogen Eingangs
- Bereich der Digits des analogen Eingangs (Bei Bereichen die bei 0 beginnen oder sich symmetrisch um 0 bewegen ist dies die größte darstellbare Zahl)
- Bereich der physikalischen Größe (z.B. bei 0-100% = 100)

Hier zunächst die Formel des (nicht umgestellten) Dreisatzes, die unbekannte Größe (Istwert physikalische Größe)
erhält bei den weiteren Formeln den Buchstaben x:







Soll z.B. die am Analogeingang (0-10V) anliegende Spannung, die mit 15 Bit aufgelöst wird, ermittelt werden,
wobei der Eingangswert/Digits 4095 beträgt, sähe die Formel dafür so aus:






Als Ergebnis kommen rund 1,25V heraus. Diese Formel kann auch unverändert, vom Eingangswert mal abgesehen,
für einen Messbereich von -10V - 10V genutzt werden.

  Wird an einen Messwandler ein PT100 angeschlossen, der bei einem Messbereich vom -20° - 50°C als Einheitswert
eine Spannung von 0 – 10V erzeugt muss, da der Messbereich nicht bei 0 beginnt, ein Offset eingerechnet werden.
Bei einer Auflösung von 12 Bit und einem Digitwert von 2047 sähe die Formel so aus:






Das Ergebnis hier ist rund 15°C. 
 
*Erläuterung der verschiedenen Auflösungen und Darstellungsformen analoger Eingangswerte*
Die Digitalisierung kann in verschiedenen Auflösungen erfolgen, z.B. wie in den obigen Beispielen in 15 Bit und 12 Bit,
wobei das Bit für das Vorzeichen nicht mitgezählt wird. Entsprechend ändert sich auch der Maximalwert der Digits.
Bei 15 Bit beträgt dieser 32767, bei 13 Bit 8191 und bei 10 Bit 1023. Einige Hersteller (z.B. Siemens oder Beckhoff) nutzen,
unabhängig von der Auflösung, einen festen Maximalwert (Siemens: 27648, Beckhoff: 32767) für die Digits, hier muss dann
dieser genutzt werden.
Einige Hersteller nutzen den Umstand das nicht alle Bits (12 statt 15) genutzt werden um parallel noch Statusinformationen
in den niederwertigen Bits abzulegen. In diesem Fall rücken die Bits des Messwertes nach links. Bei jedem Sprung nach links
muss der Maximalwert der Digits entsprechend mit 2 multipliziert werden. Nutzt der Hersteller für die Messung 12 Bits und 3 Statusbits,
ergibt sich anstatt eines Wertes von 4095 der Wert 32760 für den Maximalwert der Digits. Mann kann der Einfachheit halber aber
auch mit 32767 rechnen, was zu einem minimalen Rechenfehler führen würde. Ein solcher Rechenfehler tritt auch auf, wenn bei
Verwendung des anderen Wertes nicht die Statusbits ausgefiltert werden.

*Umsetzung von Skalierungen in SPS-Programme*
Bei der Umsetzung der Skalierung in ein SPS-Programm muss darauf geachtet werden, dass nicht unbemerkt mit Ganzzahlen gerechnet wird,
was zu teilweise erheblichen Rechenfehlern führen kann. Entscheidend hierfür ist nicht in welchem Variablentyp das Endergebnis gespeichert
wird, sondern wie feste Zahlenwerte im Programmcode angegeben sind.
Bei Siemens Steuerungen oder Codesys basierten Steuerungen wird eine Zahl ohne Nachkommastelle als Ganzzahl interpretiert und eine
mit Nachkommastellen als Fließkommazahl, wobei diese auch 0 sein kann (z.B. 40.0).
Des Weiteren kann es zu Problemen bei der impliziten Typkonvertierung, also der automatischen Umwandlung von einem Datentyp
in einen anderen, kommen. Für Variablen sollte hier immer, soweit vorhanden, die entsprechende Konvertierungsfunktion genutzt werden
und bei ganzen Zahlen im Code ein .0 angehängt werden.
Hier mal ein Einzeiler, der richtig rechnet:

```
#r32_Drehzahl := INT_TO_REAL(#i16_Messwert) * 1000.0 / 32767.0;
```
*
Tipps für Steuerungen ohne Fließkomma Unterstützung*
Verschiedene Kompaktsteuerungen können keine Fließkommazahlen verarbeiten.
Um auch hier Skalierungen mit ausreichender Genauigkeit realisieren zu können muss zu einem Trick gegriffen werden.
Die maximale physikalische Größe (z.B. 10V) wird mit einer Zahl multipliziert die so hoch ist (Bei UINT z.B. 6000),
dass es nicht zu einem Überlauf kommt. Anschließend wird durch den Maximalwert der Digits geteilt und dann
mit dem Eingangswert multipliziert. Anschließend wird das Ergebnis wieder geteilt, allerdings nicht durch die ursprüngliche Zahl,
sondern durch eine die ein paar Dekaden kleiner ist (Hier z.B. durch 6). Für die Messung einer Spannung von 0-10V sähe die Formel dann wie folgt aus:





  Das Ergebnis wäre dann nicht in V, sondern in mV.


----------



## Ralle (10 Januar 2018)

Sieht gant ganz übersichtlich aus, ein paar Formeln sind zu klein geraten?
Steckt wirklich eine Menge Arbeit drin! Danke


----------



## oliver.tonn (10 Januar 2018)

Hallo Ralle,


Ralle schrieb:


> Sieht gant ganz übersichtlich aus, ein paar Formeln sind zu klein geraten?


die Formeln sind Screenshots. In Tapatalk haben sie eine vernünftige Größe. Ich werde mir meine beiden Machwerke mal die Tage nochmals in Ruhe ansehen und versuchen größere Screenshots zu machen.


----------



## oliver.tonn (17 Januar 2018)

Erstmal auch noch danke an PN/DP  (AKA Harald) für seine Vorschläge. Ich bin beide FAQs nochmals  durchgegangen und habe entsprechend der Vorschläge einiges geändert und  auch noch ein paar eigene Änderungen gemacht. Soweit in den nächsten  Tagen nicht noch weitere Vorschläge kommen würde ich die FAQs als  (vorläufig) fertig betrachten. An der Skalierung der Screenshots kann  ich leider nichts machen, dies erfolgt anscheinend automatisch durch die  Forumssoftware. Ich habe schon versucht diese in verschiedenen Größen  hoch zu laden, sie sahen aber immer gleich aus.
@Moderatoren: Könnt  Ihr die Machwerke, die große in einzelne Threads je Kapitel (Außer die  ersten zwei), ohne die Kommentare von mir und den Anderen in den  FAQ-Bereich verschieben, natürlich nur so die FAQs Eure Zustimmung  finden. Vorschläge für die Benamung der einzelnen Threads sind hier und  in der Kompaktversion zu finden. Ich müsste dann nach dem Verschieben  nur noch die Links auf die Kapitel hinzufügen.


----------



## PN/DP (18 Januar 2018)

Hallo Oliver,

noch ein paar Tipps:

- In Deinem Beitrag verwendest Du immer noch falsche Zahlen, z.B. mehrmals 35767 anstatt 32767, und 35760 anstatt 32760

- Die Bilder mit den Formeln mußt Du als "Grafik" einfügen (und nicht als "Anhang"), dann werden sie in der original-Bildgröße dargestellt und nicht als verkleinerte Vorschau (im Beitragseditor mit dem Button "*Grafik einfügen*")
So sieht Dein *Anhang* aus:
Anhang anzeigen 40024

und so sieht es als *Grafik* aus:




Einbetten als Grafik verwendet diesen BB-Code:
[IMG]http://www.sps-forum.de/attachment.php?attachmentid=40024[/IMG]

- da wo Du den Beispiel-Programmcode zeigst würde ich den nur als Einzeiler hinschreiben

```
r32_Drehzahl := INT_TO_REAL(i16_Messwert) * 1000.0 / 32767.0;
```
oder

```
r32_Drehzahl := i16_Messwert * 1000.0 / 32767.0;
```
Der geneigte Leser wird selbst drauf kommen, wie die Variablen deklariert sind.
Außerdem würde man in einem richtigen Programm für die Skalierung eher eine FUNCTION anstatt einem FUNCTION_BLOCK verwenden.
Außerdem brauchst Du da nicht auf die minimalen Unterschiede Siemens-SCL und TwinCAT-ST eingehen (die exakte Schreibweise bei Siemens-SCL ändert sich eh' öfters)
Außerdem: wieso wird in Deinem Siemens-Beispielcode mit 10.0 multipliziert, bei "_das Selbe mit TwinCAT V3_" aber mit 1000.0 ?

- in der großen Version Deiner FAQ sind viiieeel zu lange Fließtext-Wüsten ohne Absätze und Leerzeilen - das ist praktisch nicht lesbar

Harald


----------



## oliver.tonn (18 Januar 2018)

Hallo Harald,
danke für die Hinweise.


PN/DP schrieb:


> - In Deinem Beitrag verwendest Du immer noch falsche Zahlen, z.B. mehrmals 35767 anstatt 32767, und 35760 anstatt 32760


Wie blind kann man eigentlich sein? Und das bei der kompakten Version, doppelt peinlich. 
Hatte es mir nach Deiner PN nochmals durchgelesen und nichts gefunden und dachte, da ich kurz vorher was geändert hatte, Deine PN und meine Änderungen hätten sich überschnitten. Anstatt das ich bei Deiner genauen Vorgabe einfach mal die Suchen-Funktion bemühe.


PN/DP schrieb:


> - Die Bilder mit den Formeln mußt Du als "Grafik" einfügen (und nicht als "Anhang"), dann werden sie in der original-Bildgröße dargestellt und nicht als verkleinerte Vorschau (im Beitragseditor mit dem Button "*Grafik einfügen*")


Habe ich hier gerade probiert, leider ohne Erfolg. Habe erst alle Bilder im Text gelöscht, dann bei Anhänge im unteren Bereich alle Anhänge gelöscht und  schließlich die Änderungen gespeichert. Nun das Ganze wieder zum Ändern geöffnet, über den Button Bild hinzufügen das Bild von meiner lokalen Platte hochgeladen. Das Resultat siehst Du oben. Bei den Anhängen ist mir allerdings aufgefallen, dass die Datei im oberen Bereich schon mehrmals (mit unterschiedlichem Datum/Uhrzeit und Größe) vorhanden ist. Das Original hat eine Auflösung von 450 x 44 Pixeln.



PN/DP schrieb:


> - da wo Du den Beispiel-Programmcode zeigst würde ich den nur als Einzeiler hinschreiben


DONE


PN/DP schrieb:


> Außerdem: wieso wird in Deinem Siemens-Beispielcode mit 10.0 multipliziert, bei "_das Selbe mit TwinCAT V3_" aber mit 1000.0 ?


mea culpa
War noch eine alte Version, 10 Umdrehungen als Maximum (Programm war ursprünglich für Spannung 0-10V gedacht) erschienen mir zu niedrig, darum hatte ich das im Beckhoff Programm geändert, die Siemens Seite aber leider vergessen.


PN/DP schrieb:


> - in der großen Version Deiner FAQ sind viiieeel zu lange Fließtext-Wüsten ohne Absätze und Leerzeilen - das ist praktisch nicht lesbar


Werde ich heute Abend versuchen zu verbessern.


----------



## oliver.tonn (18 Januar 2018)

Habe doch jetzt schon die große Version überarbeitet und Umbrüche eingefügt. Ist das so in Ordnung oder sollten da noch Leerzeilen zwischen?


----------



## rostiger Nagel (18 Januar 2018)

PN/DP schrieb:


> - in der großen Version Deiner FAQ sind viiieeel zu lange Fließtext-Wüsten ohne Absätze und Leerzeilen - das ist praktisch nicht lesbar



Genau das war ja meine erste Anmerkung im Großen FAQ, nach der dritten Zeile 
weiß ich nicht mehr in welcher Zeile ich war. Harald hat es etwas besser ausgedrückt.

Für mich ein ganz wichtiger Punkt: Die Gestaltung.


----------



## oliver.tonn (18 Januar 2018)

rostiger Nagel schrieb:


> Genau das war ja meine erste Anmerkung im Großen FAQ, nach der dritten Zeile
> weiß ich nicht mehr in welcher Zeile ich war. Harald hat es etwas besser ausgedrückt.
> 
> Für mich ein ganz wichtiger Punkt: Die Gestaltung.


Hallo, wie ich schon in einem anderen Post schrieb war mir nicht ganz klar was Du mit Deinem Kommentar gemeint hattest, sorry, aber jetzt ist das ja klar geworden. Ich denke mal das trotz der Änderung der Gestaltung eine Aufteilung der großen Version auf mehrere Threads Sinn macht, oder? Wie sieht meine Änderung mit den Umbrüchen denn jetzt so aus? Ist das akzeptable oder sollte ich zusätzlich noch Leerzeilen einfügen?
Jetzt muss ich nur noch die Probleme mit den Bildern in den Griff bekommen.


----------



## rostiger Nagel (18 Januar 2018)

oliver.tonn schrieb:


> Hallo, wie ich schon in einem anderen Post schrieb war mir nicht ganz klar was Du mit Deinem Kommentar gemeint hattest, sorry, aber jetzt ist das ja klar geworden. Ich denke mal das trotz der Änderung der Gestaltung eine Aufteilung der großen Version auf mehrere Threads Sinn macht, oder? Wie sieht meine Änderung mit den Umbrüchen denn jetzt so aus? Ist das akzeptable oder sollte ich zusätzlich noch Leerzeilen einfügen?
> Jetzt muss ich nur noch die Probleme mit den Bildern in den Griff bekommen.



Wenn du das in diesem Thread/Beitrag 1 meinst, nach Schulnoten 4-!


----------



## oliver.tonn (18 Januar 2018)

Hallo rostiger Nagel,


rostiger Nagel schrieb:


> Wenn du das in diesem Thread/Beitrag 1 meinst, nach Schulnoten 4-!


den Beitrag 1 aus dem Thread der ausführlichen FAQ habe ich schon vor ein paar Tagen gelöscht. Dafür habe ich jetzt, bis auf die ersten beiden, pro Kapitel einen neuen Beitrag angefügt und diesen, was die Textaufteilung angeht heute Vormittag nochmals bearbeitet. Meine Frage aus Post #7, ob das so jetzt in Ordnung ist, oder noch Leerzeilen eingefügt werden sollen bezog sich auf diese letzten Änderungen im ausführlichen FAQ, speziell, wenn ich den Wink von Harald richtig verstanden habe, auf Beitrag #6.


----------



## rostiger Nagel (18 Januar 2018)

oliver.tonn schrieb:


> Hallo rostiger Nagel,
> 
> den Beitrag 1 aus dem Thread der ausführlichen FAQ habe ich schon vor ein paar Tagen gelöscht. Dafür habe ich jetzt, bis auf die ersten beiden, pro Kapitel einen neuen Beitrag angefügt und diesen, was die Textaufteilung angeht heute Vormittag nochmals bearbeitet. Meine Frage aus Post #7, ob das so jetzt in Ordnung ist, oder noch Leerzeilen eingefügt werden sollen bezog sich auf diese letzten Änderungen im ausführlichen FAQ, speziell, wenn ich den Wink von Harald richtig verstanden habe, auf Beitrag #6.



ich meine eigentlich die Schreibweise hier, aber eigentlich ist Sie im 
ausführlichen Thread nicht besser.

Ich finde die Schriftgröße kann vielleicht ein wenig größer [zb 3] sein und bitte
nicht die volle Editorbreite ausnutzen.

Ruhig mal auf Vorschau tippen, wie dann die Gestaltung aussieht.

Wenn ich dir vorhin so eine schlechte Schulnote gegeben haben, nimm mir 
das bitte nicht krumm. Ich könnte das nicht einmal ansatzweise so gut wie 
du. 

Aber das lesen ist, in der Form wie es bisher war Anstrengend.


----------



## oliver.tonn (18 Januar 2018)

OK, werde ich beherzigen. Bei der kompakten Version dachte ich eigentlich wären so viele Absätze nicht nötig, weil es ja kompakt ist und auch bleiben sollte, aber da müssen wohl doch welche rein. Bezüglich der Schriftgröße und der genutzten Breite werde ich mal nachher noch Änderungen machen.
Das mit der Schulnote nehm ich Dir nicht krumm. Im Gegenteil, ich habe das ja extra zunächst im Stammtisch veröffentlicht damit ich von Euch konstruktive Kritik erhalte und den Einen oder Anderen Schubs in die richtige Richtung. Ich erstelle schon seit einigen Jahren immer mal wieder Anleitungen, allerdings war ich bisher nur für den Inhalt und nicht das Design verantwortlich.

Nachtrag: Habe das mit der Größe und der Breite mal schnell in dieser FAQ gemacht. Das mit der Größe ist auch gut so, aber dadurch das nicht die komplette Breite genutzt wird und eine Trennung nicht immer an der selben Stelle möglich/sinnvoll ist finde ich wird der Text unruhig.


----------



## rostiger Nagel (18 Januar 2018)

Das ist glaube ich, auch nicht so einfach mit den Möglichkeiten, die der Editor bietet.


----------



## oliver.tonn (18 Januar 2018)

Und, konnte ich mit den Veränderungen meine Note steigern?


----------



## rostiger Nagel (18 Januar 2018)

oliver.tonn schrieb:


> Und, konnte ich mit den Veränderungen meine Note steigern?



Für den Inhalt schon einmal ein 1+
die Gestaltung ist auch besser geworden 2+


----------



## oliver.tonn (18 Januar 2018)

Mit dem Notenschnitt kann ich glaube ich leben und hoffentlich auch alle anderen die sich für das Thema interessieren und das Machwerk im FAQ-Bereich lesen. Ich werde heute abend die große FAQ mal genau so überarbeiten.
Jetzt muss ich nur noch die Probleme mit den Bildern in den Griff kriegen, dann kann das Ganze doch noch am WE, so Du Zeit hast, umkopiert werden.


----------



## oliver.tonn (18 Januar 2018)

So diese kompakte FAQ sollte jetzt fertig sein. Was die Bildgrößen angeht gebe ich auf. Ich habe vorher alle Bilder aus dem Post gelöscht und auch gewartet bis diese vom Server entfernt wurden und diese dann über den Button Grafik hinzufügen hochgeladen/hinzugefügt. Es kommt trotzdem Blödsinn raus.
Ich werde bei der ausführlichen FAQ jetzt mal nicht Firefox, sondern den IE nehmen, vielleicht bringt das einen Unterschied, ansonsten bleiben die Bilder so, sorry.


----------



## PN/DP (18 Januar 2018)

Anleitung Bilder einfügen

Harald


----------



## oliver.tonn (19 Januar 2018)

@Harald: Ganz herzlichen Dank für die tolle Unterstützung. Das mit den Bildern werde ich in Angriff nehmen, allerdings erst nächste Woche, da ich nur am WE zu Hause bin gehört das der Familie.
@rostiger Nagel und die anderen Moderatoren: Aufgrund der Probleme mit den Bildern sollten wird das mit dem Verschieben besser verschieben   Wieso sehen die Formeln die ich in Tabellen erstellt habe in Tapatalk eigentlich so sch.... aus? Es scheint so als ob Tapatalk Änderungen an den Tabellen auch nicht übernimmt, ich habe mal testweise einen Rahmen aktiviert, aber in Tapatalk erschien dieser nicht, das Änderungsdatum wurde aber aktualisiert. Habt Ihr Möglichkeiten die Anzahl der Anhänge/Bilder pro Beitrag für einzelne Beiträge oder Benutzer temporär zu erhöhen? Für die Lesbarkeit in Tapatalk wäre es denke ich mal besser, wenn ich alle Formeln als Bilder einfüge, nur dann reichen die fünf Anhänge nicht, oder ich muss die betreffenden Kapitel auf zwei Beiträge aufteilen.


----------



## oliver.tonn (24 Januar 2018)

Danksagung verschoben:

Hallo,
ich möchte mich zunächst bei rostiger Nagel, holgermaik und LargoD für die konstruktive Kritik bedanken. Das Thema ist sehr umfangreich und dadurch ist die ursprüngliche FAQ  zum Thema Skalierung auch sehr mächtig geworden. Wie rostiger Nagel  vorgeschlagen hat (Soweit ich ihn richtig verstanden habe) werde ich die  FAQ (Außer die ersten beiden) je Kapitel auf einzelne Threads  verteilen. Dann hatte holgermaik den Vorschlag gemacht eine kompakte  Version mit einem Verweis auf die große Variante zu erstellen. Ich habe  mich also mal an den Herd gestellt und das Ganze etwas eingekocht. Hier  ein erster Vorschlag für eine Kompaktversion:


----------



## oliver.tonn (26 Januar 2018)

@rostiger Nagel und die anderen Moderatoren: So, endlich, ich habe fertig. Ich habe gestern noch die Bilder (Danke Harald für den Tipp) eingefügt und die FAQ ist jetzt endlich fertig zum Verschieben. Als Namen hatte ich an "Skalierung von (Analog-) Werten (kompakt)" gedacht. Sobald es verschoben ist würde ich noch beim Kapitelverweis am Anfang die Links zur ausführlichen Version hinzufügen.


----------



## Ralle (26 Januar 2018)

Achtung

Ich hab mal mit Oliver PN getauscht.
Er erstellt alle Beiträge in einem Extra Thread.
Diese Beiträge verschieben wir dann in die FAQ.
So bleibt er der Urheber in der FAQ, das finde ich besser.


----------

