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

Ergebnis 1 bis 7 von 7

Thema: Bit-Auswertung Datenwort aus Formaloperand

  1. #1
    Registriert seit
    19.10.2006
    Beiträge
    76
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo liebe Senior-Programmierer,

    ich habe folgendes Problem:

    In einem Funktionsbaustein unter Step 5 möchte ich bestimmte Bits eines Formaloperanden vom Typ W (Wort) auswerten.

    Beispiel:

    Name: FB_XYZABC
    Bez: DB E/A/D/B/T/Z: E
    Bez: BAW E/A/D/B/T/Z: E BI/BY/W/D: W
    :
    :B =DB
    :L =BAW
    :
    :

    Aus diesem Datenwort möchte ich eine Operation ausführen, wenn das Bit 0 (niederweritigstes Bit) des Datenwortes "0" ist.

    Ohne Formaloperanden ginge das ja mit
    :U D12.0
    :=A0.0

    Wie wäre das aber mit einem Formalopreanden auszuwerten. Ich habe in einem alten Skript die Operation P als Bit-Test auf den Wert "1" eines Bits aus einem Datenwort gefunden, aber kein Beispiel für die Anwendung.
    Ich hoffe, Euch fällt etwas ein.

    Grüße an die Gemeinde.
    Ich fordere die Anerkennung von Boolimie als Berufskrankheit.
    Zitieren Zitieren Gelöst: Bit-Auswertung Datenwort aus Formaloperand  

  2. "Die Operationen "P" (Prüfe Bit auf Signalzustand 1) oder "PN" (Prüfe Bit auf Signalzustand 0) funktionieren nicht bei Formaloperanden.
    Sie funktionieren nur bei:
    - T (Zeiten)
    - Z (Zählern)
    - D (Daten)
    - BS (betriebssystemdaten)"


  3. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.253
    Danke
    391
    Erhielt 2.306 Danke für 1.919 Beiträge

    Standard

    Du müßtest hier mit maskieren arbeiten - aslo eine Wort-UND-Verknüpfung mit einem Binär- oder Hexwert. Ist das Ergebnis dieser Verknüpfung hinterher ungleich 0 dann ist das fragliche Bit gesetzt.
    Also in etwa so :
    Code:
    B    =DB
    L    =BAW
    L KH 0001
    UW
    L KH 0000
    <>F
    =Bit_gesetzt
    Ich bin mir nur hinsichtlich der S5-Syntax nicht 100%ig sicher (schon zu lange nicht mehr gemacht).

    Gruß
    Larry

  4. #3
    Registriert seit
    19.10.2006
    Beiträge
    76
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Larry,

    manchmal ist man halt blind. Klar, das habe ich auch schon so gemacht. Ist nur schon eine Weile her. Step 5 wird halt immer seltener. Deshalb die Anrede "Seniorprogrammierer".
    Trotzdem hätte ich gern gewusst, ob die Bitauswertung mit "P" funktioniert und wie das aussehen muss.

    Einstweilen herzlichen Dank für die Antwort.
    Ich fordere die Anerkennung von Boolimie als Berufskrankheit.

  5. #4
    Registriert seit
    02.01.2015
    Beiträge
    488
    Danke
    80
    Erhielt 102 Danke für 97 Beiträge

    Standard

    Die Operationen "P" (Prüfe Bit auf Signalzustand 1) oder "PN" (Prüfe Bit auf Signalzustand 0) funktionieren nicht bei Formaloperanden.
    Sie funktionieren nur bei:
    - T (Zeiten)
    - Z (Zählern)
    - D (Daten)
    - BS (betriebssystemdaten)

  6. #5
    Registriert seit
    19.10.2006
    Beiträge
    76
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die Antwort, GUNSAMS.

    Also scheint es keine Möglichkeit in Step 5 zu geben, eine Bestimmte Stelle aus einem Bitmuster per Formaloperand direkt auszuzwerten den Zustand als VKE zu verarbeiten?
    Ich fordere die Anerkennung von Boolimie als Berufskrankheit.

  7. #6
    Registriert seit
    05.10.2005
    Beiträge
    2.327
    Danke
    317
    Erhielt 293 Danke für 263 Beiträge

    Standard

    Zitat Zitat von urlicht Beitrag anzeigen
    Danke für die Antwort, GUNSAMS.

    Also scheint es keine Möglichkeit in Step 5 zu geben, eine Bestimmte Stelle aus einem Bitmuster per Formaloperand direkt auszuzwerten den Zustand als VKE zu verarbeiten?
    Bei Step5 wurde man noch nicht gesteinigt, wenn Schmiermerker verwendet wurden...

    Thomas

  8. #7
    Registriert seit
    02.01.2015
    Beiträge
    488
    Danke
    80
    Erhielt 102 Danke für 97 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von thomass5 Beitrag anzeigen
    Bei Step5 wurde man noch nicht gesteinigt, wenn Schmiermerker verwendet wurden...

    Thomas
    Das wäre auch mein Vorschlag. Den Formaloperanden an ein Schmiermerkerwort übergeben und das entsprechende Bit abfragen.

Ähnliche Themen

  1. Step 7 Auswertung einer Bytefolge aus einem Array
    Von alik im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 04.08.2013, 15:34
  2. Antworten: 3
    Letzter Beitrag: 21.09.2010, 11:54
  3. Auswertung aus Datenbaustein
    Von funbiker69 im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 18.03.2010, 08:22
  4. Antworten: 1
    Letzter Beitrag: 27.11.2008, 13:51
  5. Was ist ein Formaloperand?
    Von unbekanntster im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 17.04.2007, 08:56

Stichworte

Lesezeichen

Berechtigungen

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