02 06 artykul4p

background image

S

ystemy sterowania PLC są systemami czasu rze-
czywistego, w wielu przypadkach są to systemy
typu Hard Real Time, co oznacza, że podczas ich

pracy muszą być spełnione określone uwarunkowania
czasowe, dotyczące przede wszystkim determinizmu
i powtarzalności czasów wykonania określonych czę-
ści programu. Są to często funkcje o znacznym stop-
niu złożoności obliczeniowej, których czas wykona-
nia w środowisku PLC jest długi, a jednocześnie jest
on parametrem krytycznym podczas pracy systemu
sterowania. Z kolei sprzęt i oprogramowanie zapew-
niające spełnienie wymagań czasu rzeczywistego jest
znacznie kosztowniejsze od wersji podstawowych
sprzętu i oprogramowania (np. cena oprogramowa-
nia soft PLC SIEMENS Win AC RTX zapewniającego
spełnienie wymagań czasu rzeczywistego jest o ok.
50 % wyższa niż wersji podstawowej BASIS).

Dokładny pomiar czasów cyklu i czasów odpowie-

dzi na poziomie sprzętu jest dość złożony i często wy-
maga znacznej ingerencji w strukturę sprzętową te-
stowanego urządzenia. W praktyce przemysłowej jest
zwykle niemożliwy do wykonania. Z kolei szacowania
czasów wykonania poszczególnych funkcji lub bloków
funkcyjnych podawane przez producentów sprzętu są
często niedokładne [5]. Dodatkowym, niefortunnym
zbiegiem okoliczności jest także to, że w przypadku
sterowników programowalnych największa złożoność
obliczeniowa zbiega się z największymi wymaganiami
czasowymi (sterowanie numeryczne i robotyka). Z te-
go względu poprawne oszacowanie oraz prosty po-

miar czasu wykonania programu lub jego krytycznych
części ma duże znaczenie praktyczne.

Z powyższych względów wydaje się uzasadnione

zaproponowanie metody pozwalającej na prosty pro-
gramowy pomiar czasu wykonania pojedynczych zło-
żonych funkcji numerycznych, mających kluczowe
znaczenie dla poprawności działania programu.

Oszacowanie czasu wykonania
programu użytkownika
w systemie PLC

Zagadnienia oszacowania czasów cyklu i czasów od-
powiedzi sterownika PLC były omawiane m.in. w pra-
cach: [4, 5, 6, 7, 8]. Aby zdefiniować pojęcie czasu cyklu
i czasu odpowiedzi, należy opisać poszczególne fazy
realizacji cyklu programowego sterownika PLC (np.
[4, 8]). Są one pokazane na rys.1. Na schemacie tym
zaznaczono również czasy: cyklu oraz odpowiedzi ste-
rownika. Zgodnie z rys. 1 mogą one być zdefiniowane
następująco:

Poprzez czas cyklu T

s

rozumiemy czas trwania jed-

nego cyklu programowego sterownika, zaczynają-
cego się inicjalizacją, a kończącego się wykonaniem
autodiagnostyki.

Poprzez czas odpowiedzi T

r

rozumiemy czas po-

między odczytem danego wejścia sterownika a za-
pisem sygnału sterującego na skojarzone z tym wej-
ściem wyjście.

Podczas konfiguracji i programowania PLC mamy

wpływ na wartości obu tych czasów, przy czym pod-
czas analizy uwarunkowań czasowych realizacji za-
dania sterowania istotniejsza jest znajomość czasu
odpowiedzi, gdyż to on decyduje o szybkości i deter-
minizmie czasowym wygenerowania sygnału steru-
jącego.

Programowy pomiar czasu realizacji
złożonych procedur obliczeniowych
w środowisku PLC

Krzysztof Oprzędkiewicz *

Dokładny pomiar czasów cyklu i odpowiedzi na poziomie sprzętu jest dość złożony
i często wymaga znacznej ingerencji w strukturę sprzętową testowanego urządze-
nia. W praktyce zwykle jest niemożliwy do wykonania. Największa złożoność obli-
czeniowa sterowników programowalnych zbiega się z największymi wymaganiami
czasowymi (sterowanie numeryczne i robotyka). Z tego względu poprawne oszaco-
wanie oraz prosty pomiar czasu wykonania programu lub jego krytycznych części
ma duże znaczenie praktyczne. Z tych względów wydaje się uzasadnione zapro-
ponowanie metody pozwalającej na prosty programowy pomiar czasu wykonania
pojedynczych złożonych funkcji numerycznych, mających kluczowe znaczenie dla
poprawności działania programu.

Pomiary Automatyka Robotyka 2/2006

*

