{"id":1167,"date":"2024-12-11T13:46:04","date_gmt":"2024-12-11T12:46:04","guid":{"rendered":"https:\/\/www.embedded-communication.com\/?p=1167"},"modified":"2024-12-11T14:03:55","modified_gmt":"2024-12-11T13:03:55","slug":"english-using-multiple-pdos-with-the-canopen-devicedesigner","status":"publish","type":"post","link":"https:\/\/www.embedded-communication.com\/en\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/","title":{"rendered":"Using multiple PDOs with the CANopen DeviceDesigner"},"content":{"rendered":"<p>The use of the emotas CANopen Stack and the great emotas CANopen DeviceDesigner allows for the development of devices that support up to 512 PDOs in each direction. However, should one wish to utilize more than 4 PDOs in each direction, a number of considerations must be taken into account.<!--more--><\/p>\n<p>By default the CANopen stack uses the Pre-defined connection set for PDO COB-IDs, which means e.g. for Transmit-PDOs that the COB-IDs of the first 4 PDOs are set to 0x180+NodeId,0x280+NodeId,0x380+NodeId and 0x480+NodeId and all additional PDOs are disabled. <\/p>\n<p>If one wants to deviate from that, it is possible to enable &#8220;Overwrite pre-defined connection set&#8221; in the CANopen DeviceDesigner: CANopen Stack Settings -> basic CANopen Settings.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.png\" alt=\"Screenshot CDD Overwrite Predefined connection set.\" width=\"718\" height=\"332\" class=\"alignnone size-full wp-image-1171\" srcset=\"https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.png 718w, https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef-300x139.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>After that, one can specify the desired COB-ID for each PDO e.g. like this:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_pdo_cob.png\" alt=\"CDD PDO COB ID\" width=\"1041\" height=\"499\" class=\"alignnone size-full wp-image-1173\" srcset=\"https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_pdo_cob.png 1041w, https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_pdo_cob-300x144.png 300w, https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_pdo_cob-1024x491.png 1024w, https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_pdo_cob-768x368.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><br \/>\n(In the example above the COB-ID is 0x20123456 which means that the bit 29 is set and thus this PDO is send using 29-bit CAN-IDs.)<\/p>\n<p>Beyond that additional steps are necessary.<\/p>\n<p>Enabling &#8220;Overwrite pre-defined connection set&#8221; just activates the generation of the function RET_T userOverwriteCobIdSettings() in the file gen_objdict.c:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_user_overwrite.png\" alt=\"CDD User Overwrite\" width=\"829\" height=\"532\" class=\"alignnone size-full wp-image-1175\" srcset=\"https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_user_overwrite.png 829w, https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_user_overwrite-300x193.png 300w, https:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_user_overwrite-768x493.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>This generated function userOverwriteCobIdSettings() needs to be called in the load indication function to overwrite the settings set by the CANopen stack itself.<br \/>\nThe load indication function is a function which can be passed to coCanOpenStackInit() and it will be called at start-up and each time a NMT reset command has been received.<\/p>\n<p> <\/p>","protected":false},"excerpt":{"rendered":"<p>The use of the emotas CANopen Stack and the great emotas CANopen DeviceDesigner allows for the development of devices that support up to 512 PDOs in each direction. However, should one wish to utilize more than 4 PDOs in each direction, a number of considerations must be taken into account.<\/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-1167","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 multiple PDOs with the CANopen DeviceDesigner - 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=\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using multiple PDOs with the CANopen DeviceDesigner - embedded communication\" \/>\n<meta property=\"og:description\" content=\"The use of the emotas CANopen Stack and the great emotas CANopen DeviceDesigner allows for the development of devices that support up to 512 PDOs in each direction. However, should one wish to utilize more than 4 PDOs in each direction, a number of considerations must be taken into account.\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/\" \/>\n<meta property=\"og:site_name\" content=\"embedded communication\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-11T12:46:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-11T13:03:55+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.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\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/\"},\"author\":{\"name\":\"Torsten Gedenk\",\"@id\":\"https:\/\/www.embedded-communication.com\/en\/#\/schema\/person\/8f0fcf033edee00b06d4dd4cf196680e\"},\"headline\":\"Using multiple PDOs with the CANopen DeviceDesigner\",\"datePublished\":\"2024-12-11T12:46:04+00:00\",\"dateModified\":\"2024-12-11T13:03:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/\"},\"wordCount\":247,\"publisher\":{\"@id\":\"https:\/\/www.embedded-communication.com\/en\/#organization\"},\"image\":{\"@id\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.png\",\"articleSection\":[\"CANopen\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/\",\"url\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/\",\"name\":\"Using multiple PDOs with the CANopen DeviceDesigner - embedded communication\",\"isPartOf\":{\"@id\":\"https:\/\/www.embedded-communication.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.png\",\"datePublished\":\"2024-12-11T12:46:04+00:00\",\"dateModified\":\"2024-12-11T13:03:55+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#primaryimage\",\"url\":\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.png\",\"contentUrl\":\"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/www.embedded-communication.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"(English) Using multiple PDOs with the CANopen DeviceDesigner\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.embedded-communication.com\/en\/#website\",\"url\":\"https:\/\/www.embedded-communication.com\/en\/\",\"name\":\"embedded communication\",\"description\":\"A blog about embedded communcation protocols.\",\"publisher\":{\"@id\":\"https:\/\/www.embedded-communication.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.embedded-communication.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.embedded-communication.com\/en\/#organization\",\"name\":\"embedded communication\",\"url\":\"https:\/\/www.embedded-communication.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.embedded-communication.com\/en\/#\/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\":\"https:\/\/www.embedded-communication.com\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/EmbeddedComm\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.embedded-communication.com\/en\/#\/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 multiple PDOs with the CANopen DeviceDesigner - 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":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/","og_locale":"en_US","og_type":"article","og_title":"Using multiple PDOs with the CANopen DeviceDesigner - embedded communication","og_description":"The use of the emotas CANopen Stack and the great emotas CANopen DeviceDesigner allows for the development of devices that support up to 512 PDOs in each direction. However, should one wish to utilize more than 4 PDOs in each direction, a number of considerations must be taken into account.","og_url":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/","og_site_name":"embedded communication","article_published_time":"2024-12-11T12:46:04+00:00","article_modified_time":"2024-12-11T13:03:55+00:00","og_image":[{"url":"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.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":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#article","isPartOf":{"@id":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/"},"author":{"name":"Torsten Gedenk","@id":"https:\/\/www.embedded-communication.com\/en\/#\/schema\/person\/8f0fcf033edee00b06d4dd4cf196680e"},"headline":"Using multiple PDOs with the CANopen DeviceDesigner","datePublished":"2024-12-11T12:46:04+00:00","dateModified":"2024-12-11T13:03:55+00:00","mainEntityOfPage":{"@id":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/"},"wordCount":247,"publisher":{"@id":"https:\/\/www.embedded-communication.com\/en\/#organization"},"image":{"@id":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#primaryimage"},"thumbnailUrl":"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.png","articleSection":["CANopen"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/","url":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/","name":"Using multiple PDOs with the CANopen DeviceDesigner - embedded communication","isPartOf":{"@id":"https:\/\/www.embedded-communication.com\/en\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#primaryimage"},"image":{"@id":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#primaryimage"},"thumbnailUrl":"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.png","datePublished":"2024-12-11T12:46:04+00:00","dateModified":"2024-12-11T13:03:55+00:00","breadcrumb":{"@id":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#primaryimage","url":"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.png","contentUrl":"http:\/\/www.embedded-communication.com\/wp-content\/uploads\/2024\/12\/cdd_overwrite_predef.png"},{"@type":"BreadcrumbList","@id":"http:\/\/www.embedded-communication.com\/canopen\/english-using-multiple-pdos-with-the-canopen-devicedesigner\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.embedded-communication.com\/en\/"},{"@type":"ListItem","position":2,"name":"(English) Using multiple PDOs with the CANopen DeviceDesigner"}]},{"@type":"WebSite","@id":"https:\/\/www.embedded-communication.com\/en\/#website","url":"https:\/\/www.embedded-communication.com\/en\/","name":"embedded communication","description":"A blog about embedded communcation protocols.","publisher":{"@id":"https:\/\/www.embedded-communication.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.embedded-communication.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.embedded-communication.com\/en\/#organization","name":"embedded communication","url":"https:\/\/www.embedded-communication.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.embedded-communication.com\/en\/#\/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":"https:\/\/www.embedded-communication.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/EmbeddedComm"]},{"@type":"Person","@id":"https:\/\/www.embedded-communication.com\/en\/#\/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\/1167","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=1167"}],"version-history":[{"count":7,"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/posts\/1167\/revisions"}],"predecessor-version":[{"id":1177,"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/posts\/1167\/revisions\/1177"}],"wp:attachment":[{"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/media?parent=1167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/categories?post=1167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.embedded-communication.com\/en\/wp-json\/wp\/v2\/tags?post=1167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}