{
    "MODBUS": [
        {
            "property": {
                "device_name": "autotest",
                "endian": 1
            },
            "regs": {
                "rd": [
                    {
                        "addr": 40000,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_clear_alarm",
                        "len": 1,
                        "name": "r_clear_alarm",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40001,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_estop_reset",
                        "len": 1,
                        "name": "r_estop_reset",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40002,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_estop_reset_clear_alarm",
                        "len": 1,
                        "name": "r_onekey_reset",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40003,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_motor_off",
                        "len": 1,
                        "name": "r_motor_off",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40004,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_motor_on",
                        "len": 1,
                        "name": "r_motor_on",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40005,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_motoron_pptomain_start",
                        "len": 1,
                        "name": "r_onekey_start",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40006,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_motoron_start",
                        "len": 1,
                        "name": "r_motoron_start",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40007,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_pause_motoroff",
                        "len": 1,
                        "name": "r_pause_motoroff",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40008,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_pptomain",
                        "len": 1,
                        "name": "r_pp2main",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40009,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_program_start",
                        "len": 1,
                        "name": "r_prog_start",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40010,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_program_stop",
                        "len": 1,
                        "name": "r_prog_stop",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40011,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_reduced_mode",
                        "len": 1,
                        "name": "r_reduced_mode",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40012,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_soft_estop",
                        "len": 1,
                        "name": "r_soft_estop",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40013,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_switch_auto_motoron",
                        "len": 1,
                        "name": "r_auto_motoron",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40014,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_switch_operation_auto",
                        "len": 1,
                        "name": "r_switch_auto",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40015,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "ctrl_switch_operation_manu",
                        "len": 1,
                        "name": "r_switch_manual",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40016,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "enable_safe_region01",
                        "len": 1,
                        "name": "r_safe_region01",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40017,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "enable_safe_region02",
                        "len": 1,
                        "name": "r_safe_region02",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40018,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "enable_safe_region03",
                        "len": 1,
                        "name": "r_safe_region03",
                        "retain": false,
                        "type": "bool"
                    }
                ],
                "rdwr": [
                    {
                        "addr": 40500,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_alarm",
                        "len": 1,
                        "name": "w_alarm_state",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40501,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_collision",
                        "len": 1,
                        "name": "w_clsn_alarm_stat",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40502,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_collision_open",
                        "len": 1,
                        "name": "w_clsn_open_stat",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40503,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_controller_is_running",
                        "len": 1,
                        "name": "w_controller_running",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40504,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_encoder_low_battery",
                        "len": 1,
                        "name": "w_encoder_low",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40505,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_estop",
                        "len": 1,
                        "name": "w_estop_stat",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40506,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_motor",
                        "len": 1,
                        "name": "w_motor_stat",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40507,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_operation_mode",
                        "len": 1,
                        "name": "w_operation_mode",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40508,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_program",
                        "len": 1,
                        "name": "w_prog_stat",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40509,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_program_not_run",
                        "len": 1,
                        "name": "w_prog_not_run",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40510,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_program_reset",
                        "len": 1,
                        "name": "w_prog_reset",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40511,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_reduced_mode",
                        "len": 1,
                        "name": "w_reduced_mode_stat",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40512,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_robot_is_busy",
                        "len": 1,
                        "name": "w_robot_is_busy",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40513,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_robot_moving",
                        "len": 1,
                        "name": "w_robot_moving",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40514,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_safe_door",
                        "len": 1,
                        "name": "w_safe_door",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40515,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_safe_region01",
                        "len": 1,
                        "name": "w_safe_region01",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40516,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_safe_region02",
                        "len": 1,
                        "name": "w_safe_region02",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40517,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_safe_region03",
                        "len": 1,
                        "name": "w_safe_region03",
                        "retain": false,
                        "type": "bool"
                    },
                    {
                        "addr": 40518,
                        "addr_1st": 0,
                        "addr_2nd": 0,
                        "bit_bias": 0,
                        "byte_bias": 0,
                        "function": "sta_soft_estop",
                        "len": 1,
                        "name": "w_soft_estop_stat",
                        "retain": false,
                        "type": "bool"
                    }
                ]
            }
        }
    ]
}
