S7-300 Kommaverschieben?

erzteufele

Level-2
Beiträge
738
Reaktionspunkte
167
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

weiß jemand ob und wie ;) es Funktionen gibt wo man einfach bei einer Zahl das komma verschieben kann?

Quasi
aus 276 wird 27,6 ?
aus 0 wird 0,0

gibt es sowas?

Einsatz wäre ein Analogeingang von einem Murr Feldbus Analogeingang mit Thermoelement dieser genau umwandelt im 0,1 schritt pro bit^^ also eigentlich Super
Analogeingang
Dez 0 = 0°
Dez 100 = 10,0°
Dez 13720 = 1372°

Also eine kommastelle ;)


Grüßel erzi
 
ja rechnen kann ich auch, will ich aber nicht :D so die Lösung mit Umwandeln und Durch 10 Teilen hab ich ja schon...
Ich will Kommastelle Verschieben nicht Teilen ;) in Hochsprachen kann ich das ja auch^^

Grüßel erzi
 
löse dich von der vorstellung, das komma körperlich verschieben zu können, das geht nur über die division PUNKT (und in die andere richtung mit der multiplikation)

die S7 kennt zu dem kein Festkommaformat mit dem es gehen könnte!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
? aber durch 10 teilen entspricht doch Komma verschieben!?
*10 Komma nach rechts
/10 Komma nach links!?

Willst du evtl. das ganze in einer Visu oder Panel darstellen?
Dann gibt es je nach Software die Möglichkeit automatisch ein Komma einzufügen.

Sonst weiß ich nicht was du willst! Ein PEW ist eben ein Integer und da gibt es keine Komma!

Kannst ja alles nach CHAR wandeln und dir einen String basteln was das dann bringt ist allerdings eine andere Frage! :)
 
ja rechnen kann ich auch, will ich aber nicht :D so die Lösung mit Umwandeln und Durch 10 Teilen hab ich ja schon...
Ich will Kommastelle Verschieben nicht Teilen ;) in Hochsprachen kann ich das ja auch^^

Grüßel erzi
Um's Teilen kommst Du hier wohl nicht herum.
Ich will Kommastelle Verschieben nicht Teilen
Erkläre mir bitte mal den Unterschied!:confused:
 
Wobei zu sagen wäre dass bei Bausteinen die häufiger aufgerufen werden es besser ist *0.1 statt /10 zu nehmen. Diese Anweisungen unterscheiden sich je nach CPU ja doch gewaltig in der bearbeitungszeit...

EDIT:
Ok ich hab grad nochmals in der Befehlsübersicht geschaut, der unterschied ist nur bei der 317er so gewaltig, aber das es ist auch immerhin die CPU die ich bis jetzt am meisten Programmiert hab.
 
Zuletzt bearbeitet:
Um's Teilen kommst Du hier wohl nicht herum.

Erkläre mir bitte mal den Unterschied!:confused:

Also der Unterschied ist die Operation

z.b. 276 : 10 = 27,6
20
76
70
60
60
0

das war Teilen ;) ziemlich langwiriger Prozess

und einfach Kommastelle verschieben ist im "AKKU" ein pip ^^ kann das jetzt schlecht erklären
z.b. 276 wird zu 27,6

wie gesagt in hochsprache gib´s sowas aber egal werd´s dann mal teilen^^

Grüßel erzi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ja ich lese was ihr schreibt ... ich glaube du weißt grad nicht was ich wirklich will^^ hinter Multiplizieren oder Dividieren steckt immer ein Rekursiver Rechenprozess, was ich eigentlich nicht wollte aber es geht anscheinend nicht ohne Richtig?

Ich muss um komma´s zu verschieben Rechnen in der SPS. 'leider'

Grüßel
 
ich dachte die kisten sind zum rechnen da?

L PEW
L 10
/I //Im Akku 1-L steht der Quotient, im Akku 1-H der Divisionsrest
T Vorkomma //Integer
SRD 16
T Nachkomma //Integer


da bricht dir ganz bestimmt nicht die Zykluszeit weg ;)

der kommakram spielt doch eh nur aufm display dann ne rolle
 
Ist nur nötig, wenn man im Zahlenformat von dem der SPS abweicht ;-). In Dualsystem bei Ganzzahlen geht das einfach mittels Shift. Wenn der SPS allerdings das Dezimalsystem aufgezwängt wird, dann hilft nur rechnen.
 
Hallo,
die SPS hat aber mit Rechnen gar kein Problem ...
Ich würde hier auch gerne mal erfahren, was dividieren mit Rekursion zu tun hat.

Vielleicht mal generell, da ich den Eindruck habe, dass sich viele Programmierer darüber keine Gedanken machen (ich habe da gerade auch so einen Pflegefall). Wenn ich einen Istwert einlese und dieser kein sinnvolles Format repränsentiert, dann kann man diesen doch einmal im Programm umwandeln und dann in der Folge im "brauchbaren" Format verwenden. Hierzu zählt sicher Zehntel-Grad in Grad konvertieren - auf jeden Fall aber ganz sicher Inkremente in Millimeter oder was es da sonst noch so gibt ...

Gruß
LL
 
Hallo,
die SPS hat aber mit Rechnen gar kein Problem ...
Ich würde hier auch gerne mal erfahren, was dividieren mit Rekursion zu tun hat.

Vielleicht mal generell, da ich den Eindruck habe, dass sich viele Programmierer darüber keine Gedanken machen (ich habe da gerade auch so einen Pflegefall). Wenn ich einen Istwert einlese und dieser kein sinnvolles Format repränsentiert, dann kann man diesen doch einmal im Programm umwandeln und dann in der Folge im "brauchbaren" Format verwenden. Hierzu zählt sicher Zehntel-Grad in Grad konvertieren - auf jeden Fall aber ganz sicher Inkremente in Millimeter oder was es da sonst noch so gibt ...

Gruß
LL
Hallo Larry,

wenn du dich an die Zeit zurückerinnerst, als du das Rechnen auf Papier gelernt hast, dann ist bei der Division schon so etwas wie Rekurison drin. Ich bezweifle allerdings, ob ein aktueller MC dies genau in dieser Art und Weise tut. Selbst die ersten FP-Bibliotheken für den PC in Assembler haben diese Technik so nicht angewandt.
 
Nur noch als Ergänzung:

Der Begriff Rekursion wird gerne verwendet, um FORTRAN-Programmierern Angst einzujagen :)

Im Grunde gibt es zu allen endlich rekursiven Algorithmen iterative Pendants, die dann benutzt werden, wenn die Programmiersprache keine sich selbst aufrufenden Unterprogramme unterstützt (weil eventuell der Stack statisch ist).
 
Zurück
Oben