0% found this document useful (0 votes)
716 views26 pages

DanBuss DNIP

Citect for Windows Driver Specification DanBuss DNIP Driver Author Tomas Rook Bertil Goransson Comment 1. Initial version 1. Revision 1. Updated Autic System AB Address Postaladdress Phone Telefax Driver Design Specification Contents 1. TARGET DEVICE(s) AND PROTOCOL 1. Introduction 1. Device Manufacturer 1. Device Definition 1. Communications Method 1. Communications / Hardware Configuration 1.5. 1.5.1.5. PC-GW PC Cable I / O Device Settings Software Setup 2. PROTOCOL

Uploaded by

Anwar Cordova
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
716 views26 pages

DanBuss DNIP

Citect for Windows Driver Specification DanBuss DNIP Driver Author Tomas Rook Bertil Goransson Comment 1. Initial version 1. Revision 1. Updated Autic System AB Address Postaladdress Phone Telefax Driver Design Specification Contents 1. TARGET DEVICE(s) AND PROTOCOL 1. Introduction 1. Device Manufacturer 1. Device Definition 1. Communications Method 1. Communications / Hardware Configuration 1.5. 1.5.1.5. PC-GW PC Cable I / O Device Settings Software Setup 2. PROTOCOL

Uploaded by

Anwar Cordova
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Citect for Windows Driver Specification DanBuss DNIP Driver

Author Tomas Rook Tomas Rook Bertil Gransson

Date 1999-08-01 2000-03-30 2001-02-01

Comment 1.0 Initial version 1.1 Revision 1.2 Updated

Autic System AB Address Postaladdress Phone Telefax

Region South - HQ Box 81, Mariebergsgatan S-261 22 Landskrona +46(0)418-471160 +46(0)418-471161

Region East Box 95, V.Trdgrdsg.39 S-611 23 Nykping +46(0)155-214990 +46(0)155-269966

Region West Theres Svenssons g 10 S-417 55 Gteborg +46(0)31-555740 +46(0)31-555547

Driver Design Specification

Contents

1. TARGET DEVICE(S) AND PROTOCOL


1.1 Introduction 1.2 Device Manufacturer 1.3 Device Definition 1.4 Communications Method 1.5 Communications/Hardware Configuration
1.5.1 1.5.2 1.5.3 PC-GW PC Cable I/O Device Settings Software Setup

4
4 4 4 4 4
5 5 5

2. PROTOCOL REQUIREMENTS
2.1 Introduction 2.2 Initialising the Port 2.3 IO Device Online Test 2.4 State Flow Description 2.5 Message Structure 2.6 Data Format 2.7 Checksum 2.8 Extended Protocol Description 2.9 Error Handling

6
6 6 6 6 6 7 7 7 7

3. GENERAL DRIVER DESCRIPTION


3.1 Cache 3.2 Request Performance 3.3 Reads and Request Priority 3.4 DANBUSS Performance 3.5 Writes 3.6 One Shots 3.7 Function Block reads 3.8 Citect Cache 3.9 Danbuss.dbf

8
8 8 8 8 9 9 9 9 9

4. USER INTERFACE
4.1 Introduction

11
11

DanBuss DNIP.doc

Driver Design Specification

4.2 Driver Name 4.3 Ports Form


4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 Baud Rate Data Bits Stop Bits Parity Special Opt

11 11
11 11 11 11 11

4.4 IO Devices Form


4.4.1 4.4.2 Protocol Address

11
11 11

4.5 Pulldown lists Help 4.6 IO Device Data Types and Formats 4.7 IO Device Function Blocks and their Parameters (DANBUSS.DBF) 4.8 Protdir.dbf 4.9 Parameters and INI options
4.9.1 4.9.2 Standard Parameters Driver Specific Parameters

12 12 12 22 22
22 22

4.10 4.11 4.12 4.13 4.14

Driver Specific Errors Driver Error Help Debug Messages Stats Special Counters Hints and Tips

23 24 24 24 25

5. REFERENCES AND CONTACTS


5.1 References 5.2 Contacts
5.2.1 5.2.2 5.2.3 5.2.4 Driver Development DanBuss specialist Project Management Delivery and support

26
26 26
26 26 26 26

DanBuss DNIP.doc

Driver Design Specification

1. Target Device(s) and Protocol

1.1 Introduction
This section defines the types of I/O Devices that are targeted by this driver.

1.2 Device Manufacturer


Danfoss System Control A/S (DSC) Hrkr 12B DK-2730 Herlev Denmark +45 42 841622

1.3 Device Definition