dr inż.Krzysztof Oprzędkiewicz
– Instytut Automatyki, Wydział EAIiE,
Akademia Górniczo-Hutnicza

22

background image

Podstawową miarą czasu odpowiedzi jest czas od-

powiedzi jednej pętli regulacyjnej T

o

. Jest regułą, że

czas T

o

podczas pracy sterownika nie jest wielkością

stałą, lecz waha się pomiędzy wartością minimalną
i maksymalną. Czas wykonania programu użytkow-
nika w systemie PLC jest częścią czasu cyklu i czasu
odpowiedzi. Może on być wyrażony następującą re-
lacją:

(1)

gdzie: T

u

oznacza czas wykonania programu użyt-

kownika lub jego części, T

instr

są czasami wykonania

poszczególnych instrukcji programu, F > 1,0 jest stałą
zależną od sprzętu. Czasy T

instr

są zależne od rodzaju

operacji i typu danych, na jakich są one wykonywane.
Bardziej szczegółowe dane na ten temat można zna-
leźć w pracach [5, 6, 7]. Generalnie, można stwierdzić,
że najdłuższy czas wykonania mają operacje na licz-
bach zmiennoprzecinkowych oraz funkcje trygono-
metryczne.

Programowa metoda pomiaru czasu
wykonania procedury

Proponowany w pracy algorytm pomiaru czasu wy-
konania funkcji obliczeniowej, zrealizowany z wy-
korzystaniem grafu sekwencji jest przedstawiony na
rys. 2.

Działanie algorytmu z rys. 2 jest następujące:

etap INIT: wykonywane jest ustawienie zmiennej

KONIEC:= FALSE

sygnał START uruchamia jako procesy współbieżne:

wykonanie testowanej procedury oraz odliczanie
czasu przez timer PT. Wartość zadaną czasu timera
należy ustawić długą (np. kilkadziesiąt minut). Za-
kończenie wykonywania testowanej procedury jest
sygnalizowane ustawieniem na TRUE zmiennej lo-
gicznej READY, która jest warunkiem zakończenia
sekwencji współbieżnej i przejścia do etapu ZAPIS_
CZASU

etap ZAPIS_CZASU: zapis bieżącej wartości czasu ti-

mera do zmiennej RECENT oraz wyznaczenie czasu
wykonania testu (pętla FOR zawierająca testowaną
procedurę wykonywaną N

max

razy) wg następują-

cej relacji: CZAS_WYN:= PREV – RECENT (gdzie
PREV oznacza wartość czasu z timera odczytaną
w poprzednim cyklu z dokładnością do 1 ms) oraz
przypisanie: PREV:= RECENT i ustawienie na TRUE
zmiennej logicznej KONIEC powodującej zakończe-
nie wykonywania testu.

Wykonywanie procedury należy zakończyć po ze-

braniu odpowiedniej liczby próbek i minięciu czasu
równego wartości zadanej czasu timera PT użytego
do testu.

Wyznaczony podczas testu CZAS_WYN jest nastę-

pująco powiązany z wartością czasu wykonywania
testowanej procedury:

CZAS_WYN = N

max

T

e

+ T

t

(2)

23

Pomiary Automatyka Robotyka 2/2006

Rys. 1. Cykl programowy sterownika PLC

u

instr

T

F

T

=

INIT

ZAPIS

CZASU

Rys. 2. Algorytm pomiaru czasu wykonania procedury obli-

czeniowej

background image

Pomiary Automatyka Robotyka 2/2006

24

co można zapisać w następującej równoważnej po-
staci:

(3)

gdzie N

max

oznacza liczbę wykonań pętli FOR, T

e

czas wykonania testowanej procedury, T

t

– czas nie-

zbędny do uruchomienia i wykonania timera PT. Jego
uwzględnienie jest niezbędne, gdyż „równoległe” z te-
stowaną funkcją działanie timera jest w przypadku
maszyny jednoprocesorowej tylko teoretycznym za-
łożeniem, niemożliwym do realizacji.

Badania doświadczalne

Do badań doświadczalnych wykorzystano środowi-
sko programowe TwinCAT (Beckhoff) [8] oferujące
zarówno zestaw narzędzi programowych zgodnych
z normą, jak też środowisko soft PLC i symulator. Za-
sadniczą ideą systemów sterowania soft PLC jest wy-
korzystanie interfejsów procesowych oraz narzędzi
programowych z klasycznych systemów PLC, przy
jednoczesnym zastąpieniu CPU sterownika realizowa-
nej sprzętowo przez jednostkę realizowaną wirtualnie
w środowisku sprzętowo-programowym komputera
klasy PC lub panelu wielofunkcyjnego, pod nadzorem
systemu operacyjnego WINDOWS. Koncepcja soft
PLC ma wiele niezaprzeczalnych zalet, do których na-
leżą m.in.: łatwość zintegrowania na jednej platformie
CPU i systemu SCADA, znacznie większe możliwości
obliczeniowe systemu soft PLC przy znacznie niższej
cenie sprzętu, łatwość implementacji na nowej plat-
formie oprogramowania napisanego dla systemu hard
PLC. System soft PLC jest realizowany zawsze w kon-
figuracji rozproszonej, komunikacja pomiędzy kom-
puterem i modułami wejść i wyjść jest realizowana
z wykorzystaniem sieci (PROFIBUS, ETHERNET). Naj-
większym problemem podczas stosowania systemów
soft PLC są trudności ze spełnieniem wymagań czasu
rzeczywistego, a w szczególności z zachowaniem de-
terminizmu czasowego podczas pracy systemu ste-
rowania. Trudność ta wiąże się z pracą systemu pod
nadzorem środowiska WINDOWS, które do niedawna
nie zapewniało spełnienia wymagań czasu rzeczywi-
stego. Spełnienie tych wymagań wymaga rozbudowy
środowiska WINDOWS o jądro czasu rzeczywistego,
co jednak podnosi koszty. Generalnie, środowiska
programowe soft PLC są dostępne w dwu wersjach.
Wersja podstawowa jest tańsza, ale nie zapewnia
w 100 proc. spełnienia wymagań czasu rzeczywistego
i jest przeznaczona do pracy w aplikacjach mniej kry-
tycznych pod względem czasowym (np. SIEMENS
WinAC Basis). Wersja zapewniająca spełnienie wyma-
gań czasu rzeczywistego jest droższa (np. SIEMENS
WinAC RTX), ale zapewnia spełnienie krytycznych
wymagań czasowych.

W badaniach doświadczalnych zastosowano opro-

gramowanie w wersji podstawowej, niemającej jądra
czasu rzeczywistego. Do badań wykorzystano wyłącz-

T

CZAS WYN

T

N

e

t

=

_

max

nie wirtualną jednostkę centralną, nie definiowano
układu wejść i wyjść, gdyż dla celów eksperymentu
było to zbędne. Wszystkie operacje arytmetyczne wy-
konano na liczbach zmiennoprzecinkowych.

Jako przykład do badań testowych rozważono

fragment rozwiązania zadania kinematyki prostej dla
robota przemysłowego o 5 stopniach swobody ([2]
s. 109). Zadanie takie jest rozwiązywane numerycznie
podczas wyznaczania sygnału sterującego dla robota
i musi być wykonane ze spełnieniem określonych re-
żimów czasowych.

Konwersja układu współrzędnych napędowych ro-

bota do równoważnej postaci układu współrzędnych
konfiguracyjnych wymaga rozwiązania następującego
układu równań:

gdzie: q oznacza współrzędne konfigurac yjne,
A – współrzędne napędowe, a, b, k, l, F – parametry
geometryczne manipulatora.

Rozwiązanie równania (4) zostało dokonane w funk-

cji definiowanej przez użytkownika, której argumen-
tami wejściowymi były geometryczne parametry ma-
nipulatora oraz tablica współrzędnych napędowych,
a argumentem wyjściowym była tablica współrzęd-
nych konfiguracyjnych. Funkcja ta dla przykładowych
danych liczbowych została 250 tys. razy wykonana
w pętli FOR…DO, przy czym eksperyment wykonano
1000 razy. Wszystkie operacje arytmetyczne wyko-
nano na danych typu rzeczywistego (REAL). Do eks-
perymentu wykorzystano timer PT. CZAS_WYN mie-
rzono z dokładnością 1 ms. Na podstawie wyników
doświadczalnych oraz relacji (3) można wyznaczyć
zakres czasów wykonania testowanej funkcji. Są one
pokazane w postaci histogramu na rys. 3.

(4)

Rys. 3. Liczba wystąpień poszczególnych wartości czasu wyko-

nania testowej funkcji

4,75 4,76 4,76 4,77 4.78 4,78 4,79 4,8 4,81

liczba wystąpień

czas wykonania funkcji (mikrosekundy)

background image

Pomiary Automatyka Robotyka 2/2006

25

W rozważanym wypadku czas wykonania timera T

t

w relacji (3) może być pominięty, gdyż jest on znacz-
nie krótszy od czasu wynikowego CZAS_WYN.

Liczby wystąpień poszczególnych wartości czasów

wykonania procedury są opisane rozkładem normal-
nym, podobnie, jak wartości czasów cyklu sterownika
[5]. Parametry tego rozkładu zostały oszacowane na
podstawie histogramu z rys. 3 i są podane w tabeli 1.

