-> 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"
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
- 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