{"id":249,"date":"2024-06-21T12:15:00","date_gmt":"2024-06-21T10:15:00","guid":{"rendered":"https:\/\/blog.codesys.it\/?p=249"},"modified":"2024-06-21T14:18:29","modified_gmt":"2024-06-21T12:18:29","slug":"differenza-tra-ethercat_master-e-ethercat_master_softmotion","status":"publish","type":"post","link":"https:\/\/blog.codesys.it\/?p=249","title":{"rendered":"Differenza tra EtherCAT_Master e EtherCAT_Master_SoftMotion"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p><strong>Overview Clock Distribuito<\/strong><br>Nel bus di campo EtherCAT, lo slave \u00e8 tecnologicamente pi\u00f9 avanzato del master; anche perch\u00e9 monta un hardware, che permette di gestire il suo timer interno al nanosecondo. Quando il Master EtherCAT parte, viene settato l\u2019orologio a zero di tutti gli slave EtherCAT. Quando il frame arriva al primo slave, questo setta il timer interno per ottenere sempre il frame Ethercat allo stesso tempo (ad es. 1ms). Il suo timer interno viene poi trasmesso a tutti gli altri slave che supportano il clock distribuito. In questo modo anche se il master non \u00e8 proprio preciso nell\u2019emissione del frame, questo viene \u201caggiustato\u201d dagli slave. Questo sistema ha effetto sul jitter (+\/-) del frame.<\/p>\n\n\n\n<p><strong>Aggiunta del device EtherCAT Master<\/strong><br>Aggiungere un nuovo device partendo dal Device principale:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"662\" height=\"336\" src=\"https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-10.png\" alt=\"\" class=\"wp-image-255\" srcset=\"https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-10.png 662w, https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-10-300x152.png 300w\" sizes=\"auto, (max-width: 662px) 100vw, 662px\" \/><\/figure>\n\n\n\n<p><strong>Sync offset<\/strong><br>Parametro per impostare il tempo di ritardo tra la base tempi DC dell&#8217;EtherCAT Slave e l&#8217;inizio ciclo del PLC. Il valore predefinito \u00e8 20%. Questo tempo \u00e8 attivo contemporaneamente per tutti gli slave con DC. Un offset del 20% significa che l&#8217;interruzione del timer nello slave EtherCAT avviene il 20% prima del successivo ciclo IEC.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"733\" height=\"362\" src=\"https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-12.png\" alt=\"\" class=\"wp-image-258\" srcset=\"https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-12.png 733w, https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-12-300x148.png 300w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><\/figure>\n\n\n\n<p><strong>EtherCAT Master<\/strong><br>Quando si inserisce il dispositivo EtherCAT_Master il parametro &#8220;FrameAtTaskStart&#8221; \u00e8 settato a FALSE:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"312\" src=\"https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-11-1024x312.png\" alt=\"\" class=\"wp-image-256\" style=\"width:1000px\" srcset=\"https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-11-1024x312.png 1024w, https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-11-300x91.png 300w, https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-11-768x234.png 768w, https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-11.png 1271w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Questo settaggio ha un impatto sull&#8217;invio del frame EtherCAT che, in questo caso, viene spedito alla fine del ciclo PLC. Se, ad esempio, stiamo utilizzando un Sync offset al 20%, il ciclo del PLC pu\u00f2 richiedere l&#8217;80% del tempo di ciclo del bus meno il tempo di ritardo nel runtime, e questo senza che il Master non metta pi\u00f9 in tempo i dati di processo attuali sul bus (partendo dal presupposto che lo slave EtherCAT attende i nuovi dati esattamente con interruzione della sincronizzazione).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>EtherCAT Master SoftMotion<\/strong><br>Quando si inserisce il dispositivo EtherCAT_Master_SoftMotion il parametro &#8220;FrameAtTaskStart&#8221; \u00e8 settato a TRUE. <em><strong>Valore predefinito quando si utilizza CODESYS SoftMotion<\/strong><\/em>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"293\" src=\"https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-13-1024x293.png\" alt=\"\" class=\"wp-image-259\" style=\"width:1000px\" srcset=\"https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-13-1024x293.png 1024w, https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-13-300x86.png 300w, https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-13-768x220.png 768w, https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/03\/immagine-13.png 1271w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Questo settaggio ha un impatto sull&#8217;invio del frame EtherCAT che, in questo caso, viene spedito all&#8217;avvio del task Cycle Bus. Il frame viene preparato un ciclo prima. Questo vuol dire che, se il nostro Cycle Bus \u00e8 1ms, il frame EtherCAT \u00e8 in ritardo di 1ms. Questo non \u00e8 importante anche perch\u00e9 tutto il sistema sar\u00e0 in ritardo di 1ms.<br>Per il programma del controllore, quasi il 100% del ciclo \u00e8 sempre disponibile. Qui l&#8217;offset Sync determina solo quando i dati EtherCAT del master vengono scambiati da e verso gli slave rispetto alla base temporale dello slave EtherCAT.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview Clock DistribuitoNel bus di campo EtherCAT, lo slave \u00e8 tecnologicamente pi\u00f9 avanzato del master; anche perch\u00e9 monta un hardware, che permette di gestire il suo timer interno al nanosecondo. Quando il Master EtherCAT parte, viene settato l\u2019orologio a zero di tutti gli slave EtherCAT. Quando il frame arriva al primo slave, questo setta il [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,10],"tags":[],"class_list":["post-249","post","type-post","status-publish","format-standard","hentry","category-base","category-fieldbus"],"_links":{"self":[{"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/posts\/249","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=249"}],"version-history":[{"count":6,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/posts\/249\/revisions"}],"predecessor-version":[{"id":330,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/posts\/249\/revisions\/330"}],"wp:attachment":[{"href":"https:\/\/blog.codesys.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}