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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: vom FB auf temporäre Lokaldaten des OB´s zugreifen

  1. #11
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.255
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Im FB einen Eingang anlegen:
    SAMPLE_T ........ REAL
    Rechte Maustaste->Objekteigenschaften
    Attribut:
    S7_sampletime Wert=true

    Dann hast Du im FB einen REAL-Wert SAMPLE_T der die Aufrufzeit in Sekunden hat.
    Die richtige Zeit generiert sich automatisch beim Übersetzen.


    Edit:
    Der Name "SAMPLE_T" ist ein Beispiel (heisst bei den SiemensBausteinen auch so), du kannst ihn aber nennen wie Du willst.

  2. Folgender Benutzer sagt Danke zu borromeus für den nützlichen Beitrag:

    PN/DP (12.11.2012)

  3. #12
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.255
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Sprich: wenn DU schon so einen Eingang hast, brauchst Du nur mehr das Attribut:
    S7_sampletime true

    definieren.

  4. #13
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.316
    Danke
    932
    Erhielt 3.331 Danke für 2.689 Beiträge

    Standard

    @makken
    Bitte nochmal klarstellen: Interessiert Dich nun der Zeitpunkt/die Uhrzeit des OB3x-Aufrufes oder das in HW-Konfig parametrierte Aufruf-Zeitraster des OB3x oder die tatsächlich vergangene Zeit seit dem letzten OB3x-Aufruf? Wie genau brauchst Du die Zeit?

    Zitat Zitat von System- und Standardfunktionen für S7-300/400
    OB3x_EXC_FREQ INT
    • falls OB3x_STRT_INF=B#16#3A: Zeittakt in μs
    • in allen anderen Fällen: Zeittakt in ms
    btw: Um lediglich einen INT zu kopieren erscheint mir der SFC20 etwas oversized.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #14
    makken ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.08.2012
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    @PN/DP:
    ich interessiere mich für das in der HW-Konfig parametrierte Aufruf-Zeitraster. Natürlich ist die tatsächlich vergangenge Zeit genauer, aber zunächst reicht mir die Einstellung in der HW-Konfig. Mir kommt der SFC20 auch etwas oversized vor dafür, ich weiß nur nicht wie ich das anders lösen soll.

    @borromeus:
    hab es gerade ausprobiert, jedoch funktioniert das nicht. wenn ich in CFC übersetze und teste, gibt es keine Veränderung des Eingangs (bleibt auf dem Wert 0)

    @borromeus:
    ich danke dir, es funktioniert doch! hatte noch nen kleinen fehler drin!
    Geändert von makken (12.11.2012 um 11:37 Uhr)

  6. #15
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Hier gibts auch ein Beispiel von Siemens dazu: http://support.automation.siemens.co...ard&viewreg=WW
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  7. #16
    Registriert seit
    06.10.2003
    Beiträge
    3.450
    Danke
    454
    Erhielt 509 Danke für 411 Beiträge

    Standard

    Ich finde es nicht verwerflich, auf fest definierte Lokaldaten zu zu greifen.

    Code:
     
          L     DW#16#87000000
          LAR1                              // Adresse 0.0 des Lokaldaten-Stack  
          U(    
          L     B [AR1,P#3.0]               // OB-Nr.
          L     30
          >=I                               // OB-Nr. < 30
          )     
          U(    
          TAK                               // OB-Nr.
          L     38
          <=I                               // OB-Nr. > 38
          )     
          NOT   
          BEB                               // z.Bsp. Bausteinende, wenn nicht OB30..OB38
    
          L     W [AR1,P#10.0]              // OB3x - Frequency of execution (msec)
          T     #TA                         // Abtastzeit [ms]
    
    // im OB1 steht die Ausführungszeit des letzten Zyklus im LW6
    // könnte man auch noch auswerten

    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  8. #17
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.316
    Danke
    932
    Erhielt 3.331 Danke für 2.689 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn wir den OB3x direkt in die Instanz des FB schreiben lassen, dann geht's noch einfacher und noch verwerflicher , sogar symbolisch und ohne zusätzlichen Aufrufparameter. Und das erscheint sogar in den Referenzdaten.
    Code:
          L     #OB35_EXC_FREQ
          T     "IDB1".iSTAT_TA
    
          CALL  "FB1" , "IDB1"
           IN_PARAM_1 :=...
           IN_PARAM_2 :=...
    Doch am Ende ging es dann ja plötzlich doch mit einem Aufrufparameter.
    Da hätte man es auch gleich sauber lösen können:
    Code:
          CALL  "FB1" , "IDB1"
           IN_PARAM_1 :=...
           IN_PARAM_2 :=...
           IN_EXC_FREQ:=#OB35_EXC_FREQ
    Wie so oft hat sich aber erst im Laufe des Threads herausgestellt, daß das Problem des TE ein ganz anderes ist und nur die Lösung von borromeus den eigentlich vom TE angestrebten Zweck in seiner CFC-Umgebung erfüllt.
    Zitat Zitat von Systemattribut S7_sampletime
    Der eingestellte Wert für die Abtastzeit ergibt sich aus dem Zeitraster des verwendeten Weckalarm-OBs und der eingestellten Untersetzung der Ablaufgruppe, in der sich der betroffene Baustein befindet.
    Es reicht nicht, einfach nur (wie auch immer) die OB3x_EXC_FREQ auszulesen. Man braucht auch noch den Untersetzungsfaktor. Und genaugenommen müßte man auch noch schauen, was in OB3x_STRT_INF (LB1) steht, womöglich ist die Zeit in µs ...

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 18.05.2011, 23:57
  2. SCL: Lokaldaten des Vorgängerbausteins (87h)
    Von vierlagig im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 01.06.2010, 19:13
  3. Mit Any- Pointer auf Lokaldaten zugreifen
    Von AJ67 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 25.06.2009, 10:01
  4. vom TP277 auf Netzwerkdrucker zugreifen
    Von SvenMarek im Forum HMI
    Antworten: 1
    Letzter Beitrag: 05.09.2007, 17:05
  5. Indirekter Zugriff auf Lokaldaten des Vorgänger
    Von Senator42 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 24.03.2007, 14:17

Lesezeichen

Berechtigungen

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