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

Ergebnis 1 bis 6 von 6

Thema: Ein Bit schieben

  1. #1
    Registriert seit
    17.01.2011
    Beiträge
    88
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen, ich bräuchte mal eure Hilfe. Ich möchte ein Schieberegister erstellen und komme nicht weiter. Das Ganze soll wie folgt funktionieren:

    Wenn der Eingang E0.0 "1" ist und der Takt E0.1 "1" ist, dann soll eine "1" an die erste Stelle des Mw10 geschoben werden. Also soll M10.0 = "1" sein.
    Wenn der Eingang E0.0 "0" ist und der Takt E0.1 "1" ist, dann soll eine "0" an die Stelle M10.0 gehen und die "1" von vorhin soll nun auf M10.1.
    und so weiter...

    Ich möchte dann immer den M10.7 auf "1" oder "0" kontrollieren und danach einen Ausgang schalten. Geht sowas?

    Danke vorab.

    E0.0=1 + Takt =1 ---> M10.0=1
    E0.0=0 + Takt =1 ---> M10.0=0 + M10.1 = 1
    E0.0=1 + Takt = 1 ---> M10.0=1 + M10.1=0 + M10.2=1
    Zitieren Zitieren Ein Bit schieben  

  2. #2
    Registriert seit
    27.07.2012
    Ort
    AUT
    Beiträge
    480
    Danke
    84
    Erhielt 160 Danke für 90 Beiträge

    Standard

    Denke mal Multiplikation mit 2 würde hinkommen.

    Also Start = 0
    Wenn E0.0 dann +1
    wenn Takt dann x2

    EDIT: Wobei es wahrscheinlich auch so funktioniert wenn man es langweilig machen will Schieben und Rotieren in AWL
    Geändert von norustnotrust (07.05.2014 um 13:57 Uhr)
    Regards NRNT

  3. Folgender Benutzer sagt Danke zu norustnotrust für den nützlichen Beitrag:

    chipset (07.05.2014)

  4. #3
    Registriert seit
    17.01.2011
    Beiträge
    88
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard

    danke für die antwort,bekomms aber nicht hin.und das mit den schiebefunktionen krieg ich irgendwie auch nicht bin....

  5. #4
    Registriert seit
    02.04.2013
    Beiträge
    143
    Danke
    7
    Erhielt 22 Danke für 20 Beiträge

    Standard

    ich würde sagen,
    wenn E0.0 = 1 + Takt, zunächst *2 und dann +1
    wenn E0.0 = 0 # Takt, dann *2

    Andere Möglichkeit:
    Einen Baustein abhängig vom Takt aufrufen. Diesem Baustein E0.0 übergeben... dann kannste mit einfacher Zuweisung die Bits "schieben"

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

    chipset (07.05.2014)

  7. #5
    Registriert seit
    17.01.2011
    Beiträge
    88
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard

    top funktioniert.aber warum fangen due bits bei adresse eins an zu füllen und geht dann erst auf adresse null.bei db1.dbw0 zum Beispiel.

    und eine frage hätte ich noch. wenn ich dass alles über ein mw mache kann ich mir ja die einzelnen bits rausziehen die ich will. aber wenn ich das über die temp variablen mache, also ich lege ein word in der deklarationstabelle an, wie kann ich da ein bit rausziehen?

    danke
    Geändert von chipset (07.05.2014 um 14:48 Uhr)

  8. #6
    Registriert seit
    17.01.2011
    Beiträge
    88
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hat sich erledigt,danke

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 12.02.2014, 12:59
  2. 16-Bit Programm auf ein 64-Bit System
    Von visu90 im Forum PC- und Netzwerktechnik
    Antworten: 3
    Letzter Beitrag: 10.10.2012, 22:42
  3. In einem FB Bit's Schieben
    Von jackjones im Forum Programmierstrategien
    Antworten: 6
    Letzter Beitrag: 10.12.2009, 09:44
  4. Antworten: 5
    Letzter Beitrag: 08.12.2008, 09:16
  5. Antworten: 8
    Letzter Beitrag: 17.09.2005, 13:57

Lesezeichen

Berechtigungen

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