По поводу исходников в ПР производитель (Овен) как-то сказал, что ПР - это нишевое, сознательно максимально удешевлённое устройство, у которого недостаточно памяти для сохранения проекта, а добавление памяти повысит цену прибора, причём ради функционала, который исчезающе редко востребован.

Думаю, что нужно просто принять эту позицию, концепцию разработки прибора.

Изначальная концепция прибора умножается на скупость заказчика, обращающегося к шабашникам для разработки и реализации проекта автоматизации. Информатику в школах преподают уже 40 лет, распространился ИИ, страх перед программированием пропал, даже ремеслом его не считают - чем-то похожим на рукоделие. Поэтому исходники часто низкого качества, их полная замена специалистом - будет только во благо.

Заказчик - собаку съел на манипуляциях. Всё у него есть - и аукцион исполнителей и рычаги удешевления.

Поясню на частных примерах.

Год назад мне предложили выполнить проект на WirenBoard вместе с КИПовскими ПНР - управление четырьмя насосными парами (индивидуальные ПЧВ, ПИД, каскад, АВР), подключение по Modbus к нескольким электро- и водо- счётчикам, визуализация по встроенному в ПЛК WEB-интерфейсу.
Я назвал стоимость работ - и от меня отмахнулись, т.к. кто-то предложил существенно меньше. Думаю, что конкурент - студент или школьник, не сильно обеспокоенный затраченным временем. Я снизить цену не мог, т.к. из-за отсутствия собственных наработок и библиотек производителя, необходимости учить новый язык JavaScript - потратил бы около двух недель.
Но кто-то же взялся за работу - самоуверенных людей, перед которыми "внезапно поставили задачу, а они впервые видят контроллер" довольно много.

"Слёзы заказчика" - такой же инструмент манипуляции, как и лесть, и обещание "обязательно не забыть и вознаградить (без упоминания сроков и сумм)".
На одной работе с большим коллективом было небольшое подразделение, состоящее из нескольких девчат, которыми неформально (без назначенной должности) руководил их сверстник (лет 25).
Он выбрал тактику "всегда занят, множество проблем дома, маленький ребёнок, жена не работает, денег нет, а тут ещё и на работе завал (и обязательный взгляд с тоской)".
Пока его жалели и слушались девчата, я просто молча восхищался.
Но однажды, мой более старший коллега начал рассказывать, какой бедолага этот парень. Я тут же попросил его перечислить беды и на каждую сказал - а ведь и у меня так же - и возраст, и маленький ребёнок, и жена в декрете, и должность=зарплата идентичная, и занятость высокая, и подмены на время командировок и отпусков нет. Спросил, может и я - "бедный"? Коллега ответил, что тот - "бедный", а вот я - нет. Объяснить, правда, не смог.
Этот трюк реально действует - на всех и всегда.