Системи за дистанционно управление в електрическите уредби


Конфигурационен файл matplc.conf



страница4/5
Дата04.08.2017
Размер0.96 Mb.
#27261
1   2   3   4   5

9. Конфигурационен файл matplc.conf
Конфигурационния файл е именуван matplc.conf , но може да бъде именуван и по друг начин. За да се използва друго име ,а не matplc.conf е необходимо да се зададе съответното име на алтернативен конфигурационен файл като параметър при стартиране на главната програма matplc.
В конфигурационния файл се прави описание на модулите, индивидуал-

ни параметри за същите, конфигуриране на глобалната карта на паметта на matplc. Дефиниране и обвързване на променливи.

Като такъв конфигурационният файл е главният файл в структурата на matplc.
9.1 Синтаксис на конфигурационния файл.
При стартиране основната програма (ядрото matplc) , конфигурационния файл бива прочитан ред по ред от същата като всеки ред се интерпретира поотделно. Редове , започващи със знак # са коментари и се игнорират от matplc.
9.1.1 Секции.
За всеки модул в конфигурационния файл е заделена секция.Например когато е дефинирано име на даден модул същото име ще бъде използвано за име на секция със специфични параметри за модула.
Секциите се именуват по следните два начина:


  • Като се използва [име_на_модул] с характерните правоъгълни скоби. Тази дефиниция стои на самостоятелен ред във matplc.conf

Параметрите за модула се четат до достигане на ред с дефиниция за друг модул


  • Като се постави в началото на реда израза

„section:име_на_модул”.В този случай за да се зададат няколко

параметъра за дадения модул е необходимо да се добавя

по-горния израз за всеки ред с параметри.
9.1.2 Единични стойности (single values).
Единични стойности в конфигурационния файл се дефинират като се използва синтаксиса:


  • *name = value

Където „name” е име на модул , a „value” е стойност.


9.1.3 Включване на подконфигурационни файлове.
Осъществява се със следната директива:


  • *include <име_на_конфигурационен_файл>

Чрез включване на отделни конфигурационни файлове се осъществява разделяне на основния конфигурационен файл на няколко логически единици.



9.1.4 Конфигурационен файл – секция [PLC].
Секция [PLC] от конфигурационния файл служи за конфигуриране на параметрите на ядрото (matplc) , както и кои модули да бъдат стартира-

ни , променливите които ще се използват и други.


9.1.4.1 Модули.
Дефиницията на модулите които ще бъдат стартирани със стартирането на ядрото (matplc) се прави по следния начин:


  • module <име_на_модул> <път_до_изпълним_файл> [<опции>]

Директивата module показва на ядрото (matplc) , че дефиницията на този ред от конфигурационния файл се отнася за модула <име_на_модул>.


9.1.4.2 Дефиниция на променливи.
Дефиницията на променливи се прави в секция [PLC] като се спазва следния синтаксис:
point <име_променлива> <описание> <притежание_на_модул>

[at [.]] [[i|u|f] <дължина>[инициализация<начал_стойност>]


Където :


  • име – името на променливата (може да бъде произволно).




  • описание – описание на променливата (само за информация).




  • притежание_на_модул – модул с права за запис на променливата.




  • At дума от глобалната памет която да се използва.




  • I|u|f – използва се за дефиниране на типа на данните които ще се записват в променливата.




  • Дължина – дължината на променливата в битове (еднобитова или до 32 бита).




  • Начална_стойност – начална стойност на променливата(ако променливата е еднобитова и не е дефинирана ,то началната и стойност е “0”).


9.1.4.3 Алтернативни имена на променливи (point_alias).
Алтернативните имена на променливи се използват за:


  • За дефиниране на променлива с име и алтернативно име.




  • За присвояване на точно определени битове от една променлива на друга.

Синтаксис:


point_alias <име> <описание> <оригинална_променлива>
където:


  • Име – името на алтернативната променлива




  • Описание – свободен текст (за подсещане на разработчика).




  • Оригинална_променлива – име на оригиналната променлива.


10. Програмни инструменти на SCADA системата.
10.1 Основен програмен файл MATPLC.
Програмния файл matplc е главния файл на SCADA системата.

Чрез него се прочита конфигурационния файл matplc.conf ,заделя се памет за променливите и осъществява динамично свързване на модулите в паметта на PC.

10.1.1 Стартиране на MATPLC.

MATPLC стартира като се изпълни следната команда в конзолен режим:




  • matplc –g

Параметъра „-g” предизвиква matplc да премине в режим на работа.

Ако не бъде използван никакъв параметър ,тоест се изпълни само командата „matplc” на екрана на PC се изписват възможните параметри и начина на използването им, без преминаване в режим на работа.
На фиг.6 е показан екран от изпълнението на matplc в конзолен режим.

Фиг.6 Екран от изпълнението на matplc без конзолни параметри.



Конзолни параметри:



  • параметър “-g” -стартира системата.




  • параметър “-c” -проверка на синтаксиса на matplc.conf.




  • параметър “-s” -спиране на системата.




  • параметър “-r <име_на_модул>” кара модула да премине в режим на рабора (RUN).




  • параметър “-h” <име_на_модул” кара модула да премине в режим на покой (HALT).




  • параметър “-d” изписва на екрана картата на конфигурацията (паметта).

На фиг.7 е показан екран от изпълнението на matplc с конзолен параметър “-d”.



Фиг.7 Екран от изпълнението на matplc с конзолен параметър “-d”.

В случая резултатът от изпълнението на matplc показва ,че са стартирани модулите:




  • LOGGER_DB – за следене и запис на състоянията на съоръжени-

ята в БД,


  • Parport – за комуникация с тестовия хардуер на SCADA.




  • SMM-MGR – мениджър на динамичната памет.

Вижда се че са инициализирани и следните еднобитови променливи:




  • QSG12 – следи състоянието на съоръжението QSG12,като права за запис на същата има модула parport.




  • QSG28 – следи състоянието на съоръжението QSG28,като права за запис на същата има модула parport.




  • L4 - следи състоянието на съоръжението L4,като права за запис на същата има модула parport.


10.2 Графичен конфигурационен редактор (config editor).
Конфигурационния редактор е програма ,предназначена за графично редактиране на главния конфигурационен файл – matplc.conf.

На фиг.8 е показан екран от изпълнението на програмата за графично редактиране на конфигурационния файл matplc.conf.



Фиг.8 Конфигурационен редактор.


Графичния конфигурационен редактор се състои от единичен графичен прозорец със следните раздели:


  • Module Definition – в този раздел се дефинират модулите , които ще се стартират.




  • Point Definition – дефиниция на променливи.




  • Разделите Synchronization и Module Specific Definitions са в процес на разработка (не са завършени напълно).


10.3 Програмен инструмент mattest.
В процеса на разработката на SCADA системата програмният инструмент mattest е необходим за отстраняване на проблеми със системата (софтуерни) , за четене/запис на състоянията на променливите в паметта на matplc.
10.3.1 Четене на променливи.
Синтаксис:



  • Mattest –g <име_на_променлива>

Параметъра “-g” с последващо име на променлива кара mattest да покаже на дисплея на PC текущото състояние на същата.


Ако променливата е число с плаваща запетая (floating point number) се използва следния синтаксис:



  • Mattest –f –g <име_на_променлива>

Параметъра –f предупреждава mattest че ще се чете променлива ,която е число с плаваща запетая [floating point number].


10.3.2 Запис на променливи.
Възможно е променливите да бъдат записвани от mattest , но е необходимо да бъде опоменато в конфигурационния файл ,че mattest e собственика (притежава права за запис) на променливата.
Синтаксис:



  • Mattest –s <име_на_променлива> -v <стойност_на_променлива>

Ако променливата е число с плаваща запетая (floating point number) се използва следния синтаксис:





  • Mattest –f –s <име_на_променлива> -v <стойност_на_променлива>

Параметъра –f предупреждава mattest че ще се записва

променлива,в която типът на данните е число с плаваща запетая [floating point number].


11. Разработка на графичната среда чрез HMI_GTK2 и GLADE2.
За създаване на конкретен потрбителски графичен интерфейс се използва програмата GLADE2 , която е независима от програмния пакет matplc.
Стъпки при създаване на графичният потребителски интерфейс(GUI):


  • Дизайн на интерфейса ,посредством GLADE2.




  • След създаването на интерфейса програмата GLADE2 генерира файл с разширение .glade ,който е репрезентация на GUI в XML.




  • Генерираният файл със име hmi_gtk2.glade се копира в проектна-

та папка , която в настоящата инсталация е “/diplomna”.
11.1 Дизайн на интерфейса посредством GLADE2.
11.1.1.Стартира се интерфейсният дизайнер GLADE от конзолата или от

главното KDE меню.

На фиг.9 е показан екран след стартиране на интерфейсният дизайнер GLADE2.
Фиг.9 Екран от изпълнението на GLADE2


След като се стартира интерфейсният дизайнер GLADE2 се появяват три прозореца от GLADE. Първият прозорец (горе в ляво) е главният прозорец на програмата GLADE2.

Възможностите които предлага главният прозорец на програмата GLADE2 са както следва:


  • Създаване на нов визуализационен проект(чрез “New”).




  • Отваряне на съществуващ визулизационен проект(чрез „Open”).




  • Съхраняване на проект(чрез “Save”).




  • Опции за текущия проект(чрез “Options”).




  • Опцията “Build” не се използва за текущите цели.

Вторият прозорец (вдясно от главния визуализационен прозорец) е именуван “Properties” и се използва за редактиране на стойностите за динамични икони,бутони и други.

В прозореца “Pallette” (долу в ляво) са разположени елементите които могат да бъдат използвани за създаване на GUI(бутони,изображения и други).

11.1.2. Отваряне на проектния файл hmi_gtk2.glade чрез GLADE2.

Hmi_gtk2.glade e основният проектен файл (Репрезентация на GUI в XML) ,създаден чрез GLADE2.

След като вече е стартиран интерфейсният дизайнер GLADE2, избираме от главното му меню “Open” (за отваряне на проектен файл).

След кликване върху бутона “Open” се отвяря прозорец за избор на проектен файл.

Необходимо е да бъде определен “път” от файловата система до желания проектен файл. За уредба 110кV файлът hmi_gtk2.glade се намира в “/diplomna”.

Важно е да се отбележи ,че в папката “/diplomna” се намират всички про-

ектни графични изображения (динамични икони) и основното изображе-

ние на РУ – 110кV (Еднолинейната схема).

Проектните графични изображения са дефинирани в проектният файл hmi_gtk2.glade.


На Фиг.10 е показан екран от GLADE2 , показващ начина за отваряне на проектният файл hmi_gtk2.glade.

Фиг.10 Отваряне на проектния файл hmi_gtk2.glade.


След кликване върху бутона “Open” от главния прозорец на GUI дизайнера GLADE2, се отваря нов прозорец чрез който се избира „пътя”

до проектния файл hmi_gtk2.glade.

След кликване върху бутона “Отваряне” се отваря проектния файл hmi_gtk2.glade и в главния прозорец на програмата GLADE2 се показват проектните прозорци на интерфейса за визуализация,както е показано на Фиг.11.
Главният прозорец на визуализационния интерфейс за уредба 110kV e

именуван “Window1”.

В същия е разположена еднолинейната схема на уредбата, динамични-

те графични изображения,бутоните за контрол на съоръженията от еднолинейната схема,алармени графични изображения и алармени текстове.

След насочване на курсора на мишката и кликване върху името “Window1” се показва прозореца на визуализационния интерфейс.

Фиг.11 Екран от GLADE2 след отваряне на проектния файл.


Принципът на разполагане на елементите на визуализационният интерфейс е следният:



  • Първо се разполага графичното изображение на еднолинейната схема (предватително начертано чрез Autocad и експортирано до “.BMP” изображение).




  • След като е разположена еднолинейната схема ,следва етап на разполагане на динамичните изображения (също предварително начертани или нарисувани) върху изображението на еднолинейна-та схема.




  • Разполагане на бутони за извикване на „контролни прозорци” (съдържат два бутона - за включване и за изклюване)за осъществяване на контрол над съоръженията в ОРУ 110кV.




  • Създаване на „Контролни прозорци”- Фиг.12.




  • Разполагане на динамични съобщения и графични изображения сигнализиращи за възникнала моментна или трайна промяна в схемата на РУ 110kV.




  • Редактиране на имена и параметри на вложените динамични елементи и бутони за контрол .



Фиг.12 Екран от GLADE2 , изобразяващ „контролен прозорец”.

Горе в дясно на Фиг.12 е показан контролен прозорец с бутони за „Включване” и „Изключване” на съоръжението Q3 в ОРУ 110kV.


11.1.3.Разполагане на динамичните изображения , репрезентиращи състоянията на съоръженията върху еднолинейната схема.
Разполагането,както на динамични изображения така и на други обекти като: бутони,отметки,полета за въвеждане,текстови заглавия , нови прозорци за GUI ,таблици и други се осъществява чрез прозореца “Pallette” на графичния дизайнер GLADE2.
Особенност:


  • При разполагането на обекти в “Window1” е необходимо графичното изображение репрезентиращо ОРУ да бъде преместено за кратко в дясно , а върху освободеното от него място се разполага желания обект .В противен случай програмата GLADE2 няма да позволи поставянето на обект върху изображението на ОРУ-110kV.




  • След като бъдат изпълнени указанията по-горе изображението репрезентиращо ОРУ се връща в изходна позиция,а обекта може да бъде преместван на произволна позиция в “Window1”(Това неудобство на програмата GLADE2 се дължи на недоглеждане от програмистите ,разработили GLADE2).

За избиране на изображение е необходимо да се кликне с мишката върху картинката ”къщичка” от прозореца “Pallette”. След това се придвижва курсора на мишката до освободеното място , споменато по-горе.


11.1.4 Именуване на динамичните изображения и настройка на параметри.
Въвеждането на имена и параметри за графичните изображения се осъществява в прозореца “Properties” на GLADE2, както е показано на Фиг.13.

Фиг.13 Примерно именуване на динамично изображение Q5.

Пример за именуване и настройка на параметри за динамичното изображение Q5(състояние на прекъсвач):




  • Осъществява се в прозореца “Properties” в раздел “Widget”,име на поле – „Name”, като предварително се кликва върху вече разположеното изображение Q5.




  • В полето “Name” е въведено “_Q5.0.redq.offq”, като Q5 е името на променливата от конфигурационния файл(името трябва да съвпада с това дефинирано в конфигурационния файл) , „0” е началното състояние „0” – изключено.”Redq” е името на файла съдържащ изображение , репрезентиращо включено състояние.

Offq е името на файла съдържащ изображение,репрезентиращо изключено състояние.


  • В раздел “Packing” се осъществява фино преместване на изображението по “X” и по “Y” – Фиг.14.




  • В раздел “Common” се настройват параметри за височина и широчина на изображение(в настоящата дипломна работа всички изображения са с размери 24x24 пиксела) – Фиг.15.



Фиг.14 Раздел “Packing” от прозорец за настройки “Properties”.



Фиг.15 Раздел “Common” от прозорец за настройки “Properties”.

Разделът “Signals” не се използва за динамични изображения.



11.1.5 Именуване на бутони за „извикване” на „контролни прозорци”.

Бутоните за „извикване” на „контролни прозорци” се влагат в прозореца “Window1” непосредствено до наименованието на всяко съоръжение от еднолинейната схема на ОРУ – 110kV. Този вид бутони се визуализират само когато показалеца на мишката е във зоната на бутона.Същото се прави с цел предотвратяване на претрупаността на GUI.


Именуването на тези бутони става също в прозореца “Properties” на GUI дизайнера GLADE2.

Важно е да се отбележи ,че за всяко съоръжение от прозореца „Window1” се създава уникален бутон за извикване на съответен “контролен прозорец”. Бутоните за „извикване” на „контролни прозорци”се именуват и разполагат по същия начин,както при именуването и разполагането на динамичните изображения.

На Фиг.16 е показан начина на именуване на бутоните за извикване на „контролни прозорци”.
Фиг.16 Именуване на бутони за извикване на „контролни прозорци”.

За разлика от динамичните графични изображения при бутоните за извикване на „контролни прозорци” се настройва и раздел “Signals” от прозореца “Properties” на GLADE2.

Разделът “Signals” е предназначен за настройка на елементи за „вход” като бутони,полета за въвеждане,отметки и други.

За целите на настоящата дипломна работа е необходимо при кликване с мишката върху някой от бутоните за извикване на „контролни прозорци” да се появява на екрана на PC прозорец с бутони за контрол на желаното съоръжение.


За целта в раздел “Signals” от прозореца “Properties” на GLADE2 се прави следното:


  • Избира се сигнал “Clicked”(т.е „кликнато” върху бутон)

  • В графа “Handler” се записва функцията – “run_window11”

  • В графа “Object” се записва името на контролния прозорец който трябва да бъде извикан при кликване върху бутона.


Фиг.17 Настройка на бутони за извикване на „контролни прозорци”.



11.1.6 Именуване на бутони в „контролните прозорци”.

Броя на „контролните прозорци” е равен на броя на съоръженията от еднолинейната схема които подлежат на контрол.Всеки контролен прозорец има уникално име.

Във всеки контролен прозорец се съдържа следното:


  • Бутон за „Включване” на даденото съоръжение.




  • Бутон за „Изключване” на даденото съоръжение.




  • Стандартни бутони за „Затваряне” и „Минимизиране”.




  • Заглавие на „контролен прозорец”

На Фиг.18 е показан синтаксиса на именуване на бутоните за контрол в „контролните прозорци”.



Фиг.18 Именуване на бутоните за контрол в „контролните прозорци”.

Именуването на бутоните за контрол на съоръженията се осъществява също в прозорец “Properties” на GLADE2 , като се следва следния синтаксис:




  • _<<ИМЕ НА ПРОМЕНЛИВА>>




  • В графата “Label” се въвежда името ,което ще бъде изписано върху бутона.

Именуването на бутона от фигура 18 е “_offQ3” ,което е команда за изключване на прекъсвача Q3.


В раздел “Signals” от прозореца “Properties” се въвеждат следните дефиниции за бутона “Изключване” от Фиг.18 :
а)


  • В полето “Signal” се избира “Pressed”




  • В полето “Handler” се въвежда “update_value”




  • След което се натиска бутона “Add”

