Chaosmango Geschrieben February 2, 2017 at 21:42 Geschrieben February 2, 2017 at 21:42 Guten Abend Gibt es ein Feedback vom RedBrick wenn er hochgefahren ist? Sprich ein Merker der einmal beim ersten Zyklus auf 1 ist, wenn die CPU angelaufen ist? Zitieren
FlyingDoc Geschrieben February 2, 2017 at 22:01 Geschrieben February 2, 2017 at 22:01 Wozu braucht du ein Feedback? Wenn du dein Programm auf dem RED ausführen willst startet es sowieso erst wenn er läuft. Oder meinst du von ausserhalb? Dann eventuell über das Netzwerk anpingen. Zitieren
Chaosmango Geschrieben February 2, 2017 at 22:12 Autor Geschrieben February 2, 2017 at 22:12 Ich würde gerne wissen wollen, ob ich eine Initialisierung anstossen soll... um z.b. Werte zurücksetzen Zitieren
FlyingDoc Geschrieben February 2, 2017 at 22:42 Geschrieben February 2, 2017 at 22:42 Wo läuft denn dein Programm? Wenn es auf dem RED läuft inititalisiere die Werte doch beim Programmstart. Erläutere doch mal etwas genauer. Zitieren
Chaosmango Geschrieben February 2, 2017 at 23:04 Autor Geschrieben February 2, 2017 at 23:04 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. Zitieren
FlyingDoc Geschrieben February 3, 2017 at 07:34 Geschrieben February 3, 2017 at 07:34 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. Zitieren
Chaosmango Geschrieben February 3, 2017 at 22:05 Autor Geschrieben February 3, 2017 at 22:05 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 Zitieren
FlyingDoc Geschrieben February 3, 2017 at 22:27 Geschrieben February 3, 2017 at 22:27 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. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.