Файл проекту SCADA-системи SIMATIC WinCC

simatic

Будь-хто, хто стикався у своїй роботі зі SCADA-системоюSIMATIC WinCC, відкривав або запускав на виконання проектиWinCC. При цьому мало хто звертав увагу на проектний файл, що має розширення.mcp. Тим не менш, при детальнішому вивченні з нього можна отримати деяку цікаву інформацію.

Мета цієї статті – познайомитися з внутрішнім пристроєм проектного файлуSCADA-системиSIMATIC WinCC (далі простоWinCC ). Знання внутрішнього пристрою проектного файлуWinCC може дуже стати в нагоді, якщо встане питання автоматизації розгортанняпроекту WinCC, що власне і стало приводом для дослідження даного питання.

Структуроване сховище

Файл проектуWinCC, що має розширення .mcp, є структурованим сховищем (Structured Storage) або по-іншому складеним файлом. Що таке структуроване сховище? Якщо однією пропозицією – це файлова система всередині файлу. Наприклад на рис. 1 показаний проектний файлWinCC :

На відміну від звичайної файлової структури, де використовуються терміни директорія та файл, у файлі структурованого сховища використовується відповідно терміни сховище (Storage) та потік (Stream). Якщо подивитися на рис. 1, то BAXAN – це директорія (сховище), аProjectSettings – це файл (потік).

До речі, такі файли як документ Microsoft Word та таблиця Microsoft Excel також є файлами структурованого сховища (складовими файлами).

Ті, кого цікавить детальніша інформація з цього питання, можуть звернутися до таких джерел, як Structured Storage (MSDN), Структуроване сховище (Перші кроки), або жсамостійно знайти потрібну інформацію на просторах Інтернету.

Інструменти для дослідження структурованого сховища

  1. DocFileViewer – ця утиліта, що входить до складу інструментів Microsoft Visual Studio 6.0, може лише переглядати будь-які файли структурованих сховищ, а не лише документи, як це може здатися з її назви. На сьогодні актуальна версія 2.0;
  2. CompoundFK – повноцінна утиліта для роботи з файлами структурованих сховищ. Утиліта дозволяє не лише переглядати, але редагувати та створювати нові файли структурованих сховищ. Власне, ця утиліта і допомогла мені свого часу вивчити проектний файлWinCC. В даний час актуальною є версія 2.0;
  3. StructuredStorageViewer(SSViewer) – ця утиліта є найбільш функціональною, оскільки крім можливостей наданих утилітою CompoundFK, вона дозволяє переглядати потоки в різних уявленнях. Наприклад, у шістнадцятковому вигляді, як тексту, як картинки, як RTF чи як HTML файл. Утиліта також підтримує можливість використання додаткових плагінів для кодування/декодування потоків та багатовіконного режиму роботи. В даний час актуальною є версія 3.3.

Треба сказати, що найцікавішою та найзручнішою для мене виявилася утиліта SSViewer, власне з її допомогою я і проводив дослідження проектних файлівWinCC.

Внутрішній пристрій проектного файлу WinCC

У проведеному мною дослідженні брали участь проектні файли практично всіх версійWinCC :WinCC 4.02,WinCC 5.1,WinCC 6.0 SP4,WinCC 6.2 таWinCC 7.0 SP2. Забігаючи наперед, скажу, що від версії до версії WinCCпроектний файлзмінюється і тому інформацію про внутрішній структурі наведено кожної переліченої версії. Але, незважаючи на це, загальна внутрішня структура проектного файлу зберігається.

Отже, що мені вдалося з'ясувати першому етапі (див. рис. 1):

  • BAXAN – це сховище, що має як свою назву ім'я комп'ютера, на якому працював або був створений проект WinCC. Таким чином, відкривши будь-який проектний файл за допомогою однієї з описаних вище утиліт, можна дізнатися ім'я цього комп'ютера, що вже є корисною інформацією. Спостереження: у всіх проектах, створених вище за текстом, сховище залишається порожнім. Призначення та цілі його в проектному файліWinCC ще належить дізнатися;
  • ProjectSettings - потік, назва якого говорить сама за себе (буквально - налаштування проекту), зберігає в собі в двійковому вигляді загальні налаштування проектуWinCC. Власне, цей потік у проектних файлахWinCC різних версій і відрізняється своєю структурою.

На наступному етапі я вивчив потоки ProjectSettings для всіх наведених нижче версійWinCC. Щоб умови створення проектів для дослідження були однакові, я виконував такі дії:

Таким чином, я зробив 5 скріншотів та 5 таблиць для кожного проектного файлу відповідної версіїWinCC, які і наводжу нижче.