Zapis i odczyt pamięci Flash na ruchu w kontrolerach

Transkrypt

Zapis i odczyt pamięci Flash na ruchu w kontrolerach
Informator techniczny
Zapis i odczyt pamięci Flash na ruchu w kontrolerach PACSystems
Programowa obsługa zapisu i odczytu pamięci Flash
Ogólne informacje na temat obsługi pamięci Flash
Poza standardowym programowaniem pamięci Flash przy zatrzymanym programie, kontrolery PACSystems
pozwalają też na kopiowanie danych na ruchu z pamięci RAM do Flash oraz z pamięci Flash do RAM. W celu
zapisu/odczytu pamięci Flash na ruchu należy posłużyć się programowymi blokami SCV_REQ#57 oraz
SCV_REQ#56.
Uwaga:
Ze względu na ograniczoną ilość cykli zapisu do pamięci Flash (100 000 cykli), zapis do tej pamięci powinien
być realizowany zdarzeniowo, kontrolując, aby ilość cykli nie była zbyt duża. Przekroczenie ilości
dopuszczalnych cykli zapisu może spowodować uszkodzenie pamięci Flash; usterka ta nie jest objęta
świadczeniami gwarancyjnymi. Funkcja zapisu powinna być wywołana impulsem (nie powinna być
aktywowana poziomem sygnału).
Elementy użyte w poniższym przykładzie:
•
Kontroler RX3i
•
Oprogramowanie Proficy ME
Informator Techniczny
Strona 1 z 5
Pomoc techniczna dostępna jest na Platformie Internetowej ASTOR – pod adresem platforma.astor.com.pl.
Serwis stanowi źródło wiedzy technicznej dostępne 24 godziny na dobę i umożliwia zgłaszania zagadnień serwisowych oraz śledzenia ich stanu.
Ogólnopolska linia telefoniczna 12 424 00 88, e-mail: [email protected].
Informator techniczny
Opis bloków funkcyjnych SVC_REQ#57 i SVC_REQ#56
SVC_REQ#57 - PROGRAMOWY ZAPIS DO PAMIĘCI FLASH NA RUCHU
Powoduje przepisanie danych z pamięci RAM do pamięci Flash spod tych samych lokalizacji - adresy
komórek w pamięci RAM i Flash są identyczne. Format komendy SVC_REQ#57 jest następujący:
Dane wejściowe dla bloku SVC_REQ#57
Słowo
Offset
Opis parametru
1
+0
Typ pamięci źródłowy i docelowy (np. 8 = %R)
2
+1
Offset źródła i przeznaczenia, część LO ( np. offset 1000 oznacza %R1001)
3
+2
Offset źródła i przeznaczenia, część HI
4
+3
Ilość elementów do zapisu
5
+4
0 = sprawdzaj ograniczenia zapisu na ruchu
1 = ignoruj ograniczenia zapisu na ruchu
6
+5
Zarezerwowany (należy wpisać wartość 0)
Offset źródła i przeznaczenia jest zapisywany na 32 bitach, dlatego przeznaczone są dla niego dwa rejestry
16-bitowe na część mniej znaczącą LO i bardziej znaczącą HI.
Ograniczenia zapisu na ruchu dotyczą m.in. blokowaniem zapisu w przypadku wykrycia innego programu w
pamięci RAM niż w pamięci Flash. Ograniczenia te można wyłączyć poprzez wpisanie wartości 1 do rejestru
piątego.
Dane wynikowe z bloku SVC_REQ#57
Słowo
Offset
Opis parametru
7
+6
Kod komunikatu
8
+7
Ilość skopiowanych elementów
9, 10
+8, +9
Ilość wolnej pamięci Flash (w bajtach)
Kody błędów opisane są w pomocy w oprogramowaniu Proficy ME.
Informator Techniczny
Strona 2 z 5
Pomoc techniczna dostępna jest na Platformie Internetowej ASTOR – pod adresem platforma.astor.com.pl.
Serwis stanowi źródło wiedzy technicznej dostępne 24 godziny na dobę i umożliwia zgłaszania zagadnień serwisowych oraz śledzenia ich stanu.
Ogólnopolska linia telefoniczna 12 424 00 88, e-mail: [email protected].
Informator techniczny
SVC_REQ#56 - PROGRAMOWY ODCZYT Z PAMIĘCI F LASH
Powoduje przepisanie danych z pamięci Flash do pamięci RAM. Adres komórek z pamięci Flash może być inny niż
adres komórek z pamięci RAM. Format komendy SVC_REQ#56 jest następujący:
Dane wejściowe dla bloku SVC_REQ#57
Słowo
Offset
Opis parametru
1
+0
Typ pamięci źródłowej, tzn. Flash (np. 8=%R)
2
+1
Offset pamięci źródłowej, tzn. Flash, część LO (np. 1000 oznacza %R1001)
3
+2
Offset pamięci źródłowej, tzn. Flash, część HI
4
+3
Ilość elementów do zapisu
5
+4
Typ pamięci docelowej, tzn. RAM (np. 8 = %R)
6
+5
Offset pamięci docelowej, tzn. RAM, część LO (np. 1010 = %R1011)
7
+6
Offset pamięci docelowej, tzn. RAM, część HI
8
+7
0 = sprawdzaj ograniczenia zapisu na ruchu
1 = nie sprawdzaj ograniczeń zapisu na ruchu
9
+8
Zarezerwowany (należy wpisać wartość 0)
Dane wynikowe z bloku SVC_REQ#57
Słowo
Offset
Opis parametru
10
+9
Kod komunikatu
11
+10
Ilość skopiowanych elementów
Kody błędów opisane są w pomocy w oprogramowaniu Proficy ME.
Nie można kopiować danych z pamięci Flash do RAM, jeżeli komórki pamięci Flash nie zostały uprzednio
zainicjalizowane zapisem wartości za pomocą funkcji SVC_REQ#57.
Informator Techniczny
Strona 3 z 5
Pomoc techniczna dostępna jest na Platformie Internetowej ASTOR – pod adresem platforma.astor.com.pl.
Serwis stanowi źródło wiedzy technicznej dostępne 24 godziny na dobę i umożliwia zgłaszania zagadnień serwisowych oraz śledzenia ich stanu.
Ogólnopolska linia telefoniczna 12 424 00 88, e-mail: [email protected].
Informator techniczny
Program do zapisu/odczytu pamięci Flash na ruchu
W przykładzie zdefiniowano parametry ignorujące ograniczenia zapisu/odczytu pamięci Flash na ruchu, w
tym inną zawartość pamięci Flash niż RAM. Dzięki temu można będzie zmieniać program na ruchu (tzn.
tylko w pamięci RAM), a obsługa kopiowania danych do pamięci Flash będzie nadal działała prawidłowo. W
celu ignorowania ograniczeń ustawiono wartość 1 w rejestrach:
- piątym rejestrze komendy do zapisu (SVCREQ#57),
- dziewiątym rejestrze komendy do odczytu (SVCREQ#58).
W poniższym przykładzie kopiowane są dwa rejestry (definicja ilości rejestrów znajduje się w czwartym
rejestrze). W szczeblu 4 kopiowane są dane z pamięci RAM, począwszy od adresu %R1001 do pamięci Flash
pod ten sam adres, a w szczeblu 6 kopiowane są dane z pamięci Flash spod adresu %R1001 do pamięci RAM
od adresu %R1011.
Informator Techniczny
Strona 4 z 5
Pomoc techniczna dostępna jest na Platformie Internetowej ASTOR – pod adresem platforma.astor.com.pl.
Serwis stanowi źródło wiedzy technicznej dostępne 24 godziny na dobę i umożliwia zgłaszania zagadnień serwisowych oraz śledzenia ich stanu.
Ogólnopolska linia telefoniczna 12 424 00 88, e-mail: [email protected].
Informator techniczny
Weryfikacja działania zapisu i odczytu danych z pamięci Flash
Oprócz obserwowania efektów kopiowania, poprawne zadziałanie funkcji
SVC_REQ można sprawdzać kontrolując rejestr o nazwie Kod komunikatu;
jest to rejestr siódmy dla SVC_REQ#57 i dziesiąty dla SVC_REQ#56).
Wartość 1 w tych rejestrach oznacza sukces operacji. Wartość większa niż 1
oznacza kod błędu; w celu jego analizy proszę posłużyć się opisem bloków
zamieszczonym w pomocy w oprogramowaniu Proficy ME.
Informator Techniczny
Strona 5 z 5
Pomoc techniczna dostępna jest na Platformie Internetowej ASTOR – pod adresem platforma.astor.com.pl.
Serwis stanowi źródło wiedzy technicznej dostępne 24 godziny na dobę i umożliwia zgłaszania zagadnień serwisowych oraz śledzenia ich stanu.
Ogólnopolska linia telefoniczna 12 424 00 88, e-mail: [email protected].