Wykad 3_PLC.pdf

(335 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
1. Standaryzacja metod programowania sterowników PLC
Na początkowym etapie rozwoju sterowników PLC każdy producent stosował
własny język programowania ze specyficzną listą rozkazów. Jednak wraz z wzrostem
powszechności ich stosowania pojawiła się konieczność standaryzacji metod
programowania. Prace normalizacyjne rozpoczęły się dosyć wcześnie, bo w roku
1970. Trwały jednak bardzo długo, ponieważ poszczególne języki programowania
stosowane w sterownikach różnych firm znacznie się różniły. W roku 1993
Międzynarodowa Komisja Elektroniki wydała normę IEC 1131, która w części trzeciej
zawierała charakterystykę języków programowania sterowników.
Do normy włączono kilka języków zarówno tekstowych, jaki i graficznych.
Wspólną ich cechą jest istnienie rozkazów, wyrażeń lub bloków operacji logicznych i
podobieństwo sposobu ich przedstawiania do form stosowanych w technice
przekaźnikowej.
Norma IEC 1131-3 definiuje podział na dwie zasadnicze grupy:
Û języki tekstowe:
·
język listy instrukcji (IL).
·
język strukturalny (ST),
Û języki graficzne:
·
język schematów drabinkowych (LD),
język schematów bloków funkcyjnych (FBD),
·
·
sekwencyjny język graficzny (SFC).
Nadal jednak postępuje proces ewolucji narzędzi i języków programowania.
Ostatnio
niektórzy
producenci
oprogramowania
rozszerzyli
ofertę
języków
graficznych o język diagramów przepływowych (FC).
Najpopularniejszym
językiem
programowania
jest
język
schematów
drabinkowych LD
1.1. Język listy instrukcji IL
Programowanie w języku IL polega na używaniu właściwych instrukcji
programowych (tzw. mnemoników), wynikających z listy poleceń sterownika. Biorąc
Zadanie 21/2
1
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
następnie pod uwagę właściwe zasady tworzenia programu sterującego, umieszcza
się te mnemoniki w odpowiednich wierszach edytora programu (tzw. sieciach) wraz z
operandami (argumentami).
Pojedyncza linia edytowanego programu musi zawierać:
Û mnemonik rozkazu
Û operand bądź operandy
Program w metodzie IL konstruuje się na ekranie monitora za pomocą
klawiatury alfabetycznej i po stwierdzeniu jego prawidłowości przesyła do sterownika
PLC. Możliwe jest umieszczenie komentarzy objaśniających znaczenie używanych
instrukcji w tworzonym programie sterującym. Dla tej metody programowania
sterownika najczęściej nie istnieje możliwość testowania programu w trybie online.
Jest to podyktowane tym, że do tworzenia programu metodą IL używa się edytorów
tekstów, które nie pozwalają na umieszczanie informacji o aktualnym stanie
używanych operandów.
Przykład konstrukcji pojedynczej linii programu wraz z komentarzem
Wyjaśniając powyższy przykład, stwierdzamy, że mnemonik rozkazu dla timera
typu ON jest skrót TON . Operandem (argumentem) operacji są wyrażenia oznaczone
przez skróty T21 i K10 . pierwszy argument instrukcji związany jest z typem timera
(operand bitowy), a drugi z typem stałej – „10”, która napisana jest przy użyciu
kodowania dziesiętnego. Ponieważ układy mikroprocesorowe operują na wartościach
binarnych, wartość tej liczby zostaje zamieniona na postać zero-jedynkową, czyli
00001010.
Zadanie 21/2
2
842775573.550.png
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Oto przykładowy program PLC utworzony metodą IL:
Przykładowe instrukcje języka IL
L.p.
Mnemonik
OPIS
1.
LD n
Ładuj operand (n –numer bitu)
2.
LDN n
Ładuj operand z negacją
5.
A n
Iloczyn logiczny AND
6.
O n
Suma logiczna OR
7.
ALD
Łączenie w iloczynie
8.
OLD
Łączenie w sumie
Instrukcja skoku pod adres etykiety
n
12.
JMP n
14.
RET
Instrukcja powrotu z podprogramu
Język ten składa się z sekwencji instrukcji, z których każda powinna zaczynać
się od nowej linii. Instrukcja powinna zawierać nazwę operatora oraz operand, może
być poprzedzona etykietą zakończoną dwukropkiem.
1.2. Język strukturalny ST
Język strukturalny ST (Structured Text) należy do grupy języków tekstowych.
Jest on przeznaczony głównie do opisu złożonych wyrażeń, których nie można
zrealizować w językach graficznych (lub jest to bardzo utrudnione). Na rysunku 1
przedstawiono fragment zapisu w tym języku.
Język ST jest podstawowym językiem używanym do opisywania akcji w
poszczególnych krokach i warunkach struktur wyrażonych w językach SFC i FC.
Podstawowymi elementami języka są wyrażenia i polecenia. Wyrażenia dostarczają
wartości odpowiadające określonemu typowi danych. Składają się one z operatorów i
operandów. Operandem może być zmienna, stała, funkcja lub inne wyrażenie.
Zadanie 21/2
3
842775573.661.png 842775573.719.png 842775573.730.png 842775573.001.png 842775573.012.png 842775573.023.png 842775573.034.png 842775573.045.png 842775573.056.png 842775573.067.png 842775573.078.png 842775573.089.png 842775573.100.png 842775573.111.png 842775573.122.png 842775573.133.png 842775573.144.png 842775573.155.png 842775573.166.png 842775573.177.png 842775573.188.png 842775573.199.png 842775573.210.png 842775573.221.png 842775573.232.png 842775573.243.png 842775573.254.png 842775573.265.png 842775573.276.png 842775573.287.png 842775573.298.png 842775573.309.png 842775573.320.png 842775573.331.png 842775573.342.png
 
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Obliczenia są wykonywane przez zastosowanie operatorów do operandów
według ściśle określonej kolejności priorytetów. Podstawowymi poleceniami języka
są:
·
instrukcja przypisania np. a:= b,
RETURN,
·
·
IF ... ELSEIF ... ELSE ... END_IF,
CASE ... ELSE ... END_CASE,
·
·
FOR ... TO ... DO ... END_FOR,
·
WHILE ... END_WHILE,
·
REPEAT ... UNTIL ... END_REPEAT,
EXIT.
·
W postaci tekstowej język ten ujmuje zdefiniowane w normie standardowe
funkcje i bloki funkcyjne.
1.3. Język schematów blokowych (FBD)
Tworzenie programu sterującego PLC z wykorzystaniem języka FBD polega na
używaniu w programie sterującym właściwych tej metodzie bloków graficznych,
reprezentujących gotowe instrukcje programowe. Bloki te dostępne są w bibliotece
modułów, a zasada ich użycia polega na wywołaniu bloku i umieszczeniu go we
właściwym miejscu ekranu monitora.
Powstaje w ten sposób struktura graficzna programu sterującego. Funkcje te są
widziane w edytorze programu jako prostokąty z opisanymi zmiennymi wejściowymi i
wyjściowymi.
Przykład bloku graficznego
Zadanie 21/2
4
842775573.363.png 842775573.374.png 842775573.385.png 842775573.396.png 842775573.407.png 842775573.418.png 842775573.429.png 842775573.440.png 842775573.451.png 842775573.462.png 842775573.473.png 842775573.484.png 842775573.495.png 842775573.506.png 842775573.517.png 842775573.528.png 842775573.539.png 842775573.551.png 842775573.562.png 842775573.573.png 842775573.584.png 842775573.595.png 842775573.606.png 842775573.617.png 842775573.628.png 842775573.639.png 842775573.650.png 842775573.662.png 842775573.673.png 842775573.684.png 842775573.695.png 842775573.706.png 842775573.714.png 842775573.715.png 842775573.716.png 842775573.717.png 842775573.718.png 842775573.720.png 842775573.721.png 842775573.722.png 842775573.723.png 842775573.724.png 842775573.725.png 842775573.726.png 842775573.727.png 842775573.728.png 842775573.729.png 842775573.731.png 842775573.732.png 842775573.733.png 842775573.734.png 842775573.735.png 842775573.736.png 842775573.737.png 842775573.738.png 842775573.739.png 842775573.740.png 842775573.002.png 842775573.003.png 842775573.004.png 842775573.005.png 842775573.006.png 842775573.007.png 842775573.008.png 842775573.009.png 842775573.010.png 842775573.011.png 842775573.013.png 842775573.014.png 842775573.015.png 842775573.016.png 842775573.017.png 842775573.018.png 842775573.019.png 842775573.020.png 842775573.021.png 842775573.022.png 842775573.024.png 842775573.025.png 842775573.026.png 842775573.027.png 842775573.028.png 842775573.029.png 842775573.030.png 842775573.031.png 842775573.032.png 842775573.033.png 842775573.035.png 842775573.036.png 842775573.037.png 842775573.038.png 842775573.039.png 842775573.040.png 842775573.041.png 842775573.042.png 842775573.043.png 842775573.044.png 842775573.046.png 842775573.047.png 842775573.048.png 842775573.049.png 842775573.050.png 842775573.051.png 842775573.052.png 842775573.053.png 842775573.054.png 842775573.055.png 842775573.057.png 842775573.058.png 842775573.059.png 842775573.060.png 842775573.061.png 842775573.062.png 842775573.063.png 842775573.064.png 842775573.065.png 842775573.066.png 842775573.068.png 842775573.069.png 842775573.070.png 842775573.071.png 842775573.072.png 842775573.073.png 842775573.074.png 842775573.075.png 842775573.076.png 842775573.077.png 842775573.079.png 842775573.080.png 842775573.081.png 842775573.082.png 842775573.083.png 842775573.084.png 842775573.085.png 842775573.086.png 842775573.087.png 842775573.088.png 842775573.090.png 842775573.091.png 842775573.092.png 842775573.093.png 842775573.094.png 842775573.095.png 842775573.096.png 842775573.097.png 842775573.098.png 842775573.099.png 842775573.101.png 842775573.102.png 842775573.103.png 842775573.104.png 842775573.105.png 842775573.106.png 842775573.107.png 842775573.108.png 842775573.109.png 842775573.110.png 842775573.112.png 842775573.113.png 842775573.114.png 842775573.115.png 842775573.116.png 842775573.117.png 842775573.118.png 842775573.119.png 842775573.120.png 842775573.121.png 842775573.123.png 842775573.124.png 842775573.125.png 842775573.126.png 842775573.127.png 842775573.128.png 842775573.129.png 842775573.130.png 842775573.131.png 842775573.132.png 842775573.134.png 842775573.135.png 842775573.136.png 842775573.137.png 842775573.138.png 842775573.139.png 842775573.140.png 842775573.141.png 842775573.142.png 842775573.143.png 842775573.145.png 842775573.146.png 842775573.147.png 842775573.148.png 842775573.149.png 842775573.150.png 842775573.151.png 842775573.152.png 842775573.153.png 842775573.154.png 842775573.156.png 842775573.157.png 842775573.158.png 842775573.159.png 842775573.160.png 842775573.161.png 842775573.162.png 842775573.163.png 842775573.164.png 842775573.165.png 842775573.167.png 842775573.168.png 842775573.169.png 842775573.170.png 842775573.171.png 842775573.172.png 842775573.173.png 842775573.174.png 842775573.175.png 842775573.176.png 842775573.178.png 842775573.179.png 842775573.180.png 842775573.181.png 842775573.182.png 842775573.183.png 842775573.184.png 842775573.185.png 842775573.186.png 842775573.187.png 842775573.189.png 842775573.190.png 842775573.191.png 842775573.192.png 842775573.193.png 842775573.194.png 842775573.195.png 842775573.196.png 842775573.197.png 842775573.198.png 842775573.200.png 842775573.201.png 842775573.202.png 842775573.203.png 842775573.204.png 842775573.205.png 842775573.206.png 842775573.207.png 842775573.208.png 842775573.209.png 842775573.211.png 842775573.212.png 842775573.213.png 842775573.214.png 842775573.215.png 842775573.216.png 842775573.217.png 842775573.218.png 842775573.219.png 842775573.220.png 842775573.222.png 842775573.223.png 842775573.224.png 842775573.225.png 842775573.226.png 842775573.227.png 842775573.228.png 842775573.229.png 842775573.230.png 842775573.231.png 842775573.233.png 842775573.234.png 842775573.235.png 842775573.236.png 842775573.237.png 842775573.238.png 842775573.239.png 842775573.240.png 842775573.241.png 842775573.242.png 842775573.244.png 842775573.245.png 842775573.246.png 842775573.247.png 842775573.248.png 842775573.249.png 842775573.250.png 842775573.251.png 842775573.252.png 842775573.253.png 842775573.255.png 842775573.256.png 842775573.257.png 842775573.258.png 842775573.259.png 842775573.260.png 842775573.261.png 842775573.262.png 842775573.263.png 842775573.264.png 842775573.266.png 842775573.267.png 842775573.268.png 842775573.269.png 842775573.270.png 842775573.271.png 842775573.272.png 842775573.273.png 842775573.274.png 842775573.275.png 842775573.277.png 842775573.278.png 842775573.279.png 842775573.280.png 842775573.281.png 842775573.282.png 842775573.283.png 842775573.284.png 842775573.285.png 842775573.286.png 842775573.288.png 842775573.289.png 842775573.290.png 842775573.291.png 842775573.292.png 842775573.293.png 842775573.294.png 842775573.295.png 842775573.296.png 842775573.297.png 842775573.299.png 842775573.300.png 842775573.301.png 842775573.302.png 842775573.303.png 842775573.304.png 842775573.305.png 842775573.306.png 842775573.307.png 842775573.308.png 842775573.310.png 842775573.311.png 842775573.312.png 842775573.313.png 842775573.314.png 842775573.315.png 842775573.316.png 842775573.317.png 842775573.318.png 842775573.319.png 842775573.321.png 842775573.322.png 842775573.323.png 842775573.324.png 842775573.325.png 842775573.326.png 842775573.327.png 842775573.328.png 842775573.329.png 842775573.330.png 842775573.332.png 842775573.333.png 842775573.334.png 842775573.335.png 842775573.336.png 842775573.337.png 842775573.338.png 842775573.339.png 842775573.340.png 842775573.341.png 842775573.343.png 842775573.344.png 842775573.345.png 842775573.346.png 842775573.347.png 842775573.348.png 842775573.349.png 842775573.350.png 842775573.351.png 842775573.352.png 842775573.353.png 842775573.354.png 842775573.355.png 842775573.356.png 842775573.357.png 842775573.358.png 842775573.359.png 842775573.360.png 842775573.361.png 842775573.362.png 842775573.364.png 842775573.365.png 842775573.366.png 842775573.367.png 842775573.368.png 842775573.369.png 842775573.370.png 842775573.371.png 842775573.372.png 842775573.373.png 842775573.375.png 842775573.376.png 842775573.377.png 842775573.378.png 842775573.379.png 842775573.380.png 842775573.381.png 842775573.382.png 842775573.383.png 842775573.384.png 842775573.386.png 842775573.387.png 842775573.388.png 842775573.389.png 842775573.390.png 842775573.391.png 842775573.392.png 842775573.393.png 842775573.394.png 842775573.395.png 842775573.397.png 842775573.398.png 842775573.399.png 842775573.400.png 842775573.401.png 842775573.402.png 842775573.403.png 842775573.404.png 842775573.405.png 842775573.406.png 842775573.408.png 842775573.409.png 842775573.410.png 842775573.411.png 842775573.412.png 842775573.413.png 842775573.414.png 842775573.415.png 842775573.416.png 842775573.417.png 842775573.419.png 842775573.420.png 842775573.421.png 842775573.422.png 842775573.423.png 842775573.424.png 842775573.425.png 842775573.426.png 842775573.427.png 842775573.428.png 842775573.430.png 842775573.431.png 842775573.432.png 842775573.433.png 842775573.434.png 842775573.435.png 842775573.436.png 842775573.437.png 842775573.438.png 842775573.439.png 842775573.441.png 842775573.442.png 842775573.443.png 842775573.444.png 842775573.445.png 842775573.446.png 842775573.447.png 842775573.448.png 842775573.449.png 842775573.450.png 842775573.452.png 842775573.453.png 842775573.454.png 842775573.455.png 842775573.456.png 842775573.457.png 842775573.458.png 842775573.459.png 842775573.460.png 842775573.461.png 842775573.463.png 842775573.464.png 842775573.465.png 842775573.466.png 842775573.467.png 842775573.468.png 842775573.469.png 842775573.470.png 842775573.471.png 842775573.472.png 842775573.474.png 842775573.475.png 842775573.476.png 842775573.477.png 842775573.478.png 842775573.479.png 842775573.480.png 842775573.481.png 842775573.482.png 842775573.483.png 842775573.485.png 842775573.486.png 842775573.487.png 842775573.488.png 842775573.489.png 842775573.490.png 842775573.491.png 842775573.492.png 842775573.493.png 842775573.494.png 842775573.496.png 842775573.497.png 842775573.498.png 842775573.499.png 842775573.500.png 842775573.501.png 842775573.502.png 842775573.503.png 842775573.504.png 842775573.505.png 842775573.507.png 842775573.508.png 842775573.509.png 842775573.510.png 842775573.511.png 842775573.512.png 842775573.513.png 842775573.514.png 842775573.515.png 842775573.516.png 842775573.518.png 842775573.519.png 842775573.520.png 842775573.521.png 842775573.522.png 842775573.523.png 842775573.524.png 842775573.525.png 842775573.526.png 842775573.527.png 842775573.529.png 842775573.530.png 842775573.531.png 842775573.532.png 842775573.533.png 842775573.534.png 842775573.535.png 842775573.536.png 842775573.537.png 842775573.538.png 842775573.540.png 842775573.541.png 842775573.542.png 842775573.543.png 842775573.544.png 842775573.545.png 842775573.546.png 842775573.547.png 842775573.548.png 842775573.549.png 842775573.552.png 842775573.553.png 842775573.554.png 842775573.555.png 842775573.556.png 842775573.557.png 842775573.558.png 842775573.559.png 842775573.560.png 842775573.561.png 842775573.563.png 842775573.564.png 842775573.565.png 842775573.566.png 842775573.567.png 842775573.568.png 842775573.569.png 842775573.570.png 842775573.571.png 842775573.572.png 842775573.574.png 842775573.575.png 842775573.576.png 842775573.577.png 842775573.578.png 842775573.579.png 842775573.580.png 842775573.581.png 842775573.582.png 842775573.583.png 842775573.585.png 842775573.586.png 842775573.587.png 842775573.588.png 842775573.589.png 842775573.590.png 842775573.591.png 842775573.592.png 842775573.593.png 842775573.594.png 842775573.596.png 842775573.597.png 842775573.598.png 842775573.599.png 842775573.600.png 842775573.601.png 842775573.602.png 842775573.603.png 842775573.604.png 842775573.605.png 842775573.607.png 842775573.608.png 842775573.609.png 842775573.610.png 842775573.611.png 842775573.612.png 842775573.613.png 842775573.614.png 842775573.615.png 842775573.616.png 842775573.618.png 842775573.619.png 842775573.620.png 842775573.621.png 842775573.622.png 842775573.623.png 842775573.624.png 842775573.625.png 842775573.626.png 842775573.627.png 842775573.629.png 842775573.630.png 842775573.631.png 842775573.632.png 842775573.633.png 842775573.634.png 842775573.635.png 842775573.636.png 842775573.637.png 842775573.638.png 842775573.640.png 842775573.641.png 842775573.642.png 842775573.643.png 842775573.644.png 842775573.645.png 842775573.646.png 842775573.647.png 842775573.648.png 842775573.649.png 842775573.651.png 842775573.652.png 842775573.653.png 842775573.654.png 842775573.655.png 842775573.656.png 842775573.657.png 842775573.658.png 842775573.659.png 842775573.660.png 842775573.663.png 842775573.664.png 842775573.665.png 842775573.666.png 842775573.667.png 842775573.668.png 842775573.669.png 842775573.670.png 842775573.671.png 842775573.672.png 842775573.674.png 842775573.675.png 842775573.676.png 842775573.677.png 842775573.678.png 842775573.679.png 842775573.680.png 842775573.681.png 842775573.682.png 842775573.683.png 842775573.685.png 842775573.686.png 842775573.687.png 842775573.688.png 842775573.689.png 842775573.690.png 842775573.691.png 842775573.692.png 842775573.693.png 842775573.694.png 842775573.696.png 842775573.697.png 842775573.698.png 842775573.699.png 842775573.700.png 842775573.701.png 842775573.702.png 842775573.703.png 842775573.704.png 842775573.705.png 842775573.707.png 842775573.708.png 842775573.709.png 842775573.710.png 842775573.711.png 842775573.712.png
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Przedstawiony blok wykonuje operację iloczynu logicznego AND na dwóch
operandach bitowych – I0.3 i I0.0. W języku FBD dla tego typu instrukcji nie istnieje
instrukcja odwrotna, np. AND – NAND, jak to ma miejsce w metodzie IL – A i AN. Tu
dla wykonania instrukcji logicznych, gdzie jeden z operandów jest zanegowany,
należy posłużyć się znakiem negacji – „kółkiem”.
Przedstawiony blok AND może być używany w programie sterującym jako
pojedyncza instrukcja programowa, „zwracająca” rezultat wykonanej operacji, lub
może być użyty jako część składowa sieci instrukcji. Sieć instrukcji powstaje na
skutek użycia wielu bloków FBD połączonych liniami na ekranie monitora.
Przykład sieci FBD dla programu sterującego zawartego w BLOCK_2:
Realizacja programu w tym języku opiera
się
na
przepływie
sygnału
analogicznie
do
przepływu
sygnału
pomiędzy
elementami
systemu przetwarzania sygnału.
Przepływ sygnału następuje z wyjścia
(prawa strona) funkcji lub bloku funkcyjnego do
przyłączonego wejścia (lewa strona) następnej
funkcji lub bloku funkcyjnego.
Definicja obwodu oraz zasady obowiązujące przy wykonywaniu programu są
analogiczne jak w języku schematów drabinkowych. Nie powinny być natomiast
łączone razem wyjścia bloków funkcyjnych, należy użyć jawnie funkcji logicznej.
Wyjścia bloków funkcyjnych nie powinny być łączone.
Zadanie 21/2
5
842775573.713.png
Zgłoś jeśli naruszono regulamin