mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
67 lines
2.2 KiB
Text
67 lines
2.2 KiB
Text
|
|
module Modbus;
|
|
|
|
export {
|
|
## Standard defined Modbus function codes.
|
|
const function_codes = {
|
|
[0x01] = "READ_COILS",
|
|
[0x02] = "READ_DISCRETE_INPUTS",
|
|
[0x03] = "READ_HOLDING_REGISTERS",
|
|
[0x04] = "READ_INPUT_REGISTERS",
|
|
[0x05] = "WRITE_SINGLE_COIL",
|
|
[0x06] = "WRITE_SINGLE_REGISTER",
|
|
[0x07] = "READ_EXCEPTION_STATUS",
|
|
[0x08] = "DIAGNOSTICS",
|
|
[0x0B] = "GET_COMM_EVENT_COUNTER",
|
|
[0x0C] = "GET_COMM_EVENT_LOG",
|
|
[0x0F] = "WRITE_MULTIPLE_COILS",
|
|
[0x10] = "WRITE_MULTIPLE_REGISTERS",
|
|
[0x11] = "REPORT_SLAVE_ID",
|
|
[0x14] = "READ_FILE_RECORD",
|
|
[0x15] = "WRITE_FILE_RECORD",
|
|
[0x16] = "MASK_WRITE_REGISTER",
|
|
[0x17] = "READ_WRITE_MULTIPLE_REGISTERS",
|
|
[0x18] = "READ_FIFO_QUEUE",
|
|
[0x2B] = "ENCAP_INTERFACE_TRANSPORT",
|
|
|
|
# Machine/vendor/network specific functions
|
|
[0x09] = "PROGRAM_484",
|
|
[0x0A] = "POLL_484",
|
|
[0x0D] = "PROGRAM_584_984",
|
|
[0x0E] = "POLL_584_984",
|
|
[0x12] = "PROGRAM_884_U84",
|
|
[0x13] = "RESET_COMM_LINK_884_U84",
|
|
[0x28] = "PROGRAM_CONCEPT",
|
|
[0x7D] = "FIRMWARE_REPLACEMENT",
|
|
[0x7E] = "PROGRAM_584_984_2",
|
|
[0x7F] = "REPORT_LOCAL_ADDRESS",
|
|
|
|
# Exceptions
|
|
[0x81] = "READ_COILS_EXCEPTION",
|
|
[0x82] = "READ_DISCRETE_INPUTS_EXCEPTION",
|
|
[0x83] = "READ_HOLDING_REGISTERS_EXCEPTION",
|
|
[0x84] = "READ_INPUT_REGISTERS_EXCEPTION",
|
|
[0x85] = "WRITE_SINGLE_COIL_EXCEPTION",
|
|
[0x86] = "WRITE_SINGLE_REGISTER_EXCEPTION",
|
|
[0x87] = "READ_EXCEPTION_STATUS_EXCEPTION",
|
|
[0x8F] = "WRITE_MULTIPLE_COILS_EXCEPTION",
|
|
[0x90] = "WRITE_MULTIPLE_REGISTERS_EXCEPTION",
|
|
[0x94] = "READ_FILE_RECORD_EXCEPTION",
|
|
[0x95] = "WRITE_FILE_RECORD_EXCEPTION",
|
|
[0x96] = "MASK_WRITE_REGISTER_EXCEPTION",
|
|
[0x97] = "READ_WRITE_MULTIPLE_REGISTERS_EXCEPTION",
|
|
[0x98] = "READ_FIFO_QUEUE_EXCEPTION",
|
|
} &default=function(i: count):string { return fmt("unknown-%d", i); } &redef;
|
|
|
|
const exception_codes = {
|
|
[0x01] = "ILLEGAL_FUNCTION",
|
|
[0x02] = "ILLEGAL_DATA_ADDRESS",
|
|
[0x03] = "ILLEGAL_DATA_VALUE",
|
|
[0x04] = "SLAVE_DEVICE_FAILURE",
|
|
[0x05] = "ACKNOWLEDGE",
|
|
[0x06] = "SLAVE_DEVICE_BUSY",
|
|
[0x08] = "MEMORY_PARITY_ERROR",
|
|
[0x0A] = "GATEWAY_PATH_UNAVAILABLE",
|
|
[0x0B] = "GATEWAY_TARGET_DEVICE_FAILED_TO_RESPOND",
|
|
} &default=function(i: count):string { return fmt("unknown-%d", i); } &redef;
|
|
}
|