Dear Peak System,
We are currently working on the integration of a CANOpen Master (cPci board) in a controller. In this context, we have bought three kinds of remote IO; namely Mix1, Digital1, Analog1 boards, they will act as CANOpen slave.
We are experiencing some trouble about the node-ID of these modules. According to the datasheet the default settings are:
• Node ID : 0.
• Baud rate: 500 kBaud/s.
However, it’s possible to set a specific node-id to the module thanks to the solder jumper. Hence, we have removed the integrated circuit from its case and solder the jumper ‘4’ ; we should get the following parameters :
• Node ID: 16.
• Baud rate : 500 kBaud/s. (? I assume).
Note: I have set the J21 terminal to the ground via a wire in order to force the module to reset and also try to send the CAN message described @ http://www.peak-system.com/forum/viewto ... f=29&t=895
We have then monitored the CAN bus thanks to a tool. The master (node ID: 1) tries to send some SDO packets during the startup to the node-id (16); then it starts the network (NMT). However the RIO doesn’t react.
Afterwards, the only CANOpen messages were NodeGuard (0x701) and TIMESTAMP (0x100).
We have also used another tool that allow to explore all the OD of a device according to its node ID; once again, no response. This tool is also able to explore the network but unfortunately no device was found.
Regarding these results, we assume that the device is still at the default node ID (0).
So my question is how I can be sure about the actual slave node-id , does the procedure with jumper ‘4’ and the related node-id 16 is correct and how can I configure the slave to a specific node-id afterward.
Thank you in advance,
Best regards,
IO modules : node-id settings
- PEAK-Support
- Sales & Support
- Posts: 1646
- Joined: Fri 10. Sep 2010, 19:34
Re: IO modules : node-id settings
Please read the CANOpen Manual for the Modules (part of the product on the red DVD)
Direct Download LINK. See Page 19 Section 3.3:
Direct Download LINK. See Page 19 Section 3.3:
The solder PINS are for changing the Node ID if you use the MicroMod with our Standard Software (MicroMod Config Compatible) but NOT for changing the CANOpen Node ID !!Assignment of Bit Rate and Node ID
The CAN bit rate and CANopen node ID used cannot be changed by
hardware. They can be changed by writing specific values to an
Object Dictionary entry.
Using a CANopen configuration tool (such as CANopen Magic),
writes to the Object Dictionary entry [1F50h,03h] can change the bit
rate and node ID.
Writing the 4-byte ASCII string “BPSx” changes the bit rate. ‘x’ must
be replaced with one of the following digits (LSS compatible
values)
Value Bit rate
0 - 1 Mbit/s
1 - 800 kbit/s
2 - 500 kbit/s
3 - 250 kbit/s
4 - 125 kbit/s
6 - 50 kbit/s
Other bit rates are not supported.
Writing the 4-byte ASCII string “NIxy” changes the node ID. ‘xy’
must be replaced by a 2-digit hexadecimal number specifying the
new node ID, which must be in the range of 01h to 7Fh.
--------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
Re: IO modules : node-id settings
First of all, thank you for your response.
This morning and following your last post, I have tried once again to set the node ID thanks to the 1F50:3 object dictionary.
Currently, I have two tools provided in the SDK of my cPCI CanOpen board that allow me either to send basic CAN message or either scan a CanOpen network in order to discover the available devices and retrieve their OD values.
The network is composed of one master, namely the cPCI board and one slave, i.e. Digital1 IO board.
I have decided to send a basic Can message with
• Identifier 600 (SDO node id 0 ?).
• 1 Byte - command : 2B.
• 2 Byte - index : 50 1F.
• 1 Byte - sub-index : 03.
• 4 Byte - data : 32 30 49 4E (NI02 in little endian).
id=0x600(?), len=8, Data=0x2B,0x50,0x1F,0x03,0x32,0x30,0x49,0x4E.
Note that I’m not sure about the identifier value (600) as another datasheet mentions (Digital 1 / Digital 2 Motherboard for the PCAN-MicroMod User Manual – p15):
• CAN ID reserved for configuration transfer - 0x7E7.
Unfortunately, it doesn’t work ; even if I use the other tool which scan the node from 1 to 127.
• Is the above message is correct?
• Should I also save the configuration in the module via the following message?
Write "save" to Object [0x1010.1]
id=0x600 (?), len=8, Data=0x23,0x10,0x10,0x01,0x73,0x61,0x76,0x65.
• Should I restart the module (power on – off).
Thank you in advance,
Best regards,
This morning and following your last post, I have tried once again to set the node ID thanks to the 1F50:3 object dictionary.
Currently, I have two tools provided in the SDK of my cPCI CanOpen board that allow me either to send basic CAN message or either scan a CanOpen network in order to discover the available devices and retrieve their OD values.
The network is composed of one master, namely the cPCI board and one slave, i.e. Digital1 IO board.
I have decided to send a basic Can message with
• Identifier 600 (SDO node id 0 ?).
• 1 Byte - command : 2B.
• 2 Byte - index : 50 1F.
• 1 Byte - sub-index : 03.
• 4 Byte - data : 32 30 49 4E (NI02 in little endian).
id=0x600(?), len=8, Data=0x2B,0x50,0x1F,0x03,0x32,0x30,0x49,0x4E.
Note that I’m not sure about the identifier value (600) as another datasheet mentions (Digital 1 / Digital 2 Motherboard for the PCAN-MicroMod User Manual – p15):
• CAN ID reserved for configuration transfer - 0x7E7.
Unfortunately, it doesn’t work ; even if I use the other tool which scan the node from 1 to 127.
• Is the above message is correct?
• Should I also save the configuration in the module via the following message?
Write "save" to Object [0x1010.1]
id=0x600 (?), len=8, Data=0x23,0x10,0x10,0x01,0x73,0x61,0x76,0x65.
• Should I restart the module (power on – off).
Thank you in advance,
Best regards,
- PEAK-Support
- Sales & Support
- Posts: 1646
- Joined: Fri 10. Sep 2010, 19:34
Re: IO modules : node-id settings
Please do not MIX up the IDs and settings we use with our Standard Software (MicroMod Config),
With the Std. Firmware we use the 0x7E7 but not when you use the CANOpen Firmware - than the unit works as a normal CANOpen Devive.
Node ID could be set via CAN, Baudrate could be set via CAN, no use of 0x7E7.
Please read here: LINK
The default node ID when using the CANOpen Firmware is 64.
With the Std. Firmware we use the 0x7E7 but not when you use the CANOpen Firmware - than the unit works as a normal CANOpen Devive.
Node ID could be set via CAN, Baudrate could be set via CAN, no use of 0x7E7.
Please read here: LINK
The default node ID when using the CANOpen Firmware is 64.
--------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
Re: IO modules : node-id settings
Let assume the actual CanOpen node ID of our module is 64. The CanOpen object viewer tool doesn't detect any device available. In addition, I have manually sent a CAN message in order to read the device type (0x1000,00) via id=0x640(), len=8, Data=0x40,0x00,0x10,0x00,0x00,0x00,0x00,0x00.
Afterwards, I have tried the method here below, described in the PCAN-MicroMod CanOpen CanOpen® Firmware for PCAN-MicroMod User Manual V1.1.0. The module was reset thank to the terminal J21.
I have also monitored the CAN bus via an electrical analyzer, only timestamp type messages were transmitted by the CanOpen device (ID 100), the smallest electrical pulse observed was 2 µs long which means the IO’s Baudrate might be set at 500Kbit/s; which implies the reset has failed. Note that the master has been shut down during this test.
Is there any issue about our Digital 1 CanOpen firmware?
What are the common steps “to plug” a Digital1 module into a CanOpen bus if we don’t use your MicroMod config software ?
Thank you in advance,
Best regards,
Afterwards, I have tried the method here below, described in the PCAN-MicroMod CanOpen CanOpen® Firmware for PCAN-MicroMod User Manual V1.1.0. The module was reset thank to the terminal J21.
However the behavior was the same and I was not able to get a response from the module.PCAN-MicroMod features a total of 5 solder bridges. The CanOpen implementations currently only use the solder bridge ‘4’ as a boot mode indicator. If solder bridge ‘4’ is closed, after reset, PCANMicroMod starts in a default boot mode using a CAN bit rate of 125 kbit/s and the CanOpen node ID 40h/64d.
A “blinking” LED blinks with a period of 200 milliseconds.
A “single flash” LED is on for 200 milliseconds and then off for 1 second.
I have also monitored the CAN bus via an electrical analyzer, only timestamp type messages were transmitted by the CanOpen device (ID 100), the smallest electrical pulse observed was 2 µs long which means the IO’s Baudrate might be set at 500Kbit/s; which implies the reset has failed. Note that the master has been shut down during this test.
Is there any issue about our Digital 1 CanOpen firmware?
What are the common steps “to plug” a Digital1 module into a CanOpen bus if we don’t use your MicroMod config software ?
Thank you in advance,
Best regards,
- PEAK-Support
- Sales & Support
- Posts: 1646
- Joined: Fri 10. Sep 2010, 19:34
Re: IO modules : node-id settings
Here how to do it - Step by Sstep
- You bought a standard MicroMod CPU Module with the Standard Firmware. There is NO need to solder any pins on the module if you want to use it for CAN-Open. Simply flash the CANOpen Firmware to the module (serial Flash Tool - see product DVD and Manual) - best choice is using the MicroMod Eval Board - very easy to use.
- After the new CANOpen Firmware is flashed, and the unit is restartet. The LED flash fast (Pre Operational Mode)
- The CANOpen Node ID after flash the CANOpen Firmware is always ID40h/64d
- Baudrate is always 125K
Now connect the Module to a terminated CAN Cable and send with PCAN-View (or any other CAN Tool) by using 125KBit the Data to the EEPROM:
Write "load" to Object [0x1011.1]
In case node-id is 64 (default) this is done by the following CAN-Frame:
id=0x640, len=8, Data=0x23,0x11,0x10,0x01,0x6c,0x6f,0x61,0x64
- Reset the Module.
- Write "save" to Object [0x1010.1]
id=0x640, len=8, Data=0x23,0x10,0x10,0x01,0x73,0x61,0x76,0x65
Now the module is ready to use - simply switch to operational mode:
id=0x000, len=2, Data=0x01,0x00 ---> LED ON
To set the node in STOP mode send
id=0x000, len=2, Data=0x02,0x00 ---> LED flash slow
Back to Pre-Operational Mode:
id=0x000, len=2, Data=0x80,0x00 ---> LED flash fast
If all these test work fine - you now could chnage ID and/or Baudrate like you could do with every CANOpen node.
(see CANOpen Specification and CANOpen manualof our modules)
If you have still any problems until now - please send a E-Mail with exact description what you have done in the past (soldering, flashing etc.) to our Support[at]peak-system.com Mail Address.
- You bought a standard MicroMod CPU Module with the Standard Firmware. There is NO need to solder any pins on the module if you want to use it for CAN-Open. Simply flash the CANOpen Firmware to the module (serial Flash Tool - see product DVD and Manual) - best choice is using the MicroMod Eval Board - very easy to use.
- After the new CANOpen Firmware is flashed, and the unit is restartet. The LED flash fast (Pre Operational Mode)
- The CANOpen Node ID after flash the CANOpen Firmware is always ID40h/64d
- Baudrate is always 125K
Now connect the Module to a terminated CAN Cable and send with PCAN-View (or any other CAN Tool) by using 125KBit the Data to the EEPROM:
Write "load" to Object [0x1011.1]
In case node-id is 64 (default) this is done by the following CAN-Frame:
id=0x640, len=8, Data=0x23,0x11,0x10,0x01,0x6c,0x6f,0x61,0x64
- Reset the Module.
- Write "save" to Object [0x1010.1]
id=0x640, len=8, Data=0x23,0x10,0x10,0x01,0x73,0x61,0x76,0x65
Now the module is ready to use - simply switch to operational mode:
id=0x000, len=2, Data=0x01,0x00 ---> LED ON
To set the node in STOP mode send
id=0x000, len=2, Data=0x02,0x00 ---> LED flash slow
Back to Pre-Operational Mode:
id=0x000, len=2, Data=0x80,0x00 ---> LED flash fast
If all these test work fine - you now could chnage ID and/or Baudrate like you could do with every CANOpen node.
(see CANOpen Specification and CANOpen manualof our modules)
If you have still any problems until now - please send a E-Mail with exact description what you have done in the past (soldering, flashing etc.) to our Support[at]peak-system.com Mail Address.
--------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------