OpenSCADAWiki: Home Page Uk/Doc/ Siemens ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageUk/Doc/Siemens from 2016-01-14 11:59:02..

Модуль "Siemens", підсистеми "Збір даних"

Модуль: Siemens
Ім'я: Збір даних Siemens
Тип: DAQ
Джерело: daq_Siemens.so
Версія: 2.0.0
Автор: Роман Савоченко
Опис: Надає джерело даних ПЛК Siemens за допомогою карт Hilscher CIF, з використанням протоколу MPI, та бібліотеки LibnoDave, або власної, для іншого.
Ліцензія: GPL

Contents

Вступ

Першочерговою метою створення цього модуля становить забезпечення підтримки промислових контролерів фірми Siemens серії S7 (S7-200,300,400). Історично склалося, що доступ до контролерів вказаної фірми у мережі ProfiBus здійснюється тільки за посередництвом власних комунікаційних процесорів (CP5412, CP5613 та інше) та власного протоколу S7. Вказані комунікаційні процесори та API до протоколу S7 достатньо дорогі, крім того драйвери до комунікаційних процесорі та S7 API закриті, а також доступні тільки для платформи Intel + MS Windows (зустрічалась інформація про можливість придбати для Linux).


У якості альтернативи комунікаційним процесорам від фірми Siemens, які дозволяють повноцінно працювати із контролерами фірми Siemens, є спектр комунікаційних продуктів фірми Hilscher (http://hilscher.com) у особі комунікаційних процесорів CIF серії PB(Profibus) та бібліотека LibnoDave (http://libnodave.sourceforge.net).


Особливістю продуктів Hilscher є повністю відкрита специфікація протоколу обміну із комунікаційним процесором, уніфікований драйвер для всіх плат CIF, наявність драйверу для багатьох розповсюджених операційних систем(ОС) та відкритість драйверу для ОС Linux (GPL).


У основу даного модуля покладено драйвер версії 2.621 фірми Hilsher, люб'язно наданого фірмою Hilsher в особі Devid Tsaava для ядер серії 2.6 ОС Linux. Всі потрібні для збірки файли включені у модуль та не потребують задоволення спеціальних залежностей. Драйвер версії 2.621 для плат CIF можна завантажити тут.


Спектр плат фірми Hilsher родини CIF та уніфікований драйвер підтримують широкий спектр обладнання. Закласти підтримку всіх цих можливостей у цьому модулі, не маючи всього цього обладнання на руках, не є можливим. Тому підтримка того або іншого обладнання буде додаватися у міру потреби та наявності обладнання. По стану на версію 2.0.0 модулем надається підтримка джерел даних на мережі ProfiBus або MPI за посередництвом протоколу MPI, на швидкостях мережі від 9600Бод до 12МБод. Зокрема підтримуються та виконано перевірку на контролерах фірми Siemens родини S7 (S7-200,300,400).


Бібліотека LibnoDave є реалізацією, шляхом реверсінженірингу, протоколів MPI, S7, ISO-TSAP та інших, які використовуються при взаємодії із контролерами фірми Siemens. Бібліотекою підтримуються багато MPI та USB адаптерів, а також ProfiNet. Комунікаційні процесори фірми Siemens, на платформах відмінних від MS Windows, бібліотекою не підтримуються. На цьому етапі модулем забезпечено підтримку протоколу ISO-TSAP(ProfiNet) за посередництвом бібліотеки LibnoDave. Бібліотеку LibnoDave повністю включено в цей модуль та не потребує вирішення залежностей як при збірці, так і при виконанні.


 (2 Kb) У коді бібліотеки LibnoDave присутні складно-вловимі помилки, які переважно відтворюються пі великим навантаженням та в момент підключень, що призводить до псування пам'яті процесу та падіння у непередбачених місцях. У зв'язку з цим, з версії 2 цього модуля, розпочато процес переписування потрібних функцій та код зв'язку ISO-TCP вже готовий до використання.


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


Переклад триває

1. Коммуникационные контроллеры CIF

Драйвером плат семейства CIF поддерживается возможность установки до 4 CIF плат. С целью контроля за наличием плат в системе и возможности их конфигурации, модуль содержит форму контроля и конфигурации CIF-плат (рис.1).


file:cif_dev.png
Рис.1. Вкладка конфигурации CIF-плат.

С помощью этой формы можно проконтролировать наличие коммуникационных процессоров, их конфигурацию, а также настроить параметры сети ProfiBus в виде PB адреса коммуникационного процессора и скорости шины ProfiBus. В другой вкладке модуля (рис.2) можно проконтролировать наличие различных станций в сети ProfiBus.


file:siemens_pb.png
Рис.2. Вкладка мониторинга сети ProfiBus.

2. Объект контроллера источника данных

Для добавления источника данных создаётся и конфигурируется объект контроллера в системе OpenSCADA. Пример вкладки конфигурации объекта контроллера данного типа изображен на рисунке 3.


Вкладка конфігурації контролеру. (127 Kb)
Рис.3. Вкладка конфигурации контроллера.

С помощью этой вкладки можно установить:

3. Объект параметра источника данных

Учитывая высокую интеллектуальность источников данных в лице промышленных контроллеров фирмы Siemens S7-200,300,400, объекты параметра выполняются на основе шаблонов?. Данный подход позволяет не ограничиваться жёстким перечнем типов параметров, что ограничивает и возможности контроллеров, а предоставить возможность пользователю формировать нужные ему типы параметров самостоятельно или использовать библиотеки уже разработанных ранее типов параметров (шаблонов).


Исходя из этого, модуль предоставляет только один тип параметров — "Логический". Дополнительными конфигурационными полями параметров данного модуля (рис.4) является поле выбора шаблона параметра.


Вкладка конфігурації об'єкту параметра. (77 Kb)
Рис.4. Вкладка конфигурации объекта параметра.

Для конфигурации шаблона параметра предоставляется соответствующая вкладка. Содержимое этой вкладки определяется конфигурацией шаблона, т.е формируются соответствующие ссылочные поля и поля установки постоянных.


Типы ссылок определяются типом параметра в шаблоне (Логический, Целый, Вещественный и Строковый) и определением значения ссылки (для групповых ссылок). Определение групповой ссылки в шаблоне записывается в формате: "{Имя ссылки}|{Смещение в БД}|{Размер значения}", где:

Имя ссылки — имя групповой ссылки. Все ссылки с одинаковым именем группируются и указываются как одна ссылка на БД или БД с указанным смещением.
Смещение в БД — имя смещения в блоке данных (БД). При указании только БД, при конфигурации шаблона, это смещение будет указанно для параметра, если же при конфигурации шаблона будет указано и смещение, то оба смещения будут суммироваться вместе. Такой подход позволяет обращаться к множеству структур в одном БД. Номер БД и смещение можно указывать в десятичной (3245) и шестнадцатеричной форме (0xCAD).
Размер значения — необязательное поле, которое определяет нестандартный размер значения в контроллере. Предусмотрены следующие размеры типов значений:
Целое: — 1 байт(знаковый), 2 байта(знаковый, по умолчанию) и 4 байта(знаковый).
Вещественное: — 4 байта(float, по умолчанию), 8 байт(double).
Логический: — всегда один байт (с указанием бита через точку - DB1.10.1).
Строка: — 10 байт(по умолчанию) и 1-200 можно указывать.

Наглядный пример общего процесса конфигурации параметра от шаблона и до значений приведен в рисунках от 5 до 8.


Приклад шаблону із групуванням. (116 Kb)
Рис.5. Пример шаблона с группированием.

Вкладка конфігурації шаблону параметра. (73 Kb)
Рис.6. Вкладка конфигурации шаблона параметра

Вкладка конфігурації шаблону параметра із визначенням параметрів окремо. (79 Kb)
Рис.7. Вкладка конфигурации шаблона параметра с указанием параметров по отдельности.

Значення параметру. (81 Kb)
Рис.8. Значения параметра.

 (2 Kb) Модулем поддерживается адресация только к блокам данных (БД) контроллеров.


Модулем предусмотрена особая обработка ряда атрибутов шаблона:

4. Асинхронный режим записи

Стандартным режимом записи для SCADA-систем, взаимодействующих с PLC, является синхронный поскольку позволяет контролировать корректность завершения операции записи. Однако в случае записи множества параметров сразу такой подход не оправдан в виду отправки множества мелких запросов в контроллер, что перегружает PLC и занимает большой интервал времени. Решением этой проблемы является асинхронная запись смежных значений одним блоком. Такой режим поддерживается этим модулем и позволяет записывать все параметры сразу смежными блоками по 240 байт. Чтение и запись в таком режиме производится смежными блоками с периодичностью опроса контроллера.

5. Замечания

После целенаправленного поиска было обнаружено несколько решений проблемы коммуникации с промышленными контроллерами фирмы Siemens посредством различных коммуникационных интерфейсов:

Ссылки

Драйвер фирмы Hilscher для плат семейства CIF: file:cif2621.tgz
Патч для сборки драйвера для ядра Linux 2.6.29: file:lastkernels.patch


Referring pages: HomePageUk/Doc
HomePageUk/Doc/DAQ
HomePageUk/Doc/OpenSCADA060
HomePageUk/Function


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]