Moving FBD from one controller to another controller including associated IO how can this be done?
In simple terms, you are doing a cut / paste. But any procedures that you follow need to be specific for your site
The important thing here is you need to have a plan. Anything you haven't planned for or tested out in advance will bite you. You need to identify all of the software and hardware that you will modify, plan the modifications and plan your testing procedures.
If you cannot make your changes in advance and test them on your live DCS, then you should consider what steps you could take to do the changes in either an off-line or test system. If you dont have access to any test system, then at least try to create a test program in your DCS and cut/past that to a new controller.
Finally, you need to plan for what you will do when it all goes horribly wrong. Make sure you have adequate backups and a roll-back plan.
I see it's freelance as controllers are ac 800f ? If so
Then first action you should perform is to take backup(.csv files) of projects you are going to modify, so in worst case you can fall back on previous condition.
Moving logic and IO's to another controller of same project or in different project ?
Incase it's another controller of same project you can simply define those variables as global variable and use it across the project.
Which version of freelance it is ?
If it's new version 2013 you can simply copy/paste fbd's in same cbf between different programs or even between two different cbf program editors.
So incase of moving logic and IO's to another controller of different project and it's lower version than V2013, Good to use import/export option. As freelance allows to import/export from bit to byte.
If logic belongs to single PL(program list) you can export whole PL(as .prt file) and also can export 80 variables (as .ema file) if logic belongs different PL/task then you can select those FBd's/logic and export (as .fbd file) and import it to destination program.
Also note that by moving logic and associated IO to another controller, that controller need to be downloaded and as IO components are involved controller is going to stop even if you do incremental download(change load object). so be prepared for that. Incase you have plant shutdown and no issues in performing whole controller download at destination(another) controller then even you can be prepared in advance by importing/copying logic and IO's from source controller and download all changes at one-shot.
go through associated app here regarding side effects of download incase you are doing this in running process. Recommended to take local ABB support people assistance.