Erste schritte mit Global DB

rabit

Level-1
Beiträge
60
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Comunity ich habe noch nie mit Global DB´s gearbeitet.
Kann mir jemand z.B erklären, wie man mit einem Global DB
in einen Program einbindet.
Z.B. um den Ausgang 4.0 zu setzten oder den MW 25 zu beschreiben wenn die Anlage neu gestartet wird.
Tut mir leid falls ich falsch vorgebe.
Also ich brauche einen einfachen Beispiel um es zu verstehen.
Danke!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du beim starten etwas initialisieren willst, kannst du
im OB 100
Code:
SET
S "Anlaufmerker"
und am Ende des OB1 im letzem Netzwerk


Code:
set
R "Anlaufmerker"
programmieren.

Mit dem "Anlaufmerker kannst du dann etwas setzen, initialisieren usw.
z.B.
Code:
U "Anlaufmerker"
S A 4.0
 
Hey Super Danke @ vierlagig hab schon mal was wo ich mich etwas einlesen kann.
Ja lesen hab ich mal gekonnt mal schauen ob das klppt danke dir.

@marlob
Auch großen Dank!
OK geht auch mit Fup.

Z.B ich möchte den Ausgang 4.0 <setzen.

Wie verknüpfe ich den Anlaufmerker mit dem Ausgang 4.0?
 
Zuletzt bearbeitet:
Ok wenn man aber den Anlaufmerker im DB setze dann ist doch der A4.0 solange gesetzt bis ich den rücksetzte oder?
Ich brauche auf jeden Fall ein Beispiel wo man Sinnvoll den Global DB einsetzt.
Ist das von mir angeführte Beispiel nun sinnvoll oder habt Ihr einen anderen kurzen Beispiel?

Andere Frage, ich kann doch zum späteren Zykluszeitpunkt den gleichen Anlaufmerker für andere Zwecke mit benutzen oder?

Z.B.
U Anlaufmerker
S A4.0 (Steuerung ein)
.
.
2 Netzwerke später
U Anlaufmerker
S A4.1 Haltemagnet ein

Anderes Beispiel!
U Anlaufmerker
S MW 2
Geht das?
Oder
Kann ich den Wert 150 als Beispiel in den Merkerwort 2 in Abhängigkeit von dem Anlaufmerker beschreiben?
Danke vorab!
 
Zuletzt bearbeitet:
Wenn du während des OB100/101 ein Bit in dem DB auf true setzen tust, bleibt das so lange true bis du es überschreibst.
Auch wenn du nicht mehr in dem OB100 beschreibst, dann bleibt dennoch das Bit =1

Daran solltest du denken


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
U Anlaufmerker
S MW 2
Geht das?
Oder
Kann ich den Wert 150 als Beispiel in den Merkerwort 2 in Abhängigkeit von dem Anlaufmerker beschreiben?
Danke vorab!

Also ein MW kannst selbst du nicht setzen


es sollte heißen

un Anlaufmerker
spb end
l 150
t mw 2
r Anlaufmerker
end: nop 0
 
Ok also Du lädst den Wert 150 in Abhängigkeit vom Anlaufmerker in den MW 2 und setzt den Anlaufmerker zurück?
Du springst bedingt zu Marke "end"warum dies?
Und wozu dient der Nop Befehl?
SRY ich progge eigentlich nur in Fup deshalb die Frage!

OB 100
Also wenn ich die relevanten Signalzustände der Anlage zum Wiederanlauf benötige die auf jedenfall in den DB schreiben oder?
 
Zuletzt bearbeitet:
Also im OB100 setzt du deinen Anlaufmerker.
dann im Programm wird solange der Merker =1 ist der Wert in das MW transferiert.
Dann setze ich den Merker zurück, damit nicht immer transferiert wird.
Und Nop 0 ist ein Befehl, damit dich dorthin springen kann.


Habe gerade kein S/ damit ich dir das in Bildchen zeigen kann ;)


bike



P.S: U DB1.dbx0.0
SPBNB _001
L 150
T MW 2
SET
SAVE
CLR
_001: U BIE
R DB1.DBX0.0
Wenn du das in AWL einkopierst solltest du es mit ctrl + 3 dies in FUP sehen
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok also Du lädst den Wert 150 in Abhängigkeit vom Anlaufmerker in den MW 2 und setzt den Anlaufmerker zurück?
Du springst bedingt zu Marke "end"warum dies?
Und wozu dient der Nop Befehl?
SRY ich progge eigentlich nur in Fup deshalb die Frage!

OB 100
Also wenn ich die relevanten Signalzustände der Anlage zum Wiederanlauf benötige die auf jedenfall in den DB schreiben oder?

das springen ist nur, weil der Ladebefehl unabhängig vom Verknüpfungsergebnis ist, d.h. egal wie dein Anlaufmerker ist, der Ladebefehl wird immer ausgeführt. deshalb wird nur geladen/transferiert, wenn dein Anlaufmerker "true" ist.
 
Ist das von mir angeführte Beispiel nun sinnvoll
Eher nicht!
Ich brauche auf jeden Fall ein Beispiel wo man Sinnvoll den Global DB einsetzt.
Du hast einen Analogwert den Du im Baustein X einliest.
Diesen schreibst Du auf den Global DB
Nun kannst Du in einem ganz anderen Baustein das Wort des Global DB's abfragen.

Code:
     FC 1:
     CALL FC105           // Baustein für Analowerte lesen
          OUT: DB1.DBW0  // Der normierte Istwert (Global DB)
 
     FC 2:
     L DB1.DBW 0  // Normierter Istwert laden
     L 500        // vergleichen ob der Wert größer 500
     >I           // wenn ja ...
     = Mx.y       // wird der Merker x.y High
 
Zuviel Werbung?
-> Hier kostenlos registrieren
aber für alle bisherigen beispiele ist ein global-db nicht zwingend notwendig. das könnten genauso gut merker sein.
besser wäre es wenn du, einen zählerwert im fc 1 ausließt und im fc2 mit einem anderen wert vergleichen möchtest.

oh, paule war da gerade einen tick schneller als ich...
 
Also ich denke, die Bezeichnung "Global" wird vielleicht vom TE nicht ganz richtig verwendet.

Also lasst den Jungen lernen und verstehen


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Paule ...seit wann gibt der FC105 nen INT aus? :eek:
Kollege 4L, das sollte nur zum Verständnis dienen.
Übrigens der FC105 hat sogar noch ein paar Eingangsparameter, noch gar nicht aufgefallen das die fehlen? ;)

Also ich denke, die Bezeichnung "Global" wird vielleicht vom TE nicht ganz richtig verwendet.

Also lasst den Jungen lernen und verstehen
Wie kommst Du jetzt zu dieser Erkenntnis?
 
Achso also wen ich z.B den Wert 150 in den MW 2 im FC 1 schreibe kann ich dieses MW 2 doch auch aus dem FC 2 als Beispiel aufrufen oder kann ich den MW2 nur aus dem Baustein aus dem FC 1 aufrufen und weiterverarbeiten?

Echt ihr seid alle Knorke!;)
 
Achso also wen ich z.B den Wert 150 in den MW 2 im FC 1 schreibe kann ich dieses MW 2 doch auch aus dem FC 2 als Beispiel aufrufen oder kann ich den MW2 nur aus dem Baustein aus dem FC 1 aufrufen und weiterverarbeiten?
Natürlich geht das auch!
Merker sind auch "Global"

Deine Frage war aber:
Hallo Comunity ich habe noch nie mit Global DB´s gearbeitet.
Kann mir jemand z.B erklären, wie man mit einem Global DB
in einen Program einbindet.
DB's sind aber keine Merker
Sie können sich allerdings was merken!
 
Zurück
Oben