{"id":17297,"date":"2023-05-04T15:50:26","date_gmt":"2023-05-04T13:50:26","guid":{"rendered":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?p=17297"},"modified":"2024-03-12T18:06:23","modified_gmt":"2024-03-12T17:06:23","slug":"softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13","status":"publish","type":"post","link":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/","title":{"rendered":"SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13"},"content":{"rendered":"\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"dowiesz-sie\">\n<h3>Z tego artyku\u0142u dowiesz si\u0119:<\/h3>\n<ul class=\"bulleted\">\n<li>czym jest Codesys SoftMotion,<\/li>\n<li>jak skonfigurowa\u0107 SoftMotion w sterowniku PLC,<\/li>\n<li>jak synchronizowa\u0107 serwonap\u0119dy za pomoc\u0105 SoftMotion.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Zapraszamy na kolejny odcinek naszego kursu. B\u0119dzie on po\u015bwi\u0119cony synchronizacji serwonap\u0119d\u00f3w przy pomocy sterownika PLC za pomoc\u0105 oprogramowania SoftMotion. <\/p>\n\n\n\n<div class=\"dowiesz-sie\" style=\"margin-top:40px; margin-bottom:40px\">\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/kurs-programowania-w-codesys\/\"><h3>Kurs programowania w Codesys<\/h3><\/a>\n\n<h4 style=\"font-size:20px; margin-top:25px;\">Cz\u0119\u015b\u0107 I \u2013 Podstawowe funkcjonalno\u015bci \u015brodowiska Codesys<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-stworzyc-program-pierwsze-kroki-w-codesys-kurs-programowania-w-codesys-odc-1\/\">1. Pierwsze kroki w Codesys. Jak stworzy\u0107 program?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/pierwsze-podlaczenie-i-przygotowanie-codesys-do-pracy-ze-sterownikiem-plc-kurs-programowania-w-codesys-odc-2\/\">2. Pierwsze pod\u0142\u0105czenie i przygotowanie Codesys do pracy ze sterownikiem PLC.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-drabinkowy-ld-kurs-programowania-w-codesys-odc-3\/\">3. J\u0119zyk drabinkowy (LD).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/typy-danych-w-codesys-rodzaje-zmiennych-sposoby-ich-tworzenia-kurs-programowania-w-codesys-odc-4\/\">4. Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-schematow-blokowych-fbd-kurs-programowania-w-codesys-odc-5\/\">5. J\u0119zyk schemat\u00f3w blokowych (FBD).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/tworzenie-podstawowej-wizualizacji-hmi-kurs-programowania-w-codesys-odc-6\/\">6. Tworzenie podstawowej wizualizacji HMI.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-strukturalny-st-kurs-programowania-w-codesys-odc-7\/\">7. J\u0119zyk strukturalny (ST).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/diagnostyka-w-codesys-jak-sprawdzac-dzialanie-oprogramowania-i-sterownika-kurs-programowania-w-codesys-odc-8\/\">8. Diagnostyka w Codesys \u2013 jak sprawdza\u0107 dzia\u0142anie oprogramowania i sterownika?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jezyk-blokow-funkcyjnych-cfc-kurs-programowania-w-codesys-odc-9\/\">9. J\u0119zyk blok\u00f3w funkcyjnych (CFC).<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/funkcja-blok-funkcyjny-program-zmodyfikuj-program-w-codesys-dla-lepszej-funkcjonalnosci-kurs-programowania-w-codesys-odc-10\/\">10. Funkcja, blok funkcyjny, program \u2013 zmodyfikuj program w Codesys dla lepszej funkcjonalno\u015bci.<\/a><br\/>\n<h4 style=\"font-size:20px; margin-top:25px;\">Cz\u0119\u015b\u0107 II \u2013 Zaawansowane funkcje i mo\u017cliwo\u015bci \u015brodowiska Codesys<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-jak-skonfigurowac-w-codesys-kurs-programowania-w-codesys-odc-11\/\">11. Komunikacja MQTT \u2013 jak skonfigurowa\u0107 w Codesys?<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-ethercat-konfiguracja-i-przykladowa-aplikacja-kurs-programowania-w-codesys-odc-12\/\">12. Komunikacja EtherCAT \u2013 konfiguracja i przyk\u0142adowa aplikacja.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/\">13. Softmotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-modbus-rtu-i-tcp-ip-w-srodowisku-codesys-kurs-programowania-w-codesys-odc-14\/\">14. Komunikacja Modbus RTU i TCP\/IP w \u015brodowisku Codesys.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/tworzenie-projektow-w-codesys-ze-sterownikami-bezpieczenstwa-safety-architektura-systemu-bezpieczenstwa-kurs-programowania-w-codesys-odc-15\/\">15. Tworzenie projekt\u00f3w w Codesys ze sterownikami bezpiecze\u0144stwa Safety: architektura systemu bezpiecze\u0144stwa.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/programowanie-sterownika-bezpieczenstwa-w-codesys-kurs-programowania-w-codesys-odc-16\/\">16. Programowanie sterownika bezpiecze\u0144stwa w Codesys.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/integracja-sterownika-plc-z-systemem-scada-w-codesys-kurs-programowania-w-codesys-odc-17\/\">17. Integracja sterownika PLC z systemem SCADA w Codesys.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/konfiguracja-maszyny-cnc-z-wykorzystaniem-sterownika-plc-obsluga-g-code-kurs-programowania-w-codesys-odc-18\/\">18. Konfiguracja maszyny CNC z wykorzystaniem sterownika PLC \u2013 obs\u0142uga G-Code.<\/a><br\/>\n\n<h4 style=\"font-size:20px; margin-top:25px;\">Dodatkowe materia\u0142y i lekcje dla kursant\u00f3w:<\/h4>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-stworzyc-wirtualny-serwonaped-i-przetestowac-jego-dzialanie-w-srodowisku-codesys-pierwsze-kroki\/\" target=\"_blank\" rel=\"noopener\">1. Jak stworzy\u0107 wirtualny serwonap\u0119d w Codesys? Instrukcja krok po kroku.<\/a><br\/>\n<a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/przykladowa-aplikacja-codesys-w-jezyku-st-i-ld-napelnianie-i-oproznianie-zbiornikow-wraz-z-alarmowaniem\/\" target=\"_blank\" rel=\"noopener\">2. Przyk\u0142adowa aplikacja Codesys w j\u0119zyku ST i LD: nape\u0142nianie i opr\u00f3\u017cnianie zbiornik\u00f3w wraz z alarmowaniem.<\/a><br\/>\n\n<h4 style=\"font-size:20px; margin-top:25px;\">Najcz\u0119\u015bciej zadawane pytania:<\/h4>\n\n<a href=\"https:\/\/www.astor.com.pl\/oferta\/automatyzacja\/sterowanie\/sterowniki-plc\/astraada-one-modular.html#faq\" target=\"_blank\" rel=\"noopener\">Sprawd\u017a odpowiedzi na najcz\u0119\u015bciej zadawane pytania dotycz\u0105ce \u015brodowiska Codesys.<\/a><br\/>\n\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Czym jest SoftMotion?<\/h2>\n\n\n\n<p>Codesys SoftMotion to oprogramowanie do sterowania ruchem, kt\u00f3re jest wykorzystywane jako \u015brodowisko programistyczne i wykonawcze w uk\u0142adach PLC, pozwalaj\u0105ce na u\u017cycie og\u00f3lno\u015bwiatowego standardu PLCOpen. Dzi\u0119ki temu mo\u017cna efektywnie tworzy\u0107 uk\u0142ady ruchu w PLC. Wiele maszyn i instalacji wymaga uniwersalnego sterownika do sekwencji ruch\u00f3w obok programu logicznego. Nowoczesne platformy procesorowe pozwalaj\u0105 na przetwarzanie zada\u0144 sterowania ruchem, CNC i robotyki na tych samych urz\u0105dzeniach, co sterowanie logiczne. Otwarta architektura Codesys pozwala na po\u0142\u0105czenie lub integracj\u0119 zewn\u0119trznych narz\u0119dzi in\u017cynierskich do planowania i sterowania ruchem, zar\u00f3wno dla prostych ruch\u00f3w, jak i bardziej z\u0142o\u017conych. Aplikacje, kt\u00f3re zawieraj\u0105 kontrol\u0119 przep\u0142ywu i sterowanie procesem, r\u00f3wnie\u017c mieszcz\u0105 si\u0119 w zakresie zastosowa\u0144 Codesys SoftMotion.<\/p>\n\n\n\n<p>Najwa\u017cniejsze funkcje pakietu SoftMotion to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In\u017cynieria projektu ruchu z wykorzystaniem modu\u0142\u00f3w biblioteki funkcji.<\/li>\n\n\n\n<li>Konfiguracja nap\u0119d\u00f3w z obs\u0142ug\u0105 magistrali Fieldbus.<\/li>\n\n\n\n<li>Oddzielenie tworzenia aplikacji od zastosowanego sprz\u0119tu poprzez wydzielenie nap\u0119d\u00f3w z nazwami grup nap\u0119d\u00f3w w drzewie urz\u0105dze\u0144.<\/li>\n\n\n\n<li>Planowanie ruchu z edytorem krzywek.<\/li>\n\n\n\n<li>Zintegrowane planowanie ruchu: z edytorem 3D CNC wg DIN 66025 (G code) i edytorem tabelarycznym z warto\u015bciami wsp\u00f3\u0142rz\u0119dnych dla pozycji robota w r\u00f3\u017cnych uk\u0142adach wsp\u00f3\u0142rz\u0119dnych.<\/li>\n\n\n\n<li>Edycja online program\u00f3w CNC w Codesys Visualization.<\/li>\n<\/ul>\n\n\n\n<p>W pakiecie SoftMotion mo\u017cemy wyr\u00f3\u017cni\u0107:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Edytor w Codesys SoftMotion: pozwala na konfiguracj\u0119 sprz\u0119tu nap\u0119du poprzez interfejs u\u017cytkownika. Tworzona jest instancja bloku funkcyjnego IEC reprezentuj\u0105ca nap\u0119d, kt\u00f3ry automatycznie komunikuje si\u0119 z nap\u0119dem fizycznym. Program IEC mo\u017ce adresowa\u0107 nap\u0119d za pomoc\u0105 blok\u00f3w funkcyjnych bibliotek SoftMotion lub mo\u017cna opracowa\u0107 w\u0142asne bloki funkcyjne. Ustawione warto\u015bci s\u0105 cyklicznie zapisywane przez bloki funkcyjne.<\/li>\n\n\n\n<li>Edytor CNC: w nim generujemy wielowymiarowe ruchy. \u015acie\u017cki CNC tworzymy przy pomocy edytora tekstowego lub graficznego. Alternatywnie do edytora tekstowego mo\u017cna pracowa\u0107 w uproszczonym widoku tabelarycznym.<\/li>\n\n\n\n<li>Konfiguracja grupy osi: grupa osi definiuje relacje pomi\u0119dzy kilkoma mechanicznie zale\u017cnymi osiami, kt\u00f3re wsp\u00f3lnie pozycjonuj\u0105 i orientuj\u0105 narz\u0119dzie lub p\u0142yt\u0119 narz\u0119dziow\u0105 w przestrzeni. Przy pomocy konfiguratora wybierasz i konfigurujesz kinematyk\u0119, kt\u00f3ra ma by\u0107 stosowana. Dodatkowo mo\u017cna przyporz\u0105dkowa\u0107 osie SoftMotion.<\/li>\n<\/ul>\n\n\n\n<p>Ciekaw\u0105 funkcjonalno\u015bci\u0105 jest mo\u017cliwo\u015b\u0107 tworzenia osi wirtualnych. Tak\u0105 o\u015b mo\u017cna te\u017c ustanowi\u0107 osi\u0105 wiod\u0105c\u0105 dla ca\u0142ej maszyny, a osie fizyczne skonfigurowa\u0107 jako podrz\u0119dne. Biblioteka SoftMotion zawiera te\u017c obiekty do wizualizacji pracy serwonap\u0119d\u00f3w, co przyspiesza programowanie i uruchamianie serwonap\u0119d\u00f3w.<\/p>\n\n\n\n<p>Typowe zastosowania biblioteki SoftMotion to aplikacje typu:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We\u017a i od\u0142\u00f3\u017c (Pick&amp;Place), np. pobranie detalu i umieszczenie go w okre\u015blonym miejscu w p\u00f3\u0142produkcie przesuwanym na ta\u015bmoci\u0105gu \u2013 a wi\u0119c synchronizacja pozycji i pr\u0119dko\u015bci z ta\u015bmoci\u0105giem.<\/li>\n\n\n\n<li>Nadruki na produktach i opakowaniach (Labelling), np. nadruki realizowane z u\u017cyciem elektronicznej krzywki CAM, w tym wykrywanie znacznik\u00f3w pocz\u0105tku dla nadruk\u00f3w i etykiet, itp.<\/li>\n\n\n\n<li>Wtryskarki (Injection Moulding Machine), wykorzystuj\u0105ce zmian\u0119 w locie sterowania pozycj\u0105 na sterowanie momentem si\u0142y.<\/li>\n<\/ul>\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\">Konfiguracja SoftMotion w sterowniku PLC<\/h2>\n\n\n\n<p>Aby zacz\u0105\u0107 projektowanie z pomoc\u0105 SoftMotion, nale\u017cy wybra\u0107 <strong>urz\u0105dzenie SoftMotion<\/strong> w oknie dialogowym kreacji projektu.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"531\" height=\"294\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image1.png\" alt=\"\" class=\"wp-image-17303\"\/><figcaption class=\"wp-element-caption\"><em>Utworzenie projektu wykorzystuj\u0105cego SoftMotion. \u0179r\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Po utworzeniu projektu, sp\u00f3jrz na drzewko projektowe znajduj\u0105ce si\u0119 po lewej stronie okna. Zobaczysz, \u017ce pod g\u0142\u00f3wnym taskiem pojawi\u0142 si\u0119 nowy obiekt o nazwie <strong>SoftMotion General Axis Pool<\/strong>. Jest to konektor, kt\u00f3ry stanowi swego rodzaju hub dla urz\u0105dze\u0144 SoftMotion, gdzie mo\u017cesz doda\u0107&nbsp; nowe urz\u0105dzenie. Aby to zrobi\u0107, naci\u015bnij prawym przyciskiem myszy i z menu wybierz opcje <strong>Add Device<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"398\" height=\"471\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image2.png\" alt=\"\" class=\"wp-image-17305\"\/><figcaption class=\"wp-element-caption\"><em>Dodanie urz\u0105dzenia SoftMotion. \u0179r\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nast\u0119pnie wybierz wirtualny serwonap\u0119d. Znajdziesz go pod nazw\u0105 w sekcji <strong>Virtual Drives<\/strong> pod nazw\u0105 <strong>SM_Drive_Virtual<\/strong> i dodaj go do projektu poprzez podw\u00f3jne klikni\u0119cie. Do wykonania projektu b\u0119d\u0105 potrzebne dwa serwonap\u0119dy, wi\u0119c dodaj kolejny nap\u0119d do drzewka projektowego.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"293\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image3.png\" alt=\"\" class=\"wp-image-17306\"\/><figcaption class=\"wp-element-caption\"><em>Dodanie wirtualnego serwonap\u0119du. \u0179r\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Synchronizacja serwonap\u0119d\u00f3w za pomoc\u0105 SoftMotion<\/h2>\n\n\n\n<p>W ramach tego odcinka kursu wykonasz program sekwencyjny z wykorzystaniem gotowych blok\u00f3w funkcyjnych zawartych w licencji SoftMotion. Najpierw poznasz bloki funkcyjne, kt\u00f3re pos\u0142u\u017c\u0105 do regulacji pracy serwonap\u0119d\u00f3w, a nast\u0119pnie skonstruujesz program sekwencyjny, kt\u00f3re serwonap\u0119dy b\u0119d\u0105 wykonywa\u0107.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"link-box d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/themes\/poradnik\/public\/images\/icons\/icon-link.svg\" alt=\"arrow\" class=\"ml-3\">\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<div><p>Plik opisywanej w tym odcinku aplikacji mo\u017cesz \u015bci\u0105gn\u0105\u0107, <a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/kurs-codesys-odc-13-projekt.zip\"><strong>korzystaj\u0105c z tego linku<\/strong><\/a>.<\/p>\n<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\n\n\n\n<p><\/p>\n\n\n\n<p>Bloki, kt\u00f3re wykorzystasz to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>MC_Power<\/strong> \u2013 blok funkcyjny kontroluj\u0105cy zasilanie.<\/li>\n\n\n\n<li><strong>MC_Home<\/strong> \u2013 blok ten wykonuje proces ustawienia serwonap\u0119du do pozycji domowej.<\/li>\n\n\n\n<li><strong>MC_MoveRelative<\/strong> \u2013 realizacja kontrolowanego ruchu na okre\u015blon\u0105 odleg\u0142o\u015b\u0107.<\/li>\n\n\n\n<li><strong>MC_Stop<\/strong> \u2013 zatrzymanie pracy serwonap\u0119du podczas ruchu.<\/li>\n<\/ul>\n\n\n\n<p>Aby m\u00f3c w\u0142a\u015bciwie korzysta\u0107 z tych blok\u00f3w, musisz zapozna\u0107 si\u0119 z opisem i dzia\u0142aniem wej\u015b\u0107 oraz wyj\u015b\u0107 poszczeg\u00f3lnych element\u00f3w.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">MC_Power<\/h3>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Rodzaj wej\u015bcia<\/strong><\/td><td><strong>Nazwa<\/strong><\/td><td><strong>Typ zmiennej<\/strong><\/td><td><strong>Opis<\/strong><\/td><\/tr><tr><td>Wej\u015bcie-wyj\u015bcie<\/td><td>Axis<\/td><td>AXIS_REF_SM3<\/td><td>Odniesienie do osi<\/td><\/tr><tr><td rowspan=\"3\">Wej\u015bcie<\/td><td>Enable<\/td><td>BOOL<\/td><td>Aktywowanie bloku funkcyjnego<\/td><\/tr><tr><td>bRegulatorOn<\/td><td>BOOL<\/td><td>W\u0142\u0105czenie stopnia mocy<\/td><\/tr><tr><td>bDriveStart<\/td><td>BOOL<\/td><td>W\u0142\u0105czenie serwonap\u0119du<\/td><\/tr><tr><td rowspan=\"6\">Wyj\u015bcie<\/td><td>Status<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, nap\u0119d jest gotowy do pracy, b\u0105d\u017a dzia\u0142a poprawnie<\/td><\/tr><tr><td>bRegulatorRealState<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, stopie\u0144 mocy zosta\u0142 aktywowany<\/td><\/tr><tr><td>bDriveStartRealState<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, nap\u0119d nie jest zatrzymany przez mechanizm QuickStop<\/td><\/tr><tr><td>Busy<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, nap\u0119d wykonuje prac\u0119<\/td><\/tr><tr><td>Error<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, nast\u0105pi\u0142 b\u0142\u0105d podczas pracy nap\u0119du.<\/td><\/tr><tr><td>ErrorID<\/td><td>SMC_ERROR<\/td><td>Po wykryciu b\u0142\u0119du zmienna przybierze warto\u015b\u0107 liczbow\u0105, adekwatn\u0105 do typu b\u0142\u0119du. Lista b\u0142\u0119d\u00f3w dost\u0119pna jest w definicji bloku w \u015brodowisku Codesys.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">MC_Home<\/h3>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Rodzaj wej\u015bcia<\/strong><\/td><td><strong>Nazwa<\/strong><\/td><td><strong>Typ zmiennej<\/strong><\/td><td><strong>Opis<\/strong><\/td><\/tr><tr><td>Wej\u015bcie-wyj\u015bcie<\/td><td>Axis<\/td><td>AXIS_REF_SM3<\/td><td>Odniesienie do osi<\/td><\/tr><tr><td rowspan=\"2\">Wej\u015bcie<\/td><td>Execute<\/td><td>BOOL<\/td><td>Aktywowanie procedury<\/td><\/tr><tr><td>Position<\/td><td>LREAL<\/td><td>Pozycja, do kt\u00f3rej zostanie przywr\u00f3cony serwonap\u0119d<\/td><\/tr><tr><td rowspan=\"5\">Wyj\u015bcie<\/td><td>Done<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, procedura zosta\u0142a wykonana poprawnie<\/td><\/tr><tr><td>Busy<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, nap\u0119d wykonuje prac\u0119<\/td><\/tr><tr><td>CommandAborted<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, komenda zosta\u0142a przerwana przez inn\u0105 komend\u0119<\/td><\/tr><tr><td>Error<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, nast\u0105pi\u0142 b\u0142\u0105d podczas pracy nap\u0119du.<\/td><\/tr><tr><td>ErrorID<\/td><td>SMC_ERROR<\/td><td>Po wykryciu b\u0142\u0119du zmienna przybierze warto\u015b\u0107 liczbow\u0105, adekwatn\u0105 do typu b\u0142\u0119du. Lista b\u0142\u0119d\u00f3w dost\u0119pna jest w definicji bloku w \u015brodowisku Codesys.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">MC_MoveRelative<\/h3>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Rodzaj wej\u015bcia<\/strong><\/td><td><strong>Nazwa<\/strong><\/td><td><strong>Typ zmiennej<\/strong><\/td><td><strong>Opis<\/strong><\/td><\/tr><tr><td>Wej\u015bcie-wyj\u015bcie<\/td><td>Axis<\/td><td>AXIS_REF_SM3<\/td><td>Odniesienie do osi<\/td><\/tr><tr><td rowspan=\"7\">Wej\u015bcie<\/td><td>Execute<\/td><td>BOOL<\/td><td>Aktywowanie procedury<\/td><\/tr><tr><td>Distance<\/td><td>LREAL<\/td><td>Odleg\u0142o\u015b\u0107 wzgl\u0119dna dla ruchu w jednostce technicznej [u].<\/td><\/tr><tr><td>Velocity<\/td><td>LREAL<\/td><td>Pr\u0119dko\u015b\u0107 serwonap\u0119du<\/td><\/tr><tr><td>Acceleration<\/td><td>LREAL<\/td><td>Przy\u015bpieszenie serwonap\u0119du, w jednostce technicznej [u\/s\u00b2]<\/td><\/tr><tr><td>Deceleration<\/td><td>LREAL<\/td><td>Hamowanie serwonap\u0119du, w jednostce technicznej [u\/s\u00b2]<\/td><\/tr><tr><td>Jerk<\/td><td>LREAL<\/td><td>Maksymalna wielko\u015b\u0107 szarpni\u0119cia w [u\/s\u00b3]<\/td><\/tr><tr><td>BufferMode<\/td><td>MC_BUFFER_MODE<\/td><td>Okre\u015bla chronologiczn\u0105 kolejno\u015b\u0107 bloku w stosunku do poprzedniego. Je\u017celi blok funkcjonalny jest zaj\u0119ty, to dozwolone jest tylko BufferMode=Aborting.<\/td><\/tr><tr><td rowspan=\"5\">Wyj\u015bcie<\/td><td>Done<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, procedura zosta\u0142a wykonana poprawnie<\/td><\/tr><tr><td>Busy<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, nap\u0119d wykonuje prac\u0119<\/td><\/tr><tr><td>CommandAborted<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, komenda zosta\u0142a przerwana przez inn\u0105 komend\u0119<\/td><\/tr><tr><td>Error<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, nast\u0105pi\u0142 b\u0142\u0105d podczas pracy nap\u0119du.<\/td><\/tr><tr><td>ErrorID<\/td><td>SMC_ERROR<\/td><td>Po wykryciu b\u0142\u0119du zmienna przybierze warto\u015b\u0107 liczbow\u0105, adekwatn\u0105 do typu b\u0142\u0119du. Lista b\u0142\u0119d\u00f3w dost\u0119pna jest w definicji bloku w \u015brodowisku Codesys.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">MC_Stop<\/h3>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Rodzaj wej\u015bcia<\/strong><\/td><td><strong>Nazwa<\/strong><\/td><td><strong>Typ zmiennej<\/strong><\/td><td><strong>Opis<\/strong><\/td><\/tr><tr><td>Wej\u015bcie-wyj\u015bcie<\/td><td>Axis<\/td><td>AXIS_REF_SM3<\/td><td>Odniesienie do osi<\/td><\/tr><tr><td rowspan=\"3\">Wej\u015bcie<\/td><td>Execute<\/td><td>BOOL<\/td><td>Aktywowanie procedury<\/td><\/tr><tr><td>Deceleration<\/td><td>LREAL<\/td><td>Hamowanie w jednostce technicznej [u\/s\u00b2]<\/td><\/tr><tr><td>Jerk<\/td><td>LREAL<\/td><td>Maksymalna wielko\u015b\u0107 szarpni\u0119cia w [u\/s\u00b3]<\/td><\/tr><tr><td rowspan=\"4\">Wyj\u015bcie<\/td><td>Done<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, procedura zosta\u0142a wykonana poprawnie<\/td><\/tr><tr><td>Busy<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, nap\u0119d wykonuje prac\u0119<\/td><\/tr><tr><td>Error<\/td><td>BOOL<\/td><td>Je\u015bli zmienna jest r\u00f3wna TRUE, nast\u0105pi\u0142 b\u0142\u0105d podczas pracy nap\u0119du.<\/td><\/tr><tr><td>ErrorID<\/td><td>SMC_ERROR<\/td><td>Po wykryciu b\u0142\u0119du zmienna przybierze warto\u015b\u0107 liczbow\u0105, adekwatn\u0105 do typu b\u0142\u0119du. Lista b\u0142\u0119d\u00f3w dost\u0119pna jest w definicji bloku w \u015brodowisku Codesys.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Nast\u0119pnie stw\u00f3rz nowy blok funkcyjny, wykorzystuj\u0105cy j\u0119zyk strukturalny ST, o nazwie \u201eSekwencja\u201d. W nim zapiszesz program, kt\u00f3ry b\u0119dzie realizowany przez nap\u0119dy.<\/p>\n\n\n\n<p>Zadeklaruj nast\u0119puj\u0105ce zmienne w bloku funkcyjnym:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>VAR_INPUT\n\tinicjacja:BOOL; \/\/zmienna inicjuj\u0105ca rozpocz\u0119cie sekwencji\n\tdone_ax1:BOOL; \/\/wykonanie ruchu przez serwonap\u0119d nr1\n\tdone_ax2:BOOL; \/\/wykonanie ruchu przez serwonap\u0119d nr2\nEND_VAR\nVAR_OUTPUT\n\tstart_axis_1:BOOL; \/\/sygna\u0142 rozpocz\u0119cia ruchu serwonap\u0119du nr1\n\tstart_axis_2:BOOL; \/\/sygna\u0142 rozpocz\u0119cia ruchu serwonap\u0119du nr2\nEND_VAR\nVAR\n\tdexec_1:BOOL; \/\/zmienna pomocnicza, sygnalizuj\u0105ca czy serwonap\u0119d wykonuje ruch\n\tdexec_2:BOOL; \/\/zmienna pomocnicza, sygnalizuj\u0105ca czy serwonap\u0119d wykonuje ruch\n\tBufor_1:ton; \/\/zegary pomocnicze\n\tBufor_2:ton; \nEND_VAR<\/code><\/pre>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nast\u0119pnie zapisz nast\u0119puj\u0105cy kod w bloku funkcyjnym:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>IF PLC_PRG.Zasilanie_a1.bDriveStart AND PLC_PRG.Zasilanie_a2.bDriveStart THEN \/\/start sekwencji\n\tIF inicjacja THEN\n\t\tstart_axis_1:=TRUE;\n\t\tdexec_1:=1;\n\t\tdexec_2:=0;\n\t\tstart_axis_2:=FALSE;\n\tEND_IF\n\tIF done_ax1=FALSE AND dexec_1 AND inicjacja=0 THEN \/\/ruch serwonap\u0119du nr 1\n\t\tdexec_1:=0;\n\t\tstart_axis_2:=TRUE;\n\t\tstart_axis_1:=FALSE;\n\tEND_IF\n\tBufor_1(IN:=start_axis_2,PT:= T#2S); \/\/2 sekundy stopu przed kolejnym ruchem\n\tIF Bufor_1.Q THEN\n\t\tdexec_2:=1;\n\tEND_IF\n\tIF done_ax2=TRUE AND dexec_2 AND inicjacja=0 THEN \/\/ruch serwonap\u0119du nr 2\n\t\tstart_axis_1:=TRUE;\n\t\tdexec_2:=0;\n\t\tstart_axis_2:=FALSE;\n\n\tEND_IF\n\tBufor_2(IN:=start_axis_1,PT:= T#2S); \/\/2 sekundy stopu przed kolejnym ruchem\n\tIF Bufor_2.Q THEN\n\t\tdexec_1:=1;\n\tEND_IF\nEND_IF<\/code><\/pre>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Ostatnim etapem jest stworzenie programu, korzystaj\u0105cego z wy\u017cej wymienionych blok\u00f3w funkcyjnych. Program zosta\u0142 stworzony w j\u0119zyku CFC, a zatem ko\u0144cowy rezultat programowania b\u0119dzie wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"963\" height=\"521\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image4.png\" alt=\"\" class=\"wp-image-17307\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image4.png 963w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image4-840x454.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image4-768x416.png 768w\" sizes=\"auto, (max-width: 963px) 100vw, 963px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Gotowy program. \u0179r\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Ca\u0142o\u015bci\u0105 aplikacji sterowana jest z poziomu wizualizacji. Nale\u017cy do niej doda\u0107 pola tekstowe do wpisywania oraz wy\u015bwietlania parametr\u00f3w, dedykowane blokom funkcyjnym panele wizualizacyjne oraz wizualizacje serwonap\u0119d\u00f3w wraz z przyciskiem inicjuj\u0105cym sekwencj\u0119. Dodaj pola tekstowe dla zmiennej <em>dist<\/em>, <em>vel<\/em>, <em>acc <\/em>oraz <em>dec<\/em>. Aby do pola tekstowego mo\u017cna by\u0142o wpisywa\u0107 nowe warto\u015bci, nale\u017cy otworzy\u0107 pasek w\u0142a\u015bciwo\u015bci obiektu, a nast\u0119pnie w sekcji <strong>Input Configuration<\/strong> skonfiguruj opcj\u0119 <strong>OnClick<\/strong>. Wybierz akcj\u0119 <strong>WriteVariable<\/strong> i przypisz do niej odpowiedni\u0105 zmienn\u0105.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"587\" height=\"617\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/Przypisanie-zmiennej.gif\" alt=\"\" class=\"wp-image-17310\"\/><figcaption class=\"wp-element-caption\"><em>Przypisanie zmiennej. \u0179r\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Aby pole tekstowe wy\u015bwietla\u0142o warto\u015b\u0107 zmiennej, do pustego pola tekstowego, w sekcji <strong>Texts<\/strong>, w opcji <strong>TextVariable<\/strong> wpisz nazwe zmiennej, kt\u00f3rej warto\u015b\u0107 ma by\u0107 wy\u015bwietlana.<\/p>\n\n\n\n<p>Dodatkowo dopisz w polach tekstowych tekst okre\u015blaj\u0105cy zmienn\u0105 oraz znak \u201e%f\u201d, przyk\u0142adowo \u201ePr\u0119dko\u015b\u0107: %f\u201d. Znak %f spowoduje mo\u017cliwo\u015b\u0107 wy\u015bwietlania zmiennej w formie dziesi\u0119tnej.<\/p>\n\n\n\n<p>Przejd\u017a teraz do dodania paneli steruj\u0105cych blokami funkcyjnymi nale\u017c\u0105cymi do licencji SoftMotion oraz wizualizacji serwonap\u0119du.<\/p>\n\n\n\n<p>W zak\u0142adce <strong>Visualisation Toolbox<\/strong>, wybierz filtr <strong>SM3_Basic<\/strong>. Znajduj\u0105 si\u0119 tam panele, kt\u00f3re mo\u017cesz wyszuka\u0107 wpisuj\u0105c nazw\u0119 bloku z programu, przyk\u0142adowo \u201eMC_POWER\u201d, w wyszukiwarce znajduj\u0105cej si\u0119 na dole zak\u0142adki.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"571\" height=\"375\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image5.png\" alt=\"\" class=\"wp-image-17311\"\/><figcaption class=\"wp-element-caption\"><em>Wyszukiwanie paneli do obs\u0142ugi blok\u00f3w funkcyjnych<em>. \u0179r\u00f3d\u0142o: ASTOR<\/em><\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Ka\u017cdy blok posiada dwie wersje panelu, jednak\u017ce najlepiej wybra\u0107 wersj\u0119 <strong>NEW<\/strong>. Dodaj panele <strong>MC_Power<\/strong>, <strong>MC_Stop<\/strong> oraz <strong>MC_Home<\/strong>, po jednym dla ka\u017cdego serwonap\u0119du. Do ka\u017cdego panelu nale\u017cy doda\u0107 referencj\u0119 do bloku funkcyjnego z programu poprzez wpisanie nazwy instancji bloku, tak jak na poni\u017cszej ilustracji.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"676\" height=\"235\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image6.png\" alt=\"\" class=\"wp-image-17312\"\/><figcaption class=\"wp-element-caption\"><em>Okre\u015blanie referencji do bloku funkcyjnego. \u0179r\u00f3d\u0142o: ASTOR<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Aby doda\u0107 wizualizacj\u0119 serwonap\u0119du, wyszukaj w tym samym miejscu element <strong>RotDrive <\/strong>i dodaj referencj\u0119 w ten sam spos\u00f3b, wpisuj\u0105c jego nazw\u0119, widoczn\u0105 w drzewku projektowym.<\/p>\n\n\n\n<p>Ostatnim elementem jest dodanie przycisku, kt\u00f3ry zainicjuje sekwencj\u0119 serwonap\u0119d\u00f3w. Znajdziesz go w <strong>Common Controls<\/strong> pod nazw\u0105 <strong>RockerSwitch<\/strong>. W polu <strong>Variable<\/strong> przypisz mu zmienn\u0105 inicjuj\u0105c\u0105 program.<\/p>\n\n\n\n<p>Aby aplikacja dzia\u0142a\u0142a poprawnie, wpisz parametry: pr\u0119dko\u015b\u0107, dystans, hamowanie, przy\u015bpieszenie. Naci\u015bnij wszystkie przyciski w panelach MC_Power, tak aby wskaz\u00f3wka na serwonap\u0119dach zmieni\u0142a kolor na niebieski oraz trzy pierwsze diody na panelu za\u015bwieci\u0142y si\u0119 na zielono, a nast\u0119pnie dwukrotnie naci\u015bnij przycisk inicjalizacji sekwencji.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"473\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image7-840x473.png\" alt=\"\" class=\"wp-image-17313\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image7-840x473.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image7-768x432.png 768w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image7.png 966w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><figcaption class=\"wp-element-caption\"><em>Poprawnie skonfigurowana wizualizacja<em>. \u0179r\u00f3d\u0142o: ASTOR<\/em><\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Autor artyku\u0142u: Mateusz Steczkowski<\/strong><\/p>\n\n\n\n<div class=\"link-box d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/themes\/poradnik\/public\/images\/icons\/icon-link.svg\" alt=\"arrow\" class=\"ml-3\">\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<div><p>Plik opisywanej w tym odcinku aplikacji mo\u017cesz \u015bci\u0105gn\u0105\u0107, <a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/kurs-codesys-odc-13-projekt.zip\"><strong>korzystaj\u0105c z tego linku<\/strong><\/a>.<\/p>\n<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\n\n\n\n<p><\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n            <div id=\"mailerlite-form_9\" data-temp-id=\"69e9ebb6f2413\">\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=\"ed91531375\"\/>\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=\"69e9ebb6f2413\"] form`); let submitButton = form_container.querySelector('.mailerlite-subscribe-submit'); submitButton.disabled = true; fetch('https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-admin\/admin-ajax.php', { method: 'POST', headers:{ 'Content-Type': 'application\/x-www-form-urlencoded', }, body: new URLSearchParams({ \"action\" : \"ml_create_nonce\", \"ml_nonce\" : form_container.querySelector(\"input[name='ml_nonce']\").value }) }) .then((response) => response.json()) .then((json) => { if(json.success) { form_container.querySelector(\"input[name='ml_nonce']\").value = json.data.ml_nonce; submitButton.disabled = false; } }) .catch((error) => { console.error('Error:', error); }); form_container.addEventListener('submit', (e) => { e.preventDefault(); let data = new URLSearchParams(new FormData(form_container)).toString(); let validationError = false; document.querySelectorAll('.mailerlite-form-error').forEach(el => el.remove()); Array.from(form_container.elements).forEach((input) => { if(input.type !== 'hidden') { if(input.required) { if(input.value == '') { validationError = true; let error = document.createElement(\"span\"); error.className = 'mailerlite-form-error'; error.textContent = validationMessages.required; input.after(error); return false; } } if((input.type == \"email\") && (!validateEmail(input.value))) { validationError = true; let error = document.createElement(\"span\"); error.className = 'mailerlite-form-error'; error.textContent = validationMessages.email; input.after(error); return false; } } }); if(validationError) { return false; } fade.out(form_container.querySelector('.mailerlite-subscribe-button-container'), () => { fade.in(form_container.querySelector('.mailerlite-form-loader')); }); fetch('https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-admin\/admin-ajax.php', { method: 'POST', headers:{ 'Content-Type': 'application\/x-www-form-urlencoded', }, body: data }) .then((response) => { fade.out(form_container.querySelector('.mailerlite-form-inputs'), () => { fade.in(form_container.querySelector('.mailerlite-form-response')); }); }) .catch((error) => { console.error('Error:', error); }); }); }, false); var fade = { out: function(el, fn = false) { var fadeOutEffect = setInterval(function () { if (!el.style.opacity) { el.style.opacity = 1; } if (el.style.opacity > 0) { el.style.opacity -= 0.1; } else { el.style.display = 'none'; clearInterval(fadeOutEffect); } }, 50); if( typeof (fn) == 'function') { fn(); } }, in: function(el) { var fadeInEffect = setInterval(function () { if (!el.style.opacity) { el.style.opacity = 0; } if (el.style.opacity < 1) { el.style.opacity = Number(el.style.opacity) + 0.1; } else { el.style.display = 'block'; clearInterval(fadeInEffect); } }, 50); } }; function validateEmail(email){ if(email.match( \/^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$\/ )) { return true; } return false; } <\/script> \n","protected":false},"excerpt":{"rendered":"<p>Zapraszamy na kolejny odcinek naszego kursu. B\u0119dzie on po\u015bwi\u0119cony synchronizacji serwonap\u0119d\u00f3w przy pomocy sterownika PLC za pomoc\u0105 oprogramowania SoftMotion. <\/p>\n","protected":false},"author":81,"featured_media":17351,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[234],"tags":[139,142],"class_list":["post-17297","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automatyka-w-praktyce","tag-astraada-one","tag-codesys"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13 | Poradnik Automatyka<\/title>\r\n<meta name=\"description\" content=\"Zapraszamy na 13 odcinek naszego kursu, po\u015bwi\u0119cony synchronizacji serwonap\u0119d\u00f3w przy pomocy sterownika PLC za pomoc\u0105 oprogramowania SoftMotion.\" \/>\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\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/\" \/>\r\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13 | Poradnik Automatyka\" \/>\r\n<meta property=\"og:description\" content=\"Zapraszamy na 13 odcinek naszego kursu, po\u015bwi\u0119cony synchronizacji serwonap\u0119d\u00f3w przy pomocy sterownika PLC za pomoc\u0105 oprogramowania SoftMotion.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Poradnik Automatyka\" \/>\r\n<meta property=\"article:published_time\" content=\"2023-05-04T13:50:26+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2024-03-12T17:06:23+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image-header.jpg\" \/>\r\n\t<meta property=\"og:image:width\" content=\"900\" \/>\r\n\t<meta property=\"og:image:height\" content=\"400\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\r\n<meta name=\"author\" content=\"Mateusz Pytel\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mateusz Pytel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 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\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/\"},\"author\":{\"name\":\"Mateusz Pytel\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/person\\\/30d3dfd95308f3bba081f0a44bb6b97b\"},\"headline\":\"SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13\",\"datePublished\":\"2023-05-04T13:50:26+00:00\",\"dateModified\":\"2024-03-12T17:06:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/\"},\"wordCount\":1930,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/image-header.jpg\",\"keywords\":[\"Astraada One\",\"Codesys\"],\"articleSection\":[\"Automatyka w praktyce\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/\",\"name\":\"SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13 | Poradnik Automatyka\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/image-header.jpg\",\"datePublished\":\"2023-05-04T13:50:26+00:00\",\"dateModified\":\"2024-03-12T17:06:23+00:00\",\"description\":\"Zapraszamy na 13 odcinek naszego kursu, po\u015bwi\u0119cony synchronizacji serwonap\u0119d\u00f3w przy pomocy sterownika PLC za pomoc\u0105 oprogramowania SoftMotion.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/image-header.jpg\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/image-header.jpg\",\"width\":900,\"height\":400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Automatyka w praktyce\",\"item\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/category\\\/automatyka-w-praktyce\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#website\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/\",\"name\":\"Poradnik Automatyka\",\"description\":\"Poradnik Automatyka to przydatne kursy, u\u017cyteczne artyku\u0142y i merytoryczne webinary dla ka\u017cdego automatyka i elektryka.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\",\"name\":\"ASTOR\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/ASTOR_zwykly_sam_logotyp.png\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/ASTOR_zwykly_sam_logotyp.png\",\"width\":3322,\"height\":1078,\"caption\":\"ASTOR\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/person\\\/30d3dfd95308f3bba081f0a44bb6b97b\",\"name\":\"Mateusz Pytel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/mateusz-pytel.jpg\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/mateusz-pytel.jpg\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/mateusz-pytel.jpg\",\"caption\":\"Mateusz Pytel\"},\"description\":\"Mened\u017cer produkt\u00f3w Astraada One i Horner w firmie ASTOR.\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/autor\\\/mateuszpytel\\\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13 | Poradnik Automatyka","description":"Zapraszamy na 13 odcinek naszego kursu, po\u015bwi\u0119cony synchronizacji serwonap\u0119d\u00f3w przy pomocy sterownika PLC za pomoc\u0105 oprogramowania SoftMotion.","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\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/","og_locale":"pl_PL","og_type":"article","og_title":"SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13 | Poradnik Automatyka","og_description":"Zapraszamy na 13 odcinek naszego kursu, po\u015bwi\u0119cony synchronizacji serwonap\u0119d\u00f3w przy pomocy sterownika PLC za pomoc\u0105 oprogramowania SoftMotion.","og_url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/","og_site_name":"Poradnik Automatyka","article_published_time":"2023-05-04T13:50:26+00:00","article_modified_time":"2024-03-12T17:06:23+00:00","og_image":[{"width":900,"height":400,"url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image-header.jpg","type":"image\/jpeg"}],"author":"Mateusz Pytel","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Mateusz Pytel","Szacowany czas czytania":"11 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/#article","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/"},"author":{"name":"Mateusz Pytel","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/30d3dfd95308f3bba081f0a44bb6b97b"},"headline":"SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13","datePublished":"2023-05-04T13:50:26+00:00","dateModified":"2024-03-12T17:06:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/"},"wordCount":1930,"commentCount":0,"publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image-header.jpg","keywords":["Astraada One","Codesys"],"articleSection":["Automatyka w praktyce"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/","name":"SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13 | Poradnik Automatyka","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/#primaryimage"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image-header.jpg","datePublished":"2023-05-04T13:50:26+00:00","dateModified":"2024-03-12T17:06:23+00:00","description":"Zapraszamy na 13 odcinek naszego kursu, po\u015bwi\u0119cony synchronizacji serwonap\u0119d\u00f3w przy pomocy sterownika PLC za pomoc\u0105 oprogramowania SoftMotion.","breadcrumb":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/#primaryimage","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image-header.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/image-header.jpg","width":900,"height":400},{"@type":"BreadcrumbList","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/softmotion-synchronizacja-serwonapedow-przy-pomocy-sterownika-plc-kurs-programowania-w-codesys-odc-13\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Automatyka w praktyce","item":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/category\/automatyka-w-praktyce\/"},{"@type":"ListItem","position":2,"name":"SoftMotion \u2013 synchronizacja serwonap\u0119d\u00f3w przy pomocy sterownika PLC | Kurs programowania w Codesys odc. 13"}]},{"@type":"WebSite","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/","name":"Poradnik Automatyka","description":"Poradnik Automatyka to przydatne kursy, u\u017cyteczne artyku\u0142y i merytoryczne webinary dla ka\u017cdego automatyka i elektryka.","publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization","name":"ASTOR","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png","width":3322,"height":1078,"caption":"ASTOR"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/30d3dfd95308f3bba081f0a44bb6b97b","name":"Mateusz Pytel","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/mateusz-pytel.jpg","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/mateusz-pytel.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/05\/mateusz-pytel.jpg","caption":"Mateusz Pytel"},"description":"Mened\u017cer produkt\u00f3w Astraada One i Horner w firmie ASTOR.","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/autor\/mateuszpytel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/17297","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/comments?post=17297"}],"version-history":[{"count":3,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/17297\/revisions"}],"predecessor-version":[{"id":20237,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/17297\/revisions\/20237"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media\/17351"}],"wp:attachment":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media?parent=17297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/categories?post=17297"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/tags?post=17297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}