Moeller PS316 zickt rum

Dirk69

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

bis gestern lief die Steuerung einwandfrei. Heute habe ich nur ne kleinigkeit dazugeschrieben. Jetzt zickt sie rum.
Speicherbedarf der Programmierung: 29707 Worte.
Zu den Bildern:
1.) es wird 3mal MW 156 geladen. Aber nur ein mal richtig mit 31 und 2 mal falsch mit 0 gelesen. Und wenn ich I 7.10 High setzte wird der Wert von MW156 auf MW198 nicht übernommen.
2.) M36.13 müsste 0 ergeben.
3.) der Setz Eingang ist 0 wegen "A M 38.6"...
Das sind nur einige Beispiele. Viel, vor allem die ältere Programmierung scheint noch zu laufen. Einige ausnahmen, zB: Ausgänge 8.0-9 waren am Flackern. Nach einiger Zeit lief es normal.
Versucht habe ich es mit einer anderen CPU und mit weglassen einiger Include Dateien (26xxx Worte). Ohne Änderung!
Morgen kann ich eine ältere Programmierung ein spielen. Ich gehe davon aus, das es dann wieder weg ist, aber woran liegt das?
Vielen Dank schon mal!
Dirk
 

Anhänge

  • IMGP2900.JPG
    IMGP2900.JPG
    213,2 KB · Aufrufe: 24
  • IMGP2901.JPG
    IMGP2901.JPG
    210,3 KB · Aufrufe: 11
  • IMGP2902.JPG
    IMGP2902.JPG
    185 KB · Aufrufe: 16
Bei der PS316 wird in der Statusanzeige nicht der aktuelle Wert einer Variablen dargestellt, sondern der Wert, den die Variable am Zyklusende hat.
In Deinem Fall würde ich auf eine mehrfache Verwendung von Variablen tippen. Such mal mit der Querverweisliste, wo die Variablen sonst noch angesprochen werden.
Warum Ausgänge flackern, kann ich Dir nicht sagen. Vermutlich werden aber auch Variable doppelt angesprochen.
 
Ich kann die Angaben von Blasterblock (aus leidlicher Erfahrung mit der PS3x6) nur bestätigen. Wenn man Siemens gewohnt ist neigt man bei der Status-Anzeige zu Fehleinschätzungen, da wie schon erwähnt nur der Zustand am Ende des Programms angezeigt wird. Bei Siemens wird im Unterschied dazu der Zustand an der beobachteten Stelle angezeigt.
Das was du siehst ist also nicht zwingend das, was im Programm an der Stelle wirklich der Zustand der Variablen ist !!!

Gruß
LL
 
Ich möchte euch ja gerne glauben, aber im 3. Bild ist der Merker 38.12 High, obwohl er es nich sein darf. Genau dieser sorgt dafür, das der Ausgang 7.2 High ist. Und der ist auch praktisch High. Der Ausgang ist sonst nur High, wenn auch einige andere Ausgänge High sind.
Ich würde auf Speicherprobleme tippen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bist Du sicher, dass der M 36.13 nirgendwo angesprochen wird, z.B. in einer Zuweisung für das Wort 36 ?
Gelogen hat die 316 nie.
Du hast nur eine Zuweisung des MW156 gezeigt.
Wie werden die anderen Zuweisungsstellen angesprochen ?
 
Ich verstehe den Zusammenhang nicht ... wie und wo wird der Merker 38.12 gemacht ? Das ist die Frage und nicht ob er nun gesetzt sein darf oder nicht ...
 
@BB:
wenn der M36.13 = 1 ist und das nur im Bild2 gemacht wird dann sagt das noch gar nichts. Der M36.3 kann ja im Moment der Zuweisung auch =1 sein und später erst =0 werden ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gibt noch ein Mysterium. Im ersten Bild ist das MW156 in NW24 Zeile 2 =0, in Zeile13 =31 und in NW 25 Zeile 2 wider 0. Das widerspricht jeder Logik, die ich von der PS316 her kenne.
 
Kannst Du mal offenlegen, welche Kleinigkeit Du geändert hast ?
Ein 30 k grosses Programm ist sicherlich nicht so eben mal analysiert.
Wenn Du schreibst, dass Du einige #include Aufrufe weggelassen hast (ca. 10% des Programmes) und dann sagst, dass es keine Änderung gibt - was willst Du damit sagen ?
 
@BB:
da hast du recht ... ich denke aber, dafür wird es auch eine Erklärung geben. Den Fall, dass ein SPS-Programm ein Eigenleben entwickelt, hatte ich zwar schon oft vermutet - im Endeffekt hat es sich dann aber doch immer als erklärbarer (Programmier-) Fehler herausgestellt.
 
Kannst Du mal offenlegen, welche Kleinigkeit Du geändert hast ?
Ein 30 k grosses Programm ist sicherlich nicht so eben mal analysiert.
Wenn Du schreibst, dass Du einige #include Aufrufe weggelassen hast (ca. 10% des Programmes) und dann sagst, dass es keine Änderung gibt - was willst Du damit sagen ?

