-> Hier kostenlos registrieren
Liebe Gemeinde,
anlehnend an das von mir beschriebene Problem http://www.sps-forum.de/showthread.php?t=22786
(die CPU- Einstellungen in der HW-Konfig.... das hat super funktioniert >>)
Danke an vierlagig
habe ich noch folgende Fragen:
- Ich habe das Progi noch einmal 'umgefrickelt'....
NEU: => Meine DB- Aufrufe wollte ich im 10ms- Bereich über den OB35 realisieren. (dafür benötige ich keine IDB's mehr... das Progi wird einfacher lesbar).
Bsp.:
Das steht in 4 NW's für 4 KD's in OB35 => und fertig !
Die min. Zykluszeit war lt. Diagnose: 5 ms
Die max. Zykluszeit war lt. Diagnose: 23 ms
Die mittlere Zykluszeit war lt. Diagnose: 9 ms ???
(Mittelwert lt. meiner Rechnung: 14ms)
Ich dachte, der OB35 würde unabhängig der Zykluszeit aufgerufen.
(vergleichbar mit Interupt- Routinen, wie ich sie von Assembler kenne)
Das Ergebnis nach dem Aufruf von OB35 mit 10ms: (ich verstehe es einfach nur noch nicht)
Das Progi funzte mal 1h... 2h... mal nur 30sec lang.... Irgendwann
war die CPU gestoppt.
Seitdem ich den Weckalarm (OB35) auf 50ms eingestellt habe(Zwischenlösungen habe ich nicht getestet !), läuft die Sache stabil.
Meine Fragen:
- Hat die Zykluszeit doch etwas mit den WeckAlarm- OB's zu tun ?( vor allem die Zeit des OB- Aufrufs mit dem 'normalen' Progi- Ablauf )
- Muß man die Zykluszeit beachten?
Wenn JA... Was ist für eine sichere Funktion des Progis die richtige Einstellung für den OB35 ?
Mfg
anlehnend an das von mir beschriebene Problem http://www.sps-forum.de/showthread.php?t=22786
(die CPU- Einstellungen in der HW-Konfig.... das hat super funktioniert >>)
Danke an vierlagig
habe ich noch folgende Fragen:
- Ich habe das Progi noch einmal 'umgefrickelt'....
NEU: => Meine DB- Aufrufe wollte ich im 10ms- Bereich über den OB35 realisieren. (dafür benötige ich keine IDB's mehr... das Progi wird einfacher lesbar).
Bsp.:
Code:
[SIZE=1]// Referenzzähler setzen KD1 [/SIZE]
[SIZE=1]U E 3.5 // und KD "Ini oben" (Zähler Reset)[/SIZE]
[SIZE=1]R M 20.3 // wenn Ini_oben, dann Software-Endschalter rücksetzen[/SIZE]
[SIZE=1]U A 15.0 // SR-Merker "KD ab"[/SIZE]
[SIZE=1]U E 3.5 // und KD "Ini oben" (Zähler Reset)[/SIZE]
[SIZE=1]SPBN ZS_1 // Z-ähler S-etzen 1[/SIZE]
[SIZE=1]L 0 // Referenzzähler Reset[/SIZE]
[SIZE=1]T DB 1.DBW8 // Zähler schreiben[/SIZE]
[SIZE=1]SPA RzE1 // und Sprung zu R-echne z-ähl En-de1[/SIZE]
[SIZE=1]ZS_1: U A 15.0 // SR-Merker "KD ab"[/SIZE]
[SIZE=1]UN E 3.5 // und NICHT "Ini oben" (Zähler Reset)[/SIZE]
[SIZE=1]SPBN RzE1[/SIZE]
[SIZE=1]L DB 1.DBW8 // Lade Zähler[/SIZE]
[SIZE=1]L DB 1.DBW26 // obere Zählergrenze laden, um Zählerüberlauf zu vermeiden[/SIZE]
[SIZE=1]>=I[/SIZE]
[SIZE=1]= M 20.3 // Endschalter setzen, max. Ende ist erreicht[/SIZE]
[SIZE=1]U M 20.3[/SIZE]
[SIZE=1]SPB RzE1 // wenn Zähler >= Zähler_Max., dann nix mehr inkrementieren [/SIZE]
[SIZE=1]L DB 1.DBW8 // Lade Zähler[/SIZE]
[SIZE=1]L 1 // inkrementieren[/SIZE]
[SIZE=1]+I [/SIZE]
[SIZE=1]T DB 1.DBW8 // Referenzzähler schreiben[/SIZE]
[SIZE=1]// Zähler lernen [/SIZE]
[SIZE=1]U E 2.6 // Bedingungen für Start "Ref_Zähler übernehmen"[/SIZE]
[SIZE=1]U E 2.0[/SIZE]
[SIZE=1]UN E 3.5[/SIZE]
[SIZE=1]UN M 20.3[/SIZE]
[SIZE=1]SPBN RzE1[/SIZE]
[SIZE=1]L DB 1.DBW8 // Ref_Zähler laden[/SIZE]
[SIZE=1]T DB 1.DBW0 // Rückgabewert schreiben[/SIZE]
[SIZE=1]SRW 1 // WORD nach rechts schieben => Division / 2[/SIZE]
[SIZE=1]T DB 1.DBW18 // und Ergebnis schreiben[/SIZE]
[SIZE=1]RzE1: NOP 0[/SIZE]
Die min. Zykluszeit war lt. Diagnose: 5 ms
Die max. Zykluszeit war lt. Diagnose: 23 ms
Die mittlere Zykluszeit war lt. Diagnose: 9 ms ???
(Mittelwert lt. meiner Rechnung: 14ms)
Ich dachte, der OB35 würde unabhängig der Zykluszeit aufgerufen.
(vergleichbar mit Interupt- Routinen, wie ich sie von Assembler kenne)
Das Ergebnis nach dem Aufruf von OB35 mit 10ms: (ich verstehe es einfach nur noch nicht)
Das Progi funzte mal 1h... 2h... mal nur 30sec lang.... Irgendwann
war die CPU gestoppt.
Seitdem ich den Weckalarm (OB35) auf 50ms eingestellt habe(Zwischenlösungen habe ich nicht getestet !), läuft die Sache stabil.
Meine Fragen:
- Hat die Zykluszeit doch etwas mit den WeckAlarm- OB's zu tun ?( vor allem die Zeit des OB- Aufrufs mit dem 'normalen' Progi- Ablauf )
- Muß man die Zykluszeit beachten?
Wenn JA... Was ist für eine sichere Funktion des Progis die richtige Einstellung für den OB35 ?
Mfg
Zuletzt bearbeitet: