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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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