Table of Contents

Общие сведения

Для успешного запуска и функционирования системы AutomiqAutomation необходимо правильно организовать файловую структуру проекта. Корректная структура каталогов обеспечивает:

  • Единое и предсказуемое расположение всех компонентов системы
  • Удобство навигации и поддержки проектов
  • Возможность автоматизированной обработки данных
  • Совместную работу нескольких разработчиков
  • Интеграцию с системой контроля версий (SVN)

Все проекты, создаваемые с использованием AutomiqAutomation, должны следовать единому стандарту структуры. Это позволяет системе однозначно находить исходные данные, библиотеки, конфигурации и генерируемые артефакты.

Ниже описана базовая структура рабочего окружения и назначение каждого ключевого каталога.

2.1 Каталог проекта

Родительский каталог проекта является корневой директорией, в которой организованы все необходимые для разработки компоненты. Его типичная структура включает следующие основные каталоги:

Название каталога Описание Ссылка SVN
AutomiqAutomation Основной каталог системы автоматизации, содержащий исполняемый файл, конфигурации и внешние модули. svn://nashgit.ru/automiq/AutomiqAutomation
Projects Каталог, в котором хранятся конкретные проекты АСУ. Каждый проект (например, GPP_AFA) является подкаталогом внутри Projects. svn://nashgit.ru/automiq/Projects/{Project Name} (где {Project Name} — имя проекта, например, GPP_AFA)
Libraries Каталог, содержащий библиотечные проекты (типы, модели, HMI-компоненты), используемые всеми проектами. svn://nashgit.ru/automiq/Libraries
SavedProjects Каталог для хранения архивных копий завершенных проектов. Используется для резервного копирования и извлечения типовых решений. svn://nashgit.ru/automiq/SavedProjects
[Корневой каталог]
│
├── 📁AppGallery
│
├── 📁AutomiqAutomation 
│    ├── 📁Automiq Automation Documentation
│    ├── 📁ExternalModules
│    │    ├── 📁AfasModules                   # Внешние модули для проектов АСПСиПТ (Автоматизированные системы пожарной сигнализации и пожаротушения)
│    │    ├── 📁AucsModules                   # Внешние модули для проектов АСУЭ (Автоматизированные системы управления энергопотреблением)
│    │    ├── 📁EsdDcsModules                 # Внешние модули для проектов РСУ/ПАЗ (Регулирование, Сигнализация, Управление / Противоаварийная защита)
│    │    └── 📁StandardModules               # Базовые модули, реализующие общую функциональность для всех систем автоматизации
│    ├── 📁Automiq Automation Documentation
│    ├── 📁GAP                                # Библиотека пользовательских скриптов (Global Automation Platform) на C#, используемых в процессе генерации
│    ├── 📁Release                            # Стабильные, релизные версии конфигуратора
│    └── 📁ReleaseCandidate                   # Тестовые сборки конфигуратора, проходящие предрелизное тестирование        
│
├── 📁Brunches
│    ├── 📁DevStudio 
│    ├── 📁HMI
│    ├── 📁HMI    
│    └── 📁JSC
│
├── 📁Libraries
│    ├── 📁AlphaHMI                           # Типовые компоненты и символы для мнемосхем HMI системы alpha
│    ├── 📁DevStudio                          # Типовые модели объектов, используемые в SCADA-системе alpha.DevStudio
│    ├── 📁Docs                               # Шаблоны и типовая документация
│    ├── 📁Firmware                           # Прошивки для контроллеров (например, Unimod 2)
│    ├── 📁JscGlobalConf                      # Глобальные конфигурационные файлы, общие для всех проектов (например, EventLists.xls)
│    ├── 📁Unimod                             # Типовые функциональные блоки (FB) и библиотеки для ПЛК Unimod 2
│    ├── 📁Weintek  
│    └── 📁Контроль версий ПО
│
├── 📁Projects
│    └──📁[Имя проекта]                      # Корневая директория конкретного проекта
│       ├── 📁DevStudio                      # Сгенерированный проект для SCADA-системы alpha.DevStudio
│       ├── 📁Unimod                         # Сгенерированный проект для ПЛК Unimod 2
│       ├── 📁HMI                            # Сгенерированный проект для панели оператора (HMI)
│       ├── 📁Weintek                        # Сгенерированный проект для панелей оператора Weintek
│       ├── 📁SavedConf                      # Архивная копия модели данных проекта (JSC) на момент генерации
│       └── 📁JSC                            # Основной каталог с моделями данных проекта
└── 📁SavedProjects                          # Архивный каталог для хранения завершенных и сданных проектов

Рисунок 1 – Структура корневого каталога проекта

Подробнее о структуре каждого каталога см. в соответствующих разделах.

2.1.1. Каталог AutomiqAutomation

Содержит исполняемые модули, документацию и вспомогательные компоненты самой системы AutomiqAutomation:

flowchart TD
	A[AutomiqAutomation]
	A1[AutomiqAutomation <br> Documentation<br>руководства, <br>спецификации]
	A2[ExternalModules<br>модули интеграции]
	A3[GAP<br>вспомогательные <br>библиотеки]
	A4[Release<br>релизные версии]
	A --> A1
	A --> A2
	A --> A3
	A --> A4

2.1.1.1. Подкаталог ExternalModules

Содержит специализированные модули для работы с различными внешними системами:

flowchart TD
	EM[ExternalModules]
	EM1[AfasModules<br>интеграция с АФАС]
	EM2[AucsModules<br>интеграция с АСУ Ц]
	EM3[EsdDcsModules<br>ESD и DCS]
	EM4[StandardModules<br> универсальные <br>модули]
	EM --> EM1
	EM --> EM2
	EM --> EM3
	EM --> EM4

2.1.2 Каталог Libraries

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

Libraries/
├── AplhaHMI/               – шаблоны графических элементов и объектов для Alpha.HMI
├── DevStudio/              – типовые структуры, теги, события для Alpha.DevStudio
├── Docs/                   – общая документация по библиотекам и стандартам
├── Firmware/               – образы прошивок для контроллеров и HMI-устройств
├── JscGlobalConf/          – глобальные конфигурации среды JSC
├── Unimod/                 – библиотеки функциональных блоков и драйверов для ПЛК ТРЕЙ (Unimod 2)
├── Weintek/                – шаблоны экранов и объектов для HMI-панелей Weintek
└── Контроль версий ПО/     – архивы версий программного обеспечения оборудования
flowchart TD
	L["Libraries"]
	L1["AplhaHMI"]
	L2["DevStudio"]
	L3["Docs"]
	L4["Firmware"]
	L5["JscGlobalConf"]
	L6["Unimod"]
	L7["Weintek"]
	L8["Контроль версий ПО"]
	L --> L1
	L --> L2
	L --> L3
	L --> L4
	L --> L5
	L --> L6
	L --> L7
	L --> L8
Important

Все проекты используют данные из Libraries как основу. Обновление библиотек автоматически отражается на новых проектах, что обеспечивает согласованность и масштабируемость.

2.1.3 Каталог Projects

Содержит активные проекты, находящиеся в стадии разработки или сопровождения. Структура каждого проекта основана на единой архитектуре, обеспечивающей согласованность и автоматизацию.

Projects/
└── <Имя_проекта>/
    ├── DevStudio/              – Сгенерированные и редактируемые проекты для Alpha.DevStudio
    ├── HMI/                    – Проекты верхнего уровня для Alpha.HMI
    ├── JSC/                    – Основной каталог для разработки, содержащий модели и конфигурации
    ├── SavedConf/              – Сохранённые конфигурации завершённых проектов (титулов)
    ├── Unimod/                 – Проекты, программы и конфигурации для ПЛК (среда Unimod 2)
    └── Docs/                   – Документация проекта (контроль версий ПО, протоколы и т.д.)
