PLC-Programowanie w jezyku drabinkowym.pdf

(1081 KB) Pobierz
Microsoft Word - wy_pss_AP_1.doc
Języki programowania sterowników PLC
4. JĘZYKI PROGRAMOWANIA STEROWNIKÓW PLC
4.1. Wstęp
W rozdziale 4 zostaną przedstawione charakterystyczne cechy metod programowania sterowników PLC, które ujęte są w normie IEC 1131.
Omówiono tu metodę STL, która jest reprezentantem metod tekstowych, oraz dwie metody graficzne LAD i FBD. Dokonano klasyfikacji wybranych
instrukcji programowych (STL) oraz bloków graficznych zastępujących instrukcje (LAD i FBD) tych metod, podając je wraz ze szczegółowym opisem.
Omówiono na przykładach sposób użycia wybranych instrukcji w programie sterującym PLC.
By uświadomić Studentom zagadnienia adresowania operandów, które są argumentami niemalże każdej instrukcji programowej, początek rozdziału
4 otwiera mapa pamięci przykładowego sterownika rodziny SIMATIC PLC S7-200.
Rozdział kończą zagadnienia konfiguracji programowej sterownika PLC, szczególnie istotne przy doborze sterownika do konkretnego cyfrowego
układu sterowania procesem przemysłowym.
4.2. Mapa pamięci sterownika rodziny SIMATIC S7-200
4.2.1. Sposób adresacji operandu w programie PLC
Realizacja programu w sterowniku (w CPU) polega ogólnie na dekodowaniu kolejnych instrukcji programowych wraz z ich argumentami
(operandami). Instrukcje te i operandy zostają wcześniej „zamienione" na kod binarny i „rozmieszczone" w pamięci programu CPU przez
oprogramowanie sterownika. Czynność dekodowania instrukcji wykonuje układ sterowania mikroprocesora, który jest najważniejszym układem CPU.
Uwaga! Każda z instrukcji programowych ma swoje znaczenie i nie powinna być wprowadzona do programu przypadkowo.
Ponieważ kod binarny instrukcji programowej jest „znany" układowi US mikroprocesora, użytkownik tworzący program sterujący PLC
obowiązany jest znać tylko mnemoniki instrukcji oraz, oczywiście, ich znaczenie w programie (patrz uwaga powyżej). Poniższy przykład pokazuje
użycie mnemonika instrukcji wraz z jej argumentami:
MOVB QB0,MB0
W przykładzie mnemonik instrukcji to MOVB, którego użycie spowoduje przesunięcie (przesłanie) zawartości rejestru QB0 (operandu) do rejestru
MB0 (również operand). Jak łatwo się domyślić, rozmiar obu rejestrów jest jednakowy - l bajt.
Analizując powyższy przykład, intuicyjnie domyślamy się, że np. instrukcja przesunięcia zawartości rejestru z jednego miejsca w drugie musi
zawierać również informację o miejscu znajdowania się (adresach) tych rejestrów w pamięci CPU. Tutaj nazwy QB0 i MB0 określają jednoznacznie de
- 1/54 -
404952835.022.png
Języki programowania sterowników PLC
facto adresy tych rejestrów.
Na przykładzie chociażby powyższego widać, że programista tworząc program sterujący PLC, musi znać i rozumieć tzw. mapę pamięci sterownika
(CPU), która zawiera wszystkie dostępne rejestry używane jako operandy w instrukcjach programowych. Należy przy tym zaznaczyć, że symbole takich
operandów są narzucone a priori przez producenta sterownika i oprogramowania narzędziowego.
Zwraca się uwagę Studentów, że w każdej instrukcji sterującej (poleceniu) umieszczony jest dodatkowy identyfikator rozmiaru argumentów,
których ona dotyczy (w przykładzie powyżej był to bajt - MOV B ). Zazwyczaj możliwe staje się używanie instrukcji programowych, wykonujących
operacje na argumentach, których rozmiar jest wielokrotnością l bajtu. Jasne się staje, że wielkość przestrzeni adresowej określona w bajtach jest wtedy
odpowiednio 2- i 4-krotnie większa. Zależność tę pokazano poniżej na przykładzie 32-bitowego operandu MD100, który „zawiera":
• cztery bajty od MB 100 do MB 103;
• dwa słowa (dwubajty): MW 100 i MW 102.
Zastosowane oznaczenia LSB (Least significant bit) i MSB (Most significant bit) oznaczają odpowiednio najmniej i najbardziej znaczący bit
dwusłowa MD 100.
Podsumowując, organizacja adresowania operandów przy tworzeniu programu sterującego PLC pozwala na posługiwanie się argumentami 8-, 16- i
32-bitowymi. Poniżej przedstawiono mapę pamięci dla sterownika rodziny SIMATIC S7-200. Widać z niej, że użytkownik pisząc program sterujący,
może posługiwać się tylko i wyłącznie symbolami rejestrów, które jednoznacznie oznaczają rodzaj operandu - rejestr wejściowy, wyjściowy itp.
Dokładna analiza podanej symboliki w pełni pokazuje możliwości programowe tego małego sterownika.
- 2/54 -
404952835.023.png 404952835.024.png 404952835.025.png 404952835.001.png 404952835.002.png
Języki programowania sterowników PLC
4.2.2. Mapa pamięci sterownika
Tabela 4.1. Nazwy symboliczne rejestrów odnoszących się do pamięci zmiennych (typu odczyt/zapis)
Tabela 4.2. Nazwy symboliczne rejestrów odnoszących się do wejść sterownika (typu odczyt/zapis)
Tabela 4.3. Nazwy symboliczne rejestrów odnoszących się do wyjść sterownika (typu odczyt/zapis)
- 3/54 -
404952835.003.png 404952835.004.png 404952835.005.png 404952835.006.png 404952835.007.png
Języki programowania sterowników PLC
Tabela 4.4. Nazwy symboliczne rejestrów odnoszących się do wewnętrznych bitów pamięci sterownika (typu odczyt/zapis)
Tabela 4.5. Nazwy symboliczne rejestrów odnoszących się do wewnętrznych specjalnych bitów pamięci sterownika (tylko odczyt)
- 4/54 -
404952835.008.png 404952835.009.png 404952835.010.png 404952835.011.png 404952835.012.png 404952835.013.png 404952835.014.png
Języki programowania sterowników PLC
Tabela 4.6. Nazwy symboliczne rejestrów odnoszących się do wewnętrznych specjalnych bitów pamięci sterownika (typu odczyt/zapis)
Tabela 4.7. Nazwy symboliczne rejestrów odnoszących się do wewnętrznych timerów sterownika (typu odczyt/zapis)
Tabela 4.8. Nazwy symboliczne rejestrów odnoszących się do wewnętrznych liczników sterownika (typu odczyt/zapis)
- 5/54 -
404952835.015.png 404952835.016.png 404952835.017.png 404952835.018.png 404952835.019.png 404952835.020.png 404952835.021.png
Zgłoś jeśli naruszono regulamin