Arbeitsspeicher wird gfüllt, wer kann helfen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
python_neuling

Hallo,

ich habe folgende (fast endlos) Schleife:

Code: Alles auswählen

        i = 0
        while i < 2:
            Trigger_value  = Trigger.Read()
            Constant.Write(Trigger_value)
            from time import sleep
            sleep(0.001)
            i=Script_off1.Read()

Es geht darum ein Triggersignal "durchzuschleifen".
Dummerweise wird mir dabei langsam der Arbeitsspeicher vollgeschrieben. Kann mir jemand helfen? Vielen Dank.

Edit (Leonidas): Code in Python-Tags gesetzt.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Das liegt evtl. am dauernden import vom sleep :roll:

Mach es lieber so:

Code: Alles auswählen

import time

i = 0
while i < 2:
    Trigger_value = Trigger.Read()
    Constant.Write(Trigger_value)
    time.sleep(0.001)
    i = Script_off1.Read()

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
python_neuling

Vielen Dank, aber daran liegt es scheinbar nicht.
python_neuling

Ich habe gerade folgendes getestet:

while i < 2:
i = Script_off1.Read()

auch dann wird der Arbeitsspeicher gefüllt. Gibt es dafür eine Erklärung? Danke.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Vielleicht liegt's garnicht an deinem Skriptteil, sondern am Script_off1 Objekt...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Was soll den Script_off1.Read() eigenlich zurückgeben? Hast Du schon mal nachgesehen ob das überhaupt funktioniert?
python_neuling

Vielen Dank. Es liegt wohl an der Methode Read. Habe gerade in der Doku der API gesehen, dass diese Methode für solche Zwecke nicht geeignet ist. Also, Danke.
Antworten