PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ausgänge nacheinander schalten!



Krma1985
22.02.2009, 20:51
Hallo!!!

ich muss euch wiedermal ein bisschen nerven.das thema worum es geht hatten wir zwar schonmal unter http://www.sps-forum.de/showthread.php?t=24376 aber ich möchte es jetzt so haben das wenn ich den e0.0 einmal drücke der a0.0 angeht und wenn ich den e0.0 länger drücke dann der a0.1 nach einer bestimmt zeit an geht.dann nach ca 3 sekunden der a0.1 ausgeht und der a0.2 angeht wieder nach 3 sekunden der a0.2 aus geht und der a0.3 aus geht.aber wenn ich z.b. jetzt der a0.2 an ist den und ich den e0.0 los lasse dann soll der a0.2 gesetzt bleiben und das bei jeden ausgang.das alles darf aber nur funktionieren wenn der a0.0 an ist.durch erneutes tasten des e0.0 soll dann der a0.0 wieder ausgehen aber wenn es geht soll der zustand von a0.1-a0.3 gespeichert bleiben.
ich habe schon lange nicht mehr mit der schaltung ( http://www.sps-forum.de/showthread.php?t=24376 ) gearbeitet also ist das was ich da so gemacht hab schon bissl gelöscht aus mein hirn.
also für gute ratschläge bin ich immer zu haben.

elektrofuchs2
22.02.2009, 21:11
Ich würde dir gerne helfen, verstehe aber leider nicht so genau was du willst. Bitte versuche doch den Algorithmus etwas genauer zu beschreiben.

Ansonsten sind die von Dir angegeben Threads schon recht ausführlich.

Aus dem Hangelenk geschüttelt, würde ich sagen:
- Du setzt mit e0.0 (positive Flanke) einen Merker, der einen Timer startet. Gegebenefalls musst du ein SR-Glied benutzen.
- Gleichzeitig wird e0.0 weiterhin abgefragt (Langtastung) und ausgewertet.
Da kannst du dann wie sonst auch andere Verknüpfungen und andere Timer dranhängen und damit dann sozusagen Kurztastung und Langtastung auf einem Taster programmieren.

So könnte man auch das Verhalten der Tasterauswertung, wie es der ein oder andere Gebäudesystemtechniker vom KNX-EIB-System her kennt, umsetzen.

Hoffe einen Denkanstoss gegeben zu haben
MfG Elektrofuchs2

Krma1985
22.02.2009, 21:29
meinte das so!

[1
U E 0.0
L KT 500.0
SE T 0
NOP 0
NOP 0
NOP 0
U T 0
***
]
[2
U T 0
L KT 005.0
SE T 1
NOP 0
NOP 0
NOP 0
NOP 0
***
]
[3
U E 0.0
U T 0
UN T 1
S M 0.1
U M 0.2
R M 0.1
NOP 0
***
]
[4
U M 0.1
L KT 500.0
SE T 2
NOP 0
NOP 0
NOP 0
NOP 0
***
]
[5
U T 2
L KT 005.0
SE T 3
NOP 0
NOP 0
NOP 0
NOP 0
***
]
[6
U E 0.0
U T 2
UN T 3
S M 0.2
U M 0.3
R M 0.2
NOP 0
***
]
[7
U M 0.2
L KT 500.0
SE T 4
NOP 0
NOP 0
NOP 0
NOP 0
***
]
[8
U T 4
L KT 005.0
SE T 5
NOP 0
NOP 0
NOP 0
NOP 0
***
]
[9
U E 0.0
U T 4
UN T 5
S M 0.3
NOP 0
NOP 0
BE
]

hab mal bisschen rumprobiert.also das ist jetzt erstmal das programm für den wechsler also der ausgang an der andere aus durch das lange drücken des e0.0 usw.jetzt muss ich nur das noch mit reinbringen das das nur funktioniert wenn der a0.0 an ist.

achso die merker sind bei mir jetzt die ausgänge

Sven_HH
22.02.2009, 21:32
Ich habe Dir damals einen Lösungsweg aufgezeigt. Wenn Du dein Hirn etwas in Wallung bringen würdest dann könntest Du auch selbst deine Aufgabe lösen.
Also Hirn einschalten, dann schaffst Du es auch ohne fertige Lösung.

Gruß
Sven_HH

Krma1985
22.02.2009, 21:40
hab mein hirn eingeschaltet aber das dauert bissl bis das wieder kommt :-)

Sven_HH
22.02.2009, 21:43
dann lass Dir Zeit

