Compare Beckhoff TwinCat online software with offline project

nemo69

Member
Join Date
May 2017
Location
Agder
Posts
2
I'm a C++ programmer and I'm assigned to make an application that periodically shall comparer the online software vs the offline on a Beckhoff TwinCat system. Then intentition is that we should notify the customer that somebody has changed the online sw, meaning the online sofware is not the same as offline.

We have a working solution for Siemens PLC's where we calculate a checksum for the online and offline software and compare these.

So for the Beckhoff TwinCat system I need either a tool or a library(hopefully C++) that can do the same, or better do a direct compare.
 
Yes, for now the only suggestion is to use ole/com solution where my application would start the IDE(visual studio) with the beckhoff/twincat project and upload the software through the IDE. All using ole/com objects.

But I would like to go a bit lower in the stack. I guess the there must be some library/plugins that beckhof has integrated into visual studio. So it would be nicer to have access to these.
 
Probably best would be if there is a file on the PLC PC (CX,...) which represents the PLC code in use. Such is true in the \Boot folder, but I think only if the User creates a Boot Project as they upload new code. Perhaps there is a way to set so a Boot Project is always generated. Then, you would compare a master boot file against the current boot file.

Another vague thought is that you could bury a number in PLC code which characterizes the source code. You could later poll the PLC via ADS call from a .net program to read the number. This number would need to be regenerated whenever any of the source code files are edited. There is likely something like this in Visual Studio, one being the auto version number generation. But, this would require there to be a single location for the Source Code, or at least any clones one might use have the same behavior. You would also need a utility to insert the number into the source code before the PLC project is built.
 
Beckhoff is running compiled code and you can get access to the entire file structure of the PLC. You can also execute commands on the windows side of the PLC. I would write a program to run on the windows side of the PLC that creates a checksum of all the source files and execute it at boot. Check the output value (which the program could put into a PLC variable value) to see if it matches the recorded value.
 

Similar Topics

Help please. Im new to Omron and have a machine down. I have a compare = for barcode label scan. I've attached two pics. On the Mnemonics you can...
Replies
4
Views
622
Hi everyone! Accidentally closed it and it wont appear again. Checked and unchecked the option and seem to make no difference. Running v7.10.00...
Replies
16
Views
1,906
I'm working on an array that contains a UDT of 5 Items Array[4] DataType[0] - Part 1 - Part 2 - Part 3 - Part 4...
Replies
1
Views
840
Hi. I have 2 files where I would like to see the ladder logic differences (similar to the Rockwell compare function). I am using TISoft Siemens...
Replies
1
Views
1,264
Hello experts, I am just starting with AB programing, I have a questions regarding a compare done in an old RSlogix500 and causing me issues when...
Replies
5
Views
1,938
Back
Top Bottom