Autor
|
Thema: Programmierungsproblem mit einer PS4-341-MM1
|
Caestmoi
Usernummer # 11259
|
verfasst
Bin gerade dabei ein Regelungsprogramm für eine SPS des Types "PS4-341-MM1" von Möller zu erstellen und bin gerade dabei an meine Grenze gestoßen.
Folgendes Problem:
Von einem Operator-Panel wird ein Sollwert (MW56) eingestellt. Dieser Wert muß in Abhängigkeit von von zwei binären Signalen dementsprechend multiplziert werden. Solange das Signal von "DREHZAHL3.GREATER" den Zustand 0 hat muß mit 0,5 multipliziert werden und wenn "PUMPEN.Q1" den Zustand 1 erreicht hat soll mit 2 multiplziert werden. Ziel ist einen entsprecheneden Wert an "DREHZAHL0.INPUTVALUE1" zu erhalten, siehe Tabelle:
|...0..|...0..|...1..|...1..|.PUMPEN.Q1 |...0..|...1..|...1..|...0..|.DREHZAHL3.GREATER ------------------------------------------- |.0,5.|.1,0.|.2,0.|.0,5.|.FAKTOR
Für Eure Hilfe wäre ich Euch sehr dankbar...
Greetz CJ
Aus: Oberstaufen | Registriert: Dec 2003
| IP: [logged]
| |
|
|
PaZa
Usernummer # 5798
|
verfasst
Vestehe die Aufgabe nicht ganz. Was soll denn multipliziert werden? Was für eine Programmiersprache hat denn Möller (AWL, FUP, KOP)?
Aus: schwerin | Registriert: Apr 2002
| IP: [logged]
| |
|
|
Caestmoi
Usernummer # 11259
|
verfasst
Programmiert wird in AWL.
Das "MW56" soll mit einem Faktor, welcher von den Binärsignalen "DREHZAHL3.GREATER" und "PUMPEN.Q1" anhängig ist, mulipliziert werden.
Beispielaufgabe: Es handelt sich um Pumpen, welche eine gewünschte Fördermenge fördern sollen. Normalerweise ist nur eine Pumpe in Betrieb diese soll beispielsweise 7 Liter/Sekunde fördern (= MW56). Jedoch, wenn die Leitung leer ist darf sie nur 50% (=Faktor 0,5)fördern, bis 5 m³ in der Leitung sind (=DREHZAHL3.GREATER). Sollte jedoch zuviel Wasser im Vorlageschacht sein, so schaltet eine zweite Pumpe dazu, welche in die gleiche Leitung fördert. Wenn jede Pumpe 7 Liter/Sekunde fördern soll, so fördern als zwei Pumpen 200% (=Faktor 2,0).
Aber ich hab keinen Plan wie ich diese Rechnung in der SPS realisieren soll...
Aus: Oberstaufen | Registriert: Dec 2003
| IP: [logged]
| |
|
|
PaZa
Usernummer # 5798
|
verfasst
Das mit dem Multiplizieren muss sein, oder? Sonst hätte ich die Pumpe mit ´nem FU angesteuert und wenn der Wasserstand zu niedrig wird, hätte ich das mit ´nem Geber an die SPS geschickt und der FU läuft nur noch auf halber Frequenz. Und wenn der Wasserstand zu hoch ist, dann würde ein zweiter Geber der zweiten Pumpe signalisieren, dass sie starten soll. Aber du kannst bestimmt nicht aufs Multiplizieren verzichten, weil der Wert (also die Fördermenge) während des Betriebs manuell verstellbar sein soll. Richtig? Sorry, dass ich dir keine Hilfe bin. [ 10.04.2005, 21:24: Beitrag editiert von: PaZa ]
Aus: schwerin | Registriert: Apr 2002
| IP: [logged]
| |
|
|
Caestmoi
Usernummer # 11259
|
verfasst
Danke für deine Mühe. Hab heute die Lösung bekommen. Das Geheimnis heißt bedingter Sprung (JMPC). Auszug aus dem Programm:
LD PUMPEN.Q1 ORN PUMPEN_Q1 ANDN DREHZAHL3.GREATER JMPC DREZAHL_A
LDN PUMPEN.Q1 AND DREHZAHL3.GREATER JMPC DREHZAHL_B
LD PUMPEN.Q1 AND DREHZAHL3.GREATER JMPC DREHZAHL_C
DREHZAHL_A: LD MW56 DIV 2 ST DREHZAHL0.INPUTVALUE1 JMP DREHZAHL_END
DREHZAHL_B: LD MW56 ST DREHZAHL0.INPUTVALUE1 JMP DREHZAHL_END
DREHZAHL_C: LD MW56 MUL 2 ST DREHZAHL0.INPUTVALUE1
DREHZAHL_END:
Aus: Oberstaufen | Registriert: Dec 2003
| IP: [logged]
| |
|
|
|