Krma1985
26.02.2009, 20:40
so hab mal ein bisschen zeit gefunden und ein bisschen rumgetüfftelt.das da ist rausgekommen. nur ein problem gibt es.wenn ich mit den e65.0 lange taste und der a64.4 springt an dann wechselt er sofort wieder auf a64.0 er soll aber erst nach 5 sekunden wechseln.hab aber noch keinen fehler gefunden.vielleicht fällt euch was ein?


[1
UN E 65.0
U M 0.1
= M 0.2
***
]
[2
U E 65.0
= M 0.1
***
]
[3
U E 65.0
L KT 030.1
SE T 0
NOP 0
NOP 0
NOP 0
NOP 0
***
]
[4
U T 0
S M 0.3
***
]
[5
U M 0.2
UN A 65.0
S A 65.0
R M 0.2
***
]
[6
U M 0.2
U A 65.0
UN M 0.3
R A 65.0
R M 0.2
***
]
[7
U M 0.2
U A 65.0
R M 0.3
R M 0.2
***
]
[8
U T 0
UN M 0.4
= M 0.5
***
]
[9
U T 0
= M 0.4
***
]
[10
U M 0.5
U A 65.0
UN A 65.1
UN A 65.2
UN M 0.6
R M 0.5
S M 0.6
S A 65.1
***
]
[11
U M 0.5
U A 65.0
UN A 65.1
UN A 65.2
U M 0.6
R M 0.5
R M 0.6
S A 65.2


***
]
[12

UN T 0
R A 65.1
***
]
[13
UN T 0
R A 65.2
***
]
[14
U(
U(
U(
U(
U E 65.0
U A 65.0
L KT 500.0
SE T 1
NOP 0
NOP 0
NOP 0
U T 1
)
U E 65.0
U A 65.0
ON T 5
S M 1.4
ON A 65.0
O M 1.5
O M 1.6
R M 1.4
U M 1.4
L KT 500.0
SE T 2
NOP 0
NOP 0
NOP 0
U T 2
)
U E 65.0
U A 65.0
S M 1.5
ON A 65.0
O M 1.6
O M 1.7
R M 1.5
U M 1.5
L KT 500.0
SE T 3
NOP 0
NOP 0
NOP 0
U T 3
)
U E 65.0
U A 65.0
S M 1.6
ON A 65.0
O M 1.4
O M 1.7
R M 1.6
U M 1.6
L KT 500.0
SE T 4
NOP 0
NOP 0
NOP 0
U T 4
)
U E 65.0
U A 65.0
S M 1.7
ON A 65.0
O M 1.4
O M 1.5
R M 1.7
U M 1.7
L KT 500.0
SE T 5
NOP 0
NOP 0
NOP 0
NOP 0
***
]
[15
U M 1.4
= A 64.0
***
]
[16
U M 1.5
= A 64.1
***
]
[17
U M 1.6
= A 64.2
***
]
[18
U M 1.7
= A 64.3
BE
]

Krma1985
26.02.2009, 22:24
so hab jetzt nochmal nachgeschaut.habs soweit hinbekommen das es durchläuft so lange wie ich e65.0 gedrückt halte also a63.0 a63.1 a63.2 a63.3 a63.0 ... usw
wenn ich bei a63.1 anhalte dann wieder e65.0 gedrückt lasse springt es nach 5 sek. auf a63.2 aber wenn ich das gleiche bei a63.2 zu a63.3 mache funktioniert das nicht warum???


[19
U(
U(
U(
U(
U(
U(
O A 65.0
O M 2.4
S M 2.0
O M 2.2
O M 2.3
O M 2.1
ON A 65.0
R M 2.0
U M 2.0
)
U E 65.0
U A 65.0
L KT 500.0
SE T 10
NOP 0
NOP 0
NOP 0
U T 10
)
U E 65.0
U A 65.0
S M 2.1
ON A 65.0
O M 2.2
R M 2.1
U M 2.1
)
U E 65.0
U A 65.0
L KT 500.0
SE T 11
NOP 0
NOP 0
NOP 0
U T 11
)
U E 65.0
U A 65.0
S M 2.2
ON A 65.0
O M 2.3
R M 2.2
U M 2.2
)
U E 65.0
U A 65.0
L KT 500.0
SE T 12
NOP 0
NOP 0
NOP 0
U T 12
)
***
]
[20
U(
U T 12
U E 65.0
U A 65.0
S M 2.3
O T 14
O M 2.0
ON A 65.0
R M 2.3
U M 2.3
)
U E 65.0
U A 65.0
S M 2.5
UN A 65.0
R M 2.5
U M 2.5
L KT 400.0
SE T 13
NOP 0
NOP 0
NOP 0
U T 13
L KT 100.0
SE T 14
NOP 0
NOP 0
NOP 0
U T 14
S M 2.4
UN A 65.0
R M 2.4
NOP 0
***
]
[21
U M 2.0
= A 63.0
***
]
[22
U M 2.1
= A 63.1
***
]
[23
U M 2.2
= A 63.2
***
]
[24
U M 2.3
= A 63.3
BE
]

