Ten poradnik jest częścią ścieżki nauki WinCC V7/V8.

Jeśli chcesz najpierw zobaczyć pełny obraz systemu SIMATIC WinCC, zacznij od przewodnika: SIMATIC WinCC V7/V8 - zaawansowany system SCADA od Siemensa.

Krótka odpowiedź: do czego służy SQL Grid w WinCC?

Co to jest SQL Grid w WinCC? To kontrolka pozwalająca wyświetlać dane z bazy SQL bezpośrednio na ekranie SCADA, z możliwością dynamicznej zmiany zapytań i odczytu wybranych wierszy.

Łukasz Krzesiński, założyciel RysujeSCADA.pl, pokazuje jak zastąpić 15 statycznych gridów jednym dynamicznym widokiem.

Dynamiczna podmiana zapytań SQL

1. Konfiguracja podstawowa

  • Kontrolka SQL Grid ma właściwość `SQL Query`
  • Podstawowe zapytanie: `SELECT * FROM Table1`
  • Właściwość `Object name` identyfikuje kontrolkę (np. "netGrid")

2. Zmiana zapytania przez VBS Action

  • W zdarzeniu `Press Left` dodajemy VBS Action
  • Łączymy się z obiektem: `Object = ScreenItems("netGrid")`
  • Zmieniamy zapytanie: `Object.SQLQuery = "SELECT * FROM Table1 WHERE ID < 10"`
  • Ważne: Wywołujemy `Object.Refresh` aby odświeżyć widok

3. Praktyczny przykład filtrowania

  • Przed kliknięciem: 18 rekordów (ID od 1 do 18)
  • Po `WHERE ID < 10`: tylko 9 rekordów (ID 1-9)
  • Po `WHERE ID > 10`: tylko 8 rekordów (ID 11-18)

Co dalej w nauce WinCC V7/V8?

Ten artykuł rozwija jeden konkretny fragment pracy z WinCC. Jeśli układasz sobie całą ścieżkę nauki, wróć do głównego hubu WinCC V7/V8, a potem przejdź do praktycznych modułów:

Jeśli interesuje Cię sam fundament WinCC, zacznij od kursu WinCC V7/V8 od podstaw. SQL Grid, raporty, integracje z bazami i praca z danymi to już temat kursu zaawansowanego WinCC V7/V8.


Obejrzyj cały odcinek na YouTube: Programowanie SCADA: Prosty i skuteczny sposób pra →


Odczyt wybranych danych z SQL Grid

1. Pobieranie całego wiersza

  • Właściwość: `GetSelectedRow`
  • Zwraca wszystkie kolumny zaznaczonego wiersza
  • Można wyświetlić w MessageBox lub wysłać do sterownika

2. Pobieranie pojedynczej komórki

  • Właściwość: `GetSelectedCell`
  • Parametr: `GetSelectedCellByIndex(0)` - pobiera tylko pierwszą kolumnę (np. ID)
  • Przydatne przy systemach FIFO (First In First Out)

3. Zastosowania praktyczne

  • Lista produkcyjna dla operatora
  • Zestawy parametrów dla maszyn/silników
  • Automatyczne wysyłanie danych do sterownika
  • Zarządzanie kolejnością produkcji według ID

Dlaczego dynamiczny SQL Grid?

  • Jeden widok zamiast wielu: Zamiast 15 osobnych gridów - jeden z podmienianym zapytaniem
  • Interaktywność: Operator klika wiersz → dane trafiają do sterownika
  • Optymalizacja: Pobieranie tylko potrzebnych kolumn (np. sam ID produkcyjny)
  • Elastyczność: Filtrowanie według różnych kryteriów bez zmiany ekranu

FAQ

Co to jest SQL Grid w WinCC?

Kontrolka graficzna pozwalająca wyświetlać dane z bazy SQL bezpośrednio na ekranie SCADA, z możliwością dynamicznej zmiany zapytań SQL i odczytu wybranych wierszy przez operatora.

Jak odświeżyć SQL Grid po zmianie zapytania?

Po zmianie właściwości `SQLQuery` należy wywołać metodę `Refresh` na obiekcie SQL Grid. Bez tego widok nie zostanie zaktualizowany.

Do czego można użyć GetSelectedCellByIndex?

Do pobierania tylko jednej kolumny (np. ID produkcyjnego) zamiast całego wiersza. Przydatne w systemach FIFO, gdzie potrzebujemy tylko unikalnego numeru produkcji, a nie wszystkich 50 parametrów. ```