S_VIMP S7-300 und 400 sporadische Fehler

Zuviel Werbung?
-> Hier kostenlos registrieren
Hab ich jetzt noch vergessen zu erwähnen:

in PLCSim funktioniert die Sache. Ich glaube nicht an die Hardware-Fehler-Theorie. Das Problem liegt erfahrungsgemäß meistens zwischen den Ohren.
Wie Larry sagt, könnte der Programmteil übersprungen werden.
Hast Du mal überprüft, ob kein zweiter T36 im Programm existiert und ob kein unerwünschter Schreibzugriff auf den M43.0 existiert, der ihn dauerhaft oder gelegentlich (noch schlimmer) auf 0 hält.

Earny

M43.0 wird im Programm nur zwei mal schreibend bearbeitet. Einmal wird er gesetzt, um die Funktionen anzustoßen und zurück gesetzt wird er nur mit dem S_VIMP (T36) selbst. Es ist auch kein "überlappender" Zugriff oder eine indirekte Adressierung auf irgendwelche Merkerbereiche vorhanden.

thanks

mikeautomatix
 
und in die Speicherbereiche MB43, MW42, MW43, MD40, MD41, MD42 und MD43 wird auch nicht geschrieben?

Gruß
earny
 
Zuviel Werbung?
-> Hier kostenlos registrieren
und in die Speicherbereiche MB43, MW42, MW43, MD40, MD41, MD42 und MD43 wird auch nicht geschrieben?

Nein. Das meinte ich ja mit "kein überlappender Zugriff".

Ich weiß dass das ganze ziemlich merkwürdig klingt. Aber warum ist der Fehler dann an keiner Anlage mehr aufgetreten, wenn wir die Möglichkeit hatten den S_VIMP zu entfernen? Klar ist das noch kein Beweis, so selten wie der Fehler bisher aufgetreten ist. Aber glaub mir, ich schreib so einen Schwachsinn nicht "just for fun". Wir finden tatsächlich keinen anderen Fehler!

Merkwürdig vielleicht auch, dass es eine einzige Serie (8 Stück) der Anlagen gibt, die schon mit am längsten laufen (ca. 8 Jahre) bei denen der Fehler nicht einmal aufgetaucht ist. Die laufen mit 316-2DP aus 2001. Wahrscheinlich nur Zufall?!?

Komisch ist das doch, dass nur mein wirklich sehr erfahrener Kollege (der hat schon mit den Vorgängern von Step5 gearbeitet und ist auch heute noch voll im Geschäft - was selten ist) sagt, er kenne das Problem.

trotzdem danke an die, die sich hier Gedanken machen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich hab jetzt neulich das problem gehabt das ich 2 werte (ein AI druckwert und denn sollwert 8.2) mit einem CMPR < vergleiche und obwohl das keine =1 liefert bzw. die bedingung nicht erfüllt ist, startet der v_imp auf einmal los und zähl von 20s runter auf 0 und starter wieder.

als würde das cmpr < Glied ab und zu triggern bzw. eine Flanke senden obwohl der Wert noch lange nich kleiner 8.2 ist.

merkwürdig!
 
ich hab jetzt neulich das problem gehabt das ich 2 werte (ein AI druckwert und denn sollwert 8.2) mit einem CMPR < vergleiche und obwohl das keine =1 liefert bzw. die bedingung nicht erfüllt ist, startet der v_imp auf einmal los und zähl von 20s runter auf 0 und starter wieder.

als würde das cmpr < Glied ab und zu triggern bzw. eine Flanke senden obwohl der Wert noch lange nich kleiner 8.2 ist.
Hallo superkato,
bist du sicher dass dein Analogeingang nicht mal ein Zyklus kurz "flackert"?
Speicher dir doch mal den niedrigsten Istwert, vielleicht fällt er ja wirklich ein Zyklus unter 8.2
Code:
     U #Start_Auswertung
     FP #Start
     SPBN EIN
     L AI 
     T #Minwert
 
EIN: L #Minwert
     L AI
     <R
     SPB OK
     T #Minwert
OK: NOP 0
 
Hi,
das kann sein aber was macht man denn wenn dies so ist?

Es handelt sich ja um einen Behälterdruck der gemessen wird, dieser kann ja nicht plötzlich wenn 8.713156 angezeigt wird auf unter 8.2 sinken. Also nehm ich mal an das der wirklich "flackert" vom Drucksensor bzw. Zyklus her....

