Parameters > Citect.ini File Parameters > Debug Parameters > [Debug]DriverTraceMask

[Debug]DriverTraceMask

UNINTENDED EQUIPMENT OPERATION

Do not change the [Debug]DriverTraceMask parameter in the citect.ini file, except on the advice of Technical Support for this product.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

Uses a 4-byte hexadecimal number to define a bit mask that can be used to either include or exclude driver commands from a driver trace.

Allowable Values:

The driver commands and their values are as follows:

Command Bit Position

CTDRV_INIT

00000001

CTDRV_OPEN

00000002

CTDRV_INIT_CHANNEL

00000004

CTDRV_INIT_UNIT

00000008

CTDRV_READ

00000010

CTDRV_WRITE

00000020

CTDRV_CONVERT

00000040

CTDRV_CANCEL

00000080

CTDRV_CPU

00000100

CTDRV_DATABASE

00000200

CTDRV_STOP_UNIT

00000400

CTDRV_STOP_CHANNEL

00000800

CTDRV_CLOSE

00001000

CTDRV_FORMAT

00002000

CTDRV_STATS

00004000

CTDRV_DEBUG

00008000

CTDRV_INFO

00010000

CTDRV_STATUS_UNIT

00020000

CTDRV_INIT_CARD

00040000

CTDRV_UPDATE_INFO

00080000

CTDRV_UI_READ

00100000

CTDRV_UI_WRITE

00200000

CTDRV_EXIT

00400000

CTDRV_UNITACTIVATES 01000000
CTDRV_SUBSCRIPTIONS 02000000
CTDRV_EVENTUPDATES 04000000

CTDRV_STATUS_DISCONNECT

40000000

Default Value: FFFFFFFF

Note: The <mask> used to include only the CTDRV_OPEN, CTDRV_INIT_UNIT and CTDRV_READ commands would be:

[Debug]DriverTraceMask=0000001A. 

Note: You may want to exclude the CPU function call, as this happens often. Do this by setting a mask of:

[Debug]DriverTraceMask=7ffffeff.

Examples

-> 07f96fdc Cmd: 03 CTDRV_INIT_UNIT   ,MOCKOPC, Port: PORT1, Unit: IODev1
(UR0,N1)
| 07f96fdc UnitType: 0 (0x0), UnitAddr: 0 (0x0), BitWidth: 1, UnitCount: 16
<-07f96fdc Cmd: 03 CTDRV_INIT_UNIT	ErrDriver 23 (0x17) and took 0ms
-> 07ff1584 Cmd: 04 CTDRV_READ		,DISKDRV, Port: DISKDRV, Unit: IODevDisk
(UR1,N2)
| 07ff1584 UnitType: 1 (0x1), UnitAddr: 1 (0x1), BitWidth: 16, UnitCount: 5,
RawType: INTEGER
<+07ff1584 Cmd: 04 CTDRV_READ		 ErrDriver 0 (0x0) and took 0ms
<+07ff1584 UnitType: 1 (0x1), UnitAddr: 1 (0x1), BitWidth: 16, UnitCount: 5,
RawType: INTEGER
<+07ff1584 000:	1	0	0	0	5
~> 00000000 Cmd: 25 CTDRV_SUBSCRIBE   ,MOCKOPC, Port: PORT1, Unit: IODev1
(UR0,N1)
>-00000000 SUBSCRIBE Tag=Tag4 UpdateRate=500ms
~< 000003e9 Cmd: 26 CTDRV_EVENTUPDATES,MOCKOPC, Port: PORT1, Unit: IODev1
(UR0,N1)
<-000003e9 DS Event UPDATE_MODE=ALL Tag=Tag4 RawValue=0x00
Timestamp=<time_not_set> RawQual=0x0000 DSError=0 (0x0)

Explanation of arrows used above

-> Flags information going down to the driver

|

<- Flags information back from the driver straight away

<+ Flags information back from the driver asynchronously (i.e. after some

small time delay)

~> Flags subcription based calls into the driver

>-

~< Flags subscription based updated from the driver

<-

(URx,Ny) addition to UNIT and Data driver traces

UR stands for Unit Record number and is 0 based, so a value of 3 would be the 4th device in the IODevice form. N stands for the (Network) Number in the IODevice form. The use of this is to distinguish between redundant units which may use the same unit name. Thus the trace will positively confirm which unit is in use.

See Also

Debug Parameters, [Debug]DriverTrace, [Debug]DriverTracePort, [Debug]DriverTraceElements