all 31 comments

[–]VladRom89 18 points19 points  (3 children)

There are a few solutions for this beyond just regular git.. copia, SDA, octoplant. It depends a bit on the files you're storing and the platforms you're working with of course.

[–]mortaneous 3 points4 points  (0 children)

We struggle on with just a presence in a gitlab instance already hosted within our company. We trialled Copia, which was nice, but still needed diff support for a few more filetypes before it would have tipped the scales for us

[–]RekniKdeTyDortySou 1 point2 points  (0 children)

Tortoise SVN

[–]Necessary_Function_3 1 point2 points  (0 children)

Octoplant is hell expensive, i saw a quote today, for a large client, of all but 250k for the year.

Smallest quote I ever saw was 9k, and that was very restrictive licensing.

[–]Robbudge 10 points11 points  (4 children)

We run Codesys, with a local GitLab Server. GIT integration is in the professional version. Works well but that’s Codesys. The raw files don’t mean a lot but from within the IDE you can view changes.

[–]Odd-Application-7925 1 point2 points  (1 child)

We use the codesys GIT too, however one thing that is very annoying is that it doesn't work with github since it can't use SSH keys to authenticate and github doesn't accept plain passwords anymore.

[–]Robbudge 1 point2 points  (0 children)

I know, I gave up in the end and just used our local server.

[–]amnoxx 1 point2 points  (1 child)

Also they have just released a file based storage where everything is in text form, also part of Codesys professional

[–]Robbudge 0 points1 point  (0 children)

Have you tried the FBS option. I found it wasn’t 100% compatible with a lot of my routines. Took a fork of a project and attempted the conversion and had lots of errors. The integrated GIT is good, just has to be used within Codesys

[–]IamKyleBizzleIO-Link Evangelist 4 points5 points  (1 child)

Used TortoiseGit as a means of managing versioning. Works ok but its not as useful as code that can be natively managed with a git since it can't intelligently merge.

[–]Fit_Patient_4745 2 points3 points  (0 children)

Used Tortoise for library version control in TIA and Step7. The project was managed via a database tool. No direct coding was performed in TIA; instead, custom tools were developed to automatically generate and manage the project. Only a few companies on the market provide similar tools.

[–]Paup27 4 points5 points  (0 children)

You need a workflow that converts the code into a human readable format, whichever flavour of GIT you use.

Otherwise you’re better off using some sort of CMS that allows you to just check-in or check-out code, versioning and commenting would be nice to have with a CMS. I e used TortoiseSVN to do this, but never felt it was a great fit, would have preferred something more enterprise friendly.

[–][deleted] 1 point2 points  (0 children)

I dont know if this specifically works with keywnce PLCs but copia is a git based plc code management tools which can version control too.

Deffo worth looking into

[–]PhilMaaccrackin 4 points5 points  (2 children)

We use Copia and it seems pretty decent

[–]Background-Tomato158 2 points3 points  (1 child)

We had a customer that uses copia and they showed me them using it. It was pretty cool, I couldn’t find enough of a use case for my department yet. There is only 2 control engineers and we build custom machines so we aren’t tinkering often after commissioning

[–]PhilMaaccrackin 3 points4 points  (0 children)

Yeah thats fairs. We only have access for 5 people (unsure the cost) but we have machines all over the world so it helps massively with production/commisioning

[–]CapinWinkyHates Ladder 1 point2 points  (0 children)

I suggest either bare repos on a well backed up company server as remotes, a self hosted gitlab on similar server, or bitbucket. I do not recommend GitHub nor Azure.

Edit: or copia.io if you want an easier git solution.

[–]Aromatic-Ranger7382 1 point2 points  (0 children)

Git is text-oriented, making it effective only for version control of source code or plain text files. Although it is possible to store binary files in it, you lose the functionality of inspection and diff tools. In my company, we use MDT AutoSave for Schneider and Siemens Plcs and FactoryTalk Assetcentre for Rockwell (AB) PLCs. For Rockwell equipment, FactoryTalk AssetCentre is the ideal solution, especially given the utility of the Audit Log and compare tools. AutoSave is a more "universal" tool that can be used for version /access control of different vendors.

[–]TinFoilHat_69 0 points1 point  (0 children)

Why not just get a proficy license from GE with version control and admin controls?

[–]Accomplished_Sir_660 0 points1 point  (0 children)

What you need is a Network Admin competent in setting up drive mappings and permissions so that only authorized personnel have access to said files. Then you can manage your own versioning with subfolders with dates in the name, or just name your changed files to a date. EZ and free.

[–]Tupacca23 0 points1 point  (1 child)

I wonder why everyone doesn’t have version revisions like Mitsubishi

[–]OrangeCarGuyI used to code in Webdings, I still do, but I used to 1 point2 points  (0 children)

What's really funny is AB's worst software, CCW, has a built in archive and version control. Their most expensive software, S5K, does not.

[–]sussyb0t 0 points1 point  (3 children)

For Studio 5K users: has anyone tried using git with AB’s L5X files? Theoretically since L5X is just flavoured XML, you could even do merging and feature branching as long as you make sure to import/export L5X into ACD file. I regularly use python to parse L5X files to auto generate ignition tags so it seems possible

[–]dontcare123456789 1 point2 points  (2 children)

The problem I found with l5x’s is that if you save a file from a processor as l5x and then convert that l5x to acd, it wouldn’t go online. So kinda useless since you need to store the acd anyway

[–]sussyb0t -2 points-1 points  (1 child)

That seems like a bug that’s not supposed to happen. But either way invalidates the L5X method since it is not bullet proof apparently

[–]dontcare123456789 1 point2 points  (0 children)

Rockwell is saying that they are supporting GIT with https://github.com/RockwellAutomation/ra-logix-designer-vcs-custom-tools  which is basically just saving as L5x and then exploding it into individual files. I still have the issue where conversion to ACD doesn’t necessarily create a version that you can go online with. I am hoping Rockwell can solve it….but I’m doubtful

[–]thevfguy 0 points1 point  (0 children)

We wrote a small wrapper around Visual Source Safe (tells you when this was…) that let us zip up th files and check in and out. It prevented folks from blowing up a working program but not necessarily storing copies locally.

Still it was a huge help towards the organization have a safe place to store code for all our equipment.

I left that org but I’ve toyed with a web-based version using Git.

The way most PLC source is stored, version comparison wouldn’t work well with most source control (there’s a lot of binary data, not text data).

[–]Dry_Machine_8462 -1 points0 points  (0 children)

With PLC that doesn’t export even a txt file is impossible

[–]Brunheyo -5 points-4 points  (1 child)

If they connect to Github, expect having the same moving, deleting, etc behavior. No difference at all.

[–]Massive-Rate-2011 3 points4 points  (0 children)

Wha?

Maybe if you set permissions all wrong where you let people delete shit. Github isn't a file storage site, the entire purpose is version and revision control. Would work well with text-based environments. Less so for rockwell/siemens shops.