FC310x - PCI Cards for PROFIBUS

ADS Interface

All acyclic data are transmitted to or from the FC310x via ADS-Read, ADS-Write or ADS-Write-Control.  The FC310x has its own Net-ID and supports the following ports:

Port
Description
200
This addresses the FC310x itself, i.e. data that reside locally on the FC310x, and for which usually no additional bus access is required
0x1000 - 0x107E
This addresses a connected PROFIBUS device, with the address calculated from port-0x1000; this always involves a bus access
 

ADS-Read

An overview of the IndexGroups/IndexOffsets supported by the FC310x during ADS-Read is provided below.

 
 

IndexGroup for local FC310x addressing (port 200)

IndexGroup (Lo-Word)
IndexGroup (Hi-Word)
IndexOffset
Description
0xF100
0x00
BYTE offset within the data
This reads the diagnostic data from the FC310x. If the ADS-Read is answered without error (error code = 0), the data will contain the diagnostic data of the FC310x described in the Master Diagnostics chapter. The FC310x will reset the FC310x DiagFlag. It will be set again, if the FC310x diagnostic data change again.
0xF181
0x00-0x7E
BYTE offset within the data
This will read the diagnostic data of a configured DP slave. The station address is calculated from the IndexGroup(Hi-Word). If the ADS Read is answered without error (error code = 0), the data will contain the diagnostic data of a configured DP slave described in the Slave diagnostics chapter.
0xF830
0x8000-0x807E
always 0
This enables detection of the DP slaves present at the PROFIBUS, independent of whether they were configured or not. The station address is calculated from IndexGroup(Hi-Word)-0x8000. If the ADS-Read is answered without error (error code = 0), the corresponding DP slave has answered correctly. The data contain the Ident no. of the slave (BYTE offset 0-1) and the read CfgData (from BYTE offset 2) (see chapter Upload Configuration).
0xF840
0
BYTE offset within the data
This will read the firmware version and the station address of the FC310x. If the ADS-Read is answered without error (error code = 0), the data will contain the firmware version (BYTE offset 0-1) and the station address of the FC310x (BYTE offset 2).
 
 

IndexGroup for addressing of a configured PROFIBUS device (port 0x1000-0x107E)

IndexGroup (Lo-Word)
IndexGroup (Hi-Word)
IndexOffset
Description
0x00-0xFF
0x00
0x00-0xFF
This will send a DPV1-Read to the appropriate, configured DPV1 slave via a Class 1 connection; the DPV1 slot number corresponds to the IndexGroup, the DPV1 index corresponds to the IndexOffset. If the ADS-Read is answered without error (error code = 0), the data will contain the read DPV1 data (see chapter DPV1)
0x100-0x1FF
0x00
0x00-0xFF
This will send a DPV1-Read to the appropriate, configured DPV1 slave via a Class 2 connection; the DPV1 slot number corresponds to the IndexGroup - 0x100, the DPV1 index corresponds to the IndexOffset. If the ADS-Read is answered without error (error code = 0), the data will contain the read DPV1 data (see chapter DPV1)
0x0000 - 0xFFF
0x10000000 - 0xF0000000
0x00-0xFF
This will transmit a PKW-Read to the appropriate, configured PROFIDRIVE slave; the parameter number (PNU) is contained in the Low WORD of the IndexGroup, the subindex for access to an array is in the IndexOffset, the addressed axis is in bits 28-31 of the IndexGroup (for a 1-axis unit, this must be 1), the PKW compatibility can be adjusted in bits 26,27 (unfortunately, not all PROFIDRIVE slaves are compatible, see chapter PKW Interface).
0
0x01000000
0
This will send FDL-Read for Siemens AG interfacing to the appropriate configured FDL station (see chapter S5-FDL). 
 
 

ADS-Write

An overview of the IndexGroups/IndexOffsets supported by the FC310x during ADS-Write is provided below.

 
 

IndexGroup for local FC310x addressing (port 200)

IndexGroup (Lo-Word)
IndexGroup (Hi-Word)
IndexOffset
Description
0xF100
0x00
0 -2
This will reset the equidistant diagnostic data (IndexOffset = 0), the Repeat counters (IndexOffset = 1) or the NoAnswer counters (IndexOffset = 2) of the FC310x.
 
 

IndexGroup for addressing of a configured PROFIBUS device (port 0x1000-0x107E)

IndexGroup (Lo-Word)
IndexGroup (Hi-Word)
IndexOffset
Description
0x00-0xFF
0x00
0x00-0xFF
This will send a DPV1-Write to the appropriate, configured DPV1 slave via a Class 1 connection; the DPV1 slot number corresponds to the IndexGroup, the DPV1 index corresponds to the IndexOffset (see chapter DPV1).
0x100-0x1FF
0x00
0x00-0xFF
This will send a DPV1-Write to the appropriate, configured DPV1 slave via a Class 2 connection; the DPV1 slot number corresponds to the 0x100 IndexGroup, the DPV1 index corresponds to the IndexOffset (see chapter DPV1).
0x400
0x00
0x00
With this, a DPV1 Abort is sent to the appropriate configured DPV1 slave via a class 2 connection; the abort parameters are included in the data (-> chapter DPV1).
0x0000 - 0xFFF
0x10000000 - 0xF0000000
0x00-0xFF
This will transmit a PKW-Write to the appropriate, configured PROFIDRIVE slave; the parameter number (PNU) is contained in the Low WORD of the IndexGroup, the subindex for access to an array is in the IndexOffset, the addressed axis is in bits 28-31 of the IndexGroup (for a 1-axis unit, this must be 1), the PKW compatibility can be adjusted in bits 26,27 (unfortunately, not all PROFIDRIVE slaves are compatible, see chapter PKW Interface).
0
0x01000000
0
This will send FDL-Write for Siemens AG interfacing to the appropriate configured FDL station (see chapter S5-FDL).
0
0x02000000
0
This will send a SetSlaveAddress command to a configured DP slave, whereby the DP slave must be configured with the new station address; the old station address must be entered at BYTE offset 0 of the ADS-Write data. Furthermore, the Ident no. of the slave must be contained under BYTE offset 1 and 2, and BYTE offset 3 must contain information as to whether the slave may be modified later (0) or not (not equal 0). Altogether, 4 bytes of ADS-Write data will therefore have to be sent. 
 
 

ADS-ReadWrite

An overview of the IndexGroups/IndexOffsets supported by the FC310x during ADS-ReadWrite is provided below.

 
 

IndexGroup for addressing of a configured PROFIBUS device (port 0x1000-0x107E)

IndexGroup (Lo-Word)
IndexGroup (Hi-Word)
IndexOffset
Description
0x100-0x1FF
0x00
0x00-0xFF
This will send a DPV1-Data_Transport to the appropriate, configured DPV1 slave via a Class 2 connection; the DPV1 slot number corresponds to the 0x100 IndexGroup, the DPV1 index corresponds to the IndexOffset (see chapter DPV1).
0x200
0x00
0x00
With this, a DPV1 Initiate is sent to the appropriate configured DPV1 slave via a class 2 connection; the initiate parameters are included in the data (-> chapter DPV1).
 
 

ADS-WriteControl

An overview of the ADS-Write-Control commands supported by the FC310x is provided below.

 
 

ADS-WriteControl for local FC310x addressing (port 200)

AdsState
DeviceState
State of the FC310x
Description
STOP (6)
0x00
RUN (5)
This will stop the FC310x, i.e. the process data connections to all DP slaves (Data_Exchange) are removed (with SetPrm,Unlock).
RUN (5)
0x00
STOP (6)
This will restart the FC310x after a stop, i.e. the process data connections to all DP slaves (Data_Exchange) are re-established (normal DP start-up).
 
 

ADS-WriteControl for addressing a configured PROFIBUS device (port 0x1000-0x107E)

AdsState
DeviceState
State of the FC310x
Description
STOP (6)
0x00
RUN (5)
This will stop the slave, i.e. the process data connection to the relevant DP slave (Data_Exchange) is removed (with SetPrm,Unlock).
RUN (5)
0x00
STOP (6)
This will restart the slave after a stop, i.e. the process data connection to the relevant DP slave (Data_Exchange) is re-established (normal DP start-up).
 
 

ADS Error Codes

The 32 bit ADS error code always consists of a general ADS error code (Low Word, see ADS documentation) and a FC310x-specific, unique error code (High Word, -> chapter FC310x ADS error codes). The appropriate text message will also be displayed in the TwinCAT System Manager Logger.