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].