Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

"Status" indicator in the "Error Out" bundle from the CANOpen RPDO Write.vi never turns true after successful write.

Hi CANOpen gurus,

 

I am trying to write a PDO to an ABB variable frequency drive which uses CANOpen for communication. 

I am using a NI-9881 CANOpen Module in slot 1 of 4 in a NI-9063 CompactRIO. I have successfully set up a SDO Batch file and read PDO's from the drive and written PDO's to the drive but when my code enter the timed loop with the "CANOpen RPDO Write.vi" and it successfully writes a PDO to the drive, it won't exit because the "Status" indicator in the Error Out bundle from the CANOpen RPDO Write.vi never turns true. It won't turn true even though the PDO was written successfully to the drive. I need to push the "stop" in order for control to leave the timed loop.

 

I based my code on the NI CANOpen for cRIO example project. Attached is my code

 

I was looking at the "CANOpen Application.vi" in the NI CANOpen for cRIO project, and was thinking maybe I need to add a SYNC message to the network.

 

I would appreciate anybody's thought on why the status won't go to true after a successful write of the PDO.

 

Thanks,

 

0 Kudos
Message 1 of 2
(3,109 Views)

Hello,

 

The "status" of "error out" bundle represents if there is a error during the while loop. So the "status" never turns true is an expected result because there is no error happened after the "CANOpen RPDO Write.vi". In this case, PDOs will be cyclic written and no error occures.

 

SYNC messages are just used for trigger PDO messages. In every SYNC message, the slave transmits the value received from the master and receives a new value and transfer it to the master.

 

Thanks!

 

0 Kudos
Message 2 of 2
(3,093 Views)