//============================================
//============================================
// Header Information Section
//============================================
//============================================

// File Header Section

[File Header]
Description = "This is a Capabilities File for VEGAPULS plics(r)plus"
FileType = CapabilitiesFile
FileDate = 2010,10,26
CffVersion = 1,7

// Device Header

[Device Header]
DeviceName = "VEGAPULS 61"
CommGroup = 3
CommClass = Class31+Class32
CommSubClass = Class3Publisher+Class3Subscriber+Class3LinkMaster
DeviceClass = LINKMASTER


//============================================
//============================================
// VFD Section
//============================================
//============================================

[Device VFD 1] // Management VFD
VendorName = "Softing AG"
ModelName = "MIB"
Revision = "2.21"
VersionOD = 0x01
ProfileNumber = 0x4d47

[Device VFD 2] // FB VFD
VendorName = "VEGA Grieshaber KG"
ModelName = "VEGAPULS 61"
Revision = "2.21"
VersionOD = 0x01
ProfileNumber = 0x0000


//============================================
//============================================
// Network Management Section
//============================================
//============================================

// Network Management OD Directory

[NM OD Directory]
DirectoryRevisionNumber = 1
NumberOfDirectoryObjects = 1
TotalNumberOfDirectoryEntries = 8
DirectoryIndexOfFirstCompositeListReference = 9
NumberOfCompositeListReferences = 1
StackMgtOdIndex = 300
NumberOfObjectsInStackManagement = 1
VcrListOdIndex = 301
NumberOfObjectsInVcrList = 98
DlmeBasicOdIndex = 400
NumberOfObjectsInDllBasic = 2
DlmeLinkMasterOdIndex = 405
NumberOfObjectsInDllLme = 8
LinkScheduleListOdIndex = 413
NumberOfObjectsInDllLinkSchedule = 6
DlmeBridgeOdIndex = 0
NumberOfObjectsInDllBridge = 0
PlmeBasicOdIndex = 402
NumberOfObjectsInPhyLme = 3
ListOfMmeReferences = 9
NumberOfMmeComposites = 0


//============================================
// Network Management Restrictions
//============================================

[NM Restrictions]

// Physical Layer

MediumAndDataRatesSupported = 0x4900000000000000
IecVersion = 0x0001
PowerMode = BUS_POWERED
InterfaceMode = HALF_DUPLEX
PowerRequired = 10

ChannelStatisticsSupported = FALSE
NumberOfChannels = 1


//============================================
// Data Link Parameters
//============================================

MaximumResponseDelaySlotTime = 40
MinimumInterPduDelay = 6
SlotTime = 8


//============================================
// Stack Capabilities
//============================================

FasArTypesAndRolesSupported = QUB_SERVER+\
                              QUU_SOURCE+\
                              BNU_SUBSCRIBER+\
                              BNU_PUBLISHER
MaxDlSapAddressSupported = 47
MaxDlCepAddressSupported = 48
VersionOfNmSpecSupported = 0x106                        // Version 1.6
DlcepDeliveryFeaturesSupported=S_CLASSICAL+S_DISORDERED+S_ORDERED+S_UNORDERED\
                              +R_CLASSICAL+R_DISORDERED+R_ORDERED+R_UNORDERED


AgentFunctionsSupported = INDIVIDUAL_VCR_ENTRY_DOWNLOADABLE+\
                          LAS_SCHEDULE_DOWNLOADABLE+\
                          VCR_LIST_DOWNLOADABLE
FmsFeaturesSupported = INFO_REPORT+\
                       EVENT,\
                       GET_OD+\
                       READ+\
                       WRITE+\
                       INFO_REPORT+\
                       ACK_EVENT+\
                       GEN_DOWNLOAD


//============================================
// Dlme Basic Characteristics
//============================================

Version = 1
BasicStatisticsSupportedFlag = FALSE
DlDeviceConformance = 0x20010365
DlOperatFunctionalClass = LINKMASTER
MaxEntries = 48
NumPermanentEntries = 1
DynamicsSupportedFlag = TRUE
StatisticsSupported = FALSE
MaximumNumberOfClientVcrs = 0
MaximumNumberOfServerVcrs = 23
MaximumNumberOfSourceVcrs = 23
MaximumNumberOfSinkVcrs = 0
MaximumNumberOfSubscriberVcrs = 23
MaximumNumberOfPublisherVcrs = 23

