- 24
- 6 482
TC Academy
เข้าร่วมเมื่อ 8 ก.พ. 2021
Mein Name ist Frank Berger, vor über 30 Jahren machte ich die ersten Gehversuche mit SPS-Steuerungen. Damals waren noch sehr viele Anbieter für SPS Steuerungen am Markt und ich musste ein gutes dutzend verschiedene Systeme handeln.
Im Jahre 2002 hatte ich den ersten Kontakt zu Beckhoff Steuerungen auf PC Basis. Der Performancelevel einer Soft-SPS auf einem Industrie-PC im Vergleich zu einer Rack-SPS z.B. von Siemens war schon beeindruckend. In der ersten Hälfte der 2000er verschwanden in meiner Arbeit dann alle anderen SPS-Anbieter aus meinem Portfolio, obwohl ich auch die Systeme von B&R oder die ControlLogix von Allen-Bradley mochte. Ende der 2000er war dann Beckhoff auch bei vielen Großunternehmen akzeptiert, die vorher nur die Grünen aus Erlangen wollten. Nach gut 20 Jahren Erfahrung mit Beckhoff-Systemen möchte ich auf diesem Kanal etwas Wissen nach außen tragen. Ich denke auch, dass ich über Feedback von der Community mich selbst weiter entwickeln kann.
Im Jahre 2002 hatte ich den ersten Kontakt zu Beckhoff Steuerungen auf PC Basis. Der Performancelevel einer Soft-SPS auf einem Industrie-PC im Vergleich zu einer Rack-SPS z.B. von Siemens war schon beeindruckend. In der ersten Hälfte der 2000er verschwanden in meiner Arbeit dann alle anderen SPS-Anbieter aus meinem Portfolio, obwohl ich auch die Systeme von B&R oder die ControlLogix von Allen-Bradley mochte. Ende der 2000er war dann Beckhoff auch bei vielen Großunternehmen akzeptiert, die vorher nur die Grünen aus Erlangen wollten. Nach gut 20 Jahren Erfahrung mit Beckhoff-Systemen möchte ich auf diesem Kanal etwas Wissen nach außen tragen. Ich denke auch, dass ich über Feedback von der Community mich selbst weiter entwickeln kann.
024 Beckhoff TwinCAT Pragma / Attribute
Mit den Pragmas/Attribute starte ich heute mal ein Randthema.
Ich habe sicher auch schon mal ein Jahr Software entwickelt, ohne ein Pragma zu benutzen.
Aber eigentlich ist das schade, denn in den Pragmas sind schon coole Funktionen hinterlegt.
In dem Video möchte ich die Neugier wecken, sich mit dem Thema zu beschäftigen.
Ich würde sagen das es zwei Sorten von Pragmas gibt.
1. Pragmas die ein technisches Problem lösen. In diesem Video zeige ich es am Beispiel der OPC Kommunikation und zum Anpassen des Byte Alignment.
2. Pragmas die nice to have sind oder Komfortfunktionen zur Verfügung stellen.
#beckhoff
#plc
#twincat3
#twincat
#plctutorial
Ich habe sicher auch schon mal ein Jahr Software entwickelt, ohne ein Pragma zu benutzen.
Aber eigentlich ist das schade, denn in den Pragmas sind schon coole Funktionen hinterlegt.
In dem Video möchte ich die Neugier wecken, sich mit dem Thema zu beschäftigen.
Ich würde sagen das es zwei Sorten von Pragmas gibt.
1. Pragmas die ein technisches Problem lösen. In diesem Video zeige ich es am Beispiel der OPC Kommunikation und zum Anpassen des Byte Alignment.
2. Pragmas die nice to have sind oder Komfortfunktionen zur Verfügung stellen.
#beckhoff
#plc
#twincat3
#twincat
#plctutorial
มุมมอง: 67
วีดีโอ
023 TwinCAT Scope Teil 3
มุมมอง 8621 วันที่ผ่านมา
In dem dritten Teil der kleinen Scope Serie, erkläre ich ein paar erweiterte Funktion innerhalb von diesem tollen TwinCAT Werkzeug. Ich hoffe auch das mit diesem Video etwas Werbung mache es auch wirklich zu benutzen. Jeder Elektriker hat ein Multimeter in der Werkzeugtasche und benutz es doch auch. Mit TwinCAT Software zu entwickeln und dann das Scope nicht zu benutzen, ist definitiv eine Prod...
022 Code Review - in der Welt der SPS/PLC
มุมมอง 320หลายเดือนก่อน
Code Review, ein Werkzeug zur deutlichen Steigerung der Produktivität. Ins Besondere der Blick von Außen kann enorme Inputs geben. Denn jeder von uns entwickelt über sein Berufsleben Betriebsblindheit. Man könnte auch sagen Routine, aber Routine sorgt nicht für Innovation. Routine sorgt dafür das die gleichen Probleme mit denselben Werkzeugen umgesetzt werden. Dieses Verhalten verhindert im Ker...
021 Vererben Teil 4 - Beispiel in der praktischen Anwendung
มุมมอง 1292 หลายเดือนก่อน
Mein Video Nr. 4 zum Thema Vererben unter TwinCAT 3. Es wird sicher nicht das letzte Video sein. Das Vererben hat so viele Facetten in seiner Anwendung, das man darüber sehr viele Videos drehen könnte. Ja mit ein paar Lehrbuch Informationen ist man mit dem Thema in 20 Minuten durch. Aber in realen und komplexen Applikation von Maschinen gibt es einen bunten Blumenstrauß von Umsetzungen des Them...
020 TwinCAT ADS Kommunikation
มุมมอง 3043 หลายเดือนก่อน
Im Anlagenbau ist es Standard die benachbarte Maschine über Schnittstellen Daten austauschen. Sind die Steuerungen von unterschiedlichen Herstellern, ist sicherlich eine OPC-Verbindung die erste Wahl. Sind aber die benachbarten Steuerungen aber auch Beckhoff Steuerungen, dann ist für mich die ADS-Kopplung die einfachste Möglichkeit den Datenaustausch zu realisieren. ADS = Automation Device Spec...
019 TwinCAT 3 Anwendung des ENUM
มุมมอง 1903 หลายเดือนก่อน
Die Enumeration ist ein schönes Element in der Softwareentwicklung um den Code deutlich lesbarer zu machen. Der zweite Effekt ist, die Programmierarbeiten werden deutlich komfortabler. Im Wesentlichen kann ein ENUM im PLC Umfeld für folgende Dinge benutzt werden. 1. Schrittketten / Zustandsautomaten statt mit nichtssagenden Zahlen, nun mit einem Klartext aufbauen. 2. "Varianten / Typen" von irg...
018 TwinCAT 3 sinnvolle Einstellungen
มุมมอง 1494 หลายเดือนก่อน
Die Bedienoberfläche der TE1000 | TwinCAT 3 Engineering Entwicklungsumgebung kann sehr individualisiert werden. Es gibt Einstellungen die persönlichen Präferenzen haben, aber es gibt auch Einstellungen, um die Produktivität zu erhöhen. Warum sollte die Maus viele Kilometer über den Bildschirm laufen, wenn dafür ein Tastatur Shortcut angelegt werden kann? Jeder User sollte überlegen welche Funkt...
017 vererben Teil 3 - FBs vererben
มุมมอง 1255 หลายเดือนก่อน
Ich möchte mit noch einem Video das Thema Vererben in TwinCAT 3 in einer realen Anwendung zeigen. Am Beispiel einer realen Applikation zeigen ich, wie Maschinenkomponenten in einem dreistufigen Prozess in der Software umgesetzt werden. Im ersten Schritt die Basisklasse, dann die 1. Vererbung im zweiten Schritt und diese dann noch einmal Vererben. Das ist kein Video um codieren zu lernen, sonder...
016 vererben Teil 2 - FBs vererben
มุมมอง 1385 หลายเดือนก่อน
Das Thema Vererben ist eines der Elemente im TwinCAT 3, das wirklich eine enorme Steigerung der Produktivität bei der Code Erstellung erzielt. Das Vererben von Datenstrukturen ist wirklich praktisch, aber das Vererben von FB's spart enorm viel Zeit bei der Code Erstellung und am Ende bei der Inbetriebnahme. Richtig angewendet kann der generierte Code viel mehr benutzt werden, weil er mehr abstr...
015 TwinCAT Build 4026
มุมมอง 4387 หลายเดือนก่อน
Das 26er TwinCAT Build ist ja schon länger zum Download freigegeben. Normalerweise wecken neue Versionen egal bei welcher Software nicht die große Neugier. Mir ist es wichtiger, dass Software, mit der ich arbeite, in ihren Funktionen stabil läuft. Vor allem, wenn es eine Software ist, mit der man auch mal 12 Stunden am Tag arbeitet :D. Aber das 26er-Inkrement ist schon anders, weil es tiefgreif...
014 Check Function Teil-2 - Zykluszeit
มุมมอง 968 หลายเดือนก่อน
Die Check-Funktion hatte ich schon einmal im Video 006 erklärt. Dort hatte ich die Aussage getroffen, dass der Einfluss auf die Zykluszeit nicht erheblich. Das war so eine empirische Erfahrung in meiner Arbeit mit TwinCAT. Im SPS-Forum bin ich dann wieder über die Aussage gestolpert, es hätte einen signifikanten Einfluss auf die CPU-Last. In diesem Video will ich das mal mit einem Test überprüf...
013 Vererben Teil 1 - Strukturen vererben
มุมมอง 2318 หลายเดือนก่อน
Beckhoff TwinCAT 3 / CoDeSys V3 - Vererben von Datenstrukturen. Ein Tutorial zum Thema Vererben / Inheritance unter TwinCAT 3. Das Vererben ist ein wesentliches Werkzeug der objektorientierten Programmierung. Vererben hat mir bei der Softwareerstellung unter Beckhoff TwinCAT 3 wirklich das Leben leichter gemacht. Insbesondere das Vererben bei Datenstrukturen sorgt für viel Ordnung und wird fast...
012 Global Variablen - Reduziert den Einsatz auf ein Minimum
มุมมอง 3088 หลายเดือนก่อน
Der Einsatz von Global Variablen ist eine Diskussion, die schnell in eine kontroverse Diskussion führt. So ist zumindest meine Erfahrung. Aus der Historie betrachtet waren vor 25 Jahren praktisch alle Daten in einer SPS global abgelegt. Das SPS Programm konnte an jeder Stellen auf alle Daten zugreifen. Jedoch waren frühere Projekte, zumindest meine Erfahrung, deutlich weniger komplex. Mit der d...
011 Funktionblock als Ersatz für eine Struktur
มุมมอง 3239 หลายเดือนก่อน
Beckhoff TwinCAT - ein Funktionsblock kann als Ersatz für eine Struktur benutzt werden. Das hat den Vorteil, dass die Struktur Code enthalten kann. In manchen Fällen kann man dann gekapselt z.B. Formatierungen durchführen. Durch bedingtes Aufrufen des FB (man muss ja nicht) oder einer Action oder Methode können dann verschiedene Versionen abgerufen werden. #beckhoff #plc #twincat3 #twincat #plc...
010 Beckhoff AMI8100 Kompakte, integrierte Servoantriebe
มุมมอง 1209 หลายเดือนก่อน
Ein kurzes Video als Ergänzung zum letztem Video der ELM7200 Klemmen und der dazu gehörenden Motoren AM8100. Die 48V Servomotoren gibt es noch in dieser dezentralen integrierten Variante. Das Prinzip einer dezentralen Antriebslösung in der maximalen Ausbaustufe. Die Bandbreite der Motoren ist etwas eingeschränkt, gegenüber der ELM7200 Version. Sollte aber auf jeden Fall eine Überlegung wert sei...
009 Kompakte Antriebstechnik ELM72xx und AM81xx
มุมมอง 3819 หลายเดือนก่อน
009 Kompakte Antriebstechnik ELM72xx und AM81xx
008 verlinken von IO's mit komplexen Daten-Strukturen
มุมมอง 19310 หลายเดือนก่อน
008 verlinken von IO's mit komplexen Daten-Strukturen
007 Beckhoff TwinCAT SPS Variablen mit Hardware verlinken
มุมมอง 41710 หลายเดือนก่อน
007 Beckhoff TwinCAT SPS Variablen mit Hardware verlinken
005 Beckhoff TwinCAT - die Anwendung der Aktion / Action (eng.)
มุมมอง 21011 หลายเดือนก่อน
005 Beckhoff TwinCAT - die Anwendung der Aktion / Action (eng.)
004 Beckhoff TwinCAT 3 Persistent Data (gilt auch für TC2)
มุมมอง 30311 หลายเดือนก่อน
004 Beckhoff TwinCAT 3 Persistent Data (gilt auch für TC2)
003 Beckhoff TwinCAT 3 Scope - wie bedient man es im Detail
มุมมอง 790ปีที่แล้ว
003 Beckhoff TwinCAT 3 Scope - wie bedient man es im Detail
002 Beckhoff TwinCAT 3 Scope, warum man es benutzen sollte, eine theoretische Betrachtung.
มุมมอง 217ปีที่แล้ว
002 Beckhoff TwinCAT 3 Scope, warum man es benutzen sollte, eine theoretische Betrachtung.
001 TC Academy Trailer - Alles rundum das Thema Beckhoff TwinCat 3
มุมมอง 836ปีที่แล้ว
001 TC Academy Trailer - Alles rundum das Thema Beckhoff TwinCat 3
Danke für die Einführung und Erklärung. Pragmas Attribute sind für mich sehr wichtig geworden Es lohnt sich hier Mal in die Doku zu schauen.
Ja das war die Idee von dem Video. So manchen User da draußen aufmerksam zu machen sich mit dem Thema zu beschäftigen. Software ist ja kein statisches System, es gibt ständig neue Entwicklungen.
Danke für die Mühe, sehr gute Übersicht
Ja Danke, aber das Video hat im Gegensatz zu anderen Videos nicht so viel Mühe gemacht :-)
Vielen Dank fürs vorstellen dieser Funktion
Danke für die Blumen :-)
Hallo Frank, tolle Videos mit verdammt Guten, praxisnahen Inhalten. Vielleicht gibt es ja auch mal ein Video wie man sauber die jeweiligen IF, CASE, RETURN bzw. Exit Anweisung im Programmaufbau einsetzt.
Vielen Dank für das Lob, es gibt viele Formen bei den Tutorial's hier auf TH-cam, aber ich bin über 30 Jahre im Job und wollte den Bezug zur Realität mit einbinden. Viele "Erklärvideos" haben immer so ein "Uni Vorlesungs Charakter". Wenn man einen Sachverhalt in Beziehung zur Realität setzt, ist es einfach besser zu verstehen. IF, CASE, RETURN bzw. Exit Ja gute Anregung von dir :-) werde ich mit auf ToDo setzten.
Vielen Dank für das Video, hättest du hier noch weiter beispiele auf was man sonst noch achten sollte bei der Progr3ammierung.
Zum Thema Code Review könnte ich sicher ganze Wochenseminare abhalten. Aber das ist ein kontroverses Thema, ich sehe es an den zwei Dislike :D. Es gibt viele Menschen die "Anregungen zum besser werden" als persönliche Kritik verstehen. Aber jeder Spitzensportler bekommt jeden Tag von seinem Trainer Anregungen zum besser werden, sonst wäre er kein Spitzensportler geworden und wäre in der Kreisliga hängen geblieben. Aber ich werde das Thema sicher noch in einem Video noch mal aufgreifen. Auch wenn es dann wider ein paar Dislike gibt :D .. wie beim Thema Global Variablen ;-)
Vielen Dank für die Tips, gern mehr davon.
Danke fürs Feedback!
Danke für das Video 😁, wieder was gelernt. Scope ist bei der Fehlersuche echt wichtig. Vielleicht kannst du ja auch mal ein video machen, wie man effektig das scope in die HMI einbindet. Weist du denn, ob man mit dem Scope auch eine Maskenfunktion abbilden kann? Vergleich eines Signals innerhalb eines Bandes? Hier habe ich leider noch nichts gefunden und aktuell einen Anwendungsfall. Laut Beckhoff soll dies wohl möglich sein.
Aus meiner Analyse heraus kann man das Scope für folgende vier Use Case einsetzen. 1. Zur Fehleranalyse, das wird sicher der Standardfall für die meisten Benutzer sein. 2. Zum Einstellen von Maschinenparametern (Adjustment), Achsparameter, Temperaturregler oder ermitteln von korrekten Prozessparametern. 3. Völlig unterschätzt, zum Verifizieren von entwickelter Software. Also schauen, ob die Software das macht, was sie soll! 4. Zu Protokollzwecken, Zyklusoptimierungen, verfahrenstechnische Optimierungen, Prozesskurven .. damit man auch nach zwei Jahren nachsehen kann. Das Thema "Hüllkurve" habe ich vor fast 15 Jahren für Mercedes mal realisiert, noch in TC2 aber in der PLC. Im 10µs Raster Daten in ein Array geschrieben und dann eine "lower" und "upper" Curve generiert, die dann als Prozesskurve verwendet wurde. Vom Scope gibt es noch eine Pro Version, ich sage immer: "auch das Scope kann schon ein Job sein" .. so komplex sind die Möglichkeiten.
Für die Hüllkurve schau dir TwinCAT Analytics an. Dort kann man das machen
Ein wirklich schones Thema. Ich habe auch den Wandel durchgemacht. Spätestens mit dem Thema OOP wird man die GVL minimieren. Ein Thema sehe ich noch bei der HMI. Hier werden die HMI Variablen teilweise auch als GVL interpretiert. Andere packen alles in eine komplette Struktur. Auch hier muss man viele Erkenntnisse erst gewinnen, und auch einen wandel durchlaufen, um das Optimum herauszuholen, ladezeiten zu optimieren, uvm. Alles hat seine Daseinsberechtigung. Solange der Programmierer seinen Stil durchzieht ist es auch für Externe gut lesbar 😅
Beim Thema GlobalVariablen bin ich schon vor 20 Jahren "eingenordet" worden, von Aussen, durch Schmerz :D. Software kapseln und die GVAR's erledigen sich ganz von allein.
Ich empfehle dringend das Beschränken von dem ständigen Verschachteln. Wenn welche vorhanden sind, sollten die `If-Statements` negiert werden oder `Guard-Clauses` Verwendung finden. Des Weiteren sollten Funktionen ab 30 oder spätestens 40 Zeilen Kot genutzt werden, um die Les- und Wartbarkeit zu erhöhen.
7:00 gibt es in der Sprache Funktionen, wenn ja, weshalb werden diese nicht in den "if - fällen" verwendet? Das sieht nur unübersichtlich aus, wie es hier geschrieben ist.
Verstehe nicht ganz was du meinst, man könnte im IF ein "Action" aufrufen, habe ich mal ein Video zu gemacht, aber die Idee vom Video war zu zeigen, das jeder von uns sich weiter entwickelt, wenn ein Mentor Anregungen gibt zum Nachdenken
Der fakt, dass light und darkmode verwendet werden, bringt mich zum kochen...
ja in der 4026 geht der Darkmode immer noch nicht richtig :D zu mindestens in meinem letzten Test
Als Backend Entwickler in der Web Welt bin ich zugegebenermaßen relativ überrascht das ein Codereview im Maschinenbau nicht gängige Praxis ist. Wir iterieren relativ schnell (mehrere Deployments pro Woche) und können wenn wir mist gebaut haben auch sehr schnell zurückrudern, trotzdem machen wir uns die Mühe für jeden Pullrequest ein ordentliches Codereview anzugehen. Nicht nur um Designfehler oder methodische Fehler zu erkennen, sondern um langfristig auch die Wartbarkeit der Software zu verbessern. Während es viele Leute gibt die gerne Nitpicking im Review Betreiben ist es gar nicht so verkehrt einfach noch mal nachzufragen wenn einem beim Code des Kollegen dutzende Fragezeigen im Gesicht geschrieben stehen. Ich bin daher überrasch da IT im Maschinenbau ja ein ewas trägeres Feld ist, da letztendendes ja vor allem in der physischen Welt viel dran hängt.
Ja danke für deinen ausführlichen Kommentar. Ja gut, im Maschinenbau gibt es auch in viele Varianten. Es gibt reinen Serienmaschinenbau, da sieht die Welt sicher etwas besser aus. Aber die Stärke des deutschen Maschinenbaus war immer die Spezialitäten der Kunden auch abbilden zu können. Selbst wenn die Maschine mechanisch sehr identisch aussieht, will jeder Kunde dann doch ein etwas anders Produkt damit herstellen. Man muss mit unserer Software halt Physik steuern. Z. B.: eine Folienbeschichtung, verwendet der Kunde andere Folien, Basisträger, mit anderen, Harzen, Härter, Primer ... schon sitzt man als Inbetriebnehmer für Monate beim Kunden und bringt den Prozess zum gewünschten Ziel. In dem Use Case braucht man keine Coderevue. Aber ich kenne so viele Fälle wo ein Mitarbeiter ein Projekt auf den Tisch bekommt und dann "mache fertig". In der Regel fehlt es an Zeit und auch an Manpower. Die es tun könnten sind beim Kunden vor Ort. In meiner Branche ist es durchaus üblich, das man nur zur Weihnachtsfeier mal das ganze Team mal zusammen hat. Deswegen liegt nach meiner Einschätzung da auch so ein großes Verbesserungspotenzial.
Very good sereis ! , I watch with eng subtitles as I don't understund German. Thanks
Yes, thank you for the praise. I decided to make my channel in German for two reasons. 1. My market is mainly around Germany 2. I can speak more flowery in my native language, although I can also speak English very well. But there is AI translation nowadays :-)
Vielen Dank für das tolle Video! Wie sieht es aber aus mit der Komunikation von TC3 zu TC2? Mit dem Beispiel funktioniert die Verbindung gut, nur die gelesenen Daten stimmen leider nicht.
@@matthiasdorrie9432 ja das Video kommt auch noch, Byte Alignment , ich will die Videos nicht immer so lang machen, was mir sowieso nicht gelingt, ich wollte hier nur die Neugier wecken, ADS com zu machen 🙂
@@theTwinCat-Academy Ich finde die Videos passend und sehr gut😄! Dank ihres Tipps (Byte Alignment), konnte ich das Problem heute lösen, juhu! Aber natürlich freue ich mich schon auf ein Video dazu😃 Ich wünsche Ihnen ein schönes Wochenende!
Ja danke für das Lob. Ja vielleicht kannst du meinen Kanal empfehlen :-). Brauche noch ein paar Follower wegen des TH-cam Algorithmus.
Vielen Dank für den Denkanstoss
Ja Danke, ich glaube, Sie sind mein aktivster Follower.
Super informativ, vielen Dank!
Danke für das Lob!
nice!
Vielen Dank für´s vorstellen dieser Funktion. 👍
Ich hätte noch ein Frage bezüglich öfter benötigter FBs (z.b. Zylinder) werden diese von ihnen immer in die neuen Projekte kopiert oder haben sie sich hier eine eigene library erstellt.
Nein ich habe keine Automation_Consult.lib Also im Normalfall beginne ich alle 18 Monate ein neues Projekt. Dann fange ich prinzipiell mit einem "weißen Blatt" Papier an. Schaue ich mir jedes Element in der Software an, ob es noch Verbesserungen gibt. "Hat sich bewährt" gilt nicht so recht bei mir. Weil sonst würden wir noch mit Fell um den Bauch durch den Wald rennen. Ich experimentiere dann auch immer wieder mit anderen Lösungen. Gut der Zylinder FB ist jetzt ziemlich fix die letzten Jahre. Aber ansonsten gibt es fast immer Verbesserungen.
@@theTwinCat-Academy vielen Dank für die ausführliche Erklärung
Vielen Dank für die ausführliche Vorstellung.
Danke :-) In der Vorbereitung des Videos dachte ich, das habe ich in 10 Minuten erklärt. Es ist dann doch ausführlicher geworden. Aber oberflächlichen Content mag ich nicht.
Ich habe schon einiges von Video ausprobiert und freue mich auf die andere Tipps für Inbetriebnahme und Fehlersuche. Vielen Dank dafür!!!
Ja danke für den Kommentar, kannst auch mal in meinen anderen Videos hereinschauen. Ich versuche in meinen Videos die Jahrzehnte langen Erfahrungen einzubringen.
Ich würde für die Praxis den Sicherheitsmodus empfehlen. Dieser kann irgendwo in den Optionen aktiviert werden. Dadurch wird unter anderem beim Betriebsartenwechsel und beim Setzen von Breakpoints eine Sicherheitsabfrage (Wollen Sie wirklich ...) erzeugt. Diese Funktion war auch in TwinCAT2 schon verfügbar.
Hallo vielen dank für den einblick. Könntest du bitte deine weiteren Einstellungen welche nützlich sind auch noch erklären. Des weiteren wäre es sicher hilfreich wo man in dem ganzen Einstellmenü der Tastatur die entsprechenden Funktionen findet.
Danke für deinen Kommentar, ja kommt auf To-do-Liste. Ich wollte auch dieses Mal ein etwas kürzeres Video machen, sonst sind es schnell 30 Minuten und das schaut dann kaum einer. Mein Kanal hat noch sehr wenig Kommentare und die sind eigentlich wichtig, damit ich den Content verbessern kann.
Sehe ich auch so :)
Ja danke für deinen Kommentar, ich bin froh, dass ich nicht ganz allein auf dieser Welt bin :D.
Thank you much for these videos. Reading and trying to understand code from experienced programmers is very helpful after learning the language theory. I have ~5-10pc TC2 and TC3 computers removed from professional machines with programs still on them. Also found some good examples from Festo like "CMMP_Ethercat" application note.
Vielen Dank für den Einblick, gern aber noch ausführlicher
Danke für das Feedback. Ich bin immer unsicher, ob die langen Videos überhaupt zielführend sind. Aber komplexe Dinge kann man in 5 Minuten eigentlich nicht vernünftig vermitteln. Aber der kurzlebige mediale Konsum wird ja gesellschaftlicher immer schlimmer.
@@theTwinCat-Academy bei diesen Themen ist es meist besser etwas ausführlicher zu erklären damit man auch die Chance hat es zu verstehen. Vielen Dank
Bei 10 Aufrufen wirst du auch nicht viel festellen. Bei meiner aktuellen Applikation habe ich ca. 2-3K Arrayzugriffe pro SPS Zyklus (je nach Konfiguration auch etwas mehr). Mit Checkfunktionen kommen da die ARM A8 selbst bei 10ms Zykluszeit schon bald an ihre Grenzen. Dabei ist die Checkfunktion schon sehr gut optimiert dass diese im Standardfall nur ein If Statement enthält. Aber es ist immerhin ein Function call und der dauert etwas
Danke für deinen Kommentar, also ich bin sicher auch ein exzessiver Nutzer von "FOR. Wenn ein Element zweimal vorhanden ist, wird schon ein Array gebaut. Habe gerade mal in ein aktuelles Projekt geschaut ~ 900 Aufrufe, ein ganz großer Teil davon ist in FBs verwendet, die dann x-mal aufgerufen werden. Aber da bist du mir eine Erfahrung reicher, weil du große die Applikationen auf kleinen Embedded Systemen realisierst. In der Regel habe ich es mit 20 bis 50 NC-Achsen zu tun, auch schon vor 15 Jahren. Solche Systeme laufen dann auf performanten IPC's und da sind die Achsen die Ressourcenfresser. Aber die Check-Funktionen sollten benutzt werden, damit man erkennt, wenn man wieder Blödsinn gemacht hat. Ich habe noch ein CX9020, damit werde ich noch mal ein Versuch machen, was das so an Leistung frisst .
Klasse Video um einfach zu wissen wie was funktioniert und in das ganze Thema Scope mal reinzukommen und anzufangen. Danke
Ja Danke :D .. dann schau dir aber noch das Video 002 an. Das ist mehr Mindset Content, gibt dir sicher zusätzliche Impulse für die Wichtigkeit zur Benutzung des Scope. Das Scope ist ein absoluter Produktivitätsbooster.
Schaue auch mal in die anderen Videos. Dümmer wird man nicht von :D
Vielen Dank für zeigen der Version
Danke dafür 🙂
Ich kann nur empfehlen, TODOs über Pragmas als Warning zu erstellen. Das erscheint dann direkt beim Kompilieren und man vergisst am Ende definitiv nicht den Blick in die Lesezeichen o. ä. Zudem kann das Pragma direkt an die Bezugsstelle im Code gesetzt werden. Beispielsweise: {warning 'TODO: I am a ToDo Message'} Das ganze funktioniert natürlich auch schon unter der 4024.
Danke :-) .. cooler Hinweis, werde ich auf jeden Fall ausprobieren. Das war ja eigentlich auch ein Ziel von meinem Kanal, Feedback von draußen zu bekommen. Leider ist da bis jetzt nicht viel passiert, aber so ein Nischenkanal braucht einfach Zeit, bis der im Ranking nach oben kommt.
Gerne. Ich persönlich finde, dass sich dein Aufwand für diesen Kanal aber total lohnt. Vor allem, da du nicht nur absolute Basisthemen behandelst, sondern auch fortgeschrittene und praxisnahe Themen durchgehst. Sicherlich übernimmt man nicht alles einfach so, aber es regt zum Denken und Hinterfragen an.
Danke für das Kompliment, so richtige Einsteigertutorial wollte ich nicht machen. Davon gibt es genug und das war mir auch zu trivial. Ich will schon meine 30 Jahre Erfahrung mit einbringen.
Hello, thanks for the video, could you upload the project to a repository? or it's from work and you can't put it...
yes, it's a customer project, I can't put it online :-I .. but I have a few videos planned with parts of my personal framework, I will then make these available so that a discussion can arise
Du hast da jetzt die Echtzeitauslastung betrachtet. Schau mal im Task selber nach. Dort sieht man die aktuelle zykluszeit. Und dort siehst du auch das die zykluszeit länger wird.
OK, guter Hinweis, das schaue ich mir mal an. Aber solange ich in der Echtzeitauslastung nicht viel sehe, ist es für mich ja nicht wirklich relevant. Steigt die Zykluszeit spürbar, dann steigt ja auch die Echtzeitauslastung. In meinen typischen Use Case fressen gefühlt die NC Achsen immer 50% der Leistung und das EtherCAT Prozessabbild per 1ms. Code selbst spielt eigentlich nur eine untergeordnete Rolle. Aber ich werde das mal in einer realen Anlage testen :-).
Wo sehen sie den Vorteil das man die Variablen nicht global sondern auf Programm-eben deklariert. Des weitern muss man seit twinCat 3 nicht mehr darauf achten das jede Globale Variable nur 1 Mal vorkommt, wenn man unterschiedliche globale Einheiten bildet. Ich verwende teilweise globale Variablen zusammen mit Struktur. Haben sie das auch schon Mal gemacht?
Für die Beantwortung dieser Frage könnte ich ein zweitägiges Wochenendseminar machen. Aber wenn man Software ganz allgemein gesagt: in Module kapselt, entstehen auch keine globalen Variablen. Wenn Software (ganz allgemein gesagt) gekapselt ist, dann ist sie besser lesbar, besser portierbar ... Aber dazu müssen in der Software vertikale Strukturen aufgebaut werden. Aber das ist nicht mit ein paar Sätzen in einem Kommentarfeld zu erklären. Ich habe mich in den letzten Jahrzehnten in der Softwareentwicklung immer an den "Hochsprachen-Jungs" orientiert. Es muss ja ein Grund haben, das wir heute in der CoDeSys Welt vererben (+ die anderen Tools) können.
Mein erstes TwinCat Projekt habe ich vom Kunden übernommen. Dort waren sämtliche Variablen global und das war vom Kunden so vorgegeben. Für jeden Zylinder gab es einen separaten FB. Das war für mich als Einsteiger in die PLC-Programmierung eine riesige Herausforderung. Ich habe das Projekt über 6 Jahre begleitet und viel Überzeugungsarbeit leisten müssen, um wenigstens die FBs so umbauen zu dürfen, dass sie als FB mehrfach verwendet werden können. Danke Dir für diesen Kanal, tolle Arbeit.
Danke für dein Feedback, das ist zu 100 % meine Lebenserfahrung. Es wird viel um OOP herum diskutiert. Aber meine Lebenserfahrung ist in weiten Teilen viel weiter unten angesiedelt. Schon kluges anwenden eines FB wäre ein wichtiger Schritt. Allein zum Thema Zylinder könnte ich ein Wochenend-Seminar abhalten, obwohl es ganz einfach ist.
Echt schöne Erklärung. Gerne mehr davon.
Danke für das Lob!
Bitte mehr von der Objekt Programmierung
Ja kommt, die "Community" muss aber Geduld haben! Ich bin kein Berufs-TH-camr, ich mache das so nebenbei. Meine Videos sind schon zeitaufwendig in der Produktion. Licht- und Ton-Setup, Content-Erstellung, Schnitt ...
Bin auf die weiteren Videos zum scope gespannt.
Ich habe es mal auf die ToDo-Liste getan, ein Video aus zum Thema Scope Anwendung in einem realen Szenario. Habe aber bestimmt noch 20 Videos auf der ToDo, aber ich werde dazu mal eins machen.
Bitte Mal Anwendung zeigen.
Interessantes Feedback, ich dachte das Scope erledigt sich mit zwei Videos. Einmal ein Video so zum Thema Mindset, es auch wirklich zu benutzen! Zweitens ein Video zur Bedienung im Detail.
Hallo, ich möchte zunächst ein kurzes Lob aussprechen. Deine Videos sind äußerst informativ, ruhig und unterhaltsam gestaltet. Es ist offensichtlich, dass du über viele Jahre Erfahrung im Bereich der Automatisierung verfügst. Die praxisnahen Beispiele lockern das Gesamtbild stets auf und machen den Inhalt noch zugänglicher. Obwohl ich mich hauptsächlich in der Siemens-Welt bewege, werde ich definitiv weiterhin deine Videos verfolgen. Mach weiter so!👍
Ja, danke für den Kommentar. Ich habe schon recht viele Personen mit TwinCAT auf den Weg gebracht und bei den Schulungen ist dann eigentlich vor vielen Jahren schon die Idee entstanden, das auch auf TH-cam zu machen. Ich habe auch noch Videos in der Pipeline, die von Inhalt gar nicht auf TwinCAT beschränkt sind. Manches ist auch in TIA gültig - SPS Software ist halt SPS-Software. Die Videos sind aber schon aufwendig, sodass der Kanal noch etwas Zeit braucht.