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

Ergebnis 1 bis 10 von 10

Thema: Zuweisung

  1. #1
    Registriert seit
    01.09.2008
    Beiträge
    48
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi!
    Habe da ein kleines Anfängerproblem.
    Ich komme mit übersichtlichen Mitteln irgendwie nicht weiter.
    Also, bekomme über einen Eingangsbyte Signale...Also Binärcodiert hätte ich dann 255 Möglichkeiten. Diese muss ich dann "ummappen" auf Merker...beginnend bei 200. Also 1= Merker 200.0, 2=Merker 200.1, 9=Merker 201.0 usw.
    Ich als Anfänger würde jetzt 255 vergleiche und zuweisungen anstellen, das ist aber ganz schön *pieep*. Hat jemand eine Idee wie ich das am einfachsten machen kann?
    Gruß
    Zitieren Zitieren Zuweisung  

  2. #2
    Registriert seit
    28.09.2007
    Ort
    Österreich
    Beiträge
    6
    Danke
    0
    Erhielt 5 Danke für 4 Beiträge

    Standard

    Du brauchst einfach nur das Eingansbyte auf ein Merkerbyte umkopieren:

    Beispiel:

    L EB0
    T MB0



    MFG
    Markus

  3. #3
    Registriert seit
    23.05.2008
    Beiträge
    27
    Danke
    0
    Erhielt 14 Danke für 12 Beiträge

    Standard

    Hallo,

    du könntest das in einer Schleife mit Pointern machen. Aber wenn du schreiben würdest was du genau mit dem Eingansbyte machen möchtest, findet sich wahrscheinlich eine bessere Möglichkeit für die Auswertung.

    Stephan

    Edit:

    @thalerm
    So wie ich das verstanden habe möchte er wohl für jeden möglichen Zustand seines Eingangsworts einen Merker setzen. Also insgesamt 256 Merker (einer für jeden Zustand von 0 bis 255).
    Geändert von Isch (03.12.2008 um 11:05 Uhr)

  4. Folgender Benutzer sagt Danke zu Isch für den nützlichen Beitrag:

    snowbda (03.12.2008)

  5. #4
    Registriert seit
    28.03.2008
    Beiträge
    142
    Danke
    19
    Erhielt 25 Danke für 25 Beiträge

    Standard

    Ich würde erstmal den Bereich mit Nullen voll schreiben.

    Code:
    L   0
    T   MD200
    T   MD204
    T   MD208
    T   MD212
    T   MD216
    T   MD220
    T   MD224
     T   MD228
    Und dann würde ich mir einen Pointer Basteln der das entsprechende Bit auf True setzt. http://www.sps-forum.de/showpost.php...92&postcount=4 in dem Beitrag geht es zwar um DBs aber das lässt sich sicher leicht auf Merker umbasteln.

  6. #5
    Registriert seit
    01.09.2008
    Beiträge
    48
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard

    HI!
    Mit Nullen vollschreiben ist schlecht, ein Merker kann gesetzt werden und im nächsten Schritt ein anderer, der erste soll z.B. erhalten bleiben.
    In C wäre das alles kein Thema, aber in Step7...gnarf
    Geändert von snowbda (03.12.2008 um 11:21 Uhr)

  7. #6
    Registriert seit
    28.09.2007
    Ort
    Österreich
    Beiträge
    6
    Danke
    0
    Erhielt 5 Danke für 4 Beiträge

    Standard

    Sorry, hab ich leider falsch verstanden!
    Natürlich geht das dann nicht!

    Hast recht, indirekte Adressierung wär eh ziemlich die vernünftigste Lösung!

    MFG
    Markus

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

    snowbda (03.12.2008)

  9. #7
    Registriert seit
    28.03.2008
    Beiträge
    142
    Danke
    19
    Erhielt 25 Danke für 25 Beiträge

    Standard

    Zitat Zitat von snowbda Beitrag anzeigen
    HI!
    Mit Nullen vollschreiben ist schlecht, ein Merker kann gesetzt werden und im nächsten Schritt ein anderer, der erste soll z.B. erhalten bleiben.
    In C wäre das alles kein Thema, aber in Step7...gnarf
    Das konnte ich aus der Frage stellung nicht rauslesen macht das ganze aber noch einfacher:
    Code:
    //GEÄNDERT
          L     MW    10
          T     #iBitNumber
    
    
          L     #iBitNumber
          L     8
          /I    
          L     200
          +I    
          T     #iByte
    
          L     #iBitNumber
          L     8
          MOD   
          T     #iBit
    
          L     #iByte
          SLD   3
          L     #iBit
          +D    
          LAR1  
    
          U     E      0.0
          =     M [AR1,P#0.0]
    Bit Adresse in MW10 und der Zustand des Bits wird durch E0.0 bestimmt.
    Geändert von BoxHead (03.12.2008 um 11:32 Uhr) Grund: Programm geändert

  10. Folgender Benutzer sagt Danke zu BoxHead für den nützlichen Beitrag:

    snowbda (03.12.2008)

  11. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Zitat Zitat von snowbda Beitrag anzeigen
    Hi!
    Habe da ein kleines Anfängerproblem.
    Ich komme mit übersichtlichen Mitteln irgendwie nicht weiter.
    Also, bekomme über einen Eingangsbyte Signale...Also Binärcodiert hätte ich dann 255 Möglichkeiten. Diese muss ich dann "ummappen" auf Merker...beginnend bei 200. Also 1= Merker 200.0, 2=Merker 200.1, 9=Merker 201.0 usw.
    Ich als Anfänger würde jetzt 255 vergleiche und zuweisungen anstellen, das ist aber ganz schön *pieep*. Hat jemand eine Idee wie ich das am einfachsten machen kann?
    Gruß
    Das ist doch gar kein Problem ...
    Code:
    L #Wort_mit_Bitmaske
    L P#200.0  // Anfangspointer für M200.0
    +D
    LAR1
     
    U     E      0.0
    =     M [AR1,P#0.0]
    Gruß
    LL

  12. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    snowbda (03.12.2008)

  13. #9
    Registriert seit
    01.09.2008
    Beiträge
    48
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Das ist doch gar kein Problem ...
    Stimmt...wenn man weiß wie es geht

    Danke Euch für die Hilfe!

  14. #10
    Registriert seit
    30.11.2008
    Ort
    Baesweiler
    Beiträge
    845
    Danke
    261
    Erhielt 121 Danke für 88 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    darf ich fragen was das für einen sinn macht, bzw. warum du das machen willst?

Ähnliche Themen

  1. bedingte Zuweisung im FUP?
    Von McNugget im Forum CODESYS und IEC61131
    Antworten: 21
    Letzter Beitrag: 26.11.2009, 11:16
  2. Ungültige Zuweisung, SCL
    Von petzi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 18.05.2009, 13:55
  3. Zuweisung von werten auf Out-Variablen
    Von blasterbock im Forum Simatic
    Antworten: 38
    Letzter Beitrag: 03.12.2008, 10:04
  4. Zuweisung von Adressen
    Von buenne im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 05.04.2007, 16:19
  5. Zuweisung von Hardware Eingängen
    Von chivas im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 19.10.2004, 16:35

Lesezeichen

Berechtigungen

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