02-06_artykul4p.pdf
(
301 KB
)
Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Pomiary Automatyka Robotyka 2/2006
Programowy pomiar czasu realizacji
złożonych procedur obliczeniowych
w środowisku PLC
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.
Krzysztof Oprzędkiewicz *
S
ystemy sterowania PLC są systemami czasu rze-
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.
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 w y-
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-
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.
*
dr inż.Krzysztof Oprzędkiewicz
– Instytut Automatyki, Wydział EAIiE,
Akademia Górniczo-Hutnicza
22
Pomiary Automatyka Robotyka 2/2006
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.
INIT
ZAPIS
CZASU
Rys. 2.
Algorytm pomiaru czasu wykonania procedury obli-
czeniowej
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:
Rys. 1.
Cykl programowy sterownika PLC
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ą:
∑
TFT
=
u
instr
(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.
CZAS_WYN = N
max
T
e
+ T
t
(2)
23
Pomiary Automatyka Robotyka 2/2006
co można zapisać w następującej równoważnej po-
staci:
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ń:
CZAS
_
WYN
T
−
(3)
t
T
=
e
N
max
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
Win AC Basis). Wersja zapewniająca spełnienie w yma-
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-
(4)
gdzie:
q
oznacza współrzędne konfiguracyjne,
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.
liczba wystąpień
4,75 4,76 4,76 4,77 4.78 4,78 4,79 4,8 4,81
czas wykonania funkcji (mikrosekundy)
Rys. 3.
Liczba wystąpień poszczególnych wartości czasu wyko-
nania testowej funkcji
24
Pomiary Automatyka Robotyka 2/2006
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.
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 . Ta de u s ie w ic z , G .G . P i w n i a k , W.W. T k a c z ow,
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
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
War tość
(µs)
minimalny
4,748
najbardziej prawdopodobny
4,764
maksymalny
4,812
REKLAMA
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.
25
Plik z chomika:
amok10
Inne pliki z tego folderu:
11115.pdf
(143 KB)
CHIP-artyku%B3.doc
(3161 KB)
CX-ONE-PL+Broszura.pdf
(3019 KB)
209099.pdf
(3149 KB)
13-2009-pn-dzp-rpw_57_Załacznik nr 1 do SIWZ.pdf
(140 KB)
Inne foldery tego chomika:
PLC II
PLC Nauka
Zgłoś jeśli
naruszono regulamin