Go Down

Topic: Projekt zur Ermittlung der Dauerbetriebseigenschaften unterschiedlicher Sensoren (Read 6485 times) previous topic - next topic

Rentner

Hallo,
kann mich da agmue nur anschliessen.
alle Variable die bei Berechnungen und abfragen  mit millis() benutzt werden solltest Du erst mal als

unsigned long Mllis // deklarieren

bei abfragen mit festen Werten im code den Wert mit UL kennzeichnen z.B


if millis()-Millis >=1000UL




Hayley_Hay

So, ich habe alle entsprechenden Variablen und Konstanten in unsigned long geändert - leider ist das Programm wieder stehen geblieben (dieses Mal nach 34000 s und mit dem Unterschied, dass nun wieder das Start-Display gezeigt wurde, wo vorher nur das "R" von Runde ... angezeigt wurde)  :(

Rentner

Hallo
34000s ist ja Mal gerade ein knapper halber Tag.
Da wirst du als nächstes ein paar Serielleptint Anweisungen einbauen müssen um die die Zeitvariablen und Statuswerte  ansehen zu können.

Ich denke mal Bein Eintritt und Austritt in deine Funktionen wäre eine gute Stelle

Anscheinend rennt das Programm durch ohne das eine swich Case ausgeführt wird .

Heinz

Hayley_Hay

Anscheinend rennt das Programm durch ohne das eine swich Case ausgeführt wird .
Wie meinst Du das? Kannst Du das etwas erläutern? Meinst Du, ein Case wird übersprungen?

Rentner

Hallo,

na ja , Du schreibst das Program bleibt stehen, daraus folgere ich das nichts mehr passiert , nichts mehr geschaltet wird an der Maschine. Was mich etwas wunder ist jetzt allerdings das in dem Fall ja eigendlich der aktuelle Zustand erhalten bleiben müsste. D.h irgendwas läüft immer weiter ohne das es mit dem nächsten Schritt abgeschaltet wird. Das wäre ja schlimm- Das Ding läuft dann ohne jede Kontrolle vor sich hin.  Oder ist das gerade immer ein Zustand in dem eh alles ausgeschaltet ist. ? Also passiert das immer nur am Ende eines Maschinenzyklus oder auch mitten drin. ?

die angegeben 28000 oder 34000s entnimmst Du den in der Funktion schreiben mit ausgegebenen millis() nehme ich mal an. ??

Eigendlich ist es ja so wenn das Startdisplay angezeigt wird ist das Programm ja anscheinend aus dem "Programm modus der "Automatik"  rausgefallen, ?? ich blicke da aber auch nicht so ganz durch was Dein programm da so macht und wann anzeigt. 


Dann hab ich noch mal eine Frage zur Hardware. Ich hab gesehen das die Schalter positiv schaltend abgefragt werden. Wie sind die Schalter beschaltet. Welche Widerstände (Pull-down) sind da mit verschaltet. ? Ist das ganze halbwegs sicher ? , oder ist dein eigendliches Problem ehr die EMV ?


wie Du siehst Fragen über Fragen

Gruß Heinz





postmaster-ino

Hi

Hatte hier ebenfalls sporadische Hänger - bei mir wurde aber von einer CAN-Nachricht (maximal 8 Byte lang) die Länge ermittelt und diese Anzahl an Bytes in den vorhandenen Puffer geschrieben.
Blöd, wenn vom CAN-Modul eine 12 Byte lange Nachricht angeboten wird ... (so richtig gefunden habe ich den Fehler nicht wirklich, tendiere auf Spannungseinbrüche, ausgebessert habe ich im Programm durch Begrenzen der Nachrichtenlänge und Kondensatoren in der Spannungsversorgung - ca. 24h bis jetzt fehlerfrei)

MfG
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

Hayley_Hay

Hallo noch mal!

Das Programm läuft jetzt seit einigen Tagen durch, nachdem ich beim letzten case (air) noch ein break; hinzugefügt habe.
 
Dann hab ich noch mal eine Frage zur Hardware. Ich hab gesehen das die Schalter positiv schaltend abgefragt werden. Wie sind die Schalter beschaltet. Welche Widerstände (Pull-down) sind da mit verschaltet. ? Ist das ganze halbwegs sicher ? , oder ist dein eigendliches Problem ehr die EMV ?
Ja, das stimmt. Das hab ich ganz am Anfang so gemacht ohne Nachzudenken, und aus Bequemlichkeit habe ich es so gelassen. Probleme mit der EMV sind inzwischen nur noch minimal, der Bildschirm des angeschlossenen RasPi geht kurz aus wenn ein Relais schaltet.

Also, vielen Dank wieder mal bis hier her!

Go Up