Bräuchte Hilfe bei S7-300 Programmierung mit SETP7

Hallo!

Da ich noch nicht viel Erfahrung in der Programmierung mit S7-300 habe. Such ich bei euch Hilfe.

Folgendes möchte ich umsetzen:

Am Anfang der Netzwerke möchte ich einen geladenen Wert mit einem Zähler vergleichen.
Sollte der geladene Wert mit dem des Zählers übereinstimmen, sollen die Befehle im Netzwerk ausgeführt werden und der Zähler um 1 erhöht werden.
Entspricht der Wert im Zähler nicht dem geladenen Wert, soll mit einem Sprungbefehl ins nächste Netzwerk gesprungen werden.

Dort soll wieder ein geladener Wert mit dem Zähler verglichen werden. Sollte der geladene Wert mit dem des Zählers übereinstimmen, sollen die Befehle im Netzwerk ausgeführt werden und der Zähler um 1 erhöht werden.
Entspricht der Wert im Zähler nicht dem geladenen Wert, soll mit einem Sprungbefehl ins nächste Netzwerk gesprungen werden.
(dies soll solange wiederholt werden, bis die schrittweise Initialisierung umgesetzt ist.)


Ich bedanke mich bereits im vorraus für eure Hilfe!!

lg
Markus
 
AW: Bräuchte Hilfe bei S7-300 Programmierung mit SETP7

Hallo Markus,
es wäre wahrscheinlich hilfreicher, wenn du mal genauer beschreibst was du überhaupt Zählen willst.
Woher würden diese "geladenen Werte" kommen?

Sprünge in S7 sind recht einfach.
Wenn dein Vergleich erfüllt ist, also das VKE 1, dann sagst du SPB :000

:000 (nur als Beispiel) wäre deine Sprungmarke, die du an der Stelle definieren musst, an der es weitergeht. Aber in der Hilfe des Simatic-Managers ist das alles recht gut beschrieben. Und auch durch Beispiele dokumentiert.
 
AW: Bräuchte Hilfe bei S7-300 Programmierung mit SETP7

Hallo borg!

Danke erst mal für deine Hilfestellung.

Mein Ziel ist es, dass die Netzwerke so programmiert sind, dass am Anfang eines jeden Netzwerkes der momentane Stand eines Zählers mit einer Zahl die ich Lade verglichen wird.
Wenn die Zahlen gleich sind, dann sollen die Befehle im Netzwerk aus geführt werden.
Sollte der Wert im Zähler mit der Zahl nicht übereinstimmen, dann soll mit einem Sprungbefehl ins nächste Netzwerk gesprungen werden. Dort findet das gleiche statt. Zähler mit Zahl vergleichen.
(Wenn die Befehle im Netzwerk ausgeführt werden, wird am Ende der Zähler um 1 erhöht, da ich ja sonst immer im gleichen Netzwerk hängen bleiben würde.)

Ich hab das mal vesuch für ein paar Netzwerke zu programmieren:

Netzwerk1
L Z1
L0
==I
ZV Z1
SPN L1

Netzwerk2
L1: L Z1
L 1
==I
SPN L2
//BEFEHLE DIE AUSGEFÜHRT WERDEN SOLLEN
ZV Z1
SPA EMAI //Springe ans ENDE; Abarbeitung beginnt von vorne

Netzwerk3
L2: L Z1
L 2
==I
SPN L3
// BEFEHLE DIE AUSGEFÜHRT WERDEN SOLLEN
ZV Z1
SPA EMAIN

Und das geht dann so weiter, je nachdem wieviele Netzwerke man benötigt, um die Initialisierung schrittweise ablaufen zu lassen.
Wenn die Initialisierung beendet ist, dann möchte ich das gleiche System auch bei der Programmabarbeitung einbauen. (eventuell mit Verzögerungen,...)

lg
Markus
 
AW: Bräuchte Hilfe bei S7-300 Programmierung mit SETP7

Ich weiß zwar immer noch nicht was du da bauen möchtest, aber wenn dann würd ich es so versuchen:

////////NW1//////////
L Z1
L 0
<> I
SPB weit
//hier die Befehle des Netzwerkes, welche ausgeführt werden sollen
ZV Z1 // und auch vorwärtszählen nicht vergessen


//////NW2/////////////
:weit L Z1
L 1
<> I
SPB ............................................

Das <>I brauchst du ja, weil du springen willst wenn der Wert nicht übereinstimmt. Also springst du, über die auszuführenden Befehle, ins nächste Netzwerk. Achte darauf das hinter der Sprungmarke eine gültige Anweisung stehen muss.

Ich hoffe das hilft dir weiter
 
AW: Bräuchte Hilfe bei S7-300 Programmierung mit SETP7

Ja Danke hilft mir sehr weiter!!!

Hab mittlerweile auch in einem Buch was dazu gefunden.
Da wird das über die Sprungliste realisiert!
Aber deine Variante gefällt mir besser und ist auch ein bisschen übersichtlicher!

lg
Markus
 
AW: Bräuchte Hilfe bei S7-300 Programmierung mit SETP7

Ja, ein so genannter Sprungverteiler.
Auch das wäre eine Möglichkeit.
Aber ich dachte, dass diese Variante eher zu durchblicken sei.
Du hattest ja geschrieben, dass du eher wenig Vorkenntnisse besitzt.
Sprünge an sich sind schon verwirrend, und der Sprungerteiler dann noch ein bisserl mehr.
Hier ist mal ein Link zum großen S. Dort wird der Sprungverteiler beschrieben, und es gibt noch ein Beispielprogramm zum herunterladen.
http://support.automation.siemens.com/WW/llisapi.dll/20713380?func=ll&objId=24561267&objAction=csView&nodeid0=10805188&lang=de&siteid=cseus&aktprim=0&extranet=standard&load=treecontent
 
Top