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

Ergebnis 1 bis 8 von 8

Thema: Variablendeklaration in MicroSPS (SiemensS7-200)

  1. #1
    Registriert seit
    22.07.2007
    Beiträge
    64
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Unglücklich


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich hab da gerade ein kleines Problem mit einem Unterprogramm unter MicroSPS von Siemens (die abgespeckte Version von Step7).

    Und zwar möchte ich ein Unterprogramm, das jeweils eine Ein- und Ausschaltverzögerung enthält mehrmals durch verschiedene Operanden aufrufen.
    Leider kann ich nur für die Ein- und Ausgänge Variablen festlegen, sodass ich verschiedene Ein- und Ausgänge verwenden kann.
    Für die Zeiten kann ich keine Variablen festlegen, was dazu führt, dass in jedem Aufruf des Unterprogrammes die gleichen Zeiten (bei mir T39 und T40) verwendet werden. So kommt es dann natürlich zu einer Fehlfunktion!

    Wäre echt super, wenn mir jemand von euch sagen könnte, wie man für die Zeitfunktionen Variablen festlegt oder was man alternativ machen kann.

    Gruß
    Diesla
    Zitieren Zitieren Variablendeklaration in MicroSPS (SiemensS7-200)  

  2. #2
    Registriert seit
    07.03.2007
    Ort
    am Kyffhäuser
    Beiträge
    400
    Danke
    120
    Erhielt 70 Danke für 55 Beiträge

    Standard

    Hallo Diesla,
    wieso verwendest Du für die Teit PT nicht ein VW und lädst die gewünschte Zeit vor dem Timeraufruf in das VW? Das sollte meiner Meinung nach doch gut funktionieren.

    Frank

  3. #3
    Registriert seit
    15.07.2007
    Ort
    Wuppertal
    Beiträge
    65
    Danke
    4
    Erhielt 5 Danke für 5 Beiträge

    Standard

    @Himbeergeist
    Das löst doch das Problem nicht, dass der Timer mehrfach aufgerufen wird und gleichzeitig Zeiten laufen lassen muss.


    Ich kann jetzt leider nur für den Simatic-Manager sprechen (S7-300) aber ich kann mir vorstellen, dass es strategisch genauso bei der 200er ist.

    Also: Der Absolute Timer darf in deiner Funktion -die mehrfach aufgerufen werden soll- nicht sein. Dort musst Du wie schon richtig gesagt eine Variable vom Typ TIMER (oder so in etwa) nehmen. Den müsstest du auch bei den IN-Variablen finden. Wenn Bool möglich ist, muss auch z.B. INT und TIMER möglich sein.Der Timer wird dann von außen (bei jedem Aufruf ein anderer) an die Funktion geschrieben.
    Wenn das nicht geht bleibt Dir nur die Möglichkeit den Timer aus der Funktion "rauszuoprieren" und extern zu beschalten. Dann einen Merker der von der Zeit gesetzt wird, in die Funktion zu übergeben.

    Sonst weiß ich auch nichts. SORRY
    Geändert von schwarzer_kater (22.07.2007 um 14:53 Uhr) Grund: Ergänzung
    Wer Schmetterlinge lachen hört, der weiß, wie Wolken schmecken,
    der wird im Mondschein, ungestört von Furcht, die Nacht entdecken...
    -Novalis-

  4. #4
    Diesla ist offline Benutzer
    Themenstarter
    Registriert seit
    22.07.2007
    Beiträge
    64
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo himbeergeist und schwarzer_kater,

    hab eure Vorschläge gerade ausprobiert. Funktionieren leider nicht. Es wäre zwar prinzipiell möglich, die Zeit aus dem Unterprogramm "herauszuoperieren", aber diese Möglichkeit kommt für mich nicht in Betracht. Liegt daran, dass ich bemüht bin, die Zyluszeit so klein wie möglich zu halten.

    Trotzdem danke für eure Ideen!

    Gruß
    Diesla

  5. #5
    Registriert seit
    19.01.2007
    Ort
    31542 Bad Nenndorf
    Beiträge
    58
    Danke
    11
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Zitat Zitat von Diesla Beitrag anzeigen
    Hallo,

    ich hab da gerade ein kleines Problem mit einem Unterprogramm unter MicroSPS von Siemens (die abgespeckte Version von Step7).

    Und zwar möchte ich ein Unterprogramm, das jeweils eine Ein- und Ausschaltverzögerung enthält mehrmals durch verschiedene Operanden aufrufen.
    Leider kann ich nur für die Ein- und Ausgänge Variablen festlegen, sodass ich verschiedene Ein- und Ausgänge verwenden kann.
    Für die Zeiten kann ich keine Variablen festlegen, was dazu führt, dass in jedem Aufruf des Unterprogrammes die gleichen Zeiten (bei mir T39 und T40) verwendet werden. So kommt es dann natürlich zu einer Fehlfunktion!

    Wäre echt super, wenn mir jemand von euch sagen könnte, wie man für die Zeitfunktionen Variablen festlegt oder was man alternativ machen kann.

    Gruß
    Diesla

    Schau Dir einmal die Anlage an - wird Dir sicherlich eine Idee geben..

    iceman
    Angehängte Dateien Angehängte Dateien

  6. #6
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Zitat Zitat von schwarzer_kater Beitrag anzeigen
    Ich kann jetzt leider nur für den Simatic-Manager sprechen (S7-300) aber ich kann mir vorstellen, dass es strategisch genauso bei der 200er ist.

    Also: Der Absolute Timer darf in deiner Funktion -die mehrfach aufgerufen werden soll- nicht sein. Dort musst Du wie schon richtig gesagt eine Variable vom Typ TIMER (oder so in etwa) nehmen. Den müsstest du auch bei den IN-Variablen finden. Wenn Bool möglich ist, muss auch z.B. INT und TIMER möglich sein.Der Timer wird dann von außen (bei jedem Aufruf ein anderer) an die Funktion geschrieben.
    Laut Systemhandbuch für die S7-200 (Seite 207) gilt:

    Aufruf von Unterprogrammen mit Parameterübergabe

    Variablentyp: IN, IN_OUT, OUT, TEMP

    Datentyp: BOOL, BYTE, WORD, DWORD, INT, DINT, REAL, STRING, Signalfluss

    http://support.automation.siemens.co...ew/de/15270070

    Gruß Kai

  7. #7
    Diesla ist offline Benutzer
    Themenstarter
    Registriert seit
    22.07.2007
    Beiträge
    64
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Reden

    Hallo iceman,

    leider kann ich deine winzip-Datei nicht entpacken.
    Wäre super, wenn du sie mir nochmal ungezipt schicken könntest.

    Danke

  8. #8
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.752
    Danke
    323
    Erhielt 1.527 Danke für 1.286 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hier die Datei:
    Die musst du nur noch umbenennen, also Timer.txt in Timer.mwp!

    Mfg
    Manuel

    TIMER.txt
    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).

Ähnliche Themen

  1. Frage zur Variablendeklaration bei r_trig
    Von blubbi im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 21.08.2013, 19:41
  2. microSPS von EAGLE
    Von Anonymous im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 19.12.2010, 21:57
  3. Variablendeklaration in den Bausteinen
    Von Simon_ im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 07.09.2010, 09:59
  4. CoDeSys Variablendeklaration
    Von shiznit im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 02.08.2010, 14:59
  5. S7 "lokale" Variablendeklaration in FB/FC Baustein
    Von halorenzen im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 06.10.2003, 20:50

Lesezeichen

Berechtigungen

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