shit... das er das s_vimp Glied anregt ist richtig nervig! wenn ich einen Nullmerker drann haue dann passiert nichts.
Gibts da eine Lösung? evtl. Aktualisierungsrate niedriger?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gibts da eine Lösung? evtl. Aktualisierungsrate niedriger?
Da fallen mir spontan zwei Möglichkeiten ein:
1. Eine Mittelwertbildung
2. Du schaust ob der Wert plausibel ist. Sprich fällt der Wert von einem auf den nächsten Zyklus um mehr als (?) 1 bar dann diesen Wert ignorieren.
Interessant wäre auf welchen Wert er denn fällt wenn er flackert, sprich Auswertung.
 
ja ich werde mir das morgen mal anschauen... schade das siemens keine eigene glättung bzw mittelwertbildung integriert hat.

trivialerweise tritt das problem nur sporadisch auf. paar tage gehts gut und dann wieder nicht. ... könnte ja sogar sein das dass kabel ein fehler hat.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oder ein EMV Problem.
Neue Maschine aufgestellt oder Umrichter nachgerüstet?

nur einen weiteren Drucktransmitter nachgerüstet aber mit geschirmten Kabel...

Hmm ich vermute schon das der Monteur evtl. was falsch gemacht hat aber sicher bin ich mir nicht , ich denk eine Mittelwertbildung über 4-5Werte wäre sinnvoll. Es darf nur nich zu lang dauern, da der Druck sich ja verändert.
 
dann schaue ich mal morgen nach um was es sich für ein wert handelt.

Hättest du da schon etwas code bereit um das zu realisieren?
 
abhängig davon wie zeitkritsch deine anwendung ist, würde es auch eine kurze time-se (z.b. 100ms) zwischen vergleicher und v_imp tun
 
ich hab hier mal das besagte netzwerk als bild eingefügt.
100ms sind unkritisch, erst eine Sekunde wären kritisch.
Unbenannt.JPG

beschreibung:
Druckwert wird verglichen (in dem fall >R) -> Verlängerter impuls von 15sec damit falls der druck wieder absingt und hochsteigt nicht nochmal der Schaltpunkt ausgelöst wird-> dann ein s_impuls von 1sec der mir wiederum nur kurz meine Funktion (Funktion zum aktivieren/deaktivieren eines Kompressors) mit einer positivien flanke antriggert (m1.0, m2.2).
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Einfach den kritischen Wert mit einem Tiefpassfilter etwas glätten:

Code:
FUNCTION FC 230 : VOID
TITLE =Pegel filtern
//Filterkonstante (Wertebereich 0-100%)
//0,001 -> maximale Dämpfung 
//100,0 -> keine Dämpfung
AUTHOR : Ne
VERSION : 0.1


VAR_INPUT
  FK : REAL ;    //Filterkonstante in %
  Roh : REAL ;    //Rohwert
END_VAR
VAR_IN_OUT
  GF_Wert : REAL ;    //Gefilteter Wert
END_VAR
VAR_TEMP
  ZE1 : REAL ;    
END_VAR
BEGIN
NETWORK
TITLE =


      L     1.000000e+002; 
      L     #FK; //Filterkonstante
      -R    ; 
      L     1.000000e+002; 
      /R    ; 
      L     #GF_Wert; //gefilterter Wert(Altwert)
      *R    ; 
      T     #ZE1; 
      L     #FK; //Filterkonstante
      L     1.000000e+002; 
      /R    ; 
      L     #Roh; //Rohwert
      *R    ; 
      L     #ZE1; 
      +R    ; 
      T     #GF_Wert; //gefilterter Wert (Neuwert)

END_FUNCTION
 
so kann man den vergleicher auf einfache weise entprellen
 

Anhänge

  • Zwischenablage02.gif
    Zwischenablage02.gif
    2,9 KB · Aufrufe: 24
so ich hab mir das heute mal angeschaut und musste feststellen das es kein flackern gab also das "phenomen" ist nicht aufgetreten.
Die Anlage läuft stabil und falls das flackern auftreten sollte habe ich eine veriegelung drin, die blödsinn verhindert.

danke für den tipp mit dem entprellen, ich schau mir das mal genauer an und evtl. bau ichs ein.
 
Zurück
Oben