WAM Arm – User’s Manual
www.barrett.com
© 2008 Barrett Technology®, Inc.
Document: D1001, Version: AH.00
47 of 80
7.4 CANbus Frame Data Payload
7.4.1
Standard CANbus Message Format
CAN specifies a maximum of 8 bytes/frame payload – our typical payload consists of 4-6 bytes:
[APPPPPPP] [00000000] [LLLLLLLL] [mmmmmmmm] [MMMMMMMM] [HHHHHHHH]
A: Action, 0 = Get property, 1 = Set property
P: Property (128 possible values, 0..127, 0000000..1111111), see Motor Controller Properties and
Safety Module Properties below.
0: Second byte (almost) always set to zero (see exceptions below)
L: Low byte of data value
m: mid-low byte of data value
If sending a 16-bit integer value, the following are not used:
M: Mid-high byte of data value
H: High byte of data value
The CAN frame data length code (DLC) is set to the number of bytes being transmitted.
7.4.2 Exceptions
1) The Position property (P) is a 22-bit, 2's complement number
It is packed into a 3-byte frame payload [00MMMMMM] [mmmmmmmm] [LLLLLLLL]
It is always sent to Group 3
2) Command torque can be sent as a set of four 14-bit, 2's complement numbers
It is sent to the motor controllers in 8 bytes (max):
0 1 2 3 4 5 6 7
APPPPPPP BBBBBBbb bbbbbbCC CCCCcccc ccccDDDD DDdddddd ddEEEEEE eeeeeeee
A = Action (0:Get 1:Set)
P = Property
B = Upper 6 bits of first value
b = Lower 8 bits of first value
C = Upper 6 bits of second value
c = Lower 8 bits of second value
D = Upper 6 bits of third value
d = Lower 8 bits of third value
E = Upper 6 bits of fourth value
e = Lower 8 bits of fourth value
Each motor has a property (PIDX: 1-4), which tells it which torque to use from the set of 4