Organizacja pamięci w sterowniku PLC MELSEC iQ-F

przez | 16/06/2021

W sterowniku PLC MELSEC iQ-F wyróżnia się dwa główne miejsca pamięci. Pierwsze miejsce to wbudowana pamięć w sterownik a drugie to zewnętrzna karta pamięci SD, która może być dołożona opcjonalnie. W tym wpisie przyjrzymy się bliżej pamięci wewnętrznej (wbudowanej). Pamięć wbudowana dzieli się na obszary jak na rysunku poniżej.

Rysunek 1 – Organizacja pamięci w sterowniku iQ-F FX5
  • Data memory – jest to pamięć, w której zawarty jest program użytkownika, bloki funkcyjne użytkownika, zdefiniowane parametry sterownika i modułów oraz komentarze urządzeń. Pamięć danych przechowuje do 32 plików programu użytkownika. Liczbę bloków funkcyjnych ograniczono do 16. W sumie obszar pamięci Data memory zajmuje 5MB pamięci.
  • Device/Label memory – jest to pamięć urządzeń i zmiennych, którą można podzielić na dwie grupy. Pierwsza z nich o pojemności 96kB (46k słów 16bit) nazywana jest standardową, drugą o pojemności 24kB (12k słów 16bit) nazywana jest szybką. Pamięć szybka może być podtrzymywana poprzez nieulotną pamięć, natomiast standardowa wymaga zewnętrznej baterii do podtrzymania wartości.
  • Signal flow memory – pamięć ta przetrzymuje informację o statusie danego bitu w ostatnio wykonanym skanie. Na podstawie informacji z poprzedniego stanu CPU rozpozna zbocze sygnału.
  • Temporary area – pamięć tymczasowa, która jest używana podczas wywoływania podprogramów lub funkcji. Dla programu o długości 64k kroków zostało przydzielone 700 rejestrów typu word a dla programu o długości 128k kroków zostało przydzielone 32767 rejestrów word.

Programista tworząc oprogramowanie na sterowniku PLC MELSEC iQ-F będzie mieć do czynienia z obszarem pamięci wbudowanej Device/Label memory. Na poniższym rysunku przedstawione są elementy, które wchodzą w obszar pamięci Device/Label memory.

Rysunek 2 – Zawartości obszaru pamięci Device/Label memory

