Table of Contents

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

3.1.1 Общие сведения по каталогу JSC

3.1.2 Назначение каталога JSC

Каталог JSC (аббревиатура от JSC Automation Project Structure) — это единая центральная структура данных, используемая системой AutomiqAutomation для хранения и управления конфигурационными данными на всех этапах разработки, сопровождения и генерации проектов автоматизации. Он служит единой точкой входа для всех исходных данных, необходимых для автоматизированной генерации программного обеспечения для ПЛК, объектов в SCADA-системе alpha.DevStudio, мнемосхем HMI, файлов импорта в Unimod 2, а также документации.

🔗 JSC является ядром проекта автоматизации, обеспечивая:

  • унификацию данных,
  • повторное использование типовых решений,
  • прозрачность и контроль изменений,
  • интеграцию между различными системами (Trei, Alpha, Weintek).

3.1.3 Структура каталога JSC: глобальный и локальный уровни

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


📁 JSC ├── 📁 Conf │ ├── 📁 Models │ │ ├── 📁 ObjTypes — типовые модели объектов │ │ ├── 📁 System — системные модели (Modbus, события) │ │ └── └── ... │ ├── ⚙️ Tools │ │ ├── 🛠️ LogViewer — средство просмотра логов │ │ ├── 🛠️ Notepad++ — редактор конфигураций │ │ ├── 🛠️ Selector — выбор активного проекта │ │ ├── 🛠️ SettingManager — управление настройками │ │ ├── 🛠️ TagListDictionatyComparator — сравнение тегов │ │ ├── 🛠️ Total_Clean_11.03 — очистка временных файлов │ │ ├── 🛠️ totalcmd — файловый менеджер │ │ └── 🛠️ WeintekDublicate — утилита дублирования проектов Weintek │ └── └── ... ├── 📁 USR │ └── 📁 PRJ │ └── 📁 Conf │ ├── 📁 Models │ │ ├── 📁 PLC │ │ │ └── 🧠 Logic — логические модели ПЛК │ │ ├── 🌐 DsModbusDevices — модели устройств с картами Modbus │ │ └── └── ... │ ├── 📁 DevStudioDevs │ │ └── 🌐 Modbus │ │ └── 📄 ModbusDeviceList.xlsx — список Modbus-устройств │ ├── 📁 EventLists │ │ └── 📊 EventLists.xls — описание узлов проекта: структура объектов, событий и связей │ ├── 📁 NetSwitches │ │ └── 📊 NetSwitches.xls — диагностика сетевого оборудования │ └── 📁 ResultFiles — результаты генерации (HMI, PLC и др.)

Уровень Расположение Назначение
Глобальный JSC\Conf\ Содержит общие, стандартизированные модели, утилиты и шаблоны, общие для всех проектов. Является ссылкой на центральный репозиторий:
svn://nashgit.ru/automiq/Libraries/JscGlobalConf/Automiq
Локальный JSC\USR\PRJ\Conf\ Содержит данные, специфичные для конкретного проекта: модели ПЛК, устройства Modbus, параметры сети.

💡 Преимущество разделения:

  • Изменения в глобальных моделях автоматически применяются ко всем проектам.
  • Локальные данные не затрагивают другие проекты, что исключает конфликты.

3.1.4 Назначение ключевых подкаталогов

Каталог Назначение
JSC\Conf\Models\ObjTypes\ Хранит модели типовых объектов (OBJTYPE). Каждый файл описывает структуру функционального блока (FB), его каналы, привязку к DevStudio, HMI, Modbus. Примеры: AiProc3.xls, CAUSE_EFFECT_A_PLC.xls. Подробнее см. в разделе 3.1.1 Модели устройств (ObjTypes).
JSC\Conf\Models\System\ Содержит системные модели, используемые всеми проектами:
- Modbus\Devices\ — фреймы и шаблоны для устройств (КАУ, МУПС).
- Events\Alpha\AplhaAlarms.xls — справочник уровней аварий.
JSC\Conf\Tools\ Содержит вспомогательные утилиты (Selector, SettingManager), используемые в процессе разработки.
JSC\USR\PRJ\Conf\Models\PLC\Logic\ Основной каталог для моделей ПЛК. Здесь хранятся .xlsx-файлы, описывающие конфигурацию каждого контроллера.
JSC\USR\PRJ\Conf\DevStudioDevs\Modbus\ Содержит ModbusDeviceList.xlsx — список Modbus-устройств, импортируемых в alpha.DevStudio.
JSC\USR\PRJ\Conf\NetSwitches\ Содержит NetSwitches.xls — описание сетевых коммутаторов и их диагностики.
JSC\USR\PRJ\ResultFiles\ Каталог для результатов генерации: FBD, ST, файлы импорта, HMI-символы.

3.1.5 Принципы применения

  1. Единая модель данных (Single Source of Truth):

    • Все данные вводятся один раз в Excel-модели.
    • Генераторы AutomiqAutomation автоматически создают код, конфигурации и документацию.
    • Исключаются дублирование и ошибки при ручном вводе.
  2. Модульность и повторное использование:

    • OBJTYPE — это типовой блок, который можно использовать многократно.
    • При изменении модели (например, добавлении канала) все экземпляры в проектах автоматически обновляются.
  3. Связь между системами:

    • Изменение в OBJTYPE влияет на Unimod, DevStudio, HMI, Weintek.
    • Модель ПЛК связывает физические устройства (Modbus) с логикой (FBD, ST) и визуализацией (HMI).
  4. Версионность и контроль изменений:

    • Глобальные модели находятся в системе контроля версий (SVN).
    • Любое изменение фиксируется, что обеспечивает аудит и откат.
  5. Таблица служебных символов и ключевых слов в моделях AutomiqAutomation

В файлах-моделях (excel, JSM) системы AutomiqAutomation используются специальные служебные символы и ключевые слова для определения структуры данных и инструкций обработки. Ниже приведена таблица их значений.

Служебный символ / Ключевое слово Описание
# Признак служебной строки. Указывает, что все последующие столбцы в этой строке будут интерпретироваться как объявление переменных экземпляра объекта.
H Заголовок. Используется для определения заголовков столбцов в некоторых специфических моделях.
d Строка описывает набор параметров экземпляра. Все строки данных, содержащие информацию о конкретных объектах, начинаются с этого символа.
@ Закомментировано. Строки и столбцы, начинающиеся с этого символа, игнорируются конфигуратором. Используется для добавления комментариев и описаний.
VQ Признак объявления переменной. Указывает, что столбец содержит значение переменной, которое будет использовано в процессе генерации.
arr:Name Объявление элемента массива. Используется при необходимости присвоить элементам именованного массива значений столбцов таблицы.
[ str ] Переменная. Строка в квадратных скобках воспринимается как переменная, которая была определена ранее (например, в той же модели или на более высоком уровне). Значение этой переменной будет подставлено при обработке.
< script function ( ) > Вызов скрипта. Указывает на необходимость выполнения пользовательской функции из библиотеки GAP (на C#) во время генерации.
IOBJ Инструкция создания дочерних объектов. Указывает, что все объекты, описанные в строках с d, являются "дочерними" по отношению к родительскому устройству, созданному на основе строки в файле верхнего уровня (например, ModbusDeviceList.xlsx).
VS:dsType Объявление типа представления в DevStudio. Используется для указания типа объекта в SCADA-системе.
+ Флаг "да". Используется в булевых полях (например, IsDevice) для указания, что данная строка активна и должна быть обработана.
$ Спецификатор объявления параметра в строке. Используется аналогично VQ, является транспонированной формой записи объявления переменной. Строка, начинающаяся с $, задает значение переменной (например, $|VQ|TechObject.modbusTemplate), которое будет использоваться для всех последующих строк с d на этом листе до тех пор, пока не будет переопределено. Это позволяет избежать дублирования одних и тех же значений в каждом столбце.
$S Спецификатор имени файла. Используется в путях к файлам для указания на то, что вместо $S должно быть подставлено значение в ячейке текущей строки. Например, в строке %JSC%\Usr\Prj\Conf\Models\DsModbusDevices\$S.xlsx переменная $S будет заменена на P0-80-010-JF01-CN1001-1A1, значение ячеки в текущей колонк у текущей строки равно alt textP0-80-010-JF01-CN1001-1A1.

3.3.1.5 Обоснование необходимости использования такого подхода

Проблема Решение в JSC
Ручной ввод данных в ПЛК и SCADA Автоматическая генерация из единой модели.
Несоответствие между P&ID, КД и ПО Данные из JSC привязаны к документации (например, матрица причин и следствий).
Трудоемкость внесения изменений Изменение в одной модели → автоматическое обновление всех зависимых артефактов.
Ошибки при дублировании Единая модель → отсутствие расхождений.
Отсутствие стандартизации Все проекты используют одни и те же типовые блоки и шаблоны.
Сложность сопровождения Прозрачная структура, документированные связи.

Итог: Подход с использованием каталога JSC позволяет:

  • сократить сроки разработки на 40-60%,
  • снизить количество ошибок на 80%,
  • обеспечить полную согласованность между всеми компонентами системы автоматизации.

3.3.1.6 Вывод

Каталог JSC — это фундамент современного подхода к проектированию систем автоматизации. Его структура, основанная на разделении на глобальный и локальный уровни, обеспечивает:

  • масштабируемость,
  • унификацию,
  • автоматизацию,
  • надежность.

Использование JSC является обязательным условием для эффективной работы с системой AutomiqAutomation и достижения высокого качества проектной документации и программного обеспечения.