Wie mit MicroWin eine Schrittkette in mehrere Unterprogramme aufteilen

BlueDevil2001

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle erstmal,

ich habe für eine S7 200 mit MicroWin ein Programm geschrieben das aus einer Schrittkette besteht die ich aber in mehrere Unterprogramme aufgeteilt habe.
Jetzt laufen scheinbar alle Unterprogramme gleichzeitig und nicht hintereinander ab.
Wie würde ein Profi so ein Programm strukturieren?

PS: Ich habe das Programm mit FUP geschrieben.

cya

Dirk
 
Die Unterprogramme müssen hintereinander ablaufen, bzw. in der Reihenfolge deines Aufrufes im Main,
dein Problem muss ein anderes sein.

Zur Strukturierung, da gibt es genau so viele gute wie schlechte Varianten,
und im Regelfall hat sich jeder was anderes zurechtgebastelt.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich arbeite mit dem SCR Befehlen.

sollte ich die ins Main Programm schreiben?
Und dann für jeden Schritt ein Unterprogramm schreiben?

Oder innherhalb der Schritte das nächste Unterprogramm starten?

Das ganze is für ne Abschlussprüfung...
Ich würde da gerne komplett mit localen Variablen arbeiten...

cya
Dirk
 
Die Befehlsgruppe
"SCR", "SCRT", "SCRE" addressieren spezielle Schrittmerker,
mit einem automatischen bedingten Programmablauf,
jeweils zwischen dem Aktiven Schrittmerker (SCR),
und dem Ende dieses Schrittes (SCRE).

AWL:
Code:
LSCR S1.0

LD BLABLA      //Wird ausgeführt
SCRT S1.1     //wenn S1.0 = High

SCRE

LSCR S1.1

LD BLBLB       //Wird ausgeführt
SCRT S1.0     //wenn S1.1 = High

SCRE

Kannst du mal dein Programm online stellen?
Wenn es für eine Abschlussprüfung ist, dürfte ja kein Know-How Schutz dagegensprechen.

Mfg
Manuel
 
Hi,

Wie die Befehle Funktionieren is mir klar.
Ich wäre auch in der Lage das einfach untereinander ins Main Programm zu schreiben.

Mir geht es konkret darum diese Schrittkette zu stukturieren.
Ich würde ja auch alles in ein Unterprogramm schreiben aber man kann ja wohl leider nur 16 Variablen pro Unterprogramm definieren oder liege ich da Falsch?
Zumindest hat er nach L1.7 alles als rot markiert....

cya
Dirk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für was verwendest du denn die Lokalvariablen.

Da es sich hier um "Temp-Variablen" handelt, heißt das auf Deutsch,
das sich alle Programme in der SPS diesen "TEMP-Bereich" teilen.

Also die Daten die da drin stehen sind nur für exakt einen Zyklus gültig,
wenn du die Dinger jetzt also Intern in deiner SK setzt, also nicht in jedem Zyklus neu beschreibst,
wird das so nicht funktionieren, bzw. nur zufällig funktionieren.

Mfg
Manuel
 
Bei IN-Variablen ja kein Problem,
diese werden ja von außen ständig beschrieben,
bei den OUT-Variablen hast du auch "zufällige" Zustände,
wenn du diese nicht ständig beschreibst (jeder Zyklus).

Wie programmierst du denn deine SK,
weil wenn du fest adressierte Schrittmerker nimmst,
ist das Unterprogramm ohnehin nicht mehrmals aufrufbar,
von daher sind die IN/OUT/IN-OUT Variablen im Grunde auch egal.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

also jedes Unterprogramm muss pro Schrittkettendurchlauf auch nur 1 mal ablaufen.
Zur Zeit befinden sich jeweils 2 Schritte in einem Unterprogramm. Und jetzt sollen die Schritte halt nacheinander ablaufen.
Ich hatte jetzt die Idee die EN Variable von den Unterprogrammen mit den beiden Schrittmerkern und einer Oderfunktion zu Vernüpfen so das die Unterprogramme nur Aktiv sind wenn auch einer der Schritte darin aktiv sind. Leider kann ich nicht abschätzen ob das bei den Übergängen in das nächste Unterprogramm Probleme macht, da sich das Unterprogramm ja praktisch selbst abschaltet.

Oder ist die Idee völliger schwachsinn?

Mein Ziel ist es das Programm möglichst so zu gestalten das man es leicht in ein anderes System einbinden kann. So haben wir es zumindest gelernt. Aber da man Schrittkettenmerker ja wohl sowieso nur jeweils einmal in einem Programm einsetzen kann müsste man die ja eh ändern.

Wobei ich kurz davor bin einfach alles ins Main zu schreiben. Alleine weil das Programm dann nicht so zerhackt ist. Und da hoffentlich alle Geräte auf meine Steuerung umgebaut werden und wir nicht gerade die SPS-Gurus in der Instandhaltung haben wäre das für die sicher auch leichter das Programm nachzuvollziehen. Wobei es sowieso nicht so kompliziert ist.

cya
Dirk
 
Zuletzt bearbeitet:
Zurück
Oben