HPR4728: Sterowanie logiką programowalną - Odcinek 3

Źródło: Hacker Public RadioOtwórz w oryginalnym źródle ↗
Przez Whiskeyjack16/09/2026 às 00:00306 wyświetlenia
Foto: CC BY-SA / Hacker Public Radio
🎙 Whiskeyjack · Hacker Public Radio

Ten program został oznaczony jako "Czysty" przez gospodarza.

--------------------

01 Wprowadzenie

To jest trzeci odcinek w ośmioczęściowej serii.

02

W poprzednim odcinku omówiliśmy:

* Wczesną historię komputerów w kontroli przemysłowej

* Wczesną historię PLC, w tym jak otrzymały swoją nazwę

* Kto są główni producenci

* Jak wyglądają fizycznie

Podstawowe opisanie architektury abstrakcyjnej maszyny

Krótkie spojrzenie na to, jak wygląda program PLC

Koncepcja skanowania

Główne języki programowania PLC

Mniejsze języki programowania PLC

Relatywna popularność każdego z języków programowania

03

W tym odcinku zaczniemy od przyjrzenia się jednemu z wczesnych PLC-ów z epoki, gdy zaczęły one zdobywać szerokie zastosowanie.

Nawet nie spróbuję być wyczerpujący, po prostu przedstawię szeroki przegląd w ograniczonym czasie, jaki mam tutaj do dyspozycji.

Zacząłem od starszego modelu, ponieważ jego prostota i ograniczone funkcje ułatwiają wprowadzenie do tematu.

--------------------

04 Allen Bradley PLC/2

Urządzenie Allen Bradley PLC/2 zostało wprowadzone na rynek w 1977 roku.

Nie był to ich pierwszy krok w tej dziedzinie, ale pierwszy naprawdę udany.

Nie jestem świadomy kompleksowej historii ich wczesnej linii produktów, ale jednym z ich wczesnych ważnych modeli sprzedawanych było PLC2/30.

Jest to również znane jako ich seria 1771.

--------------------

05 Układ fizyczny

Moduł CPU był dużą metalową skrzynką, która stała obok szyny wejść/wyjść i była do niej podłączona kablem.

Szynowa szafka była pudełkiem z otwartą przednią częścią i serią slotów, do których można było włożyć wysokie, wąskie pudełka zawierające szynę.

06

Płytka tylna przebiegała przez tył, łącząc szynę z procesorem centralnym.

Wielu szafek można było połączyć ze sobą za pomocą kabli.

Dla PLC2/30 można było mieć maksymalnie 896 punktów cyfrowego wejścia/wyjścia.

07

Szafki miały 315 mm wysokości i od 247 mm do 610 mm szerokości, dostępne w wersjach z 4, 8, 12 i 16 slotami.

Procesor miał taką samą wysokość jak szafka i był mniej więcej kwadratowy w obrysie.

08

Wraz z postępem mikroelektroniki moduł procesora mógł zostać zmniejszony w rozmiarze, tak aby pasował do slotu w szafce, co stało się normą dla PLC.

--------------------

09 Wnętrze elektroniki

Wczesne modele PLC/2 wykorzystywały jakiś rodzaj procesora 8-bitowego, według niektórych źródeł Intel 8080.

10

Używali również czterech procesorów AMD 2900 bit slice jako współprocesor logiczny.

Jeśli nie znasz procesorów bit slice, są to układy scalone, które przypominają pionowy plasterek 4-bitowy procesora, i mogą być łączone z układami logicznymi, aby utworzyć pełny procesor CPU.

To właśnie one były używane do budowy minikomputerów.

11

Używano ich jako współprocesory w wczesnych PLC, ponieważ mikropoczetniki same w sobie były po prostu zbyt wolne, aby szybko obsłużyć uruchomienie programu użytkownika, co pozwalałoby na uzyskanie użytecznej wielkości programu.

Jeden lub więcej mikroprocesorów był również używany do koordynacji ogólnego działania i zarządzania systemem.

12

Wraz ze wzrostem szybkości i mocy mikroprocesorów, potrzeba współprocesorów logicznych spadła i ostatecznie zostały one porzucone.

