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

Ergebnis 1 bis 6 von 6

Thema: Bausteinparameter...

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

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    vor kurzem programmierte ich in AWL in einer Funktion ein Netzwerk mit drei Zuweisungen. Ziel dieser Aktion war eine einfache Verzögerung eines Ausgangs mit einem SE-Timer.
    Ich deklarierte einen Temp Bausteinparameter, um ihn für die Timerzuweisung zu benutzen.
    z.B.:

    U E0.1
    U E0.2
    .
    .
    .
    S #Bool
    R DB110.DBX10

    U #Bool
    L S5t#5s
    SE T1

    U T1
    S A1.0
    R #Bool

    Ich übertrug das so und anschließend setze ich die Brille auf, um die Aktion zu kontrollieren. Aber nichts passierte. In einem Testwahn setzte dann anstatt des Bausteinparameters einen Merker ein und siehe da: Es funktionierte...

    Hat einer eine Ahnung warum?
    Zitieren Zitieren Bausteinparameter...  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.740
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Der Temp-Bereich in einer Funktion ist (wie der Name schon sagt) nur temporär.
    Das heißt, der Wert einer temporären Variable, in deinem Fall #Bool, hat bei der ersten Verwendung einen mehr oder weniger zufälligen Wert.

    Entweder du verschiebst deine #Bool Variable als IN/OUT Parameter des FC, und schaltest dann außen den Merker (also einen dauerhaften) Speicherbereich an, oder verwendest einen FB (Funktionsbaustein) und legst die Variable im STAT-Bereich ab.

    Dann wird der Wert deiner Variable #Bool im Instanz-Datenbaustein gespeichert.

  3. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    bibu_works (16.01.2009)

  4. #3
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    warum willst du da überhaupt mit einer lokalen variablen arbeiten

    alles global - dann nimm halt nen merker und gut ist ... du kannst zum starten der zeit auch das negierte db-bit nehmen, wenn es nicht großartig verwurschtelt ist,was ich mir aber bei dem ersten stileindruck leider sehr gut vorstellen kann
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #4
    Registriert seit
    29.03.2004
    Beiträge
    5.740
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    alles global - dann nimm halt nen merker und gut ist ... du kannst zum starten der zeit auch das negierte db-bit nehmen, wenn es nicht großartig verwurschtelt ist,was ich mir aber bei dem ersten stileindruck leider sehr gut vorstellen kann
    Du wirst nicht glauben was es alles gibt. Ich habe zur Zeit eine Anlage übernommen die jemand anderes mal programmiert hat.
    Da gibt es für jeden Antrieb einen eigenen FC, und an diesen FCs ist ein Parameter vom Typ DB. Im FC wird dann der DB geöffnet und dann mit nicht symbolischen DBX0.0 etc. gearbeitet. Ein absoluter Graus!
    Ich frage mich wo man sowas lernt, aus S5-Zeiten stammt ja viel Schrott, aber sowas...

  6. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Du wirst nicht glauben was es alles gibt. Ich habe zur Zeit eine Anlage übernommen die jemand anderes mal programmiert hat.
    Da gibt es für jeden Antrieb einen eigenen FC, und an diesen FCs ist ein Parameter vom Typ DB. Im FC wird dann der DB geöffnet und dann mit nicht symbolischen DBX0.0 etc. gearbeitet. Ein absoluter Graus!
    Ich frage mich wo man sowas lernt, aus S5-Zeiten stammt ja viel Schrott, aber sowas...
    Genauso haben wir das damals in den ersten S7-Anlagen auch gemacht, das ist tatsächlich ein Überbleibsel aus S5-Tagen. Irgendwann entdeckt man dann, daß das neue System doch mehr kann. Nicht zu vergessen, die ersten S7-Programm wurden beim Umstieg i.d.R. von s5 konvertiert.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    bibu_works (16.01.2009)

  8. #6
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ich hab in meinem jungen leben auch schon viel elend gesehen (und in den ersten jahren sicher auch viel elend für andere hinterlassen ) aber je länger man sich damit beschäftigt, je intensiver man code durchdenkt und die möglichkeiten kennenlernt, desto strukturierter und sauberer wird der code. es ist eigentlich wie bei sovielen im leben - je mehr zeit man damit verbringt, desto "professioneller" wirds - kritikfähigkeit vorrausgesetzt!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. Folgende 2 Benutzer sagen Danke zu vierlagig für den nützlichen Beitrag:

    bibu_works (16.01.2009),mariob (17.01.2009)

Stichworte

Lesezeichen

Berechtigungen

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