Zugriffsverletzung

Haussteuerer
Beiträge: 66
Registriert: Dienstag 25. September 2012, 10:46

Re: Zugriffsverletzung

Beitrag von Haussteuerer » Freitag 6. September 2019, 19:35

Update:
Mittlerweile Profilab auf neuem Laptop installiert und leider festgestellt das hier dieselben Abstürze passieren. :roll:

Wie durch Zufall hab ich dann die Abtastrate am PID Regler auf 500ms hochgesetzt und seitdem keine Abstürze mehr.

:D

Und noch was merkwürdiges: wenn ich den Regler so beschalte wie das in der Hilfe steht bekomm ich den nicht in Griff.
Wenn ich aber Sollwert und Istwert vertausche läuft das Ding Prima! :shock:

Schönen Abend euch noch!

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Zugriffsverletzung

Beitrag von Mike D » Samstag 7. September 2019, 14:46

Und noch was merkwürdiges: wenn ich den Regler so beschalte wie das in der Hilfe steht bekomm ich den nicht in Griff.
Wenn ich aber Sollwert und Istwert vertausche läuft das Ding Prima!
Dann wird irgendwo in deiner Regelschleife ein negativer Koeffizient sein.
Sprich, wenn der Stellwert hoch geht, geht der zum Regler zurück gekoppelte Messert runter, z.b. bei einer Kühlung oder einem Bremsvorgang.
Was regelst du denn?

Mike

Haussteuerer
Beiträge: 66
Registriert: Dienstag 25. September 2012, 10:46

Re: Zugriffsverletzung

Beitrag von Haussteuerer » Freitag 13. September 2019, 06:45

Danke Abacom für die Info,
jetzt lief die Software seit 6.September bis heute Nacht fehlerfrei.
Der Absturz heute Nacht war allerdings ohne die Fehlermeldung „..Zugriffsverletzung…" :shock:
An die USB Kabel hatte ich auch schon gedacht. Werde so kurze Leitungen wie möglich einsetzen.

Im Anhang sind noch die detaillierten Fehlermeldungen aus Windows 7 zu sehen.

Nachtrag: eigentlich wollte ich 2 Bilder hochladen, das klappt aber nicht.
Dateianhänge
IMG_20190913_075443.jpg
IMG_20190913_075443.jpg (2.57 MiB) 7900 mal betrachtet
Zuletzt geändert von Haussteuerer am Freitag 13. September 2019, 07:29, insgesamt 3-mal geändert.

Haussteuerer
Beiträge: 66
Registriert: Dienstag 25. September 2012, 10:46

Re: Zugriffsverletzung

Beitrag von Haussteuerer » Freitag 13. September 2019, 07:10

Mike D hat geschrieben:
Samstag 7. September 2019, 14:46

Dann wird irgendwo in deiner Regelschleife ein negativer Koeffizient sein.
Sprich, wenn der Stellwert hoch geht, geht der zum Regler zurück gekoppelte Messert runter, z.b. bei einer Kühlung oder einem Bremsvorgang.
Was regelst du denn?

Mike
Hallo Mike,

ich lese einen Stromzähler E51C2 aus und stelle über einen PID Regler einen Wechselrichter von AEConversion so ein das der aktuelle Stromverbrauch auf Null Verbrauch heruntergeregelt wird.
ich hab eben nochmal die Schaltung nach negativen Werten durchsucht, konnte aber nichts finden.
Dateianhänge
IMG_20190913_080058.jpg
IMG_20190913_080058.jpg (3.64 MiB) 7901 mal betrachtet

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Zugriffsverletzung

Beitrag von Mike D » Freitag 13. September 2019, 08:50

Moin,
ich hatte nicht geschrieben, dass irgendwo ein negativer Wert einegtragen ist, sondern das in der gesammten Regeleschleife irgendwo ein negativer Koeffizient ist.
Du hast aber in deiner letzten Antwort selber die Antwort gegegeben: "heruntergeregelt", das ist der negative Koeffizient, genauso wie Bremsen, Kühlen ....
Du brauchst also bei größerem Istwert eine kleinere Stellgröße, das kann man erreichen, indem man Sollwert und Istwert am Regler vertauscht oder die Stellgröße invertiert.

