Step 7 Siemens-Eigenleben

Zuviel Werbung?
-> Hier kostenlos registrieren
@Jesper:
Nein ... muss man nicht. Schau dir bitte noch einmal meinen geposteten Code-Schnipsel (Beitrag #12) an.
Sorry.

Code:
U #Schritt_7
U #RM_Zaehler_erhoeht
S #Schritt_8
R #Schritt_7

und irgendwann viel weiter unten im Code :
[COLOR=#ff0000]
// VKE ?
[/COLOR][COLOR=#ff0000]// eventuell ein SET hier plazieren.
[/COLOR]U #Schritt_7
UN #RM_Zaehler_erhoeht
SPBN nInc [COLOR=#ff0000]// Wenn ge-undet wird der SPBN abhängig von den VKE vor die zwei Und-Bedingungen.
[/COLOR]
L #Zaehler
L 1
+D
T #Zaehler

nInc: U #Schritt_7
= #RM_Zaehler_erhoeht
 
Zuletzt bearbeitet:
Vieleicht ne blöde vermutung, aber Du schreibst was von Zeit OB. Soll das heißen diese Bausteine laufen in diesem OB? Wenn dem so ist, was passiert wenn die Bearbeitung eines Deiner beiden Bausteine schon 2ms dauert? Ich nehme mal an, der zweite Baustein, der also nach dem ersten bearbeitet wird, wird nicht mehr komplett abgearbeitet!??! Könnte es daran liegen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
und irgendwann viel weiter unten im Code :
[COLOR=#ff0000]
// VKE ?
[/COLOR][COLOR=#ff0000]// eventuell ein SET hier plazieren.
[/COLOR]U #Schritt_7
UN #RM_Zaehler_erhoeht
SPBN nInc [COLOR=#ff0000]// Wenn ge-undet wird der SPBN abhängig von den VKE vor die zwei Und-Bedingungen.
[/COLOR]
L #Zaehler
L 1
+D
T #Zaehler
Das zusätzliche SET oder CLR würde ich auch vorschlagen.
Sind vielleicht auskommentierte Programmzeilen vorhanden? Manchmal fällt es gar nicht auf, daß keine VKE-Begrenzung mehr da ist. Oder wird zu dieser Stelle gesprungen, z.B. mit SPN, SPZ, ... ?

Harald
 
Hallo ihr,

die VKE-Begrenzung werde ich mal mit dazu nehmen. Das Netzwerk vorher (sowie alle anderen davor) enden zwar mit entweder = oder S oder R - aber vielleicht gibt es ja wegen dem Zeit-OB da eine (wie auch immer geartete) Rückwirkung.
Es wird auch nicht in das Netzwerk eingesprungen. Es ist wirklich schlicht und ergreifend so, dass das Inkrementieren bedingt übersprungen wird (wie im Code-Schnipsel dargestellt). Und wie schon geschrieben - zur Zeit läuft wieder Alles ...
Der OB35 hat aber übrigens nichts mit diesem Baustein zu tun - der dient lediglich der Messdaten-Erfassung (und das ist vom Code her auch nicht stressig - ich habe auch schon 1 ms-Intervalle gefahren).

Gruß
Larry
 
Hallo Larry ,
ein ähnliches Phenomen konnte ich auch beim selben Typ CPU beobachten . In einem FC hatt sich ein Wert einer Lokal Variable nicht nachvollziehbar verändert. Komischerweise hat es geholfen einfach den Baustein so wie er war noch mal zu laden . Erst dann war der Wert der Lokalen Temp Variable wieder gegeben . An der selben CPU auch Probleme mit Graph Schrittketten . Schrittkette schaltet trotz erfüllter Bedingungen nicht weiter.... Baustein neu geladen ..... Alles gut.....Wir haben bei uns lange gerätselt wie dies passieren konnte , leider bis heute keine Erklärung dafür. Diese Fehler sind seitdem nicht mehr aufgetreten.
Das wird dir so nicht weiterhelfen, aber der Fehler lag meiner Meinung nach an der CPU. Solche Probleme sind mir von anderen CPU Typen nicht bekannt nur bei der 317.... Viel Erfolg noch bei der Fehlersuche.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In einem FC hatt sich ein Wert einer Lokal Variable nicht nachvollziehbar verändert. Komischerweise hat es geholfen einfach den Baustein so wie er war noch mal zu laden . Erst dann war der Wert der Lokalen Temp Variable wieder gegeben .
Kannst du dazu noch was näheres schreiben? So wie du das hier schreibst würde man eigentlich spontan auf den mehr oder weniger typischen Anwenderfehler, betreffs der Art und Weise wie und wofür Temp-Variablen verwendet werden.
(

Mfg
Manuel
 
Problem ist nur nachvollziehbar wenn der komplette Bausteincode gepostet wird.

Und dann besteht immer noch die Gefahr das von Aussen in die Instanz geschrieben wird.
 
Zuletzt bearbeitet:
Bei der CPU 318-2 mit RAM-MC hatte ich schon ein paar mal unerklärliches Fehlverhalten und Anzeige von falschen Variablen-Status, Bausteinvergleich ergab keine Unterschiede, doch einfaches neu-Einspielen der beteiligten DB und FC hat das Fehlverhalten beseitigt. Vielleicht gibt es ja tatsächlich "Bit-Kipper".

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hatte am Sonntag auch ein seltsames Erlebnis, ich weiss schon ich habe zuvor geschrieben, dass ich nicht an Hexen glaube.

GaragenSPS (312er, seit 5 Jahren in Betrieb):
Ich habe zwei Magnetkontake installiert und eine Minialarmanlage der SPS hinzugefügt.

Da heisst es:

U #Türkontakt //NC
FN M //sicher nicht doppelt verwendet
U Alarmanlage_scharf
S Alarm

funktionierte nicht!

Das funktionierte:
UN #Türkontakt //NC
FP M //sicher nicht doppelt verwendet
U Alarmanlage_scharf
S Alarm

:confused::confused::confused::confused::confused::confused:
 
Schonmal die Betriebssystemversion überprüft?
Es gab da so schöne Fehlerbehebungen wie "Bei der Verwendung von Taktmerkern werden ab sofort die drei daneben liegenden Merkerbyteadressen nicht mehr beeinflusst." Man wundert sich schon fast dass es nicht öfters kracht.
 
Also mit der VKE-Begrenzung hatte ich auch schon diverse unheimliche Begegnungen, oft natürlich eher aus Unachtsamkeit aber einige Male auch schon ohne wirkliche Erklärung. Daher habe ich auch ab und an ein Set im Code stehen, wenn ich garantieren will, dass das VKE hier neu beginnt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zitat :
Kannst du dazu noch was näheres schreiben? So wie du das hier schreibst würde man eigentlich spontan auf den mehr oder weniger typischen Anwenderfehler, betreffs der Art und Weise wie und wofür Temp-Variablen verwendet werden.

Mfg
Manuel


Hallo Manuel,
leider kann ich mich nicht an die Details erinnern (zuviele unterschiedliche Baustellen seitdem), es war aber eindeutig kein Fehler in der Programmierung.
Da durch das erneute laden der Fehler nicht mehr reproduzierbar war ,konnte ich auch keine weitere Diagnose durchführen. Die Frage die ich mir im nachhinein gestellt habe ist.
Warum der Fehler durch das erneute laden in die CPU weg war.... Wird der Temp Bereich durch das laden verändert ?? Sollte eigentlich auch nicht sein oder ..... ?? :confused:
 
Zurück
Oben