Register description
All registers can be read or written via register communication.
Registers R0 to R31 (direct access)
These registers are used to parameterize the KL3356.
R0: status word
The status word contains information about internal signals, and provides an indication of errors that have occurred.
Bit | Name | Description | |
---|---|---|---|
R0.15 | GainError | 1bin | The deviation of the gain correction factor is greater than specified in register R46. |
R0.14 | LowVoltageCh2 | 1bin | The strain gauge reference signal is smaller than specified in register R45. |
R0.13 | NoRefCh2 | 1bin | The internal reference voltage for channel 2 (strain gauge reference signal) is missing. |
R0.12 | NoRefCh1 | 1bin | The internal reference voltage for channel 1 (strain gauge differential signal) is missing. |
R0.11 | OverloadCh2 | 1bin | The strain gauge reference signal is above the valid range (max. 0xFFFF) |
R0.10 | OverloadCh1 | 1bin | The strain gauge differential signal is above the valid range (max. 0xFFFF) |
R0.9 | ADCError | 1bin | No communication with the A/D converter. |
R0.8 | TestError | 1bin | Actual value from the test is outside the specified tolerance range. |
R0.7 | - | reserved | |
R0.6 | MapCaliCounter | 1bin | Acknowledgement for CB2.4. The calibration counters are shown in registers R2, R3 and R5. |
R0.5 | CaliDataMapped | 1bin | Acknowledgement for CB2.2. The last test results are shown in registers R2, R3 and R5. |
R0.4 | ManCheckDone | 1bin | The manual test that was started with CB2.0 has been completed. |
R0.3 | TestActive | 1bin | Manual testing is in progress. |
R0.2 | CaliActive | 1bin | Calibration (manual or automatic) is active. |
R0.1 | NegSignalCh2 | 1bin | The strain gauge reference signal is negative. |
R0.0 | NegSignalCh1 | 1bin | The strain gauge differential signal is negative. |
R1: measured value register 1
- Raw data of the converters:
If control bit CB2.2 is not set, then the weight calculated by means of formulae 1.0 and 1.1 is displayed in register R1. - If control bit CB2.2 is set, register R1 is blank.
- If control bit CB2.4 is set, register R1 is blank.
R2: measured value register 2
- Raw data of the converters:
If the control bit CB2.2 is not set, register R2 shows the strain gauge measuring signal. - Calibration data:
If control bit CB2.2 is set, register R2 shows the preload of the measuring signal input. - Calibration counter 0:
If control bit CB2.4 is set, register R2 shows the number of measured values that were identical to the first measured value.
R3: measured value register 3
- Raw data of the converters:
If the control bit CB2.2 is not set, register R3 shows the strain gauge reference signal. - Calibration data:
If control bit CB2.2 is set, register R3 shows the preload of the reference signal input. - Calibration counter 1:
If control bit CB2.4 is set, register R3 shows the number of measured values that were smaller than the first measured value.
R4: register page selection register
Other register pages can be accessed by writing into register R4. The value entered into register R4 is accepted if the desired register page is present. If that is not the case, the previous value is retained.
Register content R4 | Register numbers R32 to R63 permit access to |
---|---|
0x0000 | Register page 0: Configuration registers R32 to R63 |
0x0001 | Register page 1: 32 words of freely available SEEPROM memory |
0x0002 | Register page 2: 32 words of freely available SEEPROM memory |
0x0003 to 0xFFFF | reserved |
R5: measured value register 4
- Raw data of the converters:
If the control bit CB2.2 is not set, register R5 shows the most recent actual test value. - Calibration data:
If control bit CB2.2 is set, register R5 shows the correction factor for the differential signal (factor x 10000). - Calibration counter 2:
If control bit CB2.4 is set, register R5 shows the number of measured values that were greater than the first measured value.
R6: diagnostic register
Status byte SB2 is placed into register R6.
R7: command register
![]() | User code word For a command to be executed, it is first necessary for the user code word, 0x1235, to be entered into register R31. |
Command 0x0101: user calibration - offset
The KL3356 uses the entry 0x0101 in register R7 to compensate the user offset. The calibration value is entered in register R33.
The calibration value is taken account in weight measuring if bit R32.0 is set.
To execute this command, the user calibration must be active (bit R32.0 and R32.10 must be set)!
Command 0x0102: user calibration - gain
The KL3356 uses the entry 0x0102 in register R7 to compensate the user gain. The calibration value is entered in register R34.
The calibration value is taken account in weight measuring if bit R32.0 is set.
To execute this command, the user calibration must be active (bit R32.0 and R32.10 must be set)!
Command 0x0401: manual calibration mode
Manual calibration mode is enabled by entering 0x0401 into register R7. When the terminal has accepted the value, then setting
Output data word DataOUT1 can be used to change the operation mode of the KL3356.
Command 0x7000: Restore Factory Settings
Entering 0x7000 in register R7 restores the delivery state for the following registers:
R19: 0 | R40: 1800dec |
R8: terminal designation
The name of the terminal is contained in register R8. KL3356: 0x0D1C (3356dec)
R9: firmware version
Register R9 contains the ASCII coding of the terminal's firmware version, e.g. 0x3141 = '1A'. The '0x31' corresponds here to the ASCII character '1', while the '0x41' represents the ASCII character 'A'.
This value cannot be changed.
R16: hardware version number
Register R16 contains the hardware version of the terminal; this value cannot be changed.
R19: manufacturer scaling - offset
This register contains the offset of the manufacturer scaling. Manufacturer scaling can be enabled through R32.1 in the feature register.
R20: manufacturer scaling - gain
This register contains the gain of the manufacturer scaling (16 bit unsigned integer x 2-8 + 1).
Examples:
0x0080 (128dec) means factor 0.5
0x0100 (256dec) means factor 1.0
Manufacturer scaling can be enabled through R32.1 in the feature register.
R31: codeword register
- If you write values into the user registers without first entering the user code word (0x1235) into the code word register, the terminal will not accept the supplied data.
- If you write values into the user registers and have previously entered the user code word (0x1235) in the code word register, these values are stored in the RAM registers and in the SEEPROM registers and are therefore retained if the terminal is restarted.
The code word is reset if the terminal is restarted.
Register page 0 (access selectable via register R4)
These registers are also used for parameterization of the KL3356.
Feature register (R32)
The feature register specifies the terminal's configuration.
Bit | R32.15 | R32.14 | R32.13 | R32.12 | R32.11 | R32.10 | R32.9 | R32.8 |
Name | - | - | - | WaitForStableValue | ScalingUnit | enUsrCali | enStabCali | enScaling |
Bit | R32.7 | R32.6 | R32.5 | R32.4 | R32.3 | R32.2 | R32.1 | R32.0 |
Name | enSymm | disRef | disTest | disCali | - | disWdTimer | enManScal | enUsrScal |
Key
Bit | Name | Description | Default | |
---|---|---|---|---|
R32.15 | - | reserved | 0bin | |
... | ... | ... | ... | |
R32.13 | - | reserved | 0bin | |
R32.12 | WaitFor | 0bin | After a calibration or measurement of the reference voltage, the KL3365 outputs the measured value immediately. Small peaks may still be displayed. | 0bin |
1bin | After a calibration or measurement of the reference voltage, the KL3365 waits with the measured value output until the weight value has become stable. | |||
R32.11 | ScalingUnit | 0bin | Unit of R36 = 1 mV/V | 0bin |
1bin | Unit of R36 = 0,01 mV/V | |||
R32.10 | enUsrCali | 0bin | User scaling (see formula 1.3.0) is active if bit 32.0 is set. | 0bin |
1bin | User calibration (see formula 1.3.1) is active if bit 32.0 is set. | |||
R32.9 | enStabCali | 0bin | Calibration stabilization not active | 1bin |
1bin | Calibration stabilization active | |||
R32.8 | enScaling | 0bin | Scale factor is not active | 1bin |
1bin | Scale factor is active | |||
R32.7 | enSymm | 0bin | Symmetrical measurement is not active | 1bin |
1bin | Symmetrical measurement is active | |||
R32.6 | disRef | 0bin | Cyclic reference measurement is active | 0bin |
1bin | Cyclic reference measurement is not active | |||
R32.5 | disTest | 0bin | Cyclic testing is active | 0bin |
1bin | Cyclic testing is not active | |||
R32.4 | disCali | 0bin | Cyclic calibration of the A/D converter is active | 0bin |
1bin | Cyclic calibration of the A/D converter is not active | |||
R32.3 | - | reserved | 0bin | |
R32.2 | disWdTimer | 0bin | Watchdog timer is active (the watchdog is triggered if no process data are received for 100 ms) | 0bin |
1bin | Watchdog timer is not active | |||
R32.1 | enManScal | 0bin | Manufacturer scaling is not active | 0bin |
1bin | Manufacturer scaling is active | |||
R32.0 | enUsrScal | 0bin | User scaling and user calibration are not active | 0bin |
1bin | User scaling or user calibration (depending on bit 32.10) is active |
R33: user scaling - offset
This register contains the offset of the user scaling. User scaling can be enabled in the feature register via bit R32.0.
R34: user scaling - gain
This register contains the gain of the user scaling (16 bit unsigned integer x 2-11 + 1).
Examples:
0x0100 (1024dec) means factor 0.5
0x0800 (2048dec) means factor 1.0
User scaling can be enabled in the feature register via bit R32.0.
R35: nominal weight of the load cell
The nominal weight of the connected load cell is entered into register R35. The unit is 1 kg.
R36: nominal parameter of the load cell
The nominal parameter of the connected load cell is entered into register R36. The unit is 1 mV / V.
R37: Filter constant of the A/D converter, and configuration bits for the filter
The KL3356 possesses two low-pass filter stages:
- The first stage consists of a sinc3 filter, and is always active.
- The second stage consists of a 22nd order FIR filter, which can be disabled
(FIR: finite impulse response, i.e. a non-recursive filter).
Bit | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Name | Filter constants SF (SF.11 to SF.0) | Zero | Zero | SkipFIR | Fast |
Key
Bit | Name | Description | Default |
---|---|---|---|
R37.15 | Filter constant SF | The filter constant SF specifies the 3dB limit frequency of the sinc3 filter. The value ranges from 150 to 2047. | 35Chex (860dec) |
... | |||
R37.4 |
| SkipFIR = 0 | FLimit = 11981 / SF |
|
| FStop = 43008 / SF |
| SkipFIR = 1 | FLimit = 80486 / SF |
Bit | Name | Description | Default | |
---|---|---|---|---|
R37.3 | Zero | 0bin | (see note below) | 0bin |
R37.2 | Zero | 0bin | 0bin |
![]() | Do not change these bits Bits R37.2 and R37.3 always have to be 0bin, in order to avoid errors in the A/D converter! |
Bit | Name | Description | Default | |
---|---|---|---|---|
R37.1 | SkipFIR | 0bin | FIR filter is enabled. | 0bin |
1bin | FIR filter is bypassed. | |||
R37.0 | Fast | 0bin | Fast Step Mode is disabled. | 0bin |
1bin | Fast Step Mode is active: a fast reaction will follow jumps at the input, in spite of the filter stage being active. In this case the filter is bypassed! |
Recommended values
Value in R37 | Fstop | Cycle time |
---|---|---|
0x35C0 | 50 Hz | 140 ms |
0x2660 | 70 Hz | 100 ms |
0x1330 | 140 Hz | 50 ms |
0x7FF1 |
| 40 ms |
0x3FF1 |
| 20 ms |
0x1001 |
| <4 ms |
Value in R37 | Flimit | Cycle time |
---|---|---|
0x7FF2 | 39.6 Hz | 40 ms |
0x3FF2 | 77.36 Hz | 20 ms |
0x1002 | 158 Hz | <4 ms |
R38: scaling factor
This register contains the scale factor.
Examples:
0x0001 (01dec) means factor 1
0x000A (10dec) means factor 10
The scale factor can be enabled through bit R32.8 in the feature register.
R39: Measuring interval for reference signal
This register contains the measuring interval for the cyclic reference measurement. The unit is 100 ms (default: 3600dec = 360 s). The cyclic reference measurement can be enabled through bit R32.6 in the feature register.
This interval should not be chosen too small. With each measurement of the reference signal, the weight measurement value is temporarily invalidated (consider R0.2). With short measurement intervals, the number of measurements is significantly higher and therefore a low ratio of valid to invalid weight measurement values results with many reference measurements.
If cyclically invalid weight values have too great an influence on the application, the reference measurement and calibrations (calibration and forced calibration) can be switched off via the CB2.1 control bit. Then no reference measurement and calibration will take place permanently. However, it is recommended to reactivate the bit temporarily at a suitable moment, when no weight measurement is taking place, in order to achieve a higher measurement accuracy. If the time for the reference measurement/(forced) calibration interval has expired when the control bit is deactivated, a (forced) calibration and reference measurement is performed.
R40: Calibration interval
This register contains the calibration interval for the terminal's automatic calibration. The unit is 100 ms (default: 1800dec = 180 s). The automatic calibration can be enabled through bit R32.4 in the feature register.
This interval should not be chosen too small. With each calibration, the weight measurement value becomes temporarily invalid (consider R0.2). With short calibration intervals, the number of measurements is significantly higher and therefore a low ratio of valid to invalid weight readings results with many calibrations.
If cyclically invalid weight values have too great an influence on the application, the reference measurement and calibrations (calibration and forced calibration) can be switched off via the CB2.1 control bit. Then no reference measurement and calibration will take place permanently. However, it is recommended to reactivate the bit temporarily at a suitable moment, when no weight measurement is taking place, in order to achieve a higher measurement accuracy. If the time for the reference measurement/(forced) calibration interval has expired when the control bit is deactivated, a (forced) calibration and reference measurement is performed.
R41: Test interval
This register contains the test interval for the terminal's cyclic testing. This interval is always a multiple (default: 3dec) of the calibration interval (R40). The test interval when the terminal leaves the factory is therefore 10 x 180 s = 1800 s. The cyclic testing can be enabled through bit R32.5 in the feature register.
R42: nominal test value
This register contains the terminal's nominal test value.
During the production of the terminal, the actual test value is transferred from register 5 to the nominal test value register R42. This value provides information about a voltage resulting from an internal reference voltage source and a voltage divider.
During a calibration, the system checks whether the value is within the tolerance given by registers R42 and R43. This can be used to determine whether there is an internal defect (e.g. faulty analog switch).
This value may change slightly over time (due to ageing of the electrical components). If necessary, the actual test value of register R5 should therefore be transferred to register R42 from time to time. This can be done safely, because in case of an error the value will approach 0 or 65535.
R43: test tolerance
This register contains the test tolerance of the terminal (+/-).
R44: Forced calibration interval
This register contains the interval for the terminal's forced calibration. This interval is always a multiple (default: 3dec) of the calibration interval (R40). The interval for forced calibration when the terminal leaves the factory is therefore 3 x 180 s = 540 s.
If register R44 is set to 0 set, forced calibration is switched off completely.
With each forced calibration, the weight measurement value is invalid for the time of the calibration (consider R0.2).
If cyclically invalid weight values have too great an influence on the application, the reference measurement and the calibrations (calibration and forced calibration) can be switched off via control bit CB2.1. Then no reference measurement and calibration will take place permanently. However, it is recommended to reactivate the bit temporarily at a suitable moment, when no weight measurement is taking place, in order to achieve a higher measurement accuracy. If the time for the reference measurement/(forced) calibration interval has expired when the control bit is deactivated, a (forced) calibration and reference measurement is performed.
R45: threshold for reference voltage test
This register contains the limit for the reference voltage test. The unit is 1 mV. If the reference voltage is found to be below this limit, bit R0.14 is set in the status word.
R46: threshold for correction factor
This register contains the limit value for the correction factor. A correction factor for the differential signal is determined in the course of calibration. When measuring the internal reference, this results from the quotient of the reference and differential signal. To represent it more clearly, the result is normalized to 10000 (URef / UDiff x 10000), which means that 10000 corresponds to a factor of 1. In mapped calibration data, the correction factor is output in R5. If the difference between the correction factor and 10000 (10000 - correction factor) is greater than this limit, bit R0.15 is set in the status word.
R47: calibration stabilization - number of stable measured values
Default: 50
R48: calibration stabilization - tolerance for measurement stability
Default: 5
R49: manual calibration weight
Default: 2000 grams
Register page 1 (access selectable via register R4)
R32 to R63: freely allocatable SEEPROM memory
Registers R32 to R63 on register page 1 are freely available, non-volatile registers that can be used to store 2 x 32 words of user data. Because these values are stored in SEEPROM, they are retained when the terminal is restarted.
Register page 2 (access selectable via register R4)
R32 to R63: freely allocatable SEEPROM memory
Registers R32 to R63 on register page 2 are freely available, non-volatile registers that can be used to store 2 x 32 words of user data. Because these values are stored in SEEPROM, they are retained when the terminal is restarted.