PROFIBUS DPV1
On a C1 connection, the master supports the Read and Write services, and on the C2 connection it supports the Read, Write, Data_Transport, Initiate and Abort services.
C1 Connection (MSAC-C1)
The C1 connection is reserved for the master that cyclically exchanges data with the slave (C1 master). In order for a slave to be able to use the C1 connection, the slave must support DPV1 (this means that the line "DPV1_Slave = 1" and the key word "C1_Max_Data_Len" with an appropriate length must be in the GSD file). If it is also generally necessary to activate the C1 functionality by setting bit 7 in the PrmData byte 0 (see the slave's Profibus tab) for the corresponding slave (this is done automatically for those Beckhoff devices that support DPV1).
MSAC-C1-Read is shown in ADS-Read, and MSAC-C1-Write is represented in ADS-Write:
MSAC-C1 Read
ADS-Read parameters | Meaning |
---|---|
Net-ID | Net-ID of the master (see the device's ADS tab) |
Port | 0x1000 + station address of the slave |
IndexGroup | Slot number (DPV1 parameter) |
IndexOffset | Index (DPV1 parameter) |
Length | Length of the data that is to be read |
Data | In response: data that has been read |
MSAC-C1 Write
ADS-Write parameters | Meaning |
---|---|
Net-ID | Net-ID of the master (see the device's ADS tab) |
Port | 0x1000 + station address of the slave |
IndexGroup | Slot number (DPV1 parameter) |
IndexOffset | Index (DPV1 parameter) |
Length | Length of the data that is to be written |
Data | In request: data that is to be written |
C2 Connection (MSAC-C2)
The C2 connection is as a rule intended for a second master (C2 master) that does not communicate with the slave cyclically, but it is also possible for the C1 master to make use of the C2 connection. In order for a slave to be able to use the C2 connection, the slave must support DPV1 (this means that the line "DPV1_Slave = 1" and the key word "C2_Max_Data_Len" with an appropriate length must be in the GSD file).
The connection is automatically established by the master as soon as a Read, Write or Data_Transport access is requested; it can, however, also be explicitly established through an Initiate. When the connection is being established automatically, the master sends the Initiate parameters that have most recently been passed (see the description of Initiate), and initializes the Initiate parameters with 0 after a TwinCAT start (or restart); monitoring of the connection is an exception - this is initialized in accordance with the value set in the System Manager (Watchdog under DPV1 Class 2 on the slave's Profibus tab).
It is also necessary for the C2 functionality to be activated for each slave that is to be addressed using C2 services by selecting the Enable check box under DPV1 Class 2 (see the slave's Profibus tab).
If a different master performs cyclic data exchange with the slave, then the "No cyclic connection" setting must be chosen under DP Class 2 (see the slave's Profibus tab). This could, for instance, be useful in order to be able to debug a BC3100/IL23xx-C310 over PROFIBUS, even though it is being operated by an external controller.
MSAC-C2-Read is represented in ADS-Read, MSAC-C2-Write in ADS-Write, MSAC-C2-Data_Transport in ADS-ReadWrite, MSAC-C2-Initiate in ADS-ReadWrite, and MSAC-C2-Abort in ADS-Write:
MSAC-C2 Read
ADS-Read parameters | Meaning |
---|---|
Net-ID | Net-ID of the master (see the device's ADS tab) |
Port | 0x1000 + station address of the slave |
IndexGroup | 0x100 + slot number (DPV1 parameter) |
IndexOffset | Index (DPV1 parameter) |
Length | Length of the data that is to be read |
Data | In response: data that has been read |
MSAC-C2 Write
ADS-Write parameters | Meaning |
---|---|
Net-ID | Net-ID of the master (see the device's ADS tab) |
Port | 0x1000 + station address of the slave |
IndexGroup | 0x100 + slot number (DPV1 parameter) |
IndexOffset | Index (DPV1 parameter) |
Length | Length of the data that is to be written |
Data | In request: data that is to be written |
MSAC-C2 Data_Transport
ADS-ReadWrite parameters | Meaning |
---|---|
Net-ID | Net-ID of the master (see the device's ADS tab) |
Port | 0x1000 + station address of the slave |
IndexGroup | 0x100 + slot number (DPV1 parameter) |
IndexOffset | Index (DPV1 parameter) |
Write-Length | Length of the data that is to be written |
Read-Length | Length of the data that is to be read |
Data | In request: data that is to be written; in Response: data that has been read |
MSAC-C2 Initiate
The MSAC-C2-Initiate service allows the C2 connection to the slave to be established or, if it already exists, for new Initiate parameters to be passed.
ADS-ReadWrite parameters | Meaning |
---|---|
Net-ID | Net-ID of the master (see the device's ADS tab) |
Port | 0x1000 + station address of the slave |
IndexGroup | 0x200 + slot number (DPV1 parameter) |
IndexOffset | 0 |
Read-Length | Length of the Initiate Response parameter (6) |
Write-Length | Length of the Initiate Request parameter (10 - 42) |
Data | Initiate Request parameter or Initiate Response parameter |
Initiate Request parameter
0x00 - 0x01 | Feature_Supported |
0x02 - 0x03 | Profile_Feature_Supported |
0x04 - 0x05 | Profile_Ident_number |
0x06 | sType |
0x07 | sLen: Length of sAddr (0 - 16) |
0x08 | dType |
0x09 | dLen: Length of dAddr (0 - 16) |
0x0A - 0x19 | sAddr |
0x1A - 0x29 | dAddr |
Initiate Response parameter
0x00 - 0x01 | Feature_Supported (value received from slave) |
0x02 - 0x03 | Profile_Feature_Supported (value received from slave) |
0x04 - 0x05 | Profile_Ident_number (value received from slave) |
MSAC-C2 Abort
The MSAC-C2 Abort service allows the C2 connection to the slave to be removed again.
ADS-Write parameters | Meaning |
---|---|
Net-ID | Net-ID of the master (see the device's ADS tab) |
Port | 0x1000 + station address of the slave |
IndexGroup | 0x400 + slot number (DPV1 parameter) |
IndexOffset | 0 |
Length | Length of the Abort parameter (3) |
Data | In request: Abort parameter |
Abort parameter
0x00 | Reason_Code |
0x01 - 0x02 | Additional_Detail |