Difference between revisions of "CAN Protocol"

From Wiki
Line 1: Line 1:
Commonplace Robotics uses the CAN field bus to send position set point values from the robot controller to the  joint modules. The applied protocols are custom, but quite simple. Our robots and control electronics are usually supplied with a [https://www.peak-system.com/PCAN-USB.199.0.html PCAN USB adapter]. Drivers for the adapter can be found on the CPRog installation CD, if supplied, or downloaded here:
+
Commonplace Robotics uses the CAN field bus to send position set point values from the robot controller to the  joint modules. The applied protocols are custom, but quite simple.  
* for Windows 10, 8.1, 7 (32/64-bit): [https://www.peak-system.com/quick/DrvSetup PCAN Windows driver], [http://www.peak-system.com/produktcd/Pdf/English/PCAN-USB_UserMan_eng.pdf Manual]
 
* for Linux [https://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-8.5.1.tar.gz PEAK Linux driver 8.5.1], [https://www.peak-system.com/fileadmin/media/linux/files/PCAN-Driver-Linux_UserMan_eng.pdf Manual]
 
  
Two version are used:
+
===Two version are used===
 
* CPRCAN: 16 bit position data used for  Mover4 and  Mover6 robots and Slider platforms
 
* CPRCAN: 16 bit position data used for  Mover4 and  Mover6 robots and Slider platforms
 
* CPRCANV2: 32 bit position data used for SRA and Mover6-2016 (understands both, CPRCAN and CPRCANV2) robots.  
 
* CPRCANV2: 32 bit position data used for SRA and Mover6-2016 (understands both, CPRCAN and CPRCANV2) robots.  
Line 12: Line 10:
 
The joint modules answer with an error code that provides the current state.   
 
The joint modules answer with an error code that provides the current state.   
  
'''Resources:'''
+
===Resources:===
 
* Documentation: [http://www.cpr-robots.com/download/CAN/UserGuide_ProtocolCPRCAN_V04.pdf CAN protocol documentation]
 
* Documentation: [http://www.cpr-robots.com/download/CAN/UserGuide_ProtocolCPRCAN_V04.pdf CAN protocol documentation]
 
* Linux examples: C sources can be downloaded at [http://www.github.com/CPR-Robots www.github.com/CPR-Robots]
 
* Linux examples: C sources can be downloaded at [http://www.github.com/CPR-Robots www.github.com/CPR-Robots]
Line 18: Line 16:
 
** The example code builds on the [https://www.peak-system.com/fileadmin/media/files/pcan-basic.zip PCAN basic API] to communicate via the [https://www.peak-system.com/PCAN-USB.199.0.html PCAN-USB adapter]. The documentation for the API can be found in chapter 5 of the [http://www.peak-system.com/produktcd/Pdf/English/PCAN-USB_UserMan_eng.pdf PCAN-USB Manual]
 
** The example code builds on the [https://www.peak-system.com/fileadmin/media/files/pcan-basic.zip PCAN basic API] to communicate via the [https://www.peak-system.com/PCAN-USB.199.0.html PCAN-USB adapter]. The documentation for the API can be found in chapter 5 of the [http://www.peak-system.com/produktcd/Pdf/English/PCAN-USB_UserMan_eng.pdf PCAN-USB Manual]
 
Currently we are updating the example source code to the cprcanv2 protocol. Please get in contact if you need these sources.
 
Currently we are updating the example source code to the cprcanv2 protocol. Please get in contact if you need these sources.
 +
 +
===Hardware / Drivers===
 +
Our robots and control electronics are usually supplied with a [https://www.peak-system.com/PCAN-USB.199.0.html PCAN USB adapter]. Drivers for the adapter can be found on the CPRog installation CD, if supplied, or downloaded here:
 +
* for Windows 10, 8.1, 7 (32/64-bit): [https://www.peak-system.com/quick/DrvSetup PCAN Windows driver], [http://www.peak-system.com/produktcd/Pdf/English/PCAN-USB_UserMan_eng.pdf Manual]
 +
* for Linux [https://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-8.5.1.tar.gz PEAK Linux driver 8.5.1], [https://www.peak-system.com/fileadmin/media/linux/files/PCAN-Driver-Linux_UserMan_eng.pdf Manual]
 
[[Category:Downloads]]
 
[[Category:Downloads]]

Revision as of 19:40, 20 June 2018

Commonplace Robotics uses the CAN field bus to send position set point values from the robot controller to the joint modules. The applied protocols are custom, but quite simple.

Two version are used

  • CPRCAN: 16 bit position data used for Mover4 and Mover6 robots and Slider platforms
  • CPRCANV2: 32 bit position data used for SRA and Mover6-2016 (understands both, CPRCAN and CPRCANV2) robots.

The position set point messages have to be send in a loop with e.g. 20 Hz. The application has to verify that this loop has a constant cycle time. If the jitter is too big the motion control modules might get into a communication loss error state. Additionally the application has to send state change messages like reset-all-errors and enable-motors.

The joint modules answer with an error code that provides the current state.

Resources:

Currently we are updating the example source code to the cprcanv2 protocol. Please get in contact if you need these sources.

Hardware / Drivers

Our robots and control electronics are usually supplied with a PCAN USB adapter. Drivers for the adapter can be found on the CPRog installation CD, if supplied, or downloaded here: