addieren mit step 7 (s7-300)

stay

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Mahlzeit,

ich hab ne kleine aufgabe aber habe keinen baustein gefunden der das kann. voelleicht könnt ihr mir ja helfen also aufgabe:
4 motoren können laufen, alle unterschiedliche kw zahl. binärer eingang auf sps- halt nur ob an oder net an. so ich soll sagen auf nen AB wieviel kw gezogen werden und soll den generator abschalten wenn mehr als 10 kw gezogen werden. also motoren werden über den generator gespeist.
Motor 1 - 2 kW

Motor 2 - 3kW

Motor 3 - 5kW

Motor 4 - 7kW

ich hätte am liebsten nen Baustein wo ich alle 4 eingänge drauf setzt und eine zahl zuweiße und halt er rechnet.

vielen dank schon mal. :)
 
Einen Baustein??? Versuch doch erstmal selber eine Lösung zu finden.
Einen fertigen Baustein gibt es in Step7 nicht, der das kann...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn's für alles fertige Bausteine geben würde, bräuchte man ja keine Programmierer mehr. :rolleyes:

Also muss man sich ab und zu selber was einfallen lassen. :ROFLMAO:

Kleiner Ansatz:
4 INT Variablen:

MOT_1 = 2
MOT_2 = 3
MOT_3 = 5
MOT_4 = 7

aber nur, wenn das entsprechende Bit 1 ist, ansonsten eine "0" zuweisen.
Jetzt alle 4 Variablen (egal ob mit Wert oder "0") addieren. Wenn Summe größer als 10, dann abschalten.

Gruß
maweri
 
Mal eine etwas ausführliche Form, man kann das auch noch etwas einkürzen, aber so ist es wesentlich verständlicher:

Code:
L 0
T #MOT //MOT ist eine Int-Var

UN E 0.1 //Motor 1
SPB MOT2

L #MOT
L 2
+I
T #MOT

MOT2: UN E 0.2 //Motor 2
SPB MOT3

L #MOT
L 3
+I
T #MOT

MOT3: UN E 0.3 //Motor 3
SPB MOT4

L #MOT
L 5
+I
T #MOT

MOT4: UN E 0.4 //Motor 4
SPB MOTE

L #MOT
L 7
+I
T #MOT

MOTE: NOP 0

//und hier kommt der Vergleicher auf >10
 
so erstmal danke
zum einen bin ich kein techniker also kann ich nicht alles.
zum anderenmeister lampe hab ichs alleine versucht. wahrheitstabelle und 16 netzwerke... ich wollte das aber ein bisschen schöner machen und habe noch nie mit nem addierer gearbeitet...

Ralle :) erstmal vielen dank aber ich kann nur fup lesen.... würdest du nochmal ...:D danke
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Willst Du einen Schönheitspreis gewinnen oder Deine Funktion umgesetzt haben?
Ich check sowas nicht- "kann nur FUP lesen"- lies Buchstabe für Buchstabe. :)

Nicht bös sein, aber Du sollst was programmieren bist aber kein Techniker- meinst Du: kein Programmierer, oder wie? Oder fängst Du gerade an Techniker zu werden?

In FUP kannst Du das so lösen, dass Du 5 Netzwerke machst.
Im ersten nimmst Du einen MOVE-Befehl und schreibst am Eingang 0 hin, Ausgang zB in ein Merkerwert (zB MW10), damit ist der Wert initialisiert.

Dann machst Du 4 Netzwerke wo Du einen ADD_I (Addiere Integer) verwendest und jeweils Deinen Leistungswert mit dem MW10 addierst und den Ausgang wieder aufs MW10 schreibst. Am EN- Eingang nimmst Du den zur Leistung passenden Eingang, dh es wird nur addiert wenn die RM da ist.

Am Ende der 5 NWe steht im MW10 (kannst auch eine Temp-Variable nehmen) die Summe.

lG
Karl


lG
Karl
 
Zurück
Oben