Erste mal AWL HILFE!!!!!

Diplomklempner

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe zum ersten mal versucht mit MicroWin eine Schleife in AWL zu schreiben, leider klappt sie nicht. Könnt ihr mir helfen und mir sagen was ich falsch gemacht hab!?


Netzwerk 1
LD V0.0
MOVW VW100, VW102 //VW100 hat den wert 6400 und soll meinen Analogen Ausgang auf null setzen

Netzwerk 2
LD V0.1
For VW104, +1, +10

Netzwerk 3
+I VW106, VW102 //VW106 hat den wert 160
TON T37, +10
LD T37
MOVW VW102, AAW0

Netzwerk 4
Next



Ich wäre sehr dankbar wenn ihr mir nen Tip geben könntet was ich falsch gemacht hab oder wie ich das anders schreiben kann.
Zum Programm, ich hatte vor den Wert im Analogen Ausgang von 6400 auf 8000 (welcher bei mir ca. 1 bar ergibt am Druckregler) zu erhöhen und damit das nicht zu schnell passiert dies mit der Einschaltverzögerung auf 10 sek. zu verlängern.

Mfg
Carsten
 
Hallo Carsten.

Ich würde es so machen.

NETWORK 1 Grundwert laden
LD V0.0 // Grundwert laden
MOVW VW100, VW102 //VW100 hat den wert 6400 und soll meinen Analogen Ausgang auf null setzen

NETWORK 2 Wert im Sekundentakt erhöhen bis Sollwert erreicht
LD SM0.5 // Sekundentakt
EU // Positive Flanke
U V0.1 // Start duck erhöhen
UW< VW102,VW104 // Vergleiche Ist mit Soll (in VW104 stehen 8000)
+I VW106;VW102 // Ist puls Additionsteil (VW106 stehem 160)

NETWORK 3 // Istwert in Ausgangswert schreiben
LD SM0.0 // VKE 1
MOVW VW102,AAW0 // Schiebe Istwert in Analoges Ausgangswort

Nun zu deiner Schleifensache.

1. Die Schleife wird immer wirder angestoßen, wenn die V0.1 "1" ist so läuft also dauernt.
2. Du muss nach FOR im NETWORK 3 den SM0.0 vor der Addition einfügen damit die nachfolgenden Befehle überhaupt bearbeitet werden.
3. Ein Timer in einer Schleife kannst du vollkommen vergessen da dieser nicht zählt da eine schleife niemals die eingestellte Zeit in Betrieb ist, so würde ja deine CPU auf Stop gehen da die CPU Zykluszeit überschritten wird. Ich würde den Timer nach der Schleife Starten und die Schleife mit einer Flanke von V0.1 starten, damit sie nur einmal duchfläuft.
4. Das mit der Timerabfragen in der Schleife zum Übertragen des Istwert an den Ausgang funktioniert auch nicht (unter Punkt 3 schon erwähnt.

Ich hoffe ich konnte dir weiterhelfen. Für weiter Fragen stehe ich dir gerne zur Verfügung.
 
So da bin ich schon wieder, hab alles schön programmiert und ausprobiert. Leider ist mir doch dabei aufgefallen, das der Druck zu ungleichmäßig steigt, bedingt dadurch das ich nur jede sekunde nen impuls ausgebe. Wie kann ich das nun ändern das ich zum beispiel alle 10ms die Werte aufaddiere oder vielleicht noch schneller so das der Druck gleichmäßiger steigt????

Mfg
Carsten
 
Hallo,
das meinte ich mit PC-analog Karte, da wirst Du bald an die Grenzen des machbaren stoßen mit der S7-200.
wie oben im Programm den Sekundentakt ändern, und deine aufaddierung(160).
Die Wandlungszeiten der 235 habe ich jetzt nicht, liegen glaube ich bei 50ms.
Also allem in allem, ich bin auf PC mit analogen Meßkarte damals umgeschwenkt.
mfg
dietmar
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Carsten.

Habe garde im Handbuch von Siemens geschaut. Die Umsetztung des Analogenausgangs von Digital auf Analgo dauert ca. 2ms. Ich würde dir maximal einen 50ms Takt empfehle, da dieser problemlos eingehalten werden kann. Erstellen einer 50ms Flanke

LDW< VW200,50 // Vergleiche Ist mit Soll (50ms)
+I SMW22,VW200 // Letzte SPS Zykluszeit plus Ist
LDW>= VW200,50 // Vergleiche Ist größer gleich Soll
-I 50,VW200 // Ist minus Soll
= M1.0 // 50ms Flanke

Mein Vorschlag mach doch den momentanen Additionswert von 160 z.B. auf 40 so steigt dein Analogwert nich so schnell an.
Ich hoffe ich konnte dir weiterhelfen. Für weitere fragen stehe ich dir gerne bereit.
 
Hallo Hubert,
das danke für deine Antwort, werd ich gleich mal ausprobieren. Zu den dem Wert von 160 auf 40, das geht leider nicht, da ich z.b. die Differenz von 1600 innerhalb von einer bestimmten Zeit überwinden muss. Hier z.b. 10 sek. und wenn ich jetzt statt 160 den Wert 40 addieren würden, dann würde ich bei einem 1 sek. Takt ja nur 400 insgesamt aufaddieren, da fehlen mir dann leider 1200.

Mfg
Carsten
 
Zurück
Oben