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

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
English (1 Кб) English
Russian (1 Кб) Российский
 (2 Кб) Сторінку заморожено, актуальна тут.

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

Модуль: Siemens
Ім'я: Збір даних Siemens
Тип: DAQ
Джерело: daq_Siemens.so
Версія: 2.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).


Вкладка конфигурации CIF-плат. (90 Кб)
Рис.1. Вкладка конфігурації CIF-плат.

За допомогою цієї форми можна проконтролювати наявність комунікаційних процесорів, їх конфігурацію, а також налаштувати параметри мережі ProfiBus у вигляді PB адреси комунікаційного процесору та швидкості шини ProfiBus. У другій вкладці модуля (рис.2) можна проконтролювати наявність різних станцій в мережі ProfiBus.


Вкладка мониторинга сети Profibus. (74 Кб)
Рис.2. Вкладка моніторингу мережі ProfiBus.

2. Об'єкт контролеру джерела даних

Для додання джерела даних створюється та конфігурується об'єкт контролеру у системі OpenSCADA. Приклад вкладки конфігурації об'єкта контролера цього типу зображено на рисунку 3.


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

За допомогою цієї вкладки можна встановити:

3. Об'єкт параметру джерела даних

Враховуючи високу інтелектуальність джерел даних в особі промислових контролерів фірми Siemens S7-200,300,400, об'єкти параметру виконуються на основі шаблонів (RU). Такий підхід дозволяє не обмежуватися жорстким переліком типів параметрів, що обмежує й можливості контролерів, а надати можливість користувачу формувати потрібні йому типи параметрів самостійно або використовувати бібліотеки вже розроблених раніш типів параметрів (шаблонів).


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


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

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


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

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

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


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

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

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

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

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


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

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

Стандартним режимом запису для SCADA-систем, які взаємодіють із PLC, є синхронний оскільки дозволяє контролювати коректність завершення операції запису. Однак у випадку запису множини параметрів одразу такий підхід не виправданий у зв'язку із надсиланням безлічі мілких запитів у контролер, що перевантажує ПЛК та займає тривалий проміжок часу. Рішенням цієї проблеми є асинхронний запис суміжних значень одним блоком. Такий режим підтримується цим модулем та дозволяє записувати всі параметри одразу суміжними блоками по 240 байт. Читання та запис у такому режимі здійснюється суміжними блоками із періодичністю опитування контролеру.

5. Зауваження

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

Посилання

Драйвер фірми Hilscher для плат сімейства CIF: cif2621.tgz
Патч для збірки драйверу для ядра Linux 2.6.29: lastkernels.patch
Звіт про падіння, LibnoDave специфічне: crash_20160127_0911.crash.gz


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


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