{"id":24952,"date":"2025-09-18T12:16:25","date_gmt":"2025-09-18T10:16:25","guid":{"rendered":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?p=24952"},"modified":"2025-09-19T10:49:55","modified_gmt":"2025-09-19T08:49:55","slug":"jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12","status":"publish","type":"post","link":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/","title":{"rendered":"Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12"},"content":{"rendered":"\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W tym odcinku rozbudujemy aplikacj\u0119 o trzy kolejne ekrany operatorskie, kt\u00f3re pos\u0142u\u017c\u0105 do reprezentowania stan\u00f3w zbiornik\u00f3w przy pomocy animowanych obiekt\u00f3w graficznych.<\/p>\n\n\n\n<div class=\"dowiesz-sie\" style=\"margin-top: 40px; margin-bottom: 40px;\">\n<h3><strong>Kurs programowania sterownik\u00f3w Horner APG  w \u015brodowisku Cscape 10<\/strong><\/h3>\n<h4>Wprowadzenie i podstawy<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-skonfigurowac-podlaczyc-oraz-uruchomic-sterownik-plc-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-1\/\">1. Jak skonfigurowa\u0107, pod\u0142\u0105czy\u0107 oraz uruchomi\u0107 sterownik PLC?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-tworzyc-i-edytowac-projekty-w-oprogramowaniu-cscape-10-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-2\/\">2. Jak tworzy\u0107 i edytowa\u0107 projekty w oprogramowaniu Cscape 10?<\/a><br\/>\n<br\/><h4>Programowanie w j\u0119zyku drabinkowym<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-tworzyc-oraz-konfigurowac-baze-zmiennych-w-srodowisku-cscape-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-3\/\">3. Jak tworzy\u0107 oraz konfigurowa\u0107 baz\u0119 zmiennych w \u015brodowisku Cscape?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-korzystac-ze-stykow-cewek-i-blokow-operacji-arytmetycznych-w-programie-sterujacym-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-4\/\">4. Jak korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-odmierzac-czas-w-programie-sterujacym-i-jak-konfigurowac-timery-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-5\/\">5. Jak odmierza\u0107 czas w programie steruj\u0105cym i jak konfigurowa\u0107 timery?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-porownywac-wartosci-i-wykorzystac-wyniki-operacji-logicznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-6\/\">6. Jak por\u00f3wnywa\u0107 warto\u015bci i wykorzysta\u0107 wyniki operacji logicznych?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-zliczac-impulsy-i-konfigurowac-liczniki-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-7\/\">7. Jak zlicza\u0107 impulsy i konfigurowa\u0107 liczniki?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-8\/\">8. Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 zmienne w programie?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-sterowac-wykonywaniem-programu-logicznego-instrukcja-skoku-warunkowego-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-9\/\">9. Jak sterowa\u0107 wykonywaniem programu logicznego? Instrukcja skoku warunkowego?<\/a><br\/>\n<br\/><h4>Programowanie zintegrowanego panelu HMI<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-budowac-ekrany-operatorskie-z-obiektami-do-wizualizacji-i-zadawania-wartosci-zmiennych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-10\/\">10. Jak budowa\u0107 ekrany operatorskie z obiektami do wizualizacji i zadawania warto\u015bci zmiennych?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-umozliwic-nawigacje-miedzy-ekranami-operatorskimi-oraz-jak-korzystac-z-gotowych-obiektow-graficznych-w-srodowisku-cscape-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10\/\">11. Jak umo\u017cliwi\u0107 nawigacj\u0119 mi\u0119dzy ekranami operatorskimi oraz jak korzysta\u0107 z gotowych obiekt\u00f3w graficznych w \u015brodowisku Cscape?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/\">12. Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-korzystac-z-obiektu-menu-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-13\/\">13. Jak korzysta\u0107 z obiektu menu?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/konfiguracja-i-obsluga-alarmow-w-sterownikach-plc-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-14\/\">14. Konfiguracja i obs\u0142uga alarm\u00f3w w sterownikach PLC.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/trend-graph-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-15\/\">15. Trend Graph.<\/a><br\/>\n<\/div>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Poziom zbiornika prezentowany b\u0119dzie za pomoc\u0105 wykresu s\u0142upkowego i miernika, natomiast czasy grzania i mieszania (z mo\u017cliwo\u015bci\u0105 ich zmiany) za pomoc\u0105 obiektu suwaka.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 2: Dodanie nowego ekranu.<\/h2>\n\n\n\n<p>Otw\u00f3rz edytor graficzny i znajduj\u0105c si\u0119 na ekranie 2, stw\u00f3rz nowy ekran korzystaj\u0105c z zak\u0142adki <strong>Project Navigator -&gt; User Interface<\/strong>. Wska\u017c okno <strong>Main Screen<\/strong> i za pomoc\u0105 prawego klawisza myszy wybierz opcj\u0119 <strong>New<\/strong> <strong>Screen<\/strong>.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"243\" height=\"130\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image01-8.png\" alt=\"\" class=\"wp-image-24956\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Zgodnie z przyj\u0119t\u0105 zasad\u0105 w g\u00f3rnej cz\u0119\u015bci ekranu umie\u015b\u0107 tekst statyczny z nazw\u0105 ekranu \u2013 mo\u017cesz skopiowa\u0107 go z poprzednich ekran\u00f3w i zmieni\u0107 jego tre\u015b\u0107 na \u201e<strong><em>Zbiornik 1<\/em><\/strong><em>\u201d.<\/em><\/p>\n\n\n\n<p>W celu wizualizacji zbiornika, na ekranie 2 \u2013 przytrzymuj\u0105c klawisz <strong>CTRL<\/strong> \u2013 zaznacz grafik\u0119 zbiornika i po\u0142\u0105czonych z nim g\u00f3rnych rur oraz zaworu, a nast\u0119pnie skopiuj je i wklej na ekran numer 3. Kolejno, powi\u0119ksz grafik\u0119 zbiornika, skopiuj rury i zaw\u00f3r znajduj\u0105ce si\u0119 po jego lewej stronie i wklej je po prawej stronie u do\u0142u obiektu, tak jak wskazuje poni\u017csza grafika:<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"760\" height=\"518\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image02-9.png\" alt=\"\" class=\"wp-image-24957\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 2: Jak doda\u0107 i skonfigurowa\u0107 obiekt Bar Graph dost\u0119pny w oprogramowaniu Cscape?<\/h2>\n\n\n\n<p>Wn\u0119trze zbiornika wype\u0142nij wykresem s\u0142upkowym, kt\u00f3ry b\u0119dzie monitorowa\u0142 poziom wody w zbiorniku. W tym celu w oknie <strong>Project Toolbox<\/strong> przejd\u017a do zak\u0142adki <strong>Live Graphic Data<\/strong> i wybierz <strong>Bar Graph<\/strong>. Rozszerz dodany obiekt, tak by by\u0142 prezentowany w pozycji pionowej i wype\u0142nia\u0142 wn\u0119trze zbiornika.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"192\" height=\"449\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image03-9.png\" alt=\"\" class=\"wp-image-24958\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"838\" height=\"526\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image04-10.png\" alt=\"\" class=\"wp-image-24959\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image04-10.png 838w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image04-10-768x482.png 768w\" sizes=\"auto, (max-width: 838px) 100vw, 838px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Przechodz\u0105c do konfiguracji wykresu w pierwszej kolejno\u015bci w sekcji <strong>Data Source<\/strong> w polu <strong>Variable<\/strong> przypisz do niego zmienn\u0105 <strong>Zbiornik_1_INT<\/strong>. Obiekt pracuje tylko z 16-bitowymi rejestrami, wi\u0119c zmienna nie mo\u017ce by\u0107 typu <strong>REAL<\/strong> (tak, jak <strong>Zbiornik_1<\/strong>).<\/p>\n\n\n\n<p>Nast\u0119pnie w sekcji <strong>Data Range<\/strong> skonfiguruj spos\u00f3b wy\u015bwietlania obiektu. Ustaw poziom minimalny na <strong>0<\/strong>, poziom maksymalny na <strong>50<\/strong>. W sekcji <strong>Scale -&gt; Ticks<\/strong> ustaw liczb\u0119 podzia\u0142ek na <strong>5<\/strong>. W zak\u0142adce <strong>Display Properties -&gt; Fill Color<\/strong> zmie\u0144 kolor wype\u0142nienia na <strong>ciemnoniebieski<\/strong>.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"499\" height=\"548\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image05-10.png\" alt=\"\" class=\"wp-image-24960\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 3: Jak doda\u0107 i skonfigurowa\u0107 obiekt Meter dost\u0119pny w \u015brodowisku Cscape?<\/h2>\n\n\n\n<p>Wykorzystamy obiekt <strong>Meter<\/strong>, kt\u00f3ry r\u00f3wnie\u017c pos\u0142u\u017cy do wizualizacji stanu zbiornika. W oknie <strong>Project Toolbox<\/strong> w zak\u0142adce <strong>Live Graphic Data<\/strong> wybierz <strong>Meter<\/strong>, a nast\u0119pnie umie\u015b\u0107 obiekt nad zbiornikiem.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"185\" height=\"372\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image06-9.png\" alt=\"\" class=\"wp-image-24961\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"525\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image07-9.png\" alt=\"\" class=\"wp-image-24962\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image07-9.png 839w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image07-9-768x481.png 768w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Przechodz\u0105c do jego konfiguracji przypisz zmienn\u0105 <strong>Zbiornik_1_INT<\/strong>, nast\u0119pnie skonfiguruj skal\u0119. Liczba podzia\u0142ek niech b\u0119dzie r\u00f3wna <strong>6<\/strong>, warto\u015b\u0107 minimalna niech wynosi <strong>0<\/strong>, a maksymalna <strong>50<\/strong>. W opcjach wy\u015bwietlania skonfiguruj <strong>Legend<\/strong> wpisuj\u0105c w otwartym oknie tre\u015b\u0107 \u201e<strong><em>Litrow<\/em><\/strong>\u201d.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"496\" height=\"724\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image08-9.png\" alt=\"\" class=\"wp-image-24963\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"444\" height=\"302\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image09-9.png\" alt=\"\" class=\"wp-image-24964\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 4: Dodanie przycisk\u00f3w steruj\u0105cych.<\/h2>\n\n\n\n<p>Pod zaworami umie\u015b\u0107 przyciski s\u0142u\u017c\u0105ce do sterowania zaworem nape\u0142niaj\u0105cym i opr\u00f3\u017cniaj\u0105cym. W tym celu skopiuj przygotowane prze\u0142\u0105czniki na ekranie numer 2 i wklej je na ekranie numer 3.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"843\" height=\"528\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image10-9.png\" alt=\"\" class=\"wp-image-24965\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image10-9.png 843w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image10-9-840x526.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image10-9-768x481.png 768w\" sizes=\"auto, (max-width: 843px) 100vw, 843px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Ostatnim elementem tego ekranu b\u0119dzie obiekt <strong>Screen Jump<\/strong>, umo\u017cliwiaj\u0105cy nawigacj\u0119 do ekranu, z kt\u00f3rego zosta\u0142 wywo\u0142any.<\/p>\n\n\n\n<p>Wybierz odpowiedni\u0105 ikon\u0119 w zak\u0142adce <strong>Touch Objects<\/strong> i umie\u015b\u0107 element w prawym dolnym rogu. Zaznacz opcj\u0119 <strong>Simulate ESC<\/strong>. Przechodz\u0105c do konfiguracji wy\u015bwietlania, wybierz opcj\u0119 <strong>Legend<\/strong>, wprowad\u017a tekst \u201e<strong><em>Powrot<\/em><\/strong>\u201d, wy\u015brodkuj tekst i wybierz czcionk\u0119 <strong>Canvas 10<\/strong>.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"471\" height=\"499\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image11-8.png\" alt=\"\" class=\"wp-image-24966\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"449\" height=\"306\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image12-8.png\" alt=\"\" class=\"wp-image-24967\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 5: Jak skopiowa\u0107 przygotowany ekran operatorski?<\/h2>\n\n\n\n<p>Tak przygotowany ekran mo\u017cna skopiowa\u0107 dla zbiornika 2 i zbiornika 3. W tym celu zaznacz wszystkie elementy znajduj\u0105ce si\u0119 na ekranie przygotowanym dla zbiornika 1, korzystaj\u0105c ze skr\u00f3tu klawiszowego <strong>CTRL+A<\/strong>, a nast\u0119pnie skopiuj je do schowka. Utw\u00f3rz nowy ekran i wklej skopiowane elementy.<\/p>\n\n\n\n<p>W pierwszej kolejno\u015bci zmie\u0144 tre\u015b\u0107 pola tekstowego, informuj\u0105cego o nazwie ekranu, na \u201e<strong><em>Zbiornik 2<\/em><\/strong>\u201d. Kolejno do element\u00f3w <strong>Meter<\/strong> oraz <strong>Bar Graph<\/strong> przypisz zmienn\u0105 <strong>Zbiornik_2_INT<\/strong>. Dla prze\u0142\u0105cznika g\u00f3rnego ustaw zmienn\u0105 <strong>Zawor_napelniajacy_ZB2<\/strong>, a dla dolnego <strong>Zawor_oprozniajacy_ZB2<\/strong>.<\/p>\n\n\n\n<p>Ekran dla zbiornika numer 2 jest gotowy.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"478\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image13-8.png\" alt=\"\" class=\"wp-image-24968\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image13-8.png 780w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image13-8-768x471.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Utw\u00f3rz zatem kolejny pusty ekran i ponownie wklej skopiowan\u0105 zawarto\u015b\u0107. Zmie\u0144 tre\u015b\u0107 pola tekstowego na \u201e<strong><em>Zbiornik 3<\/em><\/strong>\u201d. Do elementu <strong>Meter<\/strong> przypisz zmienn\u0105 <strong>Zbiornik_3_INT<\/strong>. Usu\u0144 natomiast obiekt <strong>Bar Graph<\/strong>.<\/p>\n\n\n\n<p>Skopiuj zaw\u00f3r oraz rury s\u0142u\u017c\u0105ce do nape\u0142niania zbiornika znajduj\u0105ce si\u0119 po jego lewej stronie i wklej je po prawej stronie na wysoko\u015bci znajduj\u0105cego si\u0119 ju\u017c elementu nape\u0142niaj\u0105cego. Skopiuj r\u00f3wnie\u017c prze\u0142\u0105cznik s\u0142u\u017c\u0105cy do jego sterowania, tak jak przedstawia poni\u017csza grafika:<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"480\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image14-8.png\" alt=\"\" class=\"wp-image-24969\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image14-8.png 780w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image14-8-768x473.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Do g\u00f3rnych prze\u0142\u0105cznik\u00f3w s\u0142u\u017c\u0105cych do nape\u0142niania przypisz zmienne <strong>Zawor_oprozniajacy_ZB1<\/strong> oraz <strong>Zawor_oprozniajacy_ZB2<\/strong>. Natomiast do dolnego prze\u0142\u0105cznika s\u0142u\u017c\u0105cego do opr\u00f3\u017cniania zbiornika przypisz zmienn\u0105 <strong>Zawor_oprozniajacy_ZB3<\/strong>.<\/p>\n\n\n\n<p>Teraz w miejsce usuni\u0119tego <strong>Bar Graph<\/strong> wstaw nowe grafiki przedstawiaj\u0105ce grza\u0142k\u0119 i mieszad\u0142o. W tym celu przejd\u017a do biblioteki, wybierz zak\u0142adk\u0119 <strong>Mixers<\/strong>, a z niej odpowiedni\u0105 grafik\u0119 mieszad\u0142a. Opcjonalnie mo\u017cesz ustawi\u0107 jej atrybut <strong>Fill Color Mode<\/strong> na <strong>Solid<\/strong>.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"584\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image15-7.png\" alt=\"\" class=\"wp-image-24970\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"384\" height=\"242\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image16-7.png\" alt=\"\" class=\"wp-image-24971\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nast\u0119pnie przejd\u017a do zak\u0142adki <strong>Process Heating<\/strong> i wybierz nast\u0119puj\u0105c\u0105 grafik\u0119 grza\u0142ki:<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"774\" height=\"578\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image17-7.png\" alt=\"\" class=\"wp-image-24972\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image17-7.png 774w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image17-7-768x574.png 768w\" sizes=\"auto, (max-width: 774px) 100vw, 774px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W dodanych elementach mo\u017cesz skonfigurowa\u0107 transparentne t\u0142o.<\/p>\n\n\n\n<p>U\u0142o\u017cenie element\u00f3w na zbiorniku mo\u017ce wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"528\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image18-7.png\" alt=\"\" class=\"wp-image-24973\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 6: Jak kontrolowa\u0107 wy\u015bwietlanie gotowych element\u00f3w graficznych za pomoc\u0105 programu steruj\u0105cego?<\/h2>\n\n\n\n<p>Aby grafiki widoczne by\u0142y tylko w momencie mieszania lub grzania, trzeba skonfigurowa\u0107 dodatkowe atrybuty zwi\u0105zane z wy\u015bwietlaniem obiekt\u00f3w i powi\u0105za\u0107 je z odpowiednimi bitami rejestr\u00f3w, kt\u00f3rych stan b\u0119dzie decydowa\u0142 o wy\u015bwietlaniu grafik.<\/p>\n\n\n\n<p>Zamykaj\u0105c edytor ekran\u00f3w przejd\u017a do programu steruj\u0105cego, kt\u00f3ry uzupe\u0142nisz o logik\u0119 modyfikuj\u0105c\u0105 stany odpowiednich rejestr\u00f3w kontrolnych.<\/p>\n\n\n\n<p>W tym celu w oknie <strong>Program Variables<\/strong> dodaj dwie nowe zmienne programowe.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"747\" height=\"368\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image19-6.png\" alt=\"\" class=\"wp-image-24974\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nast\u0119pnie w podprogramie <strong>Mieszanie_Grzanie<\/strong> dodasz kolejne dwa szczeble.<\/p>\n\n\n\n<p>Powy\u017cej szczebla ze stykiem \u201e<strong>Serwisowanie<\/strong>\u201d wstaw kolejno dwa styki normalnie otwarte. Do pierwszego z nich przypisz zmienn\u0105 <strong>mieszanie<\/strong>, a do drugiej zmienn\u0105 czasow\u0105 o nazwie <strong>T_SEC<\/strong>. Wstaw tak\u017ce cewk\u0119 i po\u0142\u0105cz j\u0105 ze zmienn\u0105 <strong>R40.1<\/strong> o adresie <strong>%R00040<\/strong>.<\/p>\n\n\n\n<p>Nast\u0119pnie skopiuj stworzony szczebel i wklej go poni\u017cej. Do pierwszego styku przypisz zmienn\u0105 <strong>grzanie<\/strong>, a do cewki zmienn\u0105 <strong>R41.1<\/strong> o adresie <strong>%R00041<\/strong>.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"489\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image20-6.png\" alt=\"\" class=\"wp-image-24975\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Dzi\u0119ki tym szczeblom stan bitu 1 rejestru <strong>R40<\/strong> i <strong>R41<\/strong> b\u0119dzie zmienia\u0142 si\u0119 z cz\u0119stotliwo\u015bci\u0105 jednej sekundy, gdy zmienne <strong>mieszanie<\/strong> i <strong>grzanie<\/strong> b\u0119d\u0105 mia\u0142y stan wysoki. Mo\u017cemy wykorzysta\u0107 te bity do odpowiedniego wy\u015bwietlania grafiki mieszad\u0142a i grza\u0142ki.<\/p>\n\n\n\n<p>Przejd\u017a w tym celu do edytora ekranu o nazwie <strong>Zbiornik 3<\/strong> i wy\u015bwietl okno konfiguracji grafiki mieszad\u0142a, klikaj\u0105c na ni\u0105 dwukrotnie. Nast\u0119pnie wybierz opcj\u0119 <strong>Attributes<\/strong> widoczn\u0105 w dolnej cz\u0119\u015bci okna. Tam zaznacz opcj\u0119 <strong>Bit 1<\/strong> i w polu o nazwie <strong>Override Variable<\/strong> wpisz rejestr o adresie <strong>R40<\/strong>. Taka konfiguracja sprawi, \u017ce wy\u015bwietlanie grafiki mieszad\u0142a b\u0119dzie kontrolowane przez bit 1 rejestru <strong>R40<\/strong> i b\u0119dzie ona widoczna w momencie, gdy zmienna <strong>R40.1 <\/strong>b\u0119dzie mia\u0142a stan wysoki.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"708\" height=\"423\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image21-5.png\" alt=\"\" class=\"wp-image-24976\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"369\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image22-4.png\" alt=\"\" class=\"wp-image-24977\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Tak\u0105 sam\u0105 czynno\u015b\u0107 powt\u00f3rz dla grafiki grza\u0142ki, z tym \u017ce w polu <strong>Override Variable<\/strong> wprowad\u017a rejestr o adresie <strong>R41<\/strong>.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 7: Dodanie prze\u0142\u0105cznik\u00f3w steruj\u0105cych procesem grzania i mieszania<\/h2>\n\n\n\n<p>Skopiuj dowolny prze\u0142\u0105cznik znajduj\u0105cy si\u0119 na ekranie <strong>Zbiornik 3<\/strong> i wklej go dwukrotnie. Przypisz do skopiowanych obiekt\u00f3w zmienne <strong>mieszanie<\/strong> i <strong>grzanie<\/strong>. Dzi\u0119ki temu mo\u017cliwe b\u0119dzie za\u0142\u0105czanie i wy\u0142\u0105czanie tych proces\u00f3w r\u00f3wnie\u017c z poziomu tego ekranu operatorskiego. Przejd\u017a te\u017c do konfiguracji pola <strong>Legend<\/strong> tych prze\u0142\u0105cznik\u00f3w i wprowad\u017a tre\u015bci \u201e<strong><em>Mieszanie<\/em><\/strong>\u201d oraz \u201e<strong><em>Grzanie<\/em><\/strong>\u201d tak by odpowiednio podpisa\u0107 prze\u0142\u0105czniki.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"779\" height=\"480\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image23-4.png\" alt=\"\" class=\"wp-image-24978\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image23-4.png 779w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image23-4-768x473.png 768w\" sizes=\"auto, (max-width: 779px) 100vw, 779px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 8: Jak doda\u0107 i skonfigurowa\u0107 obiekt Slider dost\u0119pny w oprogramowaniu Cscape?<\/h2>\n\n\n\n<p>Ostatnim elementem, kt\u00f3ry dodasz do komponowanego ekranu, b\u0119d\u0105 obiekty suwaka. Pos\u0142u\u017c\u0105 one do zadawania czasu mieszania i grzania. W tym celu z wybierz ikon\u0119 <strong>Slider<\/strong> i przejd\u017a do konfiguracji obiektu.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"178\" height=\"325\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image24-4.png\" alt=\"\" class=\"wp-image-24979\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Z listy dost\u0119pnych zmiennych wybierz <strong>Czas_mieszanie<\/strong>, warto\u015b\u0107 minimaln\u0105 ustaw na <strong>0<\/strong>, a maksymaln\u0105 na <strong>100<\/strong>, liczb\u0119 podzia\u0142ek skali ustaw na <strong>5<\/strong>. Zaznacz opcj\u0119 <strong>Show Slider<\/strong> oraz <strong>Show Inc \/ Dec Buttons<\/strong>. W oknie <strong>Legend<\/strong> dodaj tekst \u201e<strong><em>Czas mieszania<\/em><\/strong>\u201d.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"502\" height=\"633\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image25-4.png\" alt=\"\" class=\"wp-image-24980\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W analogiczny spos\u00f3b dodaj i skonfiguruj suwak s\u0142u\u017c\u0105cy do zadawania czasu grzania, przypisuj\u0105c zmienn\u0105 <strong>Czas_grzanie<\/strong>, a legenda niech zawiera tekst \u201e<strong><em>Czas grzania<\/em><\/strong>\u201d.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"779\" height=\"479\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image26-4.png\" alt=\"\" class=\"wp-image-24981\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image26-4.png 779w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image26-4-768x472.png 768w\" sizes=\"auto, (max-width: 779px) 100vw, 779px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Tym samym ekran dla zbiornika 3 jest odpowiednio skompletowany.<\/p>\n\n\n\n<p>Wizualizacja procesu mieszania i grzania na panelu HMI sterownika Horner Canvas 7D:<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1353\" height=\"946\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image27.jpg\" alt=\"\" class=\"wp-image-24982\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image27.jpg 1353w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image27-840x587.jpg 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image27-768x537.jpg 768w\" sizes=\"auto, (max-width: 1353px) 100vw, 1353px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"973\" height=\"676\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image28.jpg\" alt=\"\" class=\"wp-image-24983\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image28.jpg 973w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image28-840x584.jpg 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image28-768x534.jpg 768w\" sizes=\"auto, (max-width: 973px) 100vw, 973px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 9: Wywo\u0142anie ekran\u00f3w operatorskich przedstawiaj\u0105cych zbiorniki<\/h2>\n\n\n\n<p>Teraz trzeba uzupe\u0142ni\u0107 aplikacj\u0119 wizualizacyjn\u0105 o elementy s\u0142u\u017c\u0105ce do wywo\u0142ywania ekran\u00f3w przedstawiaj\u0105cych zbiorniki.<\/p>\n\n\n\n<p>W tym celu na ekranie operatorskim o nazwie <strong>Ekran 2<\/strong> dodaj obiekt <strong>Screen Jump<\/strong> i przejd\u017a do jego konfiguracji.<\/p>\n\n\n\n<p>Zbiornik 1 by\u0142 przedstawiony na ekranie numer 3, Zbiornik 2 na ekranie numer 4, a Zbiornik 3 na ekranie numer 5.<\/p>\n\n\n\n<p>Zgodnie z powy\u017csz\u0105 numeracj\u0105, numer ekranu docelowego (<strong>Address\/Screen Number<\/strong>) dodanego obiektu to <strong>3<\/strong>. Zaznacz opcj\u0119 <strong>Allow ESC to Return<\/strong>. Zmodyfikuj legend\u0119 wprowadzaj\u0105c tre\u015b\u0107 \u201e<strong><em>Zbiornik1<\/em><\/strong>\u201d.<\/p>\n\n\n\n<p>Analogicznie stw\u00f3rz obiekty <strong>Screen Jump<\/strong> dla ekranu <strong>Zbiornik 2<\/strong> i <strong>Zbiornik 3<\/strong>, przyporz\u0105dkowuj\u0105c im ekrany docelowe o numerach odpowiednio <strong>4<\/strong> i <strong>5<\/strong>.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"801\" height=\"478\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image29-3.png\" alt=\"\" class=\"wp-image-24984\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image29-3.png 801w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image29-3-768x458.png 768w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 10: Wgranie programu do sterownika<\/h2>\n\n\n\n<p>Tak przygotowane ekrany operatorskie mo\u017cesz wgra\u0107 do sterownika i przetestowa\u0107 ich dzia\u0142anie.<\/p>\n\n\n\n<p>W pierwszej kolejno\u015bci skontroluj, czy ekrany oraz dane wy\u015bwietlaj\u0105 si\u0119 poprawnie. Przy okazji warto sprawdzi\u0107 dzia\u0142anie nawigacji mi\u0119dzy ekranami \u2013 kolejno przetestuj dzia\u0142anie przycisk\u00f3w steruj\u0105cych zaworami, element\u00f3w s\u0142u\u017c\u0105cych do wy\u015bwietlania oraz zadawania warto\u015bci analogicznych dla ka\u017cdego zbiornika. Zaobserwuj dzia\u0142anie animowanych grafik.<\/p>\n\n\n\n<p>W tym odcinku pokazali\u015bmy sporo nowych element\u00f3w s\u0142u\u017c\u0105cych do wizualizacji i zadawania warto\u015bci analogowych. Wiesz ju\u017c, jak rozszerza\u0107 aplikacje wizualizacyjne o kolejne mo\u017cliwo\u015bci. Wizualizacja instalacji jest gotowa, ale to nie wszystko, co powinna zawiera\u0107 kompletna aplikacja. W nast\u0119pnym odcinku dowiesz si\u0119, jak konfigurowa\u0107 i wykorzystywa\u0107 obiekt Menu w sterownikach Horner.<\/p>\n\n\n\n<p>Nast\u0119pny odcinek: <a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-korzystac-z-obiektu-menu-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-13\/\">Jak korzysta\u0107 z obiektu menu?<\/a><\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"dowiesz-sie\">\n<p>Autor artyku\u0142u:<\/p><\/br>\n<h2 class=\"wp-block-heading\"><strong>Jacek Dynak<\/strong><\/h2>\n<p>Praktykant ASTOR<\/p>\n<p><p>Student IV roku kierunku \u201eautomatyka i robotyka\u201d na Politechnice Krakowskiej<\/p><\/p>\n<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n            <div id=\"mailerlite-form_9\" data-temp-id=\"69ddf7868270b\">\n                <div class=\"mailerlite-form\">\n                    <form action=\"\" method=\"post\" novalidate>\n                                                    <div class=\"mailerlite-form-title\"><h3>Newsletter Poradnika Automatyka<\/h3><\/div>\n                                                <div class=\"mailerlite-form-description\"><p>Czytaj trendy i inspiracje, podstawy automatyki, automatyk\u0119 w praktyce<\/p>\n<\/div>\n                        <div class=\"mailerlite-form-inputs\">\n                                                                                            <div class=\"mailerlite-form-field\">\n                                    <label for=\"mailerlite-9-field-email\">Email<\/label>\n                                    <input id=\"mailerlite-9-field-email\"\n                                           type=\"email\" required=\"required\"                                            name=\"form_fields[email]\"\n                                           placeholder=\"Email\"\/>\n                                <\/div>\n                                                        <div class=\"mailerlite-form-loader\">Please wait...<\/div>\n                            <div class=\"mailerlite-subscribe-button-container\">\n                                <button class=\"mailerlite-subscribe-submit\" type=\"submit\">\n                                    Zapisz si\u0119                                <\/button>\n                            <\/div>\n                            <input type=\"hidden\" name=\"form_id\" value=\"9\"\/>\n                            <input type=\"hidden\" name=\"action\" value=\"mailerlite_subscribe_form\"\/>\n                            <input type=\"hidden\" name=\"ml_nonce\" value=\"e848ce0a81\"\/>\n                        <\/div>\n                        <div class=\"mailerlite-form-response\">\n                                                            <h4><p>Dzi\u0119kujemy za zapis do newslettera!<\/p>\n<\/h4>\n                                                    <\/div>\n                    <\/form>\n                <\/div>\n            <\/div>\n        <script type=\"text\/javascript\" src='https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/plugins\/official-mailerlite-sign-up-forms\/assets\/js\/localization\/validation-messages.js'><\/script>\n         <script type=\"text\/javascript\"> var selectedLanguage = \"pl\"; var validationMessages = messages[\"en\"]; if(selectedLanguage) { validationMessages = messages[selectedLanguage]; } window.addEventListener(\"load\", function () { var form_container = document.querySelector(`#mailerlite-form_9[data-temp-id=\"69ddf7868270b\"] form`); let submitButton = form_container.querySelector('.mailerlite-subscribe-submit'); submitButton.disabled = true; fetch('https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-admin\/admin-ajax.php', { method: 'POST', headers:{ 'Content-Type': 'application\/x-www-form-urlencoded', }, body: new URLSearchParams({ \"action\" : \"ml_create_nonce\", \"ml_nonce\" : form_container.querySelector(\"input[name='ml_nonce']\").value }) }) .then((response) => response.json()) .then((json) => { if(json.success) { form_container.querySelector(\"input[name='ml_nonce']\").value = json.data.ml_nonce; submitButton.disabled = false; } }) .catch((error) => { console.error('Error:', error); }); form_container.addEventListener('submit', (e) => { e.preventDefault(); let data = new URLSearchParams(new FormData(form_container)).toString(); let validationError = false; document.querySelectorAll('.mailerlite-form-error').forEach(el => el.remove()); Array.from(form_container.elements).forEach((input) => { if(input.type !== 'hidden') { if(input.required) { if(input.value == '') { validationError = true; let error = document.createElement(\"span\"); error.className = 'mailerlite-form-error'; error.textContent = validationMessages.required; input.after(error); return false; } } if((input.type == \"email\") && (!validateEmail(input.value))) { validationError = true; let error = document.createElement(\"span\"); error.className = 'mailerlite-form-error'; error.textContent = validationMessages.email; input.after(error); return false; } } }); if(validationError) { return false; } fade.out(form_container.querySelector('.mailerlite-subscribe-button-container'), () => { fade.in(form_container.querySelector('.mailerlite-form-loader')); }); fetch('https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-admin\/admin-ajax.php', { method: 'POST', headers:{ 'Content-Type': 'application\/x-www-form-urlencoded', }, body: data }) .then((response) => { fade.out(form_container.querySelector('.mailerlite-form-inputs'), () => { fade.in(form_container.querySelector('.mailerlite-form-response')); }); }) .catch((error) => { console.error('Error:', error); }); }); }, false); var fade = { out: function(el, fn = false) { var fadeOutEffect = setInterval(function () { if (!el.style.opacity) { el.style.opacity = 1; } if (el.style.opacity > 0) { el.style.opacity -= 0.1; } else { el.style.display = 'none'; clearInterval(fadeOutEffect); } }, 50); if( typeof (fn) == 'function') { fn(); } }, in: function(el) { var fadeInEffect = setInterval(function () { if (!el.style.opacity) { el.style.opacity = 0; } if (el.style.opacity < 1) { el.style.opacity = Number(el.style.opacity) + 0.1; } else { el.style.display = 'block'; clearInterval(fadeInEffect); } }, 50); } }; function validateEmail(email){ if(email.match( \/^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$\/ )) { return true; } return false; } <\/script> \n","protected":false},"excerpt":{"rendered":"<p>W tym odcinku rozbudujemy aplikacj\u0119 o trzy kolejne ekrany operatorskie, kt\u00f3re pos\u0142u\u017c\u0105 do reprezentowania stan\u00f3w zbiornik\u00f3w przy pomocy animowanych obiekt\u00f3w graficznych.<\/p>\n","protected":false},"author":81,"featured_media":24803,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[234],"tags":[110,21,292],"class_list":["post-24952","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automatyka-w-praktyce","tag-cscape","tag-horner","tag-horner-canvas"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12 | Poradnik Automatyka<\/title>\r\n<meta name=\"description\" content=\"W tym odcinku rozbudujemy aplikacj\u0119 o trzy kolejne ekrany operatorskie, kt\u00f3re pos\u0142u\u017c\u0105 do reprezentowania stan\u00f3w zbiornik\u00f3w.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/\" \/>\r\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12 | Poradnik Automatyka\" \/>\r\n<meta property=\"og:description\" content=\"W tym odcinku rozbudujemy aplikacj\u0119 o trzy kolejne ekrany operatorskie, kt\u00f3re pos\u0142u\u017c\u0105 do reprezentowania stan\u00f3w zbiornik\u00f3w.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Poradnik Automatyka\" \/>\r\n<meta property=\"article:published_time\" content=\"2025-09-18T10:16:25+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2025-09-19T08:49:55+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/horner-canvas-cscape-kurs-head.jpg\" \/>\r\n\t<meta property=\"og:image:width\" content=\"960\" \/>\r\n\t<meta property=\"og:image:height\" content=\"400\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\r\n<meta name=\"author\" content=\"Mateusz Pytel\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mateusz Pytel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"29 minut\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/\"},\"author\":{\"name\":\"Mateusz Pytel\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/person\\\/30d3dfd95308f3bba081f0a44bb6b97b\"},\"headline\":\"Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12\",\"datePublished\":\"2025-09-18T10:16:25+00:00\",\"dateModified\":\"2025-09-19T08:49:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/\"},\"wordCount\":1647,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/horner-canvas-cscape-kurs-head.jpg\",\"keywords\":[\"Cscape\",\"Horner APG\",\"Horner Canvas\"],\"articleSection\":[\"Automatyka w praktyce\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/\",\"name\":\"Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12 | Poradnik Automatyka\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/horner-canvas-cscape-kurs-head.jpg\",\"datePublished\":\"2025-09-18T10:16:25+00:00\",\"dateModified\":\"2025-09-19T08:49:55+00:00\",\"description\":\"W tym odcinku rozbudujemy aplikacj\u0119 o trzy kolejne ekrany operatorskie, kt\u00f3re pos\u0142u\u017c\u0105 do reprezentowania stan\u00f3w zbiornik\u00f3w.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/horner-canvas-cscape-kurs-head.jpg\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/horner-canvas-cscape-kurs-head.jpg\",\"width\":960,\"height\":400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Automatyka w praktyce\",\"item\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/category\\\/automatyka-w-praktyce\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#website\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/\",\"name\":\"Poradnik Automatyka\",\"description\":\"Poradnik Automatyka to przydatne kursy, u\u017cyteczne artyku\u0142y i merytoryczne webinary dla ka\u017cdego automatyka i elektryka.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\",\"name\":\"ASTOR\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/ASTOR_zwykly_sam_logotyp.png\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/ASTOR_zwykly_sam_logotyp.png\",\"width\":3322,\"height\":1078,\"caption\":\"ASTOR\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/person\\\/30d3dfd95308f3bba081f0a44bb6b97b\",\"name\":\"Mateusz Pytel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/mateusz-pytel.jpg\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/mateusz-pytel.jpg\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/mateusz-pytel.jpg\",\"caption\":\"Mateusz Pytel\"},\"description\":\"Mened\u017cer produkt\u00f3w Astraada One i Horner w firmie ASTOR.\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/autor\\\/mateuszpytel\\\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12 | Poradnik Automatyka","description":"W tym odcinku rozbudujemy aplikacj\u0119 o trzy kolejne ekrany operatorskie, kt\u00f3re pos\u0142u\u017c\u0105 do reprezentowania stan\u00f3w zbiornik\u00f3w.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12 | Poradnik Automatyka","og_description":"W tym odcinku rozbudujemy aplikacj\u0119 o trzy kolejne ekrany operatorskie, kt\u00f3re pos\u0142u\u017c\u0105 do reprezentowania stan\u00f3w zbiornik\u00f3w.","og_url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/","og_site_name":"Poradnik Automatyka","article_published_time":"2025-09-18T10:16:25+00:00","article_modified_time":"2025-09-19T08:49:55+00:00","og_image":[{"width":960,"height":400,"url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/horner-canvas-cscape-kurs-head.jpg","type":"image\/jpeg"}],"author":"Mateusz Pytel","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Mateusz Pytel","Szacowany czas czytania":"29 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/#article","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/"},"author":{"name":"Mateusz Pytel","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/30d3dfd95308f3bba081f0a44bb6b97b"},"headline":"Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12","datePublished":"2025-09-18T10:16:25+00:00","dateModified":"2025-09-19T08:49:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/"},"wordCount":1647,"commentCount":0,"publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/horner-canvas-cscape-kurs-head.jpg","keywords":["Cscape","Horner APG","Horner Canvas"],"articleSection":["Automatyka w praktyce"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/","name":"Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12 | Poradnik Automatyka","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/#primaryimage"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/horner-canvas-cscape-kurs-head.jpg","datePublished":"2025-09-18T10:16:25+00:00","dateModified":"2025-09-19T08:49:55+00:00","description":"W tym odcinku rozbudujemy aplikacj\u0119 o trzy kolejne ekrany operatorskie, kt\u00f3re pos\u0142u\u017c\u0105 do reprezentowania stan\u00f3w zbiornik\u00f3w.","breadcrumb":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/#primaryimage","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/horner-canvas-cscape-kurs-head.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/horner-canvas-cscape-kurs-head.jpg","width":960,"height":400},{"@type":"BreadcrumbList","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-12\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Automatyka w praktyce","item":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/category\/automatyka-w-praktyce\/"},{"@type":"ListItem","position":2,"name":"Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w graficznych? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 12"}]},{"@type":"WebSite","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/","name":"Poradnik Automatyka","description":"Poradnik Automatyka to przydatne kursy, u\u017cyteczne artyku\u0142y i merytoryczne webinary dla ka\u017cdego automatyka i elektryka.","publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization","name":"ASTOR","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png","width":3322,"height":1078,"caption":"ASTOR"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/30d3dfd95308f3bba081f0a44bb6b97b","name":"Mateusz Pytel","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/mateusz-pytel.jpg","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/mateusz-pytel.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/mateusz-pytel.jpg","caption":"Mateusz Pytel"},"description":"Mened\u017cer produkt\u00f3w Astraada One i Horner w firmie ASTOR.","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/autor\/mateuszpytel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/24952","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/comments?post=24952"}],"version-history":[{"count":3,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/24952\/revisions"}],"predecessor-version":[{"id":25060,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/24952\/revisions\/25060"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media\/24803"}],"wp:attachment":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media?parent=24952"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/categories?post=24952"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/tags?post=24952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}