DanDuc (Danfoss part #088G0500) or MPV (Danfoss part #088B0089, this model is old and not sold anymore) These devices are the digital substations (DSS) that DSC and their partners configurate and program for different building automation projects. They have a configurable number of I/Os (digital input, analog input, analog output etc). The maximum is 64 I/Os of one type, and a total of about 128 I/Os. GW-PC version 2.10 (Danfoss part #088F3101). This is the concentrator unit that is used to route and convert packets from the RS-485 DanBuss to the RS-232 DNIP protocol.

1.4 Communications Method


Serial RS-232 to GW-PC. From GW-PC to DanDuc / MPVs the Danfoss DanBuss RS-485 is used.

1.5 Communications/Hardware Configuration


The GW-PC is connected to the PC using the PC-GW PC Cable directly to a RS-232 port. The DanDucs / MPVs are connected to the GW-PC using a multidrop bus topology (one pair, twisted, AWG24 or similar). The terminations are turned on at each end of the bus. If the cable length is to exceed 1200 m (AWG24), a DanBuss repeater has to be used. The GW-PC and DanDuc / MPV uses 24 VAC, 50 Hz. The GW-PC may be located anywhere on the bus. See the GW-PC manual for more detailed setup instructions.

DanBuss DNIP.doc

Driver Design Specification

COMX

RS-232

GW-PC

RS-485

DanDuc / MPV

1.5.1 PC-GW PC Cable Use cable Danfoss part #191F4403. The specification is as follows:

9-WAY RS-232 PC PORT

GW-PC

PG RX TX DTR SG CTS

1 2 3 4 5 8

1 2 3 5 7 20

PG TX RX CTS SG DTR

D Connector 9-WAY FEMALE


1.5.2 I/O Device Settings

D Connector 25-WAY FEMALE

The DanBuss (RS-485) should be terminated, using the internal terminations, at each end according to the installation instructions for DanBuss. 1.5.3 Software Setup The GW-PC router lines should be set up as for a typical direct connected Danfoss Master 2000 system (standard configuration). The DHC address used (typical 0:10) must be set up in CITECT.INI.

DanBuss DNIP.doc

Driver Design Specification

2. Protocol Requirements

2.1 Introduction
This section documents all the requirements of the protocol itself.

2.2 Initialising the Port


No special initialisation is necessary.

2.3 IO Device Online Test


The drivers response to CTDRV_INIT_UNIT and CTDRV_STATUS_UNIT is to read the device clock.

2.4 State Flow Description

2.5 Message Structure


The message structure has the following format (DNIP frame): DLE SOF control packet number Data (0-121 bytes) CRC DLE EOF

The frame may be up to 128 bytes wide. DLE SOF ACK (control option) SAD (control option) Packet number Data CRC DLE EOF 0x10 0x1F 0x06 0x02 0x11-0xFF See description below See description below 0x10 0x17

Every DNIP frame (SAD type) that is sent has to be acknowledged. The acknowledge DNIP frame has no data part and has to have the same packet number as the frame it is to acknowledge. The data part looks like: Datalen Function code Receiver address Low Receiver address High Sender address Low The total length of the data part (excluding this byte) Always 0x41 (MPV/DanDuc message) The lower part (0-127) and the upper parts LSb. The upper part (0-127) right shifted one bit. The MSbs is used to determine message priority. The lower part (0-127) and the upper parts LSb.

DanBuss DNIP.doc

Driver Design Specification

Sender address High Transaction # Command Type Command Count

The upper part (0-127) right shifted one bit. The MSbs is used to determine message priority. Always zero Control/Sense/Event/Answer See extended description (could be FUNCTION_BLOCK, CLOCK, SYSTEM etc) The count of DNIP frames. If the following part isnt enough to transport all data, then it is cut into two or more frames. This byte indicates which frame it is. If it has the MSb set, then it is the first frame. The other 7 bits indicate how many frames it is left. I.e. 0x80 indicates that this is the first frame, and it is zero frames left. 0x82 indicates that it is the first frame, and there is 2 frames left. 0x01 indicates that it is one frame left, and this frame is not the first one.

The following part is optional and depends of the command. The way it looks like when it returns depends of the command. Type Block Parameter Function block type, ex 0x02 is AI, 0x03 is AIB etc The block number, 0x00-0x1F, or 0xFF which means all function blocks The parameter, 0x00-0xFD, or 0xFF which means all parameters

2.6 Data Format


The data format i 8-bit ascii. Any character is valid in the data part, which means that the frame has to be DLE expanded before transmission. Upon reception, the extra DLEs has to be removed.

2.7 Checksum
The CRC (which not really are a Cyclic Redundancy Check) is calculated from the control character and to the last byte of the data part. For an acknowledge this means that the CRC is calculated from the control character and the packet number. The CRC is calculated before any DLE expanding is made. Even the CRC is DLE expanded if the CRC happens to be a DLE. The actual calculation is made by XORing the CRC with all bytes inside the frame, including control character and packet number. The CRC starts with zero.

2.8 Extended Protocol Description


The fully protocol description is found in the three files attached to this document, MKS001MKS003, which thorougly describes the DanBuss protocol (about 300 pages).

2.9 Error Handling


2 consecutive timeouts will put the device off-line. The on-line checking is made by read or write requests. If any fails for more than the specified retry counts (default 2 retries) then the device will go off-line. It will return to the on-line state as soon as the driver gets any response from the device. The error handling is subject to change, and not yet fully specified or tested.

DanBuss DNIP.doc

Driver Design Specification

3. General Driver description

3.1 Cache
This driver is of the Front-End-Back-End type, and therefore has a cache list of variables that has been read by Citect. The driver automatically updates the variables in the cache list with the highest possible speed. If Citect has not re-read the value within 30 seconds (adjustable, default) then the cache element will be erased (another page is selected etc). The size of a cache element is minimum 29 bytes, and maximum 243 bytes. This is allocated from the linear 32-bit memory space. The cache list limit depends on the system.

3.2 Request Performance


Due to the nature of the DANBUSS protocol, Citect blocked reads will almost always decrease performance. However, the driver will group all cache elements that belongs to the same device together at allocation time, and then automatic block read requests in the way that is required by DANBUSS. The internal blocking will request a maximum of 36 values at one time from one device. The medium time for such a request is about 1,0-1,2 seconds. If the variable is not set as ScanList Request in DANBUSS.DBF, it will never be blocked. An exampel of such variables are texts, which can not be read by the DANBUSS blocked read function. Non-blocked reads has a medium request time of 0,4-0,9 seconds. This means that Citect indicates a very high channel usage, though the default is to handle 75 outstanding DCBs at one time.

3.3 Reads and Request Priority


First time cache elements always gets the highest priority, and will be handled directly when the outstanding request is finished. This is true because the driver places all first time cache elements that is created (caused by a DCB for a new variable) first in the request list for that device. The driver scans the cache list for first time cache elements, and then requests upto 36 variables from the same device. In that request, maybe only the first 6 are first time. Next, it will check for the next device if there are any first time cache elements and it will be treated in the same way. This is also true when a write request has been handled. The cache element that has the same address (variable) gets the highest priority. Write requests always has the highest priority.

3.4 DANBUSS Performance


The DANBUSS is a routing net protocol (though routing is not supported by the driver), which communicates with the maximum speed of 4800 bps. This means that it has a generally bad performance. When a user uses the DANSETT hand-held manouver device, that is to be connected directly to DANBUSS, it will significally decrease performance of the bus. To avoid that the DANSETT gets slow and packets are dropped, the driver will increase the delay between reads when only normal priority cache elements exists in the cache list (the high priority can only be achieved in two ways; first time reads, and directly following a write). Most of the time the driver only will scan for alarms, which always will get normal priority following their first read. The increment of the delay is made by multiplying the delay by a factor of 5 (default, may be changed). The default delay is 250 ms, and therefore the normal (idle) update interval will be 1,25 seconds.

DanBuss DNIP.doc

Driver Design Specification

3.5 Writes
Write requests can never be blocked. However, Citect may push a lot of write DCBs at the same address if the user use a Slider etc to set the value, and let it use Continous update of tag. The driver will create a write cache element for each of the write DCBs and connect it to the variable DCB. The driver will always use the last allocated write cache element (for this variable) to perform the write, and then delete all write cache elements belonging to that variable, returning no error to the other DCBs. If the variable that is to be written do not exist in the cache list, it will be added, a new cache element will be allocated, and a write cache element will be connected to it. The driver will first actually read the variable to fill in the function block structure of DANBUSS, then the write will be performed and the write DCB is returned. At this point the cache element gets the highest priority, which means that it will be re-read immediately.

3.6 One Shots


Some type of DANBUSS function blocks does not need to be updated all the time. An example is the TIMCON block, which contains information about the time program. It only changes when a user change a switch-over time etc. These variables will be read only once and then be updated with a very slow interval (default of 3600 seconds). The cache element for this variable will be allocated as long as Citect continues to poll it.

3.7 Function Block reads


Some variables are mostly read togheter with others that belong to the same function block, such as regulators etc, where the P-variable most likely is to be read when the I-variable is read. The driver will read the whole function block when some types of variables are read. These variables are set as Blocked Read in DANBUSS.DBF.

3.8 Citect Cache


Citect do not need to do any cache, it will be handled by the driver.

3.9 Danbuss.dbf
The DANBUSS specification for a DanDuc contains 474 different variables. To understand the addressing mode of the tags used a record from DANBUSS.DBF is explained:
TEMPLATE TIMCON%U%*256.33 UNIT_TYPE 0x05082154 RAW_TYPE 7 BIT WIDTH 64 LOW 1 HIGH 32 COMMENT sOverrideOffStop

This row describes the TIMCON function block variable sOverrideOffStop, which is the variable that sets the end time for the ovveride time function for turning an output off. The variable is of a string type, 8 characters. There may only be up to 32 function blocks of a type in a DANBUSS device. However, the new devices contains more function blocks of the same type, and therefore new function block types are invented, such as AI and AIB, which means that AI1-32 is for analog input 1-32 and AIB1-32 is for analog input 33-64. The UNIT_TYPE is used to specify the behaviour of the variable: 05 If bit 0 is set, it indicates that this varible should be read in a function block blocked mode. It means that this variable will cause the driver to read the whole function block. If bit 1 is set, then this variable should be a Scan List member (read together with other

DanBuss DNIP.doc

Driver Design Specification

variables from other function blocks). If bit 2 is set, then this variable will be of a One Shot type. It will be read once (with same priority as all other new variables) and then it will be updated very slowly (once per hour is default, may be set in CITECT.INI) 08 21 The function block type that this variable belongs to. The variables order in this function block (hex, it is equal to the last number in the template) The DANBUSS variable type, used internally for conversion.
typedef enum MPTypes { MP_MPBLOCKNAME, /* = 18 byte */ MP_AIPARAMETER, /* = 8 byte */ MP_DIPARAMETER, /* = 6 byte */ MP_AOPARAMETER, /* = 5 byte */ MP_DOPARAMETER, /* = 3 byte */ MP_ASPARAMETER, /* = 3 byte */ MP_DSPARAMETER, /* = 2 byte */ MP_PTRPARAMETER, /* = 4 byte */ MP_DATPARAMETER, /* = 2 byte */ MP_UTCPARAMETER /* = 4 byte */ } MPTypes;

Citects type, is used to indicate any special format for time presentation etc.
typedef enum CITypes { CI_USERAW, // Results in the raw format, no conversion is made CI_UTCDATE, // Results in date string, format 1997-11-21 from UTC CI_UTCTIME, // Results in time string, format 21:15 from UTC CI_TIME // Results in time string, format 21:15 from int CI_STRWEEK // Results in time string, format 4 21:15 from int (4=weekday) } CITypes;

This results in that this variable will be read only once (with very slow update, defaulted to once per hour). The driver will read the complete function block into the cache elements data area. This means that if Citect asks for another variable within this function block at this device, it will read directly from the cache elements data area, and not from the device.This variable should not be a ScanList member (a ScanList is the DANBUSS function that reads up to 36 variables in one request). This variable can not be a ScanList member, though it causes the driver to read the entire function block. The variable belongs to the function block type TIMCON (time program). The variable is number 33 (0x21) in this function block, it is of the DANBUSS type Analog Output, and will be converted to the CI_STRWEEK type in string format when passed to and from Citect.

DanBuss DNIP.doc

10

Driver Design Specification

4. User Interface

4.1 Introduction
This section defines how the user will see the driver. This relates directly to how the Citect forms need to be filled out and any special INI options. For the kernel, the debug trace messages and the Stats.Special counters are documented.

4.2 Driver Name


DANBUSS

4.3 Ports Form


4.3.1 Baud Rate 9600 bps, or lower. The baudrate is set in the GW-PC, the default is 9600 bps. 4.3.2 Data Bits 8 4.3.3 Stop Bits 1 4.3.4 Parity Even (observe that this is an full 8 bit protocol using even parity, not 7 bits) 4.3.5 Special Opt -h -ti Windows will transmit data only when CTS is high. Windows will raise RTS when there is enough room in the input buffer to receive incoming characters and drop RTS when there is not enough room in the input buffer. Windows will raise DTR when there is enough room in the input buffer to receive incoming characters and drop DTR when there is not enough room in the input buffer.

-ri

4.4 IO Devices Form


4.4.1 Protocol DANBUSS 4.4.2 Address The address format looks like Net:Bus, ie 003:010 means Net 3, device 10. The address format is decimal. All deviceses that are connected to the samt physical Danbuss, through a GW-PC to a COMX port, must have the same net number.

DanBuss DNIP.doc

11

Driver Design Specification

4.5 Pulldown lists Help


The following entries should be included in the Citect Help.DBF spec file.

TYPE PROTOCOL

DATA DANBUSS

FILTER

4.6 IO Device Data Types and Formats


IO Device Data Type String16 Valid Range Citect Data Type STRING Description

0x01 - 0xFF

Used for Function Block Names only (BLOCKNAME). Limited to 16 characters. If written, will only write to SRAM, EEPROM will not be updated (changes valid until next device boot). Used for Time Program (TIMCON Function Block). Presents the time in 24-hour clock format. Used for Time Program (TIMCON Function Block). Presents the time in 24-hour clock format, and the day as 1-7 (Monday-Sunday). Used for the device clock. Presents the time in 24-hour clock format. If the devices clock is written, it will be resynced by the GateWay within a minute. Used for the device clock. Presents the date in European (98.02.18) clock format. If the devices clock is written, it will be resynced by the GateWay within a minute.

Str24Hour

--:--, 00:00 24:00

STRING

Str1WeekMinute

1 00:00 - 7 24:00

STRING

StrUTCTime

00:00 23:59

STRING

StrUTCDate

YY-MM-DD

STRING

Float Integer Boolean

-1024.00 - +1023.99 -32768 - +32767 01

REAL INT DIGITAL

4.7 IO Device Function Blocks and their Parameters (DANBUSS.DBF)


IO Device Type AGATEn.0 DanBuss Function Block Parameter Name sBlockName DanBuss data type String16 Citect data type STRING

DanBuss DNIP.doc

12

Driver Design Specification

AGATEn.1 AGATEn.2 AGATEn.3 AGATEn.4 AGATEn.5 AGATEn.6 AGATEn.7 AGATEn.8 AGATEn.9 AGATEn.10 AGATEn.11 AGATEn.12 AIn.0 AIn.1 AIn.2 AIn.3 AIn.4 AIn.5 AIn.6 AIn.7 AIn.8 AIn.9 AIn.10 AIn.11 AIn.12 AIn.13 AIn.14 AIn.15 AIn.16 AIn.17 AIn.18 AIn.19 AIn.20 AIn.21 AIn.22 AIn.23 AIn.24 AIn.25 AIn.26 AIn.27 AIn.28 AIn.29 AIn.30 AIn.31 AIn.32 AIn.33 AIn.34 AIn.35 AIn.36 AIBn.0 AIBn.1 AIBn.2 AIBn.3

fInput1 fInput2 fInput3 fInput4 fAmplific1 fAmplific2 fAmplific3 fAmplific4 fActualValue iSelectCalcType bVisible bManuelMode sBlockName fMaxRange fMinRange fMaxLimit fMinLimit fAlarmOffset bAlarmSend iAlarmDelay fOffset fLockValue bLockInput bSensorAlarm bAlarmMaxRange bAlarmMinRange bAlarmMaxLimit bAlarmMinLimit bCommonAlarm fActualValue X1 Y1 X2 Y2 X3 Y3 X4 Y4 iTarget iFilter bMaxRangeAlarmEnable bMinRangeAlarmEnable bMaxLimitAlarmEnable bMinLimitAlarmEnable bSettingAlarmEnable bBusAlarmEnable iMPVAlarmGroup bVisible bManuelMode sBlockName fMaxRange fMinRange fMaxLimit

Float Float Float Float Float Float Float Float Float Integer Boolean Boolean String16 Float Float Float Float Float Boolean Integer Float Float Boolean Boolean Boolean Boolean Boolean Boolean Boolean Float Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Boolean Boolean Boolean Boolean Boolean Boolean Integer Boolean Boolean String16 Float Float Float

REAL REAL REAL REAL REAL REAL REAL REAL REAL INTEGER DIGITAL DIGITAL STRING REAL REAL REAL REAL REAL DIGITAL INTEGER REAL REAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL REAL INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL STRING REAL REAL REAL

DanBuss DNIP.doc

13

Driver Design Specification

AIBn.4 AIBn.5 AIBn.6 AIBn.7 AIBn.8 AIBn.9 AIBn.10 AIBn.11 AIBn.12 AIBn.13 AIBn.14 AIBn.15 AIBn.16 AIBn.17 AIBn.18 AIBn.19 AIBn.20 AIBn.21 AIBn.22 AIBn.23 AIBn.24 AIBn.25 AIBn.26 AIBn.27 AIBn.28 AIBn.29 AIBn.30 AIBn.31 AIBn.32 AIBn.33 AIBn.34 AIBn.35 AIBn.36 AOn.0 AOn.1 AOn.2 AOn.3 AOn.4 AOn.5 AOn.6 AOn.7 AOn.8 AOn.9 AOn.10 AOn.11 AOn.12 AOn.13 AOn.14 AOn.15 AOn.16 AOn.17 AOn.18 AOn.19

fMinLimit fAlarmOffset bAlarmSend iAlarmDelay fOffset fLockValue bLockInput bSensorAlarm bAlarmMaxRange bAlarmMinRange bAlarmMaxLimit bAlarmMinLimit bCommonAlarm fActualValue X1 X1 X2 X1 X3 X1 X4 X1 iTarget iFilter bMaxRangeAlarmEnable bMinRangeAlarmEnable bMaxLimitAlarmEnable bMinLimitAlarmEnable bSettingAlarmEnable bBusAlarmEnable iMPVAlarmGroup bVisible bManuelMode sBlockName fAnalogInput fMaxRange fMinRange fMaxLimit fMinLimit fAlarmOffset bAlarmSend iAlarmDelay fOffset fLockValue bLockInput fMaxOutValue fMinOutValue bOutputAlarm bAlarmMaxRange bAlarmMinRange bAlarmMaxLimit bAlarmMinLimit bCommonAlarm

Float Float Boolean Integer Float Float Boolean Boolean Boolean Boolean Boolean Boolean Boolean Float Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Boolean Boolean Boolean Boolean Boolean Boolean Integer Boolean Boolean String16 Float Float Float Float Float Float Boolean Integer Float Float Boolean Float Float Boolean Boolean Boolean Boolean Boolean Boolean

REAL REAL DIGITAL INTEGER REAL REAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL REAL INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL STRING REAL REAL REAL REAL REAL REAL DIGITAL INTEGER REAL REAL DIGITAL REAL REAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL

DanBuss DNIP.doc

14

Driver Design Specification

AOn.20 AOn.21 AOn.22 AOn.23 AOn.24 AOn.25 AOn.26 AOn.27 AOn.28 AOn.29 AOn.30 ASMLn.0 ASMLn.1 ASMLn.2 ASMLn.3 ASMLn.4 ASMLn.5 ASMLn.6 CTn.0 CTn.1 CTn.2 CTn.3 CTn.4 CTn.5 CTn.6 CTn.7 CTn.8 CTn.9 CTn.10 CTn.11 CTn.12 CTn.13 CTn.14 CTn.15 CTn.16 CTn.17 CTn.18 CTn.19 CTn.20 CTn.21 CTn.22 CTn.23 CTn.24 CTn.25 CTn.26 DIn.0 DIn.1 DIn.2 DIn.3 DIn.4 DIn.5 DIn.6 DIn.7

fActualValue iFilter bMaxRangeAlarmEnable bMinRangeAlarmEnable bMaxLimitAlarmEnable bMinLimitAlarmEnable bSettingAlarmEnable bBusAlarmEnable iMPVAlarmGroup bVisible bManuelMode sBlockName fInput1 fInput2 fHysteres bActualLevel bVisible bManuelMode sBlockName bCounterInput bStartStop iMeasureInterval iMultValue iDivideValue iPulseInterval bResetInput iMaxLimit bAlarmSend bPulseOutput bAlarmMaxRange bAlarmMinRange bAlarmMaxLimit bAlarmMinLimit bCommonAlarm fContValue iAccumValue iTarget bTargetArea bMaxRangeAlarmEnable bMaxLimitAlarmEnable bSettingAlarmEnable bBusAlarmEnable iMPVAlarmGroup bVisible bManuelMode sBlockName bAlarmLevel iAlarmDelay bLockLevel bLockInput bAlarmSend bActualLevel bOutputAlarm

Float Integer Boolean Boolean Boolean Boolean Boolean Boolean Integer Boolean Boolean String16 Float Float Float Boolean Boolean Boolean String16 Boolean Boolean Integer Integer Integer Integer Boolean Integer Boolean Boolean Boolean Boolean Boolean Boolean Boolean Float Integer Integer Boolean Boolean Boolean Boolean Boolean Integer Boolean Boolean String16 Boolean Integer Boolean Boolean Boolean Boolean Boolean

REAL INTEGER DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL STRING REAL REAL REAL DIGITAL DIGITAL DIGITAL STRING DIGITAL DIGITAL INTEGER INTEGER INTEGER INTEGER DIGITAL INTEGER DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL REAL INTEGER INTEGER DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL STRING DIGITAL INTEGER DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL

DanBuss DNIP.doc

15

Driver Design Specification

DIn.8 DIn.9 DIn.10 DIn.11 DIn.12 DIn.13 DIn.14 DIBn.0 DIBn.1 DIBn.2 DIBn.3 DIBn.4 DIBn.5 DIBn.6 DIBn.7 DIBn.8 DIBn.9 DIBn.10 DIBn.11 DIBn.12 DIBn.13 DIBn.14 DLOGIKn.0 DLOGIKn.1 DLOGIKn.2 DLOGIKn.3 DLOGIKn.4 DLOGIKn.5 DLOGIKn.6 DLOGIKn.7 DLOGIKn.8 DLOGIKBn.0 DLOGIKBn.1 DLOGIKBn.2 DLOGIKBn.3 DLOGIKBn.4 DLOGIKBn.5 DLOGIKBn.6 DLOGIKBn.7 DLOGIKBn.8 DOn.0 DOn.1 DOn.2 DOn.3 DOn.4 DOn.5 DOn.6 DOn.7 DOn.8 DOn.9 DOn.10 DOn.11 DOn.12

iTarget bSettingAlarmEnable bBusAlarmEnable bSwitchOutput iMPVAlarmGroup bVisible bManuelMode sBlockName bAlarmLevel iAlarmDelay bLockLevel bLockInput bAlarmSend bActualLevel bOutputAlarm iTarget bSettingAlarmEnable bBusAlarmEnable bSwitchOutput iMPVAlarmGroup bVisible bManuelMode sBlockName bInput1 bInput2 bInput3 bInput4 bActualLevel iSelectGateType bVisible bManuelMode sBlockName bInput1 bInput2 bInput3 bInput4 bActualLevel iSelectGateType bVisible bManuelMode sBlockName bDigitalInput bAlarmLevel iAlarmDelay bLockLevel bLockInput bAlarmSend bActualLevel bOutputAlarm bSettingAlarmEnable bBusAlarmEnable iMPVAlarmGroup bVisible

Integer Boolean Boolean Boolean Integer Boolean Boolean String16 Boolean Integer Boolean Boolean Boolean Boolean Boolean Integer Boolean Boolean Boolean Integer Boolean Boolean String16 Boolean Boolean Boolean Boolean Boolean Integer Boolean Boolean String16 Boolean Boolean Boolean Boolean Boolean Integer Boolean Boolean String16 Boolean Boolean Integer Boolean Boolean Boolean Boolean Boolean Boolean Boolean Integer Boolean

INTEGER DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL STRING DIGITAL INTEGER DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL STRING DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL STRING DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL STRING DIGITAL DIGITAL INTEGER DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL INTEGER DIGITAL

DanBuss DNIP.doc

16

Driver Design Specification

DOn.13 FFn.0 FFn.1 FFn.2 FFn.3 FFn.4 FFn.5 FFn.6 FFn.7 FFn.8 FFn.9 FORSn.0 FORSn.1 FORSn.2 FORSn.3 FORSn.4 FORSn.5 FORSn.6 INTEGn.0 INTEGn.1 INTEGn.2 INTEGn.3 INTEGn.4 INTEGn.5 INTEGn.6 INTEGn.7 INTEGn.8 INTEGn.9 INTEGn.10 INTEGn.11 INTEGn.12 INTEGn.13 INTEGn.14 INTEGn.15 INTEGn.16 INTEGn.17 INTEGn.18 INTEGn.19 INTEGn.20 INTEGn.21 INTEGn.22 KOMPENn.0 KOMPENn.1 KOMPENn.2 KOMPENn.3 KOMPENn.4 KOMPENn.5 KOMPENn.6 KOMPENn.7 KOMPENn.8 KOMPENn.9 KOMPENn.10 KOMPENn.11

bManuelMode sBlockName bPresetInput bJInput bClockInput bKInput bResetInput bQOutput bQOutputInverted bVisible bManuelMode sBlockName bDigitalInput iDelayTOn iDelayTOff bActualLevel bVisible bManuelMode sBlockName fAnalogInput bStart bTurnInput fDivideValue iSampleTime bResetInput fMaxLimit bAlarmSend bAlarmMaxRange bAlarmMinRange bAlarmMaxLimit bAlarmMinLimit bCommonAlarm fActualValue iSample bMaxRangeAlarmEnable bMaxLimitAlarmEnable bSettingAlarmEnable bBusAlarmEnable iMPVAlarmGroup bVisible bManuelMode sBlockName fOut1 fFlow1 fOut2 fFlow2 fOut3 fFlow3 fOutSensor fNightSetback bSetPointSwitch bMinMaxLimiter fLimiterAmplific

Boolean String16 Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String16 Boolean Integer Integer Boolean Boolean Boolean String16 Float Boolean Boolean Float Integer Boolean Float Boolean Boolean Boolean Boolean Boolean Boolean Float Integer Boolean Boolean Boolean Boolean Integer Boolean Boolean String16 Float Float Float Float Float Float Float Float Boolean Boolean Float

DIGITAL STRING DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL STRING DIGITAL INTEGER INTEGER DIGITAL DIGITAL DIGITAL STRING REAL DIGITAL DIGITAL REAL INTEGER DIGITAL REAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL REAL INTEGER DIGITAL DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL STRING REAL REAL REAL REAL REAL REAL REAL REAL DIGITAL DIGITAL REAL

DanBuss DNIP.doc

17

Driver Design Specification

KOMPENn.12 KOMPENn.13 KOMPENn.14 KOMPENn.15 KOMPENn.16 KOMPENn.17 KOMPENn.18 KOMPENn.19 KOMPENn.20 KOMPENn.21 KOMPENn.22 KOMPENn.23 KOMPENn.24 KOMPENn.25 KOMPENn.26 KOMPENn.27 KOMPENn.28 KOMPENn.29 KOMPENn.30 MATn.0 MATn.1 MATn.2 MATn.3 MATn.4 MATn.5 MATn.6 MATn.7 MATn.8 MATn.9 MATn.10 MATn.11 MATn.12 MATn.13 MATn.14 MATn.15 MATn.16 MATn.17 OMRINDn.0 OMRINDn.1 OMRINDn.2 OMRINDn.3 OMRINDn.4 OMRINDn.5 OMRINDn.6 OMRINDn.7 OMRINDn.8 OMSKFTn.0 OMSKFTn.1 OMSKFTn.2 OMSKFTn.3 OMSKFTn.4 OMSKFTn.5 OMSKFTn.6

fReturnSetPoint fReturnSensor fCompen fMinLimiter fMaxLimiter fFlowSensor fDeadBand bStopITime fPBand iITime bOverride_100 bOverride_0 bOpenOutput bCloseOutput fActualValue fCalcSetPoint bSwitchOutput bVisible bManuelMode sBlockName fAnalogInput fOutputOffset fActualValue X1 Y1 X2 Y2 X3 Y3 X4 Y4 X5 Y5 X6 Y6 bVisible bManuelMode sBlockName fAnalogInput fMinLimit fMaxLimit bMinRange bLimitRange bMaxRange bVisible bManuelMode sBlockName fInput1 fInput2 bSwitchInput fActualValue bVisible bManuelMode

Float Float Float Float Float Float Float Boolean Float Integer Boolean Boolean Boolean Boolean Float Float Boolean Boolean Boolean String16 Float Float Float Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Boolean Boolean String16 Float Float Float Boolean Boolean Boolean Boolean Boolean String16 Float Float Boolean Float Boolean Boolean

REAL REAL REAL REAL REAL REAL REAL DIGITAL REAL INTEGER DIGITAL DIGITAL DIGITAL DIGITAL REAL REAL DIGITAL DIGITAL DIGITAL STRING REAL REAL REAL INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER DIGITAL DIGITAL STRING REAL REAL REAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL STRING REAL REAL DIGITAL REAL DIGITAL DIGITAL

DanBuss DNIP.doc

18

Driver Design Specification

OPTCONn.0 OPTCONn.1 OPTCONn.2 OPTCONn.3 OPTCONn.4 OPTCONn.5 OPTCONn.6 OPTCONn.7 OPTCONn.8 OPTCONn.9 OPTCONn.10 OPTCONn.11 OPTCONn.12 OPTCONn.13 OPTCONn.14 OPTCONn.15 OPTCONn.16 OPTCONn.17 OPTCONn.18 OPTCONn.19 OPTCONn.20 OPTCONn.21 OPTCONn.22 OPTCONn.23 OPTCONn.24 PIDREGn.0 PIDREGn.1 PIDREGn.2 PIDREGn.3 PIDREGn.4 PIDREGn.5 PIDREGn.6 PIDREGn.7 PIDREGn.8 PIDREGn.9 PIDREGn.10 PIDREGn.11 PIDREGn.12 PIDREGn.13 PIDREGn.14 PIDREGn.15 PIDREGn.16 PIDREGn.17 PIDREGn.18 PREGn.0 PREGn.1 PREGn.2 PREGn.3 PREGn.4 PREGn.5 PREGn.6 PREGn.7 PREGn.8

sBlockName bSwitchValue fOutSensor fRoomSensor bSensorActive fSetPoint fMaxSetPoint iTOn iTOff iMaxTOn iMaxTOff fSwitchTime bIDEActive fEDESetPoint bDayLevel bBoostLevel bEDELevel bIDELevel bAlarmStart bAlarmStop fAlarmValue iCalcTOn iCalcTOff bVisible bManuelMode sBlockName fSensorInput fCompen bSetPointSwitch fDaySetPoint fNightSetPoint fMinLimit fMaxLimit fPBand iITime iDTime bLockITime fOutputOffset fActualValue fCalcSetPoint fPIOutput bSwitchOutput bVisible bManuelMode sBlockName fSensorInput fCompen1 fCompen2 bSetPointSwitch fAmplific1 fAmplific2 fSetPoint1 fSetPoint2

String16 Boolean Float Float Boolean Float Float Integer Integer Integer Integer Float Boolean Float Boolean Boolean Boolean Boolean Boolean Boolean Float Integer Integer Boolean Boolean String16 Float Float Boolean Float Float Float Float Float Integer Integer Boolean Float Float Float Float Boolean Boolean Boolean String16 Float Float Float Boolean Float Float Float Float

STRING DIGITAL REAL REAL DIGITAL REAL REAL INTEGER INTEGER INTEGER INTEGER REAL DIGITAL REAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL REAL INTEGER INTEGER DIGITAL DIGITAL STRING REAL REAL DIGITAL REAL REAL REAL REAL REAL INTEGER INTEGER DIGITAL REAL REAL REAL REAL DIGITAL DIGITAL DIGITAL STRING REAL REAL REAL DIGITAL REAL REAL REAL REAL

DanBuss DNIP.doc

19

Driver Design Specification

PREGn.9 PREGn.10 PREGn.11 PREGn.12 PREGn.13 PREGn.14 PREGn.15 PREGn.16 PREGn.17 PREGn.18 PREGn.19 PROPBn.0 PROPBn.1 PROPBn.2 PROPBn.3 PROPBn.4 PROPBn.5 PROPBn.6 PROPBn.7 PROPBn.8 PROPBn.9 PROPBn.10 PROPBn.11 TIMCONn.0 TIMCONn.1 TIMCONn.2 TIMCONn.3 TIMCONn.4 TIMCONn.5 TIMCONn.6 TIMCONn.7 TIMCONn.8 TIMCONn.9 TIMCONn.10 TIMCONn.11 TIMCONn.12 TIMCONn.13 TIMCONn.14 TIMCONn.15 TIMCONn.16 TIMCONn.17 TIMCONn.18 TIMCONn.19 TIMCONn.20 TIMCONn.21 TIMCONn.22 TIMCONn.23 TIMCONn.24 TIMCONn.25 TIMCONn.26 TIMCONn.27 TIMCONn.28 TIMCONn.29

fMinLimit fMaxLimit fPFactor fDaySetPoint fNightSetPoint fOutputOffset fActualValue fCalcSetPoint fFilter bVisible bManuelMode sBlockName fAnalogInput fLowerSetPoint fUpperSetPoint fLowerAmplific fUpperAmplific fLowerLimit fUpperLimit fOutputOffset fActualValue bVisible bManuelMode sBlockName bOverrideDay bOverrideNight bActualLevel fSwitchTime fActualTime sProg1Per1Start sProg1Per1Stop sProg1Per2Start sProg1Per2Stop sProg1Per3Start sProg1Per3Stop sProg2Per1Start sProg2Per1Stop sProg2Per2Start sProg2Per2Stop sProg2Per3Start sProg2Per3Stop sProg3Per1Start sProg3Per1Stop sProg3Per2Start sProg3Per2Stop sProg3Per3Start sProg3Per3Stop sProg4Per1Start sProg4Per1Stop sProg4Per2Start sProg4Per2Stop sProg4Per3Start sProg4Per3Stop

Float Float Float Float Float Float Float Float Float Boolean Boolean String16 Float Float Float Float Float Float Float Float Float Boolean Boolean String16 Boolean Boolean Boolean Float Float Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour Str24Hour

REAL REAL REAL REAL REAL REAL REAL REAL REAL DIGITAL DIGITAL STRING REAL REAL REAL REAL REAL REAL REAL REAL REAL DIGITAL DIGITAL STRING DIGITAL DIGITAL DIGITAL REAL REAL STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING STRING

DanBuss DNIP.doc

20

Driver Design Specification

TIMCONn.30 TIMCONn.31 TIMCONn.32 TIMCONn.33 TIMCONn.34 TIMCONn.35 TIMCONn.36 TIMCONn.37 TIMCONn.38 TIMCONn.39 TIMCONn.40 TIMCONn.41 TIMCONn.42 TIMERn.0 TIMERn.1 TIMERn.2 TIMERn.3 TIMERn.4 TIMERn.5 TIMERn.6 TIMERn.7 TIMERn.8 TIMERn.9 TIMERn.10 TIMERn.11 TIMERn.12 TIMERn.13 TIMERn.14 TIMERn.15 TIMERn.16 TIMERn.17 TIMERn.18 TIMERn.19 TRINDn.0 TRINDn.1 TRINDn.2 TRINDn.3 TRINDn.4 TRINDn.5 TRINDn.6 TRINDn.7 TRINDn.8 TRINDn.9 TRINDn.10 TRINDn.11 TRINDn.12 TRINDn.13 DATE TIME

sOverrideOnStart sOverrideOnStop sOverrideOffStart sOverrideOffStop iProgSelMonday iProgSelTuesday iProgSelWednesday iProgSelThusday iProgSelFriday iProgSelSaturday iProgSelSunday bVisible bManuelMode sBlockName bStartInput bStopInput bResetInput iMaxLimit bAlarmSend bAlarmMaxRange bAlarmMinRange bAlarmMaxLimit bAlarmMinLimit bCommonAlarm iActualValue iSelectTimerUnit bMaxRangeAlarmEnable bMaxLimitAlarmEnable bSettingAlarmEnable bBusAlarmEnable iMPVAlarmGroup bVisible bManuelMode sBlockName fAnalogInput fMaxInValue fMinInValue fMaxOutValue fMinOutValue bMinOverride bMaxOverride bOverride_0 bOverride_100 bTurnOutput fActualValue bVisible bManuelMode sDate sTime

Str1WeekMinute Str1WeekMinute Str1WeekMinute Str1WeekMinute Integer Integer Integer Integer Integer Integer Integer Boolean Boolean String16 Boolean Boolean Boolean Integer Boolean Boolean Boolean Boolean Boolean Boolean Integer Integer Boolean Boolean Boolean Boolean Integer Boolean Boolean String16 Float Float Float Float Float Boolean Boolean Boolean Boolean Boolean Float Boolean Boolean StrUTCDate StrUTCTime

STRING STRING STRING STRING INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER DIGITAL DIGITAL STRING DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL INTEGER INTEGER DIGITAL DIGITAL DIGITAL DIGITAL INTEGER DIGITAL DIGITAL STRING REAL REAL REAL REAL REAL DIGITAL DIGITAL DIGITAL DIGITAL DIGITAL REAL DIGITAL DIGITAL STRING STRING

Where:

DanBuss DNIP.doc

21

Driver Design Specification

The Function Block number. This can span from 1 to 32 for all types of function blocks.

Note: String16 has always a maximum length of 16 bytes.

4.8 Protdir.dbf
TAG DANBUSS FILE DANBUSS BIT_BLOCK 16 MAX_LENGTH 256 OPTIONS 0x0B47

4.9 Parameters and INI options


4.9.1 Standard Parameters Block Delay MaxPending Polltime Timeout 5000 ms Retry WatchTime 2 30 s 16 250 ms 75 100 ms (Citect blocking is prohibited)

4.9.2 Driver Specific Parameters All DANBUSS specific parameters are located in the section DanBuss PARAMETER CacheLiveTime DEFAULT 30000 (ms) DESCRIPTION The time a Cache Element should stay allocated from that a DCB has made access to it. When a Cache Element is allocated, it will always be updated with values from the device. The interval that is used to update One Shot variables. Function Block TIMCON is an example of a set of variables that will be updated with this interval. The factor the Delay is multiplied with when there are no high priority requests in the cache list. If all variables has been updated once, the time between DANBUSS request will increase to 6 x 250 ms = 1,5 seconds (defaults), if nothing causes any cache element to get high priority. The address of the Citect I/O-server. If set to a faulty value, it could cause the GateWay not to know where to send packets returning from the devices. The default address is the Danfoss standard DHC address.

RefreshInterval

3600 (s)

IdleSlowDown

DHCAddress

0:10

DanBuss DNIP.doc

22

Driver Design Specification

MaxScanListElements

36

The number of variables (DCBs asked for, that are in the CacheList) that may be asked for in one single poll to the unit that is to be serviced. The maximum number of variables is 36. Enables the Tag Debug Mode. It will set the MaxScanListElements parameter to 1 and make a single poll for every variable that is requested. This will return #COM for every variable until it has been polled (Generic error 0x19, GENERIC_INVALID_DATA). If there is any invalid variable (invalid Function Block address) it will remain in the #COM state, but return DRIVER_ADDRESS_RANGE_ERROR when it has been polled. The nature of DANBUSS is that if any of the requested variables (may be up to 36) has an bad address, all will return #COM (Generic Error 1 - DRIVER_ADDRESS_RANGE_ERROR).This debug mode is very slow, but is the only way to find out which variable causes the error.

TagDebugMode

ShowAlarmEvents

Causes the driver to show any incoming alarm events in the Kernel window. This is only done if any of the Debug modes are set (!= OFF), i.e. DEBUG p2 ERROR etc. If an alarm event of a parameter is received, and this parameter is set to 1 it will cause the driver to treat all parameters that belong to the same function block as the alarm event parameter to be reread (like a first poll). If set to 1, it will force the driver to respond with cahce allocs and replies when any debug mode is entered in the Kernel Enter any devices (or range of devices) that should be forcefully turned off. This will cause the devices to not be initially read by the driver. The format is 10: 0-10:127,12:0-12:127,13:2,13,3 etc.

ReReadAllEventBlockParameters

DebugNewCaches ForceOffLine

ScanListDeleteAtShutDown SleepAtShutDown

If set to 1, it will force the driver to send a ScanList delete command to the devices when the driver is shut down. This is not being used by this driver. The time the driver should wait from that it has sent a ScanList delete command to the device at shut down, until it processes the next device on-line. This is used in conjunction with ScanListDeleteAtShutDown.

1500 (ms)

4.10 Driver Specific Errors


Driver Error Code 101 Mapped to (Generic Error label) ERR_ALLOCATE Could not allocate memory to Read or Write Cache Element. This could mean that memory is short. Meaning of Error Code

DanBuss DNIP.doc

23

Driver Design Specification

4.11

Driver Error Help


The following entries should be included in the Citect ProtErr.DBF spec file.

PROTOCOL DANBUSS

MASK

ERROR 101

MESSAGE Cache Memory Allocation Error

REFERENCE

ACTION

COMMENT

4.12 Debug Messages


Shows the outgoing/incoming data packets in hex. If error report level is set to ERROR the driver will report errors, i.e. if any point is asked for that is not configured in the device. The format is of Undefined Point: 013:001/AI02.7, which means device 013:001, Analog Input 2, parameter 7 (this is the same address that is entered in the tag variable database, AI02.7 or AI2.7). If TagDebugMode is off in CITECT.INI then all tags that are asked for in one request (up to 36) is shown. To see which one that has an invalid address, the TagDebugMode must be set on. The DanBuss protocol does not return any value at all if only one fail.

4.13 Stats Special Counters


Number 0 1 2 3 4 5 6 7 8 9 10 Label DCB Requests Inbuffer max Unrequested packets Packets received Cache hits Cache hit rate (%) Sent DanBuss packets Resent packets Cache alloc's Cache elements Trashed elements Purpose/Meaning of this counter Number of DCB requests (accumulated). Maximum used bytes in the input buffer for the CPU service function (before they have been handled by the packet receive routine). Packets received that was not asked for. Total number of received packets. Number of DCBs that has been read directly from the Cache (did not cause a physical read). The hit rate (Cache hits / DCB Requests x 100). Number of sent packets. Resents packets caused by timeout. Number of allocated Cache Elements (accumulated). Momentary number of Cache Elements. Is equal to the number of DCB requests within the CacheLiveTime (default 30 seconds) Number of Cache Elements (Read or Write) that has been deleted due to timeout of the CacheLiveTime (default 30 seconds), before the outstanding request has returned from DANBUSS. The momentary value of outstanding DCBs that is serviced by the driver (default max 75). The top value of DCBs that has been requested by Citect to be serviced by the driver. The time DANBUSS consumed to service the last request. The requests are blocked together by the driver if possible (max 36 varables can be read in a single request). Number of blocked reads that has been requested of the total sent

11 12 13

Outstanding DCB's Max outst. DCB's Phys. read time (ms)

14

ScanList reads

DanBuss DNIP.doc

24

Driver Design Specification

number of DANBUSS requests. 15 16 17 18 19 n/a n/a n/a n/a n/a

4.14 Hints and Tips


Be careful when entering tags. If any tags exist that has an invalid address it will cause up to 36 tags to not return any value at all due to the nature of the DanBuss protocol. The erronous tag will be hard to find.

DanBuss DNIP.doc

25

Driver Design Specification

5. References and Contacts

5.1 References
These references are attached/delivered as Word 6.0 Documentation files. MKS001 MKS002 MKS003 CI_VAR2 Meddelelse Krav Specifikation Danfoss DANBUSS Meddelelse Krav Specifikation DANDUC Meddelelse Krav Specifikation Danfoss MPV Variable types supported by the driver.

5.2 Contacts
5.2.1 Driver Development TroSoft, Tomas Rook +46 8 532 57262

5.2.2 DanBuss specialist Danfoss System Control, Rune Klitgaard +45 42 841622

5.2.3 Project Management Autic System, Gran Mnsson +46 155 214990

5.2.4 Delivery and support Autic System AB Box 81 SE-261 22 Landskrona Sweden Phone Telefax [email protected] [email protected] www.autic.se +46(0)418-471160 +46(0)418-471161

DanBuss DNIP.doc

26

You might also like