yanhualiu - 2018-11-23

Dear ALL,

Here i have a problem of CANopen Device(slave) in codesys, hope you all can give me some suggestions,thanks.

One micro controller from MKT is used as a CANopen slave, and in codesys i configured CANbus and CANopen Device (CAN LOCAL DEVICE) , then i edited the Nodeid and I/O area in CANopen deive(see configuration.jpg).

Then i found that the Access Type of RPDO mapping Entry parameters (e.g 0x1601:16#01,see accesstype.jpg) is const, my question is : is it possible to change this access type from const to rw?

Another question is : can i directly use the function EncodePDOMappingEntry for the OD mapping instead of configure OD in CANopen device?

IF(xEnable = FALSE)THEN 
   
   xEnable := TRUE;
   
   (*enable rxpdo cob-id mapping and entry*)
   pdoCobidEn[0] := _3SCSS.EncodePDOCOBID(xEnabled := TRUE,xExtendedID := FALSE,xRTR := FALSE,dwCOBID := 16#203); (*cob-id of 0x1400*)
   pdoMapEn[0]   := _3SCSS.EncodePDOMappingEntry(wIndex := 16#21CC,bySubIndex := 16#02,byLength := 16#20);
END_IF   
   

Thanks.

IMG: accesstype.jpg

IMG: configuration.jpg