
{"id":1801,"date":"2018-10-02T11:37:38","date_gmt":"2018-10-02T09:37:38","guid":{"rendered":"http:\/\/blog.phoenixcontact.com\/marketing-pl\/?p=1801"},"modified":"2018-12-04T12:55:26","modified_gmt":"2018-12-04T11:55:26","slug":"programowanie-sterownikow-plc-w-jezyku-c","status":"publish","type":"post","link":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/","title":{"rendered":"Sterownik z PLCnext Technology: Programowanie sterownik\u00f3w PLC w j\u0119zyku C++"},"content":{"rendered":"<p>Podstawow\u0105 cech\u0105 platformy PLCnext Technology jest szeroko rozumiana otwarto\u015b\u0107. Oznacza to mi\u0119dzy innymi otwarte podej\u015bcie do sposobu programowania sterownika PLC. Korzystaj\u0105c z PLCnext Technology nie jeste\u015bmy ograniczani przez wymogi wynikaj\u0105ce z normy IEC 61131, kt\u00f3ra definiuje klasyczne j\u0119zyki programowania sterownik\u00f3w PLC, jak na przyk\u0142ad <em>ladder diagram<\/em> (\u201edrabinka\u201d) czy <em>function block <\/em>(\u201ebloczki\u201d).<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/global\/web_content_graph_3col\/pic_con3_a_0083148_int.jpg\" \/><\/p>\n<p>Programista ma zatem mo\u017cliwo\u015b\u0107 stworzenia cz\u0119\u015bci lub ca\u0142o\u015bci programu w j\u0119zyku wysokopoziomowym (np. C++), a dzi\u0119ki mechanizmom zawartym w PLCnext Technology takie programy mog\u0105 wymienia\u0107 dane z klasycznymi programami steruj\u0105cymi, a wszystko dzieje si\u0119 z zachowaniem czasu rzeczywistego wykonywania programu.<\/p>\n<p>Poni\u017cej prezentuj\u0119, jak \u0142atwo mo\u017cna u\u017cy\u0107 programu napisanego w C++ do wykonywania oblicze\u0144 i wymieniania danych z klasycznym programem napisanym w j\u0119zyku FBD.<\/p>\n<h1>Przygotowanie programu w C++<\/h1>\n<p>Pierwszym etapem b\u0119dzie przygotowanie kodu programu w j\u0119zyku C++. Mo\u017cna do tego u\u017cy\u0107 popularnego \u015brodowiska programistycznego przeznaczonego dla j\u0119zyk\u00f3w wysokopoziomowych \u2013\u00a0 <em>Eclipse<\/em>. Po zainstalowaniu <em>Eclipse<\/em> nale\u017cy doda\u0107 do niego wtyczki PLCnext Technology (dost\u0119pne bezp\u0142atnie na naszej stronie internetowej), kt\u00f3re uproszcz\u0105 przygotowywanie projekt\u00f3w i umo\u017cliwi\u0105 kompilacj\u0119 programu w wersji na sterownik PLC.<\/p>\n<p>Nasz program w C++ b\u0119dzie prostym licznikiem, dzia\u0142aj\u0105cym wed\u0142ug za\u0142o\u017cenia, \u017ce po uruchomieniu przez zmienn\u0105 liczy w g\u00f3r\u0119 od 0 do 1000, a nast\u0119pnie w d\u00f3\u0142 do 0 i tak dalej. W budowie programu u\u017cyjemy zmiennych:<\/p>\n<ul>\n<li>xActive \u2013 zmienna bitowa wej\u015bciowa \u2013 uruchamia licznik<\/li>\n<li>xDirection \u2013 zmienna bitowa wyj\u015bciowa \u2013 informuje o kierunku dzia\u0142ania licznika<\/li>\n<li>iValue \u2013 liczba ca\u0142kowita \u2013 aktualna warto\u015b\u0107 licznika<\/li>\n<\/ul>\n<p>Powy\u017csze zmienne wed\u0142ug nomenklatury PLCnext Technology s\u0105 definiowane w kodzie jako porty wej\u015bciowe i wyj\u015bciowe.\u00a0 Dzi\u0119ki temu b\u0119dziemy mieli dost\u0119p do tych zmiennych z poziomu innych program\u00f3w dzia\u0142aj\u0105cych na sterowniku PLC. Fragmenty kodu definiuj\u0105ce porty oraz pozosta\u0142e pliki konfiguracyjne s\u0105 generowane automatycznie poprzez wtyczk\u0119 PLCnext Technology doinstalowan\u0105 do <em>Eclipse<\/em>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/local_pl\/web_content_3col\/pic_con3_pl_0023649_pl.jpg\" \/><\/p>\n<p>Aby tak przygotowany program u\u017cy\u0107 w PC Worx Engineer i wymienia\u0107 z nim dane z poziomu aplikacji napisanej w j\u0119zyku FBD, wystarczy ju\u017c tylko wykona\u0107 kompilacj\u0119 i zapisa\u0107 rezultat w formacie biblioteki zewn\u0119trznej <em>.pcwlx<\/em>.<\/p>\n<h1>Integracja w PC Worx Engineer<\/h1>\n<p>Drugim krokiem jest stworzenie projektu w PC Worx Engineer. Wszystkie etapy przygotowania przebiegaj\u0105 tak samo jak w przypadku klasycznych projekt\u00f3w. Po wykonaniu konfiguracji sprz\u0119towej oraz konfiguracji sterownika PLC do pracy w sieci, tworzymy w j\u0119zyku FBD prosty program, kt\u00f3ry b\u0119dzie przepisywa\u0142 stan fizycznego wej\u015bcia binarnego do zmiennej xIECActive, a tak\u017ce przepisywa\u0142 warto\u015b\u0107 zmiennej xIECDirection do fizycznego wyj\u015bcia binarnego. Wspomniane zmienne oraz, dodatkowo, zmienn\u0105 ca\u0142kowitoliczbow\u0105 iIECValue definiujemy jako porty wej\u015bciowe i wyj\u015bciowe programu.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/local_pl\/web_content_3col\/pic_con3_pl_0023652_pl.jpg\" \/><\/p>\n<p><img decoding=\"async\" class=\"alignleft\" src=\"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/local_pl\/web_content_1col\/pic_con1_pl_0023653_pl.jpg\" \/><\/p>\n<p>Nast\u0119pnie importujemy do projektu wygenerowan\u0105 za pomoc\u0105 <em>Eclipse <\/em>bibliotek\u0119 zewn\u0119trzn\u0105. Plik zawieraj\u0105cy program napisany w C++ pojawi si\u0119 na li\u015bcie dost\u0119pnych bibliotek w sekcji typ\u00f3w programu PC Worx Engineer.<\/p>\n<p>&nbsp;<\/p>\n<p>Teraz wystarczy doda\u0107 program napisany w FBD oraz zaimportowan\u0105 bibliotek\u0119 do odpowiednio zdefiniowanego <em>taska<\/em>. W naszym przypadku b\u0119dzie to <em>task<\/em> cykliczny wykonuj\u0105cy si\u0119 z interwa\u0142em 100ms.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/local_pl\/web_content_3col\/pic_con3_pl_0023654_pl.jpg\" \/><\/p>\n<p>Ostatnim etapem jest wykonanie w PC Worx Engineer powi\u0105zania port\u00f3w wej\u015bciowych i wyj\u015bciowych programu FBD i programu C++, tak aby mog\u0142y wymienia\u0107 mi\u0119dzy sob\u0105 informacje.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/local_pl\/web_content_3col\/pic_con3_pl_0023659_pl.jpg\" \/><\/p>\n<p>Projekt mo\u017cna teraz wgra\u0107 do sterownika i przetestowa\u0107 efekty dzia\u0142ania. Zgodnie z oczekiwaniami, po aktywowaniu fizycznego wej\u015bcia sterownika, licznik cyklicznie zwi\u0119ksza swoj\u0105 warto\u015b\u0107 do 1000, informuj\u0105c r\u00f3wnocze\u015bnie stanem zmiennej xIECDirection o tym, \u017ce aktualne liczenie jest \u201ew g\u00f3r\u0119\u201d, a po osi\u0105gni\u0119ciu warto\u015bci maksymalnej zmienia si\u0119 kierunek liczenia i licznik odlicza \u201ew d\u00f3\u0142\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1815 size-full\" src=\"http:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-content\/uploads\/sites\/4\/2018\/10\/c06.gif\" alt=\"\" width=\"915\" height=\"185\" \/><\/p>\n<table>\n<tbody>\n<tr bgcolor=\"#edf0f3\">\n<td width=\"30\"><em>Autor:<\/em><\/td>\n<td width=\"350\"><em>Konrad Sobczyk\u2013 M\u0142odszy Specjalista ds. Szkole\u0144 i Wsparcia Technicznego<\/em><\/td>\n<td width=\"20\"><a href=\"https:\/\/pl.linkedin.com\/in\/konradsobczyk\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1637 size-full\" src=\"http:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-content\/uploads\/sites\/4\/2017\/08\/linkedin50.png\" alt=\"\" width=\"50\" height=\"50\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Podstawow\u0105 cech\u0105 platformy PLCnext Technology jest szeroko rozumiana otwarto\u015b\u0107. Oznacza to mi\u0119dzy innymi otwarte podej\u015bcie do sposobu programowania sterownika PLC. Korzystaj\u0105c z PLCnext Technology nie jeste\u015bmy ograniczani przez wymogi wynikaj\u0105ce z normy IEC 61131, kt\u00f3ra definiuje klasyczne j\u0119zyki programowania sterownik\u00f3w PLC, jak na przyk\u0142ad ladder diagram (\u201edrabinka\u201d) czy function block (\u201ebloczki\u201d). Programista ma zatem mo\u017cliwo\u015b\u0107 [&hellip;]<\/p>\n","protected":false},"author":34,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[162,93],"tags":[171],"class_list":["post-1801","post","type-post","status-publish","format-standard","hentry","category-technical_blog","category-plc","tag-plc-next-technology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sterownik z PLCnext Technology: Programowanie sterownik\u00f3w PLC w j\u0119zyku C++ | Poland<\/title>\n<meta name=\"description\" content=\"Dzi\u0119ki PLCnext Technology nie jeste\u015bmy ograniczani przez wymogi wynikaj\u0105ce z normy IEC 61131, kt\u00f3ra definiuje klasyczne j\u0119zyki programowania sterownik\u00f3w PLC, jak na przyk\u0142ad ladder diagram (\u201edrabinka\u201d) czy function block (\u201ebloczki\u201d).\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sterownik z PLCnext Technology: Programowanie sterownik\u00f3w PLC w j\u0119zyku C++ | Poland\" \/>\n<meta property=\"og:description\" content=\"Dzi\u0119ki PLCnext Technology nie jeste\u015bmy ograniczani przez wymogi wynikaj\u0105ce z normy IEC 61131, kt\u00f3ra definiuje klasyczne j\u0119zyki programowania sterownik\u00f3w PLC, jak na przyk\u0142ad ladder diagram (\u201edrabinka\u201d) czy function block (\u201ebloczki\u201d).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Poland\" \/>\n<meta property=\"article:published_time\" content=\"2018-10-02T09:37:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-04T11:55:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/global\/web_content_graph_3col\/pic_con3_a_0083148_int.jpg\" \/>\n<meta name=\"author\" content=\"phoenixcontactpolska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"phoenixcontactpolska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/\",\"url\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/\",\"name\":\"Sterownik z PLCnext Technology: Programowanie sterownik\u00f3w PLC w j\u0119zyku C++ | Poland\",\"isPartOf\":{\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/global\/web_content_graph_3col\/pic_con3_a_0083148_int.jpg\",\"datePublished\":\"2018-10-02T09:37:38+00:00\",\"dateModified\":\"2018-12-04T11:55:26+00:00\",\"author\":{\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/#\/schema\/person\/c0d9678ec82bb9235a47a5ae359a41a5\"},\"description\":\"Dzi\u0119ki PLCnext Technology nie jeste\u015bmy ograniczani przez wymogi wynikaj\u0105ce z normy IEC 61131, kt\u00f3ra definiuje klasyczne j\u0119zyki programowania sterownik\u00f3w PLC, jak na przyk\u0142ad ladder diagram (\u201edrabinka\u201d) czy function block (\u201ebloczki\u201d).\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/#primaryimage\",\"url\":\"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/global\/web_content_graph_3col\/pic_con3_a_0083148_int.jpg\",\"contentUrl\":\"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/global\/web_content_graph_3col\/pic_con3_a_0083148_int.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sterownik z PLCnext Technology: Programowanie sterownik\u00f3w PLC w j\u0119zyku C++\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/#website\",\"url\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/\",\"name\":\"Poland\",\"description\":\"PHOENIX CONTACT\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/#\/schema\/person\/c0d9678ec82bb9235a47a5ae359a41a5\",\"name\":\"phoenixcontactpolska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e8bca7e72a989c2b40d32eb2709d67dc7d1c6f0c98721ee9452586162da95e0c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e8bca7e72a989c2b40d32eb2709d67dc7d1c6f0c98721ee9452586162da95e0c?s=96&d=mm&r=g\",\"caption\":\"phoenixcontactpolska\"},\"url\":\"https:\/\/blog.phoenixcontact.com\/marketing-pl\/author\/plka01\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sterownik z PLCnext Technology: Programowanie sterownik\u00f3w PLC w j\u0119zyku C++ | Poland","description":"Dzi\u0119ki PLCnext Technology nie jeste\u015bmy ograniczani przez wymogi wynikaj\u0105ce z normy IEC 61131, kt\u00f3ra definiuje klasyczne j\u0119zyki programowania sterownik\u00f3w PLC, jak na przyk\u0142ad ladder diagram (\u201edrabinka\u201d) czy function block (\u201ebloczki\u201d).","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:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/","og_locale":"pl_PL","og_type":"article","og_title":"Sterownik z PLCnext Technology: Programowanie sterownik\u00f3w PLC w j\u0119zyku C++ | Poland","og_description":"Dzi\u0119ki PLCnext Technology nie jeste\u015bmy ograniczani przez wymogi wynikaj\u0105ce z normy IEC 61131, kt\u00f3ra definiuje klasyczne j\u0119zyki programowania sterownik\u00f3w PLC, jak na przyk\u0142ad ladder diagram (\u201edrabinka\u201d) czy function block (\u201ebloczki\u201d).","og_url":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/","og_site_name":"Poland","article_published_time":"2018-10-02T09:37:38+00:00","article_modified_time":"2018-12-04T11:55:26+00:00","og_image":[{"url":"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/global\/web_content_graph_3col\/pic_con3_a_0083148_int.jpg","type":"","width":"","height":""}],"author":"phoenixcontactpolska","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"phoenixcontactpolska","Szacowany czas czytania":"3 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/","url":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/","name":"Sterownik z PLCnext Technology: Programowanie sterownik\u00f3w PLC w j\u0119zyku C++ | Poland","isPartOf":{"@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/#primaryimage"},"image":{"@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/global\/web_content_graph_3col\/pic_con3_a_0083148_int.jpg","datePublished":"2018-10-02T09:37:38+00:00","dateModified":"2018-12-04T11:55:26+00:00","author":{"@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/#\/schema\/person\/c0d9678ec82bb9235a47a5ae359a41a5"},"description":"Dzi\u0119ki PLCnext Technology nie jeste\u015bmy ograniczani przez wymogi wynikaj\u0105ce z normy IEC 61131, kt\u00f3ra definiuje klasyczne j\u0119zyki programowania sterownik\u00f3w PLC, jak na przyk\u0142ad ladder diagram (\u201edrabinka\u201d) czy function block (\u201ebloczki\u201d).","breadcrumb":{"@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/#primaryimage","url":"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/global\/web_content_graph_3col\/pic_con3_a_0083148_int.jpg","contentUrl":"https:\/\/www.phoenixcontact.com\/assets\/images_ed\/global\/web_content_graph_3col\/pic_con3_a_0083148_int.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/programowanie-sterownikow-plc-w-jezyku-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/"},{"@type":"ListItem","position":2,"name":"Sterownik z PLCnext Technology: Programowanie sterownik\u00f3w PLC w j\u0119zyku C++"}]},{"@type":"WebSite","@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/#website","url":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/","name":"Poland","description":"PHOENIX CONTACT","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/#\/schema\/person\/c0d9678ec82bb9235a47a5ae359a41a5","name":"phoenixcontactpolska","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e8bca7e72a989c2b40d32eb2709d67dc7d1c6f0c98721ee9452586162da95e0c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e8bca7e72a989c2b40d32eb2709d67dc7d1c6f0c98721ee9452586162da95e0c?s=96&d=mm&r=g","caption":"phoenixcontactpolska"},"url":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/author\/plka01\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-json\/wp\/v2\/posts\/1801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-json\/wp\/v2\/comments?post=1801"}],"version-history":[{"count":5,"href":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-json\/wp\/v2\/posts\/1801\/revisions"}],"predecessor-version":[{"id":1915,"href":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-json\/wp\/v2\/posts\/1801\/revisions\/1915"}],"wp:attachment":[{"href":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-json\/wp\/v2\/media?parent=1801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-json\/wp\/v2\/categories?post=1801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.phoenixcontact.com\/marketing-pl\/wp-json\/wp\/v2\/tags?post=1801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}