"Konfigurierbare Schrittkette" - wie macht man so etwas?

Zuviel Werbung?
-> Hier kostenlos registrieren
Ich übergebe an den FB die Job-Nummer... [Byte]

- ich will im FB mittels der Nummer in der Sprungliste
"rumspringen"....

Für Testzwecke habe ich mir einen FB mit 3 Sprungmarken "gebastelt"
Code:
[SIZE=1]JobN: L #Job_No // Job- Nummer laden[/SIZE]
[SIZE=1]SPL SEnd // SPrungListe definieren[/SIZE]
[SIZE=1]SPA SLM1 // Verzweigung zu Sprungliste_Marke_1[/SIZE]
[SIZE=1]SPA SLM2 // Verzweigung zu Sprungliste_Marke_2[/SIZE]
[SIZE=1]SPA SLM3 // Verzweigung zu Sprungliste_Marke_3[/SIZE]
[SIZE=1]SEnd: NOP 0[/SIZE]
[SIZE=1]SPA FEnd // springe zu FB- Ende[/SIZE]
 
[SIZE=1]
[SIZE=1]// Sprungliste => Verzweigung 1[/SIZE]
[SIZE=1]// FB-Init, Löschen des aufgerufenen DB10.DBW0[/SIZE]
[SIZE=1]SLM1: UN #InWork // FB ist fertig, Reset[/SIZE]
[SIZE=1]SPB SM11 // Marke Sprungliste M1.1[/SIZE]
[SIZE=1]L 0[/SIZE]
[SIZE=1]T DB 10.DBW 0 // Reset DB10.DBW 0[/SIZE]
[SIZE=1]SM11: U "Takt" // Taktmerker ( Global- Var )[/SIZE]
[SIZE=1]UN #Takt_FM // Flanke pos. von Taktmerker = Temp.-Var[/SIZE]
[SIZE=1]SPBN FEnd[/SIZE]
[SIZE=1]L DB 1.Ventil_T1[/SIZE]
[SIZE=1]L DB 10.DBW 0[/SIZE]
[SIZE=1]>I [/SIZE]
[SIZE=1]SPB SM12 // Marke Sprungliste M1.2[/SIZE]
[SIZE=1]L DB 10.DBW 0[/SIZE]
[SIZE=1]L 1[/SIZE]
[SIZE=1]+I [/SIZE]
[SIZE=1]T DB 10.DBW 0[/SIZE]
[SIZE=1]SPA FEnd[/SIZE]
[SIZE=1]SM12: = #Cnt_Temp // Ergebnis basteln[/SIZE]
[SIZE=1]= "FB10_Rdy" // FB10 ist fertig[/SIZE]
 
[SIZE=1]
[SIZE=1]// Sprungliste => Verzweigung 2 [/SIZE]
[SIZE=1]SLM2: NOP 0[/SIZE]
 
[SIZE=1]// Sprungliste => Verzweigung 3 [/SIZE]
[SIZE=1]SLM3: NOP 0[/SIZE]
 
 
[SIZE=1]FEnd: U #Cnt_Temp[/SIZE]
[SIZE=1]= #Event_OK_Return // FB- Ende[/SIZE]
 
 
[SIZE=1]// Flankenmerker setzen [/SIZE]
[SIZE=1]U "Takt"[/SIZE]
[SIZE=1]= #Takt_FM[/SIZE]
[/SIZE][/SIZE]

Ich habe mal den FB ( ist nur erstmal dafür da, zu verstehen, wie das Ganze funktioniert.... über den Sinn der Sprungmarke 1 möchte ich nicht diskutieren... das ist nicht mein Problem)

=> Ich übergebe als Job-Nr eine = 1, es wird genau die erste Sprungmarke
( z.b. SPA M1 ) übersprungen.

=> Ich übergebe als Job-Nr eine = 2, es wird die 1. und 2. Sprungmarke
(SPA M1, SPA M2 ) übersprungen.

Die Sprungmarken, die größer dem übergebenen Wert sind, werden abgearbeitet...
=> das ist doch "verkehrte Welt" ???

Mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Lese bitte noch einmal meinen Beitrag #19, die erste sprungmarke beginnt bei
"0" egal wie die Marke heist.
Die 1. Erfolge konnte ich nach dieser sehr guten :s12: Erklärung von allen, die auf meine Frage geantwortet haben, schon verbuchen.

