OSCAT Forum

oscat.lib => oscat.lib fuer Step 7 => Thema gestartet von: computerpap am 28. März 2009, 15:08:33

Titel: Frage zu REAL_TO_STRF
Beitrag von: computerpap am 28. März 2009, 15:08:33
Hallo
Ich möchte die Funktion REAL_TO_STRF nutzen. Dazu habe ich mir ein Testprogramm erstellt.
Im OB1 rufe ich den FC278(REAL_TO_STRF) auf. Die Realzahl steht im DB1.DBD0.
Der String soll in DB1 ab Byte 4 geschrieben werden.
Wenn ich die Bausteine OB1, FC278, DB1 in die CPU kopiere,
geht diese in Stop. Im Diagnosepuffer steht als Fehlermeldung, dass
FC77 fehlt. Ich dachte, dass die Umwandlung nur im FC278 geschieht. Wo bekommt man denn
raus, welche FC's für welche Funktion gebraucht werden?

MfG
computerpap
Titel: Re: Frage zu REAL_TO_STRF
Beitrag von: computerpap am 28. März 2009, 15:25:33
Habs gerade selber gefunden, im Kommentarfeld stehen die zu verwendenden FC's drin, allerdings ist die Liste nicht ganz vollständig.
Ich mußte noch den FC17(INSERT) und den FC21(LEN) mit laden.
MfG
computerpap
Titel: Re: Frage zu REAL_TO_STRF
Beitrag von: dalbi am 28. März 2009, 17:21:10
Hallo computerpap,

Danke, werde ich korrigieren.

Gruss Daniel
Titel: Re: Frage zu REAL_TO_STRF
Beitrag von: computerpap am 31. März 2009, 17:20:21
Habe leider wieder ein Problem und bräuchte mal Hilfe.
Bei der Umwandlung der Realzahl in den String werden nur die Stellen vor dem Komma angezeigt. Bei den Nachkommastellen werden nur Punkte  angezeigt.
Folgende Bausteine habe ich geladen:
FC278(REAL_TO_STRF) und FC77(EXP10) aus der oscat-Lib,
FC2(CONCAT), FC5(DI_STRING), FC17(INSERT), FC21(LEN), FC31(REPLACE) aus der Standard-Lib
Im DB1 stehen IN-und OUT-Variablen für den FC278.
DB1.DBD0 = Realzahl
DB1 ab DBB4 22Byte für String.
Für Nachkommastellen habe ich bei Parameter N eine 2.
Wer kann mir sagen, wo das Problem ist?

MfG
computerpap
Titel: Re: Frage zu REAL_TO_STRF
Beitrag von: dalbi am 07. April 2009, 09:56:22
Hallo,

die Funktion REAL_TO_STRF hat leider einen Fehler. Anbei die korrigierte Version.

Scheinbar ist es mit der Funktion INSERT nicht möglich eine Variable doppelt zu verwenden Bsp. str := INSERT(IN1:=str, ....!  ???
Hat hierzu vielleicht einer eine Idee, da eine zweite Variable nur unnötig die Lokaldaten aufbläht?
Bei einem STRING[20] ist es ja noch egal aber bei größeren wird es dan Problematisch.

Gruss Daniel

[gelöscht durch Administrator]