Important

Структура каталогов отдельного проекта описана в разделе 2.2 Структура каталога проекта.

2.1.4 Каталог SavedProjects

Предназначен для архивации завершённых, сданных или резервных копий проектов. Используется для:

  • Хранения финальных версий проектов после сдачи
  • Создания резервных копий перед крупными изменениями
  • Реиспользования фрагментов (узлов, конфигураций) в новых проектах
  • Поддержки обратной совместимости и аудита

2.2 Структура каталога проекта

Типовая структура каталога отдельного проекта, независимо от его местоположения (Projects или SavedProjects):

<Имя_проекта>/
├── DevStudio/          – файлы и проекты для Alpha.DevStudio (конфигурации, теги, события)
├── Doc/                – техническая документация: P&ID, ведомости КИПиА, отчёты
├── HMI/                – HMI-проекты для Alpha.HMI, Weintek, MiniScada
├── JSC/                – [конфигурации и скрипты среды JSC](#211-каталог-automiqautomation)
├── SavedConf/          – сохранённые конфигурации AutomiqAutomation (исходные данные, шаблоны)
└── Unimod/             – проекты и программы для ПЛК ТРЕЙ в среде Unimod 2

Каждый подкаталог соответствует определённому компоненту ПТК и используется как точка назначения для генерируемых файлов.

2.2.1 Каталог HMI

Каталог HMI является частью структуры проекта и содержит файлы проекта для верхнего уровня АСУ (мнемосхемы, окна, символы). Он организован таким образом, чтобы обеспечить централизованное управление общими библиотечными компонентами, при этом сохраняя возможность для проектных настроек.

Структура каталога:

  • externals\ — Каталог, содержащий внешние ссылки (SVN externals) на общие библиотечные компоненты.
  • objects\ — Основной каталог проекта, в котором хранятся мнемосхемы, окна, группы объектов и другие проектные элементы, специфичные для данного проекта.
  • output\ — Основной каталог проекта, в котором хранятся мнемосхемы, окна, группы объектов и другие проектные элементы, специфичные для данного проекта.Основной каталог проекта, в котором хранятся мнемосхемы, окна, группы объектов и другие проектные элементы, специфичные для данного проекта.
  • resources\ — Каталог для хранения ресурсов проекта, таких как изображения, шрифты, звуковые файлы и т.д.

Каталог externals: Каталог externals содержит ссылки на общие библиотечные проекты, расположенные в репозитории svn://nashgit.ru/automiq/Libraries. Это позволяет всем проектам использовать унифицированные и актуальные версии базовых компонентов. Ссылки настраиваются как SVN Externals.

Каталог в проекте Ссылка на репозиторий (SVN External) Назначение
externals\Alarms svn://nashgit.ru/automiq/Libraries/AplhaHMI/Alarms Библиотека визуализации и управления аварийными сообщениями.
externals\CommonLib svn://nashgit.ru/automiq/Libraries/AplhaHMI/CommonLib Общие библиотечные объекты, символы и стили, используемые во всех проектах.
externals\Explorer svn://nashgit.ru/automiq/Libraries/AplhaHMI/Explorer Компоненты для навигации по проекту (дерево объектов, панели поиска).
externals\IntegrityControl svn://nashgit.ru/automiq/Libraries/AplhaHMI/IntegrityControl Инструменты для контроля целостности данных и состояния системы.
externals\SecurityConfigurator svn://nashgit.ru/automiq/Libraries/AplhaHMI/SecurityConfigurator Библиотека для настройки прав доступа и пользовательских ролей.
externals\Trends svn://nashgit.ru/automiq/Libraries/AplhaHMI/Trends Готовые компоненты для отображения графиков и трендов.
externals\DCS_ESD_lib svn://nashgit.ru/automiq/Libraries/AplhaHMI/DCS_ESD_lib Библиотека символов и объектов для систем управления технологическим процессом (DCS) и аварийного отключения (ESD).
externals\Statistics svn://nashgit.ru/automiq/Libraries/AplhaHMI/Statistics Компоненты для сбора и отображения статистической информации.
Note

В случае выхода обновления компонентов платформы Alpha, все измененные библиотечные компоненты заливаются в глобальный репозиторий svn://nashgit.ru/automiq/Libraries. Для актуализации любого проекта до последней версии библиотек достаточно выполнить обновление (update) содержимого каталога HMI. Это обеспечивает быстрое и согласованное обновление всех проектов, использующих общие библиотеки.

graph TB

    %% =============== ГЛОБАЛЬНЫЙ РЕПОЗИТОРИЙ ===============
    subgraph "Глобальный репозиторий"
        direction TB
        Libraries[Libraries]
        Libraries --> AplhaHMI[AplhaHMI]

        AplhaHMI --> Alarms_Lib[Alarms]
        AplhaHMI --> CommonLib_Lib[CommonLib]
        AplhaHMI --> Explorer_Lib[Explorer]
        AplhaHMI --> IntegrityControl_Lib[IntegrityControl]
        AplhaHMI --> SecurityConfigurator_Lib[SecurityConfigurator]
        AplhaHMI --> Trends_Lib[Trends]
        AplhaHMI --> DCS_ESD_lib_Lib[DCS_ESD_lib]
        AplhaHMI --> Statistics_Lib[Statistics]
    end

    %% =============== ПРОЕКТНЫЙ РЕПОЗИТОРИЙ ===============
    subgraph "Проектный репозиторий"
        direction TB
        HMI[HMI]
        HMI --> externals[externals\]
        
        externals --> Alarms[Alarms]
        externals --> CommonLib[CommonLib]
        externals --> Explorer[Explorer]
        externals --> IntegrityControl[IntegrityControl]
        externals --> SecurityConfigurator[SecurityConfigurator]
        externals --> Trends[Trends]
        externals --> DCS_ESD_lib[DCS_ESD_lib]
        externals --> Statistics[Statistics]

        HMI --> objects[objects\]
        HMI --> output[output\]
        HMI --> resources[resources\]
    end

    %% =============== СВЯЗИ (SVN EXTERNAL) — БЕЗ ПРОБЕЛОВ ===============
    Alarms         -->|SVN_External|Alarms_Lib
    CommonLib      -->|SVN_External|CommonLib_Lib
    Explorer       -->|SVN_External|Explorer_Lib
    IntegrityControl       -->|SVN_External|IntegrityControl_Lib
    SecurityConfigurator   -->|SVN_External|SecurityConfigurator_Lib
    Trends         -->|SVN_External|Trends_Lib
    DCS_ESD_lib    -->|SVN_External|DCS_ESD_lib_Lib
    Statistics     -->|SVN_External|Statistics_Lib

    %% =============== СТИЛИ ===============
    style Libraries fill:#fff2cc,stroke:#333
    style AplhaHMI fill:#fff9c4,stroke:#333

    style Alarms_Lib fill:#d9ead3,stroke:#333
    style CommonLib_Lib fill:#d9ead3,stroke:#333
    style Explorer_Lib fill:#d9ead3,stroke:#333
    style IntegrityControl_Lib fill:#d9ead3,stroke:#333
    style SecurityConfigurator_Lib fill:#d9ead3,stroke:#333
    style Trends_Lib fill:#d9ead3,stroke:#333
    style DCS_ESD_lib_Lib fill:#d9ead3,stroke:#333
    style Statistics_Lib fill:#d9ead3,stroke:#333

    style HMI fill:#e6f3ff,stroke:#333
    style externals fill:#d9ead3,stroke:#333
    style Alarms fill:#d9ead3,stroke:#333
    style CommonLib fill:#d9ead3,stroke:#333
    style Explorer fill:#d9ead3,stroke:#333
    style IntegrityControl fill:#d9ead3,stroke:#333
    style SecurityConfigurator fill:#d9ead3,stroke:#333
    style Trends fill:#d9ead3,stroke:#333
    style DCS_ESD_lib fill:#d9ead3,stroke:#333
    style Statistics fill:#d9ead3,stroke:#333

2.2.2 Каталоги JSC: Глобальный и локальный уровень

Каталог JSC является основным рабочим пространством для разработки проекта автоматизации. Он четко разделен на два уровня: глобальный (Conf) и локальный (USR\PRJ), что обеспечивает баланс между унификацией и гибкостью.

graph TD
    subgraph "Проектный репозиторий"
        JSC[JSC]
        JSC --> Conf[Conf\]
        JSC --> USR[USR\PRJ\]
        
        USR --> PRJ_Conf[Conf\]
        PRJ_Conf --> Models_PLC[Models\PLC\]
        PRJ_Conf --> NetSwitches[NetSwitches\]
        PRJ_Conf --> EventLists[EventLists\]
        USR --> ResultFiles[ResultFiles\]
    end

    subgraph "Глобальный репозиторий"
        Libraries[Libraries]
        Libraries --> JscGlobalConf[JscGlobalConf]
    end

    Conf -->|SVN External<br>svn://nashgit.ru/automiq/Libraries/JscGlobalConf| JscGlobalConf

    style JSC fill:#e6f3ff,stroke:#333
    style Libraries fill:#fff2cc,stroke:#333
    style Conf fill:#d9ead3,stroke:#333
    style JscGlobalConf fill:#d9ead3,stroke:#333

Рис. 2. Диаграмма связей каталога JSC с глобальным репозиторием.

Диаграмма отображает структуру каталога JSC и его зависимость от централизованной библиотеки типовых моделей. Каталог JSC\Conf является ссылкой (SVN External) на репозиторий svn://nashgit.ru/automiq/Libraries/JscGlobalConf

Каталог Расположение Назначение
JSC\Conf Глобальный уровень Ссылка на централизованный репозиторий svn://nashgit.ru/automiq/Libraries/JscGlobalConf/Automiq. Содержит типовые модели устройств, системные настройки, шаблоны и утилиты, которые должны применяться во всех проектах АСПСиПТ.
JSC\Conf\Models\ObjTypes Глобальный уровень Содержит файлы моделей (XLS) типовых объектов (например, TreiS304.xls, NetDiag1.xls), используемых для генерации устройств в DevStudio. Модели могут быть сгруппированы в подкаталоги (например, Diagnostic\Snmp\, AFA\).
JSC\Conf\Models\System Глобальный уровень Содержит системные модели, необходимые для функционирования генератора:
Labels\ — Сопоставление тегов и наименований сигналов.
Events\ — Определение шаблонов аварийных сообщений.
Modbus\Devices\ — Описание состава фреймов для устройств Modbus.
JSC\Conf\Models\TagAssignement Глобальный уровень Содержит модели (Map.*.xls) для преобразования тегов исполнительных механизмов в наименования сигналов.
JSC\Conf\Tools Глобальный уровень Содержит утилиты для настройки и управления проектом:
SettingManager — Для управления глобальными переменными.
Selector — Для выбора моделей из списка.
JSC\USR\PRJ\Conf\Models\PLC Локальный уровень Содержит модели ПЛК, разработанные специально для данного проекта.
JSC\USR\PRJ\Conf\NetSwitches Локальный уровень Может содержать проектные переопределения или дополнения к глобальной модели NetSwitches.xls.
JSC\USR\PRJ\ResultFiles Локальный уровень Каталог, в который система AutomiqAutomation сохраняет результаты своей работы (сгенерированные файлы импорта для DevStudio, HMI и т.д.).
Note

Использование глобального репозитория для хранения каталога JSC\Conf обеспечивает единообразие и согласованность всех проектов. При обновлении типовой модели (например, добавлении нового типа датчика или исправлении ошибки в модели коммутатора) все проекты могут быть легко актуализированы простым обновлением (update) своего каталога JSC\Conf.

Это позволяет:

  • Снижать количество ошибок, так как все проекты используют проверенные и отлаженные компоненты.
  • Ускорять разработку, избегая дублирования усилий.
  • Обеспечивать сквозную согласованность данных между проектами.

Модели в глобальном репозитории могут редактироваться и дорабатываться разными разработчиками. После внесения изменений и заливки в репозиторий, обновленные модели становятся доступными для использования во всех проектах, что способствует постоянному развитию и совершенствованию библиотек типовых решений.

2.2.3 Каталог Unimod

Каталог Unimod является рабочим пространством для проектов, разрабатываемых в среде программирования ПЛК ТРЕЙ — Unimod 2. Он служит центральным хранилищем всех проектных файлов, включая логику, типы данных, теги и конфигурации задач.

В этом каталоге может быть организована структура папок произвольной сложности (например, по функциональным зонам, технологическим участкам или типам контроллеров). На последнем уровне этой иерархии находятся непосредственно проекты Unimod 2, каждый из которых представляет собой отдельный подкаталог с уникальным именем (например, P0-80-030-JF01-CA1001-1A, L1_12Y02_000_JP04_CC1001_1A).

Таким образом, в одной директории Unimod может одновременно находиться множество проектов ПЛК, что позволяет удобно управлять конфигурациями нескольких контроллеров в рамках одного проекта АСУ.


2.2.3.1. Путь к проекту Unimod 2

Путь к каталогу с проектом ПЛК должен быть указан в модели ПЛК на листе PlcOptions в переменной VQ с именем UnimodFolder.

Пример:

VQ | UnimodFolder | F0_80_010_JF01_CC_0001

Этот параметр определяет относительный путь от корня проекта (JSC\USR\PRJ) до папки с проектом Unimod 2. Например:

  • Если UnimodFolder = F0_80_010_JF01_CC_0001, то проект будет создан в:
    JSC\USR\PRJ\Unimod\F0_80_010_JF01_CC_0001.
  • При необходимости можно указать более сложную структуру (например, Unimod/Logic/F0_80_010_JF01_CC_0001).

2.2.3.2. Структура проекта Unimod 2

Каждый проект Unimod имеет собственную подпапку (например, P0-80-030-JF01-CA1001-1A), внутри которой организована стандартная структура:

Каталог Назначение
{UnimodProject}\app\ Содержит основные приложения проекта
{UnimodProject}\tags\ Хранит теги и переменные проекта.
{UnimodProject}\tasks\ Содержит задачи исполнения (цикл, фоновые задачи и т.д.).
{UnimodProject}\varLists\ Содержит списки переменных.
{UnimodProject}\functions\ Ссылка на глобальный репозиторий. Содержит библиотечные функции
{UnimodProject}\types\ Ссылка на глобальный репозиторий. Содержит определения типов данных (UDT) и функциональные блоки.
Note

Каталоги functions и types являются SVN externals, которые ссылаются на соответствующие библиотечные проекты в глобальном репозитории svn://nashgit.ru/automiq/Libraries/Unimod/. Выбор конкретной библиотеки зависит от специфики проекта автоматизации:

Глобальный репозиторий Назначение Статус
svn://nashgit.ru/automiq/Libraries/Unimod/2x/AfaProject/ Библиотечный проект, содержащий типовые блоки и типы данных для систем АСПСиПТ (Автоматизация Систем Пожаротушения и Сигнализации Пожара). Актуальный
svn://nashgit.ru/automiq/Libraries/Unimod/2x/ApucsProject/ Объединенный библиотечный проект, используемый для систем РСУ, ПАЗ и АСУЭ. Является основным для новых проектов этих направлений. Актуальный
svn://nashgit.ru/automiq/Libraries/Unimod/2x/DcsEsdProject/ Устаревший библиотечный проект с блоками для систем РСУ, ПАЗ и СКЗ. Устаревший (используется только для поддержки старых проектов)
svn://nashgit.ru/automiq/Libraries/Unimod/2x/AucsProject/ Устаревший библиотечный проект с блоками для систем АСУЭ. Устаревший (используется только для поддержки старых проектов)

Пример внешних ссылок для проекта АСПСиПТ:

Для проекта АСПСиПТ, например PSaLA_MST_AFA, настройки SVN externals будут выглядеть следующим образом:

Каталог в проекте Ссылка на репозиторий (SVN External)
P0-80-030-JF01-CA1001-1A/functions svn://nashgit.ru/automiq/Libraries/Unimod/2x/AfaProject/functions
P0-80-030-JF01-CA1001-1A/types svn://nashgit.ru/automiq/Libraries/Unimod/2x/AfaProject/types

Это обеспечивает использование единой, проверенной библиотеки типов и функций для всех проектов АСПСиПТ.

2.3 Использование системы контроля версий

Система AutomiqAutomation интегрирована с SVN (Subversion) — централизованной системой контроля версий, обеспечивающей:

  • Совместную работу команды разработчиков
  • Контроль изменений и ведение истории правок
  • Возможность отката к предыдущим версиям
  • Согласованность между проектами и библиотеками

2.3.1. Связи между каталогами Libraries и проектом

  • Каталог Libraries является общим репозиторием, доступным для всех проектов.
  • При создании нового проекта система автоматически подтягивает актуальные версии библиотек.
  • Изменения в Libraries могут быть синхронизированы со всеми проектами через обновление (Update).

2.3.1.1. *Основные правила пользования SVN

При работе с системой контроля версий (SVN) необходимо соблюдать следующие правила для обеспечения стабильности и согласованности проектов:

  1. Обновление перед началом работы
    Перед началом работы выполните команду Update, чтобы получить актуальные версии всех файлов и избежать конфликтов.

  2. Коммит с понятным комментарием
    После внесения изменений зафиксируйте их командой Commit, обязательно указав понятный и информативный комментарий, описывающий суть изменений.

  3. Не коммитить временные файлы
    Не добавляйте в репозиторий временные файлы, такие как кэш, логи, локальные конфигурации или пользовательские настройки (*.log, *.tmp, .vscode/, .idea/ и т.д.).

  4. Согласование изменений в библиотеках
    Все изменения в каталоге Libraries должны быть согласованы с руководителем проекта, так как они затрагивают общие компоненты, используемые несколькими проектами.

  5. Важное предупреждение об использовании ссылок (SVN Externals)

Important
> ⚠️ **Будьте предельно внимательны при выполнении команды `Commit`!**  
> Каталоги `JSC\Conf`, `Unimod\functions`, `Unimod\types` и другие являются **внешними ссылками (SVN Externals)**, которые указывают на отдельные репозитории (`svn://nashgit.ru/automiq/Libraries/...`).  
> При внесении изменений в файлы внутри этих каталогов и последующем `Commit`, вы **изменяете содержимое внешнего репозитория**, а не только своего проектного. Это повлияет на все проекты, использующие эти библиотеки.  
> 
> **Рекомендация**: Прежде чем коммитить изменения в таких каталогах, убедитесь, что:
> *   Изменения действительно должны быть глобальными.
> *   Вы имеете соответствующие права доступа.
> *   Изменения были проверены и протестированы.
  1. Архивация завершенных проектов
    Версии проектов, помещенные в каталог SavedProjects, также подлежат архивации в SVN для долгосрочного хранения и возможности восстановления.

Необходимость использования SVN

  • Обеспечивает единый источник правды для всех участников проекта.
  • Позволяет отслеживать историю изменений и выявлять причины ошибок.
  • Минимизирует риски потери данных при сбоях.
  • Поддерживает параллельную разработку нескольких проектов на базе общих библиотек.