Welche Hardware ist nötig für TwinCat ?

schlank

Level-2
Beiträge
24
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich habe ein Projekt bei dem ich ein canOpen Motor mit einer SPS Betreiben möchte.
Angefangen habe ich mit Codesys und einem Raspberry Pi und einem USB auf CAN Wandler.
Grundsätzlich läuft es auch, aber ein paar Bugs lassen sich nicht beheben und grundsätzlich finde ich Codesys auch eher unangenehm.

Nun kam die Idee Twincat auszuprobieren.

Dazu habe ich ein paar Fragen:

- Welche Hardware ist dafür nötig? Reicht theoretisch ein Ek1100 mit CANopen Klemme an einem Windows Rechner?
- Falls ja: Wäre das nur ein Testsetup oder auch eine Lösung für den Dauerbetrieb?
- Lassen sich ältere Beckhoff SPS von Kleinanzeiger noch mit Twincat programmieren oder gibt es da probleme?

Vielen Dank im Voraus und Gruss

Schlank
 
Hallo Schlank,

1:
Theoretisch reicht die EK1100 mit entsprechender Klemme für CAN. Die Netzwerkkarte an deinem Rechner sollte in dieser Liste auftauchen:
https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_overview/9309844363.html&id=

2:
Für ein Testsetup kannst du dir 7-Tages-Testlizenzen erzeugen. Die kannst du theoretisch auch immer wieder erzeugen. Für den Dauerbetrieb brauchst du käufliche Lizenzen.

3:
Kann man so pauschal nicht sagen. Wenn es z.B. eine TwinCAT2-SPS ist, kommst du mit TwinCAT3 zum Programmieren nicht weit.
 
Danke für die Infos.
Angenommen ich kaufe eine CX8050 - eine kleine SPS mit CAN Master - muss ich dann noch für die Lizenz in die Tasche greifen?
 
Danke für die Infos.
Angenommen ich kaufe eine CX8050 - eine kleine SPS mit CAN Master - muss ich dann noch für die Lizenz in die Tasche greifen?
Ja, die Lizenzen kommen immer dazu.
Die Entwicklungsumgebung ist, bis auf wenige Ausnahmen, kostenlos, die Runtime muss aber pro Zielsystem gekauft werden. Es gibt dabei nicht die eine Lizenz. Zum einen braucht man neben der Lizenz für die SPS noch weitere für die jeweilig benötigten Funktionen, z.B. serielle Kommunikation. Die Preise der Lizenzen richten sich nach der Leistungsfähihkeit. Beckhoff Hardware ist in verschidene TC3 Platform Level eingeteilt. Nicht Beckhoff Hardware ist im Platform Level P9X eingeordnet, der von P90 für CPUs mit 1-4 Cores bis P94 mit 33-64 Cores reicht. Die Lizenzkosten sind hier am höchsten, daher kann es sich rechnen eine Beckhoff CPU zu kaufen und dafür die Lizenzen.
Sehe gerade, die CX8050 unterstützt nur TC2, damit würde ich nicht mehr beginnen, da läuft das mit den Lizenzen auch noch etwas anders.
Mit TC2 würde ich auch nicht mehr beginnen, weil das langsam eingestellt wird und manche Hardware TC2 auch nicht mehr unterstützt.
Noch eins zum Thema Lizenzen bei TC3. Jede CPU hat eine individuelle System ID. Du kaufst die benötigten Lizenzen bei Beckhoff und erhälst eine Lizenzurkunde. Mit den Daten dieser Urkunde erstellst Du dann mit der Entwicklungsumgebung eine Lizenzanforderungsdatei, diese schickst Du per Mail an Beckhoff. Nach kurzer Zeit erhäst Du, wenn alles korrekt war eine Mail mit einer Datei die Du wieder mit der Entwicklungsumgebung auf das Zielsystem spielst. Diese Lizenz/en ist/sind dann an die CPU gebunden.
Du kannst aber auch einen Lizenzdongle oder eine Lizenzklemme nutzen. In dem Fall ist die Lizenz an die System ID des Dongles oder der Klemme gebunden, diese kannst Du aber an verschiedene CPU anschließen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich benötige oft Antriebslösungen und habe das meistens mit Mikrocontrollern, Schrittmotor und Takt -Richtung gelöst.
Ich dachte, es lohnt sich in die Welt der SPS-Steuerung einzutauchen um professioneller und langfristig effizienter arbeiten zu können.
Das hört sich leider alles kompliziert und teuer an. Schade.

