WinCC E/A- Felder die sich gegenseitig überschreiben/beeinflussen

Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn das HMI die lineare Skalierung nicht kann oder unbedingt Programmcode geschrieben werden soll, dann könnte der Code etwa so aussehen (x1, x2, Zyklus1 sind BOOL, alle anderen Variablen sind REAL):
Code:
[COLOR=#008000]//Wert_1 [cm], Wert_2 [m][/COLOR]

[COLOR=#008000]//Prozessabbild der HMI-Variablen bilden (Zykluskontrollpunkt)[/COLOR]
HMI_Wert_1 := HMI_KommunikationsVar_1; [COLOR=#008000]// EA-Wert in cm[/COLOR]
HMI_Wert_2 := HMI_Kommunikationsvar_2; [COLOR=#008000]// EA-Wert in m[/COLOR]

x1 := HMI_Wert_1 <> Alt_Wert_1;
x2 := HMI_Wert_2 <> Alt_Wert_2;

IF x1 THEN
  HMI_Wert_2 := HMI_Wert_1 / 100.0;    [COLOR=#008000]// cm --> m[/COLOR]
END_IF;
HMI_Wert_1 := HMI_Wert_2 * 100.0;      [COLOR=#008000]// m --> cm[/COLOR]

Alt_Wert_1 := HMI_Wert_1;
Alt_Wert_2 := HMI_Wert_2;

IF x1 OR x2 OR Zyklus1 THEN
  HMI_KommunikationsVar_1 := HMI_Wert_1;
  HMI_KommunikationsVar_2 := HMI_Wert_2;
END_IF;

Prozess_Wert := HMI_Wert_2; [COLOR=#008000]//Prozess rechnet mit Wert in m[/COLOR]

Harald


Ich nutze die S7-1200 (CPU 1212C 6ES7121-1BE40-0XB0). Kann man da den Code auch ohne weiteres eingeben? :)

Gruß
Spencer

Nachtrag: Hatte da etwas verwechselt...AWL geht ja mit der 1200er nicht mehr. :)
 
Zuletzt bearbeitet:
Zurück
Oben