Problem mit Befehl SPB und SPBN

danielch

Level-1
Beiträge
17
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich habe ein Problem mit den Sprungmarken. Das Programm seht ihr unten, es geht um eine 300er Steuerung:

//Wenn Hand, dann Handwert Display in Handwert Regler
// Wenn Handfunktion: Ist in soll Regler um eine Fehlregelung
// beim Umschalten auf Auto zu umgehen
U "Db0004_PID_Druck_Einlauf".MAN_ON
SPBN S101
L "Db0025_Komm_Sollwerte".i_Db0025_Sollwert0001
ITD
DTR
T "Db0004_PID_Druck_Einlauf".MAN
L "Db0004_PID_Druck_Einlauf".PV_IN
T "Db0004_PID_Druck_Einlauf".SP_INT
S101: NOP 0

Nun das Problem: Wenn ich das Programm so schreibe wie oben, dann wird der Sprung immer ausgeführt, auch wenn die Sprungbedingung erfüllt ist.

Wenn ich die ersten beiden Zeilen aber wie unten verändere, funktioniert das Programm. Kann mir einer erklären warum?

UN "Db0004_PID_Druck_Einlauf".MAN_ON
SPB S101

Gruss und Danke!
Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist ne verarsche oder?
Oder überarbeitet?

SPB Springe wenn VKE1
SPBN (N= Negieren) Springe wenn VKE0

U - Abfrage auf VKE1
SPBN - Nur springen wenn VKE0
-Da VKE nix 0 Wenn U auf 1 ist, du dann nix springen!-
 
Meine spontane Frage auch: was steht oben drüber? Wenn davor kein VKE-begrenzender Befehl, dann gehts in die Hose. Sogar ein Call ist nicht VKE-begrenzend:

U M0.0
Call Fx...

... und man kann im aufgerufenen Baustein mit dem Wert aus M0.0 weiterrechnen.

mir leider selbst schon passiert
 
Ist ne verarsche oder?
Oder überarbeitet?

SPB Springe wenn VKE1
SPBN (N= Negieren) Springe wenn VKE0

U - Abfrage auf VKE1
SPBN - Nur springen wenn VKE0
-Da VKE nix 0 Wenn U auf 1 ist, du dann nix springen!-


ja das ist ja mein Problem. Habe ja alles schön Beobachtet. Der DB Wert: "Db0004_PID_Druck_Einlauf".MAN_ON war 1 und der Sprung wurde ausgeführt!
In diesem FC werden vorher und nachher keine Sprünge ausgeführt.

Ist ja nicht, dass ich die andere Variante mit UN / SPB schlecht finde. Ich frage mich einfach, wieso dass der Sprung immer ausgeführt wird.

Gruss
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ja "Db0004_PID_Druck_Einlauf".MAN_ON ist ja VKE. Und der war 1! Also bei SPBN sollte der nicht springen!

Glaubte es ja selbst nicht. Aber kann euch morgen gerne ein Screenshot machen.

Gruss
 
ja "Db0004_PID_Druck_Einlauf".MAN_ON ist ja VKE. Und der war 1! Also bei SPBN sollte der nicht springen!

"Db0004_PID_Druck_Einlauf".MAN_ON ist nicht unbedingt das VKE

wenn im netzwerk davor z.b.

Code:
network 1

...
U M1.0  //ist null
U M1.1  //ist eins

steht und du dann anschließend mit

Code:
network 2
U "Db0004_PID_Druck_Einlauf".MAN_ON
SPBN bla
...

ausführst, dann ist das VKE an der Stelle des Sprungs 0 ...deswegen fragen hier alle, was im netzwerk davor steht ... und wenn sie das wissen, werden sie dir weiterhelfen!
 
Wenn es eine Vipa-Speed7 betrifft, da kann die Statusanzeige beim Beobachten schon mal voll daneben liegen. Mir der neuesten Firmware ist das lt. Vipa behoben, hatte aber noche keine Zeit zum testen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo zusammen

im oberen Netzwerk ist folgendes und dort habe ich auch den Fehler entdeckt :cool:

UN "Db0021_Komm_Befehle".b_Db0021_Befehl0192
L "Db0004_PID_Einlauf_P0".Soll_P0_Display
ITD
DTR
L 1.000000e+002
/R
T "Db0004_PID_Einlauf_P0".SP_INT

Der Ladebefehl wird ja bekanntlich immer ausgeführt, ausser wenn er übersprungen ist. Daher wird das UN in der ersten Zeile für das VKE im nächsten Netzwerk gebraucht. Und da es gerade passte, wurde dort der Sprung ausgeführt!

Ich werde also im oberen Netzwerk auch noch einen Sprung einbauen.

DANKE für eure raschen Antworten!

Gruss Daniel
 
Aber nicht das da drüber noch so ein Netzwerk ist das den VKE nicht löscht :)
Ich habs mir angewöhnt am anfang eines jeden Netzwerkes und Funktion ein CLR zu setzen.

mfG René

Huhu Vollmi,

hoffe das es hilfreich ist.
In der Prozesstechnik und MSR wird gerne am Anfange eines jeden in eine Steuerungs Schrittablauf eier Regelungsschrittkette immer ein Set eingefügt.
Die ganzen Regelcompiler wie von Christ, Pro Pharma etc. arbeiten auch so.

Grüsse dir
 
Zurück
Oben