Problem mit OB100

tino2512

Level-1
Beiträge
86
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo @all,

ich habe eine CPU313C. Habe im OB1 meine FBs. teilweise sind diese in S7 Graph programmiert.
Ich habe vor, einen OB100 zu programmieren, welcher mir verschiedene Merkerbits setzt, die zur Initialisierung der FBs dienen. Damit die Ablaufkette nach einem Netzausfall wieder von Anfang an abgearbeitet wird. Außerdem sollen gewisse Daten in MDs mit 0 beschrieben werden.

Den OB100 habe ich nun aufgerufen und in ihm M1.4 für die Initialisierung gesetzt.
Wenn ich aber das Netzteil aus und wieder anschalte, passiert eigentlich nichts. Irgendwie hab ich das Gefühl das der OB100 nicht abgearbeitet wird.

Was mache ich falsch?

Gruß Tino
 
Den OB100 habe ich nun aufgerufen und in ihm M1.4 für die Initialisierung gesetzt.
Wenn ich aber das Netzteil aus und wieder anschalte, passiert eigentlich nichts. Irgendwie hab ich das Gefühl das der OB100 nicht abgearbeitet wird.
Ich mach das immer so:
Im OB100
SET
= Initialisierungsmerker
Am Ende von OB 1
CLR
= Initialisierungsmerker
Wenn du die Anweisungen im OB 1 auskommentierst, solltest du mit einer VAT nach dem Neustart den Initialisierungsmerker auf TRUE sehen.

Gruss Andre
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke, daß der OB100 auf jeden Fall abgearbeitet wird. Hast du den M1.4 irgenwo nochmals belegt oder wo setzt du ihn denn zurück? Im OB 100 reicht ja:

Set
S M 1.4
 
M1.4 ist zwar noch woanderst hinterlegt. wird aber nicht beeinflusst.

wofür steht denn das SET.

ich habe nur

S M1.4
R A1.7

im OB.

Muss man hardwaremäßig noch was einstellen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
M1.4 ist zwar noch woanderst hinterlegt. wird aber nicht beeinflusst.

wofür steht denn das SET.

ich habe nur

S M1.4
R A1.7

im OB.

Muss man hardwaremäßig noch was einstellen?
Sobald der Merker durch =, S, R zugewiesen wird, ist das eine massive Beeinflussung. Auch wenn die Bedingung für das VKE unwahr ist, hat der Merker den Status FALSE und deine Initialisierung funktioniert nicht. Wenn der Merker an irgendeiner anderen Stelle im Programm beeinflusst wird, schau erst einmal dort nach.
Schau auch mal in den Eigenschaften der CPU unter Anlaufverhalten nach, der OB 100 wird bei einem Warmstart aufgerufen.

Gruss Andre
 
@andre
Ohne VKE=1 davor, z.B. mit den Befehl SET,
macht der Befehl "Setzen / Rücksetzen" gar nichts,
nicht mal eine geringste Beeinflussung von irgendwas.

Die S7-300 (von 318 abgesehen) haben nur den OB100,
von daher erübrigt sich das nachsehen des Anlaufverhaltens.

Mfg
Manuel
 
@andre
Ohne VKE=1 davor, z.B. mit den Befehl SET,
macht der Befehl "Setzen / Rücksetzen" gar nichts,
nicht mal eine geringste Beeinflussung von irgendwas.

Die S7-300 (von 318 abgesehen) haben nur den OB100,
von daher erübrigt sich das nachsehen des Anlaufverhaltens.

Mfg
Manuel
Hallo Manuel,
ich gehe mal davon aus, das vor der Zuweisung irgendein Code steht, warum sollte man sonst ein S, R oder = im Programm verwenden. Und dieser Code wird das VKE dann schon beeinflussen.
Mit der CPU hast du recht. Ich habe nochmal im Handbuch nachgeschaut.

Gruss Andre
 
Zurück
Oben