Wczesne wersje wykorzystywały pamięć magnetyczną rdzeniową.

Późniejsze modele przełączyły się na jakiś rodzaj pamięci RAM o stanie stałym, prawdopodobnie pamięci statycznej jakiejś odmiany.

13

Szczegóły dotyczące tego, jaki rodzaj procesorów znajduje się wewnątrz PLC, są w rzeczywistości bardzo trudne do zdobycia, ponieważ producenci zazwyczaj nie rozmawiają o tym rodzaju rzeczy.

Życzą, aby użytkownik postrzegał to jako czarną skrzynkę.

--------------------

Tabela danych 14

Z perspektywy programisty najważniejszą rzeczą do zrozumienia na początku jest tabela danych.

Tabela danych jest pamięcią danych PLC.

15

Dla PLC2 jest to tablica 16-bitowych słów.

Każde słowo składa się z dwóch 8-bitowych bajtów.

Adresowanie zarówno dla bitów, jak i słów jest w systemie ośmiorakim.

16

Dla tych, którzy nie są z nimi zaznajomieni, liczby ośmiorakie następują po systemie liczenia od 0 do 7.

Następna liczba po 7 to 10.

Liczenie toczy się dalej od 11, 12, 13 itd. do 17, 20, 21 itd.

Każdy cyfr ośmioraki zajmuje dokładnie 3 bity.

17

Indywidualne bity w notacji PLC2 mogą być adresowane poprzez określenie słowa, po którym następuje ślizg i bit.

Na przykład, 030/12 to 12 bit w słowie 030. Pamiętaj, że jest to system ośmioraki, więc 12 nie jest 12. bitem jeśli liczymy w systemie dziesiętnym.

Organizacja pamięci 18

Na PLC2/30, tabela danych ma następującą organizację.

19

Adresy słów 000 do 007 to numer obszaru pracy procesora 1.

To nie jest dostępne dla użytkownika.

20

Adresy słów 010 do 100, ale nie włącznie, to Tabela Obrazu Wyjścia.

To jest obraz pamięciowy wyjść I/O.

Od 010 do 077 to Rack 1.

Od 020 do 027 to Rack 2.

Ten wzór kontynuuje się do Rack 7, który jest od 070 do 077.

21

Adresy słów od 100 do 107 to numer obszaru pracy procesora 2.

To również nie jest dostępne dla użytkownika.

22

Adresy słów od 110 do 200 to Tabela Wejściowej Obrazu.

Jest to mapowana w pamięci wersja wejść/wyjść.

Układ jest taki sam jak w tabeli wyjściowej obrazu, i obejmuje zakres od 110 do 177.

Od 110 do 117 to Rack 1.

Od 120 do 127 to Rack 2.

Ten wzór kontynuuje się do Rack 7, który obejmuje zakres od 170 do 177.

23

Zwrócisz uwagę, że tabela wyjściowa obrazu i tabela wejściowa obrazu wydają się odnosić do tych samych slotów szuflady.

Robią to w rzeczywistości.

W zależności od tego, czy w danym slotzie znajduje się karta wejściowa czy wyjściowa, adresowanie konkretnego slotu w konkretnej szufladzie jest różne.

24

Adresy od 200 do 277 są przeznaczone dla skumulowanych wartości Timer/Counter.

Skumulowana wartość to aktualny czas lub licznik.

25

Adresy od 300 do 377 są dla ustawionych wartości Timer/Counter.

Ustawiona wartość to docelowy czas lub licznik, który po osiągnięciu powoduje, że timer lub licznik wskazuje, że osiągnął pożądaną wartość.

26

Pamięć powyżej 400 można skonfigurować, aby podzielić ją na obszar przechowywania danych i obszar programu użytkownika.

Obszar przechowywania danych to miejsce, w którym przechowujesz dane, których program potrzebuje do użycia, które nie są częścią wejścia/wyjścia lub liczników czasu.

Musisz znaleźć właściwą równowagę między danymi użytkownika a rozmiarem programu.

27

Istnieje wiele rzeczy, które można zmienić i skonfigurować w odniesieniu do powyższego, ale nie będę tego głęboko omawiać, ponieważ nie jest to tutorial na temat PLC2.

=

Powinieneś jednak mieć dość dobre pojęcie o pamięci wczesnego modelu PLC.

Rzeczy, które należy zrozumieć, to że wejście/wyjście są mapowane na adresy pamięci, a

różne zakresy pamięci są używane do różnych celów.

28

Zarządzanie pamięcią było całkowicie manualne.

Zależało od użytkownika, aby śledzić, które adresy pamięci mają być używane do jakich celów.

Allen Bradley pomocno dostarczył papierowe formularze, które można było skopiować, aby zaplanować i udokumentować, w jaki sposób będzie używane każde adresowanie.

Część zadania programisty polegała na efektywnym i logicznego wykorzystaniu pamięci, jednocześnie pozostawiając miejsce na przyszłe zmiany.

--------------------

Program użytkownika 29

Program użytkownika składa się z instrukcji.

Każda instrukcja zazwyczaj zajmuje jedno słowo pamięci.

Jednak złożone instrukcje mogą zajmować do 8 słów pamięci.

30

Istnieje główny program.

Można to postrzegać jak funkcję główną w C.

Jeśli ta analogia nie jest pomocna, po prostu pomyśl o tym, że to jest miejsce, w którym zaczyna się twój program.

Główny program kontynuuje się krok po kroku, aż dotrze do instrukcji END.

31

Jest również obszar podprogramów.

Główny program wywołuje podprogram za pomocą instrukcji "Jump to Subroutine" (JSR).

32 Terminal programowania T3

Kiedy pojawił się PLC2, rzeczy takie jak laptopy były jeszcze daleko w przyszłości.

Nawet pierwszy Compaq Portable w stylu walizki PC był jeszcze kilka lat w przyszłości.

W rzeczywistości, pierwszy PLC/2 pojawił się nie długo po pierwszym zestawie PC Altair.

33

Programowanie początkowo wykonywano za pomocą specjalnego terminala programistycznego znanego jako T3.

T3 był pudełkiem o rozmiarach walizki z małym ekranem CRT na końcu i klawiaturą dołączoną do niego poniżej ekranu.

Jeśli to brzmi jak wczesne komputery przenośne, pamiętaj, że w rzeczywistości wyprzedzały je o kilka lat.

34

Klawiatura nie była maszyną do pisania ani klawiaturą QWERTY.

Miała klawiaturę membranową z graficznymi symbolami.

Przypomnij sobie poprzedni odcinek o diagramach sterujących używających przekaźników i jak te diagramy były dokumentowane za pomocą symboli schematycznych na rysunkach.

Klawiatura terminala T3 miała symbole odpowiadające uproszczonej i zmodyfikowanej wersji symboli używanych w tych schematach.

35

Kiedy programista nacisnął jeden z tych symboli na klawiaturze, odpowiadający symbol pojawiał się na ekranie w obecnej lokalizacji kursora.

Programista mógł następnie wprowadzić adres danych, do którego miał odpowiadać symbol, używając części numerycznej klawiatury.

36

Inżynier, technik lub elektryk mógł więc tworzyć i wprowadzać programy w całkowicie graficznej środowisku, które wykorzystało jego istniejącą wiedzę na temat kontroli za pomocą komponentów sprzętowych.

Nie postrzegali tego jako programowania komputera, widzieli to jako coś zupełnie innego, niepowiązanego z komputerami.

37

Programowanie odbywało się z T3 połączonym z PLC, podczas gdy PLC był w trybie programowania.

Instrukcje były wprowadzane bezpośrednio z terminala do pamięci PLC.

Programy mogły być zapisywane lub przywracane na taśmie kasetowej.

Program uruchamiał się, gdy PLC był ustawiony na tryb uruchomienia.

38

Co więcej, terminal T3 umożliwiał debugowanie programów w trybie online.

Kiedy T3 został połączony w trybie pracy, diagram schematu został zaktualizowany na żywo.

Kiedy warunek logiczny był prawdziwy, został wyróżniony.

Kiedy warunek logiczny był fałszywy, był wyświetlany w stanie niewyraźnym.

39

