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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Eine kleine Spielerei!

  1. #1
    Registriert seit
    09.01.2009
    Ort
    Wernberg-Köblitz
    Beiträge
    203
    Danke
    17
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute eine kleine spielerei!

    Ich möchte gerne von AB 50 bis AB 113 (64 Byte) einen Wert (Wort) durchlaufen lassen (mit 0,5 Hz) in meinem Beispiel (hex. AFFE) zu Demonstrations - und Testzwecken, nun ich kann das schon machen mit:

    L 45054 // Für hex.(AFFE)
    T AW 50
    (Zählimpuls hab ich jetzt weggelassen)
    etc.

    aber kann man das nicht kürzer lösen (indirekt) oder so? Eine Schleife? die das AW erhöht? Aber wie?
    Schwarz ist Rot und Plus ist Minus!!!
    Zitieren Zitieren Eine kleine Spielerei!  

  2. #2
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Indirekte Adressierung, gibt es zig Beiträge hier, und FAQ...

    V.
    ______________________________________
    relax, take it easy
    Zitieren Zitieren -  

  3. #3
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Hi R,

    Um 'AFFE' Anzuzeigen brauchst Du ein Doppelwort.

    Da würde ich einen Zeiger nehmen und die AD speicherindirekt Adressieren.
    Das Grauen lauert in der Zwischenablage !!

  4. #4
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Zitat Zitat von dtsclipper Beitrag anzeigen
    ...'AFFE' Anzuzeigen brauchst Du ein Doppelwort.
    Wieso Doppelwort.. 'AF' 'FE' = zwei Bytes = 1 Wort.

    V.
    ______________________________________
    relax, take it easy

  5. #5
    Registriert seit
    01.10.2007
    Ort
    Waiblingen
    Beiträge
    3.317
    Danke
    767
    Erhielt 536 Danke für 419 Beiträge

    Standard

    Code:
          L     'affe'
          L     W#16#AFFE

  6. #6
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Wobei die Frage ist braucht die Anzeige ASCII: 'AFFE' oder Hex: 0xAFFE..

    V.
    ______________________________________
    relax, take it easy

  7. #7
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    Zitat Zitat von röhrengertl Beitrag anzeigen
    Hallo Leute eine kleine spielerei!

    Ich möchte gerne von AB 50 bis AB 113 (64 Byte) einen Wert (Wort) durchlaufen lassen (mit 0,5 Hz) in meinem Beispiel (hex. AFFE) zu Demonstrations - und Testzwecken, nun ich kann das schon machen mit:

    L 45054 // Für hex.(AFFE)
    T AW 50
    (Zählimpuls hab ich jetzt weggelassen)
    etc.

    aber kann man das nicht kürzer lösen (indirekt) oder so? Eine Schleife? die das AW erhöht? Aber wie?
    Code:
     
    LAR1 DW#16#82000190   //Pointer auf AW50
     
          L     W#16#AFFE
          T     W [AR1,P#0.0]
    
          L     31
    nw1a: T     #Schleife
          L      0
          T     W [AR1,P#0.0]
          +AR1  P#2.0
          L      W#16#AFFE
          T     W [AR1,P#0.0]
    
          L     #Schleife
          LOOP  nw1a
    wirst allerdings nichts beobachten können, weil die ganze aktion binnen 1 SPS-zyklus' stattfindet

  8. Folgender Benutzer sagt Danke zu Mangokind für den nützlichen Beitrag:

    t-poke (06.03.2009)

  9. #8
    Avatar von röhrengertl
    röhrengertl ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.01.2009
    Ort
    Wernberg-Köblitz
    Beiträge
    203
    Danke
    17
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Das kann ich doch auch langsamer machen mit Taktmerker? Oder?
    Mit dem DW hattet ihr schon recht, hatte vorher nur mit AF rumexperimentiert! Dann wird es Zeit für mich mal das indirekte Programmieren zu lernen! Hab ich früher nie gebraucht!
    Schwarz ist Rot und Plus ist Minus!!!
    Zitieren Zitieren AW Affe  

  10. #9
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    schleifen werden immer binnen 1 SPS zyklus abgearbeitet.

    wenn du es also langsamer machen möchtest, kannst du keine schleife verwenden

    wenn du es langsam haben möchtest, musst du einen FC/FB schreiben, der die Flanken eines SPS-taktmerkers ausliest und bei der Flanke den wert des Pointers, den du remanent (in einem DB) speichern musst um p#2.0 erhöht (und in den DB zurück schreibt)

    außerdem muss sich der FC merken, wie oft er das mit der Flanke schon gemacht hat und bei >31 durchläufen sofort beenden, da du sonst ausgänge beschreibst, die es nicht gibt
    Geändert von Mangokind (05.03.2009 um 14:02 Uhr)

  11. #10
    Avatar von röhrengertl
    röhrengertl ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.01.2009
    Ort
    Wernberg-Köblitz
    Beiträge
    203
    Danke
    17
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    SFC 20 "BLKMOV" kann ich da nicht was machen daraus? Das das ganze kürzer wird?
    Schwarz ist Rot und Plus ist Minus!!!
    Zitieren Zitieren Sfc 20 "blkmov"  

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 08.10.2010, 10:10
  2. Antworten: 4
    Letzter Beitrag: 29.05.2009, 21:02
  3. Mal ne kleine Zwischenfrage
    Von arcis im Forum Stammtisch
    Antworten: 51
    Letzter Beitrag: 27.06.2008, 19:04
  4. Antworten: 3
    Letzter Beitrag: 05.03.2006, 20:56
  5. eine kleine werbung
    Von Anonymous im Forum Werbung und Produktneuheiten
    Antworten: 1
    Letzter Beitrag: 05.11.2005, 09:42

Lesezeichen

Berechtigungen

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