iika - 2019-02-25

Hey,

I have created a function block for transferring a binary file over CANOpen via SDO-transfer. The block follows a sequence provided by the device manufacturer, which begins by setting a certain bit to "TRUE" on the receiving end.

However, after calling the SDO-transfer block the system comes to a total halt. When monitoring the CAN bus it seems that the SDO-message is never transmitted even tho the function block (CiA405.SDO_WRITE_DATA) is called. I am unable to stop the program or logout unless I physically reboot the controller. Once in a few attempts (maybe 1/5) I get a halt on-an-exception, however I am not able to enter the source position via the PLC log (I get the error "code must be generated", even if I've done so).

I tried to insert a break point to the line where the block is called, but there seems to be no error message from the block and whenever I try to escape the break point I just get the message "Invalid result package".

Is there any way to find out what causes this error message to appear?

BR, Iiro