{"id":5518,"date":"2020-02-12T10:32:27","date_gmt":"2020-02-12T09:32:27","guid":{"rendered":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?p=5518"},"modified":"2023-08-22T11:33:37","modified_gmt":"2023-08-22T09:33:37","slug":"8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8","status":"publish","type":"post","link":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/","title":{"rendered":"Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 zmienne w programie? | Kurs programowania PLC od podstaw | Odc. 8"},"content":{"rendered":"\n<div class=\"dowiesz-sie\">\n<h3>Z tego artyku\u0142u dowiesz si\u0119:<\/h3>\n<ul class=\"bulleted\">\n<li>Jakie bloki do konwersji typ\u00f3w zmiennych dost\u0119pne s\u0105 w \u015brodowisku Cscape oraz jaka jest zasada ich dzia\u0142ania?<\/li>\n<li>Jak konfigurowa\u0107 bloki konwersji typ\u00f3w zmiennych?<\/li>\n<li>Jakie rejestry mo\u017cna przemieszcza\u0107 w programach?<\/li>\n<li>Jakie bloki do przemieszczania danych oferuje oprogramowanie Cscape?<\/li>\n<li>Jaka jest zasada dzia\u0142ania blok\u00f3w s\u0142u\u017c\u0105cych do przemieszczania rejestr\u00f3w?<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W poprzednim artykule dowiedzia\u0142e\u015b si\u0119 jak dzia\u0142aj\u0105 bloki funkcyjne s\u0142u\u017c\u0105ce do zliczania impuls\u00f3w w sterowniku PLC i jak je wykorzystywa\u0107 podczas programowania w j\u0119zyku drabinkowym.<\/p>\n\n\n\n<p>Ta lekcja kursu jest podzielona na dwie istotne cz\u0119\u015bci &#8211; o konwersji danych i o przemieszczaniu rejestr\u00f3w. Wiedz\u0119 teoretyczn\u0105 z ka\u017cdej cz\u0119\u015bci wykorzystasz w praktyce poprzez rozbudowanie Twojej aplikacji. <\/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-plc-od-podstaw-dla-elektrykow-i-automatykow\/\"><h3>Kurs programowania PLC od podstaw dla automatyk\u00f3w i elektryk\u00f3w<\/h3><\/a>\n\n<h4 style=\"font-size:20px; margin-top:25px;\">Podstawy programowania sterownik\u00f3w PLC<\/h4>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wprowadzenie-jak-skonfigurowac-podlaczyc-oraz-uruchomic-sterownik-plc-kurs-plc-1\/\">1. Wprowadzenie. Jak skonfigurowa\u0107, pod\u0142\u0105czy\u0107 oraz uruchomi\u0107 sterownik PLC?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-tworzyc-i-edytowac-projekty-w-oprogramowaniu-cscape-kurs-plc-2\/\">2. Jak tworzy\u0107 i edytowa\u0107 projekty w oprogramowaniu Cscape?<\/a><\/li>\n<h4 style=\"font-size:20px; margin-top:25px;\">Programowanie sterownika PLC w j\u0119zyku drabinkowym<\/h4>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-tworzyc-oraz-konfigurowac-baze-zmiennych-w-srodowisku-cscape-kurs-plc-3\/\">3. Jak tworzy\u0107 oraz konfigurowa\u0107 baz\u0119 zmiennych w \u015brodowisku Cscape?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-korzystac-ze-stykow-cewek-i-blokow-operacji-arytmetycznych-w-programie-sterujacym-kurs-plc-4\/\">4. Jak korzysta\u0107 ze styk\u00f3w, cewek i blok\u00f3w operacji arytmetycznych w programie steruj\u0105cym?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-odmierzac-czas-w-programie-sterujacym-i-jak-konfigurowac-timery-kurs-plc-5\/\">5. Jak odmierza\u0107 czas w programie steruj\u0105cym i jak konfigurowa\u0107 timery?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-porownywac-wartosci-i-wykorzystac-wyniki-operacji-logicznych-kurs-plc-6\/\">6. Jak por\u00f3wnywa\u0107 warto\u015bci i wykorzysta\u0107 wyniki operacji logicznych?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-zliczac-impulsy-i-konfigurowac-liczniki-kurs-plc-7\/\">7. Jak zlicza\u0107 impulsy i konfigurowa\u0107 liczniki?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/\">8. Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 zmienne w programie?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-sterowac-wykonywaniem-programu-logicznego-instrukcja-skoku-warunkowego-kurs-plc-9\/\">9. Jak sterowa\u0107 wykonywaniem programu logicznego? Instrukcja skoku warunkowego<\/a><\/li>\n<h4 style=\"font-size:20px; margin-top:25px;\">Programowanie zintegrowanego panelu HMI<\/h4>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-budowac-ekrany-operatorskie-z-obiektami-do-wizualizacji-i-zadawania-wartosci-zmiennych-kurs-plc-10\/\">10. Jak budowa\u0107 ekrany operatorskie z obiektami do wizualizacji i zadawania warto\u015bci zmiennych?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-zaprojektowac-nawigacje-miedzy-ekranami-operatorskimi-oraz-jak-korzystac-z-gotowych-obiektow-graficznych-kurs-plc-11\/\">11. Jak umo\u017cliwi\u0107 nawigacj\u0119 mi\u0119dzy ekranami operatorskimi oraz jak korzysta\u0107 z gotowych obiekt\u00f3w graficznych w \u015brodowisku Cscape?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-wizualizowac-zmienne-analogowe-oraz-jak-modyfikowac-ich-wartosci-przy-pomocy-obiektow-graficznych-kurs-plc-12\/\">12. Jak wizualizowa\u0107 zmienne analogowe oraz jak modyfikowa\u0107 ich warto\u015bci przy pomocy obiekt\u00f3w dost\u0119pnych w oprogramowaniu Cscape?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-korzystac-z-obiektu-menu-kurs-plc-13\/\">13. Jak korzysta\u0107 z obiektu menu?<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/konfiguracja-i-obsluga-alarmow-w-sterownikach-plc-kurs-plc-14\/\">14. Konfiguracja i obs\u0142uga alarm\u00f3w w sterownikach PLC<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-konfigurowac-obiekt-trendow-kurs-plc-15\/\">15. Kontrolka Data Trend<\/a><\/li>\n<h4 style=\"font-size:20px; margin-top:25px;\">Komunikacja sterownik\u00f3w PLC w sieci szeregowej i Ethernet<\/h4>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-po-protokole-modbus-rtu-odc-16-kurs-programowania-plc-od-podstaw\/\">16. Komunikacja szeregowa Modbus RTU Master i Slave<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-w-sieci-cscan-kurs-plc-17\/\">17. Komunikacja CsCAN<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-w-sieci-modbus-tcp-kurs-plc-18\/\">18. Komunikacja Ethernet Modbus TCP<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wysylanie-wiadomosci-email-w-sterowniku-plc-kurs-plc-19\/\">19. Wysy\u0142anie wiadomo\u015bci Email w sterowniku PLC<\/a><\/li>\n<h4 style=\"font-size:20px; margin-top:25px;\">Zaawansowane funkcje sterownika PLC<\/h4>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/regulator-pid-kurs-programowania-plc-od-podstaw-odc-20\/\">20. Regulator PID<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/skladowanie-danych-data-logging-kurs-programowania-plc-od-podstaw-odc-21\/\">21. Sk\u0142adowanie danych: Data logging<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/skladowanie-danych-karta-microsd-kurs-programowania-plc-od-podstaw-odc-22\/\">22. Sk\u0142adowanie danych: karta MicroSD<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/trendy-historyczne-oraz-receptury-kurs-programowania-plc-od-podstaw-odc-23\/\">23. Trendy historyczne oraz receptury w programie<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/setpoint-backup-i-restore-danych-oraz-generowanie-raportow-z-poziomu-sterownika-kurs-programowania-plc-od-podstaw-odc-24\/\">24. Setpoint, backup i restore danych oraz generowanie raport\u00f3w z poziomu sterownika<\/a><\/li>\n<li><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/hasla-i-zabezpieczenia-w-programie-ustawienia-jezyka-oraz-edytor-dostepny-w-narzedziu-opcja-autodokumentacji-dodatkowe-ustawienia-i-mozliwosci-edycji-kurs-programowania-plc-od-podstaw-odc-25\/\">25. Has\u0142a i zabezpieczenia w programie, ustawienia j\u0119zyka oraz edytor dost\u0119pny w narz\u0119dziu, opcja autodokumentacji \/ Dodatkowe ustawienia i mo\u017cliwo\u015bci edycji<\/a><\/li>\n\n\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Cz\u0119\u015b\u0107 I: Jak i po co robi\u0107 konwersj\u0119 typ\u00f3w zmiennych<\/h2>\n\n\n\n<p>Bloki do konwersji danych, to kolejny element j\u0119zyka LAD. Pozwalaj\u0105 na zamian\u0119 typ\u00f3w danych. G\u0142\u00f3wnie wykorzystywane s\u0105 bloki do konwersji mi\u0119dzy typami: INT (16-bitowy), DINT (32-bitowy) i REAL (32-bitowy). Ponadto mo\u017cliwa jest te\u017c konwersja znak\u00f3w ASCII czy liczb typu <em>long<\/em>.<\/p>\n\n\n\n<p>Pami\u0119taj, \u017ce operacja konwersji dotyczy warto\u015bci, a nie\nmiejsca zajmowanego przez zmienn\u0105 w pami\u0119ci sterownika.<\/p>\n\n\n\n<p>Podczas konwersji mo\u017cesz mie\u0107 do czynienia z sytuacjami\ntakimi jak:<\/p>\n\n\n\n<ul class=\"bulleted wp-block-list\">\n<li>zmniejszenie dok\u0142adno\u015bci&nbsp;\u2013 co nie jest traktowane jako b\u0142\u0105d i program jest prawid\u0142owo wykonywany,<\/li>\n\n\n\n<li>konwertowanie du\u017cej warto\u015bci na typ, kt\u00f3ry nie jest w stanie reprezentowa\u0107 tej warto\u015bci \u2013 b\u0142\u0105d jest sygnalizowany i wynik dzia\u0142ania programu mo\u017ce by\u0107 nieoczekiwany.&nbsp; <\/li>\n<\/ul>\n\n\n\n<div style=\"height:45px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Jakie bloki do konwersji typ\u00f3w zmiennych dost\u0119pne s\u0105 w sterownikach PLC Horner?<\/h3>\n\n\n\n<p>Blok s\u0142u\u017c\u0105cy do konwersji typu <strong>INT na REAL<\/strong> \u2013 blok konwertuje warto\u015b\u0107 INT (16-bitow\u0105), zadan\u0105 parametrem IN1 na warto\u015b\u0107 REAL (32-bitow\u0105), zapisywan\u0105 w parametrze Q. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_1.png\" alt=\"\" class=\"wp-image-5525\" width=\"171\" height=\"108\"\/><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td>\n  <strong>INT(16-bitowy)<\/strong>\n  <\/td><td>\n  <strong>REAL(32-bitowy)<\/strong>\n  <\/td><td>\n  <strong>WYJ\u015aCIE<\/strong>\n  <\/td><\/tr><tr><td>   1<\/td><td>\n  1\n  <\/td><td>   1<\/td><\/tr><tr><td>   20<\/td><td>\n  20\n  <\/td><td>   1<\/td><\/tr><tr><td>\n  100\n  <\/td><td>   100<\/td><td>   1<\/td><\/tr><tr><td>\n  1500\n  <\/td><td>   1500<\/td><td>   1<\/td><\/tr><tr><td>\n  25786\n  <\/td><td>   25786<\/td><td>   1<\/td><\/tr><tr><td>\n  32689\n  <\/td><td>   32689<\/td><td>   1<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:58px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Blok s\u0142u\u017c\u0105cy do konwersji typu <strong>DINT na REAL<\/strong> \u2013 blok konwertuje warto\u015b\u0107 DINT (32-bitow\u0105), zadan\u0105 parametrem IN1 na warto\u015b\u0107 REAL (32-bitow\u0105), zapisywan\u0105 w parametrze Q. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_2.png\" alt=\"\" class=\"wp-image-5527\" width=\"181\" height=\"111\"\/><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td>\n  <strong>DINT(32-bitowy)<\/strong>\n  <\/td><td>\n  <strong>REAL(32-bitowy)<\/strong>\n  <\/td><td>\n  <strong>WYJ\u015aCIE<\/strong>\n  <\/td><\/tr><tr><td>\n  1\n  <\/td><td>\n  1\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  20\n  <\/td><td>\n  20\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  100\n  <\/td><td>\n  100\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  1500\n  <\/td><td>\n  1500\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  45928\n  <\/td><td>\n  45928\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  9876543\n  <\/td><td>\n  9876543\n  <\/td><td>\n  1\n  <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:52px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Blok s\u0142u\u017c\u0105cy do konwersji typu <strong>REAL na INT<\/strong> \u2013 blok konwertuje warto\u015b\u0107 REAL (32-bitow\u0105), zadan\u0105 parametrem IN1 na warto\u015b\u0107 INT (16-bitow\u0105), zapisywan\u0105 w parametrze Q. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"181\" height=\"111\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_3.png\" alt=\"\" class=\"wp-image-5528\"\/><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td>\n  <strong>REAL(32-bitowy)<\/strong>\n  <\/td><td>\n  <strong>INT(16-bitowy)<\/strong>\n  <\/td><td>\n  <strong>WYJ\u015aCIE<\/strong>\n  <\/td><\/tr><tr><td>\n  1.0\n  <\/td><td>\n  1\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  20.23\n  <\/td><td>\n  20\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  100.50\n  <\/td><td>\n  100\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  100.99\n  <\/td><td>\n  100\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  4589.543\n  <\/td><td>\n  4589\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td> <strong>  987543.2   <\/strong><\/td><td>   <strong>4503   <\/strong><\/td><td><strong>   0   <\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:58px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Blok s\u0142u\u017c\u0105cy do konwersji typu <strong>REAL na DINT<\/strong> \u2013 blok konwertuje warto\u015b\u0107 REAL (32-bitow\u0105), zadan\u0105 parametrem IN1 na warto\u015b\u0107 DINT (32-bitow\u0105), zapisywan\u0105 w parametrze Q.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_3_1.png\" alt=\"\" class=\"wp-image-5529\" width=\"188\" height=\"116\"\/><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td>\n  <strong>REAL(32-bitowy)<\/strong>\n  <\/td><td>  <strong> DINT(32-bitowy)<\/strong>   <\/td><td>\n  <strong>WYJ\u015aCIE<\/strong>\n  <\/td><\/tr><tr><td>\n  1.0\n  <\/td><td>\n  1\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  20.23\n  <\/td><td>\n  20\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  100.50\n  <\/td><td>\n  100\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  100.99\n  <\/td><td>\n  100\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  4589.543\n  <\/td><td>\n  4589\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>  <strong> 888888888888   <\/strong><\/td><td><strong>   2147483647  <\/strong> <\/td><td><strong>   0   <\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:63px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Blok s\u0142u\u017c\u0105cy do konwersji typu <strong>INT na DINT<\/strong> \u2013 blok konwertuje warto\u015b\u0107 INT (16-bitow\u0105), zadan\u0105 parametrem IN1 na warto\u015b\u0107 DINT (32-bitow\u0105), zapisywan\u0105 w parametrze Q. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_4.png\" alt=\"\" class=\"wp-image-5531\" width=\"183\" height=\"104\"\/><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td>\n  <strong>INT(16-bitowy)<\/strong>\n  <\/td><td>\n  <strong>DINT (32-bitowy)<\/strong>\n  <\/td><td>\n  <strong>WYJ\u015aCIE<\/strong>\n  <\/td><\/tr><tr><td>\n  1\n  <\/td><td>   1<\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  20\n  <\/td><td>   20<\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  100\n  <\/td><td>   100<\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  1500\n  <\/td><td>\n  1500\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  25786\n  <\/td><td>\n  25786\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  32689\n  <\/td><td>\n  32689\n  <\/td><td>\n  1\n  <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:57px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Blok s\u0142u\u017c\u0105cy do konwersji typu DINT na INT \u2013 blok konwertuje warto\u015b\u0107 DINT (32-bitow\u0105) zadan\u0105 parametrem IN1 na warto\u015b\u0107 INT (16-bitow\u0105), zapisywan\u0105 w parametrze Q.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_5.png\" alt=\"\" class=\"wp-image-5532\" width=\"178\" height=\"111\"\/><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td>\n  <strong>DINT (32-bitowy)<\/strong>\n  <\/td><td>\n  <strong>INT(16-bitowy)<\/strong>\n  <\/td><td>\n  <strong>WYJ\u015aCIE<\/strong>\n  <\/td><\/tr><tr><td>\n  1\n  <\/td><td>\n  1\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  20\n  <\/td><td>\n  20\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  100\n  <\/td><td>\n  100\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  1500\n  <\/td><td>\n  1500\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td>\n  25786\n  <\/td><td>\n  25786\n  <\/td><td>\n  1\n  <\/td><\/tr><tr><td><strong>   45987   <\/strong><\/td><td><strong>   0   <\/strong><\/td><td><strong>   0   <\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n            <div id=\"mailerlite-form_9\" data-temp-id=\"69e74f047e997\">\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=\"bf2d948c4b\"\/>\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=\"69e74f047e997\"] 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\n\n\n<div style=\"height:31px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Programowanie w akcji!<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Krok 1:&nbsp;Jak doda\u0107 i skonfigurowa\u0107 bloki konwersji typ\u00f3w danych w \u015brodowisku Cscape?<\/h3>\n\n\n\n<p>W tworzonej aplikacji zawarto\u015b\u0107 zbiornik\u00f3w reprezentowana\njest przez rejestry typu <em>real<\/em>. Do\ntworzenia wizualizacji stan\u00f3w zbiornik\u00f3w na ekranach operatorskich niezb\u0119dne\nb\u0119d\u0105 warto\u015bci typu <em>int<\/em>. <\/p>\n\n\n\n<p>Teraz wykorzystaj bloki konwersji danych w ka\u017cdym\npodprogramie s\u0142u\u017c\u0105cym do nape\u0142niania i opr\u00f3\u017cniania odpowiedniego zbiornika.<\/p>\n\n\n\n<p>Ikony s\u0142u\u017c\u0105ce do konwersji danych dost\u0119pne s\u0105 z poziomu g\u00f3rnego paska narz\u0119dziowego. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_7_1.png\" alt=\"\" class=\"wp-image-5533\" width=\"503\" height=\"33\"\/><\/figure>\n<\/div>\n\n\n<p>Je\u015bli ich tam nie znajdujesz, w\u0142\u0105cz je, wybieraj\u0105c Menu  -&gt; View -&gt; Toolbars -&gt; Convert Operations.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"361\" height=\"580\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_6_1.png\" alt=\"\" class=\"wp-image-5534\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:68px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W pierwszej kolejno\u015bci dodaj nowe zmienne typu int. W oknie\nProject Navigator wybierz opcj\u0119 I\/O Names i za pomoc\u0105 przycisku Add dodaj\nzmienne:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#8211; Adres: %R00020, Nazwa: Zbiornik_1_INT <\/li>\n\n\n\n<li>&#8211; Adres: %R00021, Nazwa: Zbiornik_2_INT <\/li>\n\n\n\n<li>&#8211; Adres: %R00022, Nazwa: Zbiornik_3_INT <\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_8_1-1.png\" alt=\"\" class=\"wp-image-5536\" width=\"737\" height=\"479\"\/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_9_1.png\" alt=\"\" class=\"wp-image-5537\" width=\"478\" height=\"224\"\/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"478\" height=\"224\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_10_1.png\" alt=\"\" class=\"wp-image-5538\"\/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"478\" height=\"224\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_11_1.png\" alt=\"\" class=\"wp-image-5539\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nast\u0119pnie przejd\u017a do podprogramu <em>Zbiornik_1 <\/em>i w trzecim szczeblu drabinki, po styku normalnie otwartym ALWAYS_ON, wstaw blok konwersji REAL na INT. Nie musisz obawia\u0107 si\u0119 b\u0142\u0119dnego wyniku, poniewa\u017c warto\u015bci rejestru nie przekraczaj\u0105 zakresu obs\u0142ugiwanego przez <em>int<\/em>. <\/p>\n\n\n\n<p>Klikaj\u0105c dwukrotnie na dodany blok przejdziesz do jego konfiguracji. Jako <em>Source <\/em>wybierz zmienn\u0105 <em>Zbiornik_1<\/em> o adresie %R00001. W polu <em>Destination<\/em> wybierz stworzon\u0105 przed momentem zmienn\u0105 <em>Zbiornik_1_INT <\/em>o adresie %R00020.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_12_1.png\" alt=\"\" class=\"wp-image-5599\" width=\"709\" height=\"531\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Uzupe\u0142nianie logiki kolejnych zbiornik\u00f3w b\u0119dzie analogiczne.<\/p>\n\n\n\n<p>Przechodz\u0105c do podprogramu Zbiornik_2 i Zbiornik_3, w\ntrzecim szczeblu drabinki za stykiem ALWAYS_ON, dodaj blok konwersji typu REAL\nna INT i skonfiguruj nast\u0119puj\u0105co:<\/p>\n\n\n\n<p><strong>Zbiornik_2: <\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_13_1.png\" alt=\"\" class=\"wp-image-5602\" width=\"704\" height=\"529\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:52px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Zbiornik_3:<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_14_1.png\" alt=\"\" class=\"wp-image-5603\" width=\"763\" height=\"640\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Krok 2: Wgraj program do sterownika i przetestuj<\/h3>\n\n\n\n<p>Po tylu odcinkach praktyki wiesz ju\u017c na pewno, jak w kilku\nkrokach przej\u015b\u0107 do testowania programu:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>&#8211; Wgraj program do sterownika,<\/li>\n\n\n\n<li>&#8211; Prze\u0142\u0105cz sterownik w tryb RUN,<\/li>\n\n\n\n<li>&#8211; W\u0142\u0105cz opcj\u0119 Debug,<\/li>\n\n\n\n<li>&#8211; W\u0142\u0105cz opcj\u0119 Data Watch<\/li>\n<\/ol>\n\n\n\n<p>Kolejno w oknie Data Watch dodaj zmienne:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_15_1.png\" alt=\"\" class=\"wp-image-5604\" width=\"470\" height=\"407\"\/><\/figure>\n<\/div>\n\n\n<p>Steruj\u0105c zaworami nape\u0142niania i opr\u00f3\u017cniania poszczeg\u00f3lnych zbiornik\u00f3w, mo\u017cesz obserwowa\u0107 zmiany warto\u015bci informuj\u0105cych o ich zawarto\u015bci. Mo\u017cesz wtedy zauwa\u017cy\u0107 dzia\u0142anie blok\u00f3w konwersji typ\u00f3w.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/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\/producenci\/horner-apg.html\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"200\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/01\/Horner_baner_2-840x200.png\" alt=\"\" class=\"wp-image-18856\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/01\/Horner_baner_2-840x200.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/01\/Horner_baner_2-768x183.png 768w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/01\/Horner_baner_2-1536x366.png 1536w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/01\/Horner_baner_2.png 1680w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/a><\/figure>\n<\/div>\n\n\n<div style=\"height:69px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Cz\u0119\u015b\u0107 II: Jak przemieszcza\u0107 dane pomi\u0119dzy rejestrami?<\/h2>\n\n\n\n<p>\u015arodowisko zmiennych Cscape zawiera bloki funkcyjne s\u0142u\u017c\u0105ce do przemieszczania danych pomi\u0119dzy rejestrami sterownika. Bloki te mo\u017cna wykorzysta\u0107 do wstawiania sta\u0142ych do rejestr\u00f3w, przemieszczania blok\u00f3w danych do innego miejsca lub wype\u0142niania blok\u00f3w rejestr\u00f3w t\u0105 sam\u0105 warto\u015bci\u0105<font color=\"#007fac\">.<\/font><\/p>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Co cechuje parametry blok\u00f3w do przemieszczania danych?<\/h3>\n\n\n\n<ul class=\"bulleted wp-block-list\">\n<li>Warto\u015bci w rejestrze b\u0119d\u0105cym parametrem wej\u015bciowym nie ulegaj\u0105 zmianie.<\/li>\n\n\n\n<li>W przypadku blok\u00f3w funkcyjnych do przemieszczania pojedynczych rejestr\u00f3w, jako parametr wej\u015bciowy mo\u017cna poda\u0107 sta\u0142\u0105 numeryczn\u0105. Spowoduje to umieszczenie tej sta\u0142ej we wszystkich rejestrach wyj\u015bciowych.<\/li>\n\n\n\n<li>W przypadku blok\u00f3w funkcyjnych do przemieszczania blok\u00f3w rejestr\u00f3w, zar\u00f3wno parametr wej\u015bciowy, jak i wyj\u015bciowy, musi by\u0107 okre\u015blony poprzez podanie adresu &#8211; nie mo\u017cna okre\u015bla\u0107 parametru wej\u015bciowego sta\u0142\u0105 numeryczn\u0105.<\/li>\n\n\n\n<li>Parametr <em>Count<\/em> okre\u015bla liczb\u0119 przemieszczanych lub wype\u0142nianych rejestr\u00f3w w czasie pojedynczego wykonania bloku funkcyjnego. Dla bloku funkcyjnego do przemieszczania pojedynczego rejestru, parametr Count ma sta\u0142\u0105 domy\u015bln\u0105 warto\u015b\u0107 \u20181\u2019. W przypadku blok\u00f3w funkcyjnych do przemieszczania lub wype\u0142niania blok\u00f3w, parametr Count jest konfigurowalny i mo\u017ce mie\u0107 warto\u015b\u0107 z przedzia\u0142u od 0 do 2048.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:54px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Jakie rodzaje blok\u00f3w do przemieszczania danych oferuje \u015brodowisko Cscape i\njak one dzia\u0142aj\u0105?<\/h3>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Blok funkcyjny <strong>przemieszczaj\u0105cy<\/strong> <strong>pojedynczy rejestr \u2013 MOV<\/strong><\/p>\n\n\n\n<p>Powoduje przesuni\u0119cie rejestru, pary rejestr\u00f3w (32 bit\u00f3w lub sta\u0142ej warto\u015bci do nast\u0119pnego rejestru lub do pary rejestr\u00f3w (32 bit\u00f3w).<\/p>\n\n\n\n<div class=\"wp-block-columns has-2-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"173\" height=\"134\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_16-1.png\" alt=\"\" class=\"wp-image-5608\"\/><\/figure>\n<\/div>\n\n\n<p><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"176\" height=\"134\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_17-2.png\" alt=\"\" class=\"wp-image-5609\"\/><\/figure>\n<\/div>\n\n\n<p><\/p>\n<\/div>\n<\/div>\n\n\n\n<table class=\"wp-block-table aligncenter is-style-stripes\" style=\"width:75%\"><tbody><tr>\n\n<td style=\"width:40%\" colspan=\"2\"><center><strong>PRZED WYKONANIEM BLOKU FUNKCYJNEGO<\/strong><\/centr><\/td>\n\n<td style=\"width:40%\" colspan=\"2\"><center><strong>PO WYKONANIU BLOKU FUNKCYJNEGO<\/strong><\/center><\/td><\/tr><tr><td>\n  <strong><center>%R42<\/center><\/strong>\n  <\/td><td>\n  <center>34567<\/center>\n  <\/td><td>\n  <strong><center>%R42<\/strong>\n  <\/td><td>\n  <center>34567<\/center>\n  <\/td><\/tr><tr><td>\n  <strong><center>%R43<\/center><\/strong>\n  <\/td><td>   <center>12<\/center><\/td><td>\n  <center><strong>%R43<\/strong><\/center>\n  <\/td><td>\n  <center>12\n  <\/td><\/tr><tr><td>\n  <strong><center>%R44<\/center><\/strong>\n  <\/td><td>   <center>63<\/center><\/td><td>\n  <strong><center>%R44<\/center><\/strong>\n  <\/td><td>\n  <center>63<\/center>\n  <\/td><\/tr><tr><td>\n  <strong><center>%R45<\/center><\/strong>\n  <\/td><td>\n  <center>129<\/center>\n  <\/td><td>\n  <strong><center>%R45<\/center><\/strong>\n  <\/td><td>\n  <center>129<\/center>\n  <\/td><\/tr><tr><td>\n  <strong><center>%R46<\/center><\/strong>\n  <\/td><td>\n  <center>4<\/center>\n  <\/td><td>\n  <strong><center>%R46<\/center><\/strong>\n  <\/td><td>\n  <center>34567<\/center>\n  <\/td><\/tr><\/tbody><\/table>\n\n\n\n<div style=\"height:82px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Blok funkcyjny <strong>przemieszczaj\u0105cy<\/strong> <strong>bloki rejestr\u00f3w &#8211; BMV<\/strong><\/p>\n\n\n\n<p>Powoduje przesuni\u0119cie bloku rejestr\u00f3w z zadanego miejsca w inne. Move Block operuje wy\u0142\u0105cznie na rejestrach 16-bitowych.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"180\" height=\"111\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_18.png\" alt=\"\" class=\"wp-image-5614\"\/><\/figure>\n<\/div>\n\n\n<table class=\"wp-block-table aligncenter is-style-stripes\" style=\"width:100%\"><tbody>\n<tr><td colspan=\"4\">\n  <strong><center>PRZED WYKONANIEM BLOKU FUNKCYJNEGO<\/center><\/strong><\/td><td colspan=\"4\">\n  <strong><center>PO WYKONANIU BLOKU FUNKCYJNEGO<\/center><\/strong><\/td><\/tr><tr><td>\n  <strong>%R42<\/strong>\n  <\/td><td>\n  34567\n  <\/td><td>\n  <strong>%R50<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R42<\/strong>\n  <\/td><td>\n  34567\n  <\/td><td>\n  <strong>%R50<\/strong>\n  <\/td><td>\n  34567\n  <\/td><\/tr><tr><td>\n  <strong>%R43<\/strong>\n  <\/td><td>\n  12\n  <\/td><td>\n  <strong>%R51<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R43<\/strong>\n  <\/td><td>\n  12\n  <\/td><td>\n  <strong>%R51<\/strong>\n  <\/td><td>\n  12\n  <\/td><\/tr><tr><td>\n  <strong>%R44<\/strong>\n  <\/td><td>\n  63\n  <\/td><td>\n  <strong>%R52<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R44<\/strong>\n  <\/td><td>\n  63\n  <\/td><td>\n  <strong>%R52<\/strong>\n  <\/td><td>\n  63\n  <\/td><\/tr><tr><td>\n  <strong>%R45<\/strong>\n  <\/td><td>\n  129\n  <\/td><td>\n  <strong>%R53<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R45<\/strong>\n  <\/td><td>\n  129\n  <\/td><td>\n  <strong>%R53<\/strong>\n  <\/td><td>\n  129\n  <\/td><\/tr><tr><td>\n  <strong>%R46<\/strong>\n  <\/td><td>\n  4\n  <\/td><td>\n  <strong>%R54<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R46<\/strong>\n  <\/td><td>\n  4\n  <\/td><td>\n  <strong>%R54<\/strong>\n  <\/td><td>\n  4\n  <\/td><\/tr><tr><td>\n  <strong>%R47<\/strong>\n  <\/td><td>\n  56\n  <\/td><td>\n  <strong>%R54<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R47<\/strong>\n  <\/td><td>\n  56\n  <\/td><td>\n  <strong>%R54<\/strong>\n  <\/td><td>\n  0\n  <\/td><\/tr><\/tbody><\/table>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Blok funkcyjny <strong>Indirect Move \u2013 IMV<\/strong><\/p>\n\n\n\n<p>Powoduje on przemieszczenie pojedynczego\nrejestru lub bloku danych z jednego miejsca pami\u0119ci do innego. W przypadku tej\ninstrukcji mo\u017cliwe jest bezpo\u015brednie lub po\u015brednie podanie adresu.<\/p>\n\n\n\n<p><strong>Adresowanie\npo\u015brednie<\/strong> wykorzystane by\u0142o w powy\u017cszych blokach, gdzie podawa\u0142e\u015b adres\nrejestru, kt\u00f3ry ma zosta\u0107 przesuni\u0119ty.<\/p>\n\n\n\n<p><strong>Adresowanie bezpo\u015brednie<\/strong> polega na podaniu wska\u017anika na adres. Rejestr podany jako parametr wej\u015bciowy traktowany jest jako wska\u017anik, kt\u00f3ry blok funkcyjny odczytuje, nast\u0119pnie pobiera jego warto\u015b\u0107 i warto\u015b\u0107 t\u0119 przypisuje jako docelowy adres rejestru, z kt\u00f3rego dane maj\u0105 by\u0107 przesuni\u0119te.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"173\" height=\"119\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_19.png\" alt=\"\" class=\"wp-image-5615\"\/><\/figure>\n<\/div>\n\n\n<table class=\"wp-block-table aligncenter is-style-stripes\" style=\"width:100%\"><tbody><tr><td colspan=\"4\"><strong>PRZED WYKONANIEM BLOKU FUNKCYJNEGO<\/strong><\/td><td colspan=\"4\">\n  <strong>PO WYKONANIU BLOKU FUNKCYJNEGO<\/strong><\/td><\/tr>\n<tr><td>\n  %R4\n  <\/td><td>\n  <strong>56<\/strong>\n  <\/td><td>\n  %R12\n  <\/td><td>\n  <strong>100<\/strong>\n  <\/td><td>\n  %R4\n  <\/td><td>\n  <strong>56<\/strong>\n  <\/td><td>\n  %R12\n  <\/td><td>\n  <strong>100<\/strong>\n  <\/td><\/tr><tr><td>\n  &nbsp;\n  <\/td><td colspan=\"7\">\n  &nbsp;\n  <\/td><\/tr><tr><td>\n  %R55\n  <\/td><td>\n  123\n  <\/td><td>\n  %R99\n  <\/td><td>\n  0\n  <\/td><td>\n  %R55\n  <\/td><td>\n  123\n  <\/td><td>\n  %R99\n  <\/td><td>\n  0\n  <\/td><\/tr><tr><td>\n  %<strong>R56<\/strong>\n  <\/td><td>\n  45\n  <\/td><td>\n  %<strong>R100<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  %R<strong>56<\/strong>\n  <\/td><td>\n  45\n  <\/td><td>\n  %<strong>R100<\/strong>\n  <\/td><td>\n  45\n  <\/td><\/tr><tr><td>\n  %R57\n  <\/td><td>\n  28\n  <\/td><td>\n  %R101\n  <\/td><td>\n  0\n  <\/td><td>\n  %R57\n  <\/td><td>\n  28\n  <\/td><td>\n  %R101\n  <\/td><td>\n  28\n  <\/td><\/tr><tr><td>\n  %R58\n  <\/td><td>\n  1116\n  <\/td><td>\n  %R102\n  <\/td><td>\n  0\n  <\/td><td>\n  %R58\n  <\/td><td>\n  1116\n  <\/td><td>\n  %R102\n  <\/td><td>\n  1116\n  <\/td><\/tr><\/tbody><\/table>\n\n\n\n<div style=\"height:52px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Blok funkcyjny do <strong>wype\u0142niania blok\u00f3w \u2013 FILL<\/strong><\/p>\n\n\n\n<p>Powoduje wype\u0142nienie bloku rejestr\u00f3w okre\u015blon\u0105 warto\u015bci\u0105. Parametr IN mo\u017ce by\u0107 sta\u0142\u0105 numeryczn\u0105 lub adresem rejestru.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"168\" height=\"127\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_20.png\" alt=\"\" class=\"wp-image-5616\"\/><\/figure>\n<\/div>\n\n\n<table class=\"wp-block-table aligncenter is-style-stripes\" style=\"width:75%\"><tbody><tr><td colspan=\"2\"><strong>PRZED WYKONANIEM BLOKU FUNKCYJNEGO<\/strong><\/td><td colspan=\"2\"><strong>PO WYKONANIU BLOKU FUNKCYJNEGO<\/strong><\/td><\/tr><tr><td>\n  <strong>%R12<\/strong>\n  <\/td><td>\n  1234\n  <\/td><td>\n  <strong>%R42<\/strong>\n  <\/td><td>\n  1234\n  <\/td><\/tr><tr><td>\n  \n  <\/td><td colspan=\"3\">\n  &nbsp;\n  <\/td><\/tr><tr><td>\n  <strong>%R40<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R40<\/strong>\n  <\/td><td>\n  1234\n  <\/td><\/tr><tr><td>\n  <strong>%R41<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R41<\/strong>\n  <\/td><td>\n  1234\n  <\/td><\/tr><tr><td>\n  <strong>%R42<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R42<\/strong>\n  <\/td><td>\n  1234\n  <\/td><\/tr><tr><td>\n  <strong>%R43<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R43<\/strong>\n  <\/td><td>\n  1234\n  <\/td><\/tr><tr><td>\n  <strong>%R43<\/strong>\n  <\/td><td>\n  0\n  <\/td><td>\n  <strong>%R43<\/strong>\n  <\/td><td>\n  0\n  <\/td><\/tr><\/tbody><\/table>\n\n\n\n<div style=\"height:52px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Blok funkcyjny do <strong>przemieszczania blok\u00f3w sta\u0142ych \u2013 CST MOV<\/strong><\/p>\n\n\n\n<p>Pozwala na zapisanie tabeli ze sta\u0142ymi do grupy kolejnych rejestr\u00f3w sterownika. Tabela sta\u0142ych mo\u017ce zawiera\u0107 warto\u015bci typu INT, DINT, UDINT, REAL. Jednak wszystkie elementy tablicy musz\u0105 by\u0107 tego samego typu.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"170\" height=\"166\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_21.png\" alt=\"\" class=\"wp-image-5617\"\/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_22_1.png\" alt=\"\" class=\"wp-image-5619\" width=\"630\" height=\"489\"\/><\/figure>\n<\/div>\n\n\n<table class=\"wp-block-table aligncenter is-style-stripes\" style=\"width:50%\"><tbody><tr><td colspan=\"2\">\n  <strong>PO WYKONANIU BLOKU FUNKCYJNEGO<\/strong>\n  <\/td><\/tr><tr><td>\n  %R100\n  <\/td><td>\n  123\n  <\/td><\/tr><tr><td>\n  %R101\n  <\/td><td>\n  456\n  <\/td><\/tr><tr><td>\n  %R102\n  <\/td><td>\n  789\n  <\/td><\/tr><\/tbody><\/table>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Programowanie w akcji!<\/h2>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Krok 1: Jak doda\u0107 i skonfigurowa\u0107 bloki do przemieszczania danych w programie?<\/h3>\n\n\n\n<p>Teraz dopiszesz kolejne linie kodu w Twojej aplikacji.\nRozbudujesz program o logik\u0119 pozwalaj\u0105c\u0105 zada\u0107 w pierwszym cyklu pracy\nkontrolera czasy mieszania i grzania oraz ustawianie maksymalnych poziom\u00f3w w\nzbiornikach.<\/p>\n\n\n\n<p>W tym celu przejd\u017a do programu g\u0142\u00f3wnego <em>main <\/em>i poni\u017cej istniej\u0105cego szczebla wstaw styk normalnie otwarty i\npod\u0142\u0105cz do niego zmienn\u0105 S1. Jest to zmienna, kt\u00f3ra ma stan wysoki i\nprzepuszcza sygna\u0142 tylko w pierwszym cyklu kontrolera. To zagwarantuje, \u017ce\nprzemieszczanie danych do zmiennych b\u0119dzie realizowane jednorazowo po\nuruchomieniu sterownika.<\/p>\n\n\n\n<p>Kolejnym krokiem jest wstawienie za stykiem S1 dw\u00f3ch blok\u00f3w <em>Move Data<\/em> MOV.<\/p>\n\n\n\n<p>Pierwszy blok b\u0119dzie ustawia\u0142 czas mieszania. Przechodz\u0105c do konfiguracji jako <em>Source <\/em>zdefiniuj sta\u0142\u0105 warto\u015b\u0107 50, natomiast w polu <em>Destination<\/em> wybierz zmienn\u0105 <em>Czas_Mieszanie. <\/em>Typ danych ustaw na WORD. Blok ten spowoduje ustawienie czasu mieszania na 5 sekund. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_23_1.png\" alt=\"\" class=\"wp-image-5626\" width=\"612\" height=\"547\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:73px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Drugi blok pos\u0142u\u017cy do przypisania czasu grzania, w spos\u00f3b analogiczny jak powy\u017cej. Jako <em>Source <\/em>zdefiniuj sta\u0142\u0105 warto\u015b\u0107 70, natomiast w polu <em>Destination<\/em> wybierz zmienn\u0105 <em>Czas_Grzanie. <\/em>Typ danych r\u00f3wnie\u017c skonfiguruj jako WORD<em>. <\/em>Konsekwentnie, czas grzania b\u0119dzie r\u00f3wny 7 sekund.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_24_1.png\" alt=\"\" class=\"wp-image-5627\" width=\"591\" height=\"575\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:48px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Do ustawienia maksymalnych pojemno\u015bci zbiornik\u00f3w wykorzystasz blok Move Constant Data \u2013 MOV CST. Przechodz\u0105c do jego konfiguracji okre\u015bl typ danych na REAL, a w oknie do wprowadzenia warto\u015bci wpisz kolejno pod sob\u0105: 50.5, 40.8, 75.2. Jako <em>Destination Address<\/em> wybierz zmienn\u0105 <em>Zbiornik_1.<\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_25_1.png\" alt=\"\" class=\"wp-image-5628\" width=\"714\" height=\"568\"\/><\/figure>\n<\/div>\n\n\n<p>Taka konfiguracja spowoduje, \u017ce do kolejnych zmiennych: %R1 \u2013 Zbiornik_1, %R3 \u2013 Zbiornik_2, %R5 \u2013 Zbiornik_3 zostan\u0105 przypisane odpowiednio wprowadzone warto\u015bci.<\/p>\n\n\n\n<div style=\"height:39px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Krok 2: Wgraj program do sterownika i przetestuj jego dzia\u0142anie<\/h3>\n\n\n\n<p>Tak jak wcze\u015bniej,&nbsp;wgraj program do sterownika, wprowad\u017a sterownik w tryb RUN, w\u0142\u0105cz opcj\u0119 Debug oraz w\u0142\u0105cz podgl\u0105d zmiennych w oknie Data Watch.<\/p>\n\n\n\n<p>W oknie Data Watch dodaj do podgl\u0105du nast\u0119puj\u0105ce zmienne i zobacz, jakie warto\u015bci zosta\u0142y im przypisane:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"470\" height=\"407\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2019\/09\/Szkolenie_Horner_APG_Lab_8_26_1.png\" alt=\"\" class=\"wp-image-5629\"\/><\/figure>\n<\/div>\n\n\n<p>Powinny by\u0107 one zgodne z warto\u015bciami wprowadzonymi przez\nCiebie w programie.<\/p>\n\n\n\n<div style=\"height:42px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>W kolejnym, ostatnim ju\u017c odcinku cz\u0119\u015bci\nzwi\u0105zanej z programowaniem sterownik\u00f3w PLC, poznasz instrukcj\u0119 skoku\nwarunkowego, kt\u00f3ra umo\u017cliwia sterowanie wykonywaniem programu logicznego. <\/strong><\/p>\n\n\n\n<p><strong>Dowiesz si\u0119, jak dzia\u0142a ta instrukcja i jak mo\u017cna wykorzystywa\u0107 j\u0105 w programie steruj\u0105cym. B\u0119dzie to ostatni element uzupe\u0142niaj\u0105cy Twoj\u0105  wiedz\u0119 i umiej\u0119tno\u015bci z zakresu tworzenia logiki w j\u0119zyku drabinkowym.<\/strong><\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p><em>W kolejnym artykule z cyklu&nbsp;k<\/em>urs \u201eProgramowanie oraz konfiguracja sterownik\u00f3w PLC zintegrowanych z hmi\u201d: <strong><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/programowanie-plc-od-podstaw-kurs-dla-automatykow-i-elektrykow-odc-9-jak-sterowac-wykonywaniem-programu-logicznego-instrukcja-skoku-warunkowego\/\">Jak sterowa\u0107 wykonywaniem programu logicznego? Instrukcja skoku warunkowego<\/a>.<\/strong><\/p>\n\n\n\n<ul class=\"bulleted wp-block-list\">\n<li>Czym jest instrukcja skoku warunkowego i do czego s\u0142u\u017cy?<\/li>\n\n\n\n<li>Jakie rodzaje blok\u00f3w sterowania wykonywaniem programu dost\u0119pne s\u0105 w \u015brodowisku Cscape?<\/li>\n\n\n\n<li>Jak wykorzystywa\u0107 instrukcj\u0119 skoku warunkowego w programie steruj\u0105cym?<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sprawd\u017a, jakie bloki funkcyjne do przemieszczania danych dost\u0119pne s\u0105 w sterownikach PLC.<\/p>\n","protected":false},"author":4,"featured_media":7469,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[21],"class_list":["post-5518","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bez-kategorii","tag-horner"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 je w programie?<\/title>\r\n<meta name=\"description\" content=\"Sprawd\u017a, jakie bloki funkcyjne do przemieszczania danych dost\u0119pne s\u0105 w sterownikach PLC | Kurs programowania PLC od podstaw |\" \/>\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\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/\" \/>\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 konwertowa\u0107 typy zmiennych i przemieszcza\u0107 je w programie?\" \/>\r\n<meta property=\"og:description\" content=\"Sprawd\u017a, jakie bloki funkcyjne do przemieszczania danych dost\u0119pne s\u0105 w sterownikach PLC | Kurs programowania PLC od podstaw |\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Poradnik Automatyka\" \/>\r\n<meta property=\"article:published_time\" content=\"2020-02-12T09:32:27+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2023-08-22T09:33:37+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/02\/11.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"1265\" \/>\r\n\t<meta property=\"og:image:height\" content=\"627\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"Kamil Zajdel\" \/>\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=\"Kamil Zajdel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 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\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/\"},\"author\":{\"name\":\"Kamil Zajdel\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/person\\\/2eff1c7d27097dc02ee167d1c4df035e\"},\"headline\":\"Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 zmienne w programie? | Kurs programowania PLC od podstaw | Odc. 8\",\"datePublished\":\"2020-02-12T09:32:27+00:00\",\"dateModified\":\"2023-08-22T09:33:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/\"},\"wordCount\":1842,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/11.png\",\"keywords\":[\"Horner APG\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/\",\"name\":\"Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 je w programie?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/11.png\",\"datePublished\":\"2020-02-12T09:32:27+00:00\",\"dateModified\":\"2023-08-22T09:33:37+00:00\",\"description\":\"Sprawd\u017a, jakie bloki funkcyjne do przemieszczania danych dost\u0119pne s\u0105 w sterownikach PLC | Kurs programowania PLC od podstaw |\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/11.png\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/11.png\",\"width\":1265,\"height\":627},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Bez kategorii\",\"item\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/category\\\/bez-kategorii\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 zmienne w programie? | Kurs programowania PLC od podstaw | Odc. 8\"}]},{\"@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\\\/2eff1c7d27097dc02ee167d1c4df035e\",\"name\":\"Kamil Zajdel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/K.-Zajdel.jpg\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/K.-Zajdel.jpg\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/K.-Zajdel.jpg\",\"caption\":\"Kamil Zajdel\"},\"description\":\"Absolwent Akademii G\u00f3rniczo \u2013 Hutniczej na kierunku Automatyka i Robotyka. Od kilku lat zwi\u0105zany z ASTORem i programowaniem sterownik\u00f3w PLC. Wsp\u00f3\u0142tw\u00f3rca kursu programowania PLC dla automatyk\u00f3w i elektryk\u00f3w.\",\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/in\\\/kamil-zajdel-a7803399?trk=people-guest_people_search-card\"],\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/autor\\\/kamilza\\\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 je w programie?","description":"Sprawd\u017a, jakie bloki funkcyjne do przemieszczania danych dost\u0119pne s\u0105 w sterownikach PLC | Kurs programowania PLC od podstaw |","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\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 je w programie?","og_description":"Sprawd\u017a, jakie bloki funkcyjne do przemieszczania danych dost\u0119pne s\u0105 w sterownikach PLC | Kurs programowania PLC od podstaw |","og_url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/","og_site_name":"Poradnik Automatyka","article_published_time":"2020-02-12T09:32:27+00:00","article_modified_time":"2023-08-22T09:33:37+00:00","og_image":[{"width":1265,"height":627,"url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/02\/11.png","type":"image\/png"}],"author":"Kamil Zajdel","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Kamil Zajdel","Szacowany czas czytania":"16 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/#article","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/"},"author":{"name":"Kamil Zajdel","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/2eff1c7d27097dc02ee167d1c4df035e"},"headline":"Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 zmienne w programie? | Kurs programowania PLC od podstaw | Odc. 8","datePublished":"2020-02-12T09:32:27+00:00","dateModified":"2023-08-22T09:33:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/"},"wordCount":1842,"commentCount":0,"publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/02\/11.png","keywords":["Horner APG"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/","name":"Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 je w programie?","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/#primaryimage"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/02\/11.png","datePublished":"2020-02-12T09:32:27+00:00","dateModified":"2023-08-22T09:33:37+00:00","description":"Sprawd\u017a, jakie bloki funkcyjne do przemieszczania danych dost\u0119pne s\u0105 w sterownikach PLC | Kurs programowania PLC od podstaw |","breadcrumb":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/#primaryimage","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/02\/11.png","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2020\/02\/11.png","width":1265,"height":627},{"@type":"BreadcrumbList","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/8-jak-konwertowac-typy-zmiennych-i-przemieszczac-zmienne-w-programie-kurs-plc-8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Bez kategorii","item":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/category\/bez-kategorii\/"},{"@type":"ListItem","position":2,"name":"Jak konwertowa\u0107 typy zmiennych i przemieszcza\u0107 zmienne w programie? | Kurs programowania PLC od podstaw | Odc. 8"}]},{"@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\/2eff1c7d27097dc02ee167d1c4df035e","name":"Kamil Zajdel","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/K.-Zajdel.jpg","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/K.-Zajdel.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/K.-Zajdel.jpg","caption":"Kamil Zajdel"},"description":"Absolwent Akademii G\u00f3rniczo \u2013 Hutniczej na kierunku Automatyka i Robotyka. Od kilku lat zwi\u0105zany z ASTORem i programowaniem sterownik\u00f3w PLC. Wsp\u00f3\u0142tw\u00f3rca kursu programowania PLC dla automatyk\u00f3w i elektryk\u00f3w.","sameAs":["https:\/\/pl.linkedin.com\/in\/kamil-zajdel-a7803399?trk=people-guest_people_search-card"],"url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/autor\/kamilza\/"}]}},"_links":{"self":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/5518","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\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/comments?post=5518"}],"version-history":[{"count":2,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/5518\/revisions"}],"predecessor-version":[{"id":18869,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/5518\/revisions\/18869"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media\/7469"}],"wp:attachment":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media?parent=5518"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/categories?post=5518"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/tags?post=5518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}