DlmeLinkMasterCapabilitiesVariable = 0x04
MaximumSchedulingOverhead = 5
NumOfSchedules = 2
NumOfSubSchedulesPerSchedule = 5
MaximumSingleLasScheduleSize = 1024
NumOfSequencesPerSubSchedule = 25
NumOfElementsPerSequence = 25


//============================================
// Server Restrictions
//============================================

[Server Restrictions]
FmsMaxOutstandingServicesCalling = 0
FmsMaxOutstandingServicesCalled = 1


//============================================
// Network Management VCR Usage Section
//============================================

[NM VCR Usage 1]
FasArTypeAndRole = QUB+\
                   SERVER+\
                   NOBYPASS
FasDllLocalAddr = 0xF8
FasDllConfiguredRemoteAddr = FREE
FasDllSDAP = TIMEAVAILABLE+\
             AUTH_SOURCE+\
             NONSCHEDULED+\
             DISORDERED
FasDllResidualActivitySupported = RESIDUAL
FasDllTimelinessClass = 0x00
FmsFeaturesSupported = NONE,\
                       GET_OD+\
                       READ+\
                       WRITE+\
                       GEN_DOWNLOAD
FmsMaxOutstandingServicesCalling = 0
FmsMaxOutstandingServicesCalled = 1
FasDllMaxDlsduSize = 128
FmsVfdId = 1
FasDllPublisherTimeWindowSize = 0
FasDllPublisherSynchronizingDlcep = 0
FasDllSubscriberTimeWindowSize = 0
FasDllSubscriberSynchronizingDlcep = 0
FasDllMaxConfirmDelayOnConnect = 60000
FasDllMaxConfirmDelayOnData = 60000


//============================================
//============================================
// System Management Section
//============================================
//============================================

// System Management OD Directory

[SM OD Directory]
DirectoryRevisionNumber = 1
NumberOfDirectoryObjects = 1
TotalNumberOfDirectoryEntries = 5
DirectoryIndexOfFirstCompositeListReference = 0
NumberOfCompositeListReference = 0
SmAgentStartingOdIndex = 258
NumberOfSmAgentObjects = 4
SyncAndSchedulingStartingOdIndex = 262
NumberOfSyncAndSchedulingObjects = 8
AddressAssignmentStartingOdIndex = 270
NumberOfAddressAssignmentObjects = 3
VfdListStartingOdIndex = 273
NumberOfVfdListObjects = 2
FbScheduleStartingOdIndex = 275
NumberOfFbScheduleObjects = 25


//============================================
// System and Network Management VFD
//============================================

[SM VFD 1]
VFD_REF = 1
VFD_TAG = "MIB                             "


//============================================
// Function Block Application VFD
//============================================

[SM VFD 2]
VFD_REF = 0x1234
VFD_TAG = "FB Application                  "


//============================================
// System Management Capability
//============================================

[SM Capability]
SM_SUPPORT = SET_PDTAG_AGENT+\
             SET_ADDR_AGENT+\
             CLR_ADDR_AGENT+\
             IDENTIFY_AGENT+\
             LOC_FB_AGENT+\
             FMS_SERVER+\
             TIME_SLAVE+\
             SCHEDULE_FB


//============================================
//============================================
// Function Block Application Process Section
//============================================
//============================================

// Function Block Application Process OD Directory

[VFD 2 OD Directory]
OdIndexForStartingActionObject = 0
NumberOfActionObjects = 0
OdIndexOfTheStartingLinkObjectInTheVfd = 600
NumberOfLinkObjectsInTheVfd = 48
OdIndexOfTheStartingAlertObjectInTheVfd = 711
NumberOfAlertObjectsInTheVfd = 3
OdIndexOfTheStartingTrendObjectInTheVfd = 650
NumberOfTrendObjectsInTheVfd = 49
OdIndexOfTheStartingDomainObjectInTheVfd = 0
NumberOfDomainObjectsInTheVfd = 0
DirectoryIndexForTheResourceBlock = 27
NumberOfResourceBlocksInTheVfd = 1
DirectoryRevisionNumber = 1
NumberOfDirectoryObjects = 2
TotalNumberOfDirectoryEntries = 23
DirectoryIndexOfFirstCompositeListReference = 21
NumberOfCompositeListReference = 3
DirectoryIndexForTheFirstTransducerBlockPointer = 29
NumberOfTransducerBlocksInTheVfd = 1
DirectoryIndexForTheFirstFunctionBlockPointer = 31
NumberOfFunctionBlocksInTheVfd = 11


