S5 EPROM DB -> problem
ELP - 28-02-2007 22:45
S5 EPROM DB -> problem Witam grupowiczów.
Klient uparł się aby zrobić mu EPROM`a z programem do S5-115 (CPU944).
Nagrałem EPROM`a, próba i... pad CPU.
Okazało się, że CPU próbuje zapisać dane do DB, który jest w EPROM. Niby
logiczne, ale... Siemens już nieraz mnie zaskoczył swoim dziwnym
zachowaniem. Otóż, inny sterownik również z EPROM (CPU943) przy starcie
(skasowany RAM) pięknie kopiuje całą zawartość EPROM do RAM (miga sobie
LED) i pracuje z programem w RAM. Po wyłączeniu zasilania można wyjąć
EPROM`a, a po powtórnym załączeniu CPU pracuje już z RAM`em.
No i moje pytania:
- w jaki sposób zmusić CPU944 aby kopiował zawartość EPROM do RAM
(oczywiście wcześniej pełne kasowanie CPU) i pracował dalej z pamięcią RAM
(możliwość modyfikacji bloków)
- w jaki sposób przenieść chociaż bloki DB z EPROM do RAM, ale z
zachowaniem ich numeracji (np. w EPROM DB10 -> RAM DB10)
bo bez tego to nie problem :-)
Od razu zaznaczam, że tworzenie bloków DB przy starcie programu nie
wchodzi w rachubę. Pewne mają już wartości inicjujące pracę programu, ale
jednocześnie muszą mieć możliwość modyfikowania w trakcie pracy.
Pozdrawiam
Szymon - 01-03-2007 00:45
Użytkownik "ELP" <epl@poczta.neostrada.pl> napisał w wiadomości
news:op.tog8hndk863c9n@rafal...
> Witam grupowiczów.
(...)
Raczej nie pracuje z S5, ale to trochę dziwne zachowanie. Cpu zawsze kopiuje
zawartosc epromu do swojego RAMu. Jestes pewien, że to brak dostępu do DB?
Podobne problemy zdarzaja się w S5-100 kiedy np. ściągniesz program ze
sterownika zrobisz poprawki, wgrasz na eprom spowrotem i... zapomniałeś z
projektu usunąć bloki standardowe firmware'u (np funkcje mnozenia
FB24x-OIDP). Wtedy CPU nie wstanie bo nie da się tych bloków podmienic.
Wgraj program bezpośrednio do PLC i sprawdź czy startuje.
A może to EPROM nie do tego typu CPU?
Zresztą przejrzałem dokumentacje do CPU944 i:
- program nie może być wiekszy niż 96kB lub nawet 48kB zależnie od typu
epromu
- CPU944 i 943 zawsze kopiuja DB do RAMu. 941 i 942 nie - trzeba bloki
tworzyć dynamicznie lub dograć bezpośrednio z PG.
- istenieje jakiś atrybut bloku o nazwie "Block in Eprom" - jak jest
ustawiony to dany blok po załączeniu zasilania zostanie odczytany z Epromu i
przywrocone wartości poczatkowe zmiennych.
Sprawa jest ciekawa:-) Napisz jak znjadziesz rozwiązanie (lub błąd).
Pozdrawiam,
Szymon
ELP - 01-03-2007 08:45
> Raczej nie pracuje z S5, ale to trochĂŞ dziwne zachowanie. Cpu zawsze
> kopiuje
> zawartosc epromu do swojego RAMu. Jestes pewien, Âże to brak dostĂŞpu do
> DB?
Do tej pory tez mi się tak wydawało. CPU943 tak właśnie się zachowuje,
kopiuje cały EPROM do RAM.
944 nie chce nic skopiować. Przy próbie modyfikacji DB w CPU z poziomu
programatora (generalnie używam PG2000) wyskakuje błąd "blok w EPROM".
BSTACK także pokazuje zwis programu na instrukcji zapisu danej do DB.
> Podobne problemy zdarzaja siĂŞ w S5-100 kiedy np. ÂściÂągniesz program ze
> sterownika zrobisz poprawki, wgrasz na eprom spowrotem i... zapomniaÂłeÂś z
> projektu usun¹Ì bloki standardowe firmware'u (np funkcje mnozenia
> FB24x-OIDP). Wtedy CPU nie wstanie bo nie da siĂŞ tych bloków podmienic.
> Wgraj program bezpoÂśrednio do PLC i sprawdÂź czy startuje.
Program załadowany programatorem działa bez zarzutu. Załadowany z EPROM
również startuje, no i działa do momentu próby zapisu danej do DB.
> A moÂże to EPROM nie do tego typu CPU?
Na pewno dobry. Inny CPU944 z takim EPROM`em działa bez problemów, tylko
że tam bloki DB są tworzone dynamicznie.
> ZresztÂą przejrzaÂłem dokumentacje do CPU944 i:
> - program nie moÂże byĂŚ wiekszy niÂż 96kB lub nawet 48kB zaleÂżnie od typu
> epromu
> - CPU944 i 943 zawsze kopiuja DB do RAMu. 941 i 942 nie - trzeba bloki
> tworzyĂŚ dynamicznie lub dograĂŚ bezpoÂśrednio z PG.
Program mieści się w EPROMie 32kB.
> - istenieje jakiÂś atrybut bloku o nazwie "Block in Eprom" - jak jest
> ustawiony to dany blok po za³¹czeniu zasilania zostanie odczytany z
> Epromu i
> przywrocone wartoÂści poczatkowe zmiennych.
A gdzie tego atrybutu szukać ?
Pozdrawiam
Andrzej - 01-03-2007 23:45
ELP napisał(a):
>
>
>> - istenieje jakiÂś atrybut bloku o nazwie "Block in Eprom" - jak jest
>> ustawiony to dany blok po za³¹czeniu zasilania zostanie odczytany z
>> Epromu i
>> przywrocone wartoÂści poczatkowe zmiennych.
> A gdzie tego atrybutu szukać ?
>
>
Na pewno połamie te linki :
https://support.automation.siemens.c...82&treeLang=en
https://support.automation.siemens.c...ranet=standard
Pozdrowienia
Andrzej
Andrzej - 01-03-2007 23:45
Andrzej napisał(a):
> ELP napisał(a):
>>
>>
>>> - istenieje jakiÂś atrybut bloku o nazwie "Block in Eprom" - jak jest
>>> ustawiony to dany blok po za³¹czeniu zasilania zostanie odczytany z
>>> Epromu i
>>> przywrocone wartoÂści poczatkowe zmiennych.
>> A gdzie tego atrybutu szukać ?
>>
>>
>
> Na pewno połamie te linki :
>
> https://support.automation.siemens.c...82&treeLang=en
>
>
Pierwszy nie wchodzi do źródła.
Poszukaj tego
Processing data blocks in EPROM mode 06/24/2002 10183535
Pozdrowienia
Andrzej
Szymon - 02-03-2007 10:45
Użytkownik "Andrzej" <wolanski@wp.pl> napisał w wiadomości
news:es7j5g$e30$1@nemesis.news.tpi.pl...
> Andrzej napisał(a):
>> ELP napisał(a):
>>>
>>>
>>>> - istenieje jaki? atrybut bloku o nazwie "Block in Eprom" - jak jest
>>>> ustawiony to dany blok po za3?czeniu zasilania zostanie odczytany z
>>>> Epromu i
>>>> przywrocone warto?ci poczatkowe zmiennych.
>>> A gdzie tego atrybutu szukać ?
>>>
(...)
> Poszukaj tego
> Processing data blocks in EPROM mode 06/24/2002 10183535
>
"How can I change the ID of a block in an S5 program so that the data blocks
are _not_ copied from the EPROM into the internal RAM? "
Czyżby ktoś grzebał w nagłówkach wcześniej? Chyba trzeba do nich zajrzeć:-)
Może to PG2000 potrafi coś popsuć...
Pozdrawiam,
Szymon
zanotowane.pldoc.pisz.plpdf.pisz.plkonstruktor.keep.pl