# Einsteiger braucht Hilfe



## JoeDreck (24 Juni 2011)

Hallo Leute, ich bin ein SPS Einsteiger, und es haben sich nun einige Fragen aufgehäuft, die ich mit eurer Hilfe sicher beantworten kann.

Erste Frage: Wie kann man in STEP5 eine XOR Verknüpfung mittels AWL realisieren? Einen X Befehl wie in STEP7 gibt es ja nicht.


Meine Idee:

```
[FONT=&quot]U([/FONT]   
[FONT=&quot]UN E 0.1[/FONT]   
[FONT=&quot]U  E 0.2[/FONT]   
[FONT=&quot])[/FONT]   
[FONT=&quot]O[/FONT]   
[FONT=&quot]([/FONT]   
[FONT=&quot]U   E 0.1[/FONT]   
[FONT=&quot]UN  E 0.2[/FONT]   
[FONT=&quot])[/FONT]   
[FONT=&quot]= A 0.0[/FONT]
```


----------



## vierlagig (24 Juni 2011)

schöne idee, sollte so funktionieren


----------



## JoeDreck (24 Juni 2011)

vierlagig schrieb:


> schöne idee, sollte so funktionieren



Super Danke!

Das nächste Problem ist: Ich habe einen Eingang E 0.0 und einen Ausgang A1.0. Mit der Änderung von 0 zu 1 am Eingang, soll der Ausgang 5 Sekunden lang 1 sein, egal wie oft, oder wie lange man in der Zeit E 0.0 betätigt.

Keine Ahnung wie ich bei so was ran gehen soll.


----------



## vierlagig (24 Juni 2011)

speichernder impuls ... hieß das, globsch


----------



## JoeDreck (24 Juni 2011)

vierlagig schrieb:


> speichernder impuls ... hieß das, globsch



Das hier: http://www.sps-lehrgang.de/zeitfunktion-ss/


----------



## Cassandra (24 Juni 2011)

Nö ........


----------



## vierlagig (24 Juni 2011)

JoeDreck schrieb:


> Das hier: http://www.sps-lehrgang.de/zeitfunktion-ss/



nee, sorry, hieß verlängerter impuls...http://www.sps-programm.info/zeit-s5-verlaengerter-impuls


----------



## JoeDreck (24 Juni 2011)

Kein Problem. 









```
U   E    0.1
L   S5T#20S
SV  T   10
U   E    1.0
R   T   10
L   T   10
T   MW  10
LC  T   10
T   MW  14
U   T   10
=   A    2.0
```

Was bewirken die ganzen Lade Befehle?


----------



## vierlagig (24 Juni 2011)

JoeDreck schrieb:


> Was bewirken die ganzen Lade Befehle?



das kann man doch wunderbar am bild ablesen


----------



## JoeDreck (25 Juni 2011)

vierlagig schrieb:


> das kann man doch wunderbar am bild ablesen