Krma1985
27.02.2009, 15:35
keiner eine antwort?? oder Idee???

dtsclipper
27.02.2009, 15:49
Spagetticode ohne Unterbrechungen, Symbole oder Kommentare.

Klamüsier das ganze doch mal auseinander, will sagen zerlege es in die einzelnen Sequenzen, dann wirst Du klarer sehen.

vladi
27.02.2009, 15:50
Hallo Meister,

ist das eigentlich ein Lauflicht, wenn man die Taste länger drückt, und wenn man loslässt soll die entspr. Lampe, die gerade brennt, stehenbleiben?

Gruss: V.

dtsclipper
27.02.2009, 15:53
Oder anderstrum: Wirf die Timer weg und programmiere es mit einem Sekundenzähler - Zählen, Vergleichen - Resetten - fertig.

vladi
27.02.2009, 15:56
..
Oder als eine Schrittkette, das Beste zur Übung und überhaupt.

V.

Krma1985
27.02.2009, 16:17
ja ich weis das das vielleicht bischen verwirrend ist aber ich finde ich komme so besser klar.

Krma1985
27.02.2009, 16:21
ja wenn mans so nimmt ein lauflicht

Krma1985
28.02.2009, 08:54
also von zählern hab ich keine ahnung wie das so funktionieren soll und von schrittketten erst recht nicht.kann mal jemand ein beispiel machen das wär super

dtsclipper
28.02.2009, 10:27
Für die Zählergruppe ist hier

http://www.spsforum.com/showthread.php?t=25813

ein gutes Beispiel .

Müsstest halt sagen wir mal bis Anzalhl * 5 zählen voe dem Reset

und die Vergleicher wären



L #Counter
L 5
<= I
= M 2.0

L #Counter
L 5
> I
= M 2.1

L #Counter
L 10
> I
= M 2.2

Ist jetzt für 'nen FB gedacht.
Für einen FC den #Counter durch ein MW ersetzen.

dtsclipper

Krma1985
28.02.2009, 19:24
ich probiere es mal aus.werd mich nochmal melden wenns geklappt hat oder auch nicht

Krma1985
28.02.2009, 19:44
kennt ihr ein programm für die s5 mit dem man schrittketten programmieren kann?weil mit mein s5 für windows gehts nicht.

Ralle
28.02.2009, 19:55
kennt ihr ein programm für die s5 mit dem man schrittketten programmieren kann?weil mit mein s5 für windows gehts nicht.

Es gibt da Graph5, das ist ein Zusatzpaket von Siemens und muß gekauft werden. Allerdings haben wir das nie genutzt, sondern die Schrittketten selbst geschrieben. Ich kenne da hauptsächlich 2 Varianten, einmal über Merker, die jeweils einen Schritt darstellen. Ist ein Schritt (z.Bsp, Schritt Nr. 5) abgearbeitet wird der Schrittmerker für diesen Schritt zurückgesetzt und der für Schritt Nr. 6 gesetzt usw. Noch eine Möglichkeit ist, ein Datenwort hochzuzählen und je nach Zählwert mit indirekter Adressierung zu der zum Schritt gehörenden Sprungmarke zu springen. Suche mal hier im Forum mit dem Suchwort "Schrittkette". Ist zwar oft zu Step7, aber gerade normale Merkerschrittketten sind da fast identisch. Wenn man das Prinzip verstanden hat, kann man es rel. leicht umsetzen.

Krma1985
28.02.2009, 21:16
zu dtsclipper

was du da geschrieben hast

---------
L #Counter
L 5
<= I
= M 2.0

L #Counter
L 5
> I
= M 2.1

L #Counter
L 10
> I
= M 2.2
---------------

funktioniert bei mir nicht.wenn ich das so eingebe in awl bringt der mir ein fehler bei L 5

hab jetzt die schaltung gemacht

;
U E 0.1
UN T 9
L KT 200.0
SE T 8
U T 8
L KT 100.0
SE T 9
NOP 0
NOP 0
NOP 0
U T 9
R T 8
NOP 0
NOP 0
U T 8
ZR Z 1
NOP 0
O E 0.1
O A 1.0
L KZ 004
S Z 1
NOP 0
NOP 0
NOP 0
U Z 1
= A 1.0
BE