Tabela 1. Parametry rozkładu normalnego opisującego

rozkład wartości czasów wykonania procedury

Parametr

Wartość

Wartość średnia µ

55,5556

Odchylenie standardowe s

168,6368

Tabela 2. Czasy wykonania testowanej funkcji zmierzone

podczas eksperymentu

Czas wykonania

Wartość (µs)

minimalny

4,748

najbardziej prawdopodobny

4,764

maksymalny

4,812

Na podstawie wyników badań doświadczalnych
można stwierdzić, że w rozważanym przykładzie czas
wykonania testowanej funkcji w żadnym wypadku nie
przekroczył 5 µs przy różnicy pomiędzy jego warto-
ścią minimalną a maksymalną nieprzekraczającej 2 %.
Wynik ten należy uznać za bardzo korzystny z punktu
widzenia spełnienia wymagań czasu rzeczywistego.

Uwagi końcowe

Proponowana metoda pozwala na proste wyznacze-

nie wartości czasów wykonania złożonych funkcji
obliczeniowych, przy czym jedynym ogranicze-
niem jest tu konieczność użycia Grafu Sekwencji
do budowy programu testującego.

Omawiany algorytm jest w pełni niezależny od po-

miaru czasu cyklu sterownika, co znacznie uprasz-
cza jego użycie, gdyż dostęp do tego parametru nie
jest możliwy na każdym sprzęcie.

Proponowana metoda pozwala na testowanie wy-

branych, krytycznych pod względem czasowym
fragmentów programu, co pozwala na postawienie
tezy, że pomimo prostoty cechuje się ona dużą pre-
cyzją, gdyż pozwala np. ominąć procedury obsługi
wejść i wyjść wykonywane podczas pracy całego
programu, znacznie wydłużające w sposób losowy
czas jego wykonania.

Bibliografia

1. S.

Benett,

Real – Time Computer Control. An Intro-

duction, Prentice Hall Europe, 1994.

2. J.J

.

Craig,

Wprowadzenie do robotyki. Mechanika

i sterowanie, WNT, Warszawa, 1993.

3. W.

Grega,

Sterowanie cyfrowe w czasie rzeczywis-

tym, Wyd. Wydz. EAIiE AGH, 1999.

4. T. Legierski i inni, Programowanie sterowników

PLC, Wyd. Prac. Komp. J. Skalmierski, Gliwice,
1998.

5. I. Oprzędkiewicz, Problemy oszacowania pa-

rametrów statystycznych rozkładów czasów
cyklu sterowników PLC
, Przegląd Mechaniczny,
PM-116/05 (w druku).

6. K. Oprzędkiewicz, Uwarunkowania czasowe

realizacji specjalnych algorytmów sterowania
w systemach PLC
, Pomiary, Automatyka, Robotyka
(PAR), nr 4, s. 48 – 52, 2003.

7. K. Oprzędkiewicz, Spełnienie wymagań czasu

rzeczywistego w środowisku sprzętowo-progra-
mowym soft PLC podczas realizacji predyktora
Smitha
, Informatyka Teoretyczna i Stosowana,
nr 7, s. 49 – 58, 2004.

8. R. Tadeusiewicz, G.G. Piwniak, W.W. Tkaczow,

W.G. Szaruda, K. Oprzędkiewicz, Modelowanie
komputerowe i obliczenia współczesnych ukła-
dów automatyzacji
, Wyd. AGH, 2004.

9. Strona firmy Beckhoff: http://www.beckhoff.

com

REKLAMA


Wyszukiwarka

Podobne podstrony:
bns kalisz 02 06 id 90842 Nieznany (2)
podstawy teorii part one bzz v1 07 02 06
02 06 Prawo budowlane
15.02.06-Anemia-materiały do wykładu, studia, 4 rok, farmakologia, materiały, C21W15-niedokrwistosci
Kolekcjon 02 06
G2 PW PZT Rys 02 06
plan PZ stacjonarne sem6 Elektro 10 02 06
psychiatria 02 06
praca licencjacka 02 06 AIZSMS64YXN5FU4I4BAXHW2X2ZHNQA6UCHCIIUY
Epidemiologia cwiczenia 01 i 02 06, Testy diagnostyczne
Sprawko 8 (02 06)
02 06 2012 statystyka notatkiid504
13 02 06 Creación y Pecado
02 06 2FY3MBOTY7QZYHGUB3JPCLGLWM6T6LME5OHSLMY
plan, PZ-stacjonarne-sem6-Elektro-10-02-06
2006 02 06 Egzamin
podstawy teorii part two bzz v1 07 02 06
Incomings SCORE w Krakowie 02 06 01 2014

więcej podobnych podstron