Хочу сегодня поделиться опытом использования облачного хранения и контроля ревизий для PLC, в частности для проектов, разработанных в IDE TIA Portal или Simatic Step7 с использованием репозитория Subversion и его клиента TortoiseSVN.
Для начала рассмотрим концепцию репозитория: для обеспечения работоспособности на файловом сервере должна быть развёрнута система Subversion. В ней создаётся целевая папка, к которой в дальнейшем будут обращаться пользователи. К серверу подключается клиент TortoiseSVN, установленный на компьютер разработчика. Интерфейс встраивается в файловую систему Windows. Ознакомиться с ним можно, щёлкнув правой кнопкой мыши в Проводнике Windows.
Для начала работы рекомендуется создать отдельную папку на локальном диске, в которую будут выгружены все файлы из существующего репозитория. Выгрузка осуществляется с помощью команды «SVN Checkout». При этом в графическом интерфейсе потребуется ввести адрес репозитория, а затем указать учётные данные пользователя.
После создания рабочей копии репозитория можно приступить к редактированию файлов. Все изменённые файлы система помечает красным восклицательным знаком. К сожалению, при работе со средами разработки Siemens, в большинстве случаев с помощью TortoiseSVN не получится определить, что именно поменялось в проекте, поскольку TortoiseSVN сравнивает только данные в текстовым формате. Однако, можно всегда открыть два проекта и сравнить их с использованием инструментов самих IDE Siemens, что несколько сложнее сравнения текстовых данных, но всё же выполнимо.
Когда редактирование рабочей копии завершено, можно с помощью команды «SVN Commit» передать изменения на сервер. Правилом хорошего тона является наличие комментария к каждой ревизии. Комментарий можно ввести в поле Message окна «SVN Commit».
Каждый раз перед началом редактирования рабочей копии проекта рекомендуется выполнить команду «SVN Update» для проверки наличия изменений существующего проекта другими пользователями. Процесс сопровождается выводом на экран окна со списком изменённых файлов и папок с указанием авторов изменений.
Выводы
- Достоинством, и одновременно недостатком, на мой взгляд, является возможность хранения целого проекта при невозможности отследить конкретные изменения, так как SVN может распознавать их только в текстовых данных, а Siemens TIA имеет собственную структуру хранения исходных файлов, отличную от текстовой. Тем не менее, в описании ревизии разработчики могут указать, какие именно изменения были внесены.
- Несомненным плюсом является то, что разработчик может вернуться к любой из прежних ревизий любого файла, которая была когда-либо загружена в SVN-репозиторий.
- Также существует инструмент под названием «Repo browser», который позволяет разработчику или менеджеру проекта посмотреть все изменения в структуре репозитория с самого начала, с указанием автора каждой загруженной ревизии и комментариями.