//============================================
// Channels for I/O
//============================================

[VFD 2 Channels]
Channel1  = "Primary value"
Channel2  = "Secondary value 1"
Channel3  = "Secondary value 2"
Channel4  = "Fill height value"
Channel9  = "Constant input for AI block (used for interop. test)"
Channel11 = "Diagnosis 1"
Channel12 = "Diagnosis 2"


//============================================
// Resource Block
//============================================

[VFD 2 Resource Block]
DD_ITEM = 0x80020AF0
BLOCK_INDEX = 750
NUM_OF_PARMS = 47
VIEWS_INDEX = 9000
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1
PROFILE = 0x0133
PROFILE_REVISION = 0x0102


//============================================
// Resource Block Defaults
//============================================

[VFD 2 Resource Block Defaults]
MANUFAC_ID = 0x56474B
DEV_TYPE = 0x0BFC
DEV_REV = 0x05
DD_REV = 0x01
DD_RESOURCE = "                                "
HARD_TYPES = 0xA000
FEATURES = 0x5000
CYCLE_TYPE = 0xC000
//MIN_CYCLE_T = 3200
MIN_CYCLE_T = 8000
MEMORY_SIZE = 0
NV_CYCLE_T = 0
MAX_NOTIFY = 40
ITK_VER = 5


//============================================
// Function Block 0 - AI
//============================================

[VFD 2 Function Block 1]
DD_ITEM = 0x800201D0
BLOCK_INDEX = 900
NUM_OF_PARMS = 37
EXECUTION_TIME = 0x3c0
VIEWS_INDEX = 9010
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1
PROFILE = 0x0101
PROFILE_REVISION = 0x0002


//============================================
// Function Block 1 - AI
//============================================

[VFD 2 Function Block 2]
DD_ITEM = 0x800201D0
BLOCK_INDEX = 1000
NUM_OF_PARMS = 37
EXECUTION_TIME = 0x3c0
VIEWS_INDEX = 9020
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1
PROFILE = 0x0101
PROFILE_REVISION = 0x0002


//============================================
// Function Block 2 - AI
//============================================

[VFD 2 Function Block 3]
DD_ITEM = 0x800201D0
BLOCK_INDEX = 1100
NUM_OF_PARMS = 37
EXECUTION_TIME = 0x3c0
VIEWS_INDEX = 9030
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1
PROFILE = 0x0101
PROFILE_REVISION = 0x0002


//============================================
// Function Block 3 - DI
//============================================

[VFD 2 Function Block 4]
DD_ITEM = 0x80020210
BLOCK_INDEX = 1200
NUM_OF_PARMS = 25
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1
VIEWS_INDEX = 9040
PROFILE = 0x0103
PROFILE_REVISION = 0x0002
EXECUTION_TIME = 0x280


//============================================
// Function Block 4 - DI
//============================================

[VFD 2 Function Block 5]
DD_ITEM = 0x80020210
BLOCK_INDEX = 1300
NUM_OF_PARMS = 25
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1
VIEWS_INDEX = 9050
PROFILE = 0x0103
PROFILE_REVISION = 0x0002
EXECUTION_TIME = 0x280


//============================================
// Function Block 5 - PID
//============================================

[VFD 2 Function Block 6]
DD_ITEM = 0x800202B0
BLOCK_INDEX = 1400
NUM_OF_PARMS = 66
VIEWS_INDEX = 9060
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1
PROFILE = 0x0108
PROFILE_REVISION = 0x0002
EXECUTION_TIME = 0x500


//============================================
// Function Block 6 - IT
//============================================

[VFD 2 Function Block 7]
DD_ITEM = 0x800207B0
BLOCK_INDEX = 1500
NUM_OF_PARMS = 41
PROFILE = 0x0120
PROFILE_REVISION = 0x0002
EXECUTION_TIME = 1920
VIEWS_INDEX = 9070
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1


//============================================
// Function Block 7 - IS
//============================================

[VFD 2 Function Block 8]
DD_ITEM = 0x80028070
BLOCK_INDEX = 1600
NUM_OF_PARMS = 25
PROFILE = 0x0126
PROFILE_REVISION = 0x0002
EXECUTION_TIME = 960
VIEWS_INDEX = 9080
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1


//============================================
// Function Block 8 - SC
//============================================