Obserwując konkretny stopień, można było sprawdzić, czy oczekiwana sekwencja instrukcji graficznych była wszystkie wyróżnione w wzorze, który doprowadziłby do ostatecznego wyniku stopnia, prawdziwego lub fałszywego, tak jak było oczekiwane.

To była bezcenna pomoc w rozwiązywaniu problemów w znajdowaniu zarówno błędów oprogramowania, jak i usterek sprzętowych.

Terminale programowania stały się niezbędną częścią niezbędnego wyposażenia elektryka przemysłowego zajmującego się konserwacją.

40

Ostatecznie, gdy dostępne stały się przenośne komputery osobiste, a później laptopy, T3 stał się przestarzały, a te funkcje zostały przeniesione do oprogramowania działającego na standardowych komputerach osobistych.

Jednak nadal działają zasadniczo w ten sam sposób.

Dodano dodatkowe możliwości, takie jak możliwość pisania programów bez połączenia z PLC.

Można było dodawać opisowe etykiety i komentarze do adresów pamięci, aby je udokumentować i ułatwić odczytywanie programu.

Funkcje przekraczania odnośników ułatwiłyby znalezienie, które adresy zostały użyte do czego.

itd.

--------------------

41 Instrukcji

Teraz przejdę do opisywania rodzajów instrukcji, które były dostępne do użycia.

Nie będę próbował wyjaśniać wszystkiego, ale przynajmniej powinno to dać ci niejasne pojęcie, jak te były programowane.

Będę używał nazw Allen Bradley dla tych, co należy podkreślić, nie odpowiadają tym, jakie inni producenci nazywają ich.

Instrukcje typu przekaźnika 42

To są instrukcje boolowskie i składają się z następujących elementów.

Instrukcje wejścia 43

Badają bity w pamięci i dają stan logiczny w zależności od wartości adresowanego bitu.

Instrukcje wejścia zaczynają się od lewej strony rury i posuwają się w prawo, gdy dodawane są kolejne.

Sprawdź włączony - Jest to prawdziwe, gdy adresowany bit jest ustawiony na 1.

Sprawdź wyłączony - Jest to prawdziwe, gdy adresowany bit jest ustawiony na 0.

Instrukcje wyjściowe 44

Te elementy przełączają się w zależności od sumy warunków logiki boolowskiej prowadzących do nich.

Instrukcje wyjściowe znajdują się po prawej stronie szczebla.

Musi zawsze być co najmniej jedna instrukcja wyjściowa.

Wyjście "Energize" - gdy warunki logiczne prowadzące do niego są prawdziwe, ustawia bit na 1.

Gdy warunki logiczne są fałszywe, ustawia bit na 0.

45

Wyjście "Latch" - gdy jest prawdziwe, element jest włączony.

Gdy jest fałszywe, nic nie robi.

Wyjście "Unlatch" - gdy jest prawdziwe, element jest wyłączony.

Kiedy jest fałszywe, nic nie robi.

46 Instrukcji gałęziowych

Samy nie robią nic, ale tworzą połączenia w diagramie.

Są ważne, aby umożliwić umieszczenie instrukcji wymienionych powyżej równolegle na tej samej rzędzie, tak aby mogły wykonywać rzeczy takie jak określanie warunków OR.

Możesz myśleć o nich jako o zasadniczym przekształceniu "sprawdź włączone/wyłączone" w instrukcję OR lub OR NIE.

--------------------

47 Instrukcji timera i licznika

Timer i liczniki są, jak sugeruje nazwa, instrukcjami wykonującymi operacje czasowe i liczące.

Mają osobne wartości wstępnie ustawione i zgromadzone.

Są to instrukcje wyjściowe, ponieważ znajdują się po prawej stronie szczebla drabiny, a ich działanie zależy od logiki szczebla po lewej stronie.

48

Timer i liczniki działają w wartościach Binary Coded Decimal, lub BCD.

Każda wartość BCD zajmuje 4 bity pamięci.

Jednak w przeciwieństwie do szesnastkowego, tylko wartości od 0 do 9 są ważne.

Wartości od A do F w szesnastkowym nie są ważnymi wartościami w BCD.

49

Wartości wstępnie ustawione i zgromadzone są przechowywane w słowach 16-bitowych. Pierwsze 12 bitów jest używana do przechowywania do trzech cyfr BCD.

