TIA Portal How To Jak wywołać ekran Pop-up zmienną w PLC

0
TIA Portal How To pop-up screen
TIA Portal How To pop-up screen

TIA Portal How To Jak wywołać ekran Pop-up zmienną w PLC

Ekrany Pup-up są zdecydowanie jedną z bardziej użytecznych funkcji w TIA Portal WinCC. Najlepszym rozwiązaniem byłaby możliwość wywoływania ich zdarzeniami zachodzącymi w PLC. Łatwo wyobrazić sobie sytuację, gdy zdarzenie, zmiana stanu itd. powoduje wyskakujące okienko z informacją / ostrzeżeniem o tym wydarzeniu. Niestety do funkcji „ShowPopupScreen” i „ShowPopupScreenSizable” („ShowPopupScreenSizable” – tylko wersja V14) można sterować tylko zdarzeniem wewnątrz HMI (np. Wciśnięciem przycisku, przełącznikiem itd.). Jest jednak sposób, używający skryptu VB, aby to obejść. To będzie właśnie tematem tego wpisu.

1. Utwórz ekran Pop-up

Zacznijmy od stworzenia ekranu Pop-up:

 

TIA Portal How To Pop-up create screen
TIA Portal How To Pop-up create screen

2. Utworzenie zmiennej w PLC

Jest to zmienna, której zmiana stanu na 1, spowoduje wyświetlenie ekranu Pop-up. Nie ma znaczenia, gdzie zmienna jest przechowywana (DB, Global Memory itp.), O ile jest dostępna z HMI.

3. Utworzenie zmiennej w HMI

Utwórz zmienną w HMI i połącz ja ze zmienną utworzoną w p. 2:

TIA Portal How To Pop-up Tag
TIA Portal How To Pop-up Tag

 

4. Zmień acquisition cycle zmiennej na ‚cyclic continuous’

W tabeli zmiennych HMI podświetl zmienną, którą właśnie utworzyłeś, idź do zakldki ‚Properties’ -> ‚Settings’ -> ‚Acquisition mode’ i wybierz ‚cyclic continuous’:

TIA Portal How To Pop-up tag settings
TIA Portal How To Pop-up tag settings

DLACZEGO?

TIA Portal Help:

If you want to update the tag at regular intervals as long as it is being displayed on the screen or logged, select „Cyclic in operation” as the acquisition mode.

Or:

If you want to update the tag at regular intervals even though it is not being displayed on the screen or logged, select „Cyclic continuous” as the acquisition mode.

The „Cyclic continuous” setting is selected for a tag, for example, that has a function list configured for a change of its value and that is not directly visible in a screen.

Czyli jeżeli zmienna jest użyta na ekranie lub jest logowana to HMi będzie regularnie odpytywać PLC o jej stan. W przeciwnym wypadku (czyli naszym) należy wybrać opcję ‚cyclic continuous’ aby HMI sprawdzał stan zmiennej mimo iż nie jest ani wykorzystana na ekranie (jako np. przycisk) ani logowana.

5. Utwórz VB Script, który będzie wywoływał ekran Pop-up gdy zmienna zmieni stan na 1.

Zaczynamu od utworzenia VB Script:

TIA Portal How To Pop-up VB
TIA Portal How To Pop-up VB

Wklej poniższy kod:

 

  • SmartTags(„TIAPortalHowTo_tag_1”) – >to jest Twoja zmienna. Możesz ja wpisać ręcznie lub przeciągnąć z tabeli zmiennych dzięki ‚splitt editor space’.
  • ‚TIA_Portal_How_To’ -> nazwa Twojego ekranu pop-up
  • ‚0’ i ‚0’ to koordynaty X i Y (gorny lewy rog ekranu pop-up) miejsca wyświetlenia ekranu pop-up
  • ‚hmiAnimationOff’ lub ‚hmiAnimationTop’ lub ‚hmiAnimationLeft’ lub ‚hmiAnimationRight’ lub ‚hmiAnimationBottom’ -> włącz lub wyłącz animacje pojawienia się okna
  • ‚hmiMedium’  lub ‚hmiSlow’  lub ‚hmiFast’ -> prędkość powyższej animacji
