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

Uli001

Level-1
Beiträge
40
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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