1. TPDOAnd RPDO are for slave stations. There is no concept of master station on the agreement.The agreement is only a defined slave station, without defining the main station.。
TPDO：From station -> main station
RPDO：Main station -> slave station
2. PDOThe COB-ID is used to uniquely identify a PDO message, and different PDO sets different COB-ID.
3. The communication process between master station and slave station is basically the same.
a.The main station detects whether the slave station is online.
b.The online words start from the SDO configuration from the station;
c.If the configuration is successful, send a NMT start remote node instruction to the slave station to enter the Operation state and start the communication of PDO.
4. CANopenAll Object defined is implemented on slave stations, but the value is written by SDO before the main station starts PDO transmission.
5. The identifier, as its name, is an identity of the CAN frame, CANopen uses this identifier and defines it as COB-ID, specifies a high four bit as a function code and a low 7 bit as node ID, but CANopen does not specify that all frames issued by each node have to be taken from themselves.The ID that has not been prescribed must be matched with its own ID, so from the root, COB-ID is the function of the identifier, it is just planned for a few examples: PDO, the composition of COB-ID can be the sender ID or the recipient ID, see you.Convenient and specific usage rules; SDO provides for the use of server’s ID to communicate. The predefined connection set of CANopen is more tangled and its description is not clear enough.
6. HeartbeatIt is not divided into main station and slave station, it is only a broken line detection mechanism, the main station can be sent from the station, from the station to the main station, to see the needs of the user. The main station configuration software can set up the main station or whether from the station to monitor the other’s online status.
A slave station that supports heartbeat has 1016 and 1017 two parameters. The number of 1017 represents the interval between the heartbeat message from the station, and the 1016 indicates the timeout time of the master station or other slave station (if supported by the station, the master station can be monitored at the same time orThe other online status of slave stations is determined according to application requirements, so 1016 is an array type parameter.
When the main station does not receive the Heartbeat from the station (producer time interval) during the time of consumer, then it is considered to drop from the station.
7. The steps to implement CANOPEN:
① CANopen The implementation of the protocol system;
② CANopen The implementation of the corresponding development and configuration tools.
The second stage mainly completes the development of the CANopen standard development tool. The development process can be divided into 2 steps: the first step is the development of the EDS and DCF configuration tools; the second step is to develop the tool to implement the object dictionary.
The process of implementing an object dictionary is to convert EDS and DCF into “XML” with “file conversion tools”, and then implement the object dictionary by “configuring the code tool by the target”.
EDSIt is the configuration software that provides the default parameter values from the station to the master station, which is not necessary for the user to configure the station from the station, but most of the main station configuration software is needed, and some master station software does not need EDS files, such as the Bechkoff’s main station does not need to provide ED from the station.S file.
8. In general, each node can be used either as a server or as a client, and server opens its own OD to client, and both parameter are stored in the device’s only OD.
9. Different transport types support several different modes of data transmission:
① Synchronous triggering is triggered by synchronous frames to synchronize the entire network data, and different data frequencies are set by setting different synchronization numbers.
② Events trigger.
③ Internal timing triggering (also can be attributed to event triggering).
10. The practical significance and application situation of synchronous PDO
Application brush into the object dictionary time and frequency are determined by the programmer, you can be determined according to the type of PDO, such as every 5 sync time refresh the object content, so the freshness of the data is 5 sync, if required further new freshness, you canA frame of PDO is triggered directly after the object’s content is refreshed.
The advantages of synchronous PDO in practical applications: many, providing a consistent system beat to ensure that the data of the bus is as fresh as possible, at the same time, it can reduce the amount of communication and reasonably plan the occupancy of the bus. For example, the bus distributed control loop, how to ensure the accuracy of the control cycle and the effectiveness of data?
The most important application of synchronous transmission is multi axis synchronous control. Without such synchronization mechanism, the function of multi axis transmission can not be realized.
PDOIt is just a carrier, or it is like a truck, what is loaded in a carriage, can be configured, which is done by PDO mapping, and PDO maps are used to specify the objects that put the object dictionary into PDO, or from the received PDO to those objects.
SYNCThe cycle is constant. It is basically the beat of the communication part of the system. The beat is chaotic and everything is floating.
11.http://blog.ednchina.com/whicun/99861/message.aspxCANAnd CANOPEN communication protocol Encyclopedia
12. The steps to transplant canfestival to ARM:
1）Before learning to transplant CANopen, you should familiarize yourself with CAN and use CAN to design communication between nodes.
2）Familiar with the CAnopen protocol, read through the 301 protocol, and combined with some domestic introductory information to understand the structure, location and working mode of CAnopen.
3）Combined with some simpler protocol stack code, such as two sets of small code in the top, you can read one and understand the process. It’s best to try it on your hardware. After all, it’s much smaller than CANFestival.
4）Prepare to transplant CANFestival, first under the platform of your familiar and conditional experiment, such as x86’s windows, to compile and run CANFestival (I remember window’s VC project can be compiled). Familiarity and understanding of CANFestivAl, finally, transplant CANFestival to your target platform, and you may need to write hardware interface driver.
13. The heartbeat message is one way, the main station can provide the configuration method, you can let the main station monitor whether the station is broken line, also can let the station monitor the main station to break the line, or two together monitor each other.
14. The general main station all needs a matching configuration software, we are used to call the network configuration software (Configuration tool software), so that users can configure the network according to their needs.
15. Synchronization and asynchronous, is a way of defining different application requirements. If your control does not need to cooperate in each of the slave stations, asynchronous is a more scientific way, and the general synchronization is used in motion control.
16. EDSThe file is a description of a readable device object dictionary, the actual object dictionary of the device, the software implementation of it, that is, the device implements the object dictionary described by the EDS. If the EDS file supports reading and writing from the station data, the actual access is unwritten, or it does not follow this pair from the station.Like dictionary, there are other conditions to turn on writing functions, such as physical switches or parameter switches. It is best to read the information from the station in detail, or consult the supplier of the device.
17. dummyIn CANOPEN, the original meaning is empty, meaningless objects, used to occupy PDO data, in order to achieve the purpose of adjusting PDO data structure. You can basically understand that its function is to take up the PDO data area, but it doesn’t work.