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

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

Thema: Vorzeichen Word

  1. #11
    Registriert seit
    10.08.2010
    Beiträge
    770
    Danke
    1
    Erhielt 14 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo
    ich beschreibe mal kurz was ich vor hatte.

    Ich wolle eine Alarmanlage Programmieren die bei Aktivierung den Zustand aller Fenster Speichert, da es im Sommer vorkommt das einige Fenster gekippt sind.

    Hierfür habe ich alle Eingänge in ein EW gespeichert und dies auf Veränderung verglichen. Wenn sich jetzt ein Bit ändert wollte ich diese in ein MELDUNG_ALARM (Word) schreiben umso am HMI die entsprechende Text Meldung zu erzeigen z.b Einbruch Fenster Wohnzimmer.
    Funktioniert mit dieser Funktion super


    Code:
    MELDUNG_ALARM_FENSTER:=INT_TO_WORD (ABS(WORD_TO_INT(SPEICHER_FENSTER) - WORD_TO_INT(EW_FENSTER)));

  2. #12
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Zitat Zitat von emilio20 Beitrag anzeigen
    ... Wenn sich jetzt ein Bit ändert ...
    wie von Zotos gesagt, filtert XOR auch die geänderten Bits heraus:
    Code:
    MELDUNG_ALARM_FENSTER := SPEICHER_FENSTER XOR EW_FENSTER;
    und Du sparst dir die ganze Umwandelei, aber letztendlich mußt Du mit klar kommen.

  3. #13
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Da es ja tatsächlich um das Maskieren von Bits geht würde ich auf jeden Fall die XOR-Variante der Rechnerei vorziehen ...

    Gruß
    Larry

  4. #14
    Registriert seit
    10.08.2010
    Beiträge
    770
    Danke
    1
    Erhielt 14 Danke für 13 Beiträge

    Standard

    Ok versuche ich mal

    Was genau machen diesen Funktionen AND OR mit einem WORD

    Werden bei AND 2 Word Variablen Addiert ? Was passiert dann bei OR

    XOR
    EW1 1100_0100_1111_1111
    EW2 1110_0100_1111_1111

    EG 0010_0000_0000_0000

    Ergebenis AND OR ??
    Geändert von emilio20 (03.02.2013 um 17:47 Uhr)

  5. #15
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Hallo,
    es wird nicht gerechnet sondern verknüpft. Beispiel :
    Code:
    1001
    1110
    AND
    1000
    
    1001
    1000
    OR
    1001
    
    1001
    1110
    XOR
    0111
    im Prinzip genau wie bei der Bit-Verknüpfung - nur für mehrere gleichzeitig ...

    Gruß
    Larry

  6. #16
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Bezogen auf dein Beispiel :
    Code:
    EW1  1100_0100_1111_1111
    EW2  1110_0100_1111_1111
    AND
    EG    1100_0100_1111_1111
    
    EW1  1100_0100_1111_1111
    EW2  1110_0100_1111_1111
    OR
    EG    1110_0100_1111_1111
    AND ergibt ein TRUE wenn beide Bits an gleicher Position = TRUE sind
    OR ergibt ein TRUE wenn eines Bits an gleicher Position = TRUE sind
    XOR ergibt ein TRUE wenn beide Bits an gleicher Position unterschiedlich sind

    Gruß
    Larry

  7. #17
    Registriert seit
    10.08.2010
    Beiträge
    770
    Danke
    1
    Erhielt 14 Danke für 13 Beiträge

    Standard

    OK danke habes verstanden.

    Das macht einiges logischer

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

    Standard

    Jetzt wird die Aufgabe ja langsam verständlich.

    Ich würde das ganze wie folgt angehen:

    Interessant sind doch die Fenster die gerade geöffnet werden, folglich würde ich mit einer negativen Flanke (Da ein geschlossenes Fenster ein True signal liefern sollte) der Signale eine Aktion ausführen (in dem Fall eine Meldung generieren).

    Code:
    Geoeffnet := Speicher AND NOT Aktuell;
    Speicher := Aktuell;
    Im Word Geoeffnet findet man nur Flanken und zwar die derer Fenster die gerade einen Signalwechsel von True auf False erlebt haben.
    If you open your Mind too much, your Brain will fall out.

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

    Standard

    Alternativ kann man die Übernahme vom Aktuellenwert in den Speicher noch bedingt machen dann bekommt man nicht nur Flanken.
    If you open your Mind too much, your Brain will fall out.

  10. #20
    Registriert seit
    05.03.2014
    Beiträge
    11
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hab auch mal ne Frage zum Word bzw DWord.
    Wieso bekomme ich bei einem in der Symboltabelle angelegten Dword eine -2147483648 raus wenn ich bit 0.7 setze?
    Ich dachte bei DWord gibt's kein Vorzeichen?

    0.7-0.0 1.7-1.0 2.7-2.0 3.7-3.0
    Für einen Störmanager benötige ich die Stelle des Bits mit der höchsten Wertigkeit um die dazugehörige Stelle auszugeben. Dies
    funktioniert auch super bis bit 0.7 auslöst. Ich brauche keine -2147483648 sondern +2147483648 (10000000000000000000000000000000)

    verwende ich ABS bei -2147483648 kommt ne 0

    Was mach ich denn nun damit?

Ähnliche Themen

  1. Datentyp INT ohne Vorzeichen??
    Von jtm im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 30.12.2010, 12:16
  2. Dint Vorzeichen immer minus einstellen
    Von bludie im Forum Simatic
    Antworten: 24
    Letzter Beitrag: 18.06.2010, 06:02
  3. DI_STRNG ohne Vorzeichen!
    Von hoT im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 11.01.2010, 23:55
  4. Neg. Vorzeichen in E/A Feld eingeben
    Von knollmeister im Forum HMI
    Antworten: 2
    Letzter Beitrag: 07.11.2005, 13:26
  5. Vorzeichen ignorieren
    Von Lipperlandstern im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 22.02.2005, 23:41

Lesezeichen

Berechtigungen

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