Technical data
MESOMATIC Automation und Messtechnik GmbH D-71394 Kernen
Data mapping on the Profibus:
Byte Description
0 The 6 decimal digits of the weight value are converted to a 32 bit 2’
complement representation, together with the sign. If the DK900
delivers a weight value of ??????, or the serial connection to the
DK900 is interrupted, the maximum positive value (7FFFFFFFhex) is
transmitted.
Byte 0 contains Bits 7..0 (LSB) of the actual value.
1 Bits 15..8 of the actual value
2 Bits 23..16 of the actual value
3 Bits 31..24 of the actual value (MSB)
4 Status and evaluation of Bytes 0..3
Bit 7 There is no valid actual value, or a serial error has
occurred.
Bit 6 No internal serial connection to the DK900’s main board
Bit 5 Watchdog bit (changes its state every 200 ms)
Bits 4,3
At present, always 0 (free for extensions)
Bit 2 Number of positions after the decimal point Bit 2
2
Bit 1 Number of positions after the decimal point Bit 2
1
Bit 0 Number of positions after the decimal point Bit 2
0
5 Bit 0 - 7
At present, always 0 (free for extensions)
6 Bit 7
always 0
Bit 6
always 0
Bit 5 Status Input IN5
Bit 4 Status Input IN4
Bit 3 Status Input IN3
Bit 2 Status Input IN2
Bit 1 Status Input IN1 (keyboard lock)
Bit 0 Status Input IN0 (tare)
7 Bit 0 - 7
At present, always 0 (free for extensions)
8 Bit 7
always 0
Bit 6
always 0
Bit 5 Status Output OUT5
Bit 4 Status Output OUT4
Bit 3 Status Output OUT3
Bit 2 Status Output OUT2
Bit 1 Status Output OUT1
Bit 0 Status Output OUT0
Table 1 Process data channel
The watchdog bit (Bit 5 within Byte 4) is not updated while the DK900 is carrying out
internal processes (e. g. if the DK is being parameterised via the device’s keyboard)!
Byte 4, Bits 0..2 contain the number of positions after the decimal point parameterised.
The evaluation of the Data Bytes 0..3 is done in the 2’s complement format and is not
directly compatible with a Siemens S7 SPC, for example. Any conversion into the double
integer number format will be performed as follows:
Use the SFC 14 in order to read out the process data channel data from the DK900 and
file them in the DB10 data module, for example.
Since the actual value of the scales is displayed from Data Byte 0 to 3, it is possible
to have direct access in the form of a double word.
L DB10.DBD 0 Load the double word filed in DB10 starting with data word 0
TAD Reverse the order of the bytes in AKKU 1 (32 Bits)
INVD Generate the 1’s complement, integer (32 Bits)
L L#-1 Multiply AKKU1
*D with -1
L L#1 Subtract from AKKU1
-D the value of 1
T MD100 Store the result in the flag double word 100
Now Bits 0..2 must be read from Byte 4 and be stored as the number of positions after the
decimal point. In order to achieve that the actual value is evaluated with the correct
decimal point position in the floating point format, the following calculation must be
made:
A
ctual valu
e
=
MD100
10
No. of pos. after dec. poin
t
DK900 13