Mike

Haussteuerer
Beiträge: 66
Registriert: Dienstag 25. September 2012, 10:46

Re: Zugriffsverletzung

Beitrag von Haussteuerer » Freitag 13. September 2019, 12:57

Mike D hat geschrieben:
Freitag 13. September 2019, 08:50
Moin,
ich hatte nicht geschrieben, dass irgendwo ein negativer Wert einegtragen ist, sondern das in der gesammten Regeleschleife irgendwo ein negativer Koeffizient ist.
Du hast aber in deiner letzten Antwort selber die Antwort gegegeben: "heruntergeregelt", das ist der negative Koeffizient, genauso wie Bremsen, Kühlen ....
Du brauchst also bei größerem Istwert eine kleinere Stellgröße, das kann man erreichen, indem man Sollwert und Istwert am Regler vertauscht oder die Stellgröße invertiert.

Mike
Hi Mike,
hab ich dann alles richtig gemacht? :o

Danke für dein Engagement!

Haussteurer2.0
Beiträge: 5
Registriert: Montag 21. Oktober 2019, 18:22

Re: Zugriffsverletzung

Beitrag von Haussteurer2.0 » Mittwoch 23. Oktober 2019, 16:42

Hallo ich nochmal,

leider hört das mit den Abstürzen nicht auf. Auch ein USB Isolator hilft nicht weiter.
Inzwischen hab ich kürzeste USB Kabel verwendet, Schirme aufgelegt, verschiedene Laptops probiert.

Alles hilft nicht. Die Abstürze sind etwas seltener nach dem ich das Programm kompiliert hatte. Aber halt nicht ganz weg.

Es hängen ja nur 2 Geräte über USB Kabel dran. Was kann eigentlich schiefgehen?

Ich bin jetzt soweit das ich über Windows Absturzmeldungen versuche werde den PC Neuzugang starten wenn sich das Programm aufgehängt hat.

Wenn jemand noch ne Idee hat? :shock:

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Zugriffsverletzung

Beitrag von abacom » Dienstag 29. Oktober 2019, 09:58

Möglicherweise hängt dieses Problem auch mit Modbus/RTU (?) zusammen. viewtopic.php?f=22&t=5471
ABACOM support

Müllmann
Beiträge: 64
Registriert: Sonntag 2. Februar 2014, 10:53

Re: Zugriffsverletzung

Beitrag von Müllmann » Dienstag 29. Oktober 2019, 19:50

Haussteuerer2.0,
du hast ja die neue Modbus-Variante benutzt, weil du u.a. den Dezimalausgang brauchst.
Wieso liest du für eine 32 Bit-Integerzahl denn 16 Register aus, wenn du nur 2 brauchst ?
Vielleicht liegt das Problem auch dort.

Eine Alternative ist nach wie vor die alte Modbus-Variante mit den Holding-Registern.
Dazu wäre es allerdings sehr hilfreich, in welchem Zahlenrahmen du dich befindest,
also von/bis inkl. positive und negative Zahlen

Gruß, Müllmann
Ich bin der Müllmann und räume nur auf.

Haussteurer2.0
Beiträge: 5
Registriert: Montag 21. Oktober 2019, 18:22

Re: Zugriffsverletzung

Beitrag von Haussteurer2.0 » Freitag 1. November 2019, 11:09

Hi Müllmann,
die Register hatte ich zusätzlich mal ausgelesen weil ich mehr Infos auswerten wollte.
Meinst das sollte ich auf das nötigste beschränken?

Hab eben nochmal die Beiträge durchsucht: wie kommst du drauf das ich mehr Register auslese?
Die Zahlen gehen von -32767 bis + 32767.

Danke für die Anteilnahme! ;)

Haussteurer2.0
Beiträge: 5
Registriert: Montag 21. Oktober 2019, 18:22

Re: Zugriffsverletzung

Beitrag von Haussteurer2.0 » Freitag 1. November 2019, 11:15

