Step 5 Problem mit S5 CPU 944A und IM308C

Rudi

Level-3
Beiträge
1.581
Reaktionspunkte
101
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Ich mußte an eine CPU 944 ein Profibussystem anbinden. Hat auch recht gut funktioniert mit COM-Profibus.
Ein erhebliches Problem habe ich aber noch offen. Wenn beim Einschalten der Steuerung (mit IM308C) die CPU schneller anläuft als der CP 308C wird keine Perihreie gelesen und geschrieben.
Erst nach Schalter an CPU auf Stop schalten und dann wieder auf Run funktioniert alles. Wie kann ich den CPU-Start verzögern ? Oder gibt es dafür eine andere Lösung ?
 
Hallo Rudi,

.. Wie kann ich den CPU-Start verzögern ? ..
Im DB1 gibt es im Block "SDP" einen Parameter "RDLY". Dort kann man eine Anlaufverzögerung bis zu 65.535ms bei Netzwiederkehr parametrieren.

Nachtrag: Nur wirksam bei gepuffertern Betrieb! Bei Eprom-Betrieb fest auf 1000ms! Eine andere Möglichkeit wäre eventuell eine Zeitschleife in den Anlauf-OBs.

Gruß, Onkel
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Rudi,

Im DB1 gibt es im Block "SDP" einen Parameter "RDLY". Dort kann man eine Anlaufverzögerung bis zu 65.535ms bei Netzwiederkehr parametrieren.

Nachtrag: Nur wirksam bei gepuffertern Betrieb! Bei Eprom-Betrieb fest auf 1000ms! Eine andere Möglichkeit wäre eventuell eine Zeitschleife in den Anlauf-OBs.

Gruß, Onkel

Im DB1 gibt es im Block "SDP" einen Parameter "RDLY". Dort kann man eine Anlaufverzögerung bis zu 65.535ms bei Netzwiederkehr parametrieren.
Kann du mir dafür ein Codebeispiel geben ?
Habe das noch nicht hinbekommen.
Wo kann ich ein Beispiel sehen ?
 
Der DB1 wird in der S5 nach einem Urlöschen mit Defaultwerten angelegt. Du musst ihn nur noch nach deinem Bedarf verändern. Es gibt auch ein spezielles Parametriertool von Siemens, "COM-DB1" oder so ähnlich, habe ich jedoch nie benötigt. Mit einem Programmbeispiel tue ich mich etwas schwer, da mein S5-Equipment nur noch sehr selten in Reichweite ist.
 
Hallo Onkel 1
Danke hat funktioniert. Selbst bin ich mit der Eingabe gescheitert. Dann habe ich auf meinem PG720 in Step 5 COM-DB1 gefunden. Funktioniert auch. Im Moment habe ich aber die max.Zykluszeit weggelassen.
Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Rudi,

Im DB1 gibt es im Block "SDP" einen Parameter "RDLY". Dort kann man eine Anlaufverzögerung bis zu 65.535ms bei Netzwiederkehr parametrieren.

Nachtrag: Nur wirksam bei gepuffertern Betrieb! Bei Eprom-Betrieb fest auf 1000ms! Eine andere Möglichkeit wäre eventuell eine Zeitschleife in den Anlauf-OBs.

Gruß, Onkel

Hallo kann mir evtl. einer helfen wie ich eine Zeitschleife von etwa 10s in einem Anlauf-OB bei einer CPU 942A machen kann ??
 
Hallo,
hat keiner einen Hinweis für mich wie ich den Anlauf eine S5 CPU 115A verzögern kann ?? Kann och da evtl. was im OB21 oder 22 machen ?
 
Ich bin mir nicht sicher ob ein normaler Timer im Anlauf OB schon funktioniert. Wenn ja würde ich eine Schleife (Sprung zurück) machen bis ein Timer durchschaltet. Wenn die Zeitüberwachungsfunktionen im Anlauf auch noch nicht aktiv sind sollte es so gehen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oder es wird das Problem daran liegen dass die Hantierungsbausteine für den CP308 schon aufgerufen werden und der CP noch nicht bereit ist. Kannst die diese Hantierungsbausteine nicht irgendwie "reseten" oder gleich den ersten Aufruf etwas verzögern?
 
Oder es wird das Problem daran liegen dass die Hantierungsbausteine für den CP308 schon aufgerufen werden und der CP noch nicht bereit ist. Kannst die diese Hantierungsbausteine nicht irgendwie "reseten" oder gleich den ersten Aufruf etwas verzögern?

Ich habe da keine Hantierungsbausteine.
Ich schreibe und lese im Moment einfach im OB1. Was sollte ich da für Hantierungsbausteine verwenden ?
 
Hallo kann mir evtl. einer helfen wie ich eine Zeitschleife von etwa 10s in einem Anlauf-OB bei einer CPU 942A machen kann ??
Was hast du denn schon probiert?

Ich habe im Moment nicht die Möglichkeit, in meinen dunklen Archiven zu suchen oder etwas zu testen. Wenn ich micht recht entsinne, benötigt ein Timer eine Flanke zum Starten. Da der OB21 nur einmal abgearbeitet wird, musst du den Timer im OB21 zunächst mit VKE=0 und danach mit VKE=1 aufrufen. Dann eine Schleife laufen lassen, wie von smoe beschrieben. Die Zyklusüberwachungszeit ist in den Anlauf-OBs noch nicht wirksam.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was hast du denn schon probiert?

Ich habe im Moment nicht die Möglichkeit, in meinen dunklen Archiven zu suchen oder etwas zu testen. Wenn ich micht recht entsinne, benötigt ein Timer eine Flanke zum Starten. Da der OB21 nur einmal abgearbeitet wird, musst du den Timer im OB21 zunächst mit VKE=0 und danach mit VKE=1 aufrufen. Dann eine Schleife laufen lassen, wie von smoe beschrieben. Die Zyklusüberwachungszeit ist in den Anlauf-OBs noch nicht wirksam.

Bin zur Zeit wieder auf einer Baustelle. Werde erst am Wochenende zum Testen kommem. Verstehe noch nicht wie das gemeint ist "musst du den Timer im OB21 zunächst mit VKE=0 und danach mit VKE=1 aufrufen" wenn der nur 1x abgearbeitet wird. Kann ich evtl auch was im OB20 machen ?
 
Ich würde das so gar nicht machen (Timer im Anlauf-OB).
Ich würde im Anlauf-OB einen Merker setzen. Dieser Merker wird dann im OB1 zum Starten des Timers xy verwendet. Ist der Timer abgelaufen wird der Merker wieder zurück gesetzt.
Diese Geschichte muss ganz am Anfang des OB1 stehen (1. Netzwerk). Solange der Merker=1 ist wird die weitere Bearbeitung des SPS-Programms verhindert.
Code:
U M 100.0
SE T 127
U T 127
R M 100.0

U M100.0
BEB
***
... oder so in der Art ...

Gruß
Larry
 
Im OB1 ist aber dann schon die Zykluszeitüberwachung aktiv...

... da ich die weitere Verarbeitung des OB1 allerdings verhindere und keine "Endlos"-Schleife programmiert habe (siehe Code) spielt das überhaupt keine Rolle (im Gegenteil, man kann das dann sogar sinnvoll debuggen ...)

Gruß
Larry
 
Zurück
Oben