Unterprogramme simultan laufen lassen in S7 200 - MikroWin

akrapovic

Level-1
Beiträge
36
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe zzt. das Problem, dass ich ein relativ großes Programm habe (ca. 50 Netzwerke).

Ich möchte dies nun strukturieren, wie in einer richtigen Programmiersprache (z.B. c++), dass ich in der MAIN Funktion nur Unterprogramme aufrufe.

Also wenn ich z.B. "Start" (E1.0) drücke, dann ruft die Main Funktion mehrere Unterprogramme auf. Wäre das möglich ?

EIn Beispiel aus meinem Programm:

Sobald die SPS startet, soll sofort und immer die eine Barcode-Erkennung (Strichcodes = Out 1 .. 5) eingeschaltet sein:

das wollte ich nun mit SM0.0 und den Unterprogramm "SBR_0" machen:

MAIN()
{
unterprogrammaufruf.jpg

}

SBR_0()
{
barcodes.jpg

}

Können damit mehrere Unterprogramme SBR_0 ... SBR_15 simultan, also parallel laufen ?

Und kann ich die Werte zwischen den Unterprogramm und der Main Func übergeben ? Hier z.B. "Geschw_Fakt" aus SBR_0 an SBR_10 übergeben ?

Teilen sich die Unterprogramme und Main Funktion eine gemeinsame Symboltabelle ?



Danke im voraus,

Gruß
 
Zuletzt bearbeitet:
Hallo,
RTFM, http://www.google.de/url?sa=t&rct=j...s4CIDw&usg=AFQjCNHbdjvUm-wjOd4nCP1cimBV3Lpdiw
Ein uns geläufiges Rechnersystem mit einem Kern kann keine Befehle parallel abarbeiten. Variablenübergabe und Abarbeitungsreihenfolge sind in der verlinkten Bibel beschrieben. Abarbeitung von oben nach unten und von links nach rechts.
Es gibt Globalvariablen, die überall gültig sind (im DB1, Merker, E/A) und Lokalvariablen, die nur während der Laufzeit des Unterprogrammes gültig sind (Aufpassen!).

Gruß
Mario
 
Zurück
Oben