Поддерживаемые драйверы весов
CAS Scales (s_cas.dll)
serial port
=> send ENQ
<= recv ACK
=> send 0x11
<= recv:
byte 1: 0x01 or 0x81
byte 2: STX
byte 3: 'S' - stable, 'U'- unstable
byte 4: ' ' (space)
bytes 5...11 (7): weight with decimal point, example '123.7'
byte 12: 'g' or another
byte 13:
byte 14: LRC = XOR bytes[3..13]
byte 15: ETX
or
byte 5...10 (6): weight with decimal point, example '123.7'
byte 11: 'g' or another
byte 12:
byte 13: LRC = XOR bytes[3..12]
byte 14: ETX
byte 15: EOT
CAS LP Scales (s_cas_LP.dll)
serial port
InitConnect():
=> send:
byte 1: address
<= recv:
byte 1: address
...
byte ...: 0x80 - ready
Command(AbCMD, AiAnsLen):
=> send:
byte 1: AbCMD
<= recv:
byte 1: 0xAA or 0x80
...
byte AiAnsLen
Read weight Command(0x89, 16) answer:
byte 2: bit 6 - weighting status (0 - unstable / 1 - stable), bit 7 - sign (0 - positive / 1 - negative)
bytes 3..4 - weight raw data, LSB first
Also in driver's menu creation ProgramScales menu item.
DIBAL scales for EPOS TISA protocol (s_dibal.dll)
serial port
=> send: '98'
=> send: price: 5 digits in mde, example: '00123' for price 1.23
=> send: byte XOR of previous bytes
=> send: CR + LF
<= recv 18 bytes:
byte 1: '9'
byte 2: '9'
byte 3: '0'
bytes 4..8 (5): weight with decimal point, example '123.2' or '1237'
...
byte 16: XOR of bytes 1..15
byte 17: CR
byte 18: LF
DIGI Siemens Nixdorf Scales (s_digi.dll)
serial port
=> send STX 'W' ETX
<= recv:
byte 1: STX
byte 2: 'w'
byte 3..5: weight digits
byte 6: ??
byte 7..9: weight digits
...
byte 14: CRC: XOR bytes 2..13
byte 15: ETX
UCS HTTP Scales server client (s_http.dll)
HTTP GET <url> + '?cmd=GetWeight'
response:
<SomeRootTag> <Weight>13666</Weight> <ErrorText>Overweight</ErrorText> </SomeRootTag>
Scales KB-TBED-3000 (s_KDTBED.dll)
serial port
<= cyclically recv:
byte 1: 'S'
byte 2: 'T'
byte 3: ','
...
byte 6: ','
byte 7: '+' or ' '
byte 8..17: weight decimal digits or '.' (decimal point) or ' '
...
byte n - 1: 'g' or 'G'
byte n: CR or LF
n in [19..24]
Scales Ohaus NVT3201/2 (s_ohaus.dll)
serial port
<= cyclically recv:
byte 1..10: weight decimal digits ('0'..'9') or '.' (decimal point) or ' '
byte 11: ' '
byte 12: 'g'
byte 13: ' '
byte 14: ' '
byte 15: ' '
...
byte n: CR or LF
n in [17..24]
OPOS Scales (OPOSSCAL.dll)
OPOS
CAS (scCASLPCL.dll)
CAS original protocol through ActiveX OLE interface with GUID {BE210523-7493-30CE-B3F1-F59607FE2AA0}
MAS scales (scMAS.dll)
serial port
<= cyclically recv:
byte 1: 'S' (for stable weight)
byte 2: 'T' (for stable weight)
...
byte 7...n-2: '+' or '-' or ' ' or '.' (decimal separator) or weight decimal digits ('0'..'9')
byte n - 1: CR
byte n: LF
SHTRIH-SLIM 200M Scales (sh_slim.dll)
serial port
Cmd_12H_GetCurrentMode()
=> send ENQ
<= recv NAK
=> send:
byte 1: STX
byte 2: length -> 1
byte 3: command code = 0x12
byte 4: CRC = XOR bytes 2..3
<= recv ACK
<= recv:
byte 1: STX
byte 2: length -> n
byte 3: command code
byte 4: error code
byte 5: mode number
... (??)
byte 2+n+1: CRC = XOR bytes 2..2+n
mode number = 0 -> can query state and weight
=> send ACK
Cmd_3AH_GetStateWeghtChannel()
=> send ENQ
<= recv NAK
=> send:
byte 1: STX
byte 2: length -> n
byte 3: command code = 0x3A
byte 4..2+n: admin password (default '0030')
byte 2+n+1: CRC = XOR bytes 2..2+n
<= recv ACK
<= recv:
byte 1: STX
byte 2: length -> n
byte 3: command code
byte 4: error code
byte 5..6: state - 2 byte raw integer data in little-endian
byte 7..10: weight - 4 byte raw integer data in little-endian
byte 11-12: tare - 2 byte raw integer data in little-endian
... (??)
byte 2+n+1: CRC = XOR bytes 2..2+n
state:
bit 0 = 1 - weight fixed
bit 4 = 1 - weight quiet
=> send ACK
Tiger Scales (s_tiger.dll)
serial port
<= cyclically recv:
byte 1: STX
byte 2: ' '
byte 3: ' '
byte 4: weight, digit 1
byte 5: '.'
byte 6: weight, digit 2
byte 7: weight, digit 3
byte 8: weight, digit 4
byte 9: ' '
byte 10: 'k' or 'K'
byte 11: 'g' or 'G'
...
byte n-1: CR
byte n: LF
n >= 13
- CAS Scales (s_cas.dll)
- CAS LP Scales (s_cas_LP.dll)
- DIBAL scales for EPOS TISA protocol (s_dibal.dll)
- DIGI Siemens Nixdorf Scales (s_digi.dll)
- UCS HTTP Scales server client (s_http.dll)
- Scales KB-TBED-3000 (s_KDTBED.dll)
- Scales Ohaus NVT3201/2 (s_ohaus.dll)
- OPOS Scales (OPOSSCAL.dll)
- CAS (scCASLPCL.dll)
- MAS scales (scMAS.dll)
- SHTRIH-SLIM 200M Scales (sh_slim.dll)
- Tiger Scales (s_tiger.dll)