{"id":11505,"date":"2021-02-15T14:32:48","date_gmt":"2021-02-15T13:32:48","guid":{"rendered":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?p=11505"},"modified":"2023-06-01T16:32:47","modified_gmt":"2023-06-01T14:32:47","slug":"typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4","status":"publish","type":"post","link":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/","title":{"rendered":"Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys odc. 4"},"content":{"rendered":"\n<div class=\"dowiesz-sie\">\n<h3>Z tego artyku\u0142u dowiesz si\u0119:<\/h3>\n<ul class=\"bulleted\">\n<li>jakie typy zmiennych obs\u0142uguje Codesys,\n<\/li>\n<li>jak je definiowa\u0107,<\/li>\n<li>czym s\u0105 zmienne lokalne i globalne.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Witaj w kolejnym, czwartym ju\u017c odcinku kursu Codesys od podstaw. Tym razem skupimy si\u0119 nieco bardziej na teorii ni\u017c praktyce, poniewa\u017c przedstawimy Ci typy zmiennych, jakie mo\u017cesz wykorzystywa\u0107 w Codesysie, a tak\u017ce jak je definiowa\u0107 i z nich korzysta\u0107.<\/p>\n\n\n\n<p>Zabierzmy si\u0119 w takim razie do pracy!<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"dowiesz-sie\" style=\"margin-top:40px; margin-bottom:40px\">\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/kurs-programowania-w-codesys\/\"><h3>Kurs programowania w Codesys<\/h3><\/a>\n\n<h4 style=\"font-size:20px; margin-top:25px;\">Cz\u0119\u015b\u0107 I \u2013 Podstawowe funkcjonalno\u015bci \u015brodowiska Codesys<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-stworzyc-program-pierwsze-kroki-w-codesys-kurs-programowania-w-codesys-odc-1\/\">1. Pierwsze kroki w Codesys. Jak stworzy\u0107 program?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/pierwsze-podlaczenie-i-przygotowanie-codesys-do-pracy-ze-sterownikiem-plc-kurs-programowania-w-codesys-odc-2\/\">2. Pierwsze pod\u0142\u0105czenie i przygotowanie Codesys do pracy ze sterownikiem PLC.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-drabinkowy-ld-kurs-programowania-w-codesys-odc-3\/\">3. J\u0119zyk drabinkowy (LD).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/\">4. Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-schematow-blokowych-fbd-kurs-programowania-w-codesys-odc-5\/\">5. J\u0119zyk schemat\u00f3w blokowych (FBD).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/tworzenie-podstawowej-wizualizacji-hmi-kurs-programowania-w-codesys-odc-6\/\">6. Tworzenie podstawowej wizualizacji HMI.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-strukturalny-st-kurs-programowania-w-codesys-odc-7\/\">7. J\u0119zyk strukturalny (ST).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/diagnostyka-w-codesys-jak-sprawdzac-dzialanie-oprogramowania-i-sterownika-kurs-programowania-w-codesys-odc-8\/\">8. Diagnostyka w Codesys \u2013 jak sprawdza\u0107 dzia\u0142anie oprogramowania i sterownika?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-blokow-funkcyjnych-cfc-kurs-programowania-w-codesys-odc-9\/\">9. J\u0119zyk blok\u00f3w funkcyjnych (CFC).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/funkcja-blok-funkcyjny-program-zmodyfikuj-program-w-codesys-dla-lepszej-funkcjonalnosci-kurs-programowania-w-codesys-odc-10\/\">10. Funkcja, blok funkcyjny, program \u2013 zmodyfikuj program w Codesys dla lepszej funkcjonalno\u015bci.<\/a><br\/>\n<h4 style=\"font-size:20px; margin-top:25px;\">Cz\u0119\u015b\u0107 II \u2013 Zaawansowane funkcje i mo\u017cliwo\u015bci \u015brodowiska Codesys<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/\">11. Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-ethercat-konfiguracja-i-przykladowa-aplikacja-kurs-programowania-w-codesys-odc-12\/\">12. Komunikacja EtherCAT \u2013 konfiguracja i przyk\u0142adowa aplikacja.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/\">13. Softmotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-modbus-rtu-i-tcp-ip-w-srodowisku-codesys-kurs-programowania-w-codesys-odc-14\/\">14. Komunikacja Modbus RTU i TCP\/IP w \u015brodowisku Codesys.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/tworzenie-projektow-w-codesys-ze-sterownikami-bezpieczenstwa-safety-architektura-systemu-bezpieczenstwa-kurs-programowania-w-codesys-odc-15\/\">15. Tworzenie projekt\u00f3w w Codesys ze sterownikami bezpiecze\u0144stwa Safety: architektura systemu bezpiecze\u0144stwa.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/programowanie-sterownika-bezpieczenstwa-w-codesys-kurs-programowania-w-codesys-odc-16\/\">16. Programowanie sterownika bezpiecze\u0144stwa w Codesys.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/integracja-sterownika-plc-z-systemem-scada-w-codesys-kurs-programowania-w-codesys-odc-17\/\">17. Integracja sterownika PLC z systemem SCADA w Codesys.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/konfiguracja-maszyny-cnc-z-wykorzystaniem-sterownika-plc-obsluga-g-code-kurs-programowania-w-codesys-odc-18\/\">18. Konfiguracja maszyny CNC z wykorzystaniem sterownika PLC \u2013 obs\u0142uga G-Code.<\/a><br\/>\n\n<h4 style=\"font-size:20px; margin-top:25px;\">Dodatkowe materia\u0142y i lekcje dla kursant\u00f3w:<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-stworzyc-wirtualny-serwonaped-i-przetestowac-jego-dzialanie-w-srodowisku-codesys-pierwsze-kroki\/\" target=\"_blank\" rel=\"noopener\">1. Jak stworzy\u0107 wirtualny serwonap\u0119d w Codesys? Instrukcja krok po kroku.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/przykladowa-aplikacja-codesys-w-jezyku-st-i-ld-napelnianie-i-oproznianie-zbiornikow-wraz-z-alarmowaniem\/\" target=\"_blank\" rel=\"noopener\">2. Przyk\u0142adowa aplikacja Codesys w j\u0119zyku ST i LD: nape\u0142nianie i opr\u00f3\u017cnianie zbiornik\u00f3w wraz z alarmowaniem.<\/a><br\/>\n\n<h4 style=\"font-size:20px; margin-top:25px;\">Najcz\u0119\u015bciej zadawane pytania:<\/h4>\n\n<a href=\"https:\/\/www.astor.com.pl\/oferta\/automatyzacja\/sterowanie\/sterowniki-plc\/astraada-one-modular.html#faq\" target=\"_blank\" rel=\"noopener\">Sprawd\u017a odpowiedzi na najcz\u0119\u015bciej zadawane pytania dotycz\u0105ce \u015brodowiska Codesys.<\/a><br\/>\n\n<\/div>\n\n\n<div class=\"wp-block-image external-link\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.astor.com.pl\/produkty\/sterowanie\/sterowniki-plc\/astraada-one-ecc2000.html\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"168\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/04\/Kopia-SZABLON_SKLEP_BANNER-840x168.png\" alt=\"\" class=\"wp-image-12120\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/04\/Kopia-SZABLON_SKLEP_BANNER-840x168.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/04\/Kopia-SZABLON_SKLEP_BANNER-768x154.png 768w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/04\/Kopia-SZABLON_SKLEP_BANNER.png 1000w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/a><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Po co definiowa\u0107 typ zmiennej?<\/h1>\n\n\n\n<p>Zacznijmy od fundamentalnego pytania \u2013 po co w og\u00f3le definiowa\u0107 typ zmiennej? Przecie\u017c jest to najcz\u0119\u015bciej po prostu liczba, kt\u00f3r\u0105 wpisujemy w pami\u0119\u0107 sterownika. Pytanie mo\u017ce wydawa\u0107 si\u0119 b\u0142ahe, jednak odpowied\u017a na nie niesie ze sob\u0105 sporo wiedzy.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"569\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg\" alt=\"\" class=\"wp-image-11507\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/1_Astraada_one_codesys_kurs_ASTOR_1_01-768x520.jpg 768w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><figcaption class=\"wp-element-caption\"><em>Sterownik PLC Astraada One realizuj\u0105cy program sterowania serwonap\u0119dami, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Jak zapewne wiesz, sterownik PLC zapami\u0119tuje dane w formie binarnej, a wi\u0119c przy pomocy 0 i 1. Jedna taka 1 czy 0 to jeden bit. Pami\u0119\u0107 mo\u017ce by\u0107 dzielona na konkretne fragmenty: 1-bitowe, 8-bitowe, 16-bitowe, 32-bitowe, a nawet 64-bitowe. Wszystko zale\u017cy od mo\u017cliwo\u015bci sterownika, a tak\u017ce w\u0142a\u015bnie od definicji zmiennej.<\/p>\n\n\n\n<p>Za\u0142\u00f3\u017cmy, \u017ce wprowadzamy do pami\u0119ci kontrolera liczb\u0119 65. Sterownik widzi t\u0105 liczb\u0119 jako 8-bitowe s\u0142owo: 0100 0001 \u2013 jest to zapis liczby w j\u0119zyku binarnym. W zwi\u0105zku z tym jak kontroler ma je odczyta\u0107? Tutaj w\u0142a\u015bnie pojawia si\u0119 sens definicji zmiennych &#8211; bowiem je\u017celi zdefiniujemy, \u017ce to s\u0142owo, to:<\/p>\n\n\n\n<ul class=\"bulleted wp-block-list\">\n<li>zmienna liczbowa decymalna \u2013 to wtedy sterownik odczyta szyk 0 i 1 tak, jak wpisali\u015bmy z klawiatury, a wi\u0119c: 65,<\/li>\n\n\n\n<li>stan I\/O, czyli zmienna logiczna \u2013 kontroler wystawi w stan wysoki wej\u015bcie, b\u0105d\u017a wyj\u015bcie 1 oraz 7,<\/li>\n\n\n\n<li>zmienna liczbowa heksadecymalna \u2013 sterownik odczyta jako 41,<\/li>\n\n\n\n<li>zmienna tekstowa STRING \u2013 wtedy kontroler zdefiniuje wprowadzone dane jako liter\u0119 A.<\/li>\n<\/ul>\n\n\n\n<p>Oczywi\u015bcie przyk\u0142ad\u00f3w tutaj mo\u017ce by\u0107 tyle, co rodzaj\u00f3w zmiennych, ale sens ju\u017c powinien si\u0119 wyklarowa\u0107. Wprowadzenie danej to dopiero po\u0142owa sukcesu \u2013 konieczne jest pokazanie sterownikowi, jak ma odczyta\u0107 podane informacje. Liczba 65, czy te\u017c s\u0142owo bitowe 0100 0001 mo\u017ce mie\u0107 wiele postaci. To od nas zale\u017cy, kt\u00f3ra konkretnie jest nam potrzebna.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Rodzaje i typy zmiennych<\/h1>\n\n\n\n<p>Rodzaj\u00f3w i typ\u00f3w zmiennych jest bardzo du\u017co. W zwi\u0105zku z tym bardzo dobr\u0105 praktyk\u0105 jest odpowiednie ich wykorzystywanie. Upraszcza to program i up\u0142ynnia jego dzia\u0142anie, poniewa\u017c chronimy tym samym sterownik przed zb\u0119dnym za\u015bmiecaniem pami\u0119ci. Podstawowe rodzaje zmiennych s\u0105 okre\u015blone przez norm\u0119 IEC 61131-3.<\/p>\n\n\n\n<p>Wed\u0142ug tej normy ka\u017cdy sterownik PLC, a co za tym idzie, ka\u017cde oprogramowanie musi obs\u0142ugiwa\u0107 zmienne:<\/p>\n\n\n\n<ul class=\"bulleted wp-block-list\">\n<li>logiczne, a wi\u0119c prawda\/fa\u0142sz, czy te\u017c 1\/0,<\/li>\n\n\n\n<li>liczbowe ca\u0142kowite jak i zmiennoprzecinkowe,<\/li>\n\n\n\n<li>tekstowe,<\/li>\n\n\n\n<li>czasu.<\/li>\n<\/ul>\n\n\n\n<p>Jak to wygl\u0105da w Codesys? Om\u00f3wmy wszystko po kolei.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Zmienne ca\u0142kowite<\/h2>\n\n\n\n<p>Zmienne ca\u0142kowite, czyli po angielsku <em>Integer,<\/em> mo\u017cna rozbi\u0107 na dwie grupy: <em>binarne<\/em> i <em>liczbowe<\/em>. W grupie binarnych znajduj\u0105 si\u0119 typy, kt\u00f3re odczytuj\u0105 dane jako ci\u0105g 0 i 1. &nbsp;Mo\u017ce to by\u0107 najbardziej popularny <em>BOOL<\/em> o wielko\u015bci 1 bita, lub te\u017c <em>BYTE <\/em>wielko\u015bci 8 bit\u00f3w. Pe\u0142en spis znajdziesz w tabeli poni\u017cej.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"509\" height=\"218\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/image-3.png\" alt=\"\" class=\"wp-image-11532\"\/><figcaption class=\"wp-element-caption\"><em>Zmienne logiczne, \u017ar\u00f3d\u0142o: Codesys<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Powy\u017csze typy to zmienne logiczne, a wi\u0119c sterownik zawsze odczyta je jako ci\u0105g PRAWDA\/FA\u0141SZ. Dla przyk\u0142adu, je\u015bli podasz warto\u015b\u0107 <em>2<\/em> dla zmiennej typu<em> BYTE,<\/em> sterownik odczyta to jako 0000 0010, czyli FA\u0141SZ\/FA\u0141SZ\/FA\u0141SZ\/FA\u0141SZ FA\u0141SZ\/FA\u0141SZ\/PRAWDA\/FA\u0141SZ&nbsp; &#8211; nie b\u0119dzie tutaj mowy o \u017cadnej 2.<\/p>\n\n\n\n<p>Kolejn\u0105 grup\u0105 s\u0105 zmienne liczbowe. Wykorzystuje si\u0119 je do oblicze\u0144 matematycznych lub te\u017c po prostu do pracy na konkretnych liczbach ca\u0142kowitych lub zmiennoprzecinkowych. Tak wi\u0119c je\u017celi chcesz zdefiniowa\u0107 konkretn\u0105 liczb\u0119 np. 59 w celu dalszych oblicze\u0144, albo nawet zwyk\u0142ego jej wy\u015bwietlenia \u2013 musisz skorzysta\u0107 z tej grupy zmiennych.<\/p>\n\n\n\n<p>Zmienne te r\u00f3\u017cni\u0105 si\u0119 od siebie przede wszystkim rozmiarem. Jest to kluczowe dla poprawnego dzia\u0142ania programu, o kt\u00f3rym wspominane by\u0142o we wst\u0119pie do podrozdzia\u0142u. Przyk\u0142adowo, gdy mamy do zdefiniowania liczb\u0119 13, najlepiej u\u017cy\u0107 najmniejszego typu, a wi\u0119c <em>SINT<\/em>, dzi\u0119ki temu zajmiemy w pami\u0119ci zaledwie 8 bit\u00f3w &#8211; <strong>0000 1101<\/strong>. Definiuj\u0105c tak\u0105 liczb\u0119 jako <em>LINT,<\/em> zajmiemy a\u017c 64 bity, z czego zdecydowana wi\u0119kszo\u015b\u0107 bit\u00f3w b\u0119dzie po prostu wynosi\u0142a 0 &#8211; <strong>0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1101<\/strong>. Spowolni to odczyt liczby i zajmie niepotrzebne miejsce w pami\u0119ci. Pe\u0142n\u0105 tabel\u0119 znajdziesz poni\u017cej.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"610\" height=\"397\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/image.png\" alt=\"\" class=\"wp-image-11527\"\/><figcaption class=\"wp-element-caption\"><em>Zmienne liczbowe, \u017ar\u00f3d\u0142o: Codesys<br><br><\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Zmienne tekstowe<\/h2>\n\n\n\n<p>Jak zaprezentowa\u0107 tekst przy pomocy liczb? Do tego s\u0142u\u017c\u0105 specjalne zmienne tekstowe. Ka\u017cdy znak alfabetu posiada sw\u00f3j unikalny kod binarny, tak wi\u0119c nale\u017cy tylko da\u0107 informacje sterownikowi, kt\u00f3re bity musi odczyta\u0107 jako w\u0142a\u015bnie tekst.<\/p>\n\n\n\n<p>W \u015brodowisku Codesys wyr\u00f3\u017cniamy dwa typy zmiennych tekstowych <em>STRING<\/em> oraz <em>WSTRING<\/em>. Zmienna typu <em>STRING <\/em>s\u0142u\u017cy do zapisywania klasycznego tekstu pisanego. Mowa tutaj o literach alfabetu i niekt\u00f3rych znakach specjalnych \u2013 wszystko to jest zawarte w ustandaryzowanej tabeli ASCII. Zmienna STRING zajmuje w pami\u0119ci 8 bit\u00f3w.<\/p>\n\n\n\n<p>Drugi typ, a wi\u0119c WSTRING, s\u0142u\u017cy do zapisywania znak\u00f3w w nowoczesnym, bardziej zaawansowanym standardzie UNICODE. Dostarcza on znacznie wi\u0119cej mo\u017cliwo\u015bci od klasycznej tabeli ASCII &#8211; zmienna zajmuje 16 bit\u00f3w w pami\u0119ci.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Zmienne czasu<\/h2>\n\n\n\n<p>Ostatnim rodzajem zmiennych dost\u0119pnych w Codesys, s\u0105 zmienne czasu. Dzi\u0119ki nim sterownik jest w stanie \u015bledzi\u0107 up\u0142yw czasu w jednostkach, w kt\u00f3rych robimy to na co dzie\u0144, a wi\u0119c sekundach, minutach, godzinach, a nawet dniach czy latach. Poni\u017cej tabela z tymi w\u0142a\u015bnie zmiennymi. Zmienne te wykorzystuje si\u0119 najcz\u0119\u015bciej w timerach odmierzaj\u0105cych czas, lub te\u017c w zegarach do wizualizacji.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"708\" height=\"235\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/image-2.png\" alt=\"\" class=\"wp-image-11530\"\/><figcaption class=\"wp-element-caption\"><em>Zmienne czasu, \u017ar\u00f3d\u0142o: Codesys<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Tworzenie zmiennych<\/h1>\n\n\n\n<p>W ostatnich odcinkach zapewne pozna\u0142e\u015b\/pozna\u0142a\u015b podstawy odno\u015bnie tworzenia zmiennych. Dzisiaj rozwiniemy nieco ten temat, dzi\u0119ki czemu b\u0119dziesz m\u00f3g\u0142\/mog\u0142a tworzy\u0107 je tak, jak b\u0119dzie Ci wygodniej.<\/p>\n\n\n\n<p>Zmienn\u0105 mo\u017cna stworzy\u0107 na trzy sposoby. Przede wszystkim, poprzez podanie jej nazwy podczas tworzenia kodu programu. Wy\u015bwietli si\u0119 wtedy kreator zmiennej, kt\u00f3ry zaproponuje ju\u017c odpowiedni jej typ. Twoim zadaniem jest wtedy jedynie poda\u0107 nazw\u0119 i warto\u015b\u0107 pocz\u0105tkow\u0105. Zmienna pojawi si\u0119 automatycznie w oknie zdefiniowanych zmiennych.<\/p>\n\n\n\n<div style=\"height:20px\" 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=\"840\" height=\"840\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/1.gif\" alt=\"\" class=\"wp-image-11508\"\/><figcaption class=\"wp-element-caption\"><em>Automatyczne definiowanie zmiennych w Codesys, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Kolejne dwa sposoby opieraj\u0105 si\u0119 o r\u0119czne konfigurowanie zmiennej. Codesys umo\u017cliwia tutaj skorzystanie z tabeli do tworzenia zmiennych, b\u0105d\u017a wykorzystania pola tekstowego. Wyb\u00f3r znajduje si\u0119 w prawym g\u00f3rnym rogu okna zmiennych programu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large external-link\"><a href=\"https:\/\/www.astor.com.pl\/sklep\/sterowniki-plc\/astraada-one-compact-ecc2000\/one-start.html\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"169\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Bannery-Astraada-PC-840x169.jpg\" alt=\"\" class=\"wp-image-17186\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Bannery-Astraada-PC-840x169.jpg 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Bannery-Astraada-PC-768x155.jpg 768w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Bannery-Astraada-PC.jpg 1440w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:20px\" 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=\"840\" height=\"836\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/2.gif\" alt=\"\" class=\"wp-image-11509\"\/><figcaption class=\"wp-element-caption\"><em>Zmiana wygl\u0105du okna zmiennych w Codesys, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W widoku tabelowym dodanie zmiennej jest bardzo proste. Wybierasz opcj\u0119 <em>Insert,<\/em> znajduj\u0105c\u0105 si\u0119 w lewym g\u00f3rnym rogu okna lub klikaj\u0105c prawym przyciskiem myszy w oknie. Nast\u0119pnie wystarczy uzupe\u0142ni\u0107 dane w kolumnach.<\/p>\n\n\n\n<p>Kolumna <em>Scope<\/em> uzupe\u0142ni si\u0119 automatycznie. <em>Scope<\/em> okre\u015bla dodatkowy charakter zmiennej: czy jest ona tymczasowa, globalna itd.<em> &#8211; <\/em>powiemy o tym nieco wi\u0119cej przy zmiennych globalnych.<\/p>\n\n\n\n<p>Warto\u015b\u0107 <em>VAR<\/em> w kolumnie <em>Scope<\/em> informuje o standardowej zmiennej. Kolumna <em>Address<\/em> uzupe\u0142ni si\u0119 automatycznie, gdy zmapujesz zmienn\u0105 z rejestrem w pami\u0119ci, czego nauczy\u0142e\u015b\/a\u015b si\u0119 w poprzednim odcinku.<\/p>\n\n\n\n<p><em>Data type<\/em> pozwala zdefiniowa\u0107 typ zmiennej. Klikaj\u0105c dwukrotnie w wiersz w tej kolumnie, odblokujesz list\u0119 do rozwini\u0119cia, z kt\u00f3rej mo\u017cesz wybra\u0107 interesuj\u0105cy Ci\u0119 typ zmiennej.<\/p>\n\n\n\n<p>W <em>Initialization<\/em> mo\u017cesz zada\u0107 warto\u015b\u0107 pocz\u0105tkow\u0105, a w <em>Comment<\/em> zawrze\u0107 komentarz. Kolumna <em>Attributes<\/em> przeznaczona jest dla zaawansowanej funkcjonalno\u015bci atrybut\u00f3w, wi\u0119c w chwili obecnej mo\u017cesz pozostawia\u0107 j\u0105 pust\u0105.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"453\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/3.gif\" alt=\"\" class=\"wp-image-11510\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/3.gif 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/3-768x414.gif 768w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><figcaption class=\"wp-element-caption\"><em>Definiowanie zmiennej przy pomocy tabeli w Codesys, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Przejd\u017amy teraz do formy tekstowej. Prze\u0142\u0105cz na widok tekstowy. Dotychczas zdefiniowane zmienne ju\u017c tam b\u0119d\u0105 zawarte, dzi\u0119ki czemu mo\u017cesz ju\u017c wywnioskowa\u0107, w jaki spos\u00f3b definiuje si\u0119 tu zmienne: <strong>&lt;nazwa_zmiennej&gt;: &lt;typ_zmiennej&gt; := &lt;warto\u015b\u0107 pocz\u0105tkowa&gt;; \/\/komentarz do zmiennej<\/strong>.<\/p>\n\n\n\n<p>Dodatkowo w widoku tekstowym masz mo\u017cliwo\u015b\u0107 ograniczenia warto\u015bci zmiennej. Je\u017celi zajdzie taka potrzeba, mo\u017cesz zdefiniowa\u0107 g\u00f3rn\u0105 i doln\u0105 granic\u0119 warto\u015bci, przez co przy jej przekroczeniu Codesys zg\u0142osi b\u0142\u0105d warto\u015bci. Tak\u0105 zmienn\u0105 definiuje si\u0119 w taki spos\u00f3b:<strong><br>&lt;nazwa_zmiennej&gt; : &lt;typ_zmiennej&gt; (&lt;gorna_granica&gt;..&lt;dolna_granica&gt;);<\/strong><\/p>\n\n\n\n<p>W takim razie zdefiniujmy dwie dodatkowe zmienne. <em>Zmienna3<\/em>, kt\u00f3ra b\u0119dzie SINT, oraz <em>Zmienna 4<\/em>, kt\u00f3ra b\u0119dzie SINT z ograniczeniem do 3.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"453\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/4.gif\" alt=\"\" class=\"wp-image-11511\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/4.gif 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/4-768x414.gif 768w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><figcaption class=\"wp-element-caption\"><em>Definiowanie zmiennych przy pomocy widoku tekstowego w Codesys, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Kt\u00f3ry widok jest najlepszy? To zale\u017cy. Je\u017celi potrzebujesz stworzy\u0107 du\u017co zmiennych o podobnych nazwach i tym samym typie, najlepiej skorzysta\u0107 z widoku tekstowego i przeprowadzi\u0107 akcj\u0119 <em>kopiuj-wklej<\/em>. Widok tabeli jest du\u017co prostszy w obs\u0142udze, ale przy tworzeniu wi\u0119kszej ilo\u015bci zmiennych zajmie zdecydowanie wi\u0119cej czasu.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Zmienne globalne<\/h1>\n\n\n\n<p>Tworz\u0105c zmienne w spos\u00f3b opisany powy\u017cej, tworzymy je lokalnie. Znaczy to tyle, \u017ce mog\u0105 by\u0107 wykorzystywane tylko i wy\u0142\u0105cznie w obr\u0119bie jednego bloku PLC_PRG. Co jednak w przypadku, gdy chcesz u\u017cywa\u0107 tych samych zmiennych w r\u00f3\u017cnych blokach programu? W tym przypadku trzeba skorzysta\u0107 ze zmiennych globalnych.<\/p>\n\n\n\n<p>Zmienne globalne nie s\u0105 uwzgl\u0119dnione w standardowym drzewie projektu, dlatego pierwszym krokiem b\u0119dzie dodanie ich do projektu.<\/p>\n\n\n\n<p>Kliknij prawym przyciskiem myszy na segment <em>Application<\/em> w drzewie projektu, nast\u0119pnie wybierz &nbsp;<em>Add Object<\/em> i <em>Global Variable List<\/em>. Nazwij list\u0119 <em>Zmienne_Globalne<\/em>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"453\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/5.gif\" alt=\"\" class=\"wp-image-11512\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/5.gif 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/5-768x414.gif 768w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><figcaption class=\"wp-element-caption\"><em>Dodanie listy zmiennych globalnych do projektu Codesys, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Wy\u015bwietli Ci si\u0119 okno zmiennych, kt\u00f3re dzia\u0142a analogicznie, jak okno zmiennych omawiane wcze\u015bniej. Wybieraj\u0105c opcj\u0119 <em>Insert<\/em> dodaj zmienn\u0105 <em>Zmienna5<\/em> typu BOOL z komentarzem <em>Zmienna globalna<\/em>. Zauwa\u017c, \u017ce w kolumnie <em>Scope<\/em> ustawiona zosta\u0142a z automatu warto\u015b\u0107 <em>VAR<\/em> _<em>GLOBAL<\/em> \u015bwiadcz\u0105ca o tym, \u017ce jest to zmienna globalna.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"453\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/6.gif\" alt=\"\" class=\"wp-image-11513\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/6.gif 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/6-768x414.gif 768w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><figcaption class=\"wp-element-caption\"><em>Definiowanie zmiennej globalnej, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Teraz mo\u017cesz u\u017cy\u0107 tej zmiennej w dowolnym bloku programu. Przejd\u017a do sekcji <em>PLC_PRG<\/em> w drzewku projektu, przeci\u0105gnij styk <em>Contact<\/em> w pole robocze i skorzystaj z menu wyboru zmiennej. Rozwijaj\u0105c segment <em>Application,<\/em> znajdziesz zmienn\u0105 globaln\u0105 <em>Zmienna5<\/em>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"453\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/7.gif\" alt=\"\" class=\"wp-image-11514\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/7.gif 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/7-768x414.gif 768w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><figcaption class=\"wp-element-caption\"><em>Dodawanie zmiennej globalnej do programu w Codesys, \u017ar\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Zauwa\u017c, \u017ce dodana zmienna zawiera w nazwie r\u00f3wnie\u017c list\u0119, z kt\u00f3rej zosta\u0142a zaci\u0105gni\u0119ta. Mieszanie zmiennych pomi\u0119dzy programami zawsze b\u0119dzie skutkowa\u0107 tym, \u017ce w nazwie zmiennej pojawi si\u0119 \u017ar\u00f3d\u0142o, z kt\u00f3rego pochodzi &#8211; tak, aby \u0142atwiej by\u0142o j\u0105 zlokalizowa\u0107 w systemie.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large external-link\"><a href=\"https:\/\/www.astor.com.pl\/sklep\/sterowniki-plc\/astraada-one-compact-ecc2000\/one-start.html\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"169\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Bannery-Astraada-PC-840x169.jpg\" alt=\"\" class=\"wp-image-17186\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Bannery-Astraada-PC-840x169.jpg 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Bannery-Astraada-PC-768x155.jpg 768w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Bannery-Astraada-PC.jpg 1440w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/a><\/figure>\n\n\n\n<p>W tym odcinku to ju\u017c wszystko. Na przestrzeni ostatnich odcink\u00f3w pozna\u0142e\u015b\/a\u015b niezb\u0119dne informacje do podstawowej pracy w \u015brodowisku. W kolejnych odcinkach przedstawimy dodatkowe funkcjonalno\u015bci, kt\u00f3re mog\u0105 u\u0142atwi\u0107 Ci prac\u0119 w Codesys. W najbli\u017cszej ods\u0142onie poznasz j\u0119zyk schemat\u00f3w blokowych FBD \u2013 do zobaczenia!<\/p>\n","protected":false},"excerpt":{"rendered":"<p> Tym razem skupimy si\u0119 nieco bardziej na teorii ni\u017c praktyce, poniewa\u017c przedstawimy Ci typy zmiennych, jakie mo\u017cesz wykorzystywa\u0107 w Codesysie, a tak\u017ce jak je definiowa\u0107 i z nich korzysta\u0107.<\/p>\n","protected":false},"author":43,"featured_media":11507,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[234],"tags":[139,142],"class_list":["post-11505","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automatyka-w-praktyce","tag-astraada-one","tag-codesys"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys odc. 4 | Poradnik Automatyka<\/title>\r\n<meta name=\"description\" content=\"Przedstawimy Ci typy zmiennych, jakie mo\u017cesz wykorzystywa\u0107 w Codesysie, a tak\u017ce jak je definiowa\u0107 i z nich korzysta\u0107.\" \/>\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\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-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=\"Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys odc. 4 | Poradnik Automatyka\" \/>\r\n<meta property=\"og:description\" content=\"Przedstawimy Ci typy zmiennych, jakie mo\u017cesz wykorzystywa\u0107 w Codesysie, a tak\u017ce jak je definiowa\u0107 i z nich korzysta\u0107.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Poradnik Automatyka\" \/>\r\n<meta property=\"article:published_time\" content=\"2021-02-15T13:32:48+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2023-06-01T14:32:47+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg\" \/>\r\n\t<meta property=\"og:image:width\" content=\"840\" \/>\r\n\t<meta property=\"og:image:height\" content=\"569\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\r\n<meta name=\"author\" content=\"Rafa\u0142 Pilch\" \/>\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=\"Rafa\u0142 Pilch\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 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\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/\"},\"author\":{\"name\":\"Rafa\u0142 Pilch\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/person\\\/17cb08c703a403daf1e3e789c9f40f23\"},\"headline\":\"Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys odc. 4\",\"datePublished\":\"2021-02-15T13:32:48+00:00\",\"dateModified\":\"2023-06-01T14:32:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/\"},\"wordCount\":1791,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg\",\"keywords\":[\"Astraada One\",\"Codesys\"],\"articleSection\":[\"Automatyka w praktyce\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/\",\"name\":\"Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys odc. 4 | Poradnik Automatyka\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg\",\"datePublished\":\"2021-02-15T13:32:48+00:00\",\"dateModified\":\"2023-06-01T14:32:47+00:00\",\"description\":\"Przedstawimy Ci typy zmiennych, jakie mo\u017cesz wykorzystywa\u0107 w Codesysie, a tak\u017ce jak je definiowa\u0107 i z nich korzysta\u0107.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg\",\"width\":840,\"height\":569},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-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\":\"Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys 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\\\/17cb08c703a403daf1e3e789c9f40f23\",\"name\":\"Rafa\u0142 Pilch\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/R.-Pilch.jpg\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/R.-Pilch.jpg\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/R.-Pilch.jpg\",\"caption\":\"Rafa\u0142 Pilch\"},\"description\":\"Absolwent Politechniki Krakowskiej, kierunku Automatyka i Robotyka. Opiekun marki Astraada w ASTOR, szczeg\u00f3lnie zorientowany na systemy nap\u0119dowe. Prywatnie entuzjasta gier planszowych oraz MMORPG, a tak\u017ce amator grania na gitarze.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/rafa\u0142-pilch-b556b0170\"],\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/autor\\\/rafalp\\\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys odc. 4 | Poradnik Automatyka","description":"Przedstawimy Ci typy zmiennych, jakie mo\u017cesz wykorzystywa\u0107 w Codesysie, a tak\u017ce jak je definiowa\u0107 i z nich korzysta\u0107.","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\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/","og_locale":"pl_PL","og_type":"article","og_title":"Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys odc. 4 | Poradnik Automatyka","og_description":"Przedstawimy Ci typy zmiennych, jakie mo\u017cesz wykorzystywa\u0107 w Codesysie, a tak\u017ce jak je definiowa\u0107 i z nich korzysta\u0107.","og_url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/","og_site_name":"Poradnik Automatyka","article_published_time":"2021-02-15T13:32:48+00:00","article_modified_time":"2023-06-01T14:32:47+00:00","og_image":[{"width":840,"height":569,"url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg","type":"image\/jpeg"}],"author":"Rafa\u0142 Pilch","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Rafa\u0142 Pilch","Szacowany czas czytania":"12 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/#article","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/"},"author":{"name":"Rafa\u0142 Pilch","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/17cb08c703a403daf1e3e789c9f40f23"},"headline":"Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys odc. 4","datePublished":"2021-02-15T13:32:48+00:00","dateModified":"2023-06-01T14:32:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/"},"wordCount":1791,"commentCount":0,"publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg","keywords":["Astraada One","Codesys"],"articleSection":["Automatyka w praktyce"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/","name":"Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys odc. 4 | Poradnik Automatyka","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/#primaryimage"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg","datePublished":"2021-02-15T13:32:48+00:00","dateModified":"2023-06-01T14:32:47+00:00","description":"Przedstawimy Ci typy zmiennych, jakie mo\u017cesz wykorzystywa\u0107 w Codesysie, a tak\u017ce jak je definiowa\u0107 i z nich korzysta\u0107.","breadcrumb":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/#primaryimage","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2021\/02\/1_Astraada_one_codesys_kurs_ASTOR_1_01.jpg","width":840,"height":569},{"@type":"BreadcrumbList","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-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":"Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia | Kurs programowania w Codesys 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\/17cb08c703a403daf1e3e789c9f40f23","name":"Rafa\u0142 Pilch","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/R.-Pilch.jpg","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/R.-Pilch.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/R.-Pilch.jpg","caption":"Rafa\u0142 Pilch"},"description":"Absolwent Politechniki Krakowskiej, kierunku Automatyka i Robotyka. Opiekun marki Astraada w ASTOR, szczeg\u00f3lnie zorientowany na systemy nap\u0119dowe. Prywatnie entuzjasta gier planszowych oraz MMORPG, a tak\u017ce amator grania na gitarze.","sameAs":["https:\/\/www.linkedin.com\/in\/rafa\u0142-pilch-b556b0170"],"url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/autor\/rafalp\/"}]}},"_links":{"self":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/11505","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\/43"}],"replies":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/comments?post=11505"}],"version-history":[{"count":2,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/11505\/revisions"}],"predecessor-version":[{"id":18030,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/11505\/revisions\/18030"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media\/11507"}],"wp:attachment":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media?parent=11505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/categories?post=11505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/tags?post=11505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}