Converting an I/O Expansion Module from a V1 to a V2 (Same Model)
Technical Note 7020
Applicable Model(s)
HMC2000
HMC4000
Title
Converting an I/O Expansion Module from a V1 to a V2 (Same Model)
Date
02/27/2023
Rev
00
P/N
0907-7020
Summary
When switching from one module to another all allocations of the internal tags must be deleted before an I/O slot can be changed, this includes switching from a V1 to a V2 module. This is the simplest way that does not require deleting all tags and objects, noting that this technique only works if the models are the same, e.g., switching from a M1210P0201 (V1) to a M1210P0201-V2 module.
Solution
1.
This will mean you will have to do a little more work to make the changes from the V1 to the V2 version of the module because unfortunately you will not be able to just simply change over the module in the software if there are tags from the module in use.
There are a couple of options. The easiest and quickest option is to create a new project. In the original project that you are working on now, export all your logic blocks to the save folder the project is in. You can do this by going to the logic block you wish to export, then at the top there will be a tab labeled “block”, in that tab you will see an export option.
**Note: If any module tags, such as the digital input “Slot01_IN_Coil_00000”, have been renamed please refer to the steps addressed at the bottom of the tech note before continuing further as to avoid any unexpected results.
Once you have all your logic exported, you can now go into your new project that will eventually have the V2 module allocated (but be sure not to allocate it yet) and start importing the logic you just exported. This is done the same way as exporting, go into your logic and go to the block tab but this time click the import button and locate the blocks you wish to import. It is important to note that the order in which you import these blocks is the order they will be put into in your project so be sure to import them in the order you wish them to be organized.
This feature brings over all tags that are in the logic and populates them into your new tag data base as well, this includes any I/O module tags as well. Since the tags associated with the module are the same addresses, when you allocate the new V2 module, it will not add extra tags of the already existing addresses, but ONLY if you allocate the module after all logic is imported.
Once you have all the logic imported into the new project, you can then import your screens over from your old project into your new project. In your new project, click on the base screen and then a tab will appear that says “screen”. In that tab there will be an import screen option:
When you click on that option it will bring up your file explorer, from there navigate to your old project and double click on the MPL file. This will bring up a pop-up menu which will allow you to choose which screen you wish to import into your new project. Be sure to check all the boxes within the window when selecting the screen. Also note, that you can select multiple or all screens to make this function easier. Something important to note is that any function keys such as “go to screen” buttons will need to be checked and most likely re-tagged as when they are brought over during this process the import process seems to screw up the screen that it was originally supposed to go to.
Now you can add your new V2 module to the I/O allocation. Be sure to go through all your screens and logic to be sure that everything looks sound after you have completed all the above instructions.
There is one other option but depending on how big your project is, this option could lead to more of a headache. Note, a technote (TN7021) with a step-by-step guide for this option is available on our website. Essentially, if you don’t want to go through the steps above, you can simply remove all tags in your project (logic, screens, tasks, data window, data logger) that are associated with the V1 module. Once all those tags are completely removed from your project, save the project, then go back to the I/O allocation menu and change the V1 module to the V2. After you make this change you will then have to go back and re-add all the previous tags that you removed from the V1 to reflect the new V2 you just added.
**Process if module tags have been renamed in the original application:
- Once a new project is created add the modules that will be used – before importing anything from the old project
- In the new project, go into the tag database and sort by tag address, it helps to sort by user defined tags to find the module specific tags – and do the same with the old project
- Matching the tag addresses, rename the module tags on the new project with the corresponding tag names that were changed on the old project. For instance, you would copy the tag name “Crucible_FSL” which is tied to the module tag address “X01000” over to the same tag address on the new project – the figure below shows the process
- Carefully go through each module tag and continue to follow step 3 for every module tag that was renamed in the original project.
- Once all tags in the new project are renamed to the corresponding name in the old project, be sure to save the new project first as a revision. Then follow the technote where you left off to export/import logic blocks from one project to another as well as the screens. Be sure to import logic first, then screens.
- After all steps are complete, save the project again and test that it is working as expected