TwinCat UserMode AMS NetID

foxtrottNB

Level-2
Beiträge
77
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen,

ich habe mir im Zusammenhang mit dem Umstieg auf die 4026 das TC UserMode angesehen, soweit so gut, ich finde es gut und brauchbar, früher hatte ich immer eine VM um bei mir auf dem Laptop eine echte XAR zu starten.
Meine Frage ist, wie kann man die AMS NetID der UM dauerhaft ändern.
Wenn ich TcRegistry.xml bearbeite oder per SysTray Dialog die ID ändere, hat sie nach einem Neustart wieder die Standard 199.x.x.x.1.1 ID.
Meine Änderung wird also beim Neustart wieder rückgängig gemacht.

Wie arbeitet Ihr mit UM? Was sind da Eure Best Practices?
Nutzt Ihr immer die UmRT_Default, oder erstellt Ihr Euch mehrere eigene Instanzen?
Checked Ihr die UM evtl sogar Anlagenspezifisch ins SVN/GIT ein?

VG
Ronny
 
Wo siehst Du den Vorteil der TcUmRT gegenüber einer VM? Ich arbeite sehr ungern mit der Runtime des Entwicklungs-Rechners. Denn bei einem Bluescreen musst Du den ganzen Rechner neu starten und alle Deine Tools wieder öffnen. Das finde ich bei einer VM viel einfacher und sicherer.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Genau das ist der Vorteil der UM, sie wird kein BSOD haben, da sie nicht im Kernel läuft wie die XAR, sondern eben einfach nur im UserMode eine exe ausführt, ohne Echtzeit. Im einfachsten stürzt diese exe dann einfach ab, egal...

Eine Vm immer zu starten, raubt mir von meinem Host RAM und CPU-Kerne, der Lüfter geht auch an.

Ich bin zu faul immer die VM zu starten, UM isteinfach nur starten per UI oder start.bat

Man kann mehrere UM pro PC starten, XAR immer nur eine.

Man kann in der UM Scheinbar Exceptions kontrolliert abfangen zum Debuggen, soweit bin ich aber noch nicht.

XAR läuft nicht bei mir auf dem PC , wegen Hyper-V und Virenscanner.

Die UM ist für mich wirklich eine echte Alternative.

Was anders als die XAR macht sie eh nicht, außer das eben die Echtzeit fehlt, brauch ich ehnicht zum entwickeln.

VG
Ronny
 
Brauchst Du Tc privat oder geschäftlich? Falls geschäftlich würde ich Dir VMs auf einem Server (ESXi) empfehlen. Die musst Du nicht immer wieder starten. Die laufen einfach immer durch. Ich habe vielleicht 10 VMs parallel am Laufen. Übrigens können auch TcUmRT indirekt einen BSOD auslösen, da sie auch auf Kernel Treiber zugreifen.
 
Rein geschäftlich.... TwinCAT nur zum Brotverdienen ;-)

Nein, also ein Server ist mir da zu viel, ich möchte lokal entwickeln, VM maximal auf meinem PC.
Aber ich möchte jetzt halt die UserModer nutzen, weil ich die Vorteile sehe, dazu würde ich aber gerne wie oben gefragt die NetID ändern, und mal hören wie Ihr es nutzt.
Sorry, will dich nicht unhöfflich abwartschen, dein Setup ist mit Sicherheit ideal für Euch, ich möchte aber hier von meiner konkreten Frage oben nicht abdriften.
Sollte UM nichts taugen, so kann ich weiter hin oder zurück zu meinem alten XAR System, auch ich habe jahrelang eine lokale VirtualBox gepflegt, mit versch. Snapschots, welche je eine andere XAR Version enthalten haben, und habe sie ja auch immer noch hier zu liegen.

Übrigens noch ein Vorteil, ich muss keine Cores isolieren, ich glaube das musste man in der VM auch immer machen... aber wie gesagt, ich würde gerne hier bei UM bleiben.

Danke dir trotzdem :)

Schönen Feierabend

VG
Ronny
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich will Dich nicht von TcUmRT wegbringen. Ich wollte Dir nur auch noch die Nachteile aufzeigen. Für unsere Anwendungen ist die TcUmRT auch nicht zu verwenden, weil sie nicht annähernd deterministisch ist.
 
Ich will Dich nicht von TcUmRT wegbringen. Ich wollte Dir nur auch noch die Nachteile aufzeigen. Für unsere Anwendungen ist die TcUmRT auch nicht zu verwenden, weil sie nicht annähernd deterministisch ist.
Das wäre ist für mich okay, und ist auch gar nicht gewollt bei der UM, sie soll nur zur Entwicklung sein, nicht als Runtime auf einer CX.

Die soll nur eine Runtime der PLC dar stellen, egal ob mit 1s Zykluszeit oder 10ms.
Zum testen der Logik eines FB reicht es vollkommen aus.
Es würde noch UM Fast geben, aber dann würde ich eher die XAR nehmen.


Geschah die Nutzung der VM, weil Du verschiedene Versionen der XAR starten wolltest oder warum?
Ursprünglich wiel XAR auf meinem PC nicht starte, weil ich Hyper-V nutze (XAR und H-V hassen sich ;-) ) und früher auch einen inkompatiblen Virenscanner.
Später auch um versch. Versionen zu testen - ja, um in letzer Konsequenz die XAR der Maschine bei mir auf dem PC zu simulieren um überraschungen vor Ort zu vermeiden.
Zu letzt habe ich aber immer nur eine Version gestartet, so wichtig war mir die Version irgendwann nicht mehr.

VG
Ronny
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vor einigercZeit hätte ich gesagt -schau in die TcRegistry.xml im Verzeichnis der UM Runtime.
Aktuell bin ich mir nicht mehr sicher, hängt möglicherweise auch davon ab ob auf dem System auch die klassische Runtime mit installiert ist.
Interessiert mich jetzt auch, ich schau mir das morgen mal an
 
Habe nur die xae, ohne xar, workload installiert.
Was ich mittlerweile herausgefunden habe, ist, dass man in der Start.bat den -i schalter nicht setzen darf Ich habe also meine Start.bats, die Original von Beckhoff sind, modifiziert und den i Schalter entfernt. man muss dann einmal die net ID per tcusermodeum.exe -i manuell setzen. dann kann man wieder start.bat nutzen
 
so, habe etwas gegraben aber bin noch nicht 100%ig glücklich. @foxtrottNB : Entspricht deinem Wissenstand, wobei ich aktuell vermute das bei der in der TcRegistry.xml der Eintrag für die AmsNetID nicht vorhanden ist oder NOK ist.

TwinCAT XAE klassisch installiert, d.h. als KernelMode. Keine XAR auf dem System.
Es gibt wohl gerade Änderungen alles, also auch die XAE in einem UserMode Type läuft. In einem parallen Threat war ein Screeenshot zu sehen das die XAE in der About-Box den KernelMode ausgegeben hat. Was da genau dann anders sein soll..... keine ahnung aktuell
Wie gesagt hier in der klassichen Installationsvariante, d.h XAE meldet KernelMode.

Standardaufruf über die Ikone ist : TcSystemServiceUm.exe" -t bin -i path -n "UmRT_Default" -c .\3.1
Wenn in der TcRegistry.xml im Pfad unter .\3.1 eine AmsNetID gesetzt ist wird diese genommen, ansonsten wird eine Nummer gewürfelt (bei mir immer die gleiche).
Man kann wie gesagt abändern in der Start.bat z.B. -i "1.2.3.4.1.1"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn ich in der TcRegistry.xml die ID ändere, dann wird sie zurückhesetzt auf die zufällige 199.x....
Das ganze auch wenn ich es per SysTray icon starte.
Es hilft scheibar wirklich nur (zumindest bei mir) die Start.bat zu manipulieren.
Auch wenn man das SysTray Icon nutzt, wird scheinbar die Start.bat genutzt.
Ich habe beiden probiert, entweder :
- aus der Start.bat den "-i path" ganz entfernen oder
- in der Start.bat den "-i path" ersetzen durch "-i x.x.x.x.x.x"
beides setzt permanent die NetID auf die gewünschte ID.

Ich habe dazu übrigens auch eine SupportAnfrage an BH gerichtet.

Was ich auch fest gestellt habe ist, das wenn nur eine UM angelegt hat das SysTray anders aussieht als wenn man mehrere hat :
Eine UM in C:\ProgramData\Beckhoff\TwinCAT\3.1\Runtimes\
1770139109820.png

Zwei UM in C:\ProgramData\Beckhoff\TwinCAT\3.1\Runtimes\
1770139109831.png

Man kann dann unter Router für die UM NetID und Routen per UI anpassen.
Ist das bei Euch auch so?




Wie nutzt Ihr TcUserMode?
Aus dem C:\ProgramData\Beckhoff\TwinCAT\3.1\Runtimes\ Verzeichniss systemweit?
Oder legt Ihr projektbezogen UMs an, mit projektbezogenen AMS NetID und checkt die ggf sogar ins SVN oder GIT ein?

VG
Ronny
 

Anhänge

  • 1770139017936.png
    1770139017936.png
    11,6 KB · Aufrufe: 0
  • 1770139041558.png
    1770139041558.png
    11,6 KB · Aufrufe: 0
Zurück
Oben