Spełnienie wymagań czasu rzeczywistego w obrębie rodziny sterowników PLC
1. Wprowadzenie.
Systemy sterowania wykorzystujące sterowniki PLC w przemyśle stosowane są od wielu lat. Głównymi ograniczeniami są tutaj zbyt małe możliwości obliczeniowe sterownika oraz za mała szybkość działania jednostki centralnej sterownika do sterowania procesami wymagającymi pracy w czasie rzeczywistym. Dlatego istotne z punktu widzenia pracy w systemach czasu rzeczywistego jest opracowanie optymalnego czasowo oprogramowania, czyli takiego, które cechuje się maksymalnym skróceniem czasu cyklu bez utraty własciwości funkcyjnych. Na długość tego czasu, obo typu sterownika, ma głównie złożoność programu użytkownika oraz szybkość obsługi urządzeń peryferyjnych. Tworząc program spełniajacy wymagania czasu rzeczywistego, należy zwrócić uwagę na liczbę i rodzaj użytych instrukcji. W pracy zaprezentowano procedury testujące spełnienie zadań czasu rzeczywistego podczas realizacji typowych zadań sterowania. Doświadczalnie wyznaczone czasy cyklów porównano z oszacowaniami wykonanymi na podstawie informacji udostępnianych przez producenta testowanych sterowników. Sterownik SU 1.2 oraz sterownik SU 1.5 zostały wyposażone w procesory RISC. Dzięki możliwości pisaniu programów w asemblerze, możliwe jest precyzyjne określenie czasu odpowiedzi sterownika.
2. Podstawowe zagadnienia związane z czasem rzeczywistym w systemach PLC.
Czas cyklu i czas odpowiedzi, to podstawowe pojęcia, które należy zdefionować przed analizą zagadnień związanych ze spełnieniem wymagań czasu rzeczywistego sterowników PLC. Czas cyklu Tc to czas, który upływa podczas jednego cyklu programu (rys. 1).
Na jego długość wpływają:
- ustawienia systemowe i sprawdzanie magistrali wejść/wyjść, pamięci, autotest CPU itp. (czas stały dla danego typu sterownika);
- obsługa danych wejściowych i wyjściowych (dla danego typu sterownika stała);
- czas wykonywania programu użytkownika (wartość zmienna);
- obsługa urządzeń peryferyjnych.
Etapy cyklu sterownika
Minimalny czas odpowiedzi Tomin
Czas odpowiedzi To to czas pomiędzy zmianą stanu wejścia a zmianą stanu na wyjściu. Jego długość zależy od czasu cyklu oraz opóźnień związanych z wejściami i wyjściami. W związku z faktem, że odczyt sygnału wejściowego może nastąpić na początku lub na końcu cyklu, uzasadnione jest wprowadzenie pojęć minimalnego Tomin i maksymalnego Tomax czasu odpowiedzi. Z minimalnym czasem odpowiedzi (rys. 2) mamy do czynienia wtedy, gdy zmiana sygnału wejściowego nastąpi odpowiednio wcześnie przed obsługą wejść i wyjść, jeżeli natomiast czas między wsytąpieniem sygnału wejściowego a obsługą wejść i wyjść będzie mniejszy niż czas opóźnienia (załączania) sygnału wejścia wtedy oczyt sygnału wejściowego nastąpi dopiero ma początku następnego cyklu, co spowoduje wydłużenie czasu odpowiedzi o jeden cykl. W takim wypadku czas odpowiedzi będzie maksymalny (rys. 3).
Maksymaln czas odpowiedzi Tomax
3. Teoretyczne oszacowanie czasu cyklu i odpowiedzi.
Szacowanie czasu cyklu i odpowiedzi można zrealizować w oparciu o dane dostarczone przez producenta konkretnego typu sterownika. Będzie to oczywiście oszacowanie dla najmniej korzystnej sytuacji, czyli rzeczywiste pomiary konkretnych czasów powinny być krótsze od wartości obliczonej. Czas odpowiedzi To waha się pomiędzy wartością minimalną Tomin i maksymalną Tomax, czyli:
Tomin<To<Tomax
Tomin=Tr+Tos+Tu+Tw+Tdi+Tdo+Tt
Tomin=2Tr+2Tos+2Tu+2Tw+Tdi+Tdo+Tt+Tdp
gdzie:
- Tr, Tw – czas odczytu i zapisu odpowiednio wejść i wyjść;
- Tu – czas wykonywania programu użytkownika;
- Tos – czas wykonania systemu operacyjnego sterownika;
- Tdi, Tdo – czas opóźnienia związanego z odczytem/zapisem wejść/wyjść;
- Tt – czas wykonania się timerów użytych w programie;
- Tdp – czas komunikacji z siecią.
Czas cyklu również nie jest wartością stałą, lecz zalezy np. od liczby i rodzaju przerwań oraz szybkości komunikacji systemowej. Szacując jego wartość należy uwzględnić
Tc=Tr+Tos+Tu+Tw+Tdi+Tdo+Tt+Tdp
W zaproponowanych wzorach nie uwzględniono czasu przeznaczonego na diagnostykę, gdyż jest on pomijalnie mały w stosunku do pozostałych czasów.
4. Procedury testujące spełnienie wymagań czasu rzeczywistego podczas realizacji typowych zadań sterowania.
Badania doświadczalne zostały wykonane na sterownikach PLC SIEMENS SIMATIC S7-300 z jednostkami centralnymi: 312 IFM oraz 315. Na każdej z tych jednostek uruchomiono procedury testowe realizujące następujące typowe zadania sterowania:
- sterowanie logiczne (procedura P1);
- sterowanie ciągłe z wykorzystaniem algorytmu PID (procedura P2);
- sterowanie z zakresu robotyki (zagadnienie kinematyki prostej)(procedura P3).
Sterowanie logiczne zrealizowano w procedurze obsługującej zadajnik cyfrowy (thumbwheel switch). Umożliwia on wprowadzenie do sterownika cyfry w zależności od liczby segmentów zadajnika. Aby odczytać wartości z zadajnika, konieczne było napisanie procedury z „kroczącą jedynką”, która umożliwiła odczytanie kolejnych wyjść.
Do testów algorytmów regulacji ciągłej wykorzystano typowy układ regulacji (sterowanie w układzie zamkniętym) z regulatorem PID w głównej linii regulacyjnej.
Proste zagadnienie kinematyki jest to zadanie statyczno-geometryczne polegające na obliczniu pozycji i orientacji członu roboczego manipultaora. Mając dane wszystkie współrzędne konfiguracyjne, należy obliczyć pozycję danego punktu związanego z robotem względem globalnego układu współrzędnych. Z punktu widzenia sterowania jest to problem wymagający wielokrotnego wykorzystania czasochłonnych funkcji trygonometrycznych
5. Wyniki badań doświadczalnych.
Przeprowadzone badania miały na celu oszacowanie czasów cyklów w poszczególnych procedurach sterowania w oparciu o dane udostępnione przez producenta sterowników SIEMENS, a następnie zweryfikowanie ich podczas podczas rzeczywistego sterowania.
Do wyznaczenia oszacowań wykorzystano wzór na Tc. Po wtsępnych oszacowaniach okazało się, że decydujący wpływ na długość czasu cyklu ma złożoność (rodzaj i liczba użytych instrukcji) procedury sterującej. Suma czasów Tos (czas wykonywania systemu operacyjnego sterownika) Tr, Tw (czas odczytu i zapisu odpowiednio wejść i wyjść), Tdi, Tdo (czas opóźnienia związanego z odczytem/zapisem wejść/wyjść) oraz Tdp (czas komunikacji z siecią) w obu użytych sterownikach wynosiła około 2ms. Czasy wykonania pojedynczych instrukcji są na tyle krótkie, że dla umożliwienia ich odczytu zdecydowano się na pomiar czasu cyklu dla tysiąc krotnego wykonania danej procedury w pętli.
Rysunki 4-6 przedstawiają histogramy wystąpień poszczególnych czasów cyklów, przy czym czasy cyklów mierzono z dokładnością do 10 ms, natomiast tabela 1 zawiera oszacowania maksymalnych czasów cyklu dla analizowanych procedur na podstawie danych dotyczących czasów wykonania poszczególnych instrukcji, podanych przez producenta sprzętu.
Oszacowanie maksymalnych czasów cyklów dla procedur testujących typowe zadania sterowania P1, P2, P3
Czasy cyklów wyznaczone w wyniku badań doświadczalnych okazały się znacznie krótsze niż wynikałoby to z teoretycznych oszacowań. Wyniki przedstawiono na rysunkach 4-6.
6. Wnioski.
Przeprowadzone badania świadczą o tym, że teoretyczne oszacowanie czasu cyklu można traktować jako maksymalny możliwy czas cyklu. W praktyce, rzeczywiste czasy cyklów najczęściej są kilka, a nawet klikunastokrotnie krótsze. Wynika to pradwopodobnie z faktu, że producent podaje najdłuższy możliwy czas wykonania danej operacji. Na podstawie zamieszczonych histogramów można zaobserować, że stosując jednostkę CPU 315 można znacząco skrócić czasy cyklów (w stosunku do jednostki 312 IFM) w procedurach opartych na sterowaniu logicznym (rys. 4). Czasy cyklów w procedurach realizujących sterowanie ciągłe oraz proste zadanie kinematyki są zbliżone i to zarówno w oszacowaniach teoretycznych jak i wyznaczone doświadczalnie.