Persistent w CXxxxx.pdf
(
192 KB
)
Pobierz
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
sprawdź 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!!
Sprawdź 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:
Podtrzymywanie danych w pamięci sterownika CXxxxx
2
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...
.
Podtrzymywanie danych w pamięci sterownika CXxxxx
3
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.
Podtrzymywanie danych w pamięci sterownika CXxxxx
4
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
Podtrzymywanie danych w pamięci sterownika CXxxxx
5
Plik z chomika:
amok10
Inne pliki z tego folderu:
01.pdf
(295 KB)
Instrukcja-TwinCAT.pdf
(3557 KB)
000030.pdf
(1921 KB)
03-08_artykul1p.pdf
(310 KB)
03_3a TSX PREMIUM_INSTALOW_MONTAZ.pdf
(6340 KB)
Inne foldery tego chomika:
PLC I
PLC Nauka
Zgłoś jeśli
naruszono regulamin