TIA Portal How To Pop-up VB Script
TIA Portal How To Pop-up VB Script

6. Aktywuj bit pamięci zmieniający się z częstotliwością 1Hz

 Najpierw musimy aktywować ‚Clock Memory Byte’ w PLC. Aby to zrobić należy:

Zakładka PLC Properties -> System and clock memory -> zaznacz ‚Enable the use of clock memory byte’

TIA Portal How To memory clock byte
TIA Portal How To memory clock byte

Utwórz teraz zmienną w HMI i połącz ja z bitem ‚Clock_1Hz’ (%M0.5) w PLC, poczym zmień jej acquisition modę na ‚Cyclic continuous’.

Herc (Hz) – jednostka miary częstotliwości w układzie SI (jednostka pochodna układu SI) i w wielu innych, np. CGS, MKS i MKSA. Definiuje się ją jako liczbę cykli na sekundę.

Źródło: Wikipedia Herc

Jeden cykl na sekundę oznacza, że bit ‚Clock_1Hz’ będzie miał stan 1 przez 0.5s a następnie stan 0 przez kolejne 0.5s, a potem cykl się powtórzy.

Więcej informacji na temat bajtu pamięci zegara znajdziesz w artykule: TIA Portal Pamięć Zegara oraz Pamięć Systemowa

Dlatego też musimy zmienić ‚acquisition cycle time’ na wartość inną niż 1s, bo HMI nigdy nie zauważyłby zmiany stanu bitu. Użyjemy 500ms (0.5s):

TIA Portal How To memory clock bit
TIA Portal How To memory clock bit

Możesz użyć bitu innej częstotliwości, ale pamiętaj aby zmienić odpowiednio ‚acquisition cycle time’

7. Wywołuj VB Script „cały czas”

Teraz skonfigurujemy zmienną HMI 1Hz aby wywoływała nasz VB Script gdy zmieni się jej stan. Kliknij zakładkę ‚Events’ mając podświetloną zmienną 1Hz i wybierz, wcześniej utworzony, VB script:

TIA Portal How To vb script call
TIA Portal How To vb script call

To wszystko! Gdy zmienna ‚tag_1’ zmieni stan na 1w PLC – wtedy ekran Pop-up ‚TIA_Portal_How_To’ zostanie wyświetlony na HMI lub zniknie gdy stan logiczny zmieni się na 0.

PODPOWIEDŹ1! Jeżeli zastanawiałeś się nad użyciem funkcji ‚ShowPopupScreen’ w event: ‚value change’ w zmiennej HMI – ‚Tag_1’ (i dzięki temu ominąć zabawę z VB Script) to rozważ ten scenariusz:

Załóżmy, że mamy awarię HMI (np. brak zasialania), ale PLC działa poprawnie i zmienna tag_1 (w PLC) zmienia stan na 1, gdy HMI jest wyłączone. HMI zostaje ponownie uruchomione. W tym momencie wywoływanie Pop-up działa dokładnie odwrotnie –  gdy zmienna tag_1 ma stan 0 widzimy ekran a gdy ma stan 1 nie widzimy. Niestety jedyną dostępną opcją dla zmiennych w HMI jest ‚Value Change’. Nie możemy być bardziej dokładni i zdefiniować inne zachowanie dla danego stanu logiczneg (inny dla 1 inny dla 0).

PODPOWIEDŹ2! Jeżeli symuluesz ten projekt na PC to ustaw okno symulatora OBOK okna TIA Portal. W przeciwnym razie okno pop-up może być ukryte mimo iż powinno się pokazać:

TIA Portal How To pop-up simulation
TIA Portal How To pop-up simulation
0 Udostępnień