I'm searching for information about PDO and the protocol CiA 301 V4.2.0
at topic 7.2.2.5.1
does not exactly show how PDO's work. Every PDO contains 8 bytes of data.
I know that there are 4 different PDO's.
PDO TX 1 - COB ID = 0x180 + Node ID
PDO RX 1 - COB ID = 0x200 + Node ID
PDO TX 2 - COB ID = 0x280 + Node ID
PDO RX 2 - COB ID = 0x300 + Node ID
PDO TX 3 - COB ID = 0x380 + Node ID
PDO RX 3 - COB ID = 0x400 + Node ID
PDO TX 4 - COB ID = 0x480 + Node ID
PDO RX 4 - COB ID = 0x500 + Node ID
I know that there are 4 different methods to call for the PDO service.
The frist method is executed when for example a variable changes.
The second method is when remote frame
is transmitted from the consumer to the producer. Please, let me know what remote frame
is.
The third method is when the producer got a SYNC
request from the consumer.
The fourth method is when the producer it self send to the consumers on a fixed time event.
This is what I know about the PDO's. So here is my questions:
Question 1:
The PDO communiation parameters for both transmit and receive can be stored inside the Object Dictionary. For changing those, I need to use SDO - Service Data Objects.
I know what sub idex 02h
means. It select which type of method the node is going to use to produce or receive the PDO message.
But what does sub inde 01h
mean? I'm looking at the documention and it only says this. Does this mean I can checkmark if the PDO of that specific node should be active or not? Which node ID should I place there?
Question 2:
If I want to send data from a producer to a consumer with the PDO1 channel. I first need to select wich type of transmission type. Assume that I select this transmision type. For every 240 SYNC message from the consumer to the producer, send a PDO message to the consumers?
Question 3:
Each PDO contains 8 bytes of data. When I got a PDO message with the COB ID = 0x200 + 0x2
from the node 0x2
, should I save the 8 bytes of data into the Object Dictionary? If yes, where?
Question 4:
What should I use PDO RX
and PDO TX
for, if there is only one way communication?
I mean, the consumers sends a request to the producer e.g via SYNC message. SYNC service is not PDO. Then when the producer have got e.g X
SYNC's, then the producer sends out a PDO message to the consumers. Why use RX
and TX
here? Why not only use TX
?
Summation:
- What does COB ID mean in sub index
01h
for the communication objects? What should I write there for both TX and RX communication objects of PDO? - SYNC is a method for the consumers to count until the producer is going to send 8 bytes of data to the consumers?
- When a consumer got the PDO message of 8 bytes, then it going to store that into the Object Dictionary? If yes, which index and sub index?
- Why use
RX
when the producer only usingTX
when it sends PDO's to the consumers?