10.07.2012, 13:46
Hallo zusammen,
ich habe eine Regelung realisiert, die über den Öffnungswinkel von Schwingfenstern die Temperatur in sechs Häusern konstant hält. Das läuft soweit, aber cRIO zeigt ein ungewolltes Verhalten. Es gibt zwei zentrale Taster (Mod3/DI12 und DI13), über die manuell alle Fenster synchron geöffnet oder geschlossen werden können. Sobald ein Taster gedrückt wird, geht der Regler aus und jedes Fenster bewegt sich. Werden beide Tasten zeitgleich gedrückt, wird die Regelung wieder eingeschaltet. Gut soweit. Aber ich habe eine ungewollte Verzögerung: drücke ich einen Taster, beginnen die Fenster nacheinander mit der Bewegung; es dauert gut eine halbe Sekunde, bis das alle tun. Nach Loslassen das gleiche, erst nach einer guten halben Sekunde stoppen wirklich alle. Nicht schlimm, aber unbefriedigend. Ich sehe den Wald vor lauter Bäumen nicht mehr, habe ich doch irgendwo Race Conditions eingebaut? Oder liegt's an den lokalen Variablen?
Anbei das FPGA-VI, heruntergestrickt auf die problematischen Funktionen. Habe alles rausgenommen, was parallel war und nichts mit den verwendeten Variablen zu tun hat...
Grüße
Roland
ich habe eine Regelung realisiert, die über den Öffnungswinkel von Schwingfenstern die Temperatur in sechs Häusern konstant hält. Das läuft soweit, aber cRIO zeigt ein ungewolltes Verhalten. Es gibt zwei zentrale Taster (Mod3/DI12 und DI13), über die manuell alle Fenster synchron geöffnet oder geschlossen werden können. Sobald ein Taster gedrückt wird, geht der Regler aus und jedes Fenster bewegt sich. Werden beide Tasten zeitgleich gedrückt, wird die Regelung wieder eingeschaltet. Gut soweit. Aber ich habe eine ungewollte Verzögerung: drücke ich einen Taster, beginnen die Fenster nacheinander mit der Bewegung; es dauert gut eine halbe Sekunde, bis das alle tun. Nach Loslassen das gleiche, erst nach einer guten halben Sekunde stoppen wirklich alle. Nicht schlimm, aber unbefriedigend. Ich sehe den Wald vor lauter Bäumen nicht mehr, habe ich doch irgendwo Race Conditions eingebaut? Oder liegt's an den lokalen Variablen?

Anbei das FPGA-VI, heruntergestrickt auf die problematischen Funktionen. Habe alles rausgenommen, was parallel war und nichts mit den verwendeten Variablen zu tun hat...
Grüße
Roland


). Die Verschiebung ist nicht konstant, also mal reagiert das eine, mal das andere Fenster eher. Ich habe das VI jetzt mal für die beiden betroffenen Bits von lokalen Variablen auf ein Memory umgestellt. Kompiliert gerade... Ich weiß nur nicht, ob ich diese Woche noch zum Testen komme - das System steht woanders (und noch ohne Internetanbindung
).
Egal, ob Variable oder Memory. Also muß ich das dicke VI schrittweise runterstrippen, um zu sehen, was bremst. Entweder, es sind in der Summe zu viele Frontpanelelemente, oder vielleicht sind es die Abfragen der Analogausgänge, oder... Ich denke übrigens, daß der Unterschied zwischen lokalen und globalen Variablen eher im Platzverbrauch liegt, nicht in der Geschwindigkeit.