logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Dlaczego bloki danych w S7 nie przyjmują wartości inicjalizacyjnych?

markosoft 25 Paź 2006 16:08 1929 10
REKLAMA
  • #1 3151982
    markosoft
    Poziom 12  
    Posty: 56
    Pomógł: 1
    Witam

    Mam problem, którego nie rozumiem. Wydawało mi się, że dosyć sobie radzę z programowaniem w Step 7, a tu masz idiotyczny problem, albo czegoś nie rozumiem.

    Tworze blok danych np. DB50, wpisuję w kolejnych komórkach 10 inicjalizacyjnych wartości czasu od S5t#50ms do S5t#950ms, który później w programie jest pobierany (nigdzie nie zapisywany). Niestety po wrzuceniu do sterownika wartości danych czasu są równe zero - nie przyjmują nastaw inicjalizacyjnych. Dodam, że jeśli później wymuszę wpisanie właściwych wartości wszystko działa OK.

    Będę wdzięczny za pomoc.

    Pozdrawiam Marek (markosoft)
  • REKLAMA
  • #2 3152638
    andy1955
    Specjalista Automatyk
    Posty: 700
    Pomógł: 136
    Ocena: 50
    Spróbuj wartości początkowe wpisać do rubryki "Aktualwert" (przełączając tabelę DB za pomocą "Strg + 4" ) a potem przesłać do CPU.
    Zapomniałem jeszcze dodać, że po przełączeniu za pomocą "Strg+4" znajdziesz w menu "bearbeiten" opcję "DB initialisieren" .Tą funkcją skopiujesz "ini"-wartości do rubryki aktualwert.
  • REKLAMA
  • #3 3152874
    krzychol66
    Poziom 25  
    Posty: 724
    Pomógł: 57
    Ocena: 125
    Jaką masz wersję S7?
    (obsługa wartości w DB zmieniła się przy przejściu z 5.2 na 5.3; niestety nowa obsługa jest mniej czytelna).
    Próbowałeś restartować sterownik? albo wgrać DB, kiedy sterownik jest w stopie?
  • REKLAMA
  • #4 3153226
    markosoft
    Poziom 12  
    Posty: 56
    Pomógł: 1
    Wersja Step 7 to 5.2 już też napisałem, że z wymuszeniem wartości w bloku DB nie ma problemu. Głównie chodzi mi o to, aby osoba kiepsko znająca oprogramowanie nie miała później problemu z uruchomieniem programu po wgraniu do sterownika np. po awarii. Chciałbym, aby wrzucając cały program jednocześnie wrzuciła zapisane wartości początkowe zgromadzone w bloku danych, bez konieczności kombinowania. Przecież chyba jeśli mamy czysty sterownik po resecie i wgrywamy świeży program wartości initial powinny zostać przyjęte. Ja to tak rozumiełem, ale już nie wiem. W tej chwili udało mi się to ominąć, ale nie jestem z tego do końca zadowolony bo chciałem, żeby było wg wszelkich zasad, a mianowicie zrobiłem taki myk, że w bloku startowym OB100 (bo to S7-312), umieściłem zestaw linijek wpisujących mi wartości (initial) do wskazanych komorek w bloku danych. W przyszłości nie chciałbym tego jednak robić. Czekam na jakieś rozsądne info.

    Dzięki

    Dodano po 25 [minuty]:

    Dodam jeszcze, że jeśli po załadowaniu podglądam blok danych w formie Data view, to nie mam wpisanych wartości initial, ale jeśli skorzystam z obcji Initialize data block, wartości aktual zostają nadpisane initial i po załadowaniu jest OK. Ale czy to tak ma być?
  • #5 3153452
    andy1955
    Specjalista Automatyk
    Posty: 700
    Pomógł: 136
    Ocena: 50
    Cytat:
    Głównie chodzi mi o to, aby osoba kiepsko znająca oprogramowanie nie miała później problemu z uruchomieniem programu po wgraniu do sterownika np. po awarii. Chciałbym, aby wrzucając cały program jednocześnie wrzuciła zapisane wartości początkowe zgromadzone w bloku danych, bez konieczności kombinowania.

    Do tego celu wystarczy jeżeli DB zainicjujesz - od tego jest przecież ta funkcja.Wystarczy,że programista to zrobi jeden jedyny raz .(Procedura jak wyżej).
    Dokładne wyjaśnienie:
    http://tinyurl.com/yewenc
  • #6 3153894
    markosoft
    Poziom 12  
    Posty: 56
    Pomógł: 1
    Dzięki

    Tak myślałem, że to jest coś prostego o czym zapomniałem.
    Jeszcze raz dzięki za przypomnienie.

    Pozdrawiam Marek (markosoft)
  • #7 3154181
    andy1955
    Specjalista Automatyk
    Posty: 700
    Pomógł: 136
    Ocena: 50
    dużo ciekawszym zagadnieniem jest przejęcie aktualnych wartości jako początkowe.Często jest tak,że dopiero po uruchomieniu maszyny ustawia się parametry,receptury a potem chce się zrobić backup z całego programu łącznie z DB.
  • #8 3157636
    markosoft
    Poziom 12  
    Posty: 56
    Pomógł: 1
    Faktycznie, jest to interesujące.
    Nigdy tego nie robiłem, a czuję, że chyba będę musiał i to wiedzieć.
    Jeśli to nie problem, byłbym wdzięczny za uchylenie rąbka tajemnicy na ten temat.

    Dzięki
  • REKLAMA
  • #9 3157647
    andy1955
    Specjalista Automatyk
    Posty: 700
    Pomógł: 136
    Ocena: 50
    w podanym przeze mnie linku (w poprzedniej odpowiedzi) jest na dole opis jak to zrobić.Istnieją także gotowe programiki,które to robią.
    www.wito-ag.ch/produkt308.html
  • #10 3160785
    markosoft
    Poziom 12  
    Posty: 56
    Pomógł: 1
    To miłe z Twojej strony, ale nie znam niemieckiego, tak więc link nie zabardzo się przyda. Ale dzięki.
  • #11 3160843
    andy1955
    Specjalista Automatyk
    Posty: 700
    Pomógł: 136
    Ocena: 50
    miałem na myśli ten link:
    http://tinyurl.com/yewenc
    Strona Siemensa po angielsku .W drugiej połowie artykółu jest dokładny opis
    (z obrazkami :-) ) jak to zrobić

Podsumowanie tematu

✨ Problem dotyczy braku przyjmowania wartości inicjalizacyjnych w blokach danych (DB) w środowisku programowania Step 7 dla sterowników Siemens S7. Użytkownik wprowadza wartości czasu (np. S5t#50ms do S5t#950ms) w polach inicjalizacyjnych DB, jednak po załadowaniu do sterownika wartości te są zerowe. Rozwiązaniem jest wpisanie wartości początkowych do kolumny "Aktualwert" w tabeli DB, dostępnym po przełączeniu widoku za pomocą skrótu "Strg+4", a następnie użycie funkcji "DB initialisieren" z menu "bearbeiten", która kopiuje wartości inicjalizacyjne do aktualnych. Wersja Step 7 5.2 wymaga takiego postępowania, gdyż wartości inicjalizacyjne same nie są automatycznie kopiowane do pamięci sterownika po wgraniu programu. Alternatywnie, można w bloku startowym OB100 ręcznie przypisać wartości do DB, ale jest to rozwiązanie mniej eleganckie. Dyskusja porusza także temat tworzenia backupu DB z aktualnymi wartościami po uruchomieniu maszyny oraz wskazuje na dostępne instrukcje i narzędzia do inicjalizacji DB i kopiowania wartości.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA