{"id":666,"date":"2018-06-01T11:10:41","date_gmt":"2018-06-01T09:10:41","guid":{"rendered":"http:\/\/www.embedded-communication.com\/?p=666"},"modified":"2018-06-01T11:34:17","modified_gmt":"2018-06-01T09:34:17","slug":"using-sdo-clients","status":"publish","type":"post","link":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/","title":{"rendered":"Using SDO clients in CANopen Master devices"},"content":{"rendered":"<p>In general a CANopen Master device may have up to 127 different SDO clients that can be configured in any way to communicate with various SDO servers spread over multiple devices in the network. To establish an SDO connection between two devices 2 different CAN-IDs are used and they need to be configured at both the SDO clients and inside the SDO servers. Anyway, most SDO devices only come with 1 SDO server using the CAN-IDs according to the Pre-Defined Connection Set. In this case the configuration is only required on the SDO clients&#8217; side. Two different ways of using SDO clients are most common.<\/p>\n<h2>One SDO Client used for all slaves<\/h2>\n<p>In this way the SDO Client (e.g. inside the CANopen Master) only has 1 SDO client and therefore only 1 SDO Client object 0x1280 in the object dictionary:<br \/>\n<img decoding=\"async\" src=\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png\" alt=\"SDO Client Object\" width=\"700\" class=\"alignright\" \/><br \/>\nwhich contains the following data in the sub indices:<br \/>\n<figure id=\"attachment_670\" aria-describedby=\"caption-attachment-670\" style=\"width: 800px\" class=\"wp-caption alignright\"><img decoding=\"async\" src=\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object2.png\" alt=\"SDO Client Subindices\" width=\"800\" class=\"alignright wp-image-670\" srcset=\"https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object2.png 841w, https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object2-300x71.png 300w, https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object2-768x181.png 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption id=\"caption-attachment-670\" class=\"wp-caption-text\">SDO Client Subindices<\/figcaption><\/figure><br \/>\nThe values of the subindices 1 ..3 have to be reconfigured (internally) each time the SDO client shall be used to communicate with another device. <strong>So only 1 SDO transfer at a time is possible from this CANopen Master.<\/strong><\/p>\n<h2>1 SDO Client for each slave <\/h2>\n<p>The other approach is using a dedicated SDO Client for each SDO server (in a CANopen slave). The most useful approach would be to assign the 1st SDO client to node 1, the 2nd SDO client to node 2 and the 127th SDO client to node 127.<br \/>\nFor this way the object dictionary of the CANopen Master device requires 127 SDO client objects.<br \/>\n<figure id=\"attachment_672\" aria-describedby=\"caption-attachment-672\" style=\"width: 800px\" class=\"wp-caption alignright\"><img decoding=\"async\" src=\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object3.png\" alt=\"SDO Client objects\" width=\"800\" class=\"alignright wp-image-672\" srcset=\"https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object3.png 868w, https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object3-300x56.png 300w, https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object3-768x143.png 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption id=\"caption-attachment-672\" class=\"wp-caption-text\">SDO Client objects<\/figcaption><\/figure><br \/>\nAccording to the predefined connection set all these SDO clients are disabled at start-up and needs to be configured e.g. by the application at startup accordingly. So the 1st SDO clients would use the CAN-IDs 0x601 and 0x581 to communicate with node 1 and the 100th SDO client (configured at object 0x12e3) would use the CAN-IDs 0x6e4 and 0x5e4 to communicate with node 100. <strong>Using this approach up to 127 SDO transfers in parallel are possible.<\/strong><\/p>\n<h3>Fixed network with a subset of slaves<\/h3>\n<p>If the network consists only of a few slave nodes for example 10, 32 and 64 it is also possible to implement only the 10th, 32th and 64th SDO client in the CANopen master devices. <\/p>","protected":false},"excerpt":{"rendered":"<p>In general a CANopen Master device may have up to 127 different SDO clients that can be configured in any way to communicate with various SDO servers spread over multiple devices in the network. To establish an SDO connection between two devices 2 different CAN-IDs are used and they need to be configured at both &hellip; <a href=\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Using SDO clients in CANopen Master devices&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-666","post","type-post","status-publish","format-standard","hentry","category-canopen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Using SDO clients in CANopen Master devices - embedded communication<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using SDO clients in CANopen Master devices - embedded communication\" \/>\n<meta property=\"og:description\" content=\"In general a CANopen Master device may have up to 127 different SDO clients that can be configured in any way to communicate with various SDO servers spread over multiple devices in the network. To establish an SDO connection between two devices 2 different CAN-IDs are used and they need to be configured at both &hellip; Continue reading &quot;Using SDO clients in CANopen Master devices&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/\" \/>\n<meta property=\"og:site_name\" content=\"embedded communication\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-01T09:10:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-06-01T09:34:17+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png\" \/>\n<meta name=\"author\" content=\"Torsten Gedenk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EmbeddedComm\" \/>\n<meta name=\"twitter:site\" content=\"@EmbeddedComm\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Torsten Gedenk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/\"},\"author\":{\"name\":\"Torsten Gedenk\",\"@id\":\"http:\/\/www.embedded-communication.com\/#\/schema\/person\/8f0fcf033edee00b06d4dd4cf196680e\"},\"headline\":\"Using SDO clients in CANopen Master devices\",\"datePublished\":\"2018-06-01T09:10:41+00:00\",\"dateModified\":\"2018-06-01T09:34:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/\"},\"wordCount\":390,\"publisher\":{\"@id\":\"http:\/\/www.embedded-communication.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png\",\"articleSection\":[\"CANopen\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/\",\"url\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/\",\"name\":\"Using SDO clients in CANopen Master devices - embedded communication\",\"isPartOf\":{\"@id\":\"http:\/\/www.embedded-communication.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png\",\"datePublished\":\"2018-06-01T09:10:41+00:00\",\"dateModified\":\"2018-06-01T09:34:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#primaryimage\",\"url\":\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png\",\"contentUrl\":\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"http:\/\/www.embedded-communication.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using SDO clients in CANopen Master devices\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.embedded-communication.com\/#website\",\"url\":\"http:\/\/www.embedded-communication.com\/\",\"name\":\"embedded communication\",\"description\":\"A blog about embedded communcation protocols.\",\"publisher\":{\"@id\":\"http:\/\/www.embedded-communication.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.embedded-communication.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/www.embedded-communication.com\/#organization\",\"name\":\"embedded communication\",\"url\":\"http:\/\/www.embedded-communication.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/www.embedded-communication.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2016\/08\/embedded-communication.png\",\"contentUrl\":\"https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2016\/08\/embedded-communication.png\",\"width\":240,\"height\":240,\"caption\":\"embedded communication\"},\"image\":{\"@id\":\"http:\/\/www.embedded-communication.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/EmbeddedComm\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.embedded-communication.com\/#\/schema\/person\/8f0fcf033edee00b06d4dd4cf196680e\",\"name\":\"Torsten Gedenk\",\"url\":\"https:\/\/www.embedded-communication.com\/en\/author\/ged\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using SDO clients in CANopen Master devices - embedded communication","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.embedded-communication.com\/en\/canopen\/using-sdo-clients\/","og_locale":"en_US","og_type":"article","og_title":"Using SDO clients in CANopen Master devices - embedded communication","og_description":"In general a CANopen Master device may have up to 127 different SDO clients that can be configured in any way to communicate with various SDO servers spread over multiple devices in the network. To establish an SDO connection between two devices 2 different CAN-IDs are used and they need to be configured at both &hellip; Continue reading \"Using SDO clients in CANopen Master devices\"","og_url":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/","og_site_name":"embedded communication","article_published_time":"2018-06-01T09:10:41+00:00","article_modified_time":"2018-06-01T09:34:17+00:00","og_image":[{"url":"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png","type":"","width":"","height":""}],"author":"Torsten Gedenk","twitter_card":"summary_large_image","twitter_creator":"@EmbeddedComm","twitter_site":"@EmbeddedComm","twitter_misc":{"Written by":"Torsten Gedenk","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#article","isPartOf":{"@id":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/"},"author":{"name":"Torsten Gedenk","@id":"http:\/\/www.embedded-communication.com\/#\/schema\/person\/8f0fcf033edee00b06d4dd4cf196680e"},"headline":"Using SDO clients in CANopen Master devices","datePublished":"2018-06-01T09:10:41+00:00","dateModified":"2018-06-01T09:34:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/"},"wordCount":390,"publisher":{"@id":"http:\/\/www.embedded-communication.com\/#organization"},"image":{"@id":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#primaryimage"},"thumbnailUrl":"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png","articleSection":["CANopen"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/","url":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/","name":"Using SDO clients in CANopen Master devices - embedded communication","isPartOf":{"@id":"http:\/\/www.embedded-communication.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#primaryimage"},"image":{"@id":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#primaryimage"},"thumbnailUrl":"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png","datePublished":"2018-06-01T09:10:41+00:00","dateModified":"2018-06-01T09:34:17+00:00","breadcrumb":{"@id":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#primaryimage","url":"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png","contentUrl":"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2018\/06\/sdo_client_object.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.embedded-communication.com\/en\/canopen\/using-sdo-clients\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"http:\/\/www.embedded-communication.com\/"},{"@type":"ListItem","position":2,"name":"Using SDO clients in CANopen Master devices"}]},{"@type":"WebSite","@id":"http:\/\/www.embedded-communication.com\/#website","url":"http:\/\/www.embedded-communication.com\/","name":"embedded communication","description":"A blog about embedded communcation protocols.","publisher":{"@id":"http:\/\/www.embedded-communication.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.embedded-communication.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/www.embedded-communication.com\/#organization","name":"embedded communication","url":"http:\/\/www.embedded-communication.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/www.embedded-communication.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2016\/08\/embedded-communication.png","contentUrl":"https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2016\/08\/embedded-communication.png","width":240,"height":240,"caption":"embedded communication"},"image":{"@id":"http:\/\/www.embedded-communication.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/EmbeddedComm"]},{"@type":"Person","@id":"http:\/\/www.embedded-communication.com\/#\/schema\/person\/8f0fcf033edee00b06d4dd4cf196680e","name":"Torsten Gedenk","url":"https:\/\/www.embedded-communication.com\/en\/author\/ged\/"}]}},"_links":{"self":[{"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/posts\/666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/comments?post=666"}],"version-history":[{"count":10,"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/posts\/666\/revisions"}],"predecessor-version":[{"id":679,"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/posts\/666\/revisions\/679"}],"wp:attachment":[{"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/media?parent=666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/categories?post=666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/tags?post=666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}