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

Ergebnis 1 bis 6 von 6

Thema: Vorsicht, Anfänger->Zählen mit FB

  1. #1
    Registriert seit
    19.10.2006
    Beiträge
    86
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vorsicht Anfänger
    Ich weiss, da waren schon einige Beiträge zu dem Thema, habe aber ein grundsätzliches Problem.
    Ein Ereigniszähler ist als FB zu programmieren. Format des Zählwertes ist DINT.
    Der Zählwert wird aus einem DB geholt, etwa so:

    U #CBIT //Zählereignis
    FP #CM //Zählmerker Flanke +
    SPB CNT
    SPA END
    CNT: L #CVAL //Zählwert holen
    L L#1 // eins dazu
    +D //addieren
    T #CVAL
    END: NOP 0
    #CVAL wurde im Instanz-DB als DINT in IN-OUT deklariert.
    #CBIT wurde im Instanz-DB als BOOL in IN deklariert.
    FB Aufruf etwa wie folgt:

    CALL FBZAEHL
    CBIT: M450.5 // z.B. Taktmerker 1 Sekunde
    CVAL: DB756.DBD8

    Ergebnis: es zählt nix


    Wo liegt der Fehler?
    Ich fordere die Anerkennung von Boolimie als Berufskrankheit.
    Zitieren Zitieren Vorsicht, Anfänger->Zählen mit FB  

  2. #2
    Registriert seit
    23.11.2004
    Beiträge
    347
    Danke
    2
    Erhielt 28 Danke für 28 Beiträge

    Standard

    Hallo,

    #CM muss eine Variable vom Typ Inout sein!

    edit: CVAL auch, da es ein DB-Zugriff ist.

    Lokalvariablen haben beim Aufruf des FBs in der Regel den Wert 0.
    Wenn sie nicht zugewiesen werden, z.B. bei Flankenauswertungen, sind sie halt 0.

    Gruß
    raika
    Geändert von RaiKa (08.11.2006 um 15:52 Uhr)

  3. #3
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard

    Hallo,
    #CM muß nicht unbedingt eine Inout-Variable sein, kann auch eine STAT- Variable im Instanz-DB sein. Auf keinen Fall darf es eine temporäre Variable
    sein.
    VG Gerhard

  4. #4
    Registriert seit
    19.10.2006
    Beiträge
    86
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke schon mal für die Antworten.
    Es hat sich aber ein Fehler im Posting eingeschlichen.
    #CM ist natürlich eine Temporäre Variable vom Typ BOOL, da sie ja nur den Flankenmerker darstellt.
    #CBIT muss ein Variable vom Typ in sein. Sie stellt ja das Zählereignis dar.
    Die Impulsbildung über die Flanke funtioniert auch. Ich habe sie per Zuweisung an ein Merkerbit und SA T12 zur Kontrolle zurückliefern lassen.

    Das Problem scheint im Zählteil selbst zu liegen.
    Ich fordere die Anerkennung von Boolimie als Berufskrankheit.

  5. #5
    Registriert seit
    10.10.2006
    Ort
    Krefeld
    Beiträge
    101
    Danke
    0
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Hallo,

    Zitat Zitat von urlicht Beitrag anzeigen
    #CM ist natürlich eine Temporäre Variable vom Typ BOOL, da sie ja nur den Flankenmerker darstellt.
    Solange der Zähl-FB der einzige Baustein ist, der im OB1 aufgerufen wird, funktioniert es auch, wenn #CM eine temporäre Variable ist. Sobald aber weitere Beusteine hinzu kommen, klappt das nicht mehr - bin da selber mal drauf reingefallen - da der Speicherbereich dann von einem anderen Baustein überschrieben wird.
    Mach da mal ne statische draus, wie OHGN bereits schrieb.
    Ansonsten funktioniert das Zählen (habs im Simulator getestet) einwandfrei.

    Gruss,
    Jörg
    Nobody is perfect ... so don't call me Nobody
    Wer glaubt, dass Abteilungsleiter Abteilungen leiten, der glaubt auch, dass Zitronenfalter Zitronen falten.

  6. #6
    Registriert seit
    19.10.2006
    Beiträge
    86
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Werde ich gleich mal ausprobieren. Vielen Dank einstweilen.
    Ich fordere die Anerkennung von Boolimie als Berufskrankheit.

Ähnliche Themen

  1. Vorsicht mit dem 3TK2810-1 Drehzahlwaechter
    Von rostiger Nagel im Forum Schaltschrankbau
    Antworten: 0
    Letzter Beitrag: 31.01.2011, 08:08
  2. Vorsicht vor SachsenTrojana!
    Von maxi im Forum Stammtisch
    Antworten: 6
    Letzter Beitrag: 23.10.2007, 20:35
  3. Vorsicht! Nichts Für Bettnässer !!
    Von Unregistrierter gast im Forum Stammtisch
    Antworten: 8
    Letzter Beitrag: 22.11.2006, 20:50
  4. VORSICHT vor Step7 V5.3 SP1
    Von Ralle im Forum PC- und Netzwerktechnik
    Antworten: 11
    Letzter Beitrag: 18.02.2005, 21:42
  5. Vorsicht! ET200X Pneumatikmodule
    Von plc_tippser im Forum Feldbusse
    Antworten: 0
    Letzter Beitrag: 21.06.2004, 07:06

Lesezeichen

Berechtigungen

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