Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 11 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 101

Thema: TwinCat V3.x versus Siemens

  1. #1
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nachdem in der Vergangenheit sehr viel über Siemens und hier vor Allem auch über TIA geschrieben wurde (zum Teil auch von mir) möchte ich mich jetzt einmal an TwinCat 3.x versuchen.

    Zu dem Thema hatte ich in der letzten Woche die Gelegenheit einen Lehrgang zu besuchen, da wir für die Zukunft planen, dieses System einzusetzen.
    Ich möchte hier einmal versuchen (nach Möglichkeit wertfrei) darzustellen, wie sich das Eine und Andere in dieser Welt für einen bisher eingefleischten Siemens-Programmierer darstellt - ein bißchen auch in der Hoffnung, dass hier nicht nur Forums-Kollegen den Thread mitlesen.

    TwinCat läuft als Entwicklungssystem (für die, die das nicht wissen) auf Microsoft Visual Studio - mit diesem System können u.A. auch Applikationen (z.B. in VB.Net oder C#.Net) erstellt werden.

    Visual Studio hat für seine Solutions (so heißen die Projekte darunter) u.U. eine recht hohe Ladezeit, hat man es dann aber erstmal geladen dann arbeitet es sich darin recht zügig (um nicht zu sagen : eigentlich ungebremst). Eine ähnliche Performance könnte man unter TIA mit einem Intel i13-Prozessor mit 10 GHz Taktfrequenz (Stand heute) erreichen.

    An dieser Stelle sei auch noch erwähnt, dass ich nicht genau weiß, wie und wo die Schnittstelle zwischen dem Codesys von 3S und dem TwinCat von Beckhoff genau ist und wer davon für was verantwortlich zeichnet. Ich weiß nur vom Mitlesen, dass es da eine gewisse Verwandtschafts-Beziehung gibt ...

    So ... und jetzt die aus meiner Sicht positiven und negativen Aspekte, die mir so aufgefallen sind. Bestimmt habe ich auch noch Vieles in der Aufzählung vergessen ...

    Pos.: Die Hardware läßt sich i.d.R. komplett aus der vorhandenen Installation rücklesen/ überhaupt ins Projekt einlesen.
    Es stehen dann auch normalerweise die richtigen Baugruppen in der Liste und nicht irgendwelche HW-Dummi's, wie bei Siemens.
    Auch die Topologie wird dabei mit eingelesen.
    Neg.: Das Ganze ist in der Projekt-TreeView bei größeren Installationen schnell unübersichtlich.
    Pos.: Alles (das Allermeißte) aus der Hardware ist über das PLC-Programm irgenwie ansprechbar und symbolisch zuzuordnen.
    Neg.: Die Art und Weise des Anlegens einer Symbol-Tabelle und die anschließende Zuordnung ist EXTREM zeitaufwändig und kompliziert.
    Pos.: Es läßt sich für die Hardware in der Symbolik mit Namespaces (Namens-Räumen) arbeiten, die das Programmieren und Wiederfinden einzelner Abschnitte extrem verbessern.
    Neg.: Die Namensvergabe der Rubriken (DUT, GLV, POU) ist SEHR gewöhnungsbedürftig. Da hätte man vielleicht auch etwas mit "ein wenig mehr" Klartext machen können - sei es drum ...
    Neg.: Das IntelliSense (Vorschlagen von Begrifflichkeiten wie Bausteine und Variablen) ist nicht auf dem Stand dessen, was man gemeinhin von Visual Studio kennt.
    Pos.: Man kann von Bausteinen ableiten (Vererbung) und sie mit Aktionen, Methoden und Properties versehen. Das erleichtert die Strukturierung und die Übersichtlichkeit und die Möglichkeiten bei der Programmierung ungemein.
    Pos.: Man kann im ST-Editor durch geschicktes Anordnen von Kommentaren und dem Programmcode darunter das Bilden von Code-Regionen erzeugen (Codebereiche können bis auf deren Überschrift minimiert werden).
    Pos.: Es lassen sich Enumerationen erzeugen, die bei deren Verwendung im Code bei der Status-Anzeigen nicht mehr den Wert sondern den Enumerations-Namen anzeigen.
    Neg.: Strukturen und Enumerationen lassen sich nicht im Baustein deklarieren sondern müssen IMMER global angelegt werden - Hallo ... 21. Jahrhundert ...!?
    Pos.: Bei der Status-Anzeige wird bei Verwendung von Stringvariablen auch der String-Inhalt angezeigt.
    Neg.: Es lassen sich auf Speicherbereiche andere Sichten mit UNIONS erezugen - auch diese müssen aber global angelegt werden - Global ..!?
    Pos.: Alle Deklarationen lassen sich in Unterverzeichnisse und Unter-Unterverzeichnisse) ablegen, was das Projekt übersichtlicher machen kann.
    Neg.: So gut der ST-Editor in seiner Ausführung ist (ich nehme an das auf dem von Anfang an der Fokus lag) so unterentwickelt sind die Pendants zu KOP, FUP, AWL.
    Da fühlte ich mich doch gleich 25 Jahre jünger - wie zu den "guten alten" S5-Anfangszeiten (und noch schlechter).
    Auch die AS (Ablaufsprache - Pendant zu Siemens-Graph) ist m.E. nicht sinnvoll nutzbar da viel zu kompliziert und zeitraubend in der Handhabung.
    Pos.: Steuerbarkeit von (ziemlich beliebigen) Servo-Achsen über eigene Funktionsbausteine.
    Neg.: Einrichtung der Achse selbst gewöhnungsbedürftig bis teilweise unübersichtlich.
    Pos.: Gutes Monitoring des Achs-Verhaltens über integrierte Software-Tools (Oszilloskop).
    Neg.: Topologie-Möglichkeiten des EtherCat (gegenüber z.B. ProfiNet) teilweise sehr eingeschränkt (z.B. bezogen auf unsere Anlagen, denen eine sternförmige Topologie entgegen kommt).
    Pos.: ADS-Kommunikation zwischen Steuerungen aber auch von Visu zur PLC (über z.B. .Net-Applikation) sehr konfortabel und leicht zu etablieren.
    Neg.: Es kann in einer Solution nur ein PLC-Projekt angelegt werden. Das nutzt nicht die Möglichkeiten, die Visual Studio bietet und im .Net-Umfeld auch ermöglicht.
    Neg.: Eingebaute Visu ist eher rudimentär, da auch die Darstellungemöglichkeiten sehr eingeschränkt sind.
    Pos.: Eingebaute Visu ist als Inbetriebnahme-Hilfsmittel gut einsetzbar.
    Neg.: Die für die Versuche zunächst eingesetzte Soft-SPS im Entwicklungssystem ist sehr anfällig kann kann den Rechner bzw. Visual Studio sehr schnell totlegen.
    Das Verkaufs-Argument von Beckhoff, dass man Visu und PLC auf dem gleichen Rechner betreiben kann (und auch ruhig sollte), würde ich selbst nur mit Vorsicht betrachten.
    Mit einer seperaten CX (embedded PC) hingegen gab es die vorgenannten Probleme gar nicht mehr.

    ... to be continued ...

    Gruß
    Larry
    Zitieren Zitieren TwinCat V3.x versus Siemens  

  2. Folgende 13 Benutzer sagen Danke zu Larry Laffer für den nützlichen Beitrag:

    blimaa (19.08.2015),Blockmove (18.08.2015),Credofire (14.03.2017),flashy (23.10.2015),gravieren (19.08.2015),JesperMP (18.08.2015),MasterOhh (18.08.2015),Neals (18.08.2015),norustnotrust (18.08.2015),Ralle (18.08.2015),RONIN (18.08.2015),rostiger Nagel (18.08.2015),zako (19.08.2015)

  3. #2
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Sehr interessant.

    Wie ist es mit Hardware Diagnosefunktionen ?
    Wie ist es mit Software Diagnosefunktionen ? Z.B. wie bei die STACKS in S7 wo man zu den Ort im Program springen kann, wo den Fehler auftauchte.
    Wie ist es mit laden von Programbausteine mit geänderte Deklarationen. Gehen die Online Aktualdaten verloren oder behalten ? (habe gehört das Twincat/3S hier besser ist als S7).
    Besonders der Handhabung von Änderungen auf ein laufende Program interessiert mich.
    Jesper M. Pedersen

  4. #3
    Registriert seit
    14.03.2013
    Ort
    Norderstedt
    Beiträge
    28
    Danke
    0
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Moin moin,

    ich arbeite seit ca. einem 3/4 Jahr mit einer CX2030 und Twincat 3. Ich stimme den meisten Punkten von Larry zu, diese decken sich mit den Erfahrungen die ich gemacht habe.

    Mein Anmerkungen dazu sind, dass die EtherCat-Topologie frei ist. Ein kurzer Blick auf die Beckhoff-Seite in die Kategorie Ethercat wird das bestätigen.

    Die Tatsache, dass Strukturen, Unions und Enumerationen "nur" global angelegt werden können, empfinde ich nicht unbedingt als Nachteil, die Tatsache, dass es überhaupt möglich ist, ist schon ein Meilenstein.

    Bisher waren SPS-Programmiertools eine eigene Welt, mit Twincat 3 ist es Beckhoff, meiner Meinung nach, gelungen ein Schritt in die Richtung der heutigen normalen Programmier-tools zu machen.

    Zur Hardware-Diagnose, kann ich noch nichts sagen, war noch nicht notwendig.
    Um die Software zu analysieren hast du Möglichkeit die Variablen zu beobachten und zu forcen, zusätzlich kannst du Breakpoints nutzen um dein Programm anzuhalten.
    Mit den Beckhoff "ADS Return Codes" kannst du relativ gut Fehler von Beckhoff Basuteinen (z.B. Systemfunktionen) nachvollziehen.

    Bei Funktionsbausteinen gibt es immer die Methoden "FB_Init", "FB_Reinit" "FB_Exit" mit Hilfe dieser 3 Methoden kannst, musst du aber nicht, das Verhalten deiner FB's genau definieren. Mit dem "FB_Reinit" kannst du das Verhalten deiner FB's bei einem Oline change beeinflussen.
    Definition Hobby: Mit möglichst viel Aufwand möglichst wenig erreichen!

  5. Folgender Benutzer sagt Danke zu BrainArni für den nützlichen Beitrag:

    Neals (18.08.2015)

  6. #4
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Also zur Diagnose kann ich mangels wirklicher Erfahrung mit TC noch nicht viel sagen.
    Bei der Diagnose der EtherCat-Teilnehmer kommt es darauf an, welchen Typs der Teilnehmer ist - es gibt da 2 Sorten. Die "echten" EtherCat"-Slaves kann du sehr präzise diagnostizieren.
    Bei der Programm-Diagnose ist es sehr einfach ein die Instanz eines FB's zu kommen - lange nicht so umständlich wie bei Siemens.
    Zu Fehler-Stacks kann ich mich derzeit auch noch nicht äußern.

    @BrainArni:
    Das man heutzutage mit Strukturen etc. arbeiten kann empfinde ich nicht als Meilenstein sondern als selbstverständlich. ich fände es aber, allein wegen Übersichtlichkeit, schon besser, wenn man Strukturen und auch Enum's dort deklarieren kann (nicht muss) wo sie gebraucht werden. Das heißt nicht, dass es nicht auch globale geben kann und soll.
    Die EtherCat-Topologie ist nicht frei. Du kannst nicht einfach einen Switch dazwischen packen und weiter geht's. Das heißt jetzt nicht, dass das nicht lösbar wäre - die Spielregeln von PN und EC sind hier halt nur anders ...

    Gruß
    Larry


    Nachsatz:
    Was ich im Eingangs-Beitrag nicht erwähnt hatte : Als SCL-Programmierer hatte ich überhaupt keine Probleme mich im ST von Beckhoff zurecht zu finden. Ein paar Sachen sind ein bißchen anders - aber das hat man m.E. sehr schnell.
    Geändert von Larry Laffer (18.08.2015 um 12:50 Uhr)

  7. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    DauYing (18.08.2015)

  8. #5
    Registriert seit
    07.06.2012
    Beiträge
    20
    Danke
    0
    Erhielt 14 Danke für 9 Beiträge

    Standard

    Hallo Larry,

    hier ein paar Ergänzungen zu deiner Liste:

    Neg.: Strukturen und Enumerationen lassen sich nicht im Baustein deklarieren sondern müssen IMMER global angelegt werden - Hallo ... 21. Jahrhundert ...!?
    Neg.: Es lassen sich auf Speicherbereiche andere Sichten mit UNIONS erzugen - auch diese müssen aber global angelegt werden - Global ..!?

    -> Die Implementation von: Enumerationen, Unions und Strukturen sind genauso Global wie die von Funktionen, Interfaces und Funktionsbausteinen. Wo diese und wie viele Instanzen dann davon abgeleitet werden, ist dann Applikationsabhängig und kann natürlich auch lokal geschehen.

    Neg.: Topologie-Möglichkeiten des EtherCat (gegenüber z.B. ProfiNet) teilweise sehr eingeschränkt (z.B. bezogen auf unsere Anlagen, denen eine sternförmige Topologie entgegen kommt).

    -> Wenn du EtherCAT Abgangsklemmen (z.B. EK1122, gibst auch für LWL) hinter einander steckst oder einen Sternverteiler mit 7 Abgängen (CU112 nutzt, und dann noch mit HotConnect Gruppen arbeitest, kannst du sogar im Betrieb quasi beliebig viele deiner "Sterne" umpatchen.

    Neg.: Es kann in einer Solution nur ein PLC-Projekt angelegt werden. Das nutzt nicht die Möglichkeiten, die Visual Studio bietet und im .Net-Umfeld auch ermöglicht.

    -> Du kannst soviele PLCs anlegen wie der Speicher und die Performance es zulassen, nur die Anzahl der Task an die diese gebunden werden sind begrenzt. Zur besseren Auslastung können dann die PLCs auf die einzelnen Cores deiner CPU verteilt werden.

  9. Folgender Benutzer sagt Danke zu Thomas64 für den nützlichen Beitrag:

    pfoop (18.08.2015)

  10. #6
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Ich denke Codesys V3 und TwinCAT 3 haben so gut wie garnichts mehr (ausser die in den Normen festgelegten Programmiersprachen) gemeinsam. Das es mal eine engere Verzahnung gab, sieht man nur noch an den Editoren von TwinCAT 2 und Codesys 2, die doch noch sehr ähnlich sind.

    Es gibt EtherCAT Sternverteiler (CU112 oder EtherCAT Abzweige (EK1122) die durch ein ihre interne Verschaltung eine Sterntopologie nach Außen simulieren können. D.h. für dich ist der EtherCAT Bus als Stern aufgebaut, intern werden die Frames jedoch als Linie geführt. EtherCAT ist nun mal ein Bus bei dem das Hauptaugenmerk auf Geschwindigkeit liegt und das geht halt am besten wenn die Pakete nicht zwischendrin an irgendwelchen Switchen rumgammeln müssen. Hot-Connect fähige Teilnehmer und Bus-Stänge kannst du auch im laufenden Betrieb ab- und ankoppeln.

    Visu und PLC können auf dem gleichen Rechner laufen, sollte halt nur nicht irgend eine Officemöhre sein, auf der noch zig millionen andere Anwendungen laufen und der Echtzeitvirenscanner im Hintergrund rödelt. Bei uns läuft sogar auf den mittlerweile recht betagten CX9001er die Visu mit auf der SPS (irgend ein Touchscreen angeschlossen und los gehts).

    @ Larry
    Welchen Lehrgang für TC3 hast du genau besucht? Ich bin immernoch am überlegen ob sich für mich so ein 3 Tage Umstiegskurs von TC2 auf TC3 lohnen könnte. Hab halt immer nur Angst, das ich da in 3 Tagen für teures Geld das gleiche vermittelt bekomme, was ich mir in 7 Tagen auch alleine aneignen könnte...
    Sänd from mei Kombjudder mitse Dastadurr.

  11. Folgender Benutzer sagt Danke zu MasterOhh für den nützlichen Beitrag:

    Trainer06 (02.02.2017)

  12. #7
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Wo läuft es eigentlich hin das ganze, wenn man aus der Siemenswelt kommt und was dazu lernen will?.

    Sollte man Codesys lernen,Twin Cat oder Beckhoff?Habe gerade das neueste Codesys runtergeladen.Wie lade ich da die Oscat Bibliothek die ich runtergeladen habe?
    Bin totaler Anfänger.

  13. #8
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Hallo Thomas,

    Danke erstmal für deine Anmerkungen.
    Vielleicht ein Hinweis zur Benutzung des Forums : zum Zitieren von Beiträge (quasi als Verweis auf Textpassagen) gibt es unter jedem Beitrag den Button "Zitieren" bzw. für allgemeine Zitate des Zitat-Button (sieht aus wie eine Sprechblase) im Beitrags-Editor.


    Zitat Zitat von Thomas64 Beitrag anzeigen
    Die Implementation von: Enumerationen, Unions und Strukturen sind genauso Global wie die von Funktionen, Interfaces und Funktionsbausteinen. Wo diese und wie viele Instanzen dann davon abgeleitet werden, ist dann Applikationsabhängig und kann natürlich auch lokal geschehen.

    Wenn ich von Global und Lokal geschrieben habe dann meinte ich mit Global := allgemein im Projekt und mit Lokal := im Deklarationsteil des jeweiligen Bausteins.
    Mein TwinCat (V3.1) kann Strukturen und Enum's nur Global verwalten und nicht in einem Baustein (quasi wie eine Verzeichnis-Struktur).
    Dies ist eine Funktionalität, die ich zur besseren Gliederung der Variablenbereiche eines Bausteins (quasi als Namespace-Festlegung) sehr häufig nutze (bei Siemens).
    Bei Beckhoff läßt sich das natürlich irgendwie dann auch machen - es macht ein Projekt, dass dann zwangsläufig seeeeehr viele Strukturen bekommt aber sehr schnell unübersichtlich ...

    Zitat Zitat von Thomas64 Beitrag anzeigen
    Du kannst soviele PLCs anlegen wie der Speicher und die Performance es zulassen, nur die Anzahl der Task an die diese gebunden werden sind begrenzt. Zur besseren Auslastung können dann die PLCs auf die einzelnen Cores deiner CPU verteilt werden.
    In meiner TwinCat-Version kann ich auch mehrere PLC-Projekte anlegen - es funktioniert dann nur keines mehr (das ist irgendein TC-Problem, auch laut unseres Dozenten).
    Was mehrere PLC-Projekte mit der Performance und dem Speicher meines Rechners zu tun haben kann ich im Augneblick nicht nachvollziehen. Ich sprach nicht von mehreren gleichzeitig laufenden PLC-Runtimes auf dem gleichen System (soweit so etwas überhaupt realisierbar ist).

    Gruß
    Larry

  14. #9
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Zitat Zitat von MasterOhh Beitrag anzeigen
    @ Larry
    Welchen Lehrgang für TC3 hast du genau besucht? Ich bin immernoch am überlegen ob sich für mich so ein 3 Tage Umstiegskurs von TC2 auf TC3 lohnen könnte. Hab halt immer nur Angst, das ich da in 3 Tagen für teures Geld das gleiche vermittelt bekomme, was ich mir in 7 Tagen auch alleine aneignen könnte...
    Da bin ich mir gerade nicht sicher - ich denke, es war der TR1000 - es könnte aber auch der TR3030 gewesen sein. Das kann ich aber im Bedarfsfall morgen noch nachreichen.
    Hinsichtlich deiner Befürchtung kann ich dich nicht beruhigen. So, wie ich dich aus deinen bisherigen Beiträge kennen gelernt habe, könnte ich mir gut vorstellen, dass du dir den Umstieg (ggf. mit 1 oder 2 Rückfragen im Forum) auch gut selbst anlernen kannst.
    Für mich war die eigentliche Programmierung auch nicht das Neue sondern mehr das Beckhoff-spezifische Drum-herum - vor Allem soweit es nicht mit Siemens vergleichbar war - und ich denke, den Teil kennst du ja schon ...
    Was allerdings das genannte "Beckhoff-spezifische Drum-herum" angeht so fürchte ich, dass es mit meinen Fragen da mit meinem ersten Beckhoff-Projekt erst richtig losgehen wird ...

    Gruß
    Larry

  15. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    MasterOhh (18.08.2015)

  16. #10
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von silverfreaky Beitrag anzeigen
    Wo läuft es eigentlich hin das ganze, wenn man aus der Siemenswelt kommt und was dazu lernen will?.

    Sollte man Codesys lernen,Twin Cat oder Beckhoff?Habe gerade das neueste Codesys runtergeladen.Wie lade ich da die Oscat Bibliothek die ich runtergeladen habe?
    Bin totaler Anfänger.
    Diese Frage ist aus meiner Sicht gar nicht zu beantworteten.
    Welches System an den Start kommt entscheidet u.U. ja dein Kunde.
    Bist du frei darin, das für dich selbst zu entscheiden, dann solltest du das aus meiner Sicht nach Abwägung von Vor- und Nachteilen, die jedes System hat, tun. Das system, das dir am Meißten entgegen kommt / für deine Anwendung passt, dass solltest du nehmen ...

    Gruß
    Larry

  17. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    silverfreaky (18.08.2015)

Ähnliche Themen

  1. Memcpy versus For / Next
    Von shrimps im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 03.02.2015, 15:58
  2. Android versus SPS
    Von standroid im Forum Werbung und Produktneuheiten
    Antworten: 47
    Letzter Beitrag: 11.01.2015, 16:44
  3. Steurungsoptimierung versus Notaus-Relais
    Von tofebto im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 6
    Letzter Beitrag: 27.09.2011, 19:16
  4. S7-DP versus DP-DP-Koppler
    Von WL7001 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 05.02.2009, 20:01
  5. ET200M versus ET200S
    Von IPS im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 02.09.2008, 20:38

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •