Jump to content

[C/C++] Red-Brick


Recommended Posts

Eigentlich war des nur eine allgemeine Frage, ob das geht.

Momentan noch kein aktuelles Problem oder aktueller Anwendungsfall.

 

Eventuell kommt:

Am Rotary_Encoder wird ein Wert eingestellt. Mit diesen Wert arbeitet der Brick... Zeitsteuerung Kameraauslöser.

Beim Ausschalten und wieder einschalten ist der Wert 0.

 

Jetzt würde ich den Wert in einer Datei speichern, und nur bei einem Neustart reininitialisieren, das man sich net wieder so weit hochkurbeln muss...

 

 

Ich kenne benutze es bei SPS Programmen an Anlagen, wenn die Anlage neu gestartet wurde, dann weiss das System, es muss jetzt z.b. Grundstellung angefahren werden.

Deswegen bräuchte ich das beim RedBrick auch.

Link to comment
Share on other sites

Programm ständig laufen lassen.

Wenn der Wert des sich ändert diesen in einer Datei mit speichern.

Wenn dein Programm startet diesen Wert einfach beim Start einlesen und mit diesem weiterarbeiten.

 

Wo ist da jetzt das Problem? Meine C++ Programme laufen auch ständig.

Den Wert hält die Variable ja solange das Programm läuft, wenn sie global ist.

 

Ich schreibe meine Programme im QT.

Hat den Vorteil das sie sowohl unter Linux als auch Windows laufen, wenn sie richtig geschrieben sind.

Und mann kann sie in Ruhe auf dem PC entwickeln und testen. Inclusive der ganzen TF Sachen.

Link to comment
Share on other sites

Okay. Ja hab ich verstanden.

 

Anderes Beispiel:

Ich hab eine Achse - die steht auf Position 100.

Der Nächste Schritt wäre... +200 anzufahren.

Kurz vorher geht die Spannung weg z.b. NotStopp.

Spannung kommt wieder.

Jetzt bekommt er im Programm den Befehl fahre -200 und fährt gegen den Anschlag.

 

Ich muss doch mitbekommen wenn die CPU heruntergefahren und wieder hochgefahren worden ist?

Um zielgerichtet eine Grundstellungsfahrt oder Sicherungsfahrt antriggern zu können.

 

Also entweder stehe ich auf den Schlauch... oder es ist schon wieder spät :)

Link to comment
Share on other sites

Relativ einfach.

Genau so wie du mit der Variable oben beschrieben kannst du es mit einem Merker machen.

Wenn das Programm startet schreibe in eine Datei einen Wert.

Nenn  in meinetwegen Programmstart = 1.

Wenn das Programm normal beendet wird, also ohne das auf einmal der Saft weg ist, schreibe in diese Datein Programmstart = 0.

Bei jedem Programmstart prüfe erst ob in der Datei Programmstart = 0 steht.

Wenn nicht dann weist du das das Programm nicht ortnungsgemäß beendet wurde und du kannst entsprechend reagieren. ;)

 

Mache ich schon Jahrelang so.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...