Angenommen ich habe eine canOpen Industrie Fernsteuerung. Dann benötige ich eine canOpen Master SPS für >500€ die am ende nichts weiter macht als ein paar Bytes zu empfangen und an den canOpen Motor weiter zugeben. Dazu kommen natürlich noch Lizenzen! Lohnt sich für meine Anwendungen meist nicht.

Aber danke für die Info.
 
Na ja, kompliziert ist alles, wenn man es vorher noch nie gemacht hat, auch Fahrradfahren und Autofahren konnte man nicht nach 1-2 Tagen.
Was die Preise angeht sind diese im Bereich SPS zugegebenermaßen relativ hoch, aber das hat auch seine Gründe. Erstmal ist die Entwicklung, wie ich aus eigener Erfahrung weiß, sehr aufwendig, dann sind die Komponenten nicht als Spielzeug oder fürs Hobby gedacht, sondern zum Einsatz 24/7 über viele Jahre und das macht Sie "teuer".
Ich weiß nicht in wie weit man CAN mit dem Raspi machen kann, der mit Codesys arbeiten kann, könnte ansonsten eine Alternative sein.
Ansonsten gibt es aber vielleicht auch einen Hersteller von Kleinsteuerungen der einen CAN Master bietet und mit Codesys arbeitet, darauf basiert TwinCAT auch.
 
Zuletzt bearbeitet:
Natürlich hat die Qualität von Industriekomponenten seinen Preis, das stimmt.

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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du nah an modernen Programmiermethoden sein möchtest, bist du bei Beckhoff genau richtig aufgehoben.

Es gibt auch TwinCAT BSD und demnächst Linux.
Mit PLC++ löst man sich scheinbar komplett von Codesys und orientiert sich noch mehr an den "normalen" Software Entwicklern.

Natürlich kostet das dann alles Geld.
Aber schon allein der Umstand, dass die engineering Tools kostenlos sind, ist im Industrie Umfeld äußerst selten.
 
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.
 
Zuletzt bearbeitet:
So, jetzt kommt der angedrohte Nachschlag.
Im Visual Studio kann man tatsächlich während er am kompilieren ist Änderungen machen, allerdings nicht durchgängig, da immer wieder keine Eingaben möglich sind.
Ich halte das aber auch weiterhin nicht für sinnvoll und so lange dauert die Übersetzung ja nun auch nicht, dass so ein Ansinnen Sinn macht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@schlank: In TC2 würde ich nicht mehr einsteigen da x32 ausschliesslich. Die Betriebssysteme CE laufen aus und Win11 unterstützt auch kein x32 mehr. Und wie oben gesagt sind Lizenzen für nicht Beckhoff HW teuer. Und TC2 hat nicht den 7 Tages Testmodus den du immer erneut antriggern kannst. Wenn die Kiste mit dem TC3 Testmodus mal läuft dann läuft sie und schaltet sich nicht nach den 7 Tagen aus.

Zum Ausprobieren (TC3) reicht ein EK1100 und ein Rechner mit der richtigen Netzwerkschnittstelle (siehe Infosys von Beckhoff).
USB->to->Ethernet geht nicht.
Ich hätte jetzt für dich einen CX7050 angedacht (ist TC3). Hat eine CANopen Schnittstelle on Board und quasi alle Lizensen für was das Gerät kann.
Mehr als das was in der Doku steht geht aber auch nicht. Ist ziemlich günstig (Preis müsstet du halt anfragen). Die Kiste ist ansonsten verriegelt.

Als Alternative, wird vermutlich dann aber auch das doppelte Kosten dann ein CX8250 sein (ist aktuell noch nicht verfügbar, im Bestfall im Q1 25 zu bekommen). Da läuft dann Linux als Betriebssystem auf das man auch draufkommt. Allerdings ist die Rechenleistung des Gerätes nicht so hoch. Du wirst also kein Container o.ä. dort laufen lassen können.
Und bei dem Gerät kannst du dann wieder Add-Ons (sogenannte Functions) kostenpflichtig hinzufügen. Dafür kostet halt auch jeder Scheiss was angefangen von der SPS (schlag mich - ich glaube das war für diese Leistungsklassse so roundabout 30€).

Und die Editorien aller SPS-Hersteller ähneln sich irgendwie da man sich auf einen IEC-Standard für den Code geeinigt hat.
Genügend Hersteller bieten dann die Möglichkeit aber C oder C++-Code zu generieren und nutzen hier dann die Standard-IT-Editoren aber halt immer in einem entsprechenden engen Rahmen da die Anforderungen einer Echtzeitanwendung eben nicht mit dem Ansatz einer GUI-Programmierung (o.ä.) zu vereinbaren sind.
 
Zurück
Oben