Jump to content
Egraner

Variable in String integrieren

Empfohlene Beiträge

Hallo,

wir möchten an ein über RS232 angeschlossenes Gerät die Solldrehzahl übertragen.

MIt dem String OUT_SP_4 2000 \r\n wird die Solldrehzahl 2000 1/min übertragen.

Das Senden über den RS232-Ausgang funktioniert mit globalem String und auch mit einem im Modul eingegebenen String.

Wir würden gern 2000 durch eine Variable ersetzen, um die Drehzahl während des Betriebs zu ändern.

Wenn ich versuche, einen globalen String zu berechnen und dort eine Variable verwende, wird die Fehlermeldung

"Fehler im Ausdruck: falscher Datentyp des Ausdrucks angezeigt".

Auch strsfmt (${VAR_1},0,0) ergibt "ERR" als Wert.

Eine Variable in dem im Modul RS232-Ausgang eingegebenen String funktioniert auch nicht.

Kann man eine Variable in einen String integrieren?

Vielen Dank für die Hilfe...

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo!

Beispiel:

post-865-0-75955900-1431066844_thumb.jpg

Das Schaltbild sendet Kommandos via RS232 an ein Gerät mit einem E-Motor. Die Schieberegler bestimmen die Höhe der Parameter; diese werden in gobale Variablen geschrieben. Siehe "Inhalt der Globalen String und Variablen", unten die Variablen, oben die Strings.

Der Inhalt der Strings wird berechnet, da sich jedes Kommando durch ein vorangestellten Buchstaben unterscheidet (D, F, V).

Mit der Funktion StrFmt wird der Inhalt der entsprechenden Variablen in einen Text umgewandelt: StrFmt(Zahl, Stellen-insgesamt, Nachkommastellen).

Die Aktionsmodule versenden die Strings, wenn sich der Inhalt der zugehörigen Variable ändert - dann wurde bereits der neue Wert umgerechnet und der globale String hinter den Kulissen angepasst.

Das Gerät erwartet Kommandos, die zwischen <STX>- und <ETX>-Symbolen eingebettet sind und mit einem Carriage return <CR> abgeschlossen sind (siehe Ausgabe-String im Bild).

Anbei finden Sie auch das Beispiel-Schaltbild:

  • Die DSB-Datei ist ein DASYLab 13-Schaltbild.
  • Die DSA- und DMX-Dateien ergeben zusammen ein Schaltbild, das auch in älteren DASYLab geladen werden kann. Beide Dateien herunterladen. Beide Dateien müssen sich im selben Verzeichnis befinden.

manuell_fahrrad.DSB

manuell_fahrrad.DSA

manuell_fahrrad.DMX

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo,

vielen Dank für die schnelle Hilfe.

Ich habe den String falsch zusammengesetzt und auch strsfmt (${VAR_1},4,0) falsch benutzt. Bei strsfmt habe ich die Anzahl der Stellen mit 0 angegeben -> macht keinen Sinn.

Text muss zum Berechnen eines Strings in Anführungszeichen gesetzt und über + mit strsfmt.. verknüpft werden. Beispiel eines Strings: "OUT_SP_4 "+strsfmt (2500,4,0) ergibt den String: OUT_SP_4 2500

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Lädt...

×
×
  • Neu erstellen...