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

Ergebnis 1 bis 5 von 5

Thema: S7 200: SBR (CALL) mit Parameterübergabe

  1. #1
    Registriert seit
    21.02.2006
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forum!

    Seit einigen Stunden versuche ich, ein Unterprogramm von meinem Hauptprogramm aufzurufen, komme leider aber nicht weiter:

    Für meine Rollosteuerung mit einer S7 200 (214), Microwin, muß ich viele Taster abfragen und Ausgänge setzen. Der Ablauf ist für jeden Antrieb gleich, nur die beiden Eingangsbits und die beiden Ausgangsbit ändern sich von Antrieb zu Antrieb. Copy&Paste im Hauptprogramm ist nicht optimal, ich komme dann mit dem Programmspeicher nicht klar.

    Wie kann ich dem Unterprogramm Ein- und Ausgänge übergeben? Mein Projekt habe ich als Datei angehängt. Ein Export als AWL (*.txt) ist nicht möglich, das Programm ist nicht fehlerfrei :-/

    Über ein wenig Hilfe würde ich mich sehr freuen...

    Einen schönen Sonntag!
    Angehängte Dateien Angehängte Dateien
    Zitieren Zitieren S7 200: SBR (CALL) mit Parameterübergabe  

  2. #2
    Registriert seit
    17.09.2003
    Ort
    Zell bei Dietfurt a.d. Altmühl
    Beiträge
    357
    Danke
    8
    Erhielt 27 Danke für 25 Beiträge

    Standard

    Hallo Willu.

    Habe mir dein Programm etwas angeschaut. Mal vorab. Bei einer CPU214 funktioniert das noch nicht wie bei den neueren CPU22x bei denen man bis zu 16 Parameter an eine Unterprogramm übergeben kann. Außerdem würde ich es nicht empfehlen in einen Unterprogramm Flankenauswertung mit "EU" oder "ED" zu verwenden, den wenn du das Unterprogramm mehrfach aufruft besteht die Gefahr, dass z.B. in beiden Unterprogrammteilen eine Positive Flanke z.B. von einem Endschalter ausgewertet wird obwohl es nur beim ersten aufruf eine Positive Flanke gegeben hat. Diese Aussage sammt nicht von mir sondern von Siemens. Ich habe mir dann die Flankenauswertung selber geschrieben. Des weiteren ist mir noch aufgefallen, dass du in den Unterprogrammen Pointeraufrufe über Bit machst, dass funktioniert bei der S7-200 im allgemeinen nicht nur bei S7-300 und S7-400. Soweit ich dein Programm verstanden habe, hast du pro Rollo einen Taster für auf und einen für ab einen Ausgang für die Motorversorgung und einen für die Richtungsvorgabe das Rollos. Der Richtungausgang wird bei Ab gesetzt und bei Auf zurückgesetzt. Fährt das Rollo in eine Richtung so wird ein Timer gestartet der nach eine Zeit x die Rolloansteuerung stoppt, da ja im Programm eine Endschalter aufgenommen sind. Habe ich denn ablauf deiner Rollosteuerung soweit verstanden oder nicht? Wenn nicht das Bitte ich um eine genauere Beschreibung, dann kann ich dir bei deinem Problem noch besser helfen.
    Nun zu Prarameterübergebe bein einer S7-214. Du muss dir eine Unterprogramm schaffen, in dem du intern mit Schmiermerkern arbeitest. Es hängt ein Beispielprogramm für 2 Pumpe an. Für weitere fragen stehr ich dir gerne zur Verfügung.
    Angehängte Dateien Angehängte Dateien
    MfG

    Hubert

    \"Never change a running system. \"

  3. #3
    Registriert seit
    05.10.2005
    Beiträge
    2.373
    Danke
    321
    Erhielt 296 Danke für 266 Beiträge

    Standard

    Hallo,
    schreib doch in einen Variablenbereich vor Aufruf des Unterprogramms Dein Eingangsparameter, welche du dann im Unterprogramm Verarbeitest und auf einen anderen Variablenbereich deine ergebnise schreibst welche du dann nach Rückkehr ins Hauptprogramm auf die ausgänge überträgst. Ich hab mir das Prog. noch nicht angeschaut da ich auf diesem Rechner kein Microwin habe aber folgendes müsste gehen:

    Hauptprogramm
    EB0 -> VB100
    Unterprogramm
    VB120 -> AB0
    EB1 -> VB100
    Unterprogramm
    VB120 -> AB1
    .
    .
    .
    EB n -> VB100
    Unterprogramm
    VB120 -> AB n
    HAUPTPROGRAMM ende
    Unterprogramm
    Brechnungen und Verknüpfungen mit VB100
    Ergebnisse auf VB120
    Unterprogramm Ende


    Grüße Thomas
    ps mit den schmiermerkern war gerade hubert schneller.
    Geändert von thomass5 (09.07.2006 um 21:50 Uhr)

  4. #4
    Willu ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.02.2006
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Herbert, hallo Thomass5!

    Besten Dank für Eure Antworten. Die Beschreibung des Programmablaufs ist richtig. Mit jedem Motorlauf wird der globale Timer zurückgesetzt. Erst wenn der letzte Antrieb eine gewisse Zeit (5sec für Testzwecke) lief, werden alle Antriebe abgeschaltet. Die Rolloantriebe haben eigene Endschalter und stoppen automatisch. Die Abschaltung per S7 dient nur zum Stromsparen bzw. Spannungsfreischaltung.

    Ich war jetzt so langsam auch soweit über globale Variablen zu arbeiten. Die Parameterübergabe frisst dann (fast) den Vorteil des Unterprogramms auf. Das die Speichern von Eingängen mit "=" so einfach ist, habe ich nicht erwartet. In der Hilfe habe ich schon nach irgendwelchen mov*-Befehlen gesucht.

    Kann ich bei der Verwendung mit Schmiervariablen mit der Flankenerkennung arbeiten oder ist diese dann auch kritisch?

    Nochmals Danke!

    Andreas (Willu)

  5. #5
    Registriert seit
    05.10.2005
    Beiträge
    2.373
    Danke
    321
    Erhielt 296 Danke für 266 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    wenn du dir die Flanken Selbst bastelst dann wird das schon gehen
    Grüße Thomas

Ähnliche Themen

  1. FC's mit Parameterübergabe
    Von Gini im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 10.09.2009, 09:39
  2. Parameterübergabe FB <-> HMI
    Von eYe im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 22.03.2009, 11:38
  3. CC und Parameterübergabe
    Von PHANTOMIAS im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 14.04.2008, 07:42
  4. Parameterübergabe mit CALL FCx
    Von lastweb im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 25.01.2007, 21:43
  5. call-by-call im ausland
    Von Markus im Forum Stammtisch
    Antworten: 11
    Letzter Beitrag: 16.10.2004, 14:30

Lesezeichen

Berechtigungen

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