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

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 48

Thema: SCL Aufruf des SFC22

  1. #11
    Registriert seit
    17.10.2013
    Beiträge
    48
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ich meinte eher was ich da reinschreiben muss wen ich z.B. die Adresse 10.0 haben möchte.

  2. #12
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von BlueDogi Beitrag anzeigen
    ich meinte eher was ich da reinschreiben muss wen ich z.B. die Adresse 10.0 haben möchte.
    deswegen der Link auf die Ausführungen in den FAQ.
    84h ist der Speicherbereich Datenbaustein ... die restlichen drei Bytes des DW beinhalten die Adresse (siehe übersichtliche Darstellung im verlinkten Beitrag)

    für 10.0 wäre das dann: DW#16#84000050

    Basis 10 - drei nach Links/multipliziert mit acht - hexadezimale Darstellung: 50h
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #13
    Registriert seit
    17.10.2013
    Beiträge
    48
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard

    OK verstanden ersten drei für die Bit Adresse der rest für die Byte Adresse. So jetzt will ich aber in einer Schleife die Adresse immer wider um x erhöhen für ein Beispiel die Zahl 10. Der Wärt nach dem ersten durchlauf müsste dan DW#16#840000A0 betragen oder? aber wie muss ich rechnen. ich kann ja nicht einfach das DWORD mit 10 Addieren.

  4. #14
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Wenn du 10 aufaddieren willst auf eine Adresse, dann

    L 10
    SLD 3
    L dein_Pointer
    +D

    SLD 3 bewirkt, dass die 10 um die 3 Bitpositionen nach links geschoben wird, dann kannst du sie auf den Pointer aufaddieren.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #15
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von BlueDogi Beitrag anzeigen
    OK verstanden ersten drei für die Bit Adresse der rest für die Byte Adresse. So jetzt will ich aber in einer Schleife die Adresse immer wider um x erhöhen für ein Beispiel die Zahl 10. Der Wärt nach dem ersten durchlauf müsste dan DW#16#840000A0 betragen oder? aber wie muss ich rechnen. ich kann ja nicht einfach das DWORD mit 10 Addieren.
    zuerst die Adresse ermitteln, also z.B. aus dem Schleifenzähler errechnen
    diese in das passende Format bringen (also mal 8 ... Bit dazu, wenn gewünscht - zusätzliche Variable notwendig)
    und das so enstandene Doppelword mit dem Datentyp-Doppelwort DW#16#84000000 ODER-Verknüpfen
    fertig ist.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #16
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Wenn du 10 aufaddieren willst auf eine Adresse, dann

    L 10
    SLD 3
    L dein_Pointer
    +D

    SLD 3 bewirkt, dass die 10 um die 3 Bitpositionen nach links geschoben wird, dann kannst du sie auf den Pointer aufaddieren.
    in SCL muss doch jeder Befehl mit einem ";" terminiert sein!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #17
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    in SCL muss doch jeder Befehl mit einem ";" terminiert sein!
    Das ist AWL!
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. #18
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Das ist AWL!
    NEIN! ... Doch! .... oooooohhhhh-mmmmhhh
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #19
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hallo,
    es geht auch :
    Code:
    L #deinPointer
    L p#10.0
    +D
    T #deinPointer
    Gruß
    Larry

  10. #20
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo,
    es geht auch :
    Code:
    L #deinPointer
    L p#10.0
    +D
    T #deinPointer
    Gruß
    Larry
    folge ich Ralles Einwand, ist auch dies sogenanntes AWL ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 17.04.2014, 20:38
  2. Antworten: 1
    Letzter Beitrag: 11.04.2013, 15:39
  3. Antworten: 17
    Letzter Beitrag: 08.03.2011, 10:00
  4. SCL: FB Aufruf unter SCL mit Variablen DB
    Von ThorstenK im Forum Programmierstrategien
    Antworten: 32
    Letzter Beitrag: 10.02.2011, 19:15
  5. Mehrfacher, gleichzeitiger Aufruf des SFC84
    Von Deichkind im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 31.05.2010, 14:11

Stichworte

Lesezeichen

Berechtigungen

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