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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 24

Thema: ANY Variablen

  1. #11
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hast du deinem Merkerwort denn auch ein Symbol mit den entsprechenden Datentyp (INT) gegeben? Ansonsten funktioniert die Auswertung des Datentyps im LIMIT-Baustein und eben auch in den anderen Bausteinen mit Parametern variablen Datentyps nicht.

    Darum schrieb ich oben schon dass du dir mal das BIE-Bit ansehen solltest. Ist dieses false dann ist etwas an den Parametertypen des Bausteins falsch (Datentypen nicht INT, DINT oder REAL, oder unterschiedlich).
    Geändert von Thomas_v2.1 (30.08.2010 um 14:39 Uhr)

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

    rsu76 (31.08.2010)

  3. #12
    rsu76 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.08.2010
    Beiträge
    10
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So wie ich nun gelesen habe ist wird das BIE Bit an den ENO Ausgang geschrieben. Ist das korrekt??

    Der ENO Ausgang jedenfalls ist TRUE

  4. #13
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von rsu76 Beitrag anzeigen
    So wie ich nun gelesen habe ist wird das BIE Bit an den ENO Ausgang geschrieben. Ist das korrekt??

    Der ENO Ausgang jedenfalls ist TRUE
    Ja, in FUP ist das der ENO-Ausgang. Zeig doch mal deinen Code und deine Symbolik, sonst kommt man hier nicht weiter.

    Hier mal ein Beispiel von mir:

    Code:
    Symboltabelle:
    LIMIT_IN	MW    600	INT
    LIMIT_OUT	MW    602	INT
    
    
    VAR_TEMP
      MX : INT ;	
      MN : INT ;		
    END_VAR
    
    BEGIN
    NETWORK
    TITLE =
    
    // Temp-Variablen mit Grenzwerten beschalten
          L     10; 
          T     #MN; 
    
          L     1000; 
          T     #MX; 
    
          CALL "LIMIT" (
               MN                       := #MN,
               IN                       := "LIMIT_IN",
               MX                       := #MX,
               RET_VAL                  := "LIMIT_OUT");
    
    // BIE-Bit auswerten
    // Wenn ein Fehler bei der Bearbeitung auftrat, ist das Bit false
          U     BIE; 
          =     M    650.0;

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

    rsu76 (31.08.2010)

  6. #14
    rsu76 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.08.2010
    Beiträge
    10
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So ich habe mein FUP mal in ein AWL gewandelt und vom ganzen eine PDF Dok erstellt:
    Hier raus habe ich alles relevante als Text unten eingefügt


    Symbol Adresse Datentyp Kommentar
    Input MW 100 INT
    LIMIT FC 22 FC 22 Limit
    Output MW 102 INT
    Input MW 100 INT



    Name Datentyp Adresse Anfangswert Kommentar

    TEMP 0.0
    MIN Int 0.0 0
    Test Int 2.0 9000
    MAX Int 4.0 10000


    Baustein: FB1
    Netzwerk: 1
    CALL "LIMIT" FC22 -- Limit
    MN :=#MIN
    IN :=#Test
    MX :=#MAX
    RET_VAL:="Output" MW102
    NOP 0


    Dankeschön für die Mühe!!!

  7. #15
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Also bei mir würde das auch so funktionieren.
    Wie siehst du dir das Ergebnis denn an? Denn wie ich oben schon schrieb, kannst du die Parameter aufgrund des Datentyps ANY im Online-Status nicht beobachten.
    Du kannst aber einfach mal unter den Limit-Aufruf die Zeile

    L MW 102

    schreiben, dann kannst du den Wert an der Stelle beobachten. Oder du nimmst eine Variablentabelle...

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

    rsu76 (31.08.2010)

  9. #16
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Zitat Zitat von rsu76 Beitrag anzeigen
    Name Datentyp Adresse Anfangswert Kommentar

    TEMP 0.0
    MIN Int 0.0 0
    Test Int 2.0 9000
    MAX Int 4.0 10000
    Hallo rsu76,

    die von Dir angegebene Deklaration Deiner TEMP-Variablen kann nicht stimmen.
    Man kann bei TEMP-Variablen keinen Anfangswert vorgeben.
    Wenn man TEMP-Variablen benutzt, dann muß man denen VOR lesender Benutzung einen Wert zuweisen.

    Hast Du eigentlich das Programmbeispiel von Thomas_v2.1 gelesen?
    Das Anpassen auf Deine Variablenadressen ist doch nicht schwer.
    OK, ich mixe mal Dein Programm mit dem funktionierenden Programm von Thomas.
    Code:
    // Netzwerk 1: Grenzwerte initialisieren
          L     0
          T     #MIN
    
          L     10000
          T     #MAX
    
    // Netzwerk 2: FC aufrufen
          CALL  "LIMIT"        // FC22
           MN     :=#MIN
           IN     :="Input"    // MW100
           MX     :=#MAX
           RET_VAL:="Output"   // MW102
          NOP   0
    
    // Netzwerk 3: Fehler beobachten
          U     BIE
          =     #temp_BIE
    Tu uns den Gefallen und tippe die ersten beiden Netzwerke GENAU so ab.
    Dann funktioniert's auch bei Dir.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    rsu76 (31.08.2010)

  11. #17
    rsu76 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.08.2010
    Beiträge
    10
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich schue die Werte immer mit den Var Tabelle an.

    Ja dann wende ich mich wohl mall an die lieben Leute von Siemens.

    Danke trotzdem für deine Hilfe

    Liebe Grüsse

  12. #18
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    Zitat Zitat von rsu76 Beitrag anzeigen
    Ich schue die Werte immer mit den Var Tabelle an.

    Ja dann wende ich mich wohl mall an die lieben Leute von Siemens.

    Danke trotzdem für deine Hilfe

    Liebe Grüsse
    ... die werden dir dann den Simatic Grundkurs empfehlen.

    Die o.g. Lösung funktioniert doch.
    Warum gehst du da drauf überhaupt nicht ein?
    "arbeite klug, nicht hart" - deutsches Sprichwort

  13. #19
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Hallo rsu76,

    die von Dir angegebene Deklaration Deiner TEMP-Variablen kann nicht stimmen.
    Man kann bei TEMP-Variablen keinen Anfangswert vorgeben.
    Wenn man TEMP-Variablen benutzt, dann muß man denen VOR lesender Benutzung einen Wert zuweisen.
    Ich dachte auch erst er hat Temp-Variablen genommen, aber wie man aus den Resten der Spaltenüberschriften sehen kann, scheinen es wohl doch statische Variablen zu sein (sonst gäbe es auch keine Startwerte).

    @rsu76
    Hänge doch mal dein Step7-Projekt an, würde mich auch interessieren warum es bei dir immer noch nicht funktioniert.

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

    rsu76 (31.08.2010)

  15. #20
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    @rsu76
    Hänge doch mal dein Step7-Projekt an, würde mich auch interessieren warum es bei dir immer noch nicht funktioniert.
    Das kann doch nur folgendes sein:

    1. Der Aufruf des FB1 ist nicht korrekt
    oder
    2. Die Startwerte wurden nachträglich geändert, und der IDB wurde nicht initialisiert
    oder
    3. Die verschalteten Variablen werden irgendwo anders überschrieben

    @rsu
    schreib doch einfach mal vor dem Aufruf der FC22

    Code:
    l min
    l max
    l input
    dann kannst du sehen welche Werte wirklich an die FC übergeben werden...
    "arbeite klug, nicht hart" - deutsches Sprichwort

Ähnliche Themen

  1. Variablen
    Von Anger im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 06.04.2010, 15:12
  2. Antworten: 5
    Letzter Beitrag: 30.11.2009, 10:27
  3. DB Variablen in SCL
    Von Felse im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 24.02.2009, 12:45
  4. Statische Variablen in FB´s
    Von Gerri im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 26.06.2008, 14:34
  5. IN-Out Variablen
    Von 1schilcher im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 10.07.2007, 12:03

Lesezeichen

Berechtigungen

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