[VFD 2 Function Block 9]
DD_ITEM = 0x80020750
BLOCK_INDEX = 1700
NUM_OF_PARMS = 19
PROFILE = 0x011D
PROFILE_REVISION = 0x0001
EXECUTION_TIME = 1280
VIEWS_INDEX = 9090
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1


//============================================
// Function Block 9 - AR
//============================================

[VFD 2 Function Block 10]
DD_ITEM = 0x80020890
BLOCK_INDEX = 1800
NUM_OF_PARMS = 37
PROFILE = 0x0127
PROFILE_REVISION = 0x0002
EXECUTION_TIME = 1920
VIEWS_INDEX = 9100
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1


//============================================
// Function Block 10 - OS
//============================================

[VFD 2 Function Block 11]
DD_ITEM = 0x80020730
BLOCK_INDEX = 1900
NUM_OF_PARMS = 25
PROFILE = 0x011C
PROFILE_REVISION = 2
EXECUTION_TIME = 1600
VIEWS_INDEX = 9110
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 1


//============================================
// Transducer Block 0 - AITB
//============================================

[VFD 2 Transducer Block 1]
DD_ITEM = 0x2077D
PROFILE = 0x8001
PROFILE_REVISION = 0x0001
BLOCK_INDEX = 2500
VIEWS_INDEX = 9500
//TODO: folgende Werte anpassen, wenn weitere VVO3Parameter hinzugefügt werden:
NUM_OF_PARMS = 454     // use value 1261 to import DD into NI FBUS 
NUMBER_VIEW_3 = 1
NUMBER_VIEW_4 = 12


//============================================
// Trend Usage
//============================================

[VFD 2 Trend Object Usage 0]
TrendType = FLOAT

[VFD 2 Trend Object Usage 1]
TrendType = FLOAT

[VFD 2 Trend Object Usage 2]
TrendType = FLOAT

[VFD 2 Trend Object Usage 3]
TrendType = FLOAT

[VFD 2 Trend Object Usage 4]
TrendType = FLOAT

[VFD 2 Trend Object Usage 5]
TrendType = FLOAT

[VFD 2 Trend Object Usage 6]
TrendType = FLOAT

[VFD 2 Trend Object Usage 7]
TrendType = FLOAT

[VFD 2 Trend Object Usage 8]
TrendType = FLOAT

[VFD 2 Trend Object Usage 9]
TrendType = FLOAT

[VFD 2 Trend Object Usage 10]
TrendType = FLOAT

[VFD 2 Trend Object Usage 11]
TrendType = FLOAT

[VFD 2 Trend Object Usage 12]
TrendType = FLOAT

[VFD 2 Trend Object Usage 13]
TrendType = FLOAT

[VFD 2 Trend Object Usage 14]
TrendType = FLOAT

[VFD 2 Trend Object Usage 15]
TrendType = FLOAT

[VFD 2 Trend Object Usage 16]
TrendType = FLOAT

[VFD 2 Trend Object Usage 17]
TrendType = FLOAT

[VFD 2 Trend Object Usage 18]
TrendType = FLOAT

[VFD 2 Trend Object Usage 19]
TrendType = FLOAT

[VFD 2 Trend Object Usage 20]
TrendType = FLOAT

[VFD 2 Trend Object Usage 21]
TrendType = FLOAT

[VFD 2 Trend Object Usage 22]
TrendType = FLOAT

[VFD 2 Trend Object Usage 23]
TrendType = FLOAT

[VFD 2 Trend Object Usage 24]
TrendType = FLOAT

[VFD 2 Trend Object Usage 25]
TrendType = FLOAT

[VFD 2 Trend Object Usage 26]
TrendType = FLOAT

[VFD 2 Trend Object Usage 27]
TrendType = FLOAT

[VFD 2 Trend Object Usage 28]
TrendType = FLOAT

[VFD 2 Trend Object Usage 29]
TrendType = FLOAT

[VFD 2 Trend Object Usage 30]
TrendType = FLOAT

[VFD 2 Trend Object Usage 31]
TrendType = FLOAT

[VFD 2 Trend Object Usage 32]
TrendType = FLOAT

[VFD 2 Trend Object Usage 33]
TrendType = FLOAT

[VFD 2 Trend Object Usage 34]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 35]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 36]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 37]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 38]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 39]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 40]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 41]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 42]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 43]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 44]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 45]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 46]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 47]
TrendType = DISCRETE

[VFD 2 Trend Object Usage 48]
TrendType = DISCRETE