Pozostające, najwyższe 4 bity są używane do przechowywania bitów statusu instrukcji, takich jak czy timer lub licznik jest zakończony i różne inne funkcje.

50 Timerów

Czas bazowy timera odpowiada rozdzielczości timera.

Czasami bazami są 1,0 sekundy, 0,1 sekundy i 0,01 sekundy.

Tak więc timer o czasie bazowym 1 sekunda może mierzyć od 0 do 999 sekund z rozdzielczością jednej sekundy.

Timer o czasie bazowym 0,1 sekundy może mierzyć od 0 do 99,9 sekund z rozdzielczością 0,1 sekundy.

51

Istnieją trzy rodzaje timerów,

Timer Opóźnienia Włączenia (lub TON),

Timer Opóźnienia Wyłączenia (lub TOF),

Timer Retentywny (lub RTO).

52

Opóźniane timery mierzą czas, gdy warunek jest prawdziwy, i resetują się, gdy staje się fałszywy.

Timery opóźnienia wyłączenia mierzą czas po tym, jak warunek stanie się fałszywy, i resetują się, gdy stanie się prawdziwy.

Timery retentywne są podobne do timery opóźnienia, ale zachowują swoją skumulowaną wartość, dopóki nie zostaną zresetowane przez instrukcję Reset Timera Retentywnego (lub RTR).

Ogólnie rzecz biorąc, uruchamiasz timer, a następnie monitorujesz jego bit "zakończony" gdzieś indziej w swojej logice.

53 Liczniki

Liczniki liczą zdarzenia.

Występują w następujących odmianach.

54

Licznik w górę (lub CTU).

Zlicznik zmniejszający (lub CTD)

Reset licznika (lub CTR)

Zlicznik skanujący (lub SCT)

55

Zliczniki zwiększające liczą od zera w górę, a zliczniki zmniejszające liczą w dół od ustawionej wartości.

Zlicznik skanujący liczy liczbę skanów programu.

To nie jest coś, co zazwyczaj znajdziesz zastosowanie, chociaż możesz to wykorzystać do obliczenia czasu skanu na przykład.

--------------------

56 Instrukcji manipulacji danymi

Instrukcje manipulacji danymi są używane do odczytywania, zapisywania i porównywania danych bajtowych i słownych.

Operacje odbywają się, gdy rygel staje się prawdziwy.

57

GET czyta 16-bitowe słowo z lokalizacji pamięci.

PUT zapisuje 16-bitowe słowo w lokalizacji pamięci.

LES rozwiązuje się jako prawdziwe, jeśli wartość przeczytana przez instrukcję GET jest mniejsza niż określona wartość.

EQU rozwiązuje się jako prawdziwe, jeśli wartość przeczytana przez instrukcję GET jest równa określonej wartości.

58

Instrukcje LES i EQU można łączyć na różne sposoby z instrukcją GET, aby dać wszystkie możliwe permutacje porównania, takie jak większy niż, mniejszy niż lub równy itp.

59

GET BYTE czyta 8-bitowy bajt z lokalizacji pamięci.

TEST LIMIT rozwiązuje się jako prawdziwe, jeśli wartość bajtowa znajduje się między limitami przechowywanymi w bajtach górnych i dolnych słowa.

Test ograniczający jest używany w połączeniu z Pobierz Bajt.

--------------------

60 instrukcji arytmetycznych

Instrukcje arytmetyczne działają również na wartościach słów BCD.

Operacje odbywają się, gdy warunek jest prawdziwy.

Najwyższy bajt jest używany do wskazania rzeczy takich jak przepełnienie lub niedostateczne wypełnienie arytmetyczne.

Obejmują one:

61

Dodaj

Odejmij

Wielu

Podziel

Konwersja BCD na binarną

Konwersja binarna na BCD

--------------------

62 instrukcje transferu bloku

Instrukcje transferu bloku to instrukcje wyjściowe, które są używane do transferu do 64 16-bitowych słów danych między tabelą danych a modułami wejścia/wyjścia.

Są używane z inteligentnym wejściem/wyjściem, które pracowało ze słowami, a nie z poszczególnymi bitami.

63

Przykłady tego to

Analogowe wejścia/wyjścia, które czytają i zapisują zmienne napięcia, a nie tylko stany włączone/wyłączone.

PID, które obsługuje zamknięty układ sterowania temperaturą.

Termokopce, które odczytują temperatury.

Sterowanie silnikiem servo, które steruje pozycjami silników servo.

Sterowanie silnikiem krokowym.

Kodery pozycji.

64

Nie będę wchodzić w szczegóły dotyczące transferów blokowych, ale to powinno dać Ci ogólne pojęcie, jak PLC może obsługiwać tego rodzaju sprzęt w przeciwieństwie do prostych stanów włączonych/wyłączonych modułów cyfrowych.

Oczywiście można je używać w połączeniu z GET, PUT i innymi instrukcjami manipulującymi danymi, które mogą czytać i zapisywać lokalizacje pamięci.

--------------------

65 instrukcji skakania i programowanie podrutyn

Obejmują one następujące instrukcje.

66

Skok (lub JMP)

Etykieta (lub LBL)

Skok do podrutyny (lub JSR)

Zwrot (lub RET)

67

Skok przeniesie wykonanie do pozycji etykiety.

Możesz to postrzegać jak instrukcję GOTO.

68

Oznaczenia są liczbowe i mogą wynosić od 00 do 77 w systemie ośmiorakim.

Instrukcje skoku są wyjściami rzędu i gdy rzęd się sprawdzi, wykonanie skacze do numeru etykiety określonego w instrukcji.

Oznaczenia są instrukcjami wejściowymi i pojawiają się na początku rzędu, w którym wznowiona jest wykonalność.

69

Normalne skoki nie mogą skakać do podprogramu, i mogą skakać tylko naprzód, nie wstecz.

Oznacza to, że pętle nie są możliwe przy użyciu skoku.

Byłoby to celowe postanowienie projektowe, aby zapobiec utknięciu programów w pętli i zapobiec kontynuacji skanowania.

70

Podprogramy pojawiają się po końcu głównej części programu.

Są one zdefiniowane przez numeryczne oznaczenia ośmiorakie przy użyciu instrukcji etykiety.

Podmiany są wywoływane za pomocą instrukcji "Jump to Subroutine" (lub JSR).

Na końcu podrutyny, instrukcja "Return" (lub RET) zwraca wykonanie do następnego etapu po JSR, który ją wywołał.

Możesz wbudować wywołania podrutyn do głębokości 8.

--------------------

71 Instrukcje Transferu Danych Pliku

Pomimo tego, co możesz sądzić na podstawie nazwy, w PLC2 nie ma plików dyskowych.

"Instrukcja pliku" raczej przenosi bloki słów z jednego miejsca pamięci danych do drugiego.

=

Obejmują one adresy źródłowe i docelowe, oraz różne inne parametry, które kontrolują operację.

W rzeczywistości jest w tym sporo zaangażowane, ale nie zamierzam zagłębiać się w szczegóły.

Musisz po prostu wiedzieć, że możliwe jest przemieszczanie bloków pamięci danych.

--------------------

72 Instrukcje rejestru przesunięcia

Działają one na całych seriach słów i obejmują

=

Przesuń plik w górę

Przesuń plik w dół

Ładuj FIFO

Wyładuj FIFO

73

Mogą one działać na 1 do 999 słów.

Typowe zastosowanie tego rodzaju instrukcji polega na śledzeniu części podczas jej przemieszczania się przez różne stacje maszyny.

--------------------

Przesunięcia 74-bitowe

Działają one na poszczególnych bitach i obejmują następujące.

75

Przesunięcie bitu w lewo

Przesunięcie bitu w prawo

Sprawdź bit wyłączony

Sprawdź bit włączony

Ustaw bit przesunięcia

Przywróć bit przesunięcia

76

Te czynią właściwie to, czego można się spodziewać pod względem przesuwania bitów w lewo lub w prawo.

Jednak rejestr przesunięcia może być zdefiniowany jako o długości od 1 do 999 bitów, więc nie jest ograniczony do rozmiaru słowa.

--------------------

77 poleceń sekwencera