Kann ehrlich gesagt nicht viel damit anfangen. =(

Könntest du bitte mal kurz erklären, was die AWL macht.


----------



## Toki0604 (25 Juni 2011)

U Eingang
Lade Zeit im S5-Format
setze verzögert timer 10
UN Eingang
Rücksetze timer 10
Lade  t 10 (Zeitwert binär codiert)
transferiere zum MW 10
lade t 10 (Zeitwert BCD-codiert)
transferiere zum MW 14
U timer 10
= a 2.0


----------



## vierlagig (25 Juni 2011)

Toki0604 schrieb:


> U   e    0.1
> l   s5t#20s
> sv  t   10
> u   e    1.0
> ...



*ROFL*

genau DAS machts AWL
in KOT und FUCK siehts halt einfach anders aus...

die adressen wirste jawohl von alleene wieder finden, oder?


----------



## Toki0604 (25 Juni 2011)

Sorry durch falsche Taste mittendrin weggeschickt....
Toki


----------



## vierlagig (25 Juni 2011)

Toki0604 schrieb:


> Sorry durch falsche Taste mittendrin weggeschickt....
> Toki


tz, deine mutter steht 5 vor 7 vorm aldi und singt "the final countdown"


----------



## Toki0604 (25 Juni 2011)

@ Joe Dreck,
die AWL-Befehle im Editor einfach markieren und F1-Taste drücken. 
	

	
	
		
		

		
		
	


	




@ vierlagig
das kannst du dem Code entnehmen? Respekt! 
	

	
	
		
		

		
		
	


	




Toki


----------



## JoeDreck (25 Juni 2011)

Die AWL würde mein Aufgabe schon lösen oder? Ich müsste nur noch die Zeit anpassen?!


----------



## Paule (25 Juni 2011)

JoeDreck schrieb:


> Die AWL würde mein Aufgabe schon lösen oder? Ich müsste nur noch die Zeit anpassen?!


Auf jeden Fall!

PS: Ist das nicht das Bild vom MacGyver? 
In diesem Fall noch eine Büroklammer und einen Kaugummi auf die SV kleben damit die Zeit auch flexibel (dehnbar) bleibt.


----------



## LarsVader (25 Juni 2011)

Und die Kugelschreiberfeder nicht vergessen


----------



## JoeDreck (25 Juni 2011)

Paule schrieb:


> Auf jeden Fall!
> 
> PS: Ist das nicht das Bild vom MacGyver?
> In diesem Fall noch eine Büroklammer und einen Kaugummi auf die SV kleben damit die Zeit auch flexibel (dehnbar) bleibt.



MacGyver rockt! 

Nochmal meine Aufgabe:
Ich habe einen Eingang E 0.0 und einen Ausgang A1.0. Mit der Änderung von 0 zu 1 am Eingang, soll der Ausgang 5 Sekunden lang 1 sein, egal wie oft, oder wie lange man in der Zeit E 0.0 betätigt.


Und hier jetzt meine Lösung:

```
[B]U   E    0.0[/B]
[B]L   S5T#5S[/B]
SV  T   10   // Könnte ich hier auch Timer 1 nehmen, oder macht Timer 10 was besonderes?
[B]U   E    0.0[/B]
R   T   10
L   T   10
T   MW  10
LC  T   10
T   MW  14   // Steht Timer 14 für was bestimmtes?
U   T   10
[B]=   A    1.0[/B]
```
Das fett markierte sind meine Änderungen und die Komentare sind Fragen die ich noch zu der Lösung habe.

Danke Leute, ihr rettet mir das Leben!


----------



## bike (25 Juni 2011)

JoeDreck schrieb:


> MacGyver rockt!
> 
> Nochmal meine Aufgabe:
> Ich habe einen Eingang E 0.0 und einen Ausgang A1.0. Mit der Änderung von 0 zu 1 am Eingang, soll der Ausgang 5 Sekunden lang 1 sein, egal wie oft, oder wie lange man in der Zeit E 0.0 betätigt.
> ...



Also ich sehe da ein Problem 
Wenn du mit E0.0 den Timer anschmeißt und dann sofort wieder abschaltest, das tud nich gud.
Warum willst du den Timer stoppen?

Und ja, du kannst jeden freien Timer nehmen, den deine CPU unterstützt.


bike


----------



## bike (25 Juni 2011)

Paule schrieb:


> Auf jeden Fall!
> 
> PS: Ist das nicht das Bild vom MacGyver?
> In diesem Fall noch eine Büroklammer und einen Kaugummi auf die SV kleben damit die Zeit auch flexibel (dehnbar) bleibt.



Schweizer Messer nicht vergessen, wegen Zeit (be)schneiden. 



bike


----------



## JoeDreck (25 Juni 2011)

bike schrieb:


> Also ich sehe da ein Problem
> Wenn du mit E0.0 den Timer anschmeißt und dann sofort wieder abschaltest, das tud nich gud.
> Warum willst du den Timer stoppen?
> 
> ...



Also den Timer 10 erst in der vorletzten Zeile (vor dem = Ausgang) zurücksetzten?


----------



## bike (25 Juni 2011)

JoeDreck schrieb:


> Also den Timer 10 erst in der vorletzten Zeile (vor dem = Ausgang) zurücksetzten?



Nein, nicht zurücksetzen, warum? 
Du willst doch die Zeit immer komplett ablaufen lassen, wenn ich dich richtig verstanden habe


bike


----------



## JoeDreck (25 Juni 2011)

bike schrieb:


> Nein, nicht zurücksetzen, warum?
> Du willst doch die Zeit immer komplett ablaufen lassen, wenn ich dich richtig verstanden habe
> 
> 
> bike



Achso, ok, ich habe gedacht dass man den Timer so oder so wieder zurücksetzen muss. 

Das ganze noch mal als AWL:


```
U   E    0.0
L   S5T#5S
SV  T   10  
U   E    0.0
L   T   10
T   MW  10
LC  T   10
T   MW  14   
U   T   10
=   A    1.0
```


----------



## bike (25 Juni 2011)

JoeDreck schrieb:


> Achso, ok, ich habe gedacht dass man den Timer so oder so wieder zurücksetzen muss.
> 
> Das ganze noch mal als AWL:
> 
> ...



Und solange du die Zeitwerte von dem Timer nicht benötigst, kannst du das Laden und Transferieren weglassen. 
Damit es in KOP oder FUP angezeigt werden kann, kannst du bei jedem L und T ein NOP 0 reinschreiben.


bike


----------



## JoeDreck (25 Juni 2011)

Im Endeffekt bräuchte ich nur:


```
U   E    0.0
L   S5T#5S
SV  T   10  
U   E    0.0
U   T   10
=   A    1.0
```


----------



## dalbi (25 Juni 2011)

Hi,



JoeDreck schrieb:


> Im Endeffekt bräuchte ich nur:




```
U   E    0.0
L   S5T#5S
SV  T   10  
U   T   10
=   A    1.0
```



Gruss Daniel


----------



## Paule (25 Juni 2011)

JoeDreck schrieb:


> MacGyver rockt!
> 
> Nochmal meine Aufgabe:
> Ich habe einen Eingang E 0.0 und einen Ausgang A1.0. Mit der Änderung von 0 zu 1 am Eingang, *soll der Ausgang 5 Sekunden lang 1 sein*, *egal wie oft*, oder wie lange man in *der *Zeit *E 0.0 betätigt*.


 
Das geht leider so nicht, denn eine SV wird immer wieder "nachgetriggert".

```
Nehmen wir an jeder Strich ist eine Sekunde lang:
 
[FONT=Courier New]E 0.0   _-______--------__[COLOR=red]-_-_-[/COLOR]_____[/FONT]
 
[FONT=Courier New]A 1.0   _-----__-----_____[COLOR=red]-----[/COLOR]----_[/FONT]
```
Richtig wäre:

```
UN T 10
   R M 1.0
 
   U E 0.0
   S M 1.0
   U M 1.0
   L S5#T5s
   SV T 10
   U  T 10
   = A 1.0
```


----------



## bike (25 Juni 2011)

JoeDreck schrieb:


> Im Endeffekt bräuchte ich nur:
> 
> 
> ```
> ...



Noch nicht ganz richtig 

U E0.0
L S5T#5S
SV T 10
NOP 0 // Platzhalter für graphische Darstellung
NOP 0
NOP 0
U T 0
= A 1.0

So ist es komplett und sogar in KOP und FUP darstellbar.

Dein zweites U E0.0  war nicht so ganz richtig

bike


----------



## 190B (25 Juni 2011)

Paule schrieb:


> Das geht leider so nicht, denn eine SV wird immer wieder "nachgetriggert".
> 
> ```
> Nehmen wir an jeder Strich ist eine Sekunde lang:
> ...


 
Hallo Paule,

hat sich der Fehlerteufel eingeschlichen....


----------



## JoeDreck (25 Juni 2011)

Die Version von Paul ist jetzt die richtige Lösung?


----------



## bike (25 Juni 2011)

JoeDreck schrieb:


> Die Version von Paul ist jetzt die richtige Lösung?



Hast du dir Lösung genau angeschaut?
Hast du gesehen, was der Unterschied zwischen deiner/meiner und seiner Lösung ist?

Paule hat doch noch Merker eingefügt. Warum wohl?

Es geht auch ohne zusätzlichem Merker, wenn du dein Startsignal mit dem Timer verriegelst.


bike


----------



## JoeDreck (25 Juni 2011)

Ich sehe die textuellen Unterschiede, weiß aber nicht genau was sie bewirken, deswegen wollte ich nochmal sicher gehen.


----------



## bike (25 Juni 2011)

JoeDreck schrieb:


> Ich sehe die textuellen Unterschiede, weiß aber nicht genau was sie bewirken, deswegen wollte ich nochmal sicher gehen.



Wenn du die Befehle nicht verstehst ist es schwer, zu programmieren.
Du musst wissen was zuweisen, setzen und rücksetzen bedeuten.
Dies ist das Minimum was du wissen musst.
Dann würde ich die Textzeilen nehmen und mir dahinter in der ersten Spalte das VKE eintragen.
Dann den Eingang auf Eins setzen und die Änderungen notieren in Spalte 2.
Du weißt doch hoffentlich was das VKE ist? 


bike


----------



## Paule (25 Juni 2011)

JoeDreck schrieb:


> Ich sehe die textuellen Unterschiede, weiß aber nicht genau was sie bewirken, deswegen wollte ich nochmal sicher gehen.


Der Merker verhindert einfach dass ein erneutes Startsignal auf den Timer kommt. Denn wie schon geschrieben wird die Zeit bei jedem VKE-Wechsel von 0 auf 1 frisch gestartet.
Natürlich kann man auch wie bike schreibt, die Zeit zur Verriegelung nehmen, ist sogar die schönere Variante.
Also jetzt noch mal Fehlerfrei: 

```
U E 1.0
   UN T 10
   L S5[COLOR=black]T#[/COLOR]5s
   SV T 10
   NOP 0   // |
   NOP 0   // |- Nur notwendig für FUP/KOP Darstellung
   NOP 0   // | 
   U  T 10
   = A 1.0
```


----------



## JoeDreck (25 Juni 2011)

Ok, alles klar. DANKE!!!!

Ich muss mich noch an die SPS "Denkweise" gewöhnen.

Die nächste Aufgabe kommt dann gleich.


----------



## JoeDreck (25 Juni 2011)

Folgendes "Problem":


```
U(
O    E         1.0
O    E         1.1
)
UN   M        10.2
S    M        20.0

U    E         1.2
U    E         1.3
R    M        20.0

U    M        20.0
=    A         4.0
```
Nach jedem Setzen bzw. Rücksetzen beginnt doch eine neue Verknüpfungskette oder? Habe ich bei der AWL dann 3 Verknüpfungsketten?


----------



## Paule (25 Juni 2011)

JoeDreck schrieb:


> Folgendes "Problem":
> Nach jedem Setzen bzw. Rücksetzen beginnt doch eine neue Verknüpfungskette oder? Habe ich bei der AWL dann 3 Verknüpfungsketten?


Wenn man es so bezeichnen will, ja.
Aber warum ist das ein Problem?


----------



## Tommi (25 Juni 2011)

JoeDreck schrieb:


> Folgendes "Problem":
> 
> 
> ```
> ...


 
Ist lange her, aber ich denke schon.
Trenn das mal durch Leerzeile.

Gruß
Tommi


----------



## JoeDreck (25 Juni 2011)

Paule schrieb:


> Wenn man es so bezeichnen will, ja.
> Aber warum ist das ein Problem?



Kein Problem, nur eine Verständnisfrage.


----------



## bike (25 Juni 2011)

JoeDreck schrieb:


> Nach jedem Setzen bzw. Rücksetzen beginnt doch eine neue Verknüpfungskette oder? Habe ich bei der AWL dann 3 Verknüpfungsketten?



Sagmal schreib ich chinesisch?

Warum in Gottes Namen informierst du nicht bzw liest du nicht, was ich dir als Stichwort geschrieben habe?


Was bitte ist ein Verknüpfungskette? Das kenne ich nur aus meinem Strick- und Häkelkurs.


bike


----------



## JoeDreck (25 Juni 2011)

bike schrieb:


> Sagmal schreib ich chinesisch?
> 
> Warum in Gottes Namen informierst du nicht bzw liest du nicht, was ich dir als Stichwort geschrieben habe?
> 
> ...



Was geht denn mit dir? :sm10:

http://www.sps-lehrgang.de/bitverknkuepfungen-in-awl/

Zitat:


> Eine Verknüpfungskette wird in AWL mit folgenden Operationen abgeschlossen:
> 
> 
> *S* // Setzen
> ...


----------



## rostiger Nagel (25 Juni 2011)

Hallo Joe, lass dich nicht anmachen. 

Zu deiner Frage, ich würde das als drei Verknüpfungsketten sehen. 
Versuche doch einmal, wie Tommi schon beschrieben hat diese durch
Leerzeilen zu trennen. Ganz gut macht sich den Beginn einer Verknüpfungs-
Kette mit Kommentar zu versehen, dies Beginnen dann mit zwei schrägen. 
Als Beispiel:


```
//Startbedingung für den Antrieb speichern
U(
O    E         1.0
O    E         1.1
)
UN   M        10.2
S    M        20.0

//Startbedingung für den Antrieb zurücksetzen
U    E         1.2
U    E         1.3
R    M        20.0

//Freiabe Antrieb zuweisen
U    M        20.0
=    A         4.0
```

sieht doch gleich viel freundlicher aus


----------



## JoeDreck (25 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> Hallo Joe, lass dich nicht anmachen.
> 
> Zu deiner Frage, ich würde das als drei Verknüpfungsketten sehen.
> Versuche doch einmal, wie Tommi schon beschrieben hat diese durch
> ...



Super Vielen Dank! ROFLMAO


----------



## bike (25 Juni 2011)

Also weder die Hilfe von Step7 noch das Automatisierungsforum von eben dem selben Hersteller kennt "Verknüpfungsketten".
Es gibt ein VKE = Verknüpfungsergebgnis, das von der letzten Zuweisung bis zur nächsten  Zuweisung gültig ist.

Und Anmachen?
Wenn der TE einfach sich einmal mit den Dingen beschäftigt, die als Stichworte genannt werden, würden sich viele Fragen von selbst erklären.


bike

 P.S:Außerdem ist bekannt, dass wer groß schreibt sich vielleicht eine Brille kaufen sollte


----------



## Lipperlandstern (25 Juni 2011)

Womit wir wieder beim Tellerrand wären über den ab und zu mal drüber geschaut werden muss.....

Ich kannte das Wort bis dato auch nicht aber offensichtlich findet es verwendung. Nicht nur beim Häkeln und Stricken


----------



## bike (25 Juni 2011)

Lipperlandstern schrieb:


> Womit wir wieder beim Tellerrand wären über den ab und zu mal drüber geschaut werden muss.....
> 
> Ich kannte das Wort bis dato auch nicht aber offensichtlich findet es verwendung. Nicht nur beim Häkeln und Stricken



Ich kann doch nicht jeden Tag neue Beschreibungen und Definitionen erfinden, oder doch? 
Also weder meine Kollegen noch ich kennen bzw kannten dieses Wort noch dessen Bedeutung  

Wenn ich ein Produkt verwende, dann nutze ich die dort definierten Ausdrücke.


bike

P.S: Jetzt sehe ich meinen Tellerrand wieder, denn der Teller ist leer (legger war es)
Wir sitzen beim Grillen und lachen uns den Bauch weg, 5 Programmierer die von neuen Bezeichnungen überfallen werden


----------



## rostiger Nagel (25 Juni 2011)

bike schrieb:


> Ich kann doch nicht jeden Tag neue Beschreibungen und Definitionen erfinden, oder doch?
> Also weder meine Kollegen noch ich kennen bzw kannten dieses Wort noch dessen Bedeutung
> 
> Wenn ich ein Produkt verwende, dann nutze ich die dort definierten Ausdrücke.
> ...



Achso du bist schon Sternhagelvoll, anders kann Mann dein verhalten nicht erklären. 

Ich vermute mal, mit dem Hersteller des Automatisierungsforum meinst du
Siemens, wenn nicht ist auch egal. Aber dort kennen Sie das Wort verknüpfungskette. 
http://support.automation.siemens.com/WW/view/de/22170739 der letze Absatz. 

@Bike,
Trink nicht mehr soviel, du bist nüchtern kaum zu ertragen.


----------



## bike (25 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> @Bike,
> Trink nicht mehr soviel, du bist nüchtern kaum zu ertragen.



Hast du in der Hilfe von Siemens diese Wort gefunden?
Wir nicht.

bike

P.S:Warum sollte ich trinken?


----------



## rostiger Nagel (25 Juni 2011)

bike schrieb:


> Hast du in der Hilfe von Siemens diese Wort gefunden?
> Wir nicht.
> 
> bike
> ...



Du bist sogar zu Dämlich zum lesen, aber vor seinen Kollegen auf der Grillparty einen auf dicke Hose machen. 
Liebe Kollegen vom Bike, ist der im wirklichen Leben genauso...?

@Bike,
Ich habe den letzten Absatz für dich kopiert, wenn du ganz unten schaust, ist
ein Wort rot makiert, siehst du es...?



> Hinweis:
> Weitere Informationen finden Sie auch in der Online-Hilfe. Markieren Sie hierzu mit dem Cursor eine Anweisung und betätigen Sie dann die F1-Taste. In der Online-Hilfe finden Sie dann eine Übersicht und Beschreibung für das Statuswort.
> 
> Folgende Grenzen und Anweisungen lösen eine Erstabfrage aus:
> ...


----------



## bike (25 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> Du bist sogar zu Dämlich zum lesen, aber vor seinen Kollegen auf der Grillparty einen auf dicke Hose machen.
> Liebe Kollegen vom Bike, ist der im wirklichen Leben genauso...?
> 
> @Bike,
> ...



Der ist im Leben auch so, seit vielen Jahren programmiert der und das Schlimme ist, nicht einmal schlecht. (Zitat von meinen Kollegen)

Also ich habe den Simatikmanger offen und beim suchen nach dem Wort? Leider kein Ergebnis.


bike

P.S: Noch genießen meine Kollegen es hier zu sein. (Aber bald müssen wir es beenden, es wird wohl bald zu regnen beginnen)
P.S.S:Helmut was raucht oder nimmst du, dass du aggressiv bist?


----------



## Paule (25 Juni 2011)

bike schrieb:


> Sagmal schreib ich chinesisch?
> 
> Warum in Gottes Namen informierst du nicht bzw liest du nicht, was ich dir als Stichwort geschrieben habe?
> 
> Was bitte ist ein Verknüpfungskette? Das kenne ich nur aus meinem Strick- und Häkelkurs.


Sag mal bike, wenn du nicht helfen willst dann geh doch wieder in den Strick- und Häkelkurs. 
Vielleicht gibt es ja dort auch ein Forum, oder habe sie dich da eventuell schon raus geworfen, wenn ja probiere es mal beim Töpferkurs.

Und wenn Du ihn schon kritisierst wegen dem Wort (ich hatte das auch noch nie gehört) dann sag ihm doch wie es richtig heißt, danach hatte er ja gefragt.
Eine mögliche Antwort hätte sein können:


JoeDreck schrieb:


> Nach jedem Setzen bzw. Rücksetzen beginnt doch eine neue Verknüpfungskette oder? Habe ich bei der AWL dann 3 Verknüpfungsketten?


Ja, aber man sagt dazu: "Nach jedem Setzen / Rücksetzen erfolgt eine neue Erstabfrage"


----------



## JoeDreck (25 Juni 2011)

Danke an alle für die Hilfe. Ihr seit echt nett und ihr helft mir wirklich! Ich check halt nicht alles sofort, aber das ist halt so wenn man etwas neues lernt. Morgen wird sich sicher noch die ein oder andere Frage ergeben. :s4:


----------



## Boxy (26 Juni 2011)

Paule schrieb:


> Der Merker verhindert einfach dass ein erneutes Startsignal auf den Timer kommt. Denn wie schon geschrieben wird die Zeit bei jedem VKE-Wechsel von 0 auf 1 frisch gestartet.
> Natürlich kann man auch wie bike schreibt, die Zeit zur Verriegelung nehmen, ist sogar die schönere Variante.
> Also jetzt noch mal Fehlerfrei:
> 
> ...



Das stimmt glaube auch nicht so richtig, denn wenn der T10 gesetzt wird geht die Start-Bedingung weg und er startet von neuem 
D.h. wenn man auf der Taste für E1.0 bleibt geht der A1.0 für einen Zykluss auf 0


----------



## 190B (26 Juni 2011)

Boxy, Du hast recht.

Die Variante von bike mit der Zeitverriegelung klappt so nicht. Wird während der einmal gesetzten Zeit der Eingang mehrfach einem Signalwechsel unterzogen, wird zwar die Zeit weder angehalten noch unterbrochen und läuft durch, aber behält der Eingang ständig 1-Signal, wird die Zeit nach Ablauf ständig neu gestartet.
Durch die Verriegelung mit sich selbst entsteht nach Ablauf der Zeit (und 1-Signal am E 1.0) ein Flankenwechsel am Setzeingang des Zeitglieds, welcher die Zeit sofort wieder startet.

Die von Paule angegebene Variante in Beitrag #28 funktioniert einwandfrei.


----------



## bike (26 Juni 2011)

190B schrieb:


> Boxy, Du hast recht.
> 
> Die Variante von bike mit der Zeitverriegelung klappt so nicht. Wird während der einmal gesetzten Zeit der Eingang mehrfach einem Signalwechsel unterzogen, wird zwar die Zeit weder angehalten noch unterbrochen und läuft durch, aber behält der Eingang ständig 1-Signal, wird die Zeit nach Ablauf ständig neu gestartet.
> Durch die Verriegelung mit sich selbst entsteht nach Ablauf der Zeit (und 1-Signal am E 1.0) ein Flankenwechsel am Setzeingang des Zeitglieds, welcher die Zeit sofort wieder startet.
> ...



In meinem Codeschnipsel habe ich nur den Fehler des TE korrigiert.

Ich wollte eigentlich nicht eine Lösung vorgeben, sondern nur schreiben, dass es so wie es der TE geschrieben hat nicht passt.
Lösungen sollten allein gefunden werden.


bike


----------



## 190B (26 Juni 2011)

JoeDreck schrieb:


> Die Version von Paul ist jetzt die richtige Lösung?


 


bike schrieb:


> Hast du dir Lösung genau angeschaut?
> Hast du gesehen, was der Unterschied zwischen deiner/meiner und seiner Lösung ist?
> 
> Paule hat doch noch Merker eingefügt. Warum wohl?
> ...


 
Das blau markierte war doch Deine Aussage, oder nicht?


----------



## bike (26 Juni 2011)

190B schrieb:


> Das blau markierte war doch Deine Aussage, oder nicht?



Ja, doch wenn, dann soltest vielleicht den ganzen Threat lesen.

Zunächst habe ich den Fehler des TE korrigiert und ihn dann das Weitere überlassen.

Ich hätte den TE testen lassen und wenn er dann sich meldet, dass es nicht klappt zusätzliche Informationen gegeben.


bike

P.S: Was soll das jetzt?


----------



## rostiger Nagel (26 Juni 2011)

bike schrieb:


> Ja, doch wenn, dann soltest vielleicht den ganzen Threat lesen.
> 
> Zunächst habe ich den Fehler des TE korrigiert und ihn dann das Weitere überlassen.
> 
> ...



Ja neh ist klar, gib doch zu die richtige Lösung war nicht in der Online Hilfe vom Simatic Manager,
ohne dieser Hilfe bist du ja völlig Hilflos.

P.S. Das mit deinen "P.S." geht mir auch auf dem Wecker. 
P.S.S. Wirklich!
P.S.S.S. Lass dir mal was neues einfallen.


----------



## JoeDreck (26 Juni 2011)

Aus meiner Aufgabensammlung:

Ein Zähler soll regelmäßig wiederholend von 0 bis 20 zählen und immer beim Zählwert ab 18 ein Signal ausgeben. (Zur Verwendung hat man: Zähler Z, Zählimpuls durch E20.0, Rücksetzen durch E20.1, Merker für Zählerstand: MW20, weitere Merkerbits nach Lust und Laune)


Mein FUP:








Meine AWL:

```
U    E        20.1
ZV   Z1
BLD  101
U    LC#020
L    MW        18
S    Z1
U    E        20.1
R    Z1
L    Z1
T    MW        19
LC   Z1
T    MW        20
U    Z1
=    A         1.0
```

Kann das so funktionieren? Was hat das BLD 101 zu bedeuten? Danke Jungs.


----------



## rostiger Nagel (26 Juni 2011)

Hallo Joe,
in deiner Lösung ist noch so richtig der Wurm drin. 


Bei deinen Merkerwörtern gibt es einer Überschneidung, sie haben in deinen 
Fall einen Offset von '1' brauchen aber einen Offset von '2'.
Du könntest es aufsteigend die MW18; MW20 und MW22 verwenden. 



Ein Zähler kann mit einen Wert gesetzt werden und hat dann den Signalzustand "1"

```
//Zähler setzen
U E 0.0
L C#20
S Z 0
```

Jetzt ist der Zähler mit dem Wert 20 vorgesetzt und hat den Signalzustand "1"
dh der Zähler hat den Wert "20"



Zählen kannst du von 0..999, es gibt kein überlauf. Wenn der Zähler "0" erreicht
hat, bekommt er den Signalzustand "0"

```
//Vorwärtszählen
U E 0.1
ZV Z 0

//Rückwärtszählen
U E 0.2
ZR Z 0
```

Jeder Impuls an den zähleingängen wird intern vom Zähler als Flanke ausgewertet,
es wird also immer nur um 1 erhöht oder erniedrigt, gleich wie lange der
Impuls ansteht. 


Versuche doch mal mit diesen bisschen Information zu Arbeiten und dann geht
es weiter.


----------



## JoeDreck (26 Juni 2011)

Oh, danke für deine Mühe!!! 

Wie sag ich denn dem Zähler das er ab 18 eine "1" am Ausgang anlegt? Wo leg ich das fest? Müssten dann, so wie ich die Aufgabe verstehe bei 18, 19 und 20 eine "1" sein.


----------



## rostiger Nagel (26 Juni 2011)

Im Prinzip geht das nur wenn du den Wert des Zählerstandes ausliest
und vergleichst, aber dazu würde ich an deiner Stelle die gundsätze der
Zählfunktion verinnerlichen. Hast du eigentlich die Möglichkeit Funktionen
zu testen mit irgendeiner Hardware oder den Simulator in Step 7.


----------



## bike (26 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> Ja neh ist klar, gib doch zu die richtige Lösung war nicht in der Online Hilfe vom Simatic Manager,
> ohne dieser Hilfe bist du ja völlig Hilflos.




Klar, nur du kannst programmieren.

Aber wenn du jedem der es lernen will, deine Lösungen zeigst, dann bist ein Held, doch lernt man da wirklich?

bike

P.Su darfst dir auch mal etwas neues einfallen lassen.


----------



## JoeDreck (26 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> Im Prinzip geht das nur wenn du den Wert des Zählerstandes ausliest und vergleichst, aber dazu würde ich an deiner Stelle die gundsätze der Zählfunktion verinnerlichen. Hast du eigentlich die Möglichkeit Funktionen zu testen mit irgendeiner Hardware oder den Simulator in Step 7.



Ich hantiere hier mit WinSPS rum.


----------



## rostiger Nagel (26 Juni 2011)

JoeDreck schrieb:


> Ich hantiere hier mit WinSPS rum.



Ist doch super, simulieren kann die doch auch?
Wenn ja hau in die Tasten!


----------



## rostiger Nagel (26 Juni 2011)

bike schrieb:


> Klar, nur du kannst programmieren.
> 
> Aber wenn du jedem der es lernen will, deine Lösungen zeigst, dann bist ein Held, doch lernt man da wirklich?
> 
> ...



mmh, ich habe Joe fertige Lösungen gezeigt, ich glaube ich habe da etwas verpasst!
Und wenn schon manchmal kann es nicht schaden, auf diese Art und Weise jemanden
auf die Sprünge zu helfen. Auf jeden ist es besser als lernende falsche Lösungen 
zu geben und auch noch anzupflaumen. Am aller schlimmsten ist es sich später hinter
Fadenscheinigen Ausreden zu verstecken und sich nicht mal selber einzugestehen
das Mann Bockmist gemacht hat. Einen Endschuldigung hätte wenigstens mal drin sein können.


----------



## JoeDreck (26 Juni 2011)

Ist nur eine Demoversion, ich glaube die kann nicht so richtig simulieren. =(

Ich kann zwar eine AWL bzw. einen FUP zusammenklicken, aber im Simulationsfenster tut sich nicht viel.

Zur Vorgehensweise: Ich habe die Änderungen vorgenommen. Weiterhin habe ich einen Funktionsplan erstellt mit einem Vorwärtszählerbaustein und einem Ausgang. 

Als AWL kommt das raus:


```
U    E        20.0            
ZV   Z         1
BLD          101              // ???
U    E        21.0
L    C#020                   // 20 Sekunden
S    Z         1

U    E        20.1
R    Z         1

L    Z1
T    MW        18
LC   Z1
T    MW        20
U    Z1
=    A         1.0
```
Ich glaub ich bin zu doof für SPS. :sb8:


----------



## bike (26 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> Und wenn schon manchmal kann es nicht schaden, auf diese Art und Weise jemanden
> auf die Sprünge zu helfen. Auf jeden ist es besser als lernende falsche Lösungen
> zu geben und auch noch anzupflaumen. Am aller schlimmsten ist es sich später hinter
> Fadenscheinigen Ausreden zu verstecken und sich nicht mal selber einzugestehen
> das Mann Bockmist gemacht hat. Einen Endschuldigung hätte wenigstens mal drin sein können.



Ich denke es war bestimmt kein Bockmist. Einfach einmal nachlesen, den Fehler habe ich gezeigt, mehr wollte ich nicht.
Es geht doch darum, dass Fehler geklärt werden sollten, nicht darum fertige Lösungen zu präsentieren


bike

btw: Willst du nicht endlich aufhören?
Langsam wird es peinlich, wie du ohne Grund mich versuchst anzugreifen.


----------



## rostiger Nagel (26 Juni 2011)

JoeDreck schrieb:


> Ist nur eine Demoversion, ich glaube die kann nicht so richtig simulieren. =(
> 
> Ich kann zwar eine AWL bzw. einen FUP zusammenklicken, aber im Simulationsfenster tut sich nicht viel.
> 
> ...



Quatsch du bist nicht zu doof, Mann lernt es nur nicht am einen Nachmittag. 
Dein Programm ist in sich richtig und wird funktionieren, wenn auch nicht end-
sprechend der Aufgabenstellung. 

Ich lese da etwas von "20 Sekunden" , ein Zähler hat nicht viel mit Zeiten zu
tun. Bitte versuche doch mal dein Programm mit Kommentaren zu versehen 
und zu gliedern, so kannst du vlt schon selber logische Schlüsse raus ziehen. 
Damit meine ich, das du zur Erkenntnis kommst was welche Anweisung bewirkt.


----------



## JoeDreck (26 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> Quatsch du bist nicht zu doof, Mann lernt es nur nicht am einen Nachmittag.
> Dein Programm ist in sich richtig und wird funktionieren, wenn auch nicht end-
> sprechend der Aufgabenstellung.
> 
> ...



Meinst du mit "20 Sekunden" meine AWL oder die Aufgabenstellung:



> Ein Zähler soll regelmäßig wiederholend von 0 bis 20 zählen und immer  beim Zählwert ab 18 ein Signal ausgeben. (Zur Verwendung hat man: Zähler  Z, Zählimpuls durch E20.0, Rücksetzen durch E20.1, Merker für  Zählerstand: MW20, weitere Merkerbits nach Lust und Laune)


----------



## rostiger Nagel (26 Juni 2011)

bike schrieb:


> Ich denke es war bestimmt kein Bockmist. Einfach einmal nachlesen, den Fehler habe ich gezeigt, mehr wollte ich nicht.
> Es geht doch darum, dass Fehler geklärt werden sollten, nicht darum fertige Lösungen zu präsentieren
> 
> 
> ...



Sobald du aufhörst andere user grundlos anzugreifen und Halbwahrheiten unter
das Volk bringst.....könnte ich mir überlegen über deine Beiträge hinweg zu lesen. Aber ich glaube nicht das ich es schaffe. 

Der erster Teil deines Beitrages ist Blödsinn und wenn ich es mir recht überlege 
der zweite Teil auch. War ja nicht anders zu erwarten.


----------



## rostiger Nagel (26 Juni 2011)

JoeDreck schrieb:


> ```
> U    E        20.0
> ZV   Z         1
> BLD          101              // ???
> ...





JoeDreck schrieb:


> Meinst du mit "20 Sekunden" meine AWL oder die Aufgabenstellung:



ich meinte deinen Kommentar


----------



## JoeDreck (26 Juni 2011)

Achso, nein das hat da nichts zu suchen. Sollte "Zähler auf 20 setzen" heißen.

Zerpflücken wir dir Aufgabe doch mal.

Schritt 1: Zähler (vorwärts) auf den Wert 20 setzen.



> U     E        20.0
> ZV   Z        1
> L     C#020
> S    Z         1



Dann müsste ich ihn sicher wieder zurücksetzen, da er ja wieder von vorn anfangen soll.

Wie ich aber erreiche, dass er bei einem bestimmten Wert ein Signal ausgibt weiß ich nicht.


----------



## rostiger Nagel (26 Juni 2011)

> U E 20.0
> ZV Z 1
> L C#020
> S Z 1



Hier hast du schon einmal zwei Dinge miteinander vermischt. Du setzt dein
Zähler auf 20 und versuchst gleichzeitig zu zählen. Fehlt da eine Zeile?
Schreibe doch bitte Kommentare wo eine neu *Verknüpfungskette*
beginnt.


----------



## JoeDreck (26 Juni 2011)

```
// Zähler setzen
U E 20.0 
L C#020 
S Z 1                      

//Zähler rücksetzen
U E 20.1 
R Z 1

//Zählen
ZV Z 1

//Zählerstand auswerten
LC   Z1 
T   MW   20

//Signal ausgeben
= A 1.0
```


----------



## JoeDreck (26 Juni 2011)

Wenn Jemand ein Lösung hat immer her damit. Nett wäre es wenn ihr beschreibt was die AWL macht und warum ihr es so gelöst habt. Ich komm so nicht weiter.


----------



## bike (26 Juni 2011)

Ob es dir beim Lernen hilft, sei dahin gestellt.


Warum ist es so schwer zuerst zu lesen, was die einzelnen Teile eines PLC Programms machen?


bike


----------



## JoeDreck (26 Juni 2011)

Danke Bike!

Das hätte ich bei meinem jetzigen Wissenstand, niemals alleine geschafft.

Sicher, dass das nicht einfacher geht? Das sollen eigentlich relativ einfache Aufgaben sein.


----------



## bike (26 Juni 2011)

JoeDreck schrieb:


> Danke Bike!
> 
> Das hätte ich bei meinem jetzigen Wissenstand, niemals alleine geschafft.
> 
> Sicher, dass das nicht einfacher geht? Das sollen eigentlich relativ einfache Aufgaben sein.



Wenn der Bereich zwischen den beiden Zahlen überwacht werden soll?
Da muss verglichen werden.
Es geht auch mit zwei Zählern.

Die Aufgabe ist ja einfach, wenn man Zähler und Compair kennt

bike


----------



## JoeDreck (26 Juni 2011)

Für dich mag es einfach sein. Für ist es alles andere als einfach. Trotzdem Danke.


----------



## bike (26 Juni 2011)

JoeDreck schrieb:


> Für dich mag es einfach sein. Für ist es alles andere als einfach. Trotzdem Danke.



Schau dir doch den KOP an.

Da siehst du was geschieht.

Hast du Unterlagen über die einzelnen Sprachelemente von Step 7?

Wenn du den Zähler anschaust, dann siehst du, dass mit dem E 20.1 der Zähler auf Null gesetzt wird.
Das Rücksetzen sollte klar sein.
Und die Vergleicher solltest du dir anschauen, die sind kein Geheimnis.

Viel Erfolg


bike


----------



## JoeDreck (26 Juni 2011)

Wenn in einer Ablaufkette zum Beispiel steht:


```
____|____         _________
|         |       | N A 1.0 |
|Schritt 2|-------| S A 2.0 |
|         |       | R A 3.0 |
 ---------         ---------
     |
```
Ignoriere ich dann das "N A 1.0" in der AWL oder muss ich das übernehmen?


----------



## Mertin (26 Juni 2011)

Was meinst du mit "ignorieren in der AWL"?

Die Schrittkette dort besagt, das in Schritt 2:
Der Ausgang 2.0 gesetzt wird = 1
Der Ausgang 3.0 rückgesetzt wird = 0
Der Ausgang 1.0 gesetzt wird = 1 SOLANGE der Schritt 2 aktiv ist.
In Schritt 3 ist er dann nichtmehr aktiv.
Das bedeutet das "N"


----------



## JoeDreck (27 Juni 2011)

Naja, man nehme an man der Schritt 2 gehört zum Merker 10.0

Im Schritt 2 selber könnte man den Gesamtablauf doch folgender Maßen in einer AWL beschreiben:


```
U M 10.0
S A 2.0
R A 3.0
```

ODER so:


```
U M 10.0
N A 1.0
S A 2.0
R A 3.0
```

Was ist richtig?


----------



## bike (27 Juni 2011)

JoeDreck schrieb:


> Naja, man nehme an man der Schritt 2 gehört zum Merker 10.0
> 
> Im Schritt 2 selber könnte man den Gesamtablauf doch folgender Maßen in einer AWL beschreiben:
> 
> ...



Jetzt bist du bei Graph7 inzwischen?
Denkst du nicht es macht Sinn zuerst allgemeine Grundlagen zu lernen und verstehen?

N A1.0 bedeutet solange der Schritt aktiv ist und Interlock erfüllt führt der Operant Signal =1


bike


----------



## Boxy (27 Juni 2011)

Da stand selbst ich mal kurz auf dem Schlauch und habe mich gefragt, wo er nun ist ...


Also ich würde auch erst einmal die Grundlagen pauken und versuchen zu verstehen, gerade weil Du selbst das hier geschrieben hast: 



> Für dich mag es einfach sein. Für ist es alles andere als einfach. Trotzdem Danke.



Es ist z.B. immer einfacher ne Software zu testen oder Inbetrieb zu nehmen als selbst zu entwickeln oder zu schreiben


----------



## JoeDreck (27 Juni 2011)

Ja ich mein die Umwandlung von Graph7 -> AWL. 

Ja ihr habt recht, dass ich Grundlagen noch mehr verinnerlichen muss, aber was denkt ihr welche AWL in dem Falle richtig ist? Wird die N Anweisung übernommen oder nicht? Danke.


----------



## bike (27 Juni 2011)

JoeDreck schrieb:


> Ja ich mein die Umwandlung von Graph7 -> AWL.
> 
> Ja ihr habt recht, dass ich Grundlagen noch mehr verinnerlichen muss, aber was denkt ihr welche AWL in dem Falle richtig ist? Wird die N Anweisung übernommen oder nicht? Danke.



Keine, den Befehl "N" gibt es in AWL nicht, das ist eine Anweisung in Graph 7.

Hast du inzwischen Zuweisung und andere dir angesehen?
Dann kannst du dir die Frage selbst beantworten.
Ich kann dies beantworten, doch es macht keinerlei Sinn dir irgend etwas vorzukauen und du die Hinweise standhaft ignorierst.


bike


----------



## JoeDreck (27 Juni 2011)

Was soll ich mir denn alles nochmal ansehen? Hast du eine gute Seite im Netz wo alles gut im Zusammenhang erklärt ist? Gibt es so was wie "SPS for Dummies"? 

Ich hab hier Step 7 Crashkurs, aber das ist nicht ausführlich genug.


----------



## bike (27 Juni 2011)

JoeDreck schrieb:


> Was soll ich mir denn alles nochmal ansehen? Hast du eine gute Seite im Netz wo alles gut im Zusammenhang erklärt ist? Gibt es so was wie "SPS for Dummies"?
> 
> Ich hab hier Step 7 Crashkurs, aber das ist nicht ausführlich genug.



Bei deinem Crashkurs ist mit Sicherheit eine Befehlsliste dabei.
Die würde ich mir anschauen.
Oder aber hier:

http://www.automation.siemens.com/m...oad_ausbildungsunterlagen/Seiten/Default.aspx

die Schulungsunterlagen herunterladen und lesen.

Was willst du von Graph wenn du nicht allein Zuweisungen, Setzen und Rücksetzen, Zähler, Zeiten, Vergleicher und Sprünge verstanden hast?


bike


----------



## JoeDreck (27 Juni 2011)

Das war nur was, was ich mich gefragt hatte, weil ich es schon öfters gesehen habe, und nie genau gewusst habe, was davon in der AWL landet.

Ich werde mich mal noch weiter einlesen. Danke!


----------



## bike (27 Juni 2011)

JoeDreck schrieb:


> Das war nur was, was ich mich gefragt hatte, weil ich es schon öfters gesehen habe, und nie genau gewusst habe, was davon in der AWL landet.
> 
> Ich werde mich mal noch weiter einlesen. Danke!



Graph 7 landet nicht direkt in  AWL.

Für Graph gibt es Bausteine die die Schritte und Funktionen abarbeiten.
Heißen denke ich so ab fb71 bis 75, kann aber auch anders heißen.


bike


----------

