Я когда-то давно писал про хранение всех данных программы в xml. Посмотрите что выдает в виде одного из результирующих файлов среда TwinCat (по сути тот же CodeSys, расширение файла .tpy) в обычном текстовом xml можно хранить всю программу. Координаты FBD на холсте, номер исполнения, куда и как подключен вход или выход и так далее.

Просто сядьте блин ОДИН раз продумайте структуру файла и создайте уже ОЛ 2.0 и тогда улучшения и прочее не будут затрагивать структуру и старый ОЛ спокойно откроет файл проекта скажем для ПР200, созданный в более новой версии ОЛ...

Всего-то надо чуть чуть мозгов приложить, а не лепить горбатого, как это происходит сейчас с изменениями версий в пределах по сути одной версии ядра.