Polecenia sekwencera to emulacja oprogramowania kontrolerów mechanicznych bębnów.

Kontroler bębnów umożliwiał wykonanie długiej sekwencji operacji.

Te używały obracającego się bębnu, który miał regularną serię równoległych otworów na powierzchni zewnętrznej.

Nad jednym rzędą tych otworów znajdowała się seria przełączników granicznych.

Wstawiając klamry do niektórych z tych otworów, które stykają się z przełącznikami graniczącymi, kontroler bębna mógł włączać wzory przekaźników lub zaworów.

78

Niektóre przełączniki graniczne mogły być podłączone do czujników na ruchomych elementach maszyny.

Gdy części maszyny znajdowały się w prawidłowej pozycji dla tego kroku w sekwencji, wzór klamr powodował ukończenie ścieżki elektrycznej przez przełączniki graniczne i zasilanie sprężyny, która napinała bęben do następnego kroku.

79

Często porównuje się to do skrzynki muzycznej lub do starego stylu kontroli pralki.

Jednak w przypadku kontrolera bębna klamry programowałyby warunki dopasowania wejścia, jak również pożądane wyjście.

Kontroler bębna PLC/2 emulowałby ten sekwencer.

Ta funkcja stała się bardzo szeroko stosowana w sprzęcie używanym w przemyśle motoryzacyjnym i innych procesach wytwarzania zorientowanych na montaż, a często stanowiła serce programu PLC/2.

80

Nie będę wchodzić w szczegóły instrukcji sekwencera, ale istnieją oddzielne instrukcje sekwencji wejścia i wyjścia.

Sekwencja wejściowa próbowałaby dopasować stany czujników, a sekwencja wyjściowa włączałaby lub wyłączałaby różne wyjścia, kontrolując rzeczy takie jak zawory solenoidowe.

Samą sekwencję definiowałby szereg słów w pamięci, gdzie każdy bit odpowiadałby indywidualnemu wejściowi lub wyjściu.

--------------------

81 Instrukcji Logiki Pliku

Instrukcje logiki pliku równoważne były operacjom na tablicach słów, chociaż termin "plik" jest używany dla tego, co w terminologii komputerowej byłoby tablicą.

Te instrukcje obejmowały:

I (AND)

ALBO (OR)

WYKLUCZNE LUB (EXCLUSIVE OR)

Dopłata

--------------------

82 Specjalne Techniki Programowania

Oto różne instrukcje.

Składają się z następujących elementów.

Przywód Przyspieszenia w Jednym Uderzeniu

Przywód Opóźnienia w Jednym Uderzeniu

83

Jedno uderzenie to instrukcja wyjściowa, która powoduje, że adresowany bit zapali się na jeden skan po zmianie stanu w warunku logiki rugi.

Jedno uderzenia mogą być wyzwalane przez zmianę z fałszywego na prawdziwe lub z prawdziwego na fałszywe, w zależności od tego, która z dwóch instrukcji została użyta.

--------------------

Dlaczego PLC2 używał BCD?

Prawdopodobnie zastanawiasz się, dlaczego PLC2 używał liczb BCD zamiast zwykłych liczb całkowitych.

To odzwierciedla środowisko pracy, w którym musiałby działać wczesny PLC.

Wczesne panele operatora z mechanizami wprowadzania liczb i prostymi wyświetlaczami elektronicznymi, które zazwyczaj pracowały w BCD.

85

Przełączniki korbowe były małymi bębenkowatymi urządzeniami obracającymi się z cyframi od 0 do 9 wypisanymi na obwodzie.

Kilka kółek byłoby ułożonych obok siebie.

Wyglądały trochę jak mechaniczny licznik obrotowy, jaki znajdziesz w starszym samochodzie.

Operator mógł jednak poruszać każdą kółkiem cyfr osobno.

Każda cyfra byłaby odczytywana poprzez podłączenie 4 przewodów do 4 wejść w PLC.

W ten sposób każda cyfra była zdefiniowana jako BCD ze względu na działanie sprzętu kółka z palcem.

86

Obracając indywidualne koła osobno, operator mógł dostosować takie parametry jak temperatury, prędkości, opóźnienia czasowe itp. i w ten sposób zmodyfikować parametry procesu.

