Файл проекта SCADA-системы SIMATIC WinCC. Внутреннее устройство

Проектный файл WinCC 7.0 SP2

Рис. 5. Cодержимое потока ProjectSettings из проектного файла WinCC версии 7.0 SP2

Таблица 4. Cодержимое потока ProjectSettings проектного файла WinCC версии 7.0 SP2 после анализа

Поля

Назначение

Комментарий

Адрес (HEX)

Длина, байт (HEX)

Значение (HEX или ASCII)

00

04

00 00 10 00

Неизвестно

 

04

01

08

Длина поля имени компьютера

 

05

08

PROASUTP

Имя компьютера

 

0D

01

34

Длина поля сетевого пути к конфигурационной базе данных проекта

 

0E

34

\\PROASUTP\WinCC_Project_PrjWinCC702\PrjWinCC702.mdf

Сетевой путь к конфигурационной базе данных проекта

 

42

01

1D

Длина поля DSN

 

43

1D

CC_PrjWinCC_11_02_16_13_16_26

DSN

 

60

05

0100 00 00 02

Неизвестно

Разбивка на поля произвольная

65

11

00 00 00 00 00 00 00 00 00 00 00

Неизвестно

70

04

34 0D F2 01

Неизвестно

74

0D

00 00 00 00 00 00 00 00 00 00 00 00 00

Неизвестно

81

01

01

Неизвестно

82

0A

00 00 00 00 00 00 00 00 00 00

Неизвестно

8C

01

0E

Длина поля имени экземпляра MSSQL сервера.

В данном случае это Microsoft SQL Server 2005

8D

0E

PROASUTP\WinCC

Имя экземпляра MS SQL Server

 

9B

14

00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Неизвестно

 

Выводы

  1. От версии к версии формат проектного файла WinCC может меняться, поэтому надо быть осторожнее в использовании данной информации для новых версий WinCC и для каждой новой версии проводить отдельное исследование;
  2. Строки в проектном файле хранятся в ASCII, похоже это связано с тем, что WinCC на текущий момент не поддерживает UNICODE;
  3. Очевидный факт, в содержимом ProjectSettings имеются пробелы – поля, назначение которых еще предстоит выяснить;
  4. Содержимое ProjectSettings более менее понятно для известных полей: сначала идет байт, в котором указывается длина строки в байтах, а затем идет собственно сама строка;
  5. Из личного опыта, при изменении длины имени компьютера, пути к проекту WinCC или имени самого проекта, длина структуры ProjectSettings меняется, хотя размер неизвестных полей остается постоянным, что также можно использовать.

Страницы

Теги: