Indirekte Adressierung von einem DB

Sirus

Level-1
Beiträge
44
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an Alle!

Hab leider wieder mal ein Problem mit der Handhabung von Step7. Würde in meiner S7-315 gerne Werte aus einem DB indirekt adressiert auf ein Gemeinsames Doppelwort schreiben.

Habe in einem DB 24 Sollwerte (REAL). Diese würde ich gerne abhängig von der aktuellen Uhrzeit (Stunde) auf ein Merker-Doppelwort schreiben

Also in der Stunde 0, den Wert DB1 DBD 0 auf MD 10 zum Beispiel. Um 13 Uhr würd ich gerne DB1 DBD 52 auf MD 10 schreiben. Der Stundenwert wäre ein INT-Wert (kann auch geändert werden) der zwischen 0 und 23 sein kann. Bzw. um es für die Indirekte Adressierung leichter zu machen könnte ich diesen auch vorher mit 4 multiplizieren, damit dieser Wert nicht 13 sondern 52 enthält.

In KOP dürfte das anscheined garnicht gehen

Kann mir da jemand weiterhelfen wie ich das machen könnte?

Mfg, Didi
 
Hallo

AUF DB 24

L Stunde (d.h. Istwert, z.B. MW Achtung, kein DW aus anderem DB)
L 4
*I
ITD
SLD 3
T MD 100

L DBD [MD100]
T MD10

0 Uhr -> DD 0
1 Uhr -> DD 4
2 Uhr -> DD 8
23 Uhr -> DD 92
 
Hallo

AUF DB 24

L Stunde (d.h. Istwert, z.B. MW Achtung, kein DW aus anderem DB)
L 4
*I
ITD
SLD 3
T MD 100

L DBD [MD100]
T MD10

0 Uhr -> DD 0
1 Uhr -> DD 4
2 Uhr -> DD 8
23 Uhr -> DD 92


kleiner trick zur laufzeitoptimierung:

L Stunde

SLD 5 // Anpassung Bytadressierung (SLD3) und Doppelwort(SLD 2)
T MD 100
 
Der Makus kanns nicht lassen, jede µs wird genutzt.......

Ein Kunde schrieb mal in einer Ausschreibung:
"Auf trickreiche Progammierung wird kein Wert gelegt. Zykluszeit und Speicherplatz sind bedeutungslos."

:):):)
 
Dann sei froh, es macht echt machesmal keinen Spass, wenn die NC die PLC immer überholt und es dann etwas laut wird.
Vielleicht sollte ich mir auch ein anderes Terain suchen, Mann wird nicht jünger :)


Servus

bike
 
Zurück
Oben