Ich glaube, so kommen wir nicht weiter ...
Es ist m.E. in diesem Fall schwer, den Fehler ohne den kompletten Code zu analysieren. Und das man mit einen kleinen Änderung "tolle Sachen" erzielen kann, das wissen wir doch zur Genüge ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kannst Du mal offenlegen, welche Kleinigkeit Du geändert hast ?
Ein 30 k grosses Programm ist sicherlich nicht so eben mal analysiert.
Wenn Du schreibst, dass Du einige #include Aufrufe weggelassen hast (ca. 10% des Programmes) und dann sagst, dass es keine Änderung gibt - was willst Du damit sagen ?

Ich habe noch 1 oder 2 Systembausteine hinzugefügt und deren Ausgänge zum ein oder ausschalten verwendet.

Meine Vermutung ist der Speicher. Ich erhalte nach jeder Compilierung den Satz: Warnung: "Speicherbedarf der Systembausteindaten > 2kByte"
Es sind ca. 185 Systembausteine verbaut!

10% kleineres Programm, in der Hoffnung, das ich Recht habe, mit meinem Speicherverdacht. Aber es läuft ja auch nicht.

Ob ich Module doppelt vergeben habe???
 
Doch ... der M38.6 kann (wie ich eben schon einmal geschrieben habe) in der Programmzeile =1 sein und erst später im Programm zu =0 werden ...
Du siehst nur den letzten Zustand des Merkers ...

Danke! jetzt habe ich verstanden!

Der Merker ist aber 59 Minuten lang 0 nur bei 0 Minuten ist er 1. Der angezeigte Wert ist richtig!
 
Danke! jetzt habe ich verstanden!

Der Merker ist aber 59 Minuten lang 0 nur bei 0 Minuten ist er 1. Der angezeigte Wert ist richtig!
Ich glaube, du hast es nicht verstanden - wir müssen darauf auch jetzt nicht mehr herumreiten wenn du nicht willst. Tu mir aber trotz dem mal eine Gefallen :
Nimm einen freien Merker und schreib in der fraglichen Programmzeile vorher mal hin :
Code:
L M 38.6
S freier_Merker
... und schau dann mal nach, ob der "freie_Merker" =0 bleibt oder =1 wird. Dann weißt du vielleicht etwas mehr ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das kann ich machen! Das dauert aber ein bischen, da ich gerade eine ältere Datensicherung aufgespielt habe. Die übrigens läuft.

Wenn ich mal alleine bin und die Haustechnik nicht brauche, versuche ich das mal und berichte. Ist schon programmiert.

Das flackern der Ausgänge hat sich nach kurzer Zeit erledigt. Aber 3 weitere Beisliele:
1. Ich berechne die Durchschittsaussentemperatur und lasse daraufhin den Puffer entsprechend hoch heizen. Zusätzlich lass ich die Höhe mit Hilfe von 3 LEDs (EBE 261) anzeigen. Er zeigt volle Höhe an, so kalt ist es aber nicht. Ich gehe davon aus, das er die Messung nicht gemacht hat.
2. In vielen Zimmern habe ich PTCs zur Raumtemperaturmessung. Diese sind gemultiplext an einem analogen Eingang angeschlossen. Mit den zwischengespeicherten Werten wird gearbeitet und sie werden auch angezeigt (EBE 261). Bis auf ein Zimmer waren alle auf "Solltemperatur", also nicht zu warm oder zu kalt. Ob die FBH geregelt hat oder nicht kann ich nicht sagen. Mit der älteren Programmierung sind die Zimmer plötzlich fast alle zu warm, es war auch starker Sonnenschein.
3. Die Solaranlage war in Betrieb und mir viel auf, das die Differnz zwischen Vor und Rücklauf ca 25°C betrug und die Umwelzpumpe nur sehr langsam lief. Äusserst unüblich.

Also, den Test mache ich bei Gelegenheit. Das interessiert mich auch.
Aber ansonsten hat sich die Programmierung erledigt. Jetzt läuft eine ältere wieder einwandfrei. Nur der Teil für meine Holzheizung fehlt. Die muss ich dann wohl neu machen. Die wird dann aber nicht mehr so aufwendig.

Vielen Dank an alle!
 
Ähnliches Problem

Ich hatte bei einem Kunden mal ähnliche Probleme.
Der setzte einen Rechner mit Windows 98/ME oder sowas ein. Da waren die Statusanzeigen auch für die Tonne.
Ich kam dann mit meinem alten DOS Rechner und der Fehler war schnell gefunden.
Also wenn du die Möglichkeit hast probier das mal!!

Gruß Joachim
 
Hallo und vielen Dank für die Information!

Wollte auf Dauer mit einem modernen Rechner programmieren. Dann ist es vielleicht besser ich lasse es bei meinem geliebten 386er unter Dos!
 
Zurück
Oben