abacom hat geschrieben:
Dienstag 29. Oktober 2019, 09:58
Möglicherweise hängt dieses Problem auch mit Modbus/RTU (?) zusammen. viewtopic.php?f=22&t=5471
Danke für den Hinweis.

Ich vermute das es irgendwie ein Problem mit irgendwelchen Puffern gibt, die vielleicht überlaufen oder so.

Ich hatte auch ein Problem den Wechselrichter auszulesen bis ich den Lesebuffer automatisch gelöscht habe, danach funktionierte die Kommunikation.

Kann man beim Modus auch Speicher bereinigen / löschen? :?:

Müllmann
Beiträge: 64
Registriert: Sonntag 2. Februar 2014, 10:53

Re: Zugriffsverletzung

Beitrag von Müllmann » Freitag 1. November 2019, 12:54

Du liest eine 32 bit Integerzahl aus, obwohl es nur eine 16 bit Integerzahl ist,
weiterhin liest du 16 Variablen ein, von denen du nur eine brauchst.
Habe mal dein Programm ergänzt mit einer möglichen Abfrage
der alten Modbus-Funktion. Da sie die Werte in Word (0 bis 65536) ausgibt,
muss der Wert nur auf SInt umgerechnet werden (-32768 bis +32767).

Leider kann man zur Zeit keinen Anhang hochladen, Müllmann
Ich bin der Müllmann und räume nur auf.

Haussteurer2.0
Beiträge: 5
Registriert: Montag 21. Oktober 2019, 18:22

Re: Zugriffsverletzung

Beitrag von Haussteurer2.0 » Samstag 2. November 2019, 13:06

Müllmann hat geschrieben:
Freitag 1. November 2019, 12:54
Du liest eine 32 bit Integerzahl aus, obwohl es nur eine 16 bit Integerzahl ist,
weiterhin liest du 16 Variablen ein, von denen du nur eine brauchst.
Hi Müllmann,
ich hab eben nochmal die 16 bit Integer probiert - damit läuft das leider nicht.
Kann sein das wenn du die erste Version hast wo ich noch die 16 Variablen lese - mittlerweile nicht mehr ;) .

Müllmann
Beiträge: 64
Registriert: Sonntag 2. Februar 2014, 10:53

Re: Zugriffsverletzung

Beitrag von Müllmann » Samstag 2. November 2019, 17:07

Was läuft denn nicht, wenn du auf 16 Bit umstellst, ist der Wert dann auf 0 ?
Der Wert steht laut Anleitung definitiv in einem Register als SInt = 16 Bit.
Ein Problem könnte dann sein, dass du den Haken bei 1-basiert ausmachen musst,
denn dann liest du bisher die Register 20 und 21 aus. Stellst du dann auf 16 Bit,
bleibt nur noch Register 20 und da steht eventuell immer 0 drin.
Einfacher wäre es gewesen, einfach die Datei hochzuladen, aber der Server
von Abacom scheint voll zu sein.
Gruß, Müllmann
Ich bin der Müllmann und räume nur auf.

Haussteurer2.0
Beiträge: 5
Registriert: Montag 21. Oktober 2019, 18:22

Re: Zugriffsverletzung

Beitrag von Haussteurer2.0 » Samstag 2. November 2019, 19:07

Hi,
hab eben noch mal auf 16 Bit umgestellt, da kommt was raus was nicht sein kann. 1basiert auch getestet allerdings ohne Veränderung.

Aber mal ehrlich: das Programm kann doch nicht wegen so einer Kleinigkeit abstürzen?

Ich glaub ja immer noch an einen überlaufenden Puffer :roll:

Elektrisch gesehen ist das ein Laptop mit 2 USB Kabel jeweils kürzer als ein Meter und je ein RS485 Wandler, Schirme aufgelegt.
Was kann da falsch sein?
Am Montag probier ich noch Ferite an beiden USB Kabeln aus. ;)

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Zugriffsverletzung

Beitrag von abacom » Dienstag 3. Dezember 2019, 13:01

Mit ein wenig Glück löst das heutige Update auch dieses Problem.
ABACOM support

Antworten

Zurück zu „Hardware-Anbindung, I/O-Schnittstellen“