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 Принципы применения
Единая модель данных (Single Source of Truth):
- Все данные вводятся один раз в Excel-модели.
- Генераторы AutomiqAutomation автоматически создают код, конфигурации и документацию.
- Исключаются дублирование и ошибки при ручном вводе.
Модульность и повторное использование:
- OBJTYPE — это типовой блок, который можно использовать многократно.
- При изменении модели (например, добавлении канала) все экземпляры в проектах автоматически обновляются.
Связь между системами:
- Изменение в
OBJTYPE
влияет на Unimod, DevStudio, HMI, Weintek. - Модель ПЛК связывает физические устройства (Modbus) с логикой (FBD, ST) и визуализацией (HMI).
- Изменение в
Версионность и контроль изменений:
- Глобальные модели находятся в системе контроля версий (SVN).
- Любое изменение фиксируется, что обеспечивает аудит и откат.
Таблица служебных символов и ключевых слов в моделях 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 , значение ячеки в текущей колонк у текущей строки равно ![]() P0-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 и достижения высокого качества проектной документации и программного обеспечения.