Beckhoff TwinCAT 3 - Problem Variablen forcieren/schreiben

SHLeitner

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

im Zuge meiner Einarbeitung habe ich mir die TwinCAT 3 Engineering (im Visual Studio integriert) und Runtime auf meinen PC heruntergeladen, installiert und ein Testprogramm geschrieben und zum laufen gebracht. Es handelt sich dabei um eine Testlizenz und alles wird auf meinem lokal PC ausgeführt.

Ich möchte Werte forcieren bzw. eine Variable ändern - leider werden die vorbereiteten Werte nicht im laufenden Programm übernommen. Könnt ihr mir ein paar Tipps geben an was das liegen könnte?

Vielen Dank im voraus!
 
Hallo,

stell Dir mal vor, Du sitzt an einer realen Anlage und schaust Online dem Programm zu.
Was würde passieren, wenn jede von Dir gemachte Änderung SOFORT übernommen würde?
Stell Dir mal vor Du klickst mit dem Doppelklick aus versehen auf eine Variable darüber oder darunter...

Aus Sicherheitsgründen müssen Variablen in Codesys nach dem forcen mit einer weiteren Taste nochmal bestätigt werden, damit diese übernommen wird.
Bei Codesys V2.x wird dies mit F7, bei Codesys V3.x - soweit ich mich erinnere - mit Strg+F7 gemacht.
Die TwinCat 3 habe ich jetzt grade nicht da, aber die Tastenkombi sollte so ähnlich sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

Danke für die Antwort!

Vielleicht habe ich mich etwas unpräzise ausgedrückt. Es sind laut Dokumentation zwei Schritte notwendig:
1.) Den Wert im Online-Fenster für "Prepared-Value" auf den gewünschten Wert ändern
2.) Den "Prepared-Value" in der Online Anwendung schreiben/forcieren (durch Betätigung des jeweiligen Buttons).

Dann sollte dieser Wert im nächsten Zyklus geschrieben werden. Jedoch bleibt er auf dem alten Wert stehen.
 
Hallo,

und der Wert wird sonst nicht mehr im Code beschrieben? Beim Forcen/Schreiben ist nämlich der zeitliche Kontext interessant (Anfang und Ende vom Zyklus)...!?

Viele Grüße
 
OK, sorry, so hatte ich das nicht verstanden.

Klingt dann eher, als ob die SPS noch im Stopp ist.
Den selben Effekt bekommt man auch, wenn das Programm das man gerade anschaut im Zyklus nicht aufgerufen wird.

Schreibt das TwinCat an dieser Stelle oder forced es?
Wenn es nur schreibt könnte es sein, das Deine Eingabe noch im selben Zyklus wieder überschrieben wird und daher für Dich unsichtbar ist.

Hast du irgendwelchen Zugriff auf Hardware Ein-/Ausgänge?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich habe ein ganz simples Zählerprogramm:

MyHeartbeat := MyHeartbeat + 1;

Das habe ich in die Runtime geladen und es läuft dort auch, d.h. ich kann sehen wie sich die Variable verändert. Dabei habe ich einmal versucht die Variable MyHeartbeat zu forcen und ein anderes Mal die Werte zu schreiben. Der Zähler ist in beiden Fällen einfach weitergelaufen.

Ich habe keine Hardware angeschlossen - alles läuft auf meinem Laptop. Laut div. Tutorials sollte ich so das Programm auch einfach laufen lassen und die Variablen verändern können.
 
Kannst Du Dein Programm als Single-Shot ausführen? d.h. es nur einmal abarbeiten?
Wenn Du dann Deinen Wert schreibst, solltest Du den aktuellen Zählerwert verändern können.

Alternativ-Idee
Lass doch Dein aktuelles Programm nur ausführen, wenn ein Merker "Enable" = True ist.
Letzteren kannst Du dann per forcen an- bzw. abschalten. Da auf diesen Merker von Deinem Programm nicht geschrieben wird, kann das Programm Deine Eingabe nicht überschreiben.
 
Auch beim einmaligen Ausführen (=single shot) kann die Variable nicht geändert werden. Das mit dem Merker hat leider auch nicht funktioniert.

Mittlererweile glaub ich langsam, dass etwas mit meiner Umgebung nicht stimmt. :-(

Habt ihr sonst noch irgendwelche Ideen, woran das liegen kann?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie meinst Du das mit "Das mit dem Merker hat auch nicht geklappt"?
Schreibt er den Merker, führt aber die Schleife dann nicht aus? Oder schreibt er gar nicht?

Wenn ich das richtig verstehe nutzt Du TwinCat3 in VisualStudio mit der Runtime (=SoftSPS) als Demo, oder?
Kannst Du in VisualStudio einen Haken bei <Simulation> setzen?
Wenn das forcen auch in der Simulation nicht funktioniert könnten wir schon mal ausschließen, das die Runtime sich querstellt.


In Deinem allerersten Beitrag sprachst Du von Einarbeitung - was Benutzen denn Deine Kollegen für ein Setup?
 
Bei Twincat gibt es keine Demoversion oder Simulation,
nur eine zeitliche Begrenzung der Laufzeit der Runtime, bei TC3 7 Tage.
Wo die Runtime läuft, auf dem Entwicklungsrechner oder extern spielt auch keine Rolle
(abgesehen von der Hardware/dem Bussystem).
Der Zähler sollte beim Schreiben der Variable den neuen Wet übernehmen und damit weiter zählen.
Beim Forcen bleibt der Zähler auf dem Wert stehen und zählt erst weiter, wenn das Force aufgehoben wird.
Gruß
Paulchen
 
@Morymmus: Die Merkervariable wurde nicht geschrieben.Leider finde ich keinen Haken mit Simulation. Bei den Kollegen funktioniert das natürlich - ich check noch mal, ob sie die gleiche Version haben.
@Paulchen_1: Korrekt. Leider funktioniert weder das Schreiben noch das Forcieren bei mir.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wie Paulchen schon geschrieben hat, scheint es bei TwinCat diese Art der Simulation nicht zu geben - im Codesys gibt es an der Stelle die Möglichkeit die Anwesenheit des Zielsystems zu simulieren ohne tatsächliche Hardware / eine Runtime zu benötigen.
Wenn die geschriebene Variable nicht übernommen wird möchte ich nochmal auf meinen Post #2 zurückkommen - vielleicht kannst Du mal bei Deinen Kollegen vorsichtig über die Schulter schauen, was die tun um einen Wert zu schreiben - sorry, aber es klingt für mich, als ob Du den Befehl zur Übernahme der Werte (Tastenkombi/Software-Befehl/was auch immer) nicht ausführst.
Beim Codesys V2 wäre das der druck auf F7.

Ich möchte einfach nur vor der evtl anstehenden Neuinstallation der gesamten Umgebung sicherstellen, das es nicht so etwas ist.
Vielleicht kannst Du auch mal versuchsweise an einen Rechner von einem Kollegen und schauen, ob Deine Vorgehensweise sowie das forcen/schreiben dort so funktioniert.

Ansonsten hab ich grad auf die schnelle auch keine Vorschläge mehr...
 
Zuletzt bearbeitet:
Hallo zusammen,

nach einer Neuinstallation konnte ich wie gewünscht forcieren und schreiben. Meine Umgebung war wohl korrupt.

Danke trotzdem für eure Tipps/Hinweise.
 
Zurück
Oben