git/list[1] front-page[2] threads[3] people[4] search[5] about
 

RE: Git with Lader logic

From
Randall S. Becker <rsbecker@nexbridge.com>
Date
Mar 18, 2015, 22:38 UTC
Message-ID
<00dd01d061cc$33427380$99c75a80$@nexbridge.com>
In-Reply-To
<CAEtYS8R6xz3vMD72h_j0R6W=FRfY7SjMi-q9z+qfKhqoq5ExCg@mail.gmail.com>
On March 18, 2015 6:29 PM Doug Kelly wrote:
Show 44 quoted lines
> On Wed, Mar 18, 2015 at 2:53 PM, Randall S. Becker
> <rsbecker@nexbridge.com> wrote:
> > On March 17, 2015 7:34 PM, Bharat Suvarna wrote:
> >> I am trying to find a way of using version control on PLC programmers
> >> like
> > Allen
> >> Bradley PLC. I can't find a way of this.
> >>
> >> Could you please give me an idea if it will work with Plc programs.
> >> Which
> > are
> >> basically Ladder logic.
> >
> > Many PLC programs either store their project code in XML, L5K or L5X
> > (for example), TXT, CSV, or some other text format or can import and
> > export to text forms. If you have a directory structure that
> > represents your project, and the file formats have reasonable line
> > separators so that diffs can be done easily, git very likely would
> > work out for you. You do not have to have the local .git repository in
> > the same directory as your working area if your tool has issues with
> > that or .gitignore. You may want to use a GUI client to manage your
> > local repository and handle the commit/push/pull/merge/rebase
> > functions as I expect whatever PLC system you are using does not have git
> built-in.
> >
> > To store binary PLC data natively, which some tools use, I expect that
> > those who are better at git-conjuring than I, could provide guidance
> > on how to automate binary diffs for your tool's particular file format.
> 
> The one thing I find interesting about RSLogix in general (caveat: I only have
> very limited experience with RSLogix 500 / 5000; if I do anything nowadays, it's
> in the micro series using RSLogix Micro Starter Lite)... they do have some
> limited notion of version control inside the application itself, though it seems
> rudimentary to me.
> This could prove to be helpful or extremely annoying, since even when I
> connect to a PLC and go online, just to reset the RTC, it still prompts me to save
> again (even though nothing changed, other than the processor state).
> 
> You may also find this link on stackexchange helpful:
> http://programmers.stackexchange.com/questions/102487/are-there-
> realistic-useful-solutions-for-source-control-for-ladder-logic-program
> 
> As Randall noted, L5K is just text, and RSLogix 5000 uses it, according to this
> post.  It may work okay.
A really good reason to use git instead of some other systems is that new versions of files are determined by SHA signatures (real differences) rather than straight timestamps. So saving a file that has not changed will not force a new version - unlike some systems that shall remain nameless.
Previous: Doug KellyNext: Bharat Suvarna
Message 5 of 10 in “Git with Lader logic”
  1. Bharat SuvarnaMar 17, 2015
  2. Kevin DMar 18, 2015
  3. Randall S. BeckerMar 18, 2015
  4. Doug KellyMar 18, 2015
  5. Randall S. BeckerMar 18, 2015
  6. Bharat SuvarnaMar 19, 2015
  7. Kevin DMar 19, 2015
  8. Martin PetterssonMar 27, 2015
  9. Junio C HamanoMar 27, 2015
  10. Martin PetterssonMar 27, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.