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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: Phänomen bei bitweisem UND

  1. #11
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Aber meiner Meinung nach ist das eh nicht schön ein NOT auf ein Word anzuwenden.
    Da gibts ja viel schönere befehle wie XOR

    Probiere das:
    Code:
    FUNCTION test : VOID
    
    VAR
    abc:WORD;
    END_VAR
    
    
    abc:=16#0001; 
    abc:=16#0001 XOR 16#FFFF;
    abc:=16#0002; 
    abc:=16#0002 XOR 16#FFFF;
    abc:=16#0004;
    abc:=16#0004 XOR 16#FFFF;
    abc:=16#0008;
    abc:=16#0008 XOR 16#FFFF;
    abc:=16#0010;
    abc:=16#0010 XOR 16#FFFF;
    END_FUNCTION
    ergibt:
    Code:
      SET   
          SAVE  
          =     L      2.1
          L     W#16#1
          T     #abc
          L     W#16#FFFE
          T     #abc
          L     W#16#2
          T     #abc
          L     W#16#FFFD
          T     #abc
          L     W#16#4
          T     #abc
          L     W#16#FFFB
          T     #abc
          L     W#16#8
          T     #abc
          L     W#16#FFF7
          T     #abc
          L     W#16#10
          T     #abc
          L     W#16#FFEF
          T     #abc
          SAVE  
          BE
    godi

  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

    mal was anderes: wofür eigentlich eine konstante negieren
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #13
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    mal was anderes: wofür eigentlich eine konstante negieren
    Manche Leute sind zu faul es umzurechnen...
    Oder ne Schulaufgabe wie erstelle ich ein einerkompliment mit der S7 in SCL?

    godi

  4. #14
    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 godi Beitrag anzeigen
    Oder ne Schulaufgabe wie erstelle ich ein einerkompliment mit der S7 in SCL?
    das ist ne schöne idee!

    aber zum thema umrechnen, ist doch nicht schwer, also als erstes würde mir da der windowsrechner einfallen ... muß man natürlich auf wissenschaftlich schalten

    aber auch so, im kopf, ist es nicht schwer ... einfach stelle für stelle umdrehen

    0->F
    1->E
    2->D
    3->C
    ...
    D->2
    E->1
    F->0

    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #15
    Registriert seit
    04.10.2007
    Ort
    Delmenhorst
    Beiträge
    339
    Danke
    53
    Erhielt 43 Danke für 27 Beiträge

    Standard

    Wo wir gerade beim Thema sind:
    Da können wir doch auch gleich noch auf Q-Formate eingehen......
    Zahlendarstellung in 16Bit, Q15: welche Zahl ist maximal darstellbar?
    Zitieren Zitieren Schulaufgabe  

  6. #16
    herdi ist offline Benutzer
    Themenstarter
    Registriert seit
    25.07.2008
    Beiträge
    48
    Danke
    4
    Erhielt 4 Danke für 2 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    mal was anderes: wofür eigentlich eine konstante negieren

    Gewohnheit: In C sieht es halt bei mir auch so aus wenn ich z.Bsp. das 3. Bit in ner Variablen x auf 0 setzen will:

    x&=~(1<<3);

    Ist ja eigentlich auch nichts anderes als

    x:=x and not 16#0008;

    Es taucht da halt genau die gleiche Konstante auf die man vorher zum setzen des Bits genommen hat:
    x|=(1<<3)

    bzw.

    x:=x or 16#0008


    BTW: Gibts da bei Siemens keine eleganten Möglichkeiten wie RESETBIT(abc,3), SETBIT(abc,3) oder so wie in CoDeSys möglich
    abc.3:=true bzw. abc.3:=false;

    Gruß

    Herdi

    PS: Die 3 würde in C natürlich per #define angegeben und könnte die Position einer LED in einem Ausgangsport sein...

  7. #17
    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 Eliza Beitrag anzeigen
    Wo wir gerade beim Thema sind:
    Da können wir doch auch gleich noch auf Q-Formate eingehen......
    Zahlendarstellung in 16Bit, Q15: welche Zahl ist maximal darstellbar?
    jetzt mußte ich tatsächlich erstmal googlen was du meinst ... sogenannte festkommazahlen - tja, kann die s7 so nicht, aber kann man sich ja basteln

    aber um auf deine 16 bits zurück zu kommen - Q15 also ... öhm

    Qm.n ... also m=15, n=0 ... m+n+1=16 bit ... soweit so richtig ... maximale zahl demnach dann 2^m - 2^-n, also 2^15 - 1 = 32767 ... kleinste zahl übrigens -2^m also -32768 ...

    erinnert ein wenig an INT ... hättest ruhig ein anderes format auswählen können Q14.1 oder so ... brauch man nämlich auch 16bit für
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #18
    Registriert seit
    04.10.2007
    Ort
    Delmenhorst
    Beiträge
    339
    Danke
    53
    Erhielt 43 Danke für 27 Beiträge

    Standard

    Schön bei Wikipedia abgeschrieben.
    Zitieren Zitieren Q-Format  

  9. #19
    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 Eliza Beitrag anzeigen
    Schön bei Wikipedia abgeschrieben.

    lies meine signatur
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #20
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von herdi Beitrag anzeigen
    Gewohnheit: In C sieht es halt bei mir auch so aus wenn ich z.Bsp. das 3. Bit in ner Variablen x auf 0 setzen will:

    x&=~(1<<3);

    Ist ja eigentlich auch nichts anderes als

    x:=x and not 16#0008;

    Es taucht da halt genau die gleiche Konstante auf die man vorher zum setzen des Bits genommen hat:
    x|=(1<<3)

    bzw.

    x:=x or 16#0008


    BTW: Gibts da bei Siemens keine eleganten Möglichkeiten wie RESETBIT(abc,3), SETBIT(abc,3) oder so wie in CoDeSys möglich
    abc.3:=true bzw. abc.3:=false;

    Gruß

    Herdi

    PS: Die 3 würde in C natürlich per #define angegeben und könnte die Position einer LED in einem Ausgangsport sein...
    AT ist die Lösung dazu!
    Code:
    FUNCTION test : VOID
    
    VAR
    abc:WORD;
    abc_bool AT abc: ARRAY[0..15] OF BOOL;
    END_VAR
    
    abc_bool[3]:= false;
    
    END_FUNCTION
    Aja und ein SPS Programm ist kein C Programm wo man auf Rechenleistung nicht so großen wert legen muss... (speziell bei Siemens )

    godi

  11. Folgender Benutzer sagt Danke zu godi für den nützlichen Beitrag:

    Ludewig (20.08.2008)

Ähnliche Themen

  1. Ethernetkommunikation, Phänomen!
    Von AndreK im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 01.09.2010, 13:28
  2. Step5 V6.63 - Komisches Phänomen
    Von diabolo150973 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 24.06.2008, 23:38
  3. Rätselhaftes Phänomen
    Von rnovak im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 22.04.2008, 14:23
  4. Phänomen bei Speed7
    Von Ralle im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 23.08.2007, 16:17
  5. merkwürdiges phänomen ?
    Von volker im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 27.09.2006, 08:40

Lesezeichen

Berechtigungen

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