Wyświetlacze operatora były zazwyczaj 7-segmentowe diody LED, neonowe lub wyświetlacze próżniowe.

Te wyświetlacze lub urządzenia podobne do nich poprzedzały PLC, dlatego były powszechnymi urządzeniami przemysłowymi, które trzeba było obsługiwać.

Każda cyfra dziesiętna miała 4 wejścia, które były podłączane do 4 wyjść w PLC.

Wyświetlacze 7-segmentowe mogą używać systemu szesnastkowego, ale nie był to bardzo przydatny sposób wyświetlania temperatury w stopniach Celsjusza dla operatora.

W związku z tym ponownie BCD był najbardziej praktycznym rodzajem liczby do pracy.

87

Gdy PLCy i ich programy użytkownika stały się bardziej zaawansowane i złożone, zaczęły pracować z zwykłymi liczbami całkowitymi i nawet liczbami zmiennoprzecinkowymi.

Jednak wiele, jeśli nie większość PLCów, zachowało instrukcje do tłumaczenia na i z BCD.

--------------------

Wpływ PLC2

PLC2 był ogromnie udanym produktem dla Allen Bradley i mocno ugruntował ich jako jednego z wiodących dostawców PLC, z numerem jeden na rynku północnoamerykańskim i w pierwszej piątce na świecie.

Jednak miał kilka słabości, szczególnie bardzo prymitywną architekturę pamięci i podprogramów oraz skupienie się na liczbach ośmiorakich i BCD.

Był skoncentrowany na zastąpieniu przełączników sterujących i robił to całkiem dobrze.

89

Następnym naprawdę udanym następcą PLC2 dla Allen Bradley był PLC5.

Ten połączył podstawowy zestaw instrukcji PLC2 z nowym systemem pamięci z nowymi typami danych, oddzielnymi przestrzeniami nazw i parametrycznymi funkcjami.

90

To było jak przejście z programowania w Basic z numerami linii i skokami do Pascala.

Niemniej jednak, nadal można było używać szyn i modułów PLC2 I/O, co jest ważnym czynnikiem, biorąc pod uwagę, że większość kosztu PLC stanowiła system I/O.

91

PLC 5 został z kolei zastąpiony przez serię Contrologix, która jeszcze bardziej zmodernizowała rzeczy, będąc przy tym w mniejszej formie.

Allen Bradley pozostaje jednym z głównych dostawców PLC dzisiaj, działając pod marką Rockwell.

--------------------

92 Wniosek

W tym odcinku skupiliśmy się na jednym konkretnym, ale szeroko używanym wczesnym PLC, Allen Bradley PLC2.

Omówiliśmy następujące tematy.

Elektronika wewnętrzna.

Tabela danych.

Program użytkownika.

Terminal programowania T3.

I krótki przegląd zestawu instrukcji.

93

To była dość prosta i w pewnym sensie prymitywna PLC, ale powinieneś mieć bardzo ogólne pojęcie o koncepcjach związanych z PLC, w tym o tabeli danych i pojęciu skanowania oraz o zestawie instrukcji podobnym do przekaźnika.

94

W następnym odcinku przyjrzymy się PLC od największego dostawcy na świecie, Siemens.

W tym przykładzie przyjrzymy się modelowi z nieco później niż PLC2, serii S5.

Może to być postrzegane jako druga generacja PLC.

Od czasu, gdy nie będziemy musieli powtarzać podstawowych pojęć, które już omówiliśmy, możemy skupić się bardziej na tym, co jest nowe i inne w S5 w porównaniu do PLC2.

95

To była trzecia część ośmioczęściowej serii.

--------------------

Zapewnijcieopiniena temat tego odcinka.

Źródło
Hacker Public Radio
Otwórz oryginał ↗

Treść przetłumaczona maszynowo.

Czy ta wiadomość była przydatna?

Komentarze 0

Seja o primeiro a contribuir com o debate.

Difunda suas informações e promova seu argumento

Nie wahaj się dzielić przydatnymi informacjami.

Aby uczestniczyć w debacie, zaloguj się lub załóż darmowe konto.