Online capability of a cbm application
As written in cbm help, "You cannot download a different project to an already running controller, all applications belonging to other projects must first manually be deleted by using Complete Reset during download, or by pressing the controller Init button."
So the question is: how does the system determine if the project is "different" or not? Is application that was "export/imported" to other engeneering station "different", or it can be downloaded with warm restart?
I remember situation when I lost Virtual Machine with 800xA that was used for downloading project. I got an older version of this VM an imported an actual project there, but got an error message (I do not remember it exactly) that this engeneering station is not the one that was last time used to download the project and I need to manually press Init button on PLC to be able to download project from this PC.
What did I do wrong, or it is normal situation when I unable to use any PC to go online/download application?
Voted best answer
Every object in 800xA is identified by a GUID number. (Globaly Unique Identification Number). The GUID is retained during project exports and imports. If you export a project then import it later it will have the same GUID and is the same Project.
Once you have created an object you cannot change the GUID. You cannot re-use an existing GUID or choose a GUID for an object. The GUID should always uniquly identify an object - such as your project - among any and every Compact CB or 800xA system for every customer everywhere.
Control Builder identifies the project and it's component applications using their GUIDs. If the GUID's for the project running in the controller and opened in the programming station dont match then its is a different project.
Control Builder identifies whether the project source code is "changed" by generating a checksum for the source code every time you compile the code ( ie download or go online ). If the checksum of your compiled code doesnt match the checksum of the code running in the controller then the code is changed and you must warm start.
Your older VM had the same project with the same GUIDS, but the checksum for the source code was different. Youn were also warned that you used a different PC to compile and download the controller source. If the code was very different ( eg you deleted an application) then you would have to clear the controller, but if your VM backup is up to date you should be able to download and warmstart the controller.