Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 25 von 25

Thema: Adressberechnung +AR2

  1. #21
    Avatar von Onkel Dagobert
    Onkel Dagobert ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.10.2003
    Beiträge
    3.403
    Danke
    447
    Erhielt 502 Danke für 406 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Ralle Beitrag anzeigen
    Jo, das ist wahr, dann ist es aber auch unnötig, das AR2 überhaupt erst mit einer "Grundadresse" zu laden. Das kann man dann gleich als "Offset" z.Bsp. in die Integer-Rechnung mit reinnehmen.
    Ich halte es grundsätzlich so dass ich den Pointer/ANY als Bausteinparameter übernehme. Ich berechne also nichts, bis ggf. auf einen Offset, wie in desem Fall.

    Im konkreten Fall habe ich eine DB mit 67 Datensätzen a 100Byte. Ich übergebe´den ANY des ersten Datensatzes and die FC, somit habe ich auch die Länge eines Datensatzes. Anhand eines INT-Parmetres "NR" [1..67] wähle ich den gewünschten Datensatz und kopiere ihn in einen anderen Datenbereich (ebenfalls ein ANY als Input). Ich muss also keine Adressen berechnen, sondern nur einen Offset anhand der Datensatznummer.

    Gruß, Onkel
    Geändert von Onkel Dagobert (09.01.2008 um 00:39 Uhr) Grund: Rechtschreibung und Grammatik - Grüße an maxi
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  2. #22
    Registriert seit
    22.12.2006
    Beiträge
    43
    Danke
    0
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Hallo Dagobert,


    ich habe dass bei mir ähnlich gelöst.

    War allerdings ein FB.



    L #IStellplatznummer
    L 100
    *I
    ITD
    SLD 3
    T #TZeigerSchnittstelle


    Im nächsten Netzwerk greife ich dann allerdings über das AR1 darauf zu.

    LAR1 #TZeigerSchnittstelle
    L #TReal2
    T DBD [AR1,P#14.0]
    L #TReal3
    T DBD [AR1,P#18.0]

    Funktioniert so weit wunderbar.

    Meine maximale Stellplatznummer beträgt 34.
    Meine Nutzbytes sind je Stellplatz 100 Byte groß.
    #TZeigerSchnittstelle ist als temporäre Variable vom Typ DWord deklariert.


    Mit freundlichen Grüßen
    Zitieren Zitieren Aehnlich  

  3. #23
    Registriert seit
    25.10.2007
    Beiträge
    14
    Danke
    1
    Erhielt 4 Danke für 4 Beiträge

    Blinzeln

    Beschreibung

    +AR2 (Addiere zu AR2) addiert einen Versatz, der entweder in der Anweisung oder in AKKU1-L angegeben wird, zum Inhalt von AR2. Die Ganzzahl (16 Bit) wird zunächst vorzeichenrichtig auf 24 Bit erweitert und danach zu den niederwertigsten 24 Bit von AR 2 (Teil der relativen Adresse in AR2) addiert. Der Teil der Bereichskennung in AR2 (Bits 24, 25 und 26) wird nicht verändert. Die Operation wird ausgeführt, ohne die Statusbits zu berücksichtigen oder zu beeinflussen.

    +AR2: Die Ganzzahl (16 Bit), die zum Inhalt von AR2 addiert werden soll, wird durch den Wert in AKKU1-L angegeben. Zulässig sind Werte von -32768 bis +32767.



    Die 51200 stellen im 16bit-Format eine negative Zahl dar, die dann von dem Befehl (+AR2) in eine negative 24bit-Zahl umgewandelt werden und dann addiert.
    Zitieren Zitieren +ar2  

  4. #24
    Registriert seit
    22.12.2006
    Beiträge
    43
    Danke
    0
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Hallo zusammen,


    habe das alles mal an einer 315 nachgestellt.

    Sieht so weit sehr gut aus.

    L P#20.0
    LAR2

    oder auch

    LAR2 P#20.0

    Die Zeilen darüber sind nur um zu zeigen, daß auch Dein Offset mit berechnet werden kann.

    L 64
    L 1000
    *I
    SLD 3

    Der Trick ist wohl, daß man sich das AR2 Register erst in den Akku holt und dann verrechnet.

    TAR2
    +D
    LAR2

    Ich hoffe er hilft bei der Lösung deines Problems.
    Zitieren Zitieren Ausprobiert  

  5. #25
    Registriert seit
    22.12.2006
    Beiträge
    43
    Danke
    0
    Erhielt 6 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Jetzt noch mit Gif.
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren JetztMitBild  

  6. Folgender Benutzer sagt Danke zu tim_taylor für den nützlichen Beitrag:

    Onkel Dagobert (11.01.2008)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •