07-28-2009 06:22 AM
Hello,
I am currently working to control a Control Techniques Drive system via LabView and CanOpen, such that the drive system acts as a vehicle emulator. So far I’ve been able to read and write different parameters from LabView to the Control Techniques Drive system through Service Data Object (SDO) Protocol. However, I would like to communicate to the test rig using Process Data Object (PDO) Protocol. If I manually configure the PDO1 from the drive, I can read values stored in it without a problem, however when it comes to using PDO Write, I don’t get any error, but I also don’t get any response. One of the default values for the RxPDO1 includes setting the speed of the motor, so if I want to access that parameter to write a desired speed in percentage,
As I go through the CT CanOpen manual, there seems to be a gap in how to do the mapping for the different PDOs, and how to access the specific menu and parameter. If I want to configure different PDO objects beside the first one that can be configured manually, I have to follow a series of steps which begin by writing enable to the address of the PDO object i.e. TxPDOB 0x1A01, sub-index 0.
I’m attaching what I’ve been working on so far, plus the CT CanOpen datasheet, and I hope you can point me in the right direction. To make things a bit easier, I'm also attaching a slight modified version of the Analogue Output VI (Untitled2.vi), that's found in the CANopen examples folder. In the drive, there are 4 PDOs, each with 4 TxPDO and 4 RxPDO channels. The first PDO can be configured directly from the drive, and that's how I've been able to read parameteres. However, when it comes to write, that's when the problem comes. With this VI, the first RxPDO channel is configured to set the speed of the motor (directly configured in the drive), but I'm not getting any response.
Thanks for your help,
Enrico