Structure CCModule

This structure provides information on the module, which e.g. can be accessd via function CfgCCGetRootModule.

The components:

Variable Data Type Description
ucEntryTag BYTE ‘M’ = Module
ucDummy1 BYTE  
ucDummy3    
ulModuleId   Id of the module given in the configuration file *.cfg
sModuleNumber   Number of the module in the parent module (-1 if root)
usModuleTag   Describes the kind of the module ( 0=3S-Module, 1=DP-Master, 2=DP-Slave, 3=CAN-Master, 4=CAN-Slave, 5=DP-SingleSlave)
byDeviceDriver BYTE The module needs a device driver (0=FALSE, 1=TRUE)
ucDummy4 BYTE  
ucDummy5 BYTE  
ucDummy6 BYTE  
ulNodeId UDINT NodeId of the module
byDefinedWithStruct: BYTE The module was defined with a structure (0=FALSE, 1=TRUE)
ucDummy7 BYTE  
ucDummy8 BYTE  
ucDummy9 BYTE  
ulBitOffsetInput UDINT Offset of the modules input area
ulBitSizeInput UDINT Size of the modules input area in bit
ulBitOffsetOutput UDINT Offset of the modules output area
ulBitSizeOutput UDINT Size of the modules output area in bit
ulRefIdCommonDiag UDINT RefId of the modules common diagnosis area
ulBitOffsetCommonDiag   Offset of the modules common diagnosis area
ulBitSizeDiag UDINT Size of the modules diagnosis area in bit
usParameterCount UINT Number of parameters
usDummy UINT  
ppccpModuleParams POINTER TO POINTER TO ccParam

<ccParam [0..usParameterCount]> a pointer to an array of pointers to CCModuleParam-structures. (Definition of structure CCParam see below).

Dereferencing the pointer with ppccpModuleParams^ gives you the pointer to the first parameter structure. (ppccpModuleParams+4)^ gives you the pointer to the next parameter structure. See also comment (*Read pointer to parameters *) in example project.

ulSizeOfSpecificData UDINT Size in bytes of the module specific data
pModuleData POINTER TO BYTE <MODULE_SPECIFIC_DATA> Here the data, according to usModuleTag is located: pModuleData is possible to be a pointer to PBSlave, CANSlave, PBMaster, PBSlave, PBSingleSlave, see definitions below.
usChannelCount: UINT Number of configured channels
usModuleCount UINT Number of configured modules
In the following the Channels and Modules of this Module in the configured order are located! (DP-Slaves are ordered by the stationnumber!) This means, it is possible that another CCModule structure is inserted here.
ppcccChannels POINTER TO POINTER TO ccChannel; <ccChannel [0..usChannelCount]> Definition of structure CCChannel see below * Dereferencing the pointer with ppccpChannels^ gives you the pointer to the first parameter structure. (ppccpChannels+4)^ gives you the pointer to the next parameter structure. See also comment “(*Read pointer to parameters *)” in example project.
ppccmSubModules POINTER TO POINTER TO BYTE <ccModule [0..usModuleCount]> Points to an array of variables of type POINTER TO ccModule. To view the contents, you have to assign the value to a variable of type “POINTER TO CCModule”. Definition of structure CCModule see below. Dereferencing the pointer with ppccpSubModules^ gives you the pointer to the first parameter structure. (ppccpSubModules+4)^ gives you the pointer to the next parameter structure. See also comment “(*Read pointer to parameters *)” in example project.