sorry for late response. was on biker meeting.
now, i looked at the program but i don't see what equipment is on CAN bus. But let me explain how CAN bus (CANOpen) work in general. when you have a CAN modul, you have to download the Hardware support package to add the module. then under module config you define PDO's, SDO's, sync, NMT (or you can do it through the function block which you have in you program). after defining that you connect PDO's with variables. then you use canopen io read or write to send command or read values to/from device. which values - that you choose when assign a certain PDO to a certain value, like e.g. you define command word to PDO1, reference to PDO2 etc.
difference between SDO and PDO is that PDO are one-way traffic and can only be done when everything is OK. also you can't know if the device get the command or is it return the value you requested. SDO are two-way traffic that require respond, that said it is used primarily for communication setup before activating the PDO data exchange
since i don't know which is your CAN device i could send you a manual for FCAN modul for ABB VFD to get the idea of CANOpen communication protocol, how it works, and the setup...
PS: as with all comm protocols, 90% of work is in the setup, but i could try to explain specific PLC CAN function if the problem lays there,