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