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

Ergebnis 1 bis 7 von 7

Thema: BOOL Ausgang am FC gibt falschen Wert aus..

  1. #1
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo.

    Hier mal meine Problembeschreibung:

    Wir haben einen FC welcher uns von einer Bestimten Teigmenge Eine Prozentzahl Ausrechnet. Dazu hat der FC noch einen bool Ausgang zur Mitteilung einer Grenzwertüberschreitung (Ausgngsbit wird im FC nur beschrieben!). Nun haben wir an einer neu etworfenen Anlage folgendes Problem festgestellt: Wir haben Werte am Eingang liegen welche keinen Fehler erzeugen dürfen, FC bringt auch keinen Fehler. Nun haben wir 2 Eingänge auf 1 gestetzt welche eigendlich gar nichts mit dieser Linie zu tun haben, und Plötzlich bringt der FC eine 1 Signal, ohne das sich seine Eingangsignal geändert hat. Nun, egal welches dbx irgendeines dbs welches wir an den ausgang hängen, es kommt immer (also kein fehler durch setzten irgendwo anderst im programm), und wenn wir irgendein merkerbit an den ausgnag hängen, kommt dies aber nicht!

    Was tippt ihr was das sein könnte?? Fehlerhafte steuerung??
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren BOOL Ausgang am FC gibt falschen Wert aus..  

  2. #2
    Anonymous Gast

    Standard

    sieh dir doch die fc online im status an,
    dann siehst du doch warum das bit gesetzt wird.

  3. #3
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    hab ich ja gemacht... aber eigendlich dürfte er nicht kommen:

    der fc ist auch schon etwas älter (noch aus s5 tagen... aber er soll in diesem projekt nicht geändert werden!)

    das problem ist halt, die eingangswerte ändern sich nicht, aber der fehler ausgang kommt ab und zu!

    poste mal hier den code:

    NW1:
    Code:
       ON    #Waage_Anf_neuer_Soll
          ON    #Freigabe_Werte_umrechnen
          R     #Stoerung_Sollwerte
    
          UN    #Waage_Anf_neuer_Soll
          U     #Freigabe_Werte_umrechnen
          R     #Freigabe_neuer_Sollwert
          BEB   
          UN    #Freigabe_Werte_umrechnen
          SPBN  A001
          L     #Sollwert
          T     #Ausgabe_Sollwert
          SET   
          S     #Freigabe_neuer_Sollwert
          BEA   
    A001: NOP   0
    NW2:
    Code:
     L     #Betriebsart
          L     0
          ==I   
          SPB   Proz
          L     #Betriebsart
          L     1
          ==I   
          SPB   Char
          L     #Betriebsart
          L     2
          ==I   
          SPB   Anz
          R     #Freigabe_neuer_Sollwert
          BEA   
    Proz: L     #Soll_Prozent_Charge        //Prozent 
          L     #Sollwert                   //Sollwert
          *I    
          L     100                         //durch ganzzahlige Prozentzahl
          /D    
          SPA   Ausg
    Char: L     #Soll_Chargenteilmenge      //Soll in kg
          L     1000                        //Faktor 100*0,1kg (Zahlen ohne Komma)
          *I    
          L     #Gesamt_Soll_Charge         //Gesamtmenge
          /D    
          L     #Sollwert                   //Sollwert
          *D    
          L     100                         //durch 100
          /D    
          SPA   Ausg
    Anz:  L     #Soll_Anzahl_Teiglinge
          L     #Gewicht_Teigrohling        //in Gramm 
          *I    
          L     L#1000000                   //Wert zu hoch   max Wert 32000 (Wort) *100
          >D    
          SPB   Rech
          TAK   
          L     1000                        //Wert um 1000 multiplizieren
          *D    
          L     #Gesamt_Soll_Charge         //Gesamtmenge kg
          /D    
          L     #Sollwert
          *D    
          L     L#100000                    //auf 0,1kg legen * 1000
          /D    
          SPA   Stoe
    Rech: TAK   
          L     10
          *D    
          L     #Gesamt_Soll_Charge         //Gesamtmenge kg
          /D    
          L     #Sollwert
          *D    
          L     1000                        //auf 0,1kg legen
          /D    
    Stoe: L     32000                       //Ausgabewert prüfen ob im Rahmen 1 Wort
          >D    
          =     #Stoerung_Sollwerte
          R     #Freigabe_neuer_Sollwert
          BEB   
          TAK   
    Ausg: T     #Ausgabe_Sollwert           //Ausgabe Sollwert
          SET   
          S     #Freigabe_neuer_Sollwert
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren ach was...  

  4. #4
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo,

    schreibst du den FC-Ausgang auf Merker oder auf Datenbits? Hab mir den Code nicht weiter angesehen.. Aber kann es sein dass es zwischen Zuweisung 0 und 1 eine Grauzone gibt? Das heisst es wird nicht in jedem Zyklus zugewiesen.. Versuch doch mal eins - ändere die Deklaration auf IN/OUT

    MfG
    André Räppel
    Zitieren Zitieren Problem  

  5. #5
    Registriert seit
    28.06.2003
    Ort
    Nähe Bonn
    Beiträge
    292
    Danke
    15
    Erhielt 92 Danke für 71 Beiträge

    Standard

    Hallo Jochen,

    ist der entsprechende Ausgang als OUT oder als IN_OUT Parameter defeniert?

    Hier ein Ausschnitt einer mail von Siemens an mich:

    "Bitte beachten Sie, daß die OUT Parameter bei einem FC per Definition bei jedem Aufruf mit einem aktuellen Wert versorgt werden müssen.
    Der Grund ist, daß der FC kein Gedächnis hat und die OUT Paramter Daten über den Lokaldatenstack an den Aufrufer übergeben werden.
    Bei IN_OUT Parameter tritt das Verhalten nicht auf, weil diese per
    Definition erst gelesen werden und damit einen definierten Wert haben."

    Also: OUT Parameter in einem FC nur verwenden, wenn diese bei jeden SPS Zyklus neu beschrieben werden, sonst IN_OUT Parameter verwenden.
    (oder einen FB verwenden)


    vill Jrööß un fröhliche Weihnaachte un ne jooden Rutsch
    (viele Grüße und frohe Weihnachten und einen guten Rutsch)

    Peter

  6. #6
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    @peter:

    danke, denke das ist die lösung...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren danke...  

  7. #7
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    lies auch nen Beitrag weiter vorn...
    Zitieren Zitieren Lösung  

Ähnliche Themen

  1. DB20 (0.0 BOOL) als Ausgang bzw. TRUE setzen wie?
    Von superkato im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 11.05.2011, 00:41
  2. Antworten: 12
    Letzter Beitrag: 18.08.2010, 13:32
  3. Wert im Merkerwort soll Ausgang schalten.
    Von lowbit im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 23.02.2009, 23:18
  4. Micromaster 440 gibt falschen Sollwert an Motor aus
    Von extra im Forum Antriebstechnik
    Antworten: 8
    Letzter Beitrag: 15.09.2008, 20:09
  5. Antworten: 12
    Letzter Beitrag: 19.11.2007, 11:06

Lesezeichen

Berechtigungen

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