ПЕТТО СОВЕТУВАЊЕ Охрид, 7 9 октомври 2007 Асс. Сања Велева Трпевска Евица Проф. д-р Марија Кацарска Факултет за електротехника и информациски технологии, Скопје SCADA - КОМПОНЕНТА НА ДИСПЕЧЕРСКИ ТРЕНИНГ СИМУЛАТОР КУСА СОДРЖИНА SCADA е основна алатка која се користи за управување и надгледување на ЕЕС и неговите компоненти во диспечерските центри. Со MicroSCADA се управува една постројка. Постојат различни софтверски пакети и програми кои се користат за изработка на MicroSCADA. Еден од нив е софтверскиот пакет Wonderware FactorySuite чија компонента е InTouch. Се користи за изработка на SCADA за разни технолошки процеси меѓу кои може да се вброи и управувањето на процесите во една разводна постројка. Апликацијата може да се изведе во четири варијанти. Првата варијанта е самостојна апликација во која има еден персонален компјутер кој не е дел од компјутерска мрежа. Втората варијанта е клиентски ориентирана апликација каде постои еден сервер и терминали за кои се обезбедува посебна апликација. Третата варијанта е серверски ориентирана каде постои еден сервер но треминалите може да користат иста апликација. Во четвртата варијанта има сервер и терминали, при што терминалите си користат засебни апликации, а серверот меѓу другото ја контролира и работата на терминалите. Програмата се состои од развојна и извршна апликација. Во секој момент од изработката на SCADA-та корисникот може да се префрли од развојната околина во извршната и да изврши контрола на функционалноста. Програмата има можност за поврзување преку комуникациска порта со програмабилни логички контролери кои служат за комуникација помеѓу SCADA-та и елементите на постројката. Во извршната апликација е изработена шема на постројка во која се содржани само елементите кои може да се управуваат и надгледуваат. Елементите во шемата (прекинувачите и раставувачите) може да се изведат со помош на веќе креирани елементи на самата програма, или корисникот сам да си ги креира како што е случај во овој пример. За сите елементи се направени управувачки дијалози преку кои може да се ракува со елементите во шемата. Самата програма има своја безбедносна компонента со која може да се изведе најавувањето на операторите и ограничување на можностите за ракување со апликацијата во зависност од нивото на пристап. Програмата има можност за поврзување со надворешна база на податоци во која се запишуваат настани од ракувањето со постројката. Програмата исто така содржи и веќе готова компонента која се користи за бележење на настани и промени во работата во временски период. Програмата исто така има компонента која ги бележи сите алармантни ситуации во постројката според претходно дефинирани параметри од страна на корисникот. Клучни зборови: SCADA, програмабилни логички контролери, прекинувачи, раставувачи ABSTRACT Nowadays SCADA represents a basic tool for controlling and monitoring of power systems and its' components for use in the dispatching centers. With the so-called MicroSCADA a single substation can be controlled. C1-03R 1/8
MAKO CIGRE 2007 C1-03R 2/8 There are various programs which can be used for creating MicroSCADA. One of them is Wonderware FactorySuite with the InTouch as its' component. It can be used for creating SCADA for different technological processes and also for monitoring and controlling a substation. We can create four types of the application. The first type is a standalone application on a single personal computer not connected to any type of working network. The second type is a client oriented application. It involves a single server computer and one or more client computers that use their own applications. The third type is server oriented application with a single server computer and one or more client computers that don t use their own applications. Instead they are using the same application installed on the server. The fourth type again involves server computer and one or more client computers. The difference is that the server can be used for monitoring and controlling the work on the client computers. The InTouch software consist of a development application and runtime application. At any given moment of the development of SCADA the user can switch from the development application to runtime application and perform different checks for functionality. The software has a possibility for connecting to programmable logic controllers trough a communication port. They are used for communication between SCADA and the actual elements in the substation. In the actual application a substation scheme consist only of elements witch can be monitored and controlled. The elements in the scheme (circuit breakers and disconnectors) can be represented with already created elements, or the user can create custom elements as needed (as in this case). For each element a controlling window for manipulation of the same element is created. The InTouch application has its own security component which can be used for user logging and managing their level of access. InTouch application has ability to connect to an external database in which the program enters the data about the working (monitoring and controlling) processes. It also has a component for historical trending which is saved in a log file that can be easily accessed. The InTouch application also has a component for recording all alarm situations which can be defined by the user. Keywords: SCADA, programmable logical controllers, circuit breakers and disconnectors Вовед SCADA системот треба да има функционален, модуларен и стандардизиран дизајн со кој се овозможува лесно ажурирање, проширување и адаптирање. Треба да се користат напредни техники на работа со базите на податоци за да се обезбеди можност за ажурирање/измена на постојните, како и воведување на нови податоци структури кои се резултат на проширувањето на процесните варијабли од надгледуваниот објект. SCADA системот [4] треба да подржи конфигурирање преку системски параметри кои се достапни преку графички front-end и се сместени во DBMS структура. InTouch е компонента на софтверскиот пакет Wonderware FactorySuite [1], [2], [3]. InTouch апликациите се распространети низ целиот свет во голем број на сродни производствени области (обработка на прехранбени производи, полуспроводници, нафта и гас итн.). Со неа може да се креираат моќни апликации кои ги искористуваат главните карактеристики на Windows, вклучувајќи ги ActiveX контролите, OLE, графиката, поврзувањето во мрежа и друго. InTouch се состои од три главни програми: InTouch Application Manager ги организира апликациите кои корисникот ги креира. Се користи и за нагодување на WindowViewer како мрежен сервис, за нагодување за развој на мрежни апликации (NAD) за архитектури базирани на клиентот и архитектури базирани на серверот, за нагодување на динамичка конверзија на резолуцијата (DRC) и/или дистрибуирано алармирање. WindowMaker е развојната околина, каде што се користи објектно-ориентирана графика за да се создадат анимирани и чувствителни на допир прозорци кои може да се поврзат со индустриски излезно/влезни (I/O) системи и други Windows апликации. WindowViewer е извршна апликација која се користи за да се прикажат графичките прозорци креирани во WindowMaker, ги извршува сите InTouch скрипти, запишува настани кои се случиле во датотеки за водење евиденција и известување, запишување и бележење на аларми
MAKO CIGRE 2007 C1-03R 3/8 на одредени процеси и известување, и може да функционира како клиент и како сервер и за DDE и за SuiteLink комуникациските протоколи. Во InTouch е вклучена и дијагностичката програма Wonderware Logger. Главни функции на SCADA системот Аквизиција на податоци во реално време од аналогните и дигиталните сензори, мерните претворувачи и другите уреди за прифаќање на информациите; Пред-процесирање на сигналите; Процесирање на варијаблите кои го поминале пред-процесирањето и имаат значајни промени во вредноста или статусот со користење на dead-band критериуми; Чување/архивирање на најзначајните податоци во историски датотеки на структуриран и класифициран начин за подоцнежна off-line обработка; Генерирање на прегледи периодично или со налог на операторот преку корисничкиот интерфејс; Препознавање и контрола на системски аларми и сигнализации и автоматско преземање на соодветни акции за секој ваков настан; Извршување на акции по налог на операторот како одговор на промената на некој статус на процесот; Контролно/командни функции; Приказ/презентација на информациите на операторски дисплеи на корисничкиот интерфејс. Користење на InTouch Application Manager InTouch Application Manager се користи за креирање на нови апликации, отворање на постоечки апликации во WindowMaker или WindowViewer, бришење на апликации, и активирање на DBDump и DBLoad алатките на Tagname Dictionary (Tagname Dictionary е внатрешната база на дефинирани променливи во InTouch и во понатамошниот текст ќе се води само како база на дефинирани променливи). Програмски елементи на WindowMaker Графичкиот кориснички интерфејс е базиран на графичкиот кориснички интерфејс на Windows и ги поддржува неговите стандардни ленти со алатки и менија. Програмскиот пребарувач на WindowMaker обезбедува лесен пристап кон најчесто користените команди. Корисникот може да го прилагоди програмскиот пребарувач за да покрене било која друга FactorySuite програма или Windows програма за брзо преминување помеѓу HMI прилагодувањата, прилагодувањата на излезно/влезниот сервер или пак контролните прилагодувања. Развојната околина може да се менува и прилагодува на потребите на корисникот. Со нагодување на различни карактеристики за WindowMaker и WindowViewer корисникот може да ги прилагоди функционалноста и конечниот изглед на апликацијата. Употреба на InTouch обезбедување (Security) Вметнување на обезбедување во апликацијата е незадолжително, но, со употреба може да се контролираат некои специфични функции кои операторот треба да ги извршува така што тие функции ќе бидат поврзани со некои внатрешни tagnames (tagname е ознака која е доделена на некоја променлива дефинирана во базата на дефинирани променливи и во понатамошниот текст ќе се води како ознака на променлива). Обезбедувањето се базира на концептот дека операторот се логира на апликацијата со внесување на име и лозинка. Поради ова потребно е да се креираат корисничко име, лозинка и ниво на пристап (access level) за секој корисник. Нема никаква врска помеѓу обезбедувањето на оперативниот систем и InTouch. При креирање на нова апликација, корисничкото име се нагодување да биде Administrator со ниво на пристап 9999 (ниво кое овозможува пристап до сите безбедносни команди). Штом се додаде ново корисничко име во безбедносната листа и се рестартира WindowMaker или
MAKO CIGRE 2007 C1-03R 4/8 WindowViewer, корисничкото име се нагодување на None со ниво на пристап 0 (што спречува пристап до командата Configure Users во WindowMaker и WindowViewer). Од овие причини мора да се креира корисничко име за системскиот администратор чие ниво на пристап ќе биде 9000 или повеќе, за да може подоцна да пристапува кон безбедносната листа со корисници. Користење на InTouch внатрешни безбедносни ознаки на променливи Кога ќе се примени обезбедувањето во апликацијата, постојат две внатрешни безбедносни ознаки на променливи кои може да се применат на тастери, во изрази за анимирани линкови или во скрипти за да се контролира дали операторот кој се најавил има дозвола да извршува одредени функции ($AccessLevel и $Operator). На пример, за да се направи некој објект да биде видлив во зависност од нивото на пристап кој го има најавениот корисник. Корисничките имиња None и Administrator се резервирани и може да се сменат само лозинките. База на дефинирани променливи Базата на податоци на извршната апликација ги содржи моментните вредности на сите елементи во базата [4]. На секоја променлива мора да и биде доделена ознака на променлива и тип на променлива. За некои типови на променливи потребни се и дополнителни информации. Механизмот кој се користи за внесување на овие информации е база на дефинирани променливи. Типови на ознаки на променливи Ознаки на променливи од мемориски тип Овој тип постои внатре во InTouch апликацијата. Се користат за креирање на системски константи и симулации. Постојат четири типа на мемориски ознаки на променливи: Дискретни Целобројни (Integer) Реални Мемориски пораки Влезно/излезни ознаки на променливи Сите ознаки на променливи кои вредноста ја читаат од или запишуваат во некоја друга Windows програма се влезно/излезни ознаки на променливи. Овде се вклучени сите влезови и излези од програмабилните контролери, процесни компјутери и сите податоци од мрежни јазли. Има четири типа на влезно/излезни ознаки на променливи: Дискретни Целобројни (Integer) Реални Влезно/излезни пораки Други видови на ознаки на променливи Постојат неколку специјални типови на ознаки на променливи кои може да се доделат за да може да се извршуваат некои сложени функции како на пр. креирање екрани за динамички аларми, временски трендови и сл. и индиректни типови кои може да послужат некоја ознака на променлива да се распредели на повеќе извори. Group Var се користи за ознака на променлива со доделена група на аларми за да може да се креираат динамички дисплеи на аларми, евиденции снимени на диск и отпечатени евиденции. Hist Trend За да се креира историски тренд на настани потребна е ознака на променлива од типот hist trend. TagID ова е посебен тип кој се користи со објекти со историски тренд.
MAKO CIGRE 2007 C1-03R 5/8 Индиректни дискретни, индиректни аналогни и индиректни пораки Овозможуваат ознаките на променливите од еден прозорец да се прераспределат на повеќе изворни ознаки на променливи (multiple source). Ознаки на променливи автоматски се индексираат. На пр. ако се внесе и сними нова ознака на променлива R4, а потоа се креира нова, името на новата ознака на променлива ќе биде автоматски индексирана како R5. Внатрешни системски ознаки на променливи InTouch обезбедува повеќе претходно дефинирани внатрешни системски ознаки на променливи кои може да се употребат за извршување на разни акции. На пример, за прикажување на моменталното време. Сите внатрешни ознаки на променливи имаат знак $ пред името. Tagname.Fields Во InTouch дефиницијата за објект ќе биде ограничена на збир на информации во врска со графички објект прикажан на екранот или информација во врска со ознака на променлива во базата на дефинирани променливи. Секој објект кој ќе биде нацртан содржи одредени атрибути како што се дебелина на линија, боја на линија и на внатрешност, позиција на екранот изразена во пиксели, врски (линкови) кои се поврзани со него и сл. Некои од овие атрибути се познати како.fields и до нив може да се пристапи преку скрипти, преку изрази и внесувања од страна на корисникот внатре во InTouch. Синтаксата за пристап до овие полиња со податоци поврзани со некоја ознака на променлива e Tagname.field. Овие.fields може да се употребат за да се овозможи влез и излез на податоци врзани со некоја ознака на променлива а историските.fields (historical.fields) може да се употребат корисникот динамички да го модифицира историскиот тренд прикажан на екранот. Креирање на анимирани линкови Креираниот графички објект со анимираните линкови може да го менува својот изглед за да се прикажат промените на вредноста на одредена ознака на променлива или израз. InTouch поддржува два основни типови на линкови: линкови за допир (Touch Links) - овозможуваат внесување на податоци на операторот во системот како на пр. тастери за притискање. линкови за приказ (Display Links) - овозможуваат излез до операторот како на пример исполнувањето со боја, локацијата или трепкањето. За секој објект или симбол може да се дефинираат повеќе линкови. Со комбинирање на различни линкови може да се креираат скоро сите анимациски ефекти. Постојат девет типа на линкови на допир кои може да се креираат: Внесување од корисник дискретни, аналогни, низа од алфанумерички знаци (string); Лизгачи вертикални, хоризонтални; Тастери осетливи на допир со дискретна вредност, дејство, прикажи прозорец, сокриј прозорец. Постојат осум типа на линкови кои може да се креираат: Боја на линија, исполнување и текст дискретна вредност, аналогна вредност, дискретен аларм, аналоген аларм; Големина на објектот височина, широчина; Позиција хоризонтална, вертикална; Процентуално исполнување хоризонтално, вертикално; Различно (Miscellaneous) видливост, ориентација, трепкање, оневозможеност (disable); Приказ на вредност дискретна, аналогна, низа на алфанумерички знаци.
MAKO CIGRE 2007 C1-03R 6/8 Креирање на скрипти во InTouch Скриптирањето е една од најмоќните карактеристики на InTouch апликацијата. Скриптите овозможуваат извршување на команди и логички операции кои се засноваат на исполнување на одредени наведени критериуми [5]. QuickFunctions се скрипти кои се креирани за да може да се повикаат од други скрипти и изрази на анимирани линкови. Сите InTouch скрипти се извршуваат како последица на некој настан: промена на некој податок, кликнување со глувчето, тајмер, итн. Редоследот на процесирањето е специфично за секоја апликација без некаков редослед поради што не е препорачливо да се создава некаква зависност од редоследот на процесирањето. Постојат следниве типови на скрипти: Application ова е скрипта која е врзана со целата апликација. Window скрипта која е врзана за одреден прозорец. Key скрипта која е врзана со одреден тастер или комбинација на тастери. Condition скрипта врзана за дискретна ознака на променлива или израз. Data change скрипта врзана за ознака на променлива и/или tagname.field. QuickFunctions скрипти кои може да се повикаат од други InTouch скрипти или изрази на анимирани линкови. Action Pushbutton врзана со објект кој е поврзан со линк на допир тастер за дејство. ActiveX настан извршува настани од ActiveX контроли во извршната апликација. Аларми/Настани Програмата обезбедува и систем за известување со помош на кој се информираат операторите за процесот и за состојбите во системот кој поддржува прикажување, запишување и печатење на аларми во процесот и настани во системот. Алармите претставуваат предупредување на состојбите во процесот кои може да предизвикаат проблеми и за кои е потребна реакција од операторот (некоја вредност на процесот ја надмине дефинираната вредност). Ова активира непотврдена состојба на алармот која може да се искористи за да се извести операторот за проблемот. Штом операторот го потврди алармот, системот се враќа во потврдена состојба. Вклучени се два системи на аларми: стандарден (за прикажување и потврдување на настани и аларми генерирани од локалната InTouch апликација) и дистрибуиран систем (овозможува прикажување и потврдување на аларми генерирани од алармни системи од други InTouch апликации во мрежата). Настаните претставуваат пораки за статусот на системот во нормална состојба и не бараат реакција од операторот како на пр. кога се случува некоја системска состојба (најава на оператор и сл.). Типови на аларми InTouch ги класифицира алармите во две главни категории врз основа на нивните карактеристики: тип и класа. Стандардниот систем на аларми ги категоризира сите аларми во 5 типови: дискретни, девијациски, стапка-на-промена, вредност и статистичка процесна контрола, а дистрибуираниот овозможува понатамошна категоризација на овие аларми во класи и типови. Секој од овие аларми може да се поврзе со ознака на променлива. Приоритети кај алармите (Alarm Priority) Секој конфигуриран аларм во InTouch има вредност на приоритет врзана за него. Оваа вредност ја претставува сериозноста на алармот и се движи во границите помеѓу 1 и 999, при што 1 е најсериозно. Групи на аларми Секој аларм е доделен на логичка група на аларми кои ги дефинира корисникот и може да се подредат во хиерархиско стебло каде на врвот се наоѓа основната група $System. Секоја ознака на
MAKO CIGRE 2007 C1-03R 7/8 променлива е поврзана со група на аларми. Ако не се поврзе, тогаш InTouch по правило автоматски ќе го поврзе со основната група $System. Стандарден дисплеј за аларми Стандардниот систем на аларми обезбедува единствен објект за приказ кој се користи за прикажување на локално генерираните аларми во два претходно дефинирани типови на дисплеи: краток преглед на аларми - ги прикажува само моменталните потврдени и непотврдени аларми временски тек на аларми - ги прикажува сите аларми и настани што се случиле. Дистрибуиран систем за аларми Дистрибуираниот систем ги има сите опции за нагодување кои се презентирани за стандардниот. Го користи истиот механизам за групи на аларми како и стандардниот. Разликата е во тоа што дистрибуираниот овозможува прегледување на овие групи од повеќе јазли во мрежата. Дистрибуираниот систем ги има и следниве карактеристики: Можност да прикажува и потврдува аларми од било кој InTouch јазол во мрежата. Нов дисплеј за приказ на аларми чиј изглед може да се менува. Скрипти кои овозможуваат динамична контрола на приказот на аларми и потврдувањето на аларми. Механизам за групирање кој овозможува повеќе групи на аларми од различни апликации да бидат повикани со помош на едно име. Можност за додавање на коментари кога алармот е потврден. Дисплејот на дистрибуирани аларми може да прикажува краток преглед на активните аларми или листа со временски тек на алармите и ако се нагоди може да ги прикажува и двата, а промената е динамична. SQL Access Manager SQL Access се состои од алатката SQL Access Manager и SQL функциите. SQL Access Manager е алатка која е ODBC прилагодена и која комуницира со било кој систем на бази на податоци, под услов системот да има ODBC драјвер. Овозможува пристап, изменување, креирање и бришење на табели во база на податоци. Пристапувањето до таа информација е со структуриран прашален јазик (SQL). Дизајнирана е за лесно префрлување на податоци од SQL база на податоци во InTouch апликација и префрлување на податоци добиени за време на извршување во SQL базата на податоци. Се користи за креирање и поврзување на колони во базата на податоци со ознаките во InTouch базата на дефинирани променливи. Процесот на поврзување на колони од базата на податоци со ознаките во InTouch се вика врзување (binding). SQL Access Manager креира и примерок на табела (table template) кој ја дефинира структурата и форматот на базата на податоци. Конфигурирање на SQL Access Manager SQL Access Manager креира листи за врска (bind lists) и примероци на табели. Листата за врска ги поврзува колоните во базата на податоци со ознаките на променливите во InTouch базата на дефинирани променливи. Примерокот на табела ја дефинира структурата и форматот на новата табела во базата на податоци. Конфигурирање на листа за врска Во полето Bind List Name се внесува име на листата за врска. Во полето Tagname.FieldName се внесува име на InTouch ознака на променлива. Во полето Column Name се внесува името на колоната.
MAKO CIGRE 2007 C1-03R 8/8 Користење на SQL функции Овие функции се продолжеток на стандардните функции на InTouch скриптите и може да се користат во било која скрипта. Овозможуваат да се означат, изменат, вметнат или избришат записи во табелите кон кои корисникот ќе одлучи да пристапи. Функцијата SQLConnect() овозможува поврзување на InTouch со базата на податоци која е наведена во стрингот за поврзување. Функцијата SQLDisconnect овозможува прекин на врската со базата на податоци. Функцијата SQLInsert вметнува нов запис во наведената табела со користење на вредностите на ознаките на променливите кои се наведени во листата за врска. Параметрите на листата за врска дефинираат кои InTouch ознаки на променливи ќе се употребат и со кои колони во базата на податоци тие се поврзани. Заклучок Апликацијата е една комплетно функционална SCADA. Заради потребите при изработката на оваа апликација, потребно е искуство во начинот на програмирање на програмабилни логички контролери и искуство во програмирање и решавање на проблеми. Поради недостаток на аналогни влезови и излези, не постоеше можност преку котролерот да се симулираат промени на аналогни величини, а тоа се направи со помош на лизгачи кои постојат во програмата, а самиот контролер и искористен само за симулација на вклучување и исклучување на прекинувачи и раставувачи. Литература [1] Wonderware Corporation Wonderware FactorySuite InTouch User s Guide [2] Wonderware Corporation Wonderware FactorySuite InTouch Reference Guide [3] Wonderware Corporation Wonderware FactorySuite SQL Access Manager [4] Texas A&M Engineering, Power System Control & Protection Lab Energy Management and SCADA Applications [5] CX-Programmer Help Files