TIA S7-1214C Wert von 0-100% als Analogwert ausgeben

Uli001

Level-1
Beiträge
40
Reaktionspunkte
2
Hallo,

ich stehe gerade mal wieder auf dem Schlauch. Nach dem ich zum ersten Mal erfolgreich einen Schrittmotor angesteuert habe quäle ich mich gerade mit einem Analogausgang an der S7-1214C DC/DC/DC.

Ich habe ein SB mit einem AO verbaut. Über diesen wollte ich ein Proportionalventil von Festo steuern. Als Eingangswert habe ich einen Wert im Parametersatz zwischen 0 und 100% Dieser soll auf 0-20mA umgesetzt werden. Was ich bis jetzt gefunden habe gab die Verwendung von NORM_X und SCALE_X vor.
Ich verwende also NORM_X mit den Grenzen 0 und 100 und meinem Eingabewert. Anschließend skaliere ich den Wert mit SCAL_X und 0 bzw. 27648 als Grenzen. Als Ergebnis habe ich einen Wert im Format Real. Das SB erwartet aber einen Wert als WORD (%WQ80). Ich habe aber nur eine Umwandlung von REAL in DWORD gefunden.

Habe ich hier einen Fehler in der Vorgehensweise oder wie bekomme ich den skalierten REAL-Wert jetzt auf das Ausgabewort?

VG
Uli
 
Auf der 1200er gibt es keinen fertigen Baustein für das. Am besten schreibst du es selbst... ((27648/100%)*Eingabewert)

Dafür gibt es den Calculate Baustein von Siemens. in dem kannst du solche Rechnungen schreiben
 
Scale_X kann sowohl Gleitpunkt als auch Ganzzahlen ausgeben.
Das ist abhängig vom Typ der Variable welche du davor schreibst.

Code:
#myREAL:=0.5;    // angabe in %
#myINT := SCALE_X(MIN := 0, VALUE := #myREAL, MAX := 27648);

Funktioniert auf meiner 1214C einwandfrei ;)


edit: vervollständigt
 
Zuletzt bearbeitet:
Tatsächlich

Das war am Anfang noch nicht :-) Wieder etwas dazugelernt

PS:

Du kannst aber Prozent nur dezimal angeben. Ist nicht weiter tragisch, aber verstehen tu ich so etwas nicht...
 
Zuletzt bearbeitet:
Zurück
Oben