2 DBs vergleichen?

SebastianSPS

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich möchte 2 DBs vergleichen.
Hintergrund: Ich möchte Kabeltypdaten mit einem Scanner einlesen. Im Normalfall sollten das 4 byte sein.
Ablauf: ich wähle meinen Anlagetyp (Merker wird gesetzt), scanne den Kabelstrang, den ich verbaue (einer je Anlage), und sobald der falsche Kabelstrang gegriffen wird, soll ein Lämpchen angehen.

Mein gedanke war eben, den Scan-DB mit dem "Solldaten-DB"(je nach ausgewähltem Typ) zu vergleichen.

Aber wie ist da die einfachste Möglichkeit? Den DB hänge ich mal mit an.
Ich habe mir schon http://support.automation.siemens.c...slib.csinfo&lang=de&objid=2229333&caller=view angesehen, aber dort werden ja ARRAY-DBs verglichen, nciht die BYTEs wie ich sie habe...
 

Anhänge

  • DB.JPG
    DB.JPG
    108,2 KB · Aufrufe: 30
Hallo,
4 Byte sind doch ein Doppelwort. Und Doppelworte sollte man eigendlich in einem rutsch vergleichen können.

Thomas
 
Und wenn es eben 8 byte wären:

U(
L DBD 4
L DBD 8
==D
)
U(
L DBD 12
L DBD 16
==D
)
=#Merker_gleich

O(
L DBD 4
L DBD 8
<>D
)
O(
L DBD 12
L DBD 16
<>D
)
=#Merker_ungleich
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ach, AWL werde ich nei verstehen... :rolleyes:

Müsste es nicht aber
L DBD 0
L DBD 4
heissen? Weil ich ab der 0 das haben will?
Aber ich glaube, ihr versteht es grad falsch. Das ist EINER der DBs ... ist nur zufall, dass da A7 2F A7 2F steht :)
Das Bild ist z.B. das eingescannte und dann im nächsten DB sollte auch A7 2F A7 2F stehen.
 
Ich möchte 2 DBs vergleichen. [...]
Im Normalfall sollten das 4 byte sein. [...]
Aber wie ist da die einfachste Möglichkeit?
Die wirklich einfachste Möglichkeit wurde Dir sofort von thomass5 und borromeus gezeigt.
Du musst die Vergleichs-Adressen aus den Beispielen natürlich an Deine Aufgabe anpassen.

Wenn Dir diese einfachste Möglichkeit wegen AWL zu hoch ist, dann benutze eben FUP oder KOP
mit den COMP_D-Boxen nach dem selben Schema oder benutze den von Dir selbst gefundenen
DB-Vergleichsbaustein aus dem Siemens-Support:
Ich habe mir schon http://support.automation.siemens.c...slib.csinfo&lang=de&objid=2229333&caller=view angesehen, aber dort werden ja ARRAY-DBs verglichen, nciht die BYTEs wie ich sie habe...
Wie kommst Du darauf, daß der Vergleichsbaustein nur DB-Inhalte mit Array-Struktur vergleicht? Davon steht nichts in dem Beitrag. :confused:
Der FC10 vergleicht völlig unabhängig von der DB-Struktur eine vorzugebende Anzahl von Words in 2 DB ab einer anzugebenden Adresse.

Füge also in Dein Programm den FC10 aus dem Beitrag ein, schreibe an "DB_Nr1" und "DB_Nr2" Deine DB-Nummern, an "start_address" eine 0
(das bedeuted: ab DBB0) und an "Number_DBW" eine 2 (das bedeuted: 2 Words = 4 Bytes vergleichen). Have Fun. :cool:

PS:
Viel Spaß beim späteren suchen der Vergleiche in den Referenzdaten ...
Solche Bausteine LIEBE ich, wo die DB-Nummern als INT statt als BLOCK_DB übergeben werden. :rolleyes:

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eh klar, der hat den CP340 zum Scanner im Griff..... lediglich beim DW- Vergleich haperts halt....
LOL
Ich möchte Kabeltypdaten mit einem Scanner einlesen.
Das klingt mir nicht so, als ob er schon echt vom Scanner einliest. Der TE wird wohl noch öfter hier aufschlagen ...

Der TE fängt wohl mit den leichten Problemen an und arbeitet sich zu den schweren Problemen vor.
Wenn er Pech hat, stellt sich bei den schweren Problemen dann heraus, daß die Aufgabe gar nicht
wie geplant lösbar ist ... doch dann hat er wenigstens gelernt, wie man gleich 4 Bytes auf einmal
vergleicht. ;)

Harald
 
Hallo,

Sorry, dass ich jetzt erst schreib :)

Ja, der Scanner liest schon ein. War zwar nicht so einfach, aber funktioniert.

Im Beispielprogramm sind Arrays im DB, darum dachte ich, er vergleicht nur Arrays?!
 
Zurück
Oben