Расширение для Visual Studio Code, предоставляющее полную поддержку языка CTRL/CTRL++ для разработки проектов ПТК Каскад (WinCC OA). Расширение превращает VS Code в полноценную IDE для работы со скриптами, панелями и точками данных системы Каскад.
✨ Возможности расширения
Fixline Tool Kaskad превращает VS Code в полноценную IDE для разработки на CTRL/CTRL++:
🔤 Языковая поддержка
IntelliSense, автодополнение, навигация по коду (F12), поиск ссылок (Shift+F12), переименование (F2), диагностика ошибок в реальном времени и автоматические исправления — всё, что нужно для комфортной разработки.
📊 DPE Explorer
Визуальный инструмент для работы с точками данных: поиск, просмотр истории значений, отправка новых значений, SQL запросы и система избранного — всё прямо в VS Code.
📋 Просмотр DPL файлов
Табличное отображение .dpl файлов (дамп базы данных) с поддержкой множественных секций, сортировки и автоматическим расширением заголовков — удобный просмотр структурированных данных прямо в VS Code.
🎨 Интеграция с проектами Каскад
Запуск скриптов, открытие панелей, проверка синтаксиса, просмотр логов и работа с unit-тестами — без переключения между приложениями.
🛠️ Инструменты разработчика
Автоматическое создание классов, генерация UML диаграмм, создание документации Doxygen, работа с GitLab changelog и многое другое для ускорения разработки.
📚 Умные подсказки и автодополнение
Автоматическое предложение #uses директив для неизвестных классов из библиотек, подсказки параметров функций, hover информация и встроенные сниппеты для стандартных конструкций CTRL++.
🚀 Быстрый старт
Установка
- Установите расширение из VS Code Marketplace
- Откройте папку с проектом ПТК Каскад (конфигурационный файл проекта считывается автоматически)
Базовая настройка
В настройках расширения (Ctrl+, → поиск "FixLineTool") укажите:
- Путь к папке PVSS (
FixLineTool.ProgramPath.PvssFolderPath) — путь к установке ПТК Каскад
- Имя пользователя (
FixLineTool.OpenPanel.UserName) — для подключения к панелям
- Пароль (
FixLineTool.OpenPanel.Password) — для подключения к панелям
Настройка DPE Explorer (опционально)
Для работы с DPE Explorer:
- Скопируйте скрипт
resources/Fixline_extension.ctl в ваш проект
- Рекомендуется: скопировать в папку дистрибутива
scripts и добавить в pvss_scripts.lst — это будет работать для всех проектов
- Запустите скрипт в системе Каскад
- Включите DPE Explorer в настройках:
FixLineTool.DpeServer.EnableDpeExplorer = true
✨ Основные возможности
🔤 Языковая поддержка CTRL/CTRL++
Полноценная поддержка языка с использованием ANTLR4 парсера:
- Подсветка синтаксиса — цветовая схема для CTRL/CTRL++ кода
- Автодополнение (IntelliSense) — умные подсказки для функций, переменных, классов и констант ПТК Каскад
- Переход к определению — навигация по коду (F12)
- Поиск ссылок — поиск всех использований символа (Shift+F12)
- Переименование — безопасное переименование символов (F2)
- Подсказки параметров — отображение сигнатур функций при вводе
- Hover информация — всплывающие подсказки при наведении на символы
- Символы документа — навигация по структуре файла (Ctrl+Shift+O)
- Форматирование кода — автоматическое форматирование CTRL++ кода
- Диагностика — проверка синтаксиса в реальном времени с подсветкой ошибок
- Code Actions (Quick Fixes) — автоматические исправления:
- Предложение добавления
#uses директив для неизвестных классов, структур и enum из библиотек
- Добавление ошибок в список исключений
📊 DPE Explorer — управление точками данных
Интерактивный инструмент для работы с точками данных (datapoints) проекта:
- 🔍 Поиск DPE с историей запросов и поддержкой масок (например:
System1:Dpe.State.*)
- 📊 Просмотр истории значений за сутки в HTML интерфейсе:
- 📈 Интерактивный график для числовых и булевых значений с переключением между таблицей и графиком
- 📋 Табличное представление всех значений с временными метками
- 🔽 Сворачиваемая секция истории (по умолчанию свернута)
- ⚡ Отправка новых значений DPE элементам:
- Отправка по кнопке "Отправить" или нажатием Enter в поле значения
- Поддержка пустых строк и всех типов данных
- ⭐ Система избранного для быстрого доступа к часто используемым элементам
- 📋 Копирование ID элементов перетаскиванием или через контекстное меню
- 🛠️ SQL Query Tool для выполнения пользовательских запросов к базе данных
- 📈 Информация о DPE элементах (тип, конфигурация, состояние)
- 🎨 Красивое отображение булевых значений как цветные чекбоксы
- 🔄 Обновление в реальном времени с кнопками refresh для каждой секции
🎨 Работа с панелями
- Open panel — открыть панель в приложении ПТК Каскад (иконка в заголовке редактора для
.xml файлов)
- Panel preview — предварительный просмотр кода панели в редакторе
- Open project panel — быстрый выбор и открытие панели из проекта
- Open project panel with debug — открытие панели с отладчиком
📋 Просмотр DPL файлов
Интерактивный просмотр .dpl файлов (дамп базы данных ПТК Каскад) в табличном виде:
- 📊 Табличное отображение данных с поддержкой множественных секций
- 🔽 Сворачиваемые секции для удобной навигации по большим файлам
- 📈 Сортировка по любой колонке одним кликом
Использование: Откройте .dpl файл и нажмите кнопку "View DPL as Table" в заголовке редактора.
📝 Работа со скриптами
- Run script — запуск CTRL/CTRL++ скрипта (иконка в заголовке редактора для
.ctl файлов)
- Check Script — проверка синтаксиса скрипта через
WCCOActrl.exe с отображением ошибок в логах
- Если для скрипта создан unit-тест, команда также запускает его
- Open UnitTest — создание или открытие unit-теста для текущего скрипта
- Start tests — запуск всех unit-тестов проекта
📚 Документация и справка
- Create help doxygen — создание документации в формате Doxygen (работает только при запущенном проекте и установленном Doxygen, требуется путь до папки
bin в PATH)
- Open ctrl Help — открытие справки по функции под курсором
- Get help Ctrlpp — открытие ChatGPT помощника для CTRL++
🛠️ Инструменты разработки
- Create child class — создание дочернего класса
- Create UML diagrams — создание UML диаграмм
- Create changelog — создание списка изменений из лога GitLab (требует токен, хранится в безопасном контейнере)
- Load dpl — загрузка DPL файлов
- View DPL as Table — просмотр .dpl файлов в табличном виде (кнопка в заголовке редактора для
.dpl файлов)
- Copy Cursor Rules and Documentation resources — копирование ресурсов для работы с Cursor AI и TypeScript определениями:
- Копирует
.cursorrules в корень каждой workspace папки
- Копирует
ctrl.functions.d.ts и ctrl.constants.d.ts в папку doc каждой workspace папки
- Автоматически добавляет эти файлы в
.gitignore
📋 Логи и отладка
- Open Log — создание output канала для отображения логов ПТК Каскад
- Рекомендуется установить расширение Output Colorizer для улучшенного отображения
📁 Управление проектами
- Open Project — открытие существующего проекта ПТК Каскад
📝 Сниппеты
Встроенные шаблоны кода для:
- Стандартных конструкций CTRL++
- Комментариев Doxygen
- Часто используемых паттернов
⚙️ Настройки
Основные настройки
| Настройка |
Описание |
По умолчанию |
FixLineTool.Syntax.CheckSyntax |
Включение проверки синтаксиса |
false |
FixLineTool.Syntax.KnownItems |
Известные элементы для автодополнения |
[] |
FixLineTool.Syntax.InnersReadFiles |
Глубина чтения вложенных файлов (#uses) |
2 |
FixLineTool.Syntax.HighlightCommentDoxygen |
Подсветка Doxygen комментариев |
false |
FixLineTool.OpenPanel.UserName |
Имя пользователя для подключения |
root |
FixLineTool.OpenPanel.Dollars |
Параметр Dollars для подключения |
|
FixLineTool.OpenPanel.Password |
Пароль для подключения |
|
FixLineTool.ProgramPath.PvssFolderPath |
Путь к установке ПТК Каскад |
C:/ProgramData/Sybcom/Kaskad |
FixLineTool.Gitlab.GitlabUrl |
URL GitLab сервера для создания changelog |
|
Настройки DPE Explorer
| Настройка |
Описание |
По умолчанию |
FixLineTool.DpeServer.EnableDpeExplorer |
Включить/отключить DPE Explorer и связанные функции |
true |
FixLineTool.DpeServer.ServerUrl |
URL сервера DPE для подключения к API |
http://localhost:5080 |
Изменение порта сервера: Если вы хотите изменить порт для Fixline_extension, укажите в настройках файла config:
[httpServer]
vscodeApiPort = <port>
Затем обновите URL в настройках расширения: http://localhost:<port>
📄 Поддерживаемые файлы
.ctl — CTRL/CTRL++ скрипты
.xml — панели ПТК Каскад
.dpl — дамп базы данных ПТК Каскад (отображение в виде таблицы)
🔧 Технические детали
Архитектура парсера
- ANTLR4: Все провайдеры языковой поддержки используют единый ANTLR4 парсер
- Кэширование: LRU-кэш для результатов парсинга с автоматической инвалидацией при изменении файлов
- Производительность: Оптимизированная обработка больших проектов с множеством
#uses директив
- Ленивая загрузка: Символы из
#uses файлов загружаются по требованию для улучшения производительности
Требования: VS Code 1.93.0 или выше