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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: Problem mit S7 Lokalvariablen

  1. #1
    Registriert seit
    18.11.2007
    Ort
    Kassel (Hessen)
    Beiträge
    24
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Lächeln


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    vor ein paar Tagen habe ich beim Kunden ein neues Maschinenteil
    aufgebaut und in der SPS einen neuen FC im Programm für dieses neue
    Maschinenteil angelegt!
    Bei der Programmierung musste ich ein paar Werte vom Typ Integer
    berechnen und dafür habe ich ein paar Lokalvariablen angelegt.
    Alles so weit so gut, der eigentlich neu programmierte FC funktionierte
    auch einwandfrei und ich weiss das in anderen FC's auch Lokalvariablen
    angelegt wurden und wohl auch alles einwandfrei arbeitet.

    Jetzt war folgendes Problem aufgetreten: In einem anderen FC wurde ein
    Schieberegister programmiert (schon bei Auslieferung der Maschine) das
    nach der Programmierung des neuen FC's keine Daten mehr geschoben hat.

    Ich habe dann nach langen hin und her probierens, rausgefunden das die
    Lokalvariablen in dem neuen FC Schuld daran waren, das das
    Schieberegister nicht mehr arbeitete, habe dann die Lokalvariablen durch
    Merkerworte ersetzt und das Schieberegister lief wieder!

    Hat das schonmal jemand gehabt oder kann mir jemand sagen voran das
    wohl gelegen hat???

    Gruß, Mathias
    Zitieren Zitieren Problem mit S7 Lokalvariablen  

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

    Onkel Dagobert (24.11.2007)

  3. #2
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Hallo mrcmm300,

    waren die Lokaldaten im FC als Temp, ohne die irgendwo zu sichern, und arbeit das Schieberegister eventuell auch mit Temp ?

    Diese könne sich beeinflussen, man sollte die dann sichern, oder einen FB mit Instanz-DB verwenden. Das verwenden von Temp im einem FC kann jahrelang laufen, und bei einer kleinen Änderung geht nix mehr. Die Temp-Variablen müßen mit bedacht verwendet werden, da die beim verlassen des Bausteines die Gültigkeit verlieren.

  4. #3
    mrcmm300 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.11.2007
    Ort
    Kassel (Hessen)
    Beiträge
    24
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo jabba,

    ja, die von mir benutzten Lokalvariablen waren Temporär, den FC mit dem Schieberegister kann ich leider nicht einsehen (KnowHowProtect).

    Gruß Mathias

  5. #4
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.733
    Danke
    317
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard

    Ich bezweifle, dass man dir im herkömmlichen Sinn einen Vorwurf machen kann.
    Die Lokaldaten (Temp) müssen überhaupt nicht mit Vorsicht angewendet werden, sondern nur richtig, für was diese gedacht sind,
    nämlich die etwas durchsichtigere Version eines Schmiermerker-Bereichs.

    Wenn irgend ein Schieberegister danach nicht mehr getan hat, dann war dieses zu >90% im Temp-Bereich deklariert,
    oder das Schieberegister hat Daten aus dem Temp-Bereich bezogen.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  6. Folgender Benutzer sagt Danke zu MSB für den nützlichen Beitrag:

    IBN-Service (25.11.2007)

  7. #5
    mrcmm300 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.11.2007
    Ort
    Kassel (Hessen)
    Beiträge
    24
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Und ich hab mir gedacht, das die Werte die ich da berechnen wollte und nur in diesem Baustein benutzen wollte auch nur Auswirkungen auf diesen Baustein haben! Aber falsch gedacht!

    Wie kann ichs den das nächste mal richtig machen?
    Was sollte ich beachten wenn ich Lokalvariablen verwenden will?

    Gruß Mathias

  8. #6
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Hallo mrcmm300,

    so wie MSB ja aufgeführt hat, hast Du ja eigentlich nix falsch gemacht,
    aber vieleicht der das Schieberegister geschrieben hat.
    Meine, ganz eigene Meinung, meide die Temp-Variablen.
    Auch wenn von vielen hier verpöhnt , ich nehme dafür Merker, einen DB oder einen FB mit Instanz-DB.
    Ich habe einige Anlagen, wo ich früher gerne auf die Temp´s zurückgegriffen habe, bei vielen gab´s unerklärbare Fehler.
    Und ich habe die Temp´s auch nur zum wandeln benutzt, oder für Grenzwertberechnungen, die wurden in jedem Zyklus auch vor der Auswertung neu berechnet, und trotzdem kam manchmal Müll raus.
    (Es gab da auch keine Unterbrechungen ala OB35 oder so)

  9. #7
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.733
    Danke
    317
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard

    Also ich meide Temps nicht grundsätzlich, aber ich denke wenn man die richtig verwendet, dann passiert auch nichts.
    Sonst würde sich Siemens wohl kaum bei KOP/FUP Programmen in dem Maß darauf verlassen.

    Ich verwende die Temps zum Beispiel um Rechenergebnisse oder Verknüpfungsergebnisse zwischenzuspeichern.
    Die Verwendung der Ergebnisse, erfolgt in jedem Fall in den nächsten 5 Netzwerken,
    und immer vorm Aufruf eines neuen FC/FB's.

    Der Temp-Bereich ist insgesamt halt irgend ein x-Byte breiter Speicherbereich (Datenblatt der CPU),
    und diesen Speicher teil die CPU halt mehr oder weniger willkürlich auf die deklarierten TEMP-Variablen usw. auf.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  10. #8
    Registriert seit
    06.10.2003
    Beiträge
    3.412
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Oh, das ist ja eine ganz böse Falle. Ich mache auch oft und äußerst widerwillig in fremden Anlagen rum. Immer mehr Kunden verderben es sich mit den Maschinenherstellern und dann kommen sie zu uns. Das ist neuerdings der Trend. Und wir machen alles, ist ja kein Problem, jedenfalls nicht für meinen Chef . In fremden Programmen herum zu schreiben ist ohnehin schon etwas abenteuerlich. Und dann auch oftmals bei laufender Anlage. Wenn man nun, wie Mathias, auch noch ein solch stümperhaftes Programm vorfindet, kann das ganz böse enden.

    Ich werde in Zukunft in solchen Fällen wohl ausschlisslich mit statischen Lokaldaten arbeiten. Ausserdem sollte man eine Lizenz zum Programmieren einführen!!!

    Danke für den Tipp!


    Gruß, Onkel


    ..oder besser zwei Lizenzen. Eine für FUP und KOP, und eine uneingeschränkte.
    Geändert von Onkel Dagobert (24.11.2007 um 19:03 Uhr)
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford
    Zitieren Zitieren Oh, das ist ja eine ganz böse Falle.  

  11. #9
    mrcmm300 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.11.2007
    Ort
    Kassel (Hessen)
    Beiträge
    24
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Leute, Danke für Eure Antworten.

    Ich werde wohl in Zukunft vielleicht auch eher zu statischen Variablen tendieren! (Ich muss nur dran denken, beim nächsten mal)

    Zum Thema "Für meinen Chef is'nix unmöglich" kann ich Dir nur beipflichten.

    Und zum Thema Lizens zum Programmieren: Ich hab eine und der der das Programm mal geschrieben hat, hat auch eine, aber der hat die Firma
    gewechselt und auf Grund dessen konnt ich Ihn auch nicht fragen.

    Gruß an alle, Mathias

  12. #10
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.733
    Danke
    317
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das du eine Lizenz hast, keine Ahnung,
    aber das der eine hat, der das Programm ursprünglich mal geschrieben hat,
    ist definitiv auszuschließen.
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

Ähnliche Themen

  1. Lokalvariablen in Organisationsbausteinen
    Von Blueglasstalisman im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 23.08.2011, 14:33
  2. Lokalvariablen im DB weg
    Von Wassermann im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 28.04.2010, 19:35
  3. temporäre Lokalvariablen
    Von Earny im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 08.12.2009, 08:48
  4. Programmieren mit Lokalvariablen und Parametern
    Von Earny im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 20.10.2008, 20:06
  5. Anfangswert einer Lokalvariablen
    Von Earny im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 17.04.2008, 20:16

Lesezeichen

Berechtigungen

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