W skład pamięci Device/Label memory wchodzą następujące elementy:

  1. User Device – jest to grupa urządzeń użytkownika, wyróżniamy urządzenia:
    • Input „X” – wirtualny przekaźnik mapujący stan wejścia cyfrowego sterownika,
    • Output „Y” – wirtualny przekaźnik sterujący wyjściem cyfrowym sterownika,
    • Internal relay „M” – wirtualny przekaźnik wewnętrzny sterownika,
    • Latch relay „L” – wirtualny przekaźnik podtrzymujący stan po wyłączeniu sterownika. Wymaga użycia zewnętrznej baterii.
    • Link relay „B” – używany do odświeżania danych między CPU a modułem sieciowym,
    • Annunciator „F” – wewnętrzny przekaźnik do informowania o błędzie sprzętowym lub parametrów. Zdefiniowany jest przez użytkownika i powoduje przejście sterownika PLC w stan Error.
    • Link special relay „SB” – przekaźniki przechowujące statusy komunikacji i błędu z modułami sieciowymi,
    • Step relay „S” – używany do instrukcji krokowych w języku LD. Można go również użyć, jako dodatkowego przekaźnika.
    • Timer „T” – 16 bitowy timer odliczający czas w momencie załączenia zliczania. Podstawy czasu to kolejno 100/10/1ms. Po zliczeniu czasu ustawia cewkę wyjściową. Reset następuje po wyłączeniu liczenia.
    • Retentive timer „ST” – podobnie jak timer T z tą różnicą, że ten timer nie resetuje się po wyłączeniu liczenia. Ponowne załączenie kontynuuje poprzednie liczenie.
    • Counter „C”, Long counter „LC” – liczniki zliczające na zbocze. Pierwszy „C” jest licznikiem o pojemności 16bit, drugi „LC” jest licznikiem 32bit.
    • Data register „D” – służy do przechowywania danych numerycznych,
    • Link register „W” – służy do komunikacji z modułami sieciowymi,
    • Link special register „SW” – rejestry statusowe komunikacji CPU z modułami sieciowymi.
  2. System Device – jest to grupa urządzeń systemowych. Mowa tu o bitach i rejestrach specjalnych sterownika. Bity specjalne oznaczane są, jako „SM”, natomiast rejestry specjalne oznaczane są, jako „SD”. Służą one do odczytywania statusu i sterowania np. licznikami, komunikacją, przetwornikiem analogowym, szybkimi wejściami czy wyjściami zaimplementowanymi w sterownik PLC.
  3. Module access device – urządzenia dostępu do modułów sterownika. Oznaczane są, jako „G”. W zależności, do którego modułu chcemy się odnieść to adresowanie powinno wyglądać przykładowo U1\G200, co oznacza, że wskazujemy na rejestr 200 modułu pierwszego, U2 oznacza moduł drugi, itd.. Przypominam, że numeracja modułów rozpoczyna się od pierwszego modułu z prawej strony sterownika.
  4. Index register – służą do wskazania na adres innego urządzenia. Oznaczane są, jako „Z” (16bit) i „LZ” (32bit). W efekcie wykonywane operacje na rejestrze typu index będą wpisywane do wskazywanego urządzenia np. rejestrów numerycznych „D”. W sumie można zdefiniować 24 rejestry indeksowe 16 bit, czyli 24 „Z” lub 12 „LZ”.
  5. File register – używane są w celu rozszerzenia Data register „D”. Mogą być przechowywane w wewnętrznej pamięci RAM CPU lub w pamięci karty SD. Po wyłączeniu zasilania lub wykonaniu reset sterownika zostają podtrzymane. Urządzenia te oznaczane są z prefiksem „R”.
  6. Nesting – używany do warunkowego wykonywania części programu drabinkowego. Maksymalnie można użyć do 15 warunków zagnieżdżonych. Urządzenia te oznaczane są z prefiksem „N”.
  7. Pointer – wskaźniki używane do skoków lub wywołania podprogramu. Wskaźniki mogą być zdefiniowane przez użytkownika, jako lokalne lub globalne. Istnieją również wskaźniki sprzętowe odwołujące się do przerwań CPU, modułów, czasomierzy, szybkich wejść. Oznaczane są z prefiksem „P” dla wskaźników oraz „I” dla przerwań.
  8. Constant – jest to stała. Stała w systemie dziesiętnym oznaczana jest poprzez prefiks „K”, np. K1000, w systemie szesnastkowym poprzez „H”, np. H12FC. Stałą może być liczba całkowita, zmiennoprzecinkowa „E” lub string.

Podczas programowania sterownika PLC iQ-F najczęściej używanymi urządzeniami z grupy urządzeń użytkownika są: „X”, „Y”, „M”, „D”. Niezbędne do konfiguracji różnych modułów sterownika czy odczytywania statusów są urządzenia systemowe „SM” i „SD”. Korzystając z modułów inteligentnych tj. przykładowo: „Simple Motion” czy „Temperature Control” konieczne jest używanie urządzeń dostępu do modułu „G”. W programowaniu PLC często również korzysta się z stałych. Na koniec przedstawiam pule adresowe urządzeń użytkownika w poniższej tabeli:

TypNazwaSymbolSystem
pozycyjny
Zakres
BitInputXÓsemkowyX0-X1777
BitOutputYÓsemkowyY0-Y1777
BitInternal relayMDziesiętnyM0-M32767
BitLatch relayLDziesiętnyL0-L32767
BitLink relayBSzesnastkowyB0-B7FFF
BitLink special relaySBSzesnastkowySB0-SB7FF
BitAnnunciatorFDziesiętnyF0-F32767
BitStep relaySDziesiętnyS0-S4095
Bit/wordTimerTDziesiętnyT0-T1023
Bit/wordRetentive timerSTDziesiętnyST0-ST1023
Bit/wordCounterCDziesiętnyC0-C1023
Bit/Double
word
Long counterLCDziesiętnyLC0-LC1023
WordData registerDDziesiętnyD0-D7999
WordLink registerWSzesnastkowyW0-W7FFF
WordLink special registerSWSzesnastkowySW0-SW7FFF
Tabela 1 – Pula adresowa urządzeń użytkownika

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *