Beiträge 4 Punkte Reaktionen 0 #1 Hallo zusamen! Bin auf der suche nach einer Siemensunterlage TIA zur indirekten Adressierung. Weiß selbst nicht ob es die gibt aber vielleicht kann mir ein User ein gutes Buch oder einen Link empfehlen in dem die Adressierung erklärt wird. Danke in vorraus. :? ::? : 193 #2 Hallo Gutes Buch wo die indirekte Adressierung gut erklärt wird inkl. 3 1/2"-Diskette mit Beispielen. Hier klicken ---> Danach einfach auf die Nummer klicken! Indirekte Adressierung | SPS-Forum - Automatisierung und Elektrotechnik. mfG churchill
Sie müssen nicht schon beim Schreiben Ihres Programmes die Operanden endgültig festlegen, sondern können sie erst während der Laufzeit bestimmen lassen. Nützlich ist dies, wenn immer wiederkehrende Operationen mit verschiedenen Operanden durchgeführt werden sollen. Wenn Sie z. B. 14 verschiedene Rezepte in den Datenbausteinen DB 1 – 14 gespeichert haben und die Nummer des aktuellen Rezeptes im MW 20 gespeichert ist, programmieren Sie: AUF DB[MW 20] Wenn im MW 20 eine 5 steht, wird durch diese Anweisung der DB 5 aufgeschlagen und das Programm arbeitet im Folgenden mit dem darin gespeicherten Rezept. SPS Adressierung von Ein und Ausgängen. Dieses Verfahren nennt man "Speicherindirekte Adressierung", da der Index in den eckigen Klammern eine beliebige Speicherstelle sein kann. Zum indirekten Zugriff auf einzelne Bits reicht ein Word wegen des großen Adressbereiches von Eingängen, Ausgängen, Merkern und Datenbits von jeweils 65536 Bytes nicht aus, denn schon für die Angabe der Byte-Adresse wird bereits ein Word benötigt. Für die indirekte Adressierung dieser Datenbereiche wird daher ein Doppelwort benötigt.
Der Einheitlichkeit halber gilt dies auch dann, wenn auf Bytes, Words oder DWords zugegriffen wird. Um die Bit-Nummer zu codieren, werden die drei niederwertigsten Bits des DWords verwendet. Da diese Bits dann für die Byte-Nummer nicht mehr zur Verfügung stehen, wird diese einfach mit 8 multipliziert und zur Bit-Nummer addiert. Im Ergebnis werden alle Bits eines Datenbereiches einzeln durchnummeriert. Bit 0. 2 bekommt die Nummer 2 hex 0000 0002 Bit 1. 0 bekommt die Nummer 8 hex 0000 0008 Bit 8. 3 bekommt die Nummer 67 hex 0000 0043 In der Praxis brauchen Sie sich um diese Details nicht zu kümmern. Indirekte adressierung sps tv. Wenn Sie das POINTER-Format verwenden, dann programmieren Sie einfach L P#8. 3 T MD 24 U A[MD24] um auf den Ausgang A 8. 3 zuzugreifen. Siehe auch: Register-indirekte-Adressierung
Das Ganze nennt man registerindirekte-bereichsinterne-Adressierung. Bereichsintern deswegen, weil (im Beispiel) immer nur Eingänge abgefragt werden. Natürlich können Sie durch diese nicht nur auf Bits, sondern auch auf Bytes, Words und DWords zugreifen. Beispiel: L MW[AR2, P#2. 0] Es gibt nun aber auch die registerindirekte-bereichsübergreifende Adressierung. Da müssen Sie im Vorfeld nicht einmal entscheiden, ob Eingänge, Ausgänge oder Merker abgefragt werden. Das geht folgendermaßen: Sie laden das AR1 mit der Adresse A 5. 3: LAR1 P#A5. 3 Dann weisen Sie dem Ausgang A 5. 3 den Wert des VKE zu, indem Sie programmieren: = [AR1, P#0. 0] und entsprechend den Ausgang A 17. 2 = [AR1, P#11. Indirekte adressierung sp. z o. 7] // (5. 3 + 11. 7 = 17. 2) Auch hier können Sie genauso auf Bytes, Words und DWords zugreifen: L W[AR1, P#4. 0] Eigenartigerweise ist der bereichsübergreifende Zugriff auf Lokaldaten in einer S7-300 nicht gestattet, bei einer S7-400 jedoch erlaubt. Wir haben diesen Zugriff in TrySim gesperrt.!! Warnung bei Verwendung der Adressregister!!
EW 0 = EB 0 und EB 1 EW 2 = EB 2 und EB 3 EW 4 = EB 4 und EB 5 Du könntest aber auch die Bytes 1 & 2 ansprechen und das würde das Eingangswort 1 ergeben wobei ungerade Zahlen eher unüblich sind. Hoffe ich konnte deine Frage beantworten und wenn nicht las es mich Wissen. mit freundlichen Grüßen Rene Dorian sagt: Hallo Rene, ich habe eine Frage und zwar wie komm man darauf, wen man EW 0 und EW 2 hat auf ED 0 nimmt man immer die kleinere Zahl oder die Gerade Zahl, weil im zweiten Beispiel gibt es ein EW 8 und EW 10 diese Zahlen sind beide gerade. Nach was muss ich gehen? MfG, Dorian Rene sagt: Hallo Dorian, man kann sich das nicht ganz aussuchen, was man nimmt:). Indirekte adressierung sps 1. Es ist so das ein Doppelwort (z. B. ED0) eine Gesamtdatenbreite von 32 einzelnen Bit hat. Wenn du aber nur die ersten 16 Bit dieses Doppelwort betrachtest, wäre es das Eingangswort 0. Die nächsten 16 Bit sind dann folglich das EW2 weil die ersten 16 Bit ja schon "verwendet" werden. Im Prinzip hast du aber schon gut erkannt, das du die niedrigere Zahl betrachtest.