I would like to map SDO objects to some variables inside Application1_Params, but when clicking on the variable mapping field in CANopen Device -> Object Dictionary, only global symbols defined under Device Application are reported whereas, when mapping PDO objects, globals defined in any application are available.
When not using device applications, instead, global applications objects are shown. Is there a way to make this work?
Also, no "Persistent variable configuration" (see "Creating device application" topic in Codesys Help) is available under Device Application -> Add Object.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have never heard about SDO mapping I use CIA405.SDO_READ4 to read SDO and CiA405.SDO_WRITE4 to read and write SDO's.
PDO are used to automatically and regularly read or write certain values. SDO is supposed to be used only when needed in order not to saturate the CAN bus.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You use SDO FBs when you act as a master (have you seen the "CANopen slave" in the title?). And yes, I know the difference between PDO and SDO communication.
When you are implementing a slave, Object Dictionary objects could be mapped to specific variables. However, when using Device Applications, it seems that is not the case, but why?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My application structure (showing only nodes relevant to the problem) is like the following:
I would like to map SDO objects to some variables inside Application1_Params, but when clicking on the variable mapping field in CANopen Device -> Object Dictionary, only global symbols defined under Device Application are reported whereas, when mapping PDO objects, globals defined in any application are available.
When not using device applications, instead, global applications objects are shown. Is there a way to make this work?
Also, no "Persistent variable configuration" (see "Creating device application" topic in Codesys Help) is available under Device Application -> Add Object.
I have never heard about SDO mapping I use CIA405.SDO_READ4 to read SDO and CiA405.SDO_WRITE4 to read and write SDO's.
PDO are used to automatically and regularly read or write certain values. SDO is supposed to be used only when needed in order not to saturate the CAN bus.
You use SDO FBs when you act as a master (have you seen the "CANopen slave" in the title?). And yes, I know the difference between PDO and SDO communication.
When you are implementing a slave, Object Dictionary objects could be mapped to specific variables. However, when using Device Applications, it seems that is not the case, but why?
I see. Now I also want to know.
Is there anyone who knows?
Hi,
i think this is the only application struct ( for multible application) which makes really sense.
https://store.codesys.com/multiple-applications.html?store=en&from_store=default#Product%20Description
BR
Edwin
So you advise against using "Device Applications"? What is their purpose, then?