| | Network command interface The "network command interface" uses 16 bytes in and out to communicate with the gateway module,followed by a number of 16 byte blocks in and out to communicate with other modules. The number of these blocks depends on the network (MODBUS, EthererNet/IP, or Profibus). Bytes 0,1,2,3 (MODBUS registers 0,1): command register Bytes 4,5,6,7 (MODBUS register 2,3): command status register Bytes 8,9,10,11 (registers 4,5): Parameter number. See the diagnostics/parameters web page for a list of parameter numbers. Bytes 12,13,14,15 (registers 6,7): parameter value The master sends a 'command' by writing a value the command register. If the command is aimed at an external number, add its channel numberto the most significant byte of the command register. Here is a list of command numbers:
- 0 : READPARAMCMD. To read a parameter, write 0 to the command register (register #0), and write the parameter number in the parameter number registers 2 and 3. The parameter value may then be read from registers 4 and 5. This value may be in integer or floating point format, depending on the parameter. The status register in the reply will contain the lower 16 bits of the system status word.
- Status word bit 0: A/D error.
- Status word bit 6 (0x40): Motion status.
- Status word bit 15 (0x8000): Not Found - the requested parameter number does not exist.
The status register will read 0 if this command succeeds.Error codes are 1 (motion), 2 (A/D error), and 3 (out of tolerance)- 2 : TARECMD. Write 2 to the command register to ZERO the net weight. The status register will read 0 if this command succeeds.Error codes are 1 (motion) and 2 (A/D error)
- 4 : WRITENONVOLCMD. Write 4 to the command register to save parameters in non-volatile memory.
- 5 : PRINTCMD.
- 100 : CALLOWCMD. Perform the low step of a calibration.
- 101 : CALHIGHCMD. Perform the high step of a calibration.
- 102 C2CALCMD. Do a C2 calibration.
- 0x1000 (4096 decimal) WRITEINTEGERCMD. Set the value of an integer parameter. Write the parameter number in the parameter number registers and the desired value in the parameter value registers.
- 0x1001 (4097 decimal) WRITEFLOATCMD. Set the value of a floating point parameter. Write the parameter number in the parameter number registers and the desired value in the parameter value registers.
Module information starts at byte offset 16. There are 16 bytes of information per module: 4 byte integer module status, 4 byte floating point net weight, 4 byte floating point gross weight, and 4 byte selected parameter value.You must select the modules to be read by putting their channel numbers in the output table at the locations 20-23 + 16*N 1 other parameter (per module) can be read by putting the 32 bit PARAMETER NUMBER of the parameter to read at offset 32-35 + 16*N of the output table.The value of that parameter can then be read at the corresponding offset of the input table.
|
|