Горното описание се прави със следната цел:




  • При натискане на бутона „Изключване” стойността на променлива- та “offQ3” да стане „1”.

б)


  • В полето “Signal” се избира “Released”




  • В полето “Handler” се въвежда “reset_value”




  • След което се натиска бутона “Add”

Описаното в точка б) се прави със следната цел:




  • При „отпускане” на бутона „Изключване” стойността на променли- вата “offQ3” става „0”.

След като се приключи с добавяне,именуване и настройка на GUI ,посредством GLADE2 се съхранява проектния файл под име hmi_gtk2.glade. В настоящата инсталация hmi_gtk2.glade файлът се намира в “/diplomna” ,където също са динамичните графични изображения и изпълнимите файлове на модулите.



12. Листинг на конфигурационния файл (matplc.conf) за изясняване на действието на hmi_gtk2 модула.
#

# matplc.conf – Конфигурационен файл

#
# Карта на споделената памет за модулите
[PLC]
# Модули,които ще се стартират!!!

#

# parport – модул за комуникация с 4x4IO за физически тест на SCADA.



#

# hmi_gtk2 – визуализационен модул ,интерфейс човек – машина.

#

# plcshutdown – модул за спиране на системата.



#

module parport "/diplomna/parport"

module hmi_gtk2 "/test/mmi/hmi_gtk2/hmi_gtk2"

