Académique Documents
Professionnel Documents
Culture Documents
Contents
Requirements
API or Driver
The layered driver model
Data flow
The ComDrv classes
A simple driver
Driver requirements
Driver info
Driver configs
Address config
PLC
DB0
DB1
DW2
...
DB3
Valve
DW0
DW1
DB2
WinCC OA
DB1DW1
Cmd
Rm
State
Value
DB1DW1
Conversion configs
Smoothing configs
10
Modularity
Modularity
WinCC OA Data
Conversion and
Smoothing
Software Protocol,
Telegram Layer
HW Protocol, Kernel
Driver
WinCC OA
Smoothing
Conversion
Transformation
Old/New
HW
11
Other tasks
Communication tasks
12
Other tasks
13
14
15
WinCC OA Driver
HW independent
WinCC OA
Parameterization
Request /Response
Polling
Message conversion
Connection administr.
Command conversion
HW dependant
Mapper
Smoothing
HWService
Hardware Interface:
general query
Command
Single query
Spontaneous notification
Periphery
16
ComDrv classes
HWMapper
DrvManager
Communication
DP Lookup
DrvDpCont
Transformation
Configs, Conversion
HWService
Hardware
SPS
17
18
19
20
21
HWMapper lists
WinCC OA
HWMapDpPa
DpId
Addr
Your part
N
HWObject
Addr
HW
22
23
24
Update Lists
25
HWService
initialize()
start()
stop()
stop communication
workProc()
writeData()
singleQuery()
generalQuery()
26
27
HWObject entries
28
30
31
32
33
mainLoop
34
35
ComDrv is an application!
ComDrv is a fully grown manager with its own config entries and
internal datapoint for runtime control
36
ComDrv is an application!
.GQ
.SQ
.PM
.DC
.AD.HWMask
.AD.DPMatch
.HW.HWMask
.HW.HWMatch
.IGQ
37
38
PeriphAddr:
39
40
41
42
Managing Internal DP
Connect
to internal DP
44
45
getName4DpId
answer4DpId
hotLink2Internal
46
(User)bits
HWObject->setSBit(...)
DRV_USERBIT1 .... DRV_USERBIT32
DRV_INVALID
Userbit assignment
should be configurable via
config file entries!
HWObject->setTimeOfPeriphFlag()
Source of data
HWObject->setObjSrcType(...)
srcSpont
srcPolled
srcSingleQ
srcGeneralQ
47
Use of sub-indexes
48
In HWMapper::addDpPa
Check that there is only one HWObject for all
configs (N : 1)
(re) calculate the buffer length for all items and
set nofElement, Dlen in the HWObject
You may safely use LLC
49
In HWMapper::addDpPa
50
51
Redundancy
52
Redundancy
copyDp
Ctrl
EV
EV
Ctrl
fwdDp
Drv
Drv
53