PLC programming using TwinCAT 3 - Version control (Part 13/18)

preview_player
Показать описание
Proper version control is traditionally not done in the world of automation, which is a big shame. The question should not be whether version control should be used or not. The question should instead be what version control system should be used. In this part we will get an introduction to version control in general, and Git in particular. We will start with an introduction to some basic concepts of version control and then show you how you can put your automation projects under version control using Git, using free and open-source tools that are traditionally used in the software industry. You'll learn how to do proper 100% free and Git-based version control using TwinCAT 3! Let's start demanding more from our automation vendors and demand that the tooling for version control should be included by default, and get out of the dark ages!

Please support this channel by either:
- A donation by using the "Thanks" button under the video

Automation vendors, please store structured text code as plain text:

Roald Ruiter's "Source control tips for TwinCAT":

Roald Ruiter's "Reduce formatting fights with pre-commits for TwinCAT":

Chris Chung's "Let’s try Source-Control with Git":

TwinCAT 3 .gitignore:

0:00 Intro
1:28 Version control
6:46 Me ranting
11:25 Git
15:25 Gitignore
16:21 Installation of Git
24:41 Git hosting
27:56 Git clone
30:21 Git integration in VS

#TwinCAT3 #TwinCAT #PLC #Beckhoff
Рекомендации по теме
Комментарии
Автор

Thank you for the great tutorial! The future of industrial automation is definitely software-centric. And we really need to learn and leverage the best practices from software engineering world. Can't wait to see Ms. Jakobina in the next video 😄

JerryChangTaiwan
Автор

37:34 FYI: if you just write commit message and press "commit all", it will do the stage all and commit all
FYI no.2: CTRL+ALT+F7 is default short-cut to git changes window

adampitak
Автор

Thank you so much Jackob. Amazing way that you use to teach us .

alexanderriverasandoval
Автор

In regards to your complain, the education of automation engineers I know is quite horrible, because its made by academic personal locked into the tooling of the 1990s. Automation needs a vendor agnostic social media for learning, new technologies and messaging to vendors to avoid the lockin for new generations.

I was already at the point to consider a real time OS and use C++ for development because of the issues with the tooling.

RalphKoettlitz
Автор

So far the best PLC course I have ever seen after 7 years in the field

AnimSparkStudios
Автор

Nice I was really wondering what I should or should not put in the version control now I know :)

PattysLab
Автор

Hi Jakob, Again thanks a lot for your good job with this tutorial. I'm already using Git with Twincat 3 but I'm looking for a solution to be able to have the ID of the commit inside the PLC program. Like this you know which version (commit) you installed on the PLC.
Do you have an idea how to do that. I've checked the possibilities to run a script during the build of the program but nothing ....
Thanks again for your help.🙂

del-didiera-g
Автор

Another default value that should be changed (by BECKHOFF) is the HMI grid standard spacing. It is set to 10 instead of 8 for some reason!? I have seen this on almost every HMI editing software I've ever used, however screens are always pixel multiples of 8 and not 10, so I'm not sure why this is so prevalent...

brandonfarmer
Автор

Dear Jakob, you did it again: great content clearly explained. I really love the idea that drives this series of video. I recommend your channel to all my students

damoreluc
Автор

I just started working on how to deal with git for version control. You tutorial saved me! Cearly explained, espesially for a beginner like me. Thank you!

kinstella
Автор

Sorry again. I was waiting for the braching video/extended git videos but it appears not yet available. Im having an issue that yes the git ignore works. I create a branch and some of the files that are in the git ignore start showing up in the branch as changes? Hum. I ignored the whole folder of the Measurement folder but on creation of the branch there changes coming from that folder. Trying to figure out how/why this is happening.

StevePfeifenroth
Автор

20:31 Of course I have to read everything 😂

IngVasiu
Автор

Clear explanation of the importance of version control in industrial automation field. Looking forward to your next part where I can get more information about Git (branches and conflicts). Thank you Jakob for this awesome video.

arulsuriya
Автор

Nice job. I look forward to the next episodes on versioning.

MrHofman
Автор

thank you jakob, you have massively improved my daily workflow

dominicgundel
Автор

Hello, your videos are awesome. I have one problem with adding TwinCat project compare. I made it step by step like you but still when i press compare button I got XML file editor instead of TwinCat project compare tool. Do you have any clues?

gagarin
Автор

Thank you for this video. By the way : How can you create directly the .gitignore file in Windows Explorer? I've got an error like "You must type a file name". I have to do it in a CMD window.

zatebed
Автор

Awesome video! Thak's for your job. In past i work twincat and SVN (Tortoise) many years. Last year i move to Git (thank's to Tortoise!;-): another world!
Regard avoid big blob tsproj file, as you suggest we can spawn in in many files, with differents level ogf granularity.Using the maximum granularity as you have proposed have no contraindications? I read somewhere that it was recommended to find the right compromise in order not to overload the management in Visual Studio too much. Thaks again

maxdive
Автор

I have the gitignore file and appeared to work with the other Twincat files in the ignore I have it so the back up file .project.~u is ignored, also /*.~u but the file is stuck and keeps showing under changes even though its ignored. I can't change the branch because git is stating that that file needs to be commited. As soon as you commit it shows back up as changes how do I get that file out of version control as the git ignore doesn't seem to do it?

StevePfeifenroth
Автор

Hey Jakob! Thanks so much for these tutorials they have helped me out tremendously while learning TC3 over the past year or so. I would be so much further behind without all this knowledge!

I just had a question about an issue I have been having with git on TwinCAT: I have been trying to use branch control but I can't seem to get TwinCAT to ignore changes to the "*.project.~u" files. I followed along in this tutorial and added to the existing .gitignore file and added the TwinCAT3 template, which seemed to work for all other files besides the .project.~u one. I triple checked that *.project.~u it in the .gitignore file yet nothing seems to be fixing it. Wondering if you would have any idea what that might be...

Thanks for all the content, man!

DanAsh_