Sciheben von Variablen im DB

alexhh100

Level-1
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Schieben von Variablen im DB

Hallo alle zusammen.
Ich arbeite gerade an einem neuem Projetk.
Ich möchte eine Tagesstückzahl ( DINT )und das Datum ( Date ) im einem DB speichern.Immer hintereinander. Nach jedem Hauptschalter ein. ( Erster Zyklus) Ich habe schon angefangen das zu schreiben aber ich mußte feststellen das dieses Programm größere ausmasse hat ,Da ich es für 10 Jahre machen wollte. zusammen fassung nach 7 Tagen zu einer woche und 4 wochen einen Monat. 12 Monate 1 Jahr über Zähler. Ich habe angefangen mit:
bei ersten einschalten:
L x ( Menge erster Zyklus)
L 1
==I
spbn a
L XX.XX.XXXX ( Date )
T dbX.DBW0
L XXXXXXXXXXX ( Stück )
T DBX.DBW2
a: nop0

beim zweiten einschalten
L X ( Menge erster Zyklus )
L 2
==I
spbn b
L dbX.DBW0
t DBX.DBw4
L dbx.DBW2
t DBx.DBW6
L XX.XX.XXXX ( Date )
T dbX.DBW0
L XXXXXXXXXXX ( Stück )
T DBX.DBW2
b: nop 0

Jetzt wollte wisssen ob es in Step 7 die möglichkeit gibt Variablen im Db zu schieben. ausser mit Lade und trans.
danke Alexhh100
 
Zuletzt bearbeitet:
Ja gibt es.
Wenn du die Daten in eine UDT zusammen fasst, kannst du dies bequem mit dem sfc20 in einen Db schieben.
Doch wie du schreibst, da brauchst du sehr grosse DB ;-)
Also ich habe bei einer ähnlichen Anwendung dies auf verschiedene DB verteilt.
In einem DB die Daten für die Stückzahlen im anderen mit dem Selben Pointer das Datum


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Danke da hätte ich eigentlich auch selber draufkommen müßen sichere damit immer die Betriebsstunden usw.auf MCC :confused:
Das mit dem 10 jahren war auch nur erstmal so angedacht. es geht hauptsächlich darum im zeitraum X denn produktionsausfall / eines Kunden zu sehen bzw dessen produktionsleistung. Alles im einem Db dachte ich wegen der Übersichtlichkeit. Stück und Datum zusammen.
 
Ja. So habe ich mir das auch nicht gedacht. Ich dachte da an Schieben. wie bei SLD so die art. das wenn ich denn befehl gebe er mir denn altuallwert an dbX.dbw0 und denn bdw0 zu dbw2 schiebt natürlich zu erst das letztere
alexhh100
 
Zuviel Werbung?
-> Hier kostenlos registrieren
aber mit blocmov kannst du nicht flexibel die daten verschieben denk ich mal...
Nicht?
Also ich kann doch über eine Zeiger immer wieder an die nexte Stelle die Daten reinschieben und wenn voll, dann wieder vorne anfangen. So ein Ringspeicher geht schon mit blkmov, würde ich persönlich nicht unbedingt machen, doch die Frage war, ob es eine andere Art Daten zu verschieben gibt.
Ich würde mir drei DB machen 1. Uhrzeit, 2. Datum und der 3. für die Stückzahlen.
Die Adressierung ist da sehr einfach, da ja jeder Db den selben Offset hat.

bike
 
ich würde mir einen Anypointer selbst schreiben für quelle und Ziel, ist nicht allzuviel arbeit mit der Anleitung aus dem Forum. Ist das mal geschafft kannst du alles total flexibel verschieben egal welcher Datentyp und grösse.

Das alles in einen FC verpackt kann man immer wieder brauchen. Ich verwende das häufig für das verschieben von Strings und zum darstellen beliebiger Signale (I,O,DB,M,T...) aus meiner Steuerung auf dem HMI mit einer entsprechenden eingabemaske.
 
Nicht?
Also ich kann doch über eine Zeiger immer wieder an die nexte Stelle die Daten reinschieben und wenn voll, dann wieder vorne anfangen. So ein Ringspeicher geht schon mit blkmov,
bike

Nicht Zeiger, Anypointer

Ich würde mir drei DB machen 1. Uhrzeit, 2. Datum und der 3. für die Stückzahlen.
Die Adressierung ist da sehr einfach, da ja jeder Db den selben Offset hat.

bike

Geht doch auch in einem DB als Array, ist halt ein anderer offset
 
Zurück
Oben