07-28-2008 05:02 PM
I'm using a USB-8473 to control a actuator with CAN capabilities. I am new to programming CAN applications so this may be a bit basic.
I am using the Transmit Receive same Port VI given in the labview examples to communicate with the device and I am able to receive data fine, but when I try to transmit I am getting no response from the actuator. I'm thinking it may be something as simple as not inputting the data correctly in the Data to Write field.
I'm using a baudrate of 500000 as specified by the manufacturer, using a arbitration ID of 0x235, motorola byte order, J2284 structure. The manufacturer said that I need to transmit messages every 30ms at the 500kbaud rate so I changed the looping speed in the block diagram to 30ms.
the two commands on that ID are to turn on the actuator and move it to its desired position.
Desired Position is 16bits, starting at Pos 0, min value of 0x0 and max of 0x3E8
command ON is 1 bit starting position 16, min value of 0x0 max of 0x1
07-29-2008 05:55 AM
Is your cabling correct? A 120Ohm resistor at each end?
Also, is your actuator sending some alive message or sth. so that you can test communication with the bus monitor?
07-29-2008 08:47 AM
The error messages indicate that your motion device is not active on the bus.The USB device only powers his transceiver and not the BUS. You need to power your motion device as well, or the bus if the device needs buspower externally.
DirkW
07-29-2008 11:43 AM
07-29-2008 12:54 PM
07-29-2008 02:21 PM
Just as a reference I've attached a diagram showing how I am connecting to the device.
07-30-2008 04:54 PM
That sounds weird. You can see communication with the Bus Monitor, but at the same time have the NO Ack warning, what means that there is no note at the bus acknowledging the frame. On your drawing i missed the V+ connection between Bus and power supply. Is that something you just forgot to mention?
With your current configuration I can only think about a wrong Baudrate for your Application compared to the Bus Monitor that works fine with the same cable.
DirkW
07-30-2008 05:02 PM
On the bus monitor it tells me I'm communicating at 500kbaud which is the same I have set up in the VI. In the VI I can receive data as well, but get those error messages when I try to write the data.
As for the the V+ connection between Bus and power supply; I thought I didn't require one from what I was reading in the hardware description for the USB-8473:
V+ supplies bus power to the CAN physical layer if external power is required. All High-Speed Series 2 PCI, PXI, and USB hardware is powered internally, so it is not necessary to supply V+, unless you have configured the VBAT jumper for EXT.
07-31-2008 08:59 AM
That is true for our board, but could not be true for your drive. Normaly the CAN transceiver is isolated from the rest of the board and needs power from internaly or externaly.
If the drive s transceiver is not supplied internaly it would need power from external.
But since it is sending something, the transceiver must have power. But it ios still weird that he is not acking the frame send by your application.
DirkW
07-31-2008 12:02 PM