Ich muß mich aber noch tiefer "hinein arbeiten". Mit dem Überspringen komme ich noch nicht so ganz klar... ( das ist eigentlich immer noch, wie schon beschrieben )
Bei dem ganzen "Probieren" kam ich aber zu der Erkenntnis, daß für meinen Anwendungsfall ein FB mit IDB's viel schneller zum Erfolg führt. ( Das habe ich schonmal gemacht und weiß... wie ich tun muß :) )

Aber ich werde auf jeden Fall das Ganze auch mit SPL nochmal proggen...
alleine schon, um den Vergleich zwischen Aufwand, Nutzen und Lesbarkeit zu bekommen.
_______________________________________________________________

Mal so ganz nebenbei noch eine Frage zu IDB's ... gab es die auch schon bei s5 ?
Die Steuerung, die ich proggen will, ist für eine relativ größere Feinstaub-Absaugung gedacht. Für eine kleine Anlage [ 1 Lüfter.Mot. in Y-3eck- Anlauf + 6 Filterbänke+ 2 Schieber für Simu Zellradschleuse ] habe ich eine KM-easy genommen... funzt perfekt.
Diese Anlage ist aber bedeutend größer... und bei uns "im Keller" schlummert noch eine s5-100U CPU 95 mit diversen DI-/ DO und AI (!).
Die AI könnte ich z.B. für die Diff-Druckmessung nehmen.

Sollte es bei s5 keine IDB geben.... gibt es dann in s5 Alternativen ?
Wenn das zu umständlich ( ich bin nicht der geübteste s5- Programmierer )
werden sollte, würde ich eine s7-3xx nehmen. ( Oder kann das auch dieser viel diskutierte Ersatz für die s7-2xx [s7-1200 heißt der wohl ??? ]
=> Dann wäre aber Voraussetzung, daß ich mit meinen MicroWin- Kenntnissen das "1200-er- Teil" zum Laufen bringe... ein "Studium auf die Schnelle" habe ich nicht vor !

Ganz wichtig z.Zt. in der Firma, in der ich angestellt bin, ist: "SPAREN beim Investieren !"
Es wird investiert, neue Maschinen werden aufgebaut, die älteren generalüberholt... aber es wird auf jeden €ent geachtet und man muß jeden €ent begründen... da wäre mir die s5 "aus'm Keller" sehr lieb... die ist schon lange nicht mehr in der Inventarliste existent.

MFG
 
also ich mache das nur mit fb und Instanzen, ich wollte
es nur leicht halten.
Bei S5 und die 200er Reihe geht das nicht. Wenn ihr
sparen müsst spart nicht am Material, das rechnet sich
nicht. Am Schluss macht die mehr aufgewendete arbeits
Zeit alles wieder zu Nichte.
Mit einer 300er kommst du schneller ans Ziel, somit sparst
du!
 
also ich mache das nur mit fb und Instanzen, ich wollte
es nur leicht halten.
*ggg mit der Sprungliste... entweder klemmen da bei mir geistig ein paar Relais ... oder es ist erst dann "ganz einfach", wenn man's verstanden hat...
Bei S5 und die 200er Reihe geht das nicht. Wenn ihr
sparen müsst spart nicht am Material, das rechnet sich
nicht. Am Schluss macht die mehr aufgewendete arbeits
Zeit alles wieder zu Nichte.
Mit einer 300er kommst du schneller ans Ziel, somit sparst
du!
Die "Ersparnis für mich" ist... ich kann in step7 die s7-3xx proggen... da habe ich schon einiges gemacht.

Bei s5 und MicroWin ( für die s7-2xx ) müßte ich mich echt auf den Hosenboden setzen, lesen und lernen.

Für mich ist gerade eine Entscheidung gefallen... es wird eine s7-3xx ( welche konkret... muß ich noch herausfinden... BUS und Angehängsel ist schonmal nicht )
Außer einer "kleinen" HMI.
Ich dachte so an ein OP3 oder in der Größe... nur ein paar Betriebseingaben machen können ( voraussichtlich ca. 35 Parameter- Einstellungen, davon 33 im Bereich WORD, 2 in BYTE ) und Fehler in Klartext- Anzeige.... ( und wenn wir so'n Teil schon mal da haben... noch ein paar Betriebszustands- Meldungen )

Ich danke Dir für Deine superschnelle Info.


Mfg
 
Zurück
Oben