OpenSCADAWiki: Doc/ Siemens ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
English (1 Кб) English
Ukrainian (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, объекты параметра выполняются на основе шаблонов. Данный подход позволяет не ограничиваться жёстким перечнем типов параметров, что ограничивает и возможности контроллеров, а предоставить возможность пользователю формировать нужные ему типы параметров самостоятельно или использовать библиотеки уже разработанных ранее типов параметров (шаблонов).


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


Вкладка конфигурации параметра. (81 Кб)
Рис.4. Вкладка конфигурации объекта параметра.

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


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

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

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


Пример шаблона с группированием. (103 Кб)
Рис.5. Пример шаблона с группированием.

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

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

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

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


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

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

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

5. Замечания

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

Ссылки

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


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


 
There are 12 files on this page.[Display files/form]
Comments [Hide comments/form]