heißt ich erzeuge immer ein impuls der den zähler runterzählen lässt.muss n ur irgendwie den zähler abfragen.wenn z.b zähler bei 1 ist soll der merker angehn oder sowas.

Larry Laffer
01.03.2009, 15:55
Hallo,
bei einer S5 hiesse das dann so :

L Counter
L KF 5
<=F
= M 2.0

L Counter
L KF5
> F
= M 2.1

L Counter
L KF10
> F
= M 2.2
Gruß
LL

Krma1985
02.03.2009, 21:22
so erstmal an alle danke die mir soweit geholfen haben.habs jetzt soweit hinbekommen nur noch ein kleines problem.solange wie ich den e0.1 gedrückt halte läuft er von a1.0 bis a1.3 durch.wenn ich in der mitte an halte zb bei a1.2 und dann erneut den e0.1 gedrückt lasse bleibt der a1.2 an zusätzlich fängt er wieder von worn an mit zählen also bei a1.0 so soll es aber nicht sein.er soll bei a1.2 weiterzählen also da wo vorher aufgehört wurde.hab da schon hin und her probiert aber irgendwie bekomm ich es nicht auf die reihe.hat von euch vielleicht einer eine idee???

programm siehe anhang

Krma1985
04.03.2009, 19:51
keiner eine antwort???

JoopB
04.03.2009, 21:10
U E 0.0
UN M 10.0 // HM
= M 10.1 // flank pos E 0.0

U E 0.0
= M 10.0

U M 10.1
UN A 0.0
S A 0.0
R M 10.1

U M 10.1
U A 0.0
R A 0.0
R M 10.1

U T 0
= M 10.2 // flank per 3 sec
U E 0.0
UN M 10.2
L KT300.0
SE T 0

U M 10.2
UN M 12.0 // HM vor A1.0
UN M 12.1 // HM vor A1.1
UN M 12.2 // HM vor A1.2
S M 12.0
R M 12.3 // HM vor A1.3
R M 10.2

U M 10.2
U M 12.0
S M 12.1
R M 12.0
R M 10.2

U M 10.2
U M 12.1
S M 12.2
R M 12.1
R M 10.2

U M 10.2
U M 12.2
S M 12.3
R M 12.2
R M 10.2

U M 12.0
= A 1.0

U M 12.1
= A 1.1

U M 12.2
= A 1.2

U M 12.3
= A 1.3

Krma1985
04.03.2009, 22:03
Danke für die antwort aber irgendwie funktioniert dein a0.0 nicht.also die durchschaltung von a1.0-a1.3 geht.nur die programmierung geht nicht vom a0.0 ich habs jetzt aber mitlerweile auch hinbekommen.meine awl ist zwar doppelt so lang wie deine aber es funktioniert

JoopB
05.03.2009, 09:02
Ein kleine fehler bei S A0.0 und R A0.0 (R M10.2 i.p.v. R M10.1)
Ist heute geänderd.

JOOP.

Krma1985
08.03.2009, 17:09
Hallo!

ich muss euch nochmal bisschen auf die nerven gehen.und zwar hab ich jetzt mal mein programm ins AG gespielt (programm siehe Anhang) in der simulation hat alles super geklappt nur als ich es reingespielt habe und versucht habe ging garnix.der a65.6 geht dann müsste eigentlich der a3.0 angehen.der geht aber erst an wenn ich erneut den e73.7 drücke aber er läuft nicht nur.er bleibt bei a3.0 stehen.an was kann das liegen?

Krma1985
08.03.2009, 17:10
ach ja dann hab ich noch ein problem.kann de OB251 ausm AG nicht auf den rechner kopieren.bringt der mir immer einen fehler.wieso?

Krma1985
10.03.2009, 17:18
hat hier auch keiner eine antwort???

Gebs
10.03.2009, 17:34
Hallo,

der OB 251 gehört zu den integrierten Funktionen, die nicht programmiert werden können
bzw. dürfen. Deshalb ist auch das laden und speichern des OBs gesperrt.

Grüße
Gebs

Krma1985
10.03.2009, 18:01
achso danke!für was ist der denn da?also was wird darin verarbeitet?

Sven_HH
10.03.2009, 19:00
OB 251 --> PID-Regelalgorithmus ab CPU 103

GRuß
Sven_HH

Krma1985
10.03.2009, 19:16
ok danke!
und nun zu mein anderen problem!weis da jemand den fehler?

Paul
10.03.2009, 22:43
ok danke!
und nun zu mein anderen problem!weis da jemand den fehler?

Ich glaube ich weiß die Lösung für dein Problem.

Befasse dich mal ernsthaft selbst damit.

Krma1985
11.03.2009, 19:45
Tolle Antwort!!!