module plcshutdown "/ust/test1/lib/util/plcshutdown"

# ПРОМЕНЛИВИ

# ----------

#

# По – долу са дефинирани три променливи с имена Q5 , onQ5 и offQ5,



# като права за запис на Q5 в споделената памет на системата има

# модула parport,т.е. при промяня на състоянието на съоръжението

# parport записва„1“ или „0“ в споделената памет за променливата Q5.

# Променливата Q5 се чете и визуализира от модула hmi_gtk2 ,като за

# четенето на същата не е необходима дефиниция в конфигурационния файл.

# Права за запис на другите две променливи “onQ5” и „offQ5” има модула

# hmi_gtk2.Тези променливи могат да приемат стойност „1” или „0” в зави-

# симост от това дали е подадена команда от визуализационния модул,т.е

# дали бутоните които баха разгледани по-горе са „pressed” или „released”.

# Тези две променливи също могат да приемат стойности „1” или „0”.

#

# синтаксис:



# point име "описание" <<модул с права за запис на променливата>>

#

point Q5 "сигнал от прекъсвач" parport



point onQ5 "команда за включване на Q5" hmi_gtk2

point offQ5 "команда за изключване на Q5" hmi_gtk2


[PLC]
# През колко секунди да се четат състоянията на променливите.
hmi_gtk2: scan_period = 0.02

parport: scan_period = 0.02

plcshutdown: scan_period = 0.02
#

# Дефиниции за модула parport.

#

# out – променливите са пренасочени за изход(команда).



# in – променливите са пренасочени за вход.

#


#

[parport]

io_addr = 0x378 #Входно – изходен адрес за достъп до хардуера.
map out D.0 onQ5 #Пренасочване на променлива onQ5 към регистър D0

#D.0 отговаря на пин 2 от конектора на LPT порта.


map out D.1 offQ5 #Пренасочване на променлива offQ5 към регистър D0

#D.1 отговаря на пин 3 от конектора на LPT порта.


map inv in S.1 Q5 #Пренасочване на променлива Q5 към регистър S0

#S.1 отговаря на пин 10 от конектора на LPT порта.



Сподели с приятели:
1   2   3   4   5




©obuch.info 2024
отнасят до администрацията

    Начална страница