{"id":24730,"date":"2025-09-09T10:10:40","date_gmt":"2025-09-09T08:10:40","guid":{"rendered":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?p=24730"},"modified":"2025-09-09T14:24:53","modified_gmt":"2025-09-09T12:24:53","slug":"jak-korzystac-ze-stykow-cewek-i-blokow-operacji-arytmetycznych-w-programie-sterujacym-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-4","status":"publish","type":"post","link":"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\/","title":{"rendered":"Jak korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4"},"content":{"rendered":"\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W tym odcinku zbudujemy pierwsz\u0105 prost\u0105 aplikacj\u0119 sterowania zaworami zbiornik\u00f3w. Nauczysz si\u0119 tworzy\u0107 logik\u0119 programu oraz symulacj\u0119 proces\u00f3w, u\u017cywaj\u0105c styk\u00f3w, cewek oraz blok\u00f3w operacji arytmetycznych.<\/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<h2 class=\"wp-block-heading\">Krok 1: Jakie s\u0105 podstawowe elementy j\u0119zyka drabinkowego?<\/h2>\n\n\n\n<p><strong>Styki <\/strong>s\u0142u\u017c\u0105 do sprawdzania stanu logicznego bit\u00f3w im przypisanych.<\/p>\n\n\n\n<p><strong>Styk normalnie otwarty<\/strong> przesy\u0142a sygna\u0142, je\u017celi zwi\u0105zana z nim zmienna ma warto\u015b\u0107 1 (ON).<\/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=\"86\" height=\"85\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image01-2.png\" alt=\"\" class=\"wp-image-24731\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Styk normalnie zamkni\u0119ty <\/strong>przesy\u0142a sygna\u0142, je\u017celi zwi\u0105zana z nim zmienna ma warto\u015b\u0107 0 (OFF).<\/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=\"84\" height=\"78\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image02-3.png\" alt=\"\" class=\"wp-image-24732\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Przeka\u017aniki (cewki) <\/strong>\u2013s\u0142u\u017c\u0105 do ustawiania stan\u00f3w bit\u00f3w im przypisanych.<\/p>\n\n\n\n<p><strong>Przeka\u017anik chwilowy o stykach otwartych <\/strong>ustawia warto\u015b\u0107 przypisanej mu zmiennej na 1 w momencie doprowadzenia do niego sygna\u0142u.<\/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=\"83\" height=\"79\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image03-3.png\" alt=\"\" class=\"wp-image-24733\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Przeka\u017anik chwilowy o stykach zamkni\u0119tych <\/strong>ustawia warto\u015b\u0107 przypisanej mu zmiennej na 0 w momencie doprowadzenia do niego sygna\u0142u.<\/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=\"93\" height=\"89\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image04-3.png\" alt=\"\" class=\"wp-image-24734\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Przeka\u017anik uaktywniany zboczem narastaj\u0105cym sygna\u0142u <\/strong>\u2013zmiana stanu sygna\u0142u z 0 na 1 powoduje ustawienie zmiennej powi\u0105zanej z przeka\u017anikiem na 1 na okres jednego cyklu wykonywania programu steruj\u0105cego. (z<strong>bocze narastaj\u0105ce \u2013 <\/strong>zmiana stanu sygna\u0142u z 0 na 1).<\/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=\"95\" height=\"84\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image05-3.png\" alt=\"\" class=\"wp-image-24735\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Przeka\u017anik uaktywniany zboczem opadaj\u0105cym sygna\u0142u <\/strong>\u2013 zmiana stanu sygna\u0142u z 1 na 0 powoduje ustawienie zmiennej powi\u0105zanej z przeka\u017anikiem na 1 na okres jednego cyklu wykonywania programu steruj\u0105cego. (<strong>zbocze opadaj\u0105ce\u2013 <\/strong>zmiana stanu sygna\u0142u z 1 na 0).<\/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=\"95\" height=\"80\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image06-3.png\" alt=\"\" class=\"wp-image-24736\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Przeka\u017anik \u2013 zatrzask SET<\/strong> \u2013 doprowadzenie sygna\u0142u do tego przeka\u017anika powoduje ustawienie warto\u015bci zwi\u0105zanej z nim zmiennej na 1. Zmienna zachowuje t\u0119 warto\u015b\u0107 do momentu jej zmiany za pomoc\u0105 przeka\u017anika <strong>RESET<\/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=\"103\" height=\"86\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image07-3.png\" alt=\"\" class=\"wp-image-24737\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Przeka\u017anik \u2013 zatrzask RESET <\/strong>\u2013 doprowadzenie sygna\u0142u do tego przeka\u017anika powoduje ustawienie warto\u015bci zwi\u0105zanej z nim zmiennej na 0. Zmienna zachowuje t\u0119 warto\u015b\u0107 do momentu jej zmiany za pomoc\u0105 przeka\u017anika <strong>SET<\/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=\"100\" height=\"92\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image08-3.png\" alt=\"\" class=\"wp-image-24738\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Bloki operacji arytmetycznych <\/strong>realizuj\u0105 funkcje matematyczne parametr\u00f3w.<\/p>\n\n\n\n<p><strong>Blok funkcyjny dodawania ADD<\/strong> \u2013 dodaje parametr <strong>IN1<\/strong> i <strong>IN2<\/strong>, a wynik zapisuje jako parametr <strong>Q<\/strong>:<\/p>\n\n\n\n<p><strong>Q = IN1 + IN2<\/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=\"193\" height=\"106\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image09-3.png\" alt=\"\" class=\"wp-image-24739\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Blok funkcyjny odejmowania<\/strong> <strong>SUB<\/strong> \u2013 odejmuje parametr <strong>IN2<\/strong> od parametru <strong>IN1<\/strong> i wynik zapisuje do parametru <strong>Q<\/strong>:<\/p>\n\n\n\n<p><strong>Q = IN1 \u2013 IN2<\/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=\"196\" height=\"114\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image10-3.png\" alt=\"\" class=\"wp-image-24740\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Blok funkcyjny mno\u017cenia MUL<\/strong> \u2013 mno\u017cy parametry <strong>IN1<\/strong> i <strong>IN2<\/strong>, a wynik zapisuje do parametru <strong>Q<\/strong>:<\/p>\n\n\n\n<p><strong>Q = IN1 * IN2<\/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=\"198\" height=\"129\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image11-3.png\" alt=\"\" class=\"wp-image-24741\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Blok funkcyjny dzielenia DIV<\/strong> \u2013 dzieli parametr <strong>IN1<\/strong> przez <strong>IN2<\/strong>, a wynik zapisuje do parametru <strong>Q<\/strong>:<\/p>\n\n\n\n<p><strong>Q = IN1 \/ IN2<\/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=\"208\" height=\"128\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image12-3.png\" alt=\"\" class=\"wp-image-24742\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W przypadku warto\u015bci <strong>INT<\/strong> i <strong>DINT<\/strong> cz\u0119\u015b\u0107 u\u0142amkowa wyniku jest odrzucana.<\/p>\n\n\n\n<p><strong>Blok funkcyjny modulo (MOD)<\/strong> \u2013 dzieli parametr <strong>IN1<\/strong> przez <strong>IN2<\/strong>, a reszt\u0119 z dzielenia zapisuje do parametru <strong>Q<\/strong>:<\/p>\n\n\n\n<p><strong>Q = cz\u0119\u015b\u0107 u\u0142amkowa (IN1\/IN2)<\/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=\"210\" height=\"131\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image13-3.png\" alt=\"\" class=\"wp-image-24743\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Blok funkcyjny pierwiastka kwadratowego \u221a<\/strong> \u2013 oblicza pierwiastek kwadratowy z parametru <strong>IN1<\/strong>, a wynik zapisuje do parametru <strong>Q<\/strong>.<\/p>\n\n\n\n<p><strong>Q = \u221a(IN1)<\/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=\"208\" height=\"126\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image14-3.png\" alt=\"\" class=\"wp-image-24744\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Argumentami tego bloku powinny by\u0107 zwykle warto\u015bci typu <strong>REAL<\/strong>, tak by wynik m\u00f3g\u0142 by\u0107 liczb\u0105 zmiennoprzecinkow\u0105. Jako argument mo\u017cesz poda\u0107 warto\u015b\u0107 typu <strong>INT<\/strong> lub <strong>DINT<\/strong>, ale w przypadku, gdy w wyniku dzia\u0142ania otrzymasz warto\u015b\u0107 nieca\u0142kowit\u0105, cz\u0119\u015b\u0107 u\u0142amkowa b\u0119dzie odrzucona, gdy\u017c warto\u015b\u0107 <strong>Q<\/strong> jest wtedy r\u00f3wnie\u017c liczb\u0105 ca\u0142kowit\u0105.<\/p>\n\n\n\n<p><strong>Blok funkcyjny warto\u015bci bezwzgl\u0119dnej (ABS)<\/strong> \u2013 odrzuca znak parametru <strong>IN1<\/strong> i wynik zapisuje do parametru <strong>Q<\/strong>. Wynik dzia\u0142ania jest wi\u0119c zawsze liczb\u0105 dodatni\u0105.<\/p>\n\n\n\n<p><strong>Q = | IN1 |<\/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=\"218\" height=\"137\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image15-3.png\" alt=\"\" class=\"wp-image-24745\"\/><\/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: Jakie zadanie b\u0119dzie realizowa\u0142a tworzona aplikacja?<\/h2>\n\n\n\n<p>Program tworzony w ramach kursu to przyk\u0142ad aplikacji stworzonej w j\u0119zyku LD. Architektur\u0119 programu sterowania prezentuje poni\u017cszy schemat:<\/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=\"839\" height=\"457\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image16-3.png\" alt=\"\" class=\"wp-image-24746\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image16-3.png 839w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image16-3-768x418.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>Aplikacja b\u0119dzie sk\u0142ada\u0142a si\u0119 z 3 zbiornik\u00f3w oraz z 5 zawor\u00f3w \u2013 2 nape\u0142niaj\u0105cych oraz 3 opr\u00f3\u017cniaj\u0105cych. Funkcje arytmetyczne wykorzystasz do symulacji nape\u0142niania i opr\u00f3\u017cniania zbiornik\u00f3w. Dodawanie i odejmowanie warto\u015bci do\/od rejestr\u00f3w przypisanych odpowiednim zbiornikom b\u0119dzie realizowane w okre\u015blonych interwa\u0142ach czasowych.<\/p>\n\n\n\n<p>Stan zawor\u00f3w b\u0119dzie kontrolowany przez odpowiednie styki. Otwarcie zaworu b\u0119dzie nast\u0119powa\u0142o po wykryciu przez styk warto\u015bci zmiennej r\u00f3wniej 1. Zaw\u00f3r b\u0119dzie natomiast zamkni\u0119ty, je\u015bli warto\u015b\u0107 zmiennej badanej przez styk b\u0119dzie r\u00f3wna 0.<\/p>\n\n\n\n<p>Przep\u0142yw cieczy do zbiornika (dodawanie i odejmowanie warto\u015bci rejestru zbiornika) b\u0119dzie sterowany przez zawory (styki).<\/p>\n\n\n\n<p>Aby zwi\u0119kszy\u0107 czytelno\u015b\u0107 programu, logik\u0119 dotycz\u0105c\u0105 poszczeg\u00f3lnych zbiornik\u00f3w b\u0119dziesz umieszcza\u0107 w osobnych podprogramach.<\/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 3: Jak utworzy\u0107 nowy podprogram w \u015brodowisku Cscape?<\/h2>\n\n\n\n<p>Aby utworzy\u0107 nowy podprogram, kliknij prawym klawiszem myszy na <strong>Main Loop Modules<\/strong> i z menu kontekstowego wybierz <strong>New Enhanced Ladder Logic Block<\/strong>, a nast\u0119pnie skonfiguruj jego nazw\u0119 jako <strong>Zbiornik_1<\/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=\"437\" height=\"274\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image17-3.png\" alt=\"\" class=\"wp-image-24747\"\/><\/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: Stworzenie programu steruj\u0105cego nape\u0142nianiem i opr\u00f3\u017cnianiem zbiornik\u00f3w<\/h2>\n\n\n\n<p>Napiszemy teraz kod steruj\u0105cy nape\u0142nianiem i opr\u00f3\u017cnianiem tego zbiornika. W tym celu wstaw kolejno dwa styki normalnie otwarte i blok dodawania, kt\u00f3ry znajduje si\u0119 w zak\u0142adce <strong>Project Toolbox -&gt; Math Standard -&gt; Add<\/strong>.<\/p>\n\n\n\n<p>Do pierwszego styku przypisz zmienn\u0105 <strong>Impuls_100ms<\/strong>, a do drugiego <strong>Zawor_napelniajacy_ZB1<\/strong>.<\/p>\n\n\n\n<p>Klikaj\u0105c dwukrotnie na bloczek dodawania, uzupe\u0142nij parametry operacji dodawania. Pierwszym krokiem jest zmiana typu na <strong>REAL<\/strong>, gdy\u017c zmienne, na kt\u00f3rych blok b\u0119dzie operowa\u0142, maj\u0105 w\u0142a\u015bnie taki typ.<\/p>\n\n\n\n<p>Kolejno, do parametru <strong>IN1<\/strong> przypisz <strong>Zbiornik_1<\/strong>, do parametru <strong>IN2<\/strong> przypisz warto\u015b\u0107 <strong>0.1<\/strong> oraz do parametru wyj\u015bciowego r\u00f3wnie\u017c przypisz zmienn\u0105 <strong>Zbiornik_1.<\/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=\"590\" height=\"354\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image18-3.png\" alt=\"\" class=\"wp-image-24748\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W ten spos\u00f3b po otwarciu zaworu nape\u0142niaj\u0105cego zawarto\u015b\u0107 zbiornika b\u0119dzie zwi\u0119kszana co 100 ms o warto\u015b\u0107 0.1.<\/p>\n\n\n\n<p>Kolejnym krokiem jest napisanie logiki zwi\u0105zanej z opr\u00f3\u017cnianiem zbiornika.<\/p>\n\n\n\n<p>Ponownie wstaw dwa styki normalnie otwarte oraz blok odejmowania (blok <strong>SUB<\/strong>), kt\u00f3ry znajduje si\u0119 w tej samej zak\u0142adce <strong>Math -&gt; Standard<\/strong>.<\/p>\n\n\n\n<p>Do pierwszego styku przypisz zmienn\u0105 <strong>Impuls_100ms<\/strong>, a do drugiego <strong>Zawor_oprozniajacy_ZB1<\/strong>.<\/p>\n\n\n\n<p>Klikaj\u0105c dwukrotnie na blok odejmowania, uzupe\u0142nij parametry. Najwa\u017cniejsza jest zmiana typu na <strong>REAL<\/strong>, a nast\u0119pnie przypisanie zmiennych: do parametru <strong>IN1<\/strong> przypisz <strong>Zbiornik_1<\/strong>, do parametru <strong>IN2<\/strong> przypisz warto\u015b\u0107 <strong>0.1<\/strong> oraz do parametru wyj\u015bciowego r\u00f3wnie\u017c zmienn\u0105 <strong>Zbiornik_1<\/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=\"587\" height=\"438\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image19-3.png\" alt=\"\" class=\"wp-image-24749\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W ten spos\u00f3b po otwarciu zaworu opr\u00f3\u017cniaj\u0105cego zawarto\u015b\u0107 zbiornika b\u0119dzie zmniejszana co 100 ms o warto\u015b\u0107 0.1.<\/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 5: Stworzenie kodu dla kolejnych zbiornik\u00f3w. Jak kopiowa\u0107 i przenosi\u0107 poszczeg\u00f3lne fragmenty drabinki?<\/h2>\n\n\n\n<p>Przejd\u017amy do stworzenia analogicznej logiki dla kolejnych zbiornik\u00f3w.<\/p>\n\n\n\n<p>Stw\u00f3rz nowy podprogram o nazwie <strong>Zbiornik_2<\/strong>.<\/p>\n\n\n\n<p>Z uwagi na fakt, \u017ce podprogram dla tego zbiornika r\u00f3\u017cni si\u0119 tylko zmiennymi i rejestrami, na kt\u00f3rych pracuje, mo\u017cna kod napisany dla zbiornika 1 skopiowa\u0107 i wklei\u0107, a nast\u0119pnie zmieni\u0107 odpowiednie parametry. W tym celu przejd\u017a do podprogramu <strong>Zbiornik_1<\/strong>, zaznacz stworzony kod i skopiuj go skr\u00f3tem klawiszowym <strong>Ctrl+C<\/strong> lub wybieraj\u0105c z menu kontekstowego opcj\u0119 <strong>Copy<\/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=\"591\" height=\"399\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image20-3.png\" alt=\"\" class=\"wp-image-24750\"\/><\/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>Zbiornik_2<\/strong> wklej kod, u\u017cywaj\u0105c skr\u00f3tu klawiszowego <strong>Ctrl+V<\/strong> lub opcji <strong>Paste<\/strong> z menu kontekstowego oraz wybierz miejsce na szarym tle, od kt\u00f3rego kod ma zosta\u0107 wklejany.<\/p>\n\n\n\n<p>Zmienn\u0105 <strong>Zawor_napelniajacy_ZB1<\/strong> zmie\u0144 na <strong>Zawor_napelniajacy_ZB2<\/strong> oraz <strong>Zawor_oprozniajacy_ZB1<\/strong> na <strong>Zawor_oprozniajacy_ZB2<\/strong>. W blokach dodawania i odejmowania zamie\u0144 rejestr <strong>Zbiornik_1<\/strong> na <strong>Zbiornik_2<\/strong>. Finalnie otrzymasz:<\/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=\"545\" height=\"222\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image21-2.png\" alt=\"\" class=\"wp-image-24751\"\/><\/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 wstawia\u0107 nowe szczeble, aby rozbudowa\u0107 przygotowany program?<\/h2>\n\n\n\n<p>Przejdziemy teraz do tworzenia logiki dla zaworu numer 3. Utw\u00f3rz dla niego nowy podprogram o nazwie <strong>Zbiornik_3<\/strong>.<\/p>\n\n\n\n<p>Przed stworzeniem kodu dla tego zbiornika sp\u00f3jrz ponownie na schemat aplikacji przedstawiony powy\u017cej. Zauwa\u017c, \u017ce zbiornik ten b\u0119dzie nape\u0142niany w momencie opr\u00f3\u017cniania zaworu numer 1 lub numer 2. Dlatego kod b\u0119dzie troszk\u0119 bardziej rozbudowany. Mimo to skopiuj program napisany dla zbiornika numer 1 i wklej do podprogramu stworzonego dla zbiornika numer 3.<\/p>\n\n\n\n<p>Mi\u0119dzy istniej\u0105ce linie kodu wstaw nowe puste szczeble drabinki, klikaj\u0105c prawym klawiszem myszy na jej pocz\u0105tek w miejscu pomi\u0119dzy istniej\u0105cymi szczeblami, a nast\u0119pnie wybieraj\u0105c z menu kontekstowego opcj\u0119 <strong>New Rung<\/strong>. Poszczeg\u00f3lne linie kodu, jak i pojedyncze elementy, mo\u017cesz tak\u017ce swobodnie przesuwa\u0107 w celu utworzenia miejsca pomi\u0119dzy liniami.<\/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=\"547\" height=\"313\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image22-2.png\" alt=\"\" class=\"wp-image-24752\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Kolejno skopiuj pierwszy szczebel drabinki i wstaw go w nowo utworzonej przestrzeni.<\/p>\n\n\n\n<p>Nast\u0119pnie zmie\u0144 parametry tak, by pierwszy szczebel realizowa\u0142 nape\u0142nianie zbiornika numer 3 po otwarciu zaworu opr\u00f3\u017cniaj\u0105cego zbiornik numer 1, a drugi szczebel realizowa\u0142 nape\u0142nianie zbiornika 3 po otwarciu zaworu opr\u00f3\u017cniaj\u0105cego zbiornik numer 2.<\/p>\n\n\n\n<p>W tym celu zmienn\u0105 dla styku w pierwszej linijce o nazwie <strong>Zawor_napelniajacy_ZB1<\/strong> zamie\u0144 na <strong>Zawor_oprozniajacy_ZB1<\/strong>, a zmienn\u0105 w drugiej linijce o nazwie <strong>Zawor_napelniajacy_ZB2<\/strong> zamie\u0144 na <strong>Zawor_oprozniajacy_ZB2<\/strong>.<\/p>\n\n\n\n<p>W obu blokach dodawania zamie\u0144 zmienn\u0105 <strong>Zbiornik_1<\/strong> na zmienn\u0105 <strong>Zbiornik_3<\/strong>.<\/p>\n\n\n\n<p>W linijce 3 zmie\u0144 parametr <strong>Zawor_oprozniajacy_ZB1<\/strong> na <strong>Zawor_oprozniajacy_ZB3<\/strong>.<\/p>\n\n\n\n<p>Oto efekt:<\/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=\"309\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image23-2.png\" alt=\"\" class=\"wp-image-24753\"\/><\/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 7: Jak wstawia\u0107 komentarze, aby opisa\u0107 fragment programu?<\/h2>\n\n\n\n<p>Ostatni, wa\u017cny element edycji kodu, to dodanie komentarzy. Opisz kolejne podprogramy, informuj\u0105c do czego s\u0142u\u017c\u0105.<\/p>\n\n\n\n<p>W tym celu kliknij prawym klawiszem myszy na pocz\u0105tku drabinki, na odpowiedniej wysoko\u015bci i wybierz opcj\u0119 <strong>New Comment<\/strong>. Nast\u0119pnie dwukrotnie kliknij w miejsce stworzonego komentarza i uzupe\u0142nij go tre\u015bci\u0105.<\/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=\"545\" height=\"312\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image24-2.png\" alt=\"\" class=\"wp-image-24754\"\/><\/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=\"394\" height=\"179\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image25-2.png\" alt=\"\" class=\"wp-image-24755\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Operacj\u0119 powt\u00f3rz dla wszystkich stworzonych podprogram\u00f3w.<\/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 8: Jak wgra\u0107 program do sterownika Horner?<\/h2>\n\n\n\n<p>Aby utworzony program wgra\u0107 do sterownika, uruchom funkcj\u0119 <strong>Download<\/strong> w spos\u00f3b om\u00f3wiony w poprzednich cz\u0119\u015bciach kursu. Potwierd\u017a kolejno pojawiaj\u0105ce si\u0119 okna.<\/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=\"393\" height=\"146\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image26-2.png\" alt=\"\" class=\"wp-image-24756\"\/><\/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=\"334\" height=\"475\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image27-2.png\" alt=\"\" class=\"wp-image-24757\"\/><\/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=\"397\" height=\"206\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image28-2.png\" alt=\"\" class=\"wp-image-24758\"\/><\/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 wprowad\u017a sterownik w tryb <strong>RUN<\/strong>, aby uruchomi\u0107 program. S\u0142u\u017cy do tego ikona na g\u00f3rnym pasku narz\u0119dziowym.<\/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=\"125\" height=\"83\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image29-2.png\" alt=\"\" class=\"wp-image-24759\"\/><\/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: Jak \u015bledzi\u0107 wykonywany program i warto\u015bci zmiennych?<\/h2>\n\n\n\n<p>Obserwowanie warto\u015bci zmiennych mo\u017cliwe jest z poziomu zak\u0142adki <strong>Debug<\/strong>, znajduj\u0105cej si\u0119 na g\u00f3rnym pasku narz\u0119dziowym.<\/p>\n\n\n\n<p>Podgl\u0105d wykonuj\u0105cego si\u0119 programu steruj\u0105cego umo\u017cliwia opcja <strong>Debug Mode<\/strong>.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"631\" height=\"134\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image30-2.png\" alt=\"\" class=\"wp-image-24760\"\/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W oknie <strong>Data Watch<\/strong> mo\u017cesz dodawa\u0107 zmienne (<strong>Add<\/strong>) i zmienia\u0107 ich warto\u015bci, klikaj\u0105c na wybran\u0105 zmienn\u0105 prawym klawiszem myszy i wybieraj\u0105c z menu kontekstowego opcj\u0119 <strong>Modify<\/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=\"519\" height=\"546\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image31-2.png\" alt=\"\" class=\"wp-image-24761\"\/><\/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=\"516\" height=\"449\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image32-2.png\" alt=\"\" class=\"wp-image-24762\"\/><\/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=\"282\" height=\"169\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image33-2.png\" alt=\"\" class=\"wp-image-24763\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W ten spos\u00f3b mo\u017cesz sterowa\u0107 programem w celu sprawdzenia poprawno\u015bci dzia\u0142ania jego logiki.<\/p>\n\n\n\n<p>Nast\u0119pny odcinek: <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\/\">Jak odmierza\u0107 czas w programie steruj\u0105cym i jak konfigurowa\u0107 timery?<\/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=\"69d5da91823cb\">\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=\"5a5ceb1aa9\"\/>\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=\"69d5da91823cb\"] 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 zbudujemy pierwsz\u0105 prost\u0105 aplikacj\u0119 sterowania zaworami zbiornik\u00f3w. Nauczysz si\u0119 tworzy\u0107 logik\u0119 programu oraz symulacj\u0119 proces\u00f3w, u\u017cywaj\u0105c styk\u00f3w, cewek oraz blok\u00f3w operacji arytmetycznych.<\/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-24730","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 v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Jak korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4 | Poradnik Automatyka<\/title>\r\n<meta name=\"description\" content=\"W tym odcinku zbudujemy prost\u0105 aplikacj\u0119 sterowania zaworami zbiornik\u00f3w. Nauczysz si\u0119 tworzy\u0107 logik\u0119 programu oraz symulacj\u0119 proces\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-korzystac-ze-stykow-cewek-i-blokow-operacji-arytmetycznych-w-programie-sterujacym-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-4\/\" \/>\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 korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4 | Poradnik Automatyka\" \/>\r\n<meta property=\"og:description\" content=\"W tym odcinku zbudujemy prost\u0105 aplikacj\u0119 sterowania zaworami zbiornik\u00f3w. Nauczysz si\u0119 tworzy\u0107 logik\u0119 programu oraz symulacj\u0119 proces\u00f3w.\" \/>\r\n<meta property=\"og:url\" content=\"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\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Poradnik Automatyka\" \/>\r\n<meta property=\"article:published_time\" content=\"2025-09-09T08:10:40+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2025-09-09T12:24:53+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=\"31 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-korzystac-ze-stykow-cewek-i-blokow-operacji-arytmetycznych-w-programie-sterujacym-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-4\/#article\",\"isPartOf\":{\"@id\":\"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\/\"},\"author\":{\"name\":\"Mateusz Pytel\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/30d3dfd95308f3bba081f0a44bb6b97b\"},\"headline\":\"Jak korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4\",\"datePublished\":\"2025-09-09T08:10:40+00:00\",\"dateModified\":\"2025-09-09T12:24:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"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\/\"},\"wordCount\":1623,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization\"},\"image\":{\"@id\":\"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\/#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-korzystac-ze-stykow-cewek-i-blokow-operacji-arytmetycznych-w-programie-sterujacym-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-4\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"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\/\",\"url\":\"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\/\",\"name\":\"Jak korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4 | Poradnik Automatyka\",\"isPartOf\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website\"},\"primaryImageOfPage\":{\"@id\":\"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\/#primaryimage\"},\"image\":{\"@id\":\"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\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/horner-canvas-cscape-kurs-head.jpg\",\"datePublished\":\"2025-09-09T08:10:40+00:00\",\"dateModified\":\"2025-09-09T12:24:53+00:00\",\"description\":\"W tym odcinku zbudujemy prost\u0105 aplikacj\u0119 sterowania zaworami zbiornik\u00f3w. Nauczysz si\u0119 tworzy\u0107 logik\u0119 programu oraz symulacj\u0119 proces\u00f3w.\",\"breadcrumb\":{\"@id\":\"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\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"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\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"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\/#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-korzystac-ze-stykow-cewek-i-blokow-operacji-arytmetycznych-w-programie-sterujacym-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-4\/#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 korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4\"}]},{\"@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\/#\/schema\/person\/image\/\",\"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 korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4 | Poradnik Automatyka","description":"W tym odcinku zbudujemy prost\u0105 aplikacj\u0119 sterowania zaworami zbiornik\u00f3w. Nauczysz si\u0119 tworzy\u0107 logik\u0119 programu oraz symulacj\u0119 proces\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-korzystac-ze-stykow-cewek-i-blokow-operacji-arytmetycznych-w-programie-sterujacym-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-4\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4 | Poradnik Automatyka","og_description":"W tym odcinku zbudujemy prost\u0105 aplikacj\u0119 sterowania zaworami zbiornik\u00f3w. Nauczysz si\u0119 tworzy\u0107 logik\u0119 programu oraz symulacj\u0119 proces\u00f3w.","og_url":"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\/","og_site_name":"Poradnik Automatyka","article_published_time":"2025-09-09T08:10:40+00:00","article_modified_time":"2025-09-09T12:24:53+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":"31 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"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\/#article","isPartOf":{"@id":"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\/"},"author":{"name":"Mateusz Pytel","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/30d3dfd95308f3bba081f0a44bb6b97b"},"headline":"Jak korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4","datePublished":"2025-09-09T08:10:40+00:00","dateModified":"2025-09-09T12:24:53+00:00","mainEntityOfPage":{"@id":"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\/"},"wordCount":1623,"commentCount":0,"publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"image":{"@id":"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\/#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-korzystac-ze-stykow-cewek-i-blokow-operacji-arytmetycznych-w-programie-sterujacym-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-4\/#respond"]}]},{"@type":"WebPage","@id":"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\/","url":"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\/","name":"Jak korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4 | Poradnik Automatyka","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website"},"primaryImageOfPage":{"@id":"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\/#primaryimage"},"image":{"@id":"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\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/horner-canvas-cscape-kurs-head.jpg","datePublished":"2025-09-09T08:10:40+00:00","dateModified":"2025-09-09T12:24:53+00:00","description":"W tym odcinku zbudujemy prost\u0105 aplikacj\u0119 sterowania zaworami zbiornik\u00f3w. Nauczysz si\u0119 tworzy\u0107 logik\u0119 programu oraz symulacj\u0119 proces\u00f3w.","breadcrumb":{"@id":"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\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["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\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"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\/#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-korzystac-ze-stykow-cewek-i-blokow-operacji-arytmetycznych-w-programie-sterujacym-kurs-programowania-sterownikow-horner-apg-w-srodowisku-cscape-10-odc-4\/#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 korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym? | Kurs programowania sterownik\u00f3w Horner APG\u00a0 w \u015brodowisku Cscape 10, odc. 4"}]},{"@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\/#\/schema\/person\/image\/","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\/24730","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=24730"}],"version-history":[{"count":3,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/24730\/revisions"}],"predecessor-version":[{"id":24801,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/24730\/revisions\/24801"}],"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=24730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/categories?post=24730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/tags?post=24730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}