• 0

Question

I am looking at the DMC60c CAN protocol guide and also the software API reference manual. What are the API numbers needed in the CAN message to communicate with the DMC60c. For example if I wanted to send a voltage command using the function driveVoltage, what should go in the API field (Byte 1) of the message identifier?

 

Thanks,

matt

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Hi @opethmc,

I have reached out to some of our other engineers more familiar with the DMC60c CAN protocol about this.

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • 0

Hi @opethmc,

The message identifier for sending control messages, which are the types of messages that are sent for driving the output, is 0x02060000 (API  field = 0 decimal).  You need to append the device number of the target DMC60c to the lower 6-bits. This should be documented in the Output Control Protocol section of the DMC60C CAN Protocol Guide.

Thanks,
Michael

Share this post


Link to post
Share on other sites
  • 0

@malexander Thank you. I am also wondering what message format to send to read the current, voltage, and fault information. I am trying to communicate over CAN from a texas instruments TMS570LC4357 processor to the dmc60c. In this case I am not able to use the API so I will have to directly communicate with CAN messages.

Share this post


Link to post
Share on other sites
  • 0

Hi opethmc,

The current and voltage information is reported by the DMC60C every 100ms (by default) in the STSANALOG (0x020614C0) frame. This info can be found on page 28-30 of the CAN protocol guide.

Fault status can be found in byte 4 (fs2) in the STSGENERAL(0x02061400) frame that is sent every 10ms (by default). You can find the fault counts by reading parameters 51 through 57. This can be done by sending PARAMREQ (0x02061800) frames containing the parameter you want to read, then scanning for a PARAMRESP(0x02061840) packet.  This info can be found on page 12-28.

 

Hope this helps!

Tommy

Share this post


Link to post
Share on other sites
  • 0

@tom21091 Thanks Tom, that's helpful. What is the bit rate of the DMC60c CAN line?

Is it possible to read the statuses from CAN and control the driver via PWM? There are 2 sets of input signals - can one be used for CAN and the other for PWM?

I have found from other posts on the forum that the CAN data rate is 1MBps, correct? I have connected Yellow and Green of one of the signal pairs to CAN high and CAN low respectively on a MicroChip CAN Bus Analyzer and I am not seeing any periodic messages sent out. Is there some configuration needed or should this be working out of the box?

Cheers,

matthew

Edited by opethmc

Share this post


Link to post
Share on other sites
  • 0

DMC60C is 1MBps. No, those green and yellow wires are connected together, either CAN or PWM, not both.

The DMC60C must be connected to a CAN bus controller to send out the periodic messages. Otherwise it will flash red. When it detects a CAN bus controller the LEDs will flash Yellow (by default).

 

-Tommy

Share this post


Link to post
Share on other sites
  • 0

Thanks, is sending an enumeration command sufficient to be a CAN bus controller? As an example what would be the exact format to send the enumeration message to the DMC. Just the hex value 240?

Edited by opethmc

Share this post


Link to post
Share on other sites
  • 0

Yes I think so. As long as the controller ACKs the messages coming from the DMC60C it will continue to send the messages.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now