Ich habe nur ein bisschen Erfahrung mit
Codesys, aber als jemand der eher aus der Linux Ecke kommt ist das eine Reise in die Vergangenheit.
Das Windows - grau erschlägt einen, die Software ist langsam und dazu nicht wirklich veränderbar? Gibt es alternative Editoren?
Für Software Entwickler gibt es ständig neue tools die Teilweise sogar umsonst sind, KI-Basierte Plugins usw. Tag/Nacht Mode usw.
Ich kenne mich nicht so gut aus mit Codesys, wenn es all das auch gibt nehme ich meine Kritik wieder zurück, aber dass man während des Kompilierens (was viel zu lange braucht) nicht mal den Code editieren kann ist dann noch die Kirsche auf der Torte der Zumutungen.
Meine Idee zu Twincat zu wechseln war die Hoffnung dass es hier irgendwie besser läuft? Vermutlich nicht.
Ich werde das Gefühl nicht los, dass Du viel zu hohe Erwartungen hast, was eine SPS leisten kann/soll, weil Dir schlicht die Erfahrung fehlt. Was möchtest Du denn verändern können?
Eine Entwicklungsumgebung für einen Computer, sei es nun für Linux, Windows, Mac OS oder für was auch immer, ist zugegebenermaßen eine eierlegende Wollmilchsau, mit der man eine Textverarbeitung, eine Tabellenkalkulation, ein 3D Animationsprogramm, Multi User Spiele, ein Musikproduktionsprogramm und was weiß nicht noch alles erstellen kann. Eine SPS und somit deren Entwicklungsumgebung hat, trotz des mittlerweile schon recht großen Funktionsumfangs, doch ein überschaubares Einsatzgebiet und die Entwicklungsumgebung somit eine auf den ersten Blick eingeschränkte Funktionalität. Eine SPS soll eine Anlage basierend auf ermittelten Signalen steuern und das (zumindest meistens) zyklisch innerhalb einer definierten Zeit, was, ist dies gewährleistet, dann als echtzeifähig bezeichnet wird, was übrigens nicht gleichzusetzen ist mit schnell, zumindest nicht grundsätzlich.
Das manche Dinge bei der Entwicklungsumgebung einer SPS nicht existieren oder teilweise nur sehr rudimentär, hat aber auch sicherheitstechnische Aspekte. Nimm beispielsweise die dynamische Speicherzuteilung zur Laufzeit. Geht dies bei einem "normalem" PC-Programm schief, stürzt das Programm ab und die Arbeit von einem Tag ist vielleicht verloren, was ärgerlich, aber nicht gefährlich ist.
Bei einer SPS kann dss aber fatale Folgen haben. Stell Dir mal vor, eine hochdynamische Linearachse rauscht los und soll nun bremsen, ein anderer Programmteil fordert jetzt aber in dem Moment eine nicht verfügbare Speichermenge ab und es kommt zum Absturz, der Umrichter bekommt den Stoppbefehl nicht und die Linearachse fliegt nach dem Verlassen der Führung durch die Halle und mäht alles nieder, was ihr in den Weg kommt. Kein sehr schöner Gedanke.
Schau Dir mal Safety Programme an und welche Möglichkeiten dort bezüglich der Programmierung bestehen. Jemand mit den Vorstellungen wie Du sie hast fühlt sich vermutlich in die Steinzeit versetzt, aber diese Einschränkungen bestehen aus einem guten Grund. Je weniger komplex ein System in dem Fall ist, desto weniger Fehlerquellen gibt es, wobei auch da noch reichlich vorhanden sind. Im Bereich der Safety kann dies lebenswichtig sein.
Dafür, dass in dem Bereich praktisch keine Open Source Projekte existieren, gibt es gute Gründe. Zunächst aber, ja, die Entwicklungsumgebungen der verschiedenen Hersteller haben fast alle die eine oder andere Macke und die steigende Komplexität macht es nicht besser. Im Laufe meiner beruflichen Tätigkeit bin ich über so manchen, teils kuriosen, Fehler gestolpert.
Wenn Du ein Open Source PC Programm erstellst, kannst Du eine Beta erzeugen, verteilen und die Leute teilen Dir dann mit, was nicht funktioniert. Wie stellst Du Dir das aber bei einer SPS vor? Das da einige Maschinenbauer eine Anlage bauen und darauf Deine Software testen, ob es zum Crash kommt? Das muss vor der Veröffentlichung schon ausgiebig getestet werden, wofür ich auch mal zuständig war und da ich nicht billig bin, kostet sowas. Es gibt in dem Bereich zwar durchaus auch externe Beta Tester, aber das beschränkt sich dann meist auf bestimmte Funktionen, die diese Leute meist auch selber benötigen.
Nachtrag: Ich habe mir gerade nochmals Deinen Beitrag, der zu dieser Antwort geführt hat durchgelesen. Den Code während des Compilierens ändern können, ernshaft? Wo ist das bitte möglich und wozu?
Ich habe es jetzt, bis zur Entstehung dieser Zeile, nicht geprüft, aber ich behaupte mal, dass dies in Visual Studio und anderen Entwicklungsumgebungen nicht möglich ist. Durch das Compilieren werden doch diverse Prüfungen durchgeführt und die Anwendung erzeugt. Wenn Du während des Compilierens jetzt etwas an einer Datei änderst die schon bearbeitet wurde, ist diese Änderung nicht im Programm vorhanden oder die Änderung hat eventuell Einfluss auf andere Komponenten und es kommt durch die Änderung zu einer Fehlermeldung.
Hast Du schon mal ein Windowsprogramm übersetzt, ich schon länger nicht mehr, aber ich behaupte mal, dass das auch nicht in 1-2 Sekunden passiert.
Ich wollte übrigens gerade mal mit Visual Studio testen, ob man da während des Compilierens etwas ändern kann. Dazu habe ich das TC3 Projekt meines aktuellen Kunden genommen, dies ist zwar nicht riesig, aber auch nicht ganz klein. Nach dem Start der Erstellung der Projektmappe bin ich noch nicht mal ansatzweise dazugekommen etwas zu probieren, weil die Übersetzung schon fertig war. Ich habe allerdings auch nicht alles neu erstellt, das hole ich noch nach und berichte dann.
Aber selbst wenn das Übersetzen etwas dauert, dürfte es beendet sein, bevor Du darüber nachgedacht hast, was Du ändern möchtest.