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

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

Thema: Verständnisfrage zu einfacher Timer Funktion in ST

  1. #11
    Monty87 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.10.2012
    Beiträge
    23
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank das sieht doch schon deutlich einfacher aus

    Aber ich werde sicher bald mit dem nächsten Problem kommen...

    mfg Eike

  2. #12
    Monty87 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.10.2012
    Beiträge
    23
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    als hätte ich es geahnt...

    Diesmal habe ich Probleme einem Array Werte zuzuweisen:



    IF RiseStart.Q THEN (*bei steigender Flanke von Start wird i auf 1 gesetzt und damit die Messwerterfassung gestartet*)
    i:=1;
    END_IF


    IF RiseImpuls.Q AND i>0 THEN (*bei steigender Flanke von Impuls und wenn i größer als 0 ist werden Messwerte aufgenommen*)
    Array_MW_A[i]:= r_MW_A;
    Array_MW_B[i]:= r_MW_B;
    Array_MW_P[i]:= r_MW_P;
    test1:=test2;
    i:=i+1;
    END_IF

    Das Programm soll den aktuellen Messwert (zB r_MW_A) auf die Stelle i im Array_MW_A speichern. Das funktioniert aber nicht wirklich. Zum testen habe ich den Wert test2 dem Wert test1 zugewiesen, was auch funktioniert sprich die IF Bedingung wird korrekt ausgeführt. Aber warum klappt der Rest nicht?

    mfg Eike

  3. #13
    Registriert seit
    05.05.2012
    Beiträge
    96
    Danke
    44
    Erhielt 14 Danke für 14 Beiträge

    Standard

    IF RiseStart.Q THEN (*bei steigender Flanke von Start wird i auf 1 gesetzt und damit die Messwerterfassung gestartet*)
    i:=1;
    END_IF

    IF RiseImpuls.Q AND i>0 AND i<= iMAX THEN (*bei steigender Flanke von Impuls und wenn i größer als 0 ist werden Messwerte aufgenommen*)
    Array_MW_A[i]:= r_MW_A;
    Array_MW_B[i]:= r_MW_B;
    Array_MW_P[i]:= r_MW_P;
    test1:=test2;
    i:=i+1;
    END_IF

  4. #14
    Monty87 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.10.2012
    Beiträge
    23
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi,
    vielen Dank! Aber leider nicht die Lösung des Problems.
    in meinem Fall ware iMax 10:

    IF RiseImpuls.Q AND i>0 AND i<= 10 THEN

    die werte werden aber so auch noch nicht gesetzt.
    Habe ich vielleicht den array falsch deklariert?

    VAR_OUTPUT
    Array_MW_A: ARRAY [1..10] OF REAL;
    Array_MW_B: ARRAY [1..10] OF REAL;
    Array_MW_P: ARRAY [1..10] OF REAL;
    END_VAR

  5. #15
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.735
    Danke
    321
    Erhielt 1.523 Danke für 1.283 Beiträge

    Standard

    Generell soweit vom Codeschnipsel her beurteilbar muss das funktionieren.

    Der Fehler muss also "extern" von dem Codeschnipsel zu suchen sein.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  6. #16
    Monty87 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.10.2012
    Beiträge
    23
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank erst mal
    Habe soeben den Fehler behoben - obwohl ich in leider nicht ganz nachvollziehen kann. Ich habe den oben beschriebenen FB von einem anderen Programm aus aufgerufen. Habe in diesem Programm jetzt etwas mit den Eingangsvariablen herumgespielt und plötzlich geht alles. Irgendwie kann ich die Messwerte (zb r_MW_A) manchmal nur von dem übergeordneten Programm forcen, manchmal geht es aber auch von der FB Instanz aus.... da steig ich leider nicht so ganz dahinter
    mfg

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 04.01.2012, 07:45
  2. S7-1200 Funktion parametrieren ( Timer)
    Von Spsneuling im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 20.01.2010, 07:58
  3. einfacher zufallsgenerator
    Von linuxluder im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 30.09.2008, 22:19
  4. Typkonvertierung einfacher?!
    Von Pimsti im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.06.2006, 08:40
  5. Timer Nummer als parameter in Funktion ?
    Von Anonymous im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 24.06.2005, 13:36

Lesezeichen

Berechtigungen

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