Of "the whole project", what is loaded into the PLC is not more than all the blocks contained in it.
So, in principle you could make a script that transfers the blocks from all files ending in .mc7 into the PLC and you were done.
There is an example, loadPLC, for Linux. For Windows, you'll have to make an equivalent batch file or a file for windows scripting host.
But beware! Loading itself is yet not very mature. For example it may fail when there is to few memory in PLC and will not do a memory compress (which Step7 does behind the scenes if necessary) and is not supported for all protocols and connection types.
Next, the SDBs (system data blocks, they contain your hardware configuration) have to be loaded in a certain order which is unknown to me. Wrong order may lead to unpredictable results.
Once you hav found a load order that works to restore your particular project into a formerly erased PLC, it should work allways for this project and CPU.
Thomas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I supposed you did already try the --readour option to the test programs this will read out program blocks from the CPU and store them in files like OB1.mc7.
You cannot get those files from Step7, as it stores program blocks to a database.-(
There is some 3rd party programming Software, don't remember at the moment, which generates .mc7 files, too. From a very first glance, they could be compatible (just containig the bytes the PLC sends when reading out a block).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I imagine, I program in the office and give a CD (or something else) to the customer (who don't have Step7 but a MPI-Adapter) and he can write the program to the PLC.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If the loading itself would be reliable enough, then there could three alternatives:
1. Load your project into a CPU at your office and read out the blocks.
2. Do some database programming to extract the blocks from Step7's database and store them into files.
3. Use said 3rd party software for programming or conversion.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I've a project made by Step7.
I've seen it is possible to transfer some blocks to a plc using libnodave, but without Step7.
Is it possible to transfer the whole project, which software I've to use therefore and how does it work?
Of "the whole project", what is loaded into the PLC is not more than all the blocks contained in it.
So, in principle you could make a script that transfers the blocks from all files ending in .mc7 into the PLC and you were done.
There is an example, loadPLC, for Linux. For Windows, you'll have to make an equivalent batch file or a file for windows scripting host.
But beware! Loading itself is yet not very mature. For example it may fail when there is to few memory in PLC and will not do a memory compress (which Step7 does behind the scenes if necessary) and is not supported for all protocols and connection types.
Next, the SDBs (system data blocks, they contain your hardware configuration) have to be loaded in a certain order which is unknown to me. Wrong order may lead to unpredictable results.
Once you hav found a load order that works to restore your particular project into a formerly erased PLC, it should work allways for this project and CPU.
Thomas
I don't have any file with the ending .mc7. How can I get such files?
I supposed you did already try the --readour option to the test programs this will read out program blocks from the CPU and store them in files like OB1.mc7.
You cannot get those files from Step7, as it stores program blocks to a database.-(
There is some 3rd party programming Software, don't remember at the moment, which generates .mc7 files, too. From a very first glance, they could be compatible (just containig the bytes the PLC sends when reading out a block).
I need this feature for updates of a PLC-program.
I imagine, I program in the office and give a CD (or something else) to the customer (who don't have Step7 but a MPI-Adapter) and he can write the program to the PLC.
If the loading itself would be reliable enough, then there could three alternatives:
1. Load your project into a CPU at your office and read out the blocks.
2. Do some database programming to extract the blocks from Step7's database and store them into files.
3. Use said 3rd party software for programming or conversion.