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

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

Thema: SCL und ich Teil II Hilfe gesucht..

  1. #11
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    776
    Erhielt 646 Danke für 492 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von zotos Beitrag anzeigen
    Also für mich macht das immer noch keinen Sinn. Was willst Du genau machen? Ich dachte Du wolltest einen Vergleich machen oder so was weil Ergebnis auf TRUE oder FALSE eigentlich Bool ist.

    Man kann Bitvergleiche machen:

    z.B. (mal anhand von einem Byte)
    myByteErg := myByte1 AND myByte2;

    00000110
    AND
    00100010
    =
    00000010
    für sein Ergebniss wärs wohl
    Z = X AND Y
    If Z >= 0 then
    A = True
    Else
    A = False
    EndIF

    so würden auf jedenfall seine Oberen beispiele diese Ergebnisse liefern.

    mfG René

  2. #12
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

    Zitat Zitat von zotos Beitrag anzeigen
    z.B. (mal anhand von einem Byte)
    myByteErg := myByte1 AND myByte2;

    00000110
    AND
    00100010
    =
    00000010
    genau genommen ist 00000010 ja true, weil >0. (zumindest bei einem INT-Wert in C ist das so.

    Meine C Quelle sieht so aus:

    if (i&j)
    {
    Ist=Ist+Werte[x];
    }

    i und j sind INT und Ist=Ist+Werte[x]; wird ausgeführt wenn ein Bit an der gleichen Stelle bei i und j true ist.

    Das gleiche hätte ich gerne in SCL.

  3. #13
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

    Hab mal das C Programm als txt angehängt.
    Angehängte Dateien Angehängte Dateien

  4. #14
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    Zitat Zitat von Steve81 Beitrag anzeigen
    genau genommen ist 00000010 ja true, weil >0. (zumindest bei einem INT-Wert in C ist das so.
    Genau genommen ist sowas nie true. C macht einen impliziten type-cast und aus allem, was >0 ein boolean mit dem Wert true.
    In ST muss du alles explizit casten! Sogar Int nach DINT.

  5. #15
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von kiestumpe Beitrag anzeigen
    Genau genommen ist sowas nie true. C macht einen impliziten type-cast und aus allem, was >0 ein boolean mit dem Wert true.
    In ST muss du alles explizit casten! Sogar Int nach DINT.
    100% Ack

    in ST sind Typecast obligatorisch und das ist auch gut so.

    myBool := WORD_TO_BOOL(myWord1 AND myWord2);
    If you open your Mind too much, your Brain will fall out.

  6. #16
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

    Danke für eure Hilfe. Ich habs glaub verstanden.

    if (i&j)
    {
    Ist=Ist+Werte[x];
    }

    wäre dann wenn i und j INT sind:

    i := INT_TO_WORD(i);
    j := INT_TO_WORD(j);
    erg := WORD_TO_BOOL(i AND j);
    IF erg THEN
    Ist=Ist+Werte[x];
    END_IF;

  7. #17
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von Steve81 Beitrag anzeigen
    Danke für eure Hilfe. Ich habs glaub verstanden.

    if (i&j)
    {
    Ist=Ist+Werte[x];
    }

    wäre dann wenn i und j INT sind:

    i := INT_TO_WORD(i);
    j := INT_TO_WORD(j);

    erg := WORD_TO_BOOL(i AND j);
    IF erg THEN
    Ist=Ist+Werte[x];
    END_IF;

    Nee geht so nicht da i und j INT sind kannst Du die nicht so benutzen sondern eher so:

    Unübersichtlich:

    IF (WORD_TO_BOOL(INT_TO_WORD(i) AND INT_TO_WORD(j))) THEN
    Ist=Ist+Werte[x];
    END_IF;

    Mann kann auch noch zwei WORD Variablen nehmen und das Typecast INT_TO_BOOL vor verlagern.
    If you open your Mind too much, your Brain will fall out.

  8. #18
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

    Ja klar, dummer Fehler von mir. Hab ja i und j als INT deklariert.

    Könnte mir allerdings auch zwei Hilfsvariablen (wordi und wordj) vom Typ WORD deklarieren und das so schreiben:

    wordi := INT_TO_WORD(i);
    wordj := INT_TO_WORD(j);

    erg := WORD_TO_BOOL(wordi AND wordj);
    IF erg THEN
    Ist=Ist+Werte[x];
    END_IF;

  9. #19
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von Steve81 Beitrag anzeigen
    Ja klar, dummer Fehler von mir. Hab ja i und j als INT deklariert.

    Könnte mir allerdings auch zwei Hilfsvariablen (wordi und wordj) vom Typ WORD deklarieren und das so schreiben:

    wordi := INT_TO_WORD(i);
    wordj := INT_TO_WORD(j);

    erg := WORD_TO_BOOL(wordi AND wordj);
    IF erg THEN
    Ist=Ist+Werte[x];
    END_IF;
    Ja das habe ich hier mit:
    Zitat Zitat von zotos Beitrag anzeigen
    ...
    Mann kann auch noch zwei WORD Variablen nehmen und das Typecast INT_TO_BOOL vor verlagern.
    gemeint ;o)
    If you open your Mind too much, your Brain will fall out.

  10. #20
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ok, dann mal danke für die schnelle Hilfe!

Ähnliche Themen

  1. hilfe gesucht für schaltuhr
    Von linuxluder im Forum Simatic
    Antworten: 38
    Letzter Beitrag: 13.09.2012, 21:12
  2. Seminar DIN EN 13849 Teil 1 und Teil 2
    Von Safety im Forum Werbung und Produktneuheiten
    Antworten: 1
    Letzter Beitrag: 28.12.2010, 09:59
  3. Beckhoff - Hilfe gesucht
    Von wolBe im Forum Suche - Biete
    Antworten: 4
    Letzter Beitrag: 25.09.2008, 06:09
  4. PCS 7 Spezialist für Hilfe gesucht !!
    Von SchoberGabriel im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 16.03.2007, 11:48
  5. hilfe gesucht
    Von bebaste im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 24.01.2004, 14:55

Lesezeichen

Berechtigungen

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