Podtrzymywanie danych w pamięci
sterownika CXxxxx
Poziom trudności: łatwy
Wersja dokumentacji: 1.5
Aktualizacja: 2.08.2010
Beckhoff Automation Sp. z o. o.
New Automation Technology
Wprowadzenie
Dane po zaniku zasilania mogą być przechowywane w pamięci sterowników serii
CXxxxx przez zmienne typu Persistent Data. W sterownikach serii CX mo\emy je
uzyskać na dwa sposoby:
" U\ywając nieulotnej pamięci NOV/DP-RAM
" U\ywając pamięci Compact Flash
Wyzerowania zmiennych typu persistent nie powoduje:
" Wgranie nowego programu,
" Przeładowanie programu,
" Zatrzymanie programu,
" Zrestartowanie programu lub sterownika
Zmienne typu persistent mo\na wyzerować tylko komendą Reset All
w programie TwinCAT PLC Control.
Uwaga!! Po wgraniu nowego projektu na sterownik, przed jego uruchomieniem
sprawdz wartości zmiennych typu persistent. Mo\e okazać się, \e są one niezerowe
przechowują wartości z poprzedniego programu. Wykonaj komendę Reset All.
Uwaga!! Zmienne typu persistent nie mogą mieć przypisanych wartości
startowych (Initial Value) tracą bowiem wówczas swoją funkcjonalność.
W pierwszym cyklu wartość przechowana przez sterownik zostanie zastąpiona
wartością startową.
Przykład:
Persistent_Integer :INT := 15200;
Uwaga!! Sprawdz czy zmienna persistent nie jest nadpisywana przez blok
funkcyjny. W poni\szym przykładzie zmienna Persistent_Bool jest wejściem
a zmienna Persistent_Integer wyjściem bloku licznika. Po restarcie sterownika
wartość wejściowa jest prawidłowo przechowana, natomiast wartość wyjściowa
została w pierwszym cyklu nadpisana przez blok licznika.
Przykład:
2
Podtrzymywanie danych w pamięci sterownika CXxxxx
New Automation Technology
Wykorzystanie pamięci NOV/DP-RAM
Pamięć NOV/DP-RAM nie posiada ograniczenia na ilość zapisów, dlatego te\
nadaje się do zapamiętywania szybkozmiennych wartości. W sterownikach serii
CX10xx mamy 8 kB, a w serii CX90xx 128 kB pamięci typu NOV/DP-RAM. Seria
Cx8xxx nie posiada tego typu pamięci.
U\ycie pamięci NOV/DP-RAM wymaga zlinkowania zmiennych z TwinCAT PLC
Control ze zmiennymi wyjściowymi w programie TwinCAT System Manager.
TwinCAT PLC Control
Przykładowa deklaracja zmiennych wyjściowych w programie TwinCAT PLC
Control wygląda następująco:
VAR
Persistent_Bool AT %Q*:BOOL;
Persistent_Integer AT %Q*:INT;
Persistent_String AT %Q*:STRING;
Persistent_Real AT %Q*:REAL;
END_VAR
TwinCAT System Manager
W programie TwinCAT System Manager nale\y wyszukać i skonfigurować
urządzenie NOV/DP-RAM. W tym celu:
1. Klikamy w drzewku konfiguracji PPM na I/O Devices i wybieramy opcję
Scan Devices& .
2. Dodajemy wyjścia do zlinkowania klikamy PPM na Outputs pod
urządzeniem NOV/DP-RAM i wybieramy opcję Insert Variable... .
3
Podtrzymywanie danych w pamięci sterownika CXxxxx
New Automation Technology
3. Wybieramy zmienne
Nale\y wybrać typ zmiennej odpowiadający rozmiarem zmiennej z programu
PLC, którą chcemy w tej pamięci umieścić.
4. Linkujemy zmienne
5. Na zakładce Generic NOV/DP-RAM zaznaczamy opcję Auto Init linked
PLC Outputs (opcja wskazana na poni\szej ilustracji).
6. Wgrywamy aktualną konfigurację na sterownik (Activate configuration )
Istnieje mo\liwość zapisu zmiennych typu Persistent na dysku (Export Data to
Disk...) lub wczytania z dysku wcześniej zarchiwizowanych wartości (Import Data
from Disk...). Opcje te dostępne są w oknie przedstawionym powy\ej.
4
Podtrzymywanie danych w pamięci sterownika CXxxxx
New Automation Technology
Wykorzystanie pamięci Compact Flash
Ilość zmiennych przechowywanych na karcie Compact Flash (CF)
ograniczona jest jej rozmiarem. Z powodu ograniczonej ilości zapisów, nie nadaje
się ona do zapamiętywania wartości szybkozmiennych.
Zmienne, które mają być zapisane jako Persistent Data, muszą być specjalnie
zadeklarowane. Wszystkie zmienne umieszczone między wyra\eniami VAR
PERSISTENT i END_VAR są poprzez bloczek FB_WritePersistantData zapisywane
na karcie Compact Flash i przechowywane po zniknięciu zasilania.
Uwaga!! Je\eli w bloku funkcyjnym znajduje się chocia\ jedna zmienna
oznaczona jako presistent to do pamięci zostanie zapisana cała zawartość bloku
funkcyjnego. Z tego względu zalecane jest umieszczenie wszystkich zmiennych
globalnych poza wnętrzami bloków funkcyjnych, np. w oddzielnej zakładce
zmiennych globalnych.
Do zapisu danych na kartach typu Compact Flash słu\y blok funkcyjny
FB_WritePersistantData z biblioteki TcUtilities.lib. Po jej dodaniu automatycznie
zostaną dołączone biblioteki: Standard.Lib, TcBase.Lib, TcSystem.Lib.
Wejścia:
NETID: adres AmsNetId sterownika w formie zmiennej typu STRING, zapis
lokalny to pozostawiamy pusty wpis .
PORT: numer portu run-time systemu, na który będą zapisywane Persistent
Data. Pierwszy PLC run-time system, np. ma numer 801, drugi 811.
START: zbocze narastające tego wejścia aktywuje bloczek. Sygnał zapisu musi
być podany przynajmniej raz podczas działania programu, najlepiej wykonać to
polecenie w pierwszym cyku.
TMOUT: określenie czasu przeznaczonego na zapis danych.
MODE: tryb zapisu Persistent Data, wpisujemy SPDM_2PASS co pozwala na
zapisanie danych nawet je\eli mo\e to wydłu\yć czas wykonania się programu.
Wyjścia:
BUSY: wyjście aktywne sygnalizuje wykonywanie się bloczka.
ERR: sygnalizacja wystąpienia błędu.
ERRID: je\eli wystąpi błąd to na tym wyjściu pojawią się jego symbol.
Uwaga!! Początkującym proponujemy import do projektu gotowego bloku
FB_PERSISTENT.EXP, który nie wymaga konfiguracji! Plik dostępny na
ftp.beckhoff.com/poland/pomoc
5
Podtrzymywanie danych w pamięci sterownika CXxxxx
Wyszukiwarka
Podobne podstrony:
features persistent connectionsHygrocybe persistensfeatures persistent connectionsHygrocybe persistensS Chugh Optimal inflation persistence Ramsey Taxation with Capital and HabitsPersistenceDelegatefeatures persistent connectionsPersistentMBeanPersistentMBeanPersistenceServicePERSIST STOREPersistenceDelegatePERSIST STOREwięcej podobnych podstron