-> Hier kostenlos registrieren
Hallo zusammen,
ich verzweifle gerade ein wenig an einem Projekt.
Aufgabenstellung:
1 bis 32 Geräte (Bool) sollen nacheinander eingeschaltet werden. Abhängig davon wieviel Leistung benötigt wird. (0-100% Real)
Anzahl der Geräte wird vorgegeben (INT)
Bei steigender Leistungsanforderung soll das nächste freie Gerät eingeschaltet werden. Umlaufend - 1 bis max und dann wieder bei 1 anfangen.
Bei fallender Leistungsanforderung soll das zuerst eingeschaltete Gerät abgeschaltet werden - ebenfalls umlaufens 1-max und wieder bei 1 anfangen.
Quasi 2 Zeiger die hintereinander herlaufen und sich nicht überholen dürfen.
Das ganze in SCL - da bin ich kein Experte.
Bisher hab ich nur das:
#Flansche_aktiv := #"Anzahl Flansche gesamt"*REAL_TO_INT(#"Leistung_%")/100 ;
#Flansche_verfügbar := #"Anzahl Flansche gesamt" - #Flansche_aktiv;
#Leistung_erhöhen := #Flansche_aktiv < #Flansche_SOLL AND #"Anzahl Flansche gesamt" > #Flansche_aktiv;
#Leistung_verringern := #Flansche_aktiv > #Flansche_SOLL AND #Flansche_aktiv > 0;
// Leistung erhöhen
IF #Leistung_erhöhen THEN
#Flansche_SOLL := #Flansche_SOLL + 1;
END_IF;
IF #Leistung_verringern THEN
#Flansche_SOLL := #Flansche_SOLL - 1;
END_IF;
Vielleicht hat ja jemand Erbarmen und gilft mir weiter?!
grüßle
holgi
ich verzweifle gerade ein wenig an einem Projekt.
Aufgabenstellung:
1 bis 32 Geräte (Bool) sollen nacheinander eingeschaltet werden. Abhängig davon wieviel Leistung benötigt wird. (0-100% Real)
Anzahl der Geräte wird vorgegeben (INT)
Bei steigender Leistungsanforderung soll das nächste freie Gerät eingeschaltet werden. Umlaufend - 1 bis max und dann wieder bei 1 anfangen.
Bei fallender Leistungsanforderung soll das zuerst eingeschaltete Gerät abgeschaltet werden - ebenfalls umlaufens 1-max und wieder bei 1 anfangen.
Quasi 2 Zeiger die hintereinander herlaufen und sich nicht überholen dürfen.
Das ganze in SCL - da bin ich kein Experte.
Bisher hab ich nur das:
#Flansche_aktiv := #"Anzahl Flansche gesamt"*REAL_TO_INT(#"Leistung_%")/100 ;
#Flansche_verfügbar := #"Anzahl Flansche gesamt" - #Flansche_aktiv;
#Leistung_erhöhen := #Flansche_aktiv < #Flansche_SOLL AND #"Anzahl Flansche gesamt" > #Flansche_aktiv;
#Leistung_verringern := #Flansche_aktiv > #Flansche_SOLL AND #Flansche_aktiv > 0;
// Leistung erhöhen
IF #Leistung_erhöhen THEN
#Flansche_SOLL := #Flansche_SOLL + 1;
END_IF;
IF #Leistung_verringern THEN
#Flansche_SOLL := #Flansche_SOLL - 1;
END_IF;
Vielleicht hat ja jemand Erbarmen und gilft mir weiter?!
grüßle
holgi