Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

WinCC - Dziwne zachowanie wizualizacji po modyfikacjach w PLC

darkonel 18 Sty 2016 09:39 660 9
  • #1 18 Sty 2016 09:39
    darkonel
    Poziom 19  

    Witam serdecznie,
    Mam problem z wizualizacją WinCC v7.0.
    Z konieczności rozbudowy instalacji zakładu produkcyjnego zmieniłem istniejący program w PLC (dość rozbudowany) modyfikując bloki programowe, w tym bloki DB, z których korzysta wizualizacja.
    O ile sam program działa poprawnie, to wizualizacja zaczęła dziwnie się zachowywać. Nie można uruchomić niektórych funkcji, zniknęły hiperłącza otwierające różne obiekty (np. diagnostyczny podgląd stanu urządzeń nie działa – został „zamrożony” i nie aktualizuje bieżących stanów pracy urządzeń).
    Po przywróceniu bloków OB, DB i FC do sterownika PLC sprzed modyfikacji spowodowało to, że podgląd stanu urządzeń już działa natomiast nie można otworzyć żadnej kontrolki sterowania pompami i niektóre przyciski nie reagują na kliknięcie (wcześniej reagowały).
    Nie mam już pomysłu co może być nie tak. Czy problem występuje nadal w sterowniku PLC (przywróciłem przecież kopię sprzed zmian) czy może z WinCC dzieje się coś złego (np. niekontrolowana automatyczna zmiana odnośników do DB)?
    Dodam jeszcze, iż zniknęło (!) kilka skryptów napisanych w C powodujących zmianę wartości zmiennej wskojarzonej z DB sterownika – nie mogę z tego powodu zadać wartości. Próbując prywrócić utracony skrypt skopiowałem z innego miejsca pole wartości ze skryptem widocznym w OBJECT PROPERTIES > EVENTS > OUTPUT/INPUT > OUTPUT VALUE > CHANGE. Zmiana nazwy zmiennej na właściwą i zapisanie zmian a następnie próba kliknięcia na pole w trybie Runtime nadal nie przynosi efektu. Po sprawdzeniu w GraphicsDesigner okazuje się, iż skrypt zniknął.
    Czy mógłbym liczyć na podpowiedź co może powodować takie zachowanie systemu oraz jak można wyeliminować te problemy? Czy ktoś miał kiedyś taki przypadek?
    Bardzo proszę o pomoc.

    0 9
  • #2 18 Sty 2016 09:58
    liberateme
    Poziom 19  

    Witam,

    Czy nowe zmienne w modyfikowanych DB'kach dodawał Pan na końcu czy wstawiał Pan w "środek"?
    Może Pan podejrzeć "Tag Managment" i zobaczyć co się dzieje z tagami?
    Czy może Pan napisać w jaki dokładnie sposób "przywracał" starą wersję PLC?

    Pozdrawiam

    0
  • #3 18 Sty 2016 11:31
    darkonel
    Poziom 19  

    liberateme napisał:
    Witam,

    Czy nowe zmienne w modyfikowanych DB'kach dodawał Pan na końcu czy wstawiał Pan w "środek"?
    Może Pan podejrzeć "Tag Managment" i zobaczyć co się dzieje z tagami?
    Czy może Pan napisać w jaki dokładnie sposób "przywracał" starą wersję PLC?

    Pozdrawiam


    Wstawiałem w środek starając się zachować strukturę i dopasować do składni istniejących już elementów (było sporo miejsc oznaczonych jako FREE, więc tam wstawiałem swoje zmienne). W 2 DB-kach musiałem rozszerzyć nieco struktury by upchnąć to co chciałem. Starałem się robić tak by zachować adresację pozostałych zmiennych w każdym DB-ku. Mimo to w jednym DB-ku dotyczącym HMI przeskoczył mi adres (był wolny adres BYTE a ja wpisałem BOOL, ale zorientowałem się, poprawiłem to i wgrałem ponownie już z zachowaniem adresacji).
    W TagManagement tagi są ok. Zmieniając je z poziomu VAT w Step'ie widać jak się zmieniają w WinCC.
    Starą wersję przywróciłem w ten sposób, iż zamieniłem zmienione bloki blokami ze sporządzonej 2 m-ce wstecz kopii z dogranymi nazwami symbolicznymi z oryginalnego projektu. Najpierw zamieniłem w PLC bloki FC, OB a na końcu bloki DB. Część funkcji w wizualizacji została przywrócona, natomiast inne "poszły w las" (np nie otworzę stacyjek na wybranych maskach (screenach)).
    Problem wydaje mi się jest w tym, iż nie ma skryptów VB (wcześniej pisałem o C, jednak to skrypty VB) uruchamianych kliknięciem buttona,a takowe były. Chcąc napisać skrypt od nowa okazuje się, iż nie wiem jakie skrypty globalne były wykorzystywane.
    Mam kopie WinCC lecz nieco starszą, ale nie było tam zmian. Sam nie wiem czy problem dotyczy WinCC (choć nic tu nie zmieniałem poza dołożeniem kilku zmiennych i dorysowaniem kilku elementów) czy PLC.

    0
  • #4 18 Sty 2016 12:29
    liberateme
    Poziom 19  

    Witam,

    Debugger nie sieje żadnymi błędami?.
    Czy robił Pan update w managerze skryptów?

    Pozdrawiam

    0
  • #5 18 Sty 2016 13:06
    darkonel
    Poziom 19  

    liberateme napisał:
    Witam,

    Debugger nie sieje żadnymi błędami?.
    Czy robił Pan update w managerze skryptów?

    Pozdrawiam


    Debugger jest OK. Program działa bez zastrzeżeń i nie mam komunikatów o błędach.
    Nie robiłem update w managerze skryptów. Powinienem? Jeśli tak to proszę o szczegóły

    0
  • #6 18 Sty 2016 13:48
    ENCON
    Poziom 14  

    Witam

    Ja przyjąłbym następujący schemat działania:
    - kasowanie LOAD memory w CPU, aby mieć pewność, że nie pozostały tam "śmieci"
    - załadowanie wszystkich bloków z kopii CPU
    - sprawdzenie jak zachowuje się WinCC.

    Jeżeli nadal będą problemy to przywracasz kopię projektu WinCC i sprawdzasz czy są problemy. Jeżeli wszystko działa OK, to zmiany wprowadzone w WinCC spowodowały jakiś problem.
    Jaką wersję WinCC posiadasz (chodzi o SP oraz update)?

    Pozdrawiam

    0
  • #7 18 Sty 2016 13:53
    liberateme
    Poziom 19  

    Witam,

    Chodziło mi o listę skryptów w script edytorze (nie menadżerze, przepraszam), tam, jeżeli któryś ze skryptów ma krzyżyk, to można zrobić na nim update.
    Czy w katalogu ScriptLib w katalogu aplikacji są wszystkie skrypty? (szczególnie te, które poznikały)

    Pozdrawiam

    0
  • #8 18 Sty 2016 15:51
    darkonel
    Poziom 19  

    ENCON napisał:

    Ja przyjąłbym następujący schemat działania:
    - kasowanie LOAD memory w CPU, aby mieć pewność, że nie pozostały tam "śmieci"
    - załadowanie wszystkich bloków z kopii CPU
    - sprawdzenie jak zachowuje się WinCC.
    Jeżeli nadal będą problemy to przywracasz kopię projektu WinCC i sprawdzasz czy są problemy. Jeżeli wszystko działa OK, to zmiany wprowadzone w WinCC spowodowały jakiś problem.
    Jaką wersję WinCC posiadasz (chodzi o SP oraz update)?

    Ok, tak zrobię jutro rano. Czy HW config + system data też przywrócić czy wystarczą same bloczki? Jestem ciekaw reakcji WinCC. Nawiasem mówiąc po "wymianie" wszystkich zmienionych przeze mnie bloków wszystkie bloki sterownika są aktualne, no ale spróbuję, w końcu coś musi zadziałać.
    Niestety mój system jest systemem rozproszonym (3xPLC + 4xHMI) i na wizualizacji na innym PC, na którym nie dokonywałem żadnych zmian, też pojawiły się różne błędy. Mniemam zatem, iż wina leży po stronie PLC - sprawdzę i dam znać.
    WinCC to 7.0 SP1

    liberateme napisał:

    Chodziło mi o listę skryptów w script edytorze (nie menadżerze, przepraszam), tam, jeżeli któryś ze skryptów ma krzyżyk, to można zrobić na nim update.
    Czy w katalogu ScriptLib w katalogu aplikacji są wszystkie skrypty? (szczególnie te, które poznikały)

    Tak, w katalogu są wszystkie skrypty. Być może nieprecyzyjnie się określiłem, ale poznikały niektóre skrypty VB w opcjach obiektu OBJECT PROPERTIES > EVENTS > OUTPUT/INPUT > OUTPUT VALUE > CHANGE w GraphicsDesignerze (nie wszystkie, tylko niektóre). Nie wiem co jest nie tak.

    Nie wiem na ile ta informacja ma związek z moim problemem, ale w kilku blokach podczas edycji wyskoczył komunikat o treści "At least one symbol assignment changed" Nie wiem dlaczego, ale po potwierdzeniu komunikatu blok się otwierał i nie było w nim nic niepokojącego. Po dokonaniu zmian wgrywałem je normalnie do PLC. Czy to mogło spowodować błędy w HMI?

    0
  • #9 18 Sty 2016 16:20
    ENCON
    Poziom 14  

    Dla pewności HW Config lub system data (to jest tak naprawdę to samo) + wszystkie bloki programowe. Wcześniej kasowanie LOAD memory. Komunikat "At least one symbol assignment changed" oznacza, że dokonałeś zmiany w tablicy symboli dla adresów, które są wykorzystane w danym bloku.
    Czy jesteś pewien, że stacje WinCC są zrealizowane jako niezależne Single Station a nie w architekturze Serwer-klient?

    0
  • #10 18 Sty 2016 17:53
    darkonel
    Poziom 19  

    ENCON napisał:
    Dla pewności HW Config lub system data (to jest tak naprawdę to samo) + wszystkie bloki programowe. Wcześniej kasowanie LOAD memory. Komunikat "At least one symbol assignment changed" oznacza, że dokonałeś zmiany w tablicy symboli dla adresów, które są wykorzystane w danym bloku.
    Czy jesteś pewien, że stacje WinCC są zrealizowane jako niezależne Single Station a nie w architekturze Serwer-klient?


    Wszystkie projekty WinCC są oznaczone jako SERVER (we właściwościach stacji)


    Temat rozwiązany. Niestety wyczyszczenie bloków online i wgranie kopii nie pomogło. Okazało się, iż dane w kilku DB uległy wyzerowaniu, przez co skrypty WinCC odnoszące się do nich nie mogły funkcjonować (np. zamiast wartości 1-5 było tam 0). Trzeba było ręcznie parametryzować wybrane pola DB.
    Dziękuję wszystkim za aktywność w temacie.

    0