TwinCAT 3 und C++

Zuviel Werbung?
-> Hier kostenlos registrieren
Noch eine Meinung

http://infosys.beckhoff.com/index.php?content=content/1031/tcr3io/html/tcr3io_implement_tctimer.htm

Im InfoSys unter TwinCAT/R3IO ist alles nötige beschrieben. Es gibt ne C-Dll, welche verwendet wird, im SystemManager erstellt man ne Task, an die man sich üebr die C-Dll hängt und dann der C-Code in Echtzeit getriggert wird.

Hier im Zitat wird pures C (nicht C++) auf Basis der WIN API vorgestellt.
C++ erzeugt im kompilierten Fall ein anderes Object Format. Die Schnittstellen, die der Linker zusammenfügt sind "dekoriert", sie enthalten weitere Typ Informationen. Wie Beckhoff/3S das für C++ gelöst haben ist mir schleierhaft, ausser dass man das ganze Programm mit extern "C" { ...} einfasst.

CoDeSys Entwicklung in Visual Studio von Microsoft eingebaut ist keine besondere Neuigkeit, man kann schon immer Externe Tools wie Plug Ins einfügen. Mit der .NET Basis von CoDeSys 3 ist das sogar besonders einfach, 3 S verkoppelt damit lediglich die Editor und Compiler Module und Hilfsapplikationen mit der Microsoft Entwicklungs Umgebung. Wo der Vorteil liegt, alles in Microsoft Umgebung zu betreiben ist mir unklar.

C++ für CoDeSys auf der SPS ist immer unmanaged, sonst müsste man die gesamte Common Runtime von Microsoft mit einbauen (Lizenzen $$$$$!) und auch die Echtzeitfähigkeit wäre futsch. Auch haben die Programme keinerlei Windows GUI Elemente zur Verfügung! Interessant ist das ganze aber auch aus einem anderen Gesichtspunkt, grosse Teile der CoDeSys Runtime sind selber in CoDeSys ST geschrieben! Geht 3S davon ab?

Eine Sache ist mir noch bei 3S aufgefallen aber niemand hat dazu was genaueres sagen können. Die Sprache ST wurde "aufgebohrt" auf Ansätze von Objekt Orientierung. Das vorgeführte Beispiel war allerdings nur die Vererbung eines simplen Interfaces am Beispiel mehrerer ähnlicher FBs.

Hat dazu jemand etwas erfahren?
 
Ich hab mit CodeSys 3 mal gespielt. Objektorientierung finde ich gerade für große Projekte eine sehr gute Sache, nicht für alles, aber für vieles, ist da sinnig. Aber ich bin weiterhin der Meinung, dass man mit ST sehr gut bedient ist und C++ zur programmierung der STEUERUNG nicht einsetzen muss.

Wüsste auch mal gerne, was die Maschinenrichtlinie zu C++-Programmen sagen würde ;-)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... 3 S verkoppelt damit lediglich die Editor und Compiler Module und Hilfsapplikationen mit der Microsoft Entwicklungs Umgebung. ...

... Interessant ist das ganze aber auch aus einem anderen Gesichtspunkt, grosse Teile der CoDeSys Runtime sind selber in CoDeSys ST geschrieben! Geht 3S davon ab?...

Die Weiterentwicklung von TwinCAT geschieht durch Beckhoff nicht durch 3S. Beckhoff benutzt lediglich die Editoren und den IEC-Compiler von 3S. Ebenso hatte Beckhoff schon IMMER eine eigene Laufzeitumgebung!

Die Erweiterung um die Programmiersprachen C und C++ hat vielerlei Vorteile denke ich, da wären zum einen das Erstellen von komplexeren Reglern, die Anbindung an Matlab/Simulink wie sie auf der Messe gezeigt wurde usw.

Nicht zuletzt durch diese Erweiterung liegt die Verwendung von Microsoft Visual Studio als Framework auf der Hand, was noch eine Menge weitere Vorteile mit sich bringt.
 
Eine Sache ist mir noch bei 3S aufgefallen aber niemand hat dazu was genaueres sagen können. Die Sprache ST wurde "aufgebohrt" auf Ansätze von Objekt Orientierung. Das vorgeführte Beispiel war allerdings nur die Vererbung eines simplen Interfaces am Beispiel mehrerer ähnlicher FBs.

Hat dazu jemand etwas erfahren?

Ich weiss nicht auf welches Beispiel du dich beziehst, aber ein Interface ist nun wirklich keine "simple" Sache.
CoDeSys unterstützt Interfaces tatsächlich im Sinne von Java oder C#, das heisst als eine abstrakte Basisklasse.
Zwar gibt es auch Vererbung auf ebene von FB's aber ich denke, Interfaces sind das weit mächtigere Konzept.
Ich kann dir nur raten, lad die Version mal runter und spiel damit rum, wenn du dich schon ein bisschen mit OO-Konzepten auskennst, dann wirst du dich sehr schnell zurechtfinden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
TwinCAT 3 basiert komplett auf VisualStudio 2010
Danke für den Hinweis und danke für das nette Bild.

Aber was soll ich mir nun darunter vorstellen? KOP/FUP/CFC/AS/AWL/ST/C++ alles in VisualStudio 2010 integriert?
Gibt es denn schon irgendwo mal ein paar Screenshots von dem TwinCAT3 zu sehen?
 
Heißt das, das man dann unbedingt dieses integrated TwinCat 3 braucht um weiterhin eigene Visualisierungen mit c++ etc. schreiben zu können?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Heißt das, das man dann unbedingt dieses integrated TwinCat 3 braucht um weiterhin eigene Visualisierungen mit c++ etc. schreiben zu können?

Nein!
Du kannst das normale TwinCAT 3 nehmen, damit deine PLC-Applikation entwickeln. Dann kannst dir nen NotePad oder was auch immer nehmen und mit Hilfe von den alten ADS-Libs immernoch ne Visu schreiben, die du über beliebigen Compiler jagst. Visual-Studio ist nicht notwendig, TwinCAT 3 basiert nur auf dem Framework vom VS2010. Und wenn man VS2010 + TC3 hat, lässt sich halt im VS die PLC programmieren, genauso wie die Visu in C++ oder C#.
 
Ich schreibe mal hier mit rein...
Wie steht es denn um TwinCAT 3, es sollte ja im Q3 2010 erscheinen, ich kann aber nirgends Informationen über eine Testversion zum Download oder ähnliches finden. Bin jetzt wieder eine Zeit lang raus aus der Thematik, habe jetzt aber wieder was damit zu tun und die neuste Version würde mich schon interessieren.

Also, gibt es schon was? Hab ich es übersehen? Oder dauert es noch?

Danke,
Gruß

AKNOT
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Info ist korrekt, erscheint vorraussichtlich zur SPS/IPC/Drives.
Es gibt eine Beta-Version für ausgewählte Kunden der Fa. Beckhoff. Da ist allerdings als "Normalsterblicher" kein rankommen. Es heisst also: Abwarten.
 
Zurück
Oben