AMiT ATOUCH32 DB-Net communication protocol
Supported device types and versions
Communication line configuration
Communication station configuration
DB-Net initialization
I/O tag configuration
Errors and problems
Literature
Changes and modifications
Document revisions
Supported device types and versions
The protocol supports data acquisition using devices from the AMiT company (ADiS modular control system and ART267, ART4000, AMiRiS, and AMAP compatible control systems and others) via a DB-Net communication network. Communication requires the installation of the ATOUCH32 driver to communicate in a DB-Net ATOUCH32 network (you can download it at http://www.amit.cz). Communication was tested and tuned for the ATOUCH32 driver of V2.10, V2.30, V2.40, V2.60, V2.90, and V3.30 versions.
Limitations: The protocol does not support database variables of "self station", i.e. on the computer with ATOUCH32 driver running but allows to read/write variables on process stations. The DB-Net driver can be used by just one application (in our case the D2000 KOM process) at the same time.
When using the older versions of ATOUCH32 V2.x, just one communication line for DB-Net communication must be configured. ATOUCH32 V3.x versions enable so-called multithreading. It means, you may connect more lines, which will communicate in parallel, to ATOUCH32 and speed up the communication. The driver must be initialized only by one line (see "Init File" parameter, note 2). However, the rule that all lines must be configured within one KOM process on one computer still applies. This feature may be used in D2000 V9.00.021 rel.021 and higher.
Note: if it is necessary to create multiple lines (where communication with AMiT is via TCP and the IP address is configured in the UDP section in the initialization file), each line must be configured using a separate KOM process.
Example of a dbnet.ini file with a network-connected AMiT:
[General]
MyStation=0
[UDP]
Address=172.16.1.20
Station=1
Communication line configuration
- communication line category: API.
Communication line parameters
Communication line - configuration dialog box - the Protocol parameter tab.
Parameters defined in the field have an effect on some optional protocol parameters. The following line protocol parameters can be defined:
Table 1
Full name | Description | Units / size | Default value |
---|---|---|---|
HW Init File | Full path to the file containing the DB-Net configuration. Note 1: If the line protocol parameter INIFILE is not specified (an empty string), then the station protocol parameters described below must be configured correctly for all stations. The parameters of DB-Net IP can be configured only by "Init File". Note 2: If you do not want so that the line initialized ATOUCH32 in the multithread mode, use "---", i.e. 3x "minus" character. One line within the D2000 KOM process must contain the path to the existing init file. It, then, executes the initialization for all other lines. | - |
Communication station configuration
- Communication protocol: AMiT ATOUCH32 DB-Net.
- The station address is the device address in the DB-Net network (value of the “Station” item in the initialization string/file - a 16-bit number). Neither the configuration nor the network can contain two stations with the same address including the address of "self station".
Communication station parameters
Communication station - configuration dialog box - tab Protocol parameter.
Parameters defined in the field influence some optional protocol parameters. The following station protocol parameters can be defined:
Table 2
Full name | Meaning | Unit/ size | Default value |
---|---|---|---|
My Station | Address of "self station" (PC with ATOUCH32 driver running) | - | 31 |
COM Port | COM port used for the communication | - | 1 |
COM Speed | Communication baud rate. | - | 19200 |
Max. Transactions Error | The maximum number of consecutive read commands which have to fail for the communication with the station to be marked as failed and the status of the station to be set to StCOMERR. If the number of failed readings of I/O tags exceeds the double of this value, the reading of the next I/O tags will be stopped. The purpose is to avoid communication delays due to non-working stations (the station is considered to be completely inaccessible). | - | 10 |
Full Debug | High level of line debug messages - trace messages contain details about received values of I/O tags. | - | False |
Enable Matrix Read | The reading of matrix variables will be optimized for slow networks (e.g. GPRS). Reading of variables with matrix types (INT MATRIX, LONG MATRIX, FLOAT MATRIX a DBNETTIME MATRIX) will be optimized. If multiple I/O tags share the same WID and type, only a single read request is generated and it incorporates a range of rows and columns of all these I/O tags. | - | False |
DB-Net initialization
When starting, the DB-Net driver requires to get the configuration file or string containing the DB-Net network configuration for a particular application. If you use the communication via standard COM port, it is possible to avoid creating the configuration file on disk using the My Station, COM Port, and COM Speed station protocol parameters which must be configured for one of the stations.
If the Init File line protocol parameter is specified for a line (at least one), then the My Station, COM Port, and COM Speed protocol parameters will be ignored on all the stations. Instead, the configuration file on the disk (the path of which is defined by the Init File line protocol parameter) will be used.
For further information on the file contents, see the ATOUCH32 online help.
Example: configuration file contents:
[General] MyStation=0 UDP.MyPort=222 UDP.MyPassword=111222333 [COM] Com=2 Speed=38400 Station=1 Station=2 Station=4 Station=13 [COM] Com=3 Speed=9600 OfsNet=32 Station=33 Station=34 Station=36 Station=45 [UDP] Address=192.168.168.1 Password=444555666 Offset=10 Station=10 Station=20 Station=30 [UDP] Address="segment100.firmaXY.cz" Password=777888999 Port=333 Offset=100 Timeout=5000 Station=105 Station=106 Station=107
I/O tag configuration
Possible I/O tag types: Ai, Ao, Ci, Co, Di, Do, TxtI, TxtO, TiA, ToA, TiR, ToR.
I/O tag address consists of:
- WID - the numerical name of the variable - a unique number within the DB-Net network. The permitted range is 0..65500, the value is assigned by the PSP3 tool or DetStudio. The number is specified as a decimal number or as a hexadecimal number with a hash at the beginning (e.g. #0A).
- Type - value type of the variable - it can be the INT, LONG, FLOAT types, and the INT MATRIX, LONG MATRIX, or FLOAT MATRIX types. The INT and INT MATRIX types are 16 bit wide; and if they are configured as Ai/Ao value types, they are interpreted as signed numbers; and if they are configured as Ci/Co value types, they are interpreted as unsigned numbers.
LONG and LONG MATRIX types (32 bit wide) configured as Ai/Ao value types are interpreted as signed numbers and if they are configured as Ci/Co value types, they are interpreted as unsigned numbers. The FLOAT and FLOAT MATRIX types are 32-bit float numbers within the range from ±10-36 to ±1038. DBNETTIME is LONG type interpreted as absolute time in DBNet format (number of seconds from 1-1-1980 0:0:0). INT MATRIX value type can be set for value types of TxtI and TxtO. Then the row from the INT matrix is interpreted as text, each INT element of the matrix represents one character. INT and LONG types can be represented as relative time - i.e. a number of seconds.
- Row, Column - value position in matrix types, the rows and columns are indexed from zero.
- Row count, Column count - In the case of value types TxtI and TxtO, only the column count can be specified, which is the text length. For other value types, the implicit value of row count and column count is 1. If the configured row count/column count is above 1, the values of the whole matrix or part of the matrix are read into the target column of a structure. A part of matrix [Row, Column .. Row+ Row count -1, Column+ Column count - 1] will be read.
Example: Row=1, Column=2, Row count=20, Column count=30. Rows 1 to 20, columns 2 to 31 are read, i.e. part of matrix [1,2 .. 20, 31]. - Bit - bit number for the Di and Dout value types. It can be within the range of 0 - 15 for the INT and INT MATRIX types or within the range of 0 - 31 for the LONG and LONG MATRIX types.
Errors and problems
When starting or during communication, the following error messages can occur. To make the problem identification easier, set the communication tracking at least to the level Monitor (the best is to temporarily set it to Monitor & Disk). When you set the option Monitor & Disk, a file "line_name.LOG" will be created in the application subdirectory TRACE, which will contain all debug and error logs. If you are unable to correct the error and the problems still persist, please contact IPESOFT's technical support.
Error: | DB-Net Station Address Error - 'StationName', Address : 'StationAddress' |
Solution: | Invalid station address - check the Address tab in the communication station configuration dialog box (in the D2000 CNF process) and eventually save the station configuration and restart the D2000 KOM process. |
Error: | DB-Net Point Address Error - 'PointName', Address : 'PointAddress' |
Solution: | Invalid I/O tag address - check the Address tab in the I/O tag configuration dialog box (in the D2000 CNF process) and eventually save the I/O tag configuration. |
Error: | DB-Net ATOUCH32 ERROR - 0xXY - AtchInitFromStringA |
Solution: | Error when calling the ATOUCH32 function AtchInitFromStringA - check the station configuration and protocol parameters. During the start, the D2000 KOM process displays the configuration string (the communication tracing level at least Monitor must be enabled) - please check if it corresponds to your requirements. |
Error: | DB-Net ERROR - CreateSemaphore - ErrNr - Error description |
Solution: | System error of Windows API call. Restart the operating system. |
Error: | DB-Net ATOUCH32 ERROR - 0xXY - AtchReqGetVariable DB-Net ATOUCH32 ERROR - 0xXY - AtchReqPutVariable |
Solution: | Error when calling the ATOUCH32 functions AtchReqGetVariable or AtchReqGetVariable for reading/writing a DB-Net database variable value. Previous communication tracing logs allow us to detect which I/O tag is in trouble and then its configuration can be checked. |
Error: | DB-Net ERROR - Reading 'PointName' - TNRES=0 ! DB-Net ERROR - Reading 'PointName' - TNRES=1 (reading on progress) ! DB-Net ERROR - Reading 'PointName' - TNRES=Invalid ! DB-Net ERROR - Writing 'PointName' - TNRES=0 ! DB-Net ERROR - Writing 'PointName' - TNRES=1 (reading on progress) ! DB-Net ERROR - Writing 'PointName' - TNRES=Invalid ! |
Solution: | Transaction errors of reading/writing the DB-Net database variable. They should not occur. |
Error: | DB-Net ERROR - Reading 'PointName' - TNRES=4 (station not responded) ! DB-Net ERROR - Writing 'PointName' - TNRES=4 (station not responded) ! |
Solution: | Transaction errors of reading/writing the DB-Net database variable. The station doesn't respond because it is switched off, there is a problem with the communication wire or a configuration error (e.g. wrong baud rate, address or port). The error could occur sporadically, especially at reading. |
Error: | DB-Net ERROR - Reading 'PointName' - TNRES=4 (station responded) ! DB-Net ERROR - Writing 'PointName' - TNRES=4 (station responded) ! |
Solution: | Transaction errors of reading/writing the DB-Net database variable. The station responded with an error. Probably it is an attempt to read or write a variable, which does not exist in a device. Check the configuration of the corresponding I/O tag and compare it with the log from the AMiT PSP3 software tool. |
Error: | DB-Net ATOUCH32 ERROR - 0xXY - AtchInitFromFileA |
Solution: | Error when calling the ATOUCH32 function AtchInitFromFileA. Check if the protocol parameter INIFILE is configured just for one station and its value is a name of an existing file on a disk. |
Literature
- AMiT Atouch32 v3.30 online manual. Revision: 12.07.2011, Document version: 1.34.
Changes and modifications
- January 23rd, 2004 – added protocol parameter INIFILE and the possibility to configure UDP and MODEM communication.
- September 6th, 2006 - TxtI, TxtO, TiA, and ToA types added. New entry for station and line protocol parameters.
- January 8th, 2008 - changes in the configuration of matrixes, DBNETTIME, target column.
- May 22nd, 2009 - relation times added.
- October 25, 2012 - multithread for ATOUCH32.
Document revisions
- Ver. 1.0 - March 26th, 2002 - creating of document
- Ver. 1.1 – January 23rd, 2004 – document corrections after changes in the initialization
- Ver. 1.2 - September 6th, 2006 - updating
- Ver. 1.3 - January 8th, 2008 - updating
- Ver. 1.4 - May 22nd, 2009 - updating
- Ver. 1.5 - October 1st, 2009 - parameter "Max. Transactions Error"
- Ver. 1.6 - October 25, 2